saschakoeditz: Datentypen abfragen

Hallo,

ich habe eine XML Datei die Datentypen aus einer XSD enthält.

hier mal 2 Beispiele:

xmeld:amtlichergemeindeschluessel
   xmeld:tabelle36</xmeld:tabelle>
   xmeld:schluessel16070052</xmeld:schluessel>    </xmeld:amtlichergemeindeschluessel>

<antwortstatus>
   meld:tabelle6</xmeld:tabelle>
   xmeld:schluessel00</xmeld:schluessel>
</antwortstatus>

Beide sind vom XSD Datentyp xmeld:type.schluesseltabelle.

Nun möchte ich mit XPath oder allgemein in der XSL Datei nach dem alle Tags bekommen vom Typ xmeld:type.schluesseltabelle

Ist das möglich oder bin ich total auf dem Holzweg? Falls es möglich ist  möchte ich gern wissen wie es geht :)

  1. Hallo,

    ich habe eine XML Datei die Datentypen aus einer XSD enthält.

    hier mal 2 Beispiele:

    xmeld:amtlichergemeindeschluessel
       xmeld:tabelle36</xmeld:tabelle>
       xmeld:schluessel16070052</xmeld:schluessel>    </xmeld:amtlichergemeindeschluessel>

    <antwortstatus>
       meld:tabelle6</xmeld:tabelle>
       xmeld:schluessel00</xmeld:schluessel>
    </antwortstatus>

    Beide sind vom XSD Datentyp xmeld:type.schluesseltabelle.

    Nun möchte ich mit XPath oder allgemein in der XSL Datei nach dem alle Tags bekommen vom Typ xmeld:type.schluesseltabelle

    Ist das möglich oder bin ich total auf dem Holzweg? Falls es möglich ist  möchte ich gern wissen wie es geht :)

    --
    Hallo,
    ja das geht. Mit einem XSLT-Stylesheet muss das Schema analysiert werden und alle Elemente, die von diesem Typ sind in Variablen gepackt werden. Mit diesen Elementnamen kann, man anschließend die XML-Datei durchforsten.
    Viele Grüße,
    Manuel Montero
    Umfangreiche Einführungen zu XSLT, XSL-FO und SVG finden Sie auf unserer Seite http://www.data2type.de/xml/xml.html.
    mailto: info@data2type.de
    Web: www.data2type.de
    Unsere neueste Publikation:
    Professionelle XML-Verarbeitung mit Word. ISBN-13 978-3-89864-415-0
  2. Hallo Sascha,

    Nun möchte ich mit XPath oder allgemein in der XSL Datei nach dem alle Tags bekommen vom Typ xmeld:type.schluesseltabelle

    XSLT 2.0 bietet diese Möglichkeit:

    <xsl:template match="element(name,eigener_schema_typ)">  
    ...  
    </xsl:template>
    

    bei Einbindung des Schemas mittels <xsl:import-schema .../> in das Stylesheet und Verwendung eines "schema-aware" XSLT-Prozessors, also aktuell Saxon 9.0SA oder AltovaXML 2008.

    Grüße,
    Thomas