Xml 显示True Type字体个性化xslt 1.0

Xml 显示True Type字体个性化xslt 1.0,xml,ms-word,xslt-1.0,Xml,Ms Word,Xslt 1.0,这是我的xml: <SECTION_CONTENT_LIST_ITEM> <NTC_LIGHTLISTPRODUCT> <IMMUTABLE_ID>9849</IMMUTABLE_ID> <LIGHT_STRUCTURE> <STRUCTURE_DESCRIPTION>Boa \A a fuso \B segnale \C speciale \D</STRUCTURE_D

这是我的xml:

<SECTION_CONTENT_LIST_ITEM>
    <NTC_LIGHTLISTPRODUCT>
      <IMMUTABLE_ID>9849</IMMUTABLE_ID>
      <LIGHT_STRUCTURE>
        <STRUCTURE_DESCRIPTION>Boa \A a fuso \B segnale \C speciale \D</STRUCTURE_DESCRIPTION>
      </LIGHT_STRUCTURE>
    </NTC_LIGHTLISTPRODUCT>
</SECTION_CONTENT_LIST_ITEM>

9849
Boa\A A fuso\B segnale\C speciale\D
将注意力集中在“结构描述”字段上: 您可以看到:“Boa\A fuso\B segnale\C speciale\D”

根据值\A、\B、\C、\D,我的xslt代码打开一个true type字体文件,并将此\A或\B或\C或\D转换为一个特殊的不同字符

我的xslt代码:

<xsl:template name="simboli">
<xsl:param name="testo"/>
<xsl:param name="separatore"/>
<xsl:choose>
        <xsl:when test="contains($testo, $separatore)">
            <xsl:value-of select="substring-before($testo, $separatore)"/>
                <span style="font-family:lol;font-size:9pt;">
                    <xsl:value-of select= "substring(., string-length(substring-before($testo, $separatore)) +2, 1)"/>
                </span>             
                <xsl:call-template name="simboli">
                    <xsl:with-param name="testo" select="substring(substring-after($testo, $separatore), 2, string-length(substring-after($testo, $separatore)))"/>
                    <xsl:with-param name="separatore" select="$separatore"/>                        
                </xsl:call-template>
        </xsl:when>
    <xsl:otherwise>
            <xsl:value-of select="$testo"/>
    </xsl:otherwise>
</xsl:choose>   


您可以看到我使用font family=lol您有一个小错误

<xsl:value-of select= "substring(., string-length(substring-before($testo, $separatore)) +2, 1)"/>
顺便问一句:难道不是吗

<xsl:with-param name="testo" select="substring(substring-after($testo, $separatore), 2, string-length(substring-after($testo, $separatore)) - 1)"/>

要计算剩余子字符串的长度?但是,没有
-1
的版本似乎可以正常工作。:-)

<xsl:value-of select= "substring($testo, string-length(substring-before($testo, $separatore)) +2, 1)"/>
<xsl:with-param name="testo" select="substring(substring-after($testo, $separatore), 2, string-length(substring-after($testo, $separatore)) - 1)"/>