Karsten: Defaultnamespace im XML-Dokument berücksichtigen

Hallo,

ich hab ein kleines Problem. Ich möchte ein XML-Dokument transformieren:
<Specification xmlns="...">
  <Req>
  ...
  </Req>
  ...
</Specification>

In der Transformation mit XSLT kann ich nicht sauber mit XPath navigieren, weil ich nicht weiß, wie ich den Namespace in XSLT einbetten muss, damit dieser bei Abfragen, Schleifen usw. berücksichtigt wird. In der Quelle kann ich leider nichts ändern, weil es sich um einen generierten Export handelt.

Danka, mfG

Karsten

  1. Hallo Karsten,

    In der Transformation mit XSLT kann ich nicht sauber mit XPath navigieren, weil ich nicht weiß, wie ich den Namespace in XSLT einbetten muss, damit dieser bei Abfragen, Schleifen usw. berücksichtigt wird. In der Quelle kann ich leider nichts ändern, weil es sich um einen generierten Export handelt.

    Wenn der Namensraum im XML-Dokument kein Prefix enthält, dann definiere ein eigenes im XSLT-Stylesheet:

    <xsl:stylesheet version="1.0" ... xmlns:myns="URI_aus_dem_XML_Dokument" exclude-result-prefixes="myns">

    und bei den Abfragen entsprechend myns:Specification/myns:Req verwenden.

    Ist XSLT 2.0 anwendbar, dann vereinfacht sich die Sache mittels xpath-default-namespace zu:

    <xsl:stylesheet version="2.0" ... xpath-default-namespace="URI_aus_dem_XML_Dokument">

    Grüße,
    Thomas