1
我需要替換輸出中生成的錯誤名稱空間。但是,當我將XML輸出轉換爲XSLTFile時,根元素中生成的名稱空間現在是正確的。但是舊的命名空間出現在其他元素中。 非常感謝您的幫助。需要替換名稱空間
輸入文件:
<Invoice xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns="http://uri.etsi.org/01903/v1.4.1#"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<cbc:UBLVersionID>2.1</cbc:UBLVersionID>
<cbc:CustomizationID>TR1.2</cbc:CustomizationID>
<cbc:ProfileID>TEMELFATURA</cbc:ProfileID>
<cac:InvoicePeriod>
<cbc:StartDate>2016-02-04</cbc:StartDate>
<cbc:StartTime>06:00:00</cbc:StartTime>
<cbc:DurationMeasure unitCode="DAY">15</cbc:DurationMeasure>
</cac:InvoicePeriod>
</Invoice>
XSLT FILE:
<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="/*[local-name()='Invoice']">
<Invoice
xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2 ../xsdrt/maindoc/UBL-Invoice-2.1.xsd">
<xsl:apply-templates select="@* | node()"/>
</Invoice>
</xsl:template>
</xsl:stylesheet>
產生的輸出:
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2 ../xsdrt/maindoc/UBL-Invoice-2.1.xsd">
<cbc:UBLVersionID xmlns="http://uri.etsi.org/01903/v1.4.1#">2.1</cbc:UBLVersionID>
<cbc:CustomizationID xmlns="http://uri.etsi.org/01903/v1.4.1#">TR1.2</cbc:CustomizationID>
<cbc:ProfileID xmlns="http://uri.etsi.org/01903/v1.4.1#">TEMELFATURA</cbc:ProfileID>
<cac:InvoicePeriod xmlns="http://uri.etsi.org/01903/v1.4.1#">
<cbc:StartDate>2016-02-04</cbc:StartDate>
<cbc:StartTime>06:00:00</cbc:StartTime>
<cbc:DurationMeasure unitCode="DAY">15</cbc:DurationMeasure>
</cac:InvoicePeriod>
</Invoice>
元素GE nerate一個額外的命名空間,這是錯誤的。
預期輸出
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2 ../xsdrt/maindoc/UBL-Invoice-2.1.xsd">
<cbc:UBLVersionID>2.1</cbc:UBLVersionID>
<cbc:CustomizationID>TR1.2</cbc:CustomizationID>
<cbc:ProfileID>TEMELFATURA</cbc:ProfileID>
<cac:InvoicePeriod>
<cbc:StartDate>2016-02-04</cbc:StartDate>
<cbc:StartTime>06:00:00</cbc:StartTime>
<cbc:DurationMeasure uniedtCode="DAY">15</cbc:DurationMeasure>
</cac:InvoicePeriod>
</Invoice>
不管怎麼說,我已經嘗試過在XSLT我在網上看到很多代碼。但它沒有奏效。謝謝。
嗨@JLRishe,謝謝你的反饋意見。它已經在工作:) – hannah