問題は、xmlns
を要素から削除する方法がわかりません。だから私の質問は:
タグ内のxmlns=""
タグNetLineAmount(「結果XML」を参照)の要素を削除するにはどうすればいいですか?要素内のxmlns = ""を削除するには?
ソースXML:
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Factuur_insbou003.xsd">
<InvoiceLine>
<LineNumber>1</LineNumber>
<DeliveredQuantity>4</DeliveredQuantity>
<DeliveredQuantityMeasureUnitCode>PCE</DeliveredQuantityMeasureUnitCode>
<NumberOfInvoicingUnits>16.8</NumberOfInvoicingUnits>
<NetLineAmount>44.76</NetLineAmount>
<TradeItemIdentification>
<GTIN>08711438159445</GTIN>
<AdditionalItemIdentification>
<TradeItemDescription>Vuren balk 60x150mm lengte 4200mm FSC70</TradeItemDescription>
<Colour>Vuren</Colour>
<PhysicalDimensions>
<MeasurementUnitCode>CMT</MeasurementUnitCode>
</PhysicalDimensions>
</AdditionalItemIdentification>
</TradeItemIdentification>
<TradeItemCertificate>
<CertificateClaimDescription>FSC Mix</CertificateClaimDescription>
</TradeItemCertificate>
<PriceInformation>
<Price>2.96</Price>
<PriceBase>
<NumberOfUnitsInPriceBasis>1</NumberOfUnitsInPriceBasis>
<MeasureUnitPriceBasis>MTR</MeasureUnitPriceBasis>
</PriceBase>
</PriceInformation>
</InvoiceLine>
</Invoice>
スタイルシートXML:
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.gs1.nl/factuur/insbou/004" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.gs1.nl/factuur/insbou/004 Factuur_insbou004.xsd">
<InvoiceLine>
<LineNumber>1</LineNumber>
<DeliveredQuantity>4</DeliveredQuantity>
<DeliveredQuantityUoM>PCE</DeliveredQuantityUoM>
<NumberOfInvoicingUnits>16.8</NumberOfInvoicingUnits>
<NetLineAmount xmlns="">44.76</NetLineAmount>
<VariableOrderConditions>
<VariableCode>LEN</VariableCode>
<NumericValue>2000</NumericValue>
<NumericValueUoM>MMT</NumericValueUoM>
</VariableOrderConditions>
<Operations>
<OperationCode>CLE</OperationCode>
<AlphanumericValue>Poetsen</AlphanumericValue>
<AdditionalInformation>met chroompoets</AdditionalInformation>
<OperationPrice>25</OperationPrice>
</Operations>
<TradeItemIdentification>
<GTIN>08711438159445</GTIN>
<AdditionalItemIdentification>
<TradeItemDescription>Vuren balk 60x150mm lengte 4200mm FSC70</TradeItemDescription>
<Colour>Vuren</Colour>
<PhysicalDimensions>
<MeasurementUnitCode>CMT</MeasurementUnitCode>
</PhysicalDimensions>
</AdditionalItemIdentification>
</TradeItemIdentification>
<TradeItemCertificate>
<CertificateClaimDescription>FSC Mix</CertificateClaimDescription>
</TradeItemCertificate>
<PriceInformation>
<Price>2.96</Price>
<PriceBase>
<NumberOfUnitsInPriceBasis>1</NumberOfUnitsInPriceBasis>
<MeasureUnitPriceBasis>MTR</MeasureUnitPriceBasis>
</PriceBase>
</PriceInformation>
</InvoiceLine>
</Invoice>
募集結果のXML:
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns="http://www.gs1.nl/factuur/insbou/004"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xsl:output encoding="UTF-8" />
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/Invoice">
<Invoice xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:schemaLocation="http://www.gs1.nl/factuur/insbou/004 Factuur_insbou004.xsd">
<xsl:apply-templates/>
</Invoice>
</xsl:template>
<xsl:template match="*">
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@* | node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="DeliveredQuantityMeasureUnitCode">
<DeliveredQuantityUoM>
<xsl:apply-templates select="@*|node()"/>
</DeliveredQuantityUoM>
</xsl:template>
<xsl:template match="NetLineAmount">
<xsl:copy-of select="."/>
<VariableOrderConditions>
<VariableCode>LEN</VariableCode>
<NumericValue>2000</NumericValue>
<NumericValueUoM>MMT</NumericValueUoM>
</VariableOrderConditions>
<Operations>
<OperationCode>CLE</OperationCode>
<AlphanumericValue>Poetsen</AlphanumericValue>
<AdditionalInformation>met chroompoets</AdditionalInformation>
<OperationPrice>25</OperationPrice>
</Operations>
</xsl:template>
</xsl:transform>
結果のXML(結果に問題がタグNetLineAmountでxmlns=""
です) (タグNetLineAmにはxmlns=""
はありませんount):
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.gs1.nl/factuur/insbou/004" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.gs1.nl/factuur/insbou/004 Factuur_insbou004.xsd">
<InvoiceLine>
<LineNumber>1</LineNumber>
<DeliveredQuantity>4</DeliveredQuantity>
<DeliveredQuantityUoM>PCE</DeliveredQuantityUoM>
<NumberOfInvoicingUnits>16.8</NumberOfInvoicingUnits>
<NetLineAmount>44.76</NetLineAmount>
<VariableOrderConditions>
<VariableCode>LEN</VariableCode>
<NumericValue>2000</NumericValue>
<NumericValueUoM>MMT</NumericValueUoM>
</VariableOrderConditions>
<Operations>
<OperationCode>CLE</OperationCode>
<AlphanumericValue>Poetsen</AlphanumericValue>
<AdditionalInformation>met chroompoets</AdditionalInformation>
<OperationPrice>25</OperationPrice>
</Operations>
<TradeItemIdentification>
<GTIN>08711438159445</GTIN>
<AdditionalItemIdentification>
<TradeItemDescription>Vuren balk 60x150mm lengte 4200mm FSC70</TradeItemDescription>
<Colour>Vuren</Colour>
<PhysicalDimensions>
<MeasurementUnitCode>CMT</MeasurementUnitCode>
</PhysicalDimensions>
</AdditionalItemIdentification>
</TradeItemIdentification>
<TradeItemCertificate>
<CertificateClaimDescription>FSC Mix</CertificateClaimDescription>
</TradeItemCertificate>
<PriceInformation>
<Price>2.96</Price>
<PriceBase>
<NumberOfUnitsInPriceBasis>1</NumberOfUnitsInPriceBasis>
<MeasureUnitPriceBasis>MTR</MeasureUnitPriceBasis>
</PriceBase>
</PriceInformation>
</InvoiceLine>
</Invoice>
心配しないでください名前空間宣言について:作成している要素の名前について心配してください。 '' xmlns = "" 'を取り除くにはどうすればよいのでしょうか?「XX要素を正しい名前空間に入れるにはどうすればいいですか」と思ってください。要素を作成するための3つの命令の異なる名前空間の振る舞い(xsl:element、xsl:copy、およびリテラルの結果要素) –