Announcement

Collapse
No announcement yet.

xslt Attributwerte von bestimmten Elementen

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

  • xslt Attributwerte von bestimmten Elementen

    Hallo!

    Ich habe eine xml-Datei mit ca.40 Elementen named <itdPoint ...>.
    Von allen Elementen, welche das Attribut usage mit dem Wert "departure" haben
    möchte ich den Wert des Attributs tpoIdent bekommen.

    Mein Quelltext in xslt sieht so aus:
    Code:
    <xsl:if test="//itdPoint[@usage='departure']  and //itdPoint[@tpoIdent]  ">		
    <xsl:value-of select=" TpoReferable:setTpoIdent($tpoReferableNode, @tpoIdent) " />
    </xsl:if>
    leider bekomme ich so aber alle tpoIdent -Werte, egal ob da usage="departure" steht oder nicht.
    Was mache ich falsch?
    Wie müßte ich es richtig formulieren?

    Danke! Frank
    www.mehlhop.com

  • #2
    Vermutlich eher
    Code:
    <xsl:for-each select="//itdPoint[@usage='departure']">
      <xsl:value-of select="TpoReferable:setTpoIdent($tpoReferableNode, @tpoIdent)"/>
    </xsl:for-each>
    oder halt mit geeignetem Template
    Code:
    <xsl:template match="itdPoint[@usage='departure']">
      <xsl:value-of select="TpoReferable:setTpoIdent($tpoReferableNode, @tpoIdent)"/>
    </xsl:template>
    Wenn die Existenz des "tpoIdent"-Attributes auch geprüft werden soll, dann etwa
    Code:
    <xsl:template match="itdPoint[@usage='departure' and @tpoIdent]">
      <xsl:value-of select="TpoReferable:setTpoIdent($tpoReferableNode, @tpoIdent)"/>
    </xsl:template>

    Comment

    Working...
    X