Ignorieren des XML-Namespace-Präfixes bei der Auswahl von Elementen - XSLT
XML Version 1
<inboundData xmlns="urn:college:names:ws:docexchange">
<Root>
<College Version="5.0" xmlns:cidx="urn:abc:names:specification:col:schema:all:5:0" xmlns="urn:abc:names:specification:col:schema:all:5:0">
<Header>
<Address>
<AddressLine1>4600 Big Tree Way</AddressLine1>
</Address>
</Header>
</College>
</Root>
</inboundData>
XML Version 2
<inboundData xmlns="urn:college:names:ws:docexchange">
<Root>
<ns1:College Version="5.0" xmlns:ns1="urn:abc:names:specification:col:schema:all:5:0">
<ns1:Header>
<ns1:Address>
<ns1:AddressLine1>4600 Big Tree Way</ns1:AddressLine1>
</ns1:Address>
</ns1:Header>
</ns1:College>
</Root>
</inboundData>
XSL-Code
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:a="urn:abc:names:specification:col:schema:all:5:0" xmlns:b="urn:college:names:ws:docexchange">
<xsl:template match="/">
<xsl:copy-of select="b:inboundData/b:College/*"/>
</xsl:template>
</xsl:stylesheet>
Korrektur im XSL-Code. (Der Fehler wurde erkannt, nachdem Hansens Antwort gelesen wurde.)
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:a="urn:abc:names:specification:col:schema:all:5:0" xmlns:b="urn:college:names:ws:docexchange">
<xsl:template match="/">
<xsl:copy-of select="b:inboundData/b:Root/*"/>
</xsl:template>
</xsl:stylesheet>
Der XSL-Code funktioniert gut für XML-Version 1. Aufgrund des zusätzlichen Namespace "ns1" funktioniert er nicht für Typ 2. Wie kann ich dafür sorgen, dass der xsl-Code für beide Versionen funktioniert? Erleuchte mich bitte!