0
我有這樣的XSLT樣式表:是否可以使用XSLT生成XML文件而不使用xml名稱空間聲明?
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>
這可能嗎?
問候,
弗洛裏安
- 我刪除了xmlns =「http://www.w3.org/TR/REC-html40」,但沒有任何效果。 - 我添加了exclude-result-prefixes =「xsd xsi」屬性,它工作正常! 非常感謝! – Florian