gpt4 book ai didi

如果祖先存在,则 XSLT 删除属性

转载 作者:行者123 更新时间:2023-12-03 15:46:06 25 4
gpt4 key购买 nike

我正在尝试根据名称中是否存在祖先从节点中删除属性。

这是我的模板。我正在尝试删除所有 minOccurrs 属性,但祖先是 updateCurrentObjective 的地方除外。

<xsl:template match="@minOccurs">
<xsl:if test="0 = count(ancestor::node()[name() = 'updateCurrentObjective'])">
<xsl:copy/>
</xsl:if>
</xsl:template>

因此对于以下 XML,它应该删除该属性。

  <xs:extension base="tns:planElement">
<xs:sequence>
<xs:element minOccurs="0" name="action" type="xs:string"/>
</xs:sequence>
<xs:extension>

但对于以下内容,它应该保持原样。

  <xs:complexType name="updateCurrentObjective">
<xs:sequence>
<xs:element minOccurs="0" name="currentObjective" type="tns:objective"/>
</xs:sequence>
</xs:complexType>

想法?

最佳答案

我有两个模板规则:

<xsl:template match="@minOccurs"/>

<xsl:template match="*[@name='updateCurrentObjective']//@minOccurs">
<xsl:copy/>
</xsl:template>

关于如果祖先存在,则 XSLT 删除属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23756684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com