查找特殊字符的XML CDATA(大写L,上面带点)

查找特殊字符的XML CDATA(大写L,上面带点),xml,unicode,cdata,Xml,Unicode,Cdata,这有一些关于我需要的字符的数据(大写字母L,上面有点)。大约在这一页的一半 但我不知道如何将其转换为CDATA。例如,这里是我为X上的一个条所做的 <xsl:text disable-output-escaping="yes"><![CDATA[&#772;]]></xsl:text> 如果上面有一个点,我会为L做什么CDATA 更新,此CDATA模板是我的主要解决方案: <xsl:text disable-output-escaping=

这有一些关于我需要的字符的数据(大写字母L,上面有点)。大约在这一页的一半

但我不知道如何将其转换为CDATA。例如,这里是我为X上的一个条所做的

<xsl:text disable-output-escaping="yes"><![CDATA[&#772;]]></xsl:text>

如果上面有一个点,我会为L做什么CDATA

更新,此CDATA模板是我的主要解决方案:

<xsl:text disable-output-escaping="yes">L<![CDATA[&#775;]]></xsl:text>
L

它在浏览器中测试得很好。

您根本不需要CDATA。您只需使用

在这种情况下,CDATA用于阻止XSL引擎将字符引用转换为
。i、 e.以便
和#772被输出,而不是
L

不过,没有必要这样做,因为您可以在任何地方使用原始的

<xsl:text disable-output-escaping="yes">L̇</xsl:text>

您不需要引入CDATA节,也不需要通过禁用输出转义来解决它带来的问题。这是不必要的复杂。您输入的内容在解析为以下内容时应产生相同的信息集:

<xsl:text>L̇</xsl:text>
如果没有,那么堆栈中的Unicode问题就更严重了,例如不使用UTF-8提供输出(在这种情况下,您应该首先解决这个问题),或者使用不支持Unicode的文本编辑器(在这种情况下,您可以使用数字字符引用
L̇;
L̇;
,如果您愿意的话)

如果您看到点出现在一个意外的位置,这是浏览器/编辑器中的字体呈现问题,与XML无关。当你使用一个组合变音符号,比如macron(U+0304772)或上面的点(U+030775)来表示在任何现代语言中都没有出现的不寻常的组合,比如X-macron和L-dot,那么你使用的字体不太可能有一个很好的组合字形

取而代之的是,你会得到一个由两个形状组成的粗糙覆盖层,而不管它们是否排成一行都是运气好。最糟糕的情况是,字体根本没有用于组合字符的字形,在这种情况下,显示引擎通常会完全退回到不同的字体,这使得结果更不可能是漂亮的


一般来说,普通字体/网络浏览器在组合真实语言使用的普通变音符号方面也不是很好;尝试将此功能用于任意组合最有可能导致Z̛al͏go̸t̸e͝x҉t̷混乱。

谢谢。那个圆点偏了。我在谷歌上搜索了更多,发现这个L..775在上一封信上加了点。我想。