2008-09-17 3 views
5

Ich habe ein Xslt Blatt mit einem ähnlichen Text unten:Wie formatiere ich Text zwischen xsl: Text-Tags?

Ich würde einige Text fett sein mögen, aber das funktioniert nicht.

<xsl:text>I am some text, and I want to be <strong>bold<strong></xsl:text> 

Das veraltete b-Tag funktioniert auch nicht. Wie formatiere ich Text in einem xsl: text-Tag?

+0

BeerDNA, hast du gerade diese Frage bearbeitet, um spitze Klammern zu entfernen, die falsch angezeigt werden? –

+0

Ich hatte vergessen, die Code-Tags um ihn herum und alles war verstümmelt und die Formatierung war schrecklich für etwa die ersten 90 Sekunden des Lebens. Entschuldige dich bei denen, die schnell geklickt haben und den Müll gesehen haben. – BrewinBombers

Antwort

7

Sie nicht. xsl:text kann nur Textknoten enthalten und <strong> ist ein Elementknoten, keine Zeichenfolge, die mit einem Kleiner-als-Zeichen beginnt; Bei XSLT geht es darum, Knotenbäume zu erstellen, nicht Markups. Also müssen Sie tun

<xsl:text>I am some text, and I want to be </xsl:text> 
<strong>bold<strong> 
<xsl:text> </xsl:text> 
4

Versuchen Sie folgendes:

<fo:inline font-weight="bold"><xsl:text>Bold text</xsl:text></fo:inline> 
+0

Das Plakat wollte ein starkes Element ausgeben, nicht XSL FO verwenden. Außerdem funktioniert das nicht. xsl: text kann nur Textknoten erstellen. – jelovirt

+0

Nun, Poster hat nichts über XSL gesagt: FO, aber du hast recht xsl: Text sollte innerhalb von fo sein: inline – aku

+2

Das hat funktioniert: Katalognummer: Cristy

3

< xsl: text disable-output-escaping = "yes" > Ich möchte < sein stark > fett <stark> </xsl: text >

0

XSL-FO Formatierung sollte in der Lage sein, das zu tun, finden Sie in der W3Schools tutorial.

+1

Das Problem ist nicht versuchen, HTML zu generieren, das Problem ist der Missbrauch von xsl: Text. – jelovirt

0

Allerdings denke ich nicht [mit disable-output-escaping] diese Problemumgehung ist der beste Weg, um gehen. Vielleicht könntest du mehr von w3schools 'Crashkurs auf XLS lernen.

Konnten Sie genauer über warum sein? Diese Verbindung zu einem Crash-Kurs ist nett, hilft aber nicht bei dem speziellen Problem, das der Fragesteller lösen möchte. Ich denke, dass die Verwendung von XSL-FO für seine Bedürfnisse zu komplex sein könnte.

0

Die Antwort hängt davon ab, wie viel Formatierung im Inhalt benötigt wird, und auch, wo Sie bekommen Inhalte aus. Wenn Sie weniger Inhalt haben und weniger Formatierung dann können Sie verwenden, was jelovirt vorgeschlagen

<xsl:text>I am some text, and I want to be </xsl:text> 
<strong>bold<strong> 
<xsl:text> </xsl:text> 

Allerdings, wenn Ihr Inhalt große Formatierung hat dann was David Medinets schlägt besserer Weg ist, es zu tun

<xsl:text disable-output-escaping="yes"> 

Wir haben einige Anweisungen zum Drucken auf der Benutzeroberfläche. Die Menge der Anweisungen ist riesig und natürlich lesen wir diese aus der XML-Datei.

In solchen Fällen ist die obige Methode einfach zu bedienen und zu warten. Das liegt daran, dass der Inhalt von technischen Redakteuren bereitgestellt wird. Sie haben keine Kenntnisse über XSL. Sie wissen, dass sie HTML-Tags verwenden und sie können die XML-Datei einfach bearbeiten.