【发布时间】:2021-01-03 15:34:44
【问题描述】:
我正在尝试使用此 XML 和 XSL 实现以下输出,尽管我的 XSL 无效,因为段落元素没有正确嵌套。我该如何克服这个问题?
XML
<Phrases>
<Phrase>
<FullText>Lorem ipsum dolor sit amet.</FullText>
</Phrase>
<Phrase>
<FullText>Consectetur adipiscing elit.</FullText>
<NewLine/>
</Phrase>
<Phrase>
<FullText>Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</FullText>
</Phrase>
<Phrase>
<FullText>Ut enim ad minim veniam.</FullText>
</Phrase>
</Phrases>
XSL
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:call-template name="Phrase">
<xsl:with-param name="Phrases" select="Phrases"/>
</xsl:call-template>
<!-- Phrase -->
<xsl:template name="Phrase">
<xsl:param name="Phrases"/>
<p>
<xsl:for-each select="$Phrases">
<xsl:value-of select="FullText"/>
<xsl:if test="position() != last() and not(NewLine)">
 
</xsl:if>
<xsl:if test="position() != last() and NewLine">
</p><p>
</xsl:if>
</xsl:for-each>
</p>
</xsl:template>
</xsl:stylesheet>
预期输出
<p>Lorem ipsum dolor sit amet. Consectetur adipiscing elit.</p>
<p>Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.</p>
【问题讨论】:
-
您使用哪个 XSLT 处理器,哪个 XSLT 版本?
标签: html xml xslt element paragraph