Tobel: Root Knoten adressieren

Hallo

Wie adressiere ich in XSL den Root - Knoten, egal an welcher Stelle ich mich im Baum befinde?

Gruss,

Tobel

  1. Hallo Tobel!

    Indem Du einfach mit "/" beginnst.

    Also für

    <Root>
    <Blabla>
    </Blabla>
    </Root>

    kannst du

    <xsl:value-of select="/Root" />

    verwenden (/beginnt immer bei Root zu suchen - äquivalent dazu ist "." immer das aktuelle Element)

    mfg

    norbert =:-)

    1. Ich befinde mich nun irgendwo im Baum und möchte alle Elemente Seite mit xls:for-each durchlaufen. Wie muss ich das von hier aus machen?

      <xsl:value-of select="/Root" />

      verwenden (/beginnt immer bei Root zu suchen - äquivalent dazu ist "." immer das aktuelle Element)

      mfg

      norbert =:-)

      1. Hallo Tobel!

        <xsl:for-each select="/Root">
           <xsl:value-of select="Blabla" />
        </xsl:for-each>

        Selektiert alle Blabla unter Root (und nur diese).

        Da Du wahrscheinlich noch öfter mal Hilfe brauchst, hier ein guter Link: http://www.xsl-rp.de/

        mfg

        norbert =:-)

        1. Hoppla - kleiner Fehler durchs kopieren ;-)

          So gehts richtig:

          <xsl:for-each select="/Root/Blabla">
              <xsl:value-of select="." />
          </xsl:for-each>

          mfg

          norbert =:-)

          1. Hallo,

            So gehts richtig:

            <xsl:for-each select="/Root/Blabla">
                <xsl:value-of select="." />
            </xsl:for-each>

            Damit adresseierst du genau und nur genau die "Blabla" Elemente die Kindelemente vom Root sind.

            Grüße
            Thomas

            1. Hallo Thomas!

              Ich weiß - ich dachte, das war die Frage. Andernfalls hätte Tobel sicher nochmal gepostet ;-)

              mfg

              norbert =:-)

              1. Hallo Norbert,

                Ich weiß -

                Dann passt es ja :-)

                Grüße
                Thomas

                PS: ich finde es sehr interessant, wer alle sich einen teil an der ÖBB redesing "beansprucht". ;-)

        2. Erstmal Danke für den guten Link!

          Aber wieso:

          <xsl:for-each select="/Root">
             <xsl:value-of select="Blabla" />
          </xsl:for-each>

          ???

          Ich hätte eher an sowas gedacht:
          <xsl:for-each select="/Root//Seite">
          ...
          </xsl:for-each>

          da ich von dem Blabla Element nicht nur den Inhalt brauche, sondern weitere Aktionen durchführen wollte.

      2. Hallo,

        Ich befinde mich nun irgendwo im Baum und möchte alle Elemente Seite mit xls:for-each durchlaufen. Wie muss ich das von hier aus machen?

        <xsl:for-each select="//Seite">
         ...
        </xsl:for-each>

        Das ist auch nicht unrichtig, aber nur dann wenn Root hier wirklich das Wurzelelement ist:
        <xsl:for-each select="/Root//Seite">

        <xsl:for-each select="/Root/Web//Seite">

        würde alle "Seite" Element egal welche Tiefe selektieren, die sich unterhalb vom "/Root/Web" befinden.

        Grüße
        Thomas