我有一个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 名儿童 )?
Thanks. Jost