Announcement

Collapse
No announcement yet.

XSL: Variabler Attribut-Name und Attribut-Wert

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • XSL: Variabler Attribut-Name und Attribut-Wert

    Moin,

    ich muß in einem XSL prüfen, ob ein Wert in einem beliebigen Attribut eines Elementes vorkommt.

    In meinem Originaldokument habe ich Elemente wie
    Code:
    <displayname>Paul</displayname>
    und in meinem Vergleichsdokument entsprechend
    Code:
    <Item Name="Paul"/>
    Da im Originaldokument der Name des Elementes und sein Wert, und im Vergleichsdokument der Name des Attributs, habe ich Variablen erzeugt.

    Den variablen Namen des Attributs kann ich mit
    Code:
    /path/to/element/@*[name()=$Attribute]
    ermitteln und
    Code:
    /path/to/element[@Name='Paul']
    liefert mir ebenfalls passende Elemente; nur bei der Kombination beider Kriterien stecke ich fest. Ich hätte etwas wie
    Code:
    /path/to/element/@*[name()=$Attribute and text()=$Value]
    vermutet, aber das funktioniert nicht.

    Wie lautet die richtige Syntax? Oder gibt es noch einen intelligenteren oder eleganteren Weg?

    Ach ja: XSLT 1.0 ...
    --
    Cheers Vince

  • #2
    Wenn du den Wert eines Knoten mit einer Variablen vergleichen willst, dann einfach per
    Code:
    @*[. = $Value]

    Comment


    • #3
      Moin,

      ich muß sowohl den Namen als auch den Wert variabel gestalten und dachte eigentlich, ich hätte

      Code:
      @*[name(.)=$Name and .=$Value]
      ausprobiert und einen Fehler bekommen - ich versuch's einfach noch einmal ... war schon sehr spät ...

      Danke!
      --
      Cheers Vince

      Comment

      Working...
      X