【发布时间】:2020-05-04 16:45:33
【问题描述】:
<!ELEMENT TITLE (CDATA | ELEMENTX )+ >
如果我使用下面的那么当 TITLE 包含 CDATA 和 ELEMENTX 包含 CDATA 我得到重复的文本。 这个元素TITLE的模板应该怎么写?
<xsl:template match="TITLE">
<span>
<p><xsl:value-of select="."/></p>
<xsl:for-each select="*">
<xsl:choose>
<xsl:when test="local-name()='ELEMENT1'">
<xsl:apply-templates select="."/>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</span>
</xsl:template>
【问题讨论】:
-
请允许我建议您提供迄今为止您尝试过的示例。一个最小的、完整的和可验证的例子将不胜感激。
-
您可能需要阅读How to Ask,然后阅读edit 您的问题,以充分利用stackoverflow。
-
基本上你在问题中看到的就是我尝试过的。当 TITLE 只有一个 CDATA 时,这是可行的,但是当 TITLE 没有 CDATA 但有一个子元素时,我将数据写入两次。有没有办法检测具有 CDATA 的元素?
标签: xslt