Announcement

Collapse
No announcement yet.

bestimmtes Wort färben

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

  • bestimmtes Wort färben

    Hallo, ich habe einen Text (Block-Element) und der enthält eine Reihe von Wörtern, darunter auch mehrfach ein ganz bestimmtes, welches ich gerne einfärben würde. Mir ist egal wie es gelöst wird, Hauptsache ist, das man bedenkt, das sich das Word eben in einem BLOCK-Element befindet. Das heißt ich kann nicht in meiner XML-Datei schreiben
    <element>blablabla</element><wichtig>Spezialwort</wichtig><element>blablablafortsetzung</element>
    weil das in 3 Zeilen resultieren würde:
    blablabla
    Spezialwort
    blablablafortsetzung

    was ich möchte ist:
    blablabla Spezialwort blablablafortsetzung

  • #2
    Hi,

    Vorschlag schreib, dass doch so in der XML Datei!

    <satz>der einfache Satz. das Spezialwort ist
    <spezialWort>MOND</spezialWort>
    und hier geht der Satz weiter.
    </satz>

    Willst du nur die Ausgabe färben oder willst du in ein anderes Format umwandeln?

    Gruß

    Comment


    • #3
      Sorry, habe die Lösung in der Zwischenzeit selber gefunden. In der XML-Datei steht es tatsächlich so, aber mein Problem war, was ich in die XSLT-Datei schreiben sollte. Denn, wenn ich das Template für satz gemacht habe, dann kam darin natürlich auch vor:
      <xsl:value-of select="." /> und dabei wurde Mond dann mit ausgegeben. Ich wusste nicht, wie ich spezial auf SpezialWort zugrefreifen konnte. Denn wenn ich nach value-of noch ein apply-templates gesetzt hätte, dann wäre Mond einfach nach dem Text von satz angezeigt worden, zwar in der anderen Farbe, aber das hätte mir dann auch nichts gebracht. Ich habe jetzt folgende Lösung gewählt.

      XML-Ausschnitt
      <satz>der einfache Satz. das Spezialwort ist
      <spezialWort>MOND</spezialWort>
      und hier geht der Satz weiter.
      </satz>

      XSLT-Ausschnitt
      <xsl:template match="satz">
      <p><xsl:apply-templates /></p>
      </xsl:template>

      <xsl:template match="spezialWort">
      <span class="blue"><xsl:value-of select="." /></span>
      </xsl:template>

      Ausgabe:
      der einfache Satz. das Spezialwort ist MOND und hier geht der Satz weiter.

      was .blue für eine Klasse ist steht dann in der CSS-Datei

      Warum das genau so funktioniert, wie ich es wollte, weiß ich nicht, ich nehme an, das irgendein Standard-Template an dieser Stelle greift und den Text so ausgibt, auf jeden Fall scheint das die Lösung zu sein.
      Zuletzt editiert von tinko; 28.01.2008, 11:56. Reason: Vollständigkeit

      Comment


      • #4
        Auch hallo.

        Da kann ein Blick unter http://de.selfhtml.org/xml/darstellung/xsltelemente.htm weiterhelfen, speziell dem Beispiel zu apply_templates.xml

        kleiner Nachtrag: Antworten zu spät gesehen....
        MfG
        Cheat-Sheets for Developers / Programming Quotes

        Comment

        Working...
        X