Ben: XML inkl HTML-Tags einlesen

Hallo!!!
ich will mit meinem xsl Daten aus einer xml darstellen,
so weit so gut.
meine XML beinhalten aber HTML-Formatierungs-Tags wie:
<xml1>
  <xmla>Das sind <b>formatierte<b> Daten</xml1a>
  <xmlb>nicht formatierte Daten</xml2a>
</xml1>

wie kann ich in mein xsl die Werte der Tags <xmla> und <xmlb> ausgeben?

danke
Ben

  1. Hallo!!!
    ich will mit meinem xsl Daten aus einer xml darstellen,
    so weit so gut.
    meine XML beinhalten aber HTML-Formatierungs-Tags wie:
    <xml1>
      <xmla>Das sind <b>formatierte<b> Daten</xml1a>
      <xmlb>nicht formatierte Daten</xml2a>
    </xml1>

    wie kann ich in mein xsl die Werte der Tags <xmla> und <xmlb> ausgeben?

    danke
    Ben

    Hi,

    Erstmal 2 Fehler:
    hinter formatierte muss das </b>-Tag stehen, statt dem <b>-Tag
    und
    <xmlb>nicht formatierte Daten</xml2a>
    muss so heissen:
    <xmlb>nicht formatierte Daten</xmlb>

    ist <xml1> dein Root-Element, entweder bezogen auf die gesamte XML-Datei oder auf das aktuelle template, dann solltest du ganz einfach über: <xsl:value-of select="xmlb" />
    an den Text herankommen, der zwischen den beiden Tags steht.
    Ansonsten schau bei www.w3.org vorbei, da sind alle xsl und xPath-Befehle beschrieben und als super Buch kann ich dir XML in a Nutshell empfehlen.
    Ist grad in der 2nd Edition in englisch rausgekommen, die deutsche Version sollte auch demnächst auf den Markt kommen.

    mfg Seppo

  2. Hallo Ben,

    Hallo!!!

    Klemmt deine Tastatur?

    ich will mit meinem xsl Daten aus einer xml darstellen,
    so weit so gut.
    meine XML beinhalten aber HTML-Formatierungs-Tags wie:
    <xml1>
      <xmla>Das sind <b>formatierte<b> Daten</xml1a>
      <xmlb>nicht formatierte Daten</xml2a>
    </xml1>

    wie kann ich in mein xsl die Werte der Tags <xmla> und <xmlb> ausgeben?

    für <xmlb> wurde schon gesagt:
    <xsl:value-of select="xmla" />

    für xml kommt es darauf an ob du die html formatierung in der seite haben willst, oder ob du 1:1 (also quelltextmäßig die daten ausgeben willst)

    ich denke du möchtest die erste variante. da muss du genauso wie für die anderen elemente auch für <b> ein templates machen.

    du könntest es auch z.B. so machen:
    <xsl:template match="xmla">
    <p><xsl:copy-of select="./" /></p>
    </xsl:template>
    aber da würde dir so einen code in die html seite schreiben:
          <p>
             <xmla>Das sind <b>formatierte</b> Daten</xmla>
          </p>

    ------
    grüße
    thomas