在XSLT中如何删除命名空间标题中的空格来获取输出

时间:2018-05-18 07:17:30

标签: xml xslt

如何删除xslt命名空间标题中的空格

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
                 xmlns:fpml="http://www.fpml.org/2010/FpML-4-9"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xmlns:mtc="OTC_Matching_11-0" xmlns:rm="OTC_RM_11-0"
                 xsi:schemaLocation="OTC_RM_11-0 /xmls/OTC/OTC_RM_11-0.xsd 
                 OTC_Matching_11-0/xmls/OTC/OTC_Matching_11-0.xsd http://schemas.xmlsoap.org/soap/envelope/ /xmls/OTC/soap-envelope.xsd http://www.fpml.org/2010/FpML-4-9 /xmls/OTC/fpml-main-4-9.xsd"  >

        </env:Envelope>

out应该是单行,这个头文件需要获取新行

1 个答案:

答案 0 :(得分:0)

您可以在stylesheet文件中使用以下标记将输出指定为XML并删除空格:

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <!-- add those 2 tags at the begining of your stylesheet to specify that the output is XML format and to strip the spaces -->
    <xsl:output method="xml" indent="yes" /> 
    <xsl:strip-space elements="*"/>

    <xsl:template match="/">
            ...
            ...
            ...
    </xsl:template>

</xsl:stylesheet>

注意,为了减小XML文件的大小,从而提高网络中的传输速度以及接收主机的解析速度/处理速度。空节点通常由<node/>处理器转换为<node></node>而不是XSLT

如果你必须一次发送大量信息,你也可以在发送之前linarize你的XML文件。