Johannes T: Namen von beliebigen Unterlement

<xsl:with-param name="title" select="information/*[name() != 'debugmessage' and name() != 'user' and name() != 'date']/name()"/>

Wie man vielleicht sehn kann will ich das Element (kann nur eins vorkommen) unter information selektieren dass nicht gleich debugmessage user oder date heißt. Der Name des Elementes ist dabei dynamisch. Und genau diesen dynamischen Namen des 4. Elementes will ich haben. Hoffe ihr versteht was ich will und könnt mir weiterhelfen. Oben stehendes select funktioniert jedenfalls nicht ich weis aber auch nicht wie ichs anders machen soll ... vl bin ich auch einfach nur zu müde :)

danke im vorraus

ciao

  1. Hi, die eine frage noch nicht beantwortet habe ich schon die nächste aber will halt net noch nen thread aufmachen.

    Warum geht das nicht ? Wie kann ich das anders lösen ? <xsl:call-template name="name()"/>

    Mfg

    1. Hi,

      Hi, die eine frage noch nicht beantwortet habe ich schon die nächste aber will halt net noch nen thread aufmachen.
      Warum geht das nicht ? Wie kann ich das anders lösen ?
      <xsl:call-template name="name()"/>

      Hm, hier würde ich mal name="{name()}" versuchen - sonst wird ja name() wörtlich genommen...

      cu,
      Andreas

      --
      MudGuard? Siehe http://www.Mud-Guard.de/
      Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  2. Hi,

    <xsl:with-param name="title" select="information/*[name() != 'debugmessage' and name() != 'user' and name() != 'date']/name()"/>
    Wie man vielleicht sehn kann will ich das Element (kann nur eins vorkommen) unter information selektieren dass nicht gleich debugmessage user oder date heißt. Der Name des Elementes ist dabei dynamisch. Und genau diesen dynamischen Namen des 4. Elementes will ich haben.

    Dann müßtest Du m.E. den Knoten als Argument der name-Funktion verwenden:

    <xsl:with-param name="title" select="name(information/*[name() != 'debugmessage' and name() != 'user' and name() != 'date'])"/>

    Dein Konstrukt läuft ja, wenn man mal die [] wegläßt, auf information/*/name() raus, würde also den Namen eines Enkels von information liefern.

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.Mud-Guard.de/
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  3. Hallo,

    <xsl:with-param name="title" select="information/*[name() != 'debugmessage' and name() != 'user' and name() != 'date']/name()"/>

    Wie man vielleicht sehn kann will ich das Element (kann nur eins vorkommen) unter information selektieren dass nicht gleich debugmessage user oder date heißt. Der Name des Elementes ist dabei dynamisch. Und genau diesen dynamischen Namen des 4. Elementes will ich haben. Hoffe ihr versteht was ich will und könnt mir weiterhelfen.

    Na ja hilfreich wäre der Kontext von width-param schon.

    Oben stehendes select funktioniert jedenfalls nicht ich weis aber auch nicht wie ichs anders machen soll ... vl bin ich auch einfach nur zu müde :)

    Wie der Ausdruck lauten soll, hat ja Andreas schon gesagt.

    Warum geht das nicht ? Wie kann ich das anders lösen ?
    <xsl:call-template name="name()"/>

    Weil im name-Attribut von call-templates ein QName (qualifizierte XML-Name) stehen muss, der auf einem Template mit demselben QName verweist.
    Du kannst im xsl:apply-templates im select-Attribute XPath-Ausdrücke verwenden.

    Grüße
    Thomas