Carsten Hohmann: if (kontext überprüfen)

Ich möchte mit

<xsl:if test=" ">

überprüfen, in welchem Kontext ich mich befinde.
Allerdings konnte ich keinerlei Beispiele für einen Ausdruck in Richtung:

if ( PARENT == "NAME DES PARENTOBJEKTS" ) {}

finden.
Kann mir jemand weiterhelfen?

mfg
Carsten Hohmann

  1. Hallo Carsten

    Ich möchte mit

    <xsl:if test=" ">

    überprüfen, in welchem Kontext ich mich befinde.
    Allerdings konnte ich keinerlei Beispiele für einen Ausdruck in Richtung:

    if ( PARENT == "NAME DES PARENTOBJEKTS" ) {}

    finden.
    Kann mir jemand weiterhelfen?

    Habe es nicht ausprobiert aber vielleicht hilft dir die Kernfunktion local-name() von XPath, die den Namen des gegenwärtigen nodes zurückliefert. Also wohl so:

    <xsl:if test="local-name()='Name des Parantobjekts')">

    vgl. dazu http://www.w3.org/TR/xpath#function-local-name

    Gruß
    Franz

    1. Ja, das hat mir weitergeholfen

      <xsl:if test="local-name(..) = 'NAME DES PARENTOBJEKTS' ">

      Hallo Carsten

      Ich möchte mit

      <xsl:if test=" ">

      überprüfen, in welchem Kontext ich mich befinde.
      Allerdings konnte ich keinerlei Beispiele für einen Ausdruck in Richtung:

      if ( PARENT == "NAME DES PARENTOBJEKTS" ) {}

      finden.
      Kann mir jemand weiterhelfen?

      Habe es nicht ausprobiert aber vielleicht hilft dir die Kernfunktion local-name() von XPath, die den Namen des gegenwärtigen nodes zurückliefert. Also wohl so:

      <xsl:if test="local-name()='Name des Parantobjekts')">

      vgl. dazu http://www.w3.org/TR/xpath#function-local-name

      Gruß
      Franz

    2. <xsl:if test="local-name()='Name des Parantobjekts')">

      Langsam und gefährlich bei unterschiedlichen Namensräumen.
      <xsl:if test="parent::NameDesVaters">

      1. <?xml version="1.0" encoding="UTF-8"?>
        <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

        <xsl:element name="gruss">
          xsl:textHallo Bjoern!</xsl:text>
        </xsl:element>
        <xsl:if test="bjoern_meint">
          xsl:text
            > > <xsl:if test="local-name()='Name des Parantobjekts')">
            >
            > Langsam und gefährlich bei unterschiedlichen Namensräumen.
          </xsl:text>
          <xsl:element name="antwort">
            xsl:text
        Langsam ist relative und in Abhängigkeit der Verwendung
        local-name( ) ist gut wenn man Namen ohne namespace erreichen will:
                <bjoer> hoerhmann:bjoern
        <xsl:template match="local-name() = 'bjoern'"> trifft alle Bjoerns ohne auf dem namespace ruecksicht zu nehmen.
        Nuetzlich ist es bei sowas:
        <xsl:template match="bjoern:mail thomas:mail"> was so besser geht:
        <xsl:template match="*[local-name() = 'mail']">
            </xsl:text>
          </xsl:element>
        </xsl:if>
        <xsl:element name="gruss">
          xsl:textGruesse</xsl:text>
          xsl:textThomas</xsl:text>
        </xsl:element>
        </xsl:stylesheet>