我有这个 xslt 样式表:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/TR/REC-html40"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>
<xsl:output method="xml" omit-xml-declaration="yes" standalone="yes" />
<xsl:template match="/" >
<Parameters>
<xsl:apply-templates/>
</Parameters>
</xsl:template>
<xsl:template match="PrimitiveParameter">
<!-- String -->
<xsl:if test="Value/@xsi:type='xsd:string'">
<xsl:element name="StringParameter">
<xsl:attribute name="name">
<xsl:value-of select="Name" />
</xsl:attribute>
<xsl:if test="Key">
<xsl:attribute name="DomainKey">
<xsl:value-of select="Key" />
</xsl:attribute>
</xsl:if>
<xsl:value-of select="Value" />
</xsl:element>
</xsl:if>
<!-- DateTime -->
<xsl:if test="Value/@xsi:type='xsd:dateTime'">
<xsl:element name="DateParameter">
<xsl:attribute name="name">
<xsl:value-of select="Name" />
</xsl:attribute>
<xsl:value-of select="Value" />
</xsl:element>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
它产生这个 XML:
<Parameters xmlns="http://www.w3.org/TR/REC-html40" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<StringParameter name="field" DomainKey="Domaine">TNA</StringParameter>
<DateParameter name="date">2011-12-14T00:00:00</DateParameter>
</Parameters>
我想删除 XML 命名空间声明:
<Parameters>
<StringParameter name="field" DomainKey="Domaine">TNA</StringParameter>
<DateParameter name="date">2011-12-14T00:00:00</DateParameter>
</Parameters>
可能吗 ?
问候,
弗洛里安