我正在寻找一种方法将此代码输出为html。针对每个问题的XSLT
<legal>
<heading>Poo</heading>
<g>fart <a href="http://www.bclaws.ca/EPLibraries/bclaws_new/document/ID/freeside/96165_01">Freedom of Information and Protection of Privacy Act</a> (RSBC 1996 ch. 165):</g>
<foo>
<bar>a </bar>
<bar>b </bar>
<bar>c </bar>
<bar>d </bar>
<bar>e </bar>
<bar>f </bar>
</foo>
<g> faf </g>
<g> faf </g>
<g> faf </g>
<g> faf </g>
<g> faf </g>
<g> faf </g>
<g> faf </g>
<foo>
<bar> a </bar>
<bar> b </bar>
<bar> c </bar>
</foo>
<g> asfd </g>
<g> asfd </g>
<g> asfd </g>
<g> asfd </g>
<g> asfd </g>
<g> asfd </g>
<g> asfd </g>
<foo>
<bar> a </bar>
<bar> b </bar>
<bar> c </bar>
</foo>
</legal>
这里是我的XSLT那么远,我似乎每个输出和每个g
元素不能在p
标签内......似乎只输出一次,永远不会再。另外,我似乎只输出了同样的东西两次......我哪里错了?
<xsl:variable name="legal" select="document('legal.xml')/legal"/>
<xsl:for-each select="$legal/heading">
<h3><xsl:value-of select="$legal/heading"/></h3>
<p><xsl:value-of select="$legal/g"/></p>
<ul>
<xsl:for-each select="$legal/foo/bar">
<li><xsl:value-of select="."/></li>
</xsl:for-each>
</ul>
</xsl:for-each>
其实他并没有遍历所有'g'元素......他输出第一个'g'元素的字符串值(这是'legal'的子元素)。 'value-of'只需要选择第一个节点。假设XSLT 1.0。 – LarsH 2012-03-19 21:31:32
啊,真的,但它仍然遍历所有'foo'。 – Flynn1179 2012-03-19 22:16:49