0
价值的第一个节点之前,我的XML看起来是这样的:XSLT插入节点基于儿童
<Articles>
<Article>
<Position>Body</Position>
<Categorie>Food</Categorie>
<ProductName>Apple</ProductName>
</Article>
<Article>
<Position>Body</Position>
<Categorie>Food</Categorie>
<ProductName>Pineapple</ProductName>
</Article>
<Article>
<Position>Body</Position>
<Categorie>Drinks</Categorie>
<ProductName>Water</ProductName>
</Article>
<Article>
<Position>Body</Position>
<Categorie>Drinks</Categorie>
<ProductName>CocaCola</ProductName>
</Article>
</Articles>
转型后应该是这样的:
<Articles>
<Article>
<Position>Title</Position>
<Titlename>Food</Titlename>
</Article>
<Article>
<Position>Body</Position>
<Categorie>Food</Categorie>
<ProductName>Apple</ProductName>
</Article>
<Article>
<Position>Body</Position>
<Categorie>Food</Categorie>
<ProductName>Pineapple</ProductName>
</Article>
<Article>
<Position>Title</Position>
<Titlename>Drinks</Titlename>
</Article>
<Article>
<Position>Body</Position>
<Categorie>Drinks</Categorie>
<ProductName>Water</ProductName>
</Article>
<Article>
<Position>Body</Position>
<Categorie>Drinks</Categorie>
<ProductName>CocaCola</ProductName>
</Article>
</Articles>
种类的数量可以变量,所以我需要一个XLST样式表,它检查<Categorie>
标签的值是否是第一个。
如果是,就应该这部分复制文章上面:
`<Article>
<Position>Title</Position>
<Titlename>Food</Titlename>
</Article>`
这里是我的尝试:
重要的是知道我仅限于V1.0
<xsl:for-each select="Article">
<xsl:if test="Position/Categorie = First()">
<Article>
<Position><xsl:value-of Select ="Title"></Position>
<Titlename><xsl:value-of Select ="Categorie"></Titlename>
</Article>
</xsl:if>
<Article>
<Position><xsl:value-of Select ="Position"></Position>
<Categorie><xsl:value-of Select ="Categorie"></Categorie>
<ProductName><xsl:value-of Select ="ProductName"></ProductName>
</Article>
</xsl:for-each>
你说“*最后一个节点后插入节点*”,但你的意思**组中的第一个节点之前**,不是吗? –