Hallo Thomas,
vielen Dank für die ausführliche Antwort.
<xsl:for-each select="document('schema.xsd')/*/namespace::*">
<xsl:value-of select="."/> -
<xsl:value-of select="name(.)"/>
</xsl:for-each>
Das hatte ich auch schon gemacht und dachte deshalb, dass ich richitg "ziele", da mir ja dann die URI als auch die Kurzfrom ausgegeben wird.
<xsl:variable name="NS" select="document('schema.xsd')/*[1]/@targetNamespace"/>
<xsl:value-of select="name(//*[namespace-uri() = $NS])"/>
So wäre es fein (ich parse mit xsl eine xml der verschieden xsd file zugeordnet sind) Also mein $NS hat den Inhalt der namespace-URI (geteste mit einer probeausgabe von $NS mit xsl:value-of). Die Anweisung danach <xsl:value-of select="name(//*[namespace-uri() = $NS])"/> bringt dann aber nur Erfolg, wenn in meiner XML auch Element mit dem Namespace vorhanden sind. Also wenn keine Elemente des Namespace vorhanden sind, dann gibt mir auch substring-before(name(//*[namespace-uri() = $NS]),':') nicht den prefix aus.
Gruß
Theo