Word XML - XSLT в HTML - PullRequest
       6

Word XML - XSLT в HTML

3 голосов
/ 29 июня 2011

У меня есть файлы Word XML, которые я конвертирую в html с использованием файла XLST.Мне нужно конвертировать символы Wingdings в Word в Unicode во время конвертации.У меня есть следующий код в моем XSLT:

<xsl:template match="w:sym">
    <xsl:choose>          
        <xsl:when test="@w:char='F0FE'">
            <span>&#9745</span>
        </xsl:when>            
        <xsl:when test="@w:char='F054'">
            <span>&#9746</span>
        </xsl:when>
        <xsl:otherwise>
            <span>
                <xsl:attribute name="style">
                    font-family:<xsl:value-of select="@w:font"/>
                </xsl:attribute>
                <xsl:choose>
                    <xsl:when test="starts-with(@w:char, 'F0')">
                        <xsl:text disable-output-escaping="yes">&amp;</xsl:text>#x<xsl:value-of select="substring-after(@w:char, 'F0')"/><xsl:text>;</xsl:text>
                    </xsl:when>
                    <xsl:when test="starts-with(@w:char, 'f0')">
                        <xsl:text disable-output-escaping="yes">&amp;</xsl:text>#x<xsl:value-of select="substring-after(@w:char, 'f0')"/><xsl:text>;</xsl:text>
                    </xsl:when>
                    <xsl:otherwise>
                        <xsl:text disable-output-escaping="yes">&amp;</xsl:text>#x<xsl:value-of select="@w:char"/><xsl:text>;</xsl:text>
                    </xsl:otherwise>
                </xsl:choose>
            </span>
        </xsl:otherwise>
    </xsl:choose>
</xsl:template>

Моя проблема заключается в том, что я получаю сообщение об ошибке в Microsoft Web Developer Express с блоками span, указывающими недопустимый символ в десятичном числе.Любые идеи о том, как еще использовать символы Юникода и сделать их правильно преобразовать в HTML?

1 Ответ

3 голосов
/ 29 июня 2011

Да, у вас должна быть точка с запятой после числа, иначе они не будут символьными объектами.

А почему вы видите "?" вместо реальных глифов это зависит от того, содержит ли шрифт, используемый программой (MS Web Developer Express?), глифы для используемых кодовых точек. Ваши данные могут быть правильными, но не каждый шрифт или программа сможет отображать все символы.

На этой странице перечислены некоторые шрифты, которые поддерживают символ Unicode 9745 (x2611). Ваш браузер показывает это как: ☑

...