2016-06-27 48 views
0

示例XML:XSL FO - 檢測char和更換

<Title>Test Δ Test</Title> 

這是我在我的XSL:

<xsl:apply-templates select="Title"/> 

我需要編寫一個模板,將匹配三角洲字符(例如)並將符號替換爲:<fo:inline font-family="Symbol">Δ</fo:inline>

任何幫助將不勝感激!

+3

您可以指定在'字體family'屬性值多種字體的家庭。 (請參閱https://www.w3.org/TR/xsl11/#font-family)如果只是將「',Symbol」「添加到適用於」標題「的任何」font-family「值,問題是否消失? ? –

+0

我不知道你可以做到這一點。很簡單。我使用font-family =「Helvetica,Symbol」,它工作。謝謝! – Wolf

回答

0

在模板的模板名稱,您可以添加該代碼來檢測三角洲實體:

<xsl:analyze-string select="." regex="&#916;"> 
    <xsl:matching-substring> 
     <fo:inline font-family="Symbol"><xsl:text>&#916;</xsl:text</fo:inline> 
    </xsl:matching-substring> 
    <xsl:non-matching-substring> 
     <xsl:value-of select="."/> 
    </xsl:non-matching-substring> 
    </xsl:analyze-string>