Hallo,
nun ja, muss ich vielleicht etwas weiter ausholen. Die xml datei enthält in nodes verweise auf zu importierende xml schema (zum validieren dieser xml). Frag micht nicht warum, die es so machen, aber es ist so und ich kann daran auch nichts ändern.
Nun ja, ich weiss auch nicht was die damit bezwecken (außer dass eine ihre anwendungen so programmiert ist, dass Schema auf diese Weise aufgerufen werden, denn eigentlich müsste es ja so angegeben werden:
xsi:schemaLocation="http://example.com/foo foo.xsd http://example.com/bar bar.xsd"
Nun wollte ich gerne eine Aufstellung machen, welches XML schema welchen namensraum definiert. also Beispiel:
<root xmlns:eins="http://www.erstes.com" xmlns:neu="http://www.zweites.com"
xmlns:blau="http://www.drittes.com" xmlns="www.leer.com">
<schemalocation location="erstes.xsd"/>
<schemalocation location="zweites.xsd"/>
<schemalocation location="drittes.xsd"/>
.
.
.
</root>So, und nun wollte ich eigentlich einfach eine Auflistung, welches Schema welchen Namespace definiert und welcher prefix dem Namespace zugeordnet ist.
Na ja, _das_ kannst du ja:
<xsl:for-each select="document(schemalocation/@location)/*/namespace::*">
<xsl:value-of select="name(.)"/> - <xsl:value-of select="."/>
</xsl:for-each>
Grüße
Thomas