我在wso2 esb中写了一个代理。在代理中,我用xslt更改了一个xml文件。我的问题是我想在第一行删除,但我不能。我用omit-xml-declaration =" yes"但它不起作用。即使我为此写了单独的xslt,但我再次看到它。我该怎么办? 这是我的代理码:
<sequence>
<xslt key="gov:/first.xsl"/>
<xslt key="gov:/RemoveXMLdeclaration.xsl"/>
<send>
<endpoint>
<address uri="myendpoint"/>
</endpoint>
</send>
<log level="full"/>
</sequence>
这是first.xsl:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:gues="http://soa.ut.ac.ir/GuestIdentityService">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/">
<xsl:copy>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:template match="*">
<xsl:element name="gues:{local-name()}">
<xsl:apply-templates select="@*|node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="@*">
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet>
这是RemoveXMLdeclaration.xsl:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="yes" />
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>