0


libxsltを使用するときにテキストとして追加するにはどうすればよいですか?
または、別の出力を生成して、Firefoxを含むすべてのブラウザでtd/title要素の改行を適切に表示するようにしますか?

私が使用するxsltコード:

<td>
    <xsl:attribute name="title">
        <xsl:for-each select="input/item">
            <xsl:if test="position()!=1"><xsl:text>&#xD;</xsl:text></xsl:if>:<xsl:value-of select="."/>
        </xsl:for-each>
    </xsl:attribute>
</td>

これは、Saxon9heを適用するときに正常に機能します。たとえば、

<td title="item1&#xD;item2&#xD;item3"/>

しかし、libxslt(phpの一部を)XSLT 1.0プロセッサとして使用し、上記と同じコードを実行すると、結果ファイルに実際の改行が含まれます。

<td title="item1
item2
item3"/>

Firefoxでツールチップが正しく表示されない(改行なし)。

したがって、次のようにdisable-output-escaping属性を追加する必要があると想定しました。<xsl:text>

<xsl:text disable-output-escaping="no">&#xD;</xsl:text>

しかし、これは効果がありません。

4

1 に答える 1

0

したがって、コメントとテストからの結論は、Firefoxのバグですが、すべてのバージョンではないということです。9.01は表示されません&#xD。右; 10.0はラインフィードを表示しませんが&#xD;、ラインフィードとして表示し、12.0/13.0は両方を正しく表示します。

名探偵コナン

于 2012-06-17T19:08:19.040 に答える