Announcement

Collapse
No announcement yet.

Knoten, ohne Unterknoten ausgeben

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

  • Knoten, ohne Unterknoten ausgeben

    Hallo zusammen,

    ich fange gerade an, mit XSLT zu arbeiten.

    Es dreht sich um folgenden Schnipsel einer XML-Datei:
    Code:
    <ueberschrift>
    	<hauptzeile>
                           Hauptzeile
    	</hauptzeile>
    	<unterzeile>
    			<beschreibung>
                                  Beschreibung
    			</beschreibung>
    			Unterzeile
    	</unterzeile>
    </ueberschrift>
    Ich möchte nun exakt nur den Inhalt des Knotens Unterzeile ausgeben, aber ohne, dass er mir die Inhalte der Unterknoten mit ausgibt.
    Mein bisheriges XSL dazu:
    Code:
    <xsl:template match="/">
    <xsl:apply-templates select="//ueberschrift/unterzeile"/>
    </xsl:template>
    
    <xsl:template match="//ueberschrift/unterzeile">
    	<xsl:element name="p">
    		<xsl:value-of select="."/>
    	</xsl:element>	
    </xsl:template>
    Gibt mir aber alles aus, ab dem Knoten Unterzeile:
    Beschreibung Unterzeile
    Gewünschtes Ergebnis wäre:
    Unterzeile
    Wahrscheinlich ist das für euch ein Klacks, aber in allen Tutorials und Beispielen, die ich im Netz gefunden habe, wird nicht auf diesen Fall eingegangen.
    Ich vermute, es gibt einen XPath, der explizit einen Knoten auswählen kann. Diesen Befehl wird man sicher an Stelle des "." einsetzen und dann funkts.
    Aber selbst in den XPath Tutorials oder in der XPath-Referenz bin ich nicht fündig geworden. Alles was ich ausprobiert habe, führte nicht zum gewünschten Ergebnis.

    Danke für eure Hilfe

  • #2
    [highlight=xml]
    <p><xsl:value-of select="normalize-space(text()[last()])"/></p>
    [/highlight]
    xsl:element ist hier überflüssig, verwende einfach p als literales Element (siehe).

    Comment


    • #3
      Danke für den richtigen X-Path Ausdruck.



      P.S.: Das xsl:element ist durchaus beabsichtigt, da ich auch mit xsl:attribute-set arbeite. Der Code-Schnipsel war nur ein kleiner Auszug, um mein Anliegen aufs Wesentliche zu reduzieren. :-)

      Comment

      Working...
      X