2016-04-29 18 views
0

Ich bin neu für die Xslt und Xpath.I müssen XML in eine andere XML-Datei mit Xslt zu transformieren. also muss ich Name element.I'm verwenden xpath.but erhalten, unter Fehler, wenn ich meine xslt ausführen. alles, was ich vermisste oder falsch ging?XML zu XML-Transformation mit Xslt

Error: net.sf.saxon.s9api.SaxonApiException: org.xml.sax.SAXParseException; lineNumber: 22; columnNumber: 22; The prefix "arr" for element "arr:string" is not bound.

Eingang file.xml

<Accounts> 
<Account> 
    <Name></Name> 
</Account> 
<Accounts> 

brauchen <Name> Element zu erhalten

meine XPath ist (dies ist nicht vollständig xslt-Datei. Enthalten nur Name-Elemente-Code erhalten)

  <arr:string> 
      <xsl:value-of select="/Accounts/Account"></xsl:value-of> 
     </arr:string> 

Ausgabe ist -:

  <qqq:Fields> 
       <arr:string>Name</arr:string> 
       <arr:string>XXX</arr:string> 
       <arr:string>xxxxx</arr:string> 
       <arr:string>xxxxx</arr:string> 
      </qqq:Fields> 
+1

Ihre Frage ist nicht klar, aber die Fehlermeldung: Sie können nicht '' ohne Bindung das 'arr:' Präfix zu einem Namespace zuerst. Haben Sie ein Beispiel dafür, wie Ihre endgültige Ausgabe aussehen soll? - PS Bitte überprüfen Sie: [mcve] –

+0

danke für die schnelle Antwort.Ja ich nicht verwendet . – dnsserver

Antwort

1

Sie benötigen eine Deklaration dieses Namensraums.

Like:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:arr="http://myarr.org"> 

Oder:

<arr:string xmlns:arr="http://myarr.org"> 
    <xsl:value-of select="/Accounts/Account"/> 
</arr:string> 

Versuchen zu überprüfen: http://www.w3schools.com/xml/xml_namespaces.asp