Mit XSLT / XPath, wie kann ich in den Null-Namespace jedes Element überein?

stimmen
6
<xsl:template match=foo>

entspricht das foo Element in dem Null-Namespace.

<xsl:template match=*>

passt auf jedes Element in jedem Namespace.

Ich habe es versucht:

xmlns:null=
...
<xsl:template match=null:*>

aber es ist illegal, einen Präfix für den Null-Namensraum zu erklären.

Wie kann ich also mit einem beliebigen Namen im leeren Namensraum ein Element überein?

Veröffentlicht am 09/12/2008 um 14:59
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
5

Du könntest es versuchen:

<xsl:template match='*[namespace-uri() = ""]'>

Wenn der Knoten-Set leer ist oder keinen NamespaceURI, eine leere Zeichenkette wird durch die zurück - namespace-uriFunktion, die erreicht werden soll , was Sie wollen.

Beantwortet am 09/12/2008 um 15:06
quelle vom benutzer

stimmen
4

ffpf ist richtig.

Für eine noch größere Klarheit würde ich empfehlen, die folgenden Übereinstimmungsmuster zu verwenden:

 ‚ *[not(namespace-uri() )]

Beantwortet am 09/12/2008 um 16:06
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more