我有下一个附录:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:ecfd="http://www.southconsulting.com/schemas/strict">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<xsl:element name="cfdi:Addenda">
<xsl:element name="requestForPayment">
<xsl:attribute name="type">SimpleInvoiceType</xsl:attribute>
<xsl:attribute name="contentVersion">1.3.1</xsl:attribute>
<xsl:attribute name="documentStructureVersion">AMC7.1</xsl:attribute>
<xsl:attribute name="documentStatus">ORIGINAL</xsl:attribute>
<xsl:element name="requestForPaymentIdentification">
<xsl:text>1</xsl:text>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:template>
我的问题出在节点上:
<xsl:element name="cfdi:Addenda">
因为当我运行附录时,命名空间:
xmlns:cfdi="http://www.sat.gob.mx/cfd/3"
它放在节点的位置,我在这个地方不需要这个命名空间。这种方式:
<cfdi:Addenda xmlns:cfdi="http://www.sat.gob.mx/cfd/3"></cfdi:Addenda>
我需要这种方式:
<cfdi:Addenda></cfdi:Addenda>
有什么建议么?????
我尝试添加以下说明:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:ecfd="http://www.southconsulting.com/schemas/strict" exclude-result-prefixes="cfdi">
<xsl:element name="cfdi:Addenda" namespaces="">
并且这条指令有效,但是当这个 XSLT 模板将捕获 XML 文档时删除节点开始,如下所示:
<Addenda></Addenda>
用这个 XSLT 输出(我不想要这个):
<?xml version="1.0" encoding="UTF-8"?>
<cfdi:Addenda xmlns:cfdi="http://www.sat.gob.mx/cfd/3">
<requestForPayment type="SimpleInvoiceType" contentVersion="1.3.1" documentStructureVersion="AMC7.1" documentStatus="ORIGINAL">
<requestForPaymentIdentification>1</requestForPaymentIdentification>
</requestForPayment>
</cfdi:Addenda>
我希望是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<cfdi:Addenda>
<requestForPayment type="SimpleInvoiceType" contentVersion="1.3.1" documentStructureVersion="AMC7.1" documentStatus="ORIGINAL">
<requestForPaymentIdentification>1</requestForPaymentIdentification>
</requestForPayment>
</cfdi:Addenda>