XSL中disable-output-escaping的使用
??? disable-output-escaping是XSL中的重要属性,用于指示是否将escaping(转义字符如:&<>) 作为xml进行解析。
<description><![CDATA[Ferris & <a href="http://willa.com">Willa</a>]]></description>
?? 此时,如果disable-output-escaping="no",则显示:Ferris & <a href="http://willa.com">Willa</a>
???disable-output-escaping="yes",则显示:Ferris & Willa
? 2.在XML元素中的text中不能还有独立的&字符,否则会报错。
?
??? 在<![CDATA[? ]]>中可以随便写什么,且如果d-o-e="no"时所写的就是将来所看到的,当d-o-e="yes"时会将其中的标签(<a href="#">Willa</a>)解析为html标签进行显示,将<a>Willa<a>这样的转义过的字符串显示为<a>Willa</a>。
?
??? 在元素中不能单独写特殊符号(写&,<会报错),且在元素中直接写的标签(<a href="#">Willa</a>)将作为XML节点解析,当试图去获取当前节点中的文本时,将得到Willa而不是<a href="#"></a>。在元素中的转义过的字符串,当d-o-e="yes"时将被解析为字符串代表的html内容,否则被解析为字符串本身。
?
??? 在应用开发中,经常会遇到对字符串中的特殊字符进行转换,如将&转换为& ,将<转换为<。需要注意的是,后台如果进行过这样的转换,那么在包含字符串时,就避免使用<![CDATA[? ]]>,否则前台读取到的结果就是<&等转义后的字符串。