Frank Lumnitzer: Speziellen Datenknoten per XSLT aus XML auslesen

Haloele,

habe mich seit geraumer Zeit mit XML und Co. beschäftigt. Dies wäre für meine Bedürfnisse genau richtig. Aber ... ich muss per Script/XSLT what so ever, genau einen Datensatz in der XML Datenbank ansprechen können.
XML sieht ungefähr in der Form aus:
<book>
  <chapter name="01">
    <subchapter></subchapter>
    <page></page>
    <content></content>
  </chapter>
  <chapter name="02">
    ....
  </chapter>
</book>

Wie kann ich jetzt genau den Datensatz mit dem Chapter/Attribut 01 ansprechen, wenn ich dabei für die gesamte XML-Datei das gleiche XSLT Stylesheet benutze. (Alle Datensätze anzuzeigen ist kein Problem, möchte aber nur einen Datensatz anzeigen z.B. 01 und gegebenfalls eine Nutzereingabe auslesen und das Chapter 03 anzeigen. - Dynamische Datensuche also/Sprungbefehl)

Danke
Frank

  1. Haloele,

    Grüssi!

    ich muss per Script/XSLT what so ever, genau einen Datensatz in der XML Datenbank ansprechen können.

    Jetzt wird xml also sogar schon als "Datenbank" bezeichnet, wow ;-)

    XML sieht ungefähr in der Form aus:
    <book>
      <chapter name="01">
        <subchapter></subchapter>
        <page></page>
        <content></content>
      </chapter>
      <chapter name="02">
        ....
      </chapter>
    </book>

    Wie kann ich jetzt genau den Datensatz mit dem Chapter/Attribut 01 ansprechen, wenn ich dabei für die gesamte XML-Datei das gleiche XSLT Stylesheet benutze.

    <xsl:template match="/book/chapter[@name='01']">
    ... ausgeben ...
    </xsl:template>

    ?? das selektiert den Chapter-Node, dessen "name"-Attribut den Wert '01' hat!

    lg bernhard

    1. Haloele,

      Grüssi!

      ich muss per Script/XSLT what so ever, genau einen Datensatz in der XML Datenbank ansprechen können.

      Jetzt wird xml also sogar schon als "Datenbank" bezeichnet, wow ;-)

      XML sieht ungefähr in der Form aus:
      <book>
        <chapter name="01">
          <subchapter></subchapter>
          <page></page>
          <content></content>
        </chapter>
        <chapter name="02">
          ....
        </chapter>
      </book>

      Wie kann ich jetzt genau den Datensatz mit dem Chapter/Attribut 01 ansprechen, wenn ich dabei für die gesamte XML-Datei das gleiche XSLT Stylesheet benutze.

      <xsl:template match="/book/chapter[@name='01']">
      ... ausgeben ...
      </xsl:template>

      ?? das selektiert den Chapter-Node, dessen "name"-Attribut den Wert '01' hat!

      lg bernhard

      ja das ist schon klar, aber wie kann ich an dieser Stelle
      [@name='01']
      an Stelle von ='01' eine Variable angeben? Zum Beispiel einen Wert, den ich aus einem Input Tag auslese.
      Datenbank hin und her ... egal

      Danke trotzallem
      Frank

      1. hallo,

        das kannst du machen in dem du

        1. die tipps unter http://www.learn.to/quote/ befolgst

        <?xml version="1.0"?>
        <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:param name="chapterid" select="''" />

        ...
        <xsl:template match="chapter[@name = $chapterid]">
        ...
        </xsl:template>
        </xsl:stylesheet>

        ----
        <input type="" name="chapterid" value="01">