2008-09-17 24 views
5

私は以下に似たいくつかのテキストとXSLTのシートがあります。xsl:textタグの間でテキストを書式設定するにはどうすればよいですか?

を私はいくつかのテキストを太字になりたいが、これは動作しません。

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

廃止予定のbタグも機能しません。 xsl:textタグ内でテキストを書式設定するにはどうすればよいですか?

+0

BeerDNA、あなたは間違っているかっこを削除するためにこの質問を編集しましたか? –

+0

私はそれの周りにコードタグを置くことを忘れて、すべてが文字化けして、フォーマットは人生の最初の90秒ほどひどいものでした。すぐにクリックしてゴミを見た人にお詫び申し上げます。 – BrewinBombers

答えて

7

あなたはしません。 xsl:textにはテキストノードしか含めることができず、<strong>は要素ノードであり、小文字で始まる文字列ではありません。 XSLTは、マークアップではなくノードツリーの作成に関するものです。だから、あなたはする必要があります

4

これを試してみてください:

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

ポスターがXSL FOを使わずに強い要素を出力したかった。それ以外に、これはうまくいかない。 xsl:textはテキストノードのみを作成できます。 – jelovirt

+0

さて、ポスターはXSL:FOについて何も言っていませんが、あなたは正しいと思います。xsl:テキストはfo:inlineの内側にあるべきです。 – aku

+2

これはうまくいきました:カタログ番号: Cristy

3

<のxsl:テキスト無効にする出力エスケープ= "yes" を私は<になりたい>強い>大胆<強い> </XSL:テキスト>

0

XSL-FOの書式は、W3Schoolsのtutorialを参照してください、それを行うことができるはずです。

+1

問題はHTMLを生成しようとしていないため、問題はxsl:textの悪用です。 – jelovirt

0

しかし、私は[disable-output-escapingを使用して]この回避策は への最善の方法ではないと思います。おそらく、あなたはXLSのw3schoolsのクラッシュコースからもっと学ぶことができます。

具体的な理由はありますか。クラッシュコースへのリンクは素晴らしいですが、質問者が解決したい特定の問題には役立ちません。私は、XSL-FOを使うことは、彼のニーズにはあまりにも複雑かもしれないと感じています。

0

この答えは、どのような書式設定がコンテンツに必要なのか、コンテンツの入手先によって異なります。あなたが少ないコンテンツと少ないの書式を持っている場合 は、あなたはあなたのコンテンツが、その後何デビッドMedinetsが示唆することは、それを私たちは持っている

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

を行うには良い方法大規模な書式設定をされた場合は

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

を示唆したものをjelovirt使用することができますUIに印刷するための指示。命令のセットは膨大であり、もちろんそれらをXMLファイルから読みます。

このような場合、上記の方法は使いやすくメンテナンスも簡単です。これは、コンテンツがテクニカルライターによって提供されているためです。彼らはXSLの知識がありません。彼らはHTMLタグの使用を知っており、XMLファイルを簡単に編集することができます。

関連する問題