Announcement

Collapse
No announcement yet.

xslt Attribut auswählen

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

  • xslt Attribut auswählen

    Hallo zusammen
    Ich habe im Moment ein Problem bei der Ausgabe von Attributen.
    Code:
    <epc:Epc xmi:id="_O4YkwE6aEd2dZJUWX1r4Zw">
        <elements xmi:type="epc:Function" xmi:id="_EHiu0FD_Ed2icIPtHbIjKQ" name="Function Text" out="_o-AMEFG2Ed2qGu81IE-BLw"/>
        <elements xmi:type="epc:Event" xmi:id="_nH1UoFG2Ed2qGu81IE-BLw" name="Eventinhalt" in="_o-AMEFG2Ed2qGu81IE-BLw"/>
        <connections xmi:type="epc:Arc" xmi:id="_o-AMEFG2Ed2qGu81IE-BLw" from="_EHiu0FD_Ed2icIPtHbIjKQ" to="_nH1UoFG2Ed2qGu81IE-BLw"/>
      </epc:Epc>
    Ich möchte gerne das Namensattribut des Elementes ausgeben, das ein bestimmtes xmi:id Attribut hat, sprich "gib mir das Namensattribut mit der xmi:id=xyz aus".
    Ein erster Versuch sah bei mir so aus:
    Code:
    <xsl:template match="epc:Epc" name="epcName">
        <xsl:param name="id"/>
        <xsl:element name="name"><xsl:value-of select="//elements/@name[(@*[name()='xmi:id'])=$id]"/></xsl:element>
        <xsl:element name="description"><xsl:value-of select="//elements/@name"/></xsl:element>
    </xsl:template>
    Der untere Ausdruck funktioniert grundsätzlich, gibt mir aber natürlich nur immer den ersten Namen aus.
    Weiß hier jemand ne Lösung?

  • #2
    Probiere es mit:

    Code:
    <name>
      <xsl:value-of select="//elements[@*[name()='xmi:id']=$id]/@name"/>
    </name>
    BTW: Verzichte zugunsten der Lesbarkeit und Wartbarkeit auf xsl:element, bzw. verwende es erst dann, wenn sich die Elementnamen dynamisch ergeben. Woher kommt diese Unsitte bloß?

    Comment


    • #3
      Ah Bedingung falsch gesetzt.
      Danke das geht.
      Die Angewohnheit Elemente mir der Methode zu erzeugen kommt wohl daher, dass ich normalerweise mit Java arbeite, muss mich erstmal an die direkte Schreibweise gewöhnen.

      Comment

      Working...
      X