Ich verwende diese Vorlage für das Kopieren ohne Namensraum:Kopieren ohne Namensraum mit Kriterien in Xslt
<xsl:template match="*" mode="copy-no-namespaces">
<xsl:element name="{local-name()}">
<xsl:copy-of select="@*"/>
<xsl:apply-templates select="node()" mode="copy-no-namespaces"/>
</xsl:element>
</xsl:template>
<xsl:template match="comment()| processing-instruction()" mode="copy-no-namespaces">
<xsl:copy/>
</xsl:template>
das funktioniert. Aber ich möchte, dass es ohne bestimmten Namespace und nicht mit allen Namespaces kopiert wird. Zum Beispiel möchte ich einige Namespaces wie http://test.com
, http://test2.com
ignorieren, sollte die Kopie nur diese Namespaces, nicht alle Namespace entfernen.
Beispiel:
<xs:schema xmlns:xxx="http://include.com" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:zzz="http:test.com" >
<zzz:element>
</zzz:element>
<xxx:complexType>
</xxx:complexType>
</xs:schema>
Hier zzz
Namespace entfernt werden sollen, sondern bewahren xxx
als zzz
nur Matches http://test.com
, so wird der Ausgang seiner
<xs:schema xmlns:xxx="http://include.com" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<element>
</element>
<xxx:complexType>
</xxx:complexType>
</xs:schema>
Wie kann ich das erreichen?
Könnten wir ein Beispiel testen gegen: [MCVE] –
@ michael.hor257k: Fertig. –