我有一个 xml 文档,如下所示:
<p>
<c1 />
<c2 />
</p>
子元素 c1 和 c2 是可选的,但对于处理步骤,我需要它们存在。所以我正在尝试创建一个 xslt 样式表以将它们添加为空元素(子元素的顺序无关紧要)。
这是我的样式表:
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="p[not(c1)]">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
<c1 />
</xsl:copy>
</xsl:template>
<xsl:template match="p[not(c2)]">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
<c2 />
</xsl:copy>
</xsl:template>
只要只缺少一个子元素,这就可以正常工作。但如果两者都缺失,则仅创建 c1。我如何防止这种情况并强制创建 c1 和 c2 (实际上是大约 10 个孩子)?
谢谢。约斯特