我正在尝试使用XSLT根据它在XML中找到的组数生成动态类。例如,XML中将有X个组,所有组都有子节点。我需要for each循环根据列表中的组号动态创建一个类名。我可以毫无问题地填充组名,但是我找不到有关如何将系统生成的部分附加到类的任何明确信息。 例如:
Etc等,适用于XML中的每个组。
我希望这是有道理的,有人可以提供帮助!提前谢谢。
编辑:
XML
<group>
<title>Title Content</title>
<text>Content 1</text>
</group>
<group>
<title>Title Content</title>
<text>Content 2</text>
</group>
<group>
<title>Title Content</title>
<text>Content 3</text>
</group>
HTML输出
<div id="titlecontent-1">
text from group 1 content
</div>
<div id="titlecontent-2">
text from group 2 content
</div>
<div id="titlecontent-3">
text from group 3 content
</div>
答案 0 :(得分:2)
此转化:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="group">
<div id="{translate(title, ' ', '')}-{position()}">
<xsl:value-of select="text"/>
</div>
</xsl:template>
<xsl:template match="text()"/>
</xsl:stylesheet>
应用于格式良好的XML文档(将提供的XML片段包装到顶部元素中):
<t>
<group>
<title>Title Content</title>
<text>Content 1</text>
</group>
<group>
<title>Title Content</title>
<text>Content 2</text>
</group>
<group>
<title>Title Content</title>
<text>Content 3</text>
</group>
</t>
产生想要的结果:
<div id="TitleContent-1">Content 1</div>
<div id="TitleContent-2">Content 2</div>
<div id="TitleContent-3">Content 3</div>