Lesen von XML-Datei in XSLT verwendet wird, um die Konstruktion neuer XML
Möchte ich zum Lesen einer XML-Datei in XSLT und überprüfen Sie die Knoten. wenn Sie übereinstimmen, wird der Wert des XML-Knotens, zu dem ich mich Wende, der Transformation, dann schnappen Sie sich den Wert des XML-Knotens und es verwenden, um erstellen Sie eine neue XML-Struktur.
Hier ist ein Beispiel für mein problem. Ich denke, viele Menschen können diese Frage für den Verweis auf das erreichen ähnlicher Funktionalität.
Referenced.xml
<xml>
<root>
<Id id = "1">
<fields>
<field>
<name> Name1 </name>
<value> Val1 </value>
</field>
<field>
<name> Name2 </name>
<value> Val2 </value>
</field>
</fields>
</Id>
<Id id = "2">
...
</Id>
</root>
</xml>
Xml.xml
<XML>
<Fields>
<Id id = "1">
<F1> Value1 </F1>
<F2> Value2 </F2>
<F1> Value3 </F1>
<F4> Value4 </F4>
</Id>
</Fields>
</XML>
Nun, ich möchte erstellen Sie eine Transformation, die iteriert über die XML-Datei (Referenced.xml
) und überprüfen Sie, wo die Id innerhalb der xml-match-und dann, im inneren, dass id Name1 = F1
und wo ist es dann, holt den 'Wert' der 'name' und erstellen Sie eine XML-Struktur wie
<outputXml>
<Field id="Val1">
<val> Value1 </val>
</Field>
<Field id="Val2">
<val> Value2 </val>
</Field> ... and so on
</outputXml>
Ich weiß, ich habe zu verwenden Dokument(), aber ich bin nicht sicher, wie Sie Sie Durchlaufen die Referenced.xml
innerhalb von xsl und verwenden, wenn sonst zur Erreichung der Funktionalität erforderlich ?
- Ihre XML ungültig ist, <id = 1> ist nicht gültig. Bitte geben Sie gültige XML.
- Hinzugefügt. Vergaß hinzuzufügen, Zitate. Überprüfen Sie erneut
- Sorry, es ist noch fehlerhaft. Sie müssen geben Sie den Namen des Attributs, z.B. <ref id="1">
- Sorry, ich noch einmal bearbeitet, um gültig zu sein.
- Jemand gerade bearbeitet rückgängig gemacht meiner Veränderung. Wie u tun verhindern, dass hier ? Obwohl ich rückübertragen werden wieder gültig.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Überprüfen Sie dieses:
bekommen Ausgabe:
Hier ist ein Stück funktionierenden code:
Wie Sie sehen können, sobald Sie Sie gelesen haben, ein Dokument in eine variable, es sieht aus wie ein normales Dokument haben, wenden Sie XPath-Ausdrücke zu durchschwimmen, etc.
Versuchen, diese
Ihre XML-DATEI Chapters.xml
Ihre XSl-name : ditaXSL.xsl
Beispiel gettingStarted.dita erwähnte Datei in xml-Datei.