0
我有類似的問題:Using XSLT to create XSL-FO with nested bold/italic tags。我想要檢測XML文本中的<italic>
和<bold>
標記,並將其標記爲使用XSLT格式化。 我試過它像其他問題的解決方案,但它似乎不適合我。我錯過了什麼?使用xpath和/或xsl-fo格式化斜體/粗體標記
這是我的XML結構:
<bibliography>
<type1>
Some text and <italic>italic Text</italic> and <bold>bold text</bold>
</type1>
<type2>
Some text and <italic>italic Text</italic> and <bold>bold text</bold>
</type2>
</bibliography>
這XSL工作,但沒有<italic>
或<bold>
標籤:
<xsl:template match="/bibliography/*">
<p>
<div class="entry{@type}">
[<xsl:number count="*"/>]
<xsl:apply-templates/>
</div>
</p>
</xsl:template>
這是我試圖用我的XML結構的解決方案:
<xsl:template match="/bibliography/*">
<p>
<div class="entry{@type}">
[<xsl:number count="*"/>]
<xsl:apply-templates/>
</div>
</p>
</xsl:template>
<xsl:template match="/">
<div class="entry{@type}">
<p>
<fo:root>
<fo:page-sequence>
<fo:flow>
<xsl:apply-templates select="bibliography"/>
</fo:flow>
</fo:page-sequence>
</fo:root>
</p>
</div>
</xsl:template>
<xsl:template match="italic">
<fo:inline font-style="italic">
<xsl:apply-templates select="node()"/>
</fo:inline>
</xsl:template>
<xsl:template match="bold">
<fo:inline font-weight="bold">
<xsl:apply-templates select="node()"/>
</fo:inline>
</xsl:template>
我讀過XSL-Fo僅適用於PDF而不適用於HTML。這是否意味着沒有選項可以將fo對象導出爲HTML?在沒有XSL-FO的情況下,是否可以添加''和''? –
Peter
xsl-fo通常用於輸出HTML。如果你想在瀏覽器中顯示結果,只需修改它來輸出HTML標籤。我看到你已經爲此提出了另一個問題,我用這個答案的一個變體來回答。我希望它有幫助。 –