特定のノードを除外しながら、IDテンプレートを使用してXML->XMLを変換したいと思います。
これらのノードは、ドキュメントのさまざまなレベルにあります-以下のXMLの例:
<root>
. <item1>
. <contents>
. <fieldA/>
. ...
. <fieldZ/>
. </contents>
. </item1>
. <item2>
. <field1/>
. ...
. <field9/>
. </item2>
</root>
たとえば、「root / item1/contents」の「fieldC」と「root/item2」の「field2」だけを含めたいとします。
私のXSLTは以下のとおりです。動作しません。含めたいフィールドの親要素を含めないためだと思いますか?しかし、どうすればそれができるのかわかりません...
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:output method="xml" indent="yes" />
. <xsl:strip-space elements="*"/>
. <xsl:template match="@* | node()">
. <xsl:copy>
. <xsl:apply-templates select="@* | node()" />
. </xsl:copy>
. </xsl:template>
.
. <xsl:template match="fieldC|field2">
. <xsl:element name="{name()}">
. <xsl:value-of select="text()" />
. </xsl:element>
. </xsl:template>
</xsl:stylesheet>
誰かが助けることができればそれはありがたいです。
ありがとう。