XSLT:复制除属性包含值以外的所有XML 目标
我想复制所有XML,除非属性值包含特定字符,在本例中为XSLT:复制除属性包含值以外的所有XML 目标,xml,xslt,xsd,Xml,Xslt,Xsd,我想复制所有XML,除非属性值包含特定字符,在本例中为。如果存在,请删除具有该属性的元素及其所有子元素。我对xslt非常陌生,读过一些书,但似乎找不到一种方法来抓住父级+它的所有子级 当前XSL 示例XML 所需的输出XML 这看起来是正确的方法(一个标识模板,为您要删除的内容覆盖),但您不能在匹配模式中使用后代或self::。然而,你不需要,只是 <xsl:template match="root/*[contains(@name, '.')]" /> <?xml
。如果存在
,请删除具有该属性的元素及其所有子元素。我对xslt非常陌生,读过一些书,但似乎找不到一种方法来抓住父级+它的所有子级
当前XSL
示例XML
所需的输出XML
这看起来是正确的方法(一个标识模板,为您要删除的内容覆盖),但您不能在匹配模式中使用
后代或self::
。然而,你不需要,只是
<xsl:template match="root/*[contains(@name, '.')]" />
<?xml version="1.0" encoding="UTF-8"?>
<root>
<complexType name="tableData2File">
<complexContent>
<extension base="taskElement">
<sequence>
<element name="source" type="tableData2File.source" />
<element name="parser" type="parser" />
<element name="target" type="node.uri" />
</sequence>
<attribute name="addNewColumns" type="minlength" use="optional" />
</extension>
</complexContent>
</complexType>
<!--
match idViolationsCount.test,
then remove all its content
-->
<complexType name="idViolationsCount.test">
<complexContent>
<extension base="tableTask">
<sequence>
<element name="index" type="columnsNoAs" minOccurs="1" />
<element name="condition" type="stringWithRef" minOccurs="0" />
<element name="allowExpressions" type="boolWithRef" minOccurs="0" />
</sequence>
<attribute name="mode" type="mergeMode" use="required" />
</extension>
</complexContent>
</complexType>
</root>
<root>
<complexType name="tableData2File">
<complexContent>
<extension base="taskElement">
<sequence>
<element name="source" type="tableData2File.source" />
<element name="parser" type="parser" />
<element name="target" type="node.uri" />
</sequence>
<attribute name="addNewColumns" type="minlength" use="optional" />
</extension>
</complexContent>
</complexType>
<!-- no idViolationsCount.test! -->
</root>
<xsl:template match="root/*[contains(@name, '.')]" />
<xsl:template match="root/*[contains(@name, '.')]">
<!-- don't output anything now, but keep processing children -->
<xsl:apply-templates />
</xsl:template>