1
私のようなファイルがあります:私はそれを変換するために、このXSLTを使用しのXSLT removnig結果プレフィックス
<?xml version='1.0' encoding='UTF-8'?>
<wd:Report_Data xmlns:wd="urn:com.workday.report/Business_Process_Transactions_-_Canceled__Rescinded_or_Corrected">
<wd:Report_Entry>
<wd:Worker wd:Descriptor="**** *****">
<wd:ID wd:type="WID">2b994449ed3b10ba7bc5d65f971ba4d4</wd:ID>
<wd:ID wd:type="Employee_ID">00083646</wd:ID>
</wd:Worker>
</wd:Report_Entry>
</wd:Report_Data>
:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:wd="urn:com.workday.report/Business_Process_Transactions_-_Canceled__Rescinded_or_Corrected"
exclude-result-prefixes="wd">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match ="/">
<xsl:apply-templates select="wd:Report_Data/wd:Report_Entry/wd:Worker[@wd:Descriptor!='']" />
</xsl:template>
<xsl:template match="wd:Report_Data/wd:Report_Entry/wd:Worker[@wd:Descriptor!='']">
<wd:Instance_Reference>
<wd:ID>
<xsl:attribute name="wd:type">
<xsl:value-of select="wd:ID[@wd:type='Contingent_Worker_ID' or @wd:type='Employee_ID']/@wd:type"/>
</xsl:attribute>
<xsl:value-of select="wd:ID[@wd:type='Contingent_Worker_ID' or @wd:type='Employee_ID']"></xsl:value-of>
</wd:ID>
</wd:Instance_Reference>
</xsl:template>
</xsl:stylesheet>
それは私を与える:
<wd:Instance_Reference xmlns:wd="urn:com.workday.report/Business_Process_Transactions_-_Canceled__Rescinded_or_Corrected">
<wd:ID wd:type="Employee_ID">00083646</wd:ID>
</wd:Instance_Reference>
私がしたいのこの要素を削除してください:
xmlns:wd = "ur n:com.workday.report/Business_Process_Transactions _-_ Canceled__Rescinded_or_Corrected "
これは要素ではなく、名前空間宣言です。削除する場合は、 'wd:'接頭辞も削除する必要があります。名前空間にバインドせずにプレフィックスを使用することはできません。 –