Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在xslt中使用的副本时删除xml:space属性_Xslt_Xml Attribute - Fatal编程技术网

在xslt中使用的副本时删除xml:space属性

在xslt中使用的副本时删除xml:space属性,xslt,xml-attribute,Xslt,Xml Attribute,以下是我的input.xml文件中的部分代码: <info> <name> <surname>Sachin</surname> <x> </x> <given-names>J</given-names> </name> <x>, </x> <name> <surname>Sushant</surname> <x> &l

以下是我的input.xml文件中的部分代码:

<info>
<name>
<surname>Sachin</surname>
<x> </x>
<given-names>J</given-names>
</name>
<x>, </x>
<name>
<surname>Sushant</surname>
<x> </x>
<given-names>K</given-names>
</name>
</info>
然后生成以下输出:

<info>
<name>
<surname>Sachin</surname>
<x xml:space="preserve"> </x>
<given-names>J</given-names>
</name>
<x xml:space="preserve">, </x>
<name>
<surname>Sushant</surname>
<x xml:space="preserve"> </x>
<given-names>K</given-names>
</name>
</info>

萨钦
J
, 
苏珊特
K

我想从output.xml文件中删除
xml:space=“preserve”

xsl:copy of制作一个精确的副本。如果您想要进行任何更改,不管更改有多小,那么您需要使用“修改的标识模板”编码模式。在这种情况下,应使用以下模板规则:

<xsl:template match="*">
  <xsl:copy>
    <xsl:copy-of select="@* except xml:space"/>
    <xsl:apply-templates/>
  </xsl:copy>
</xsl:template>


(“except”运算符是XPath 2.0-如果您一直使用1.0,请使用
@*[name()!='xml:space']

xsl:copy of制作精确的副本。如果您想要进行任何更改,不管更改有多小,那么您需要使用“修改的标识模板”编码模式。在这种情况下,应使用以下模板规则:

<xsl:template match="*">
  <xsl:copy>
    <xsl:copy-of select="@* except xml:space"/>
    <xsl:apply-templates/>
  </xsl:copy>
</xsl:template>


(except运算符是XPath 2.0-如果您一直使用XPath 1.0,请使用
@*[name()!='xml:space']

这不是名称空间。如何生成输出?为什么要删除这些输出?它们明确声明元素中的空间需要存在,这可能很重要。许多XML解析器在没有它的情况下会将它们简单地视为
。这不是名称空间。如何生成输出?为什么要删除这些输出?它们明确声明元素中的空间需要存在,这可能很重要。很多XML解析器都会将它们视为没有它的简单的
。谢谢您的回复。。我是Xslt新手。。我正在使用以下代码进行复制。。谢谢你的回复。。我是Xslt新手。。我正在使用以下代码进行复制。。