Ich schreibe ein XSLT-Stylesheet, um ein XML in ein anderes XML umzuwandeln. Hiernode-set in xpath
ist die vereinfachte Version der ursprünglichen xml:
<eml>
<datatable>
<physical>
<distribution id="100"/>
</physical>
</datatable>
<software>
<implementation>
<distribution id="200"/>
</implementation>
</software>
<additionalMetadata>
<describes>100</describes>
<describes>200</describes>
<describes>300</describes>
<describes>400</describes>
</additionalMetadata>
</eml>
ich versuche, einen XPath zu verwenden Knoten-Set wählen von „beschreibt“ die nicht den Wert hat, der den ID-Wert von //physical/distribution
gleich oder software/implementation/distribution
. In obigem Fall mag ich das Knoten-Set bekommen:
<deseribes>300</describes>
<deseribes>400</describes>
(100 und 200 sind id Werte von //physical/distribution
oder software/implementation/distribution
Attribute).
schrieb ich so etwas wie:
<xsl:with-param name="describes-list"
select="./describes[//physical/distribution/@id !=. and
//software/implementation/distribution/@id != .] "/>
Es funktioniert obiges Beispiel auf. Das Element von Datentabelle und Software ist jedoch wiederholbar. Also das xml gilt:
<eml>
<datatable>
<physical>
<distribution id="100"/>
</physical>
</datatable>
<datatable>
<physical>
<distribution id="300"/>
</physical>
</datatable>
<software>
<implementation>
<distribution id="200"/>
</implementation>
</software>
<additionalMetadata>
<describes>100</describes>
<describes>200</describes>
<describes>300</describes>
<describes>400</describes>
</additionalMetadata>
</eml>
Aber mein Xslt funktioniert nicht auf dem obigen Beispiel :(
Hätten Sie etwas dagegen, etwas Licht auf diese vergießen Vielen Dank im Voraus
Jing
?!