Mindgap: Pattern für xsl:apply-templates

Folgendes Frage:

Ist es möglich das xsl:apply-templates/ so umzuschreiben, dass nicht wie in diesem Beispiel "@jahrgang="1992" das Attrribut ausgelesen wird, sondern der eigentliche Inhalt des Elementes.

Hintergrund: Ich kann im XML Dokument keine Elementattribute einfügen, bzw. nachträglich Einfügen.

Ich habe auch ein wenig rumgespielt und auf diese Lösung gekommen. Funktioniert jedoch nicht :(
<xsl:apply-templates select="Article/testelement['HT']" />

Gruß und Danke,
Mind

  1. Hallo,

    Ist es möglich das xsl:apply-templates/ so umzuschreiben, dass nicht wie in diesem Beispiel "@jahrgang="1992" das Attrribut ausgelesen wird, sondern der eigentliche Inhalt des Elementes.
    Hintergrund: Ich kann im XML Dokument keine Elementattribute einfügen, bzw. nachträglich Einfügen.

    Ich habe auch ein wenig rumgespielt und auf diese Lösung gekommen. Funktioniert jedoch nicht :(
    <xsl:apply-templates select="Article/testelement['HT']" />

    Ich verstehe deine Frage leider überhaupt nicht.
    Könntest du sie bitte neu formulieren?

    Grüße
    Thomas

    1. Hallo,

      Ist es möglich das xsl:apply-templates/ so umzuschreiben, dass nicht wie in diesem Beispiel "@jahrgang="1992" das Attrribut ausgelesen wird, sondern der eigentliche Inhalt des Elementes.
      Hintergrund: Ich kann im XML Dokument keine Elementattribute einfügen, bzw. nachträglich Einfügen.

      Ich habe auch ein wenig rumgespielt und auf diese Lösung gekommen. Funktioniert jedoch nicht :(
      <xsl:apply-templates select="Article/testelement['HT']" />

      Ich verstehe deine Frage leider überhaupt nicht.
      Könntest du sie bitte neu formulieren?

      Grüße
      Thomas

      Hallo Thomas,

      sorry, das liegt wohl am Stress.

      Also auf ein neues:

      Ich möchte über apply templates eine Abfrage starten, die aber nur bei Elementen mit einem gewissen Inhalt ausgeführt werden. Bis jetzt kenne ich nur die Möglichkeit, dies über die Attribute eines Elementes zu steuern. Geht dies auch über deren Inhalt?

      1. Hallo,

        Ich verstehe deine Frage leider überhaupt nicht.
        Könntest du sie bitte neu formulieren?

        sorry, das liegt wohl am Stress.

        Also auf ein neues:

        Ich möchte über apply templates eine Abfrage starten, die aber nur bei Elementen mit einem gewissen Inhalt ausgeführt werden. Bis jetzt kenne ich nur die Möglichkeit, dies über die Attribute eines Elementes zu steuern. Geht dies auch über deren Inhalt?

        Ja, entweder:

        1. <xsl:apply-templates select="foo[. = 'bar']" />
          oder:
        2. <xsl:apply-templates select="foo[contains(., 'bar')]" />

        bei:
        <foo>bar</foo>
        <foo>bla bar blub</foo>
        findet 1) nur das erste <foo>, 2) findet beide <foo>-Elemente.

        Grüße
        Thomas

        1. Hallo Thomas,

          vielen Dank! Das bringt mich weiter :)

          Gruß,
          Michael