我正在使用XLST文件将XML转换为XML.
什么是空间的有效表示?
<xsl:text> </xsl:text>
<xsl:text> </xsl:text>
<xsl:text> </xsl:text>
Run Code Online (Sandbox Code Playgroud)
Tom*_*lak 17
XML没有任何命名实体之外<,>,",'和&.
鉴于您在XML声明中声明了正确的编码(例如<?xml version="1.0" encoding="..." ?>),所有其他字符都可以逐字表示.声明UTF-8是可选的,因为这是默认值.
换句话说:没有必要在任何地方专门转义任何字符,除非将其转义为非语法会破坏XML语法规则(如<或&将会).
你当然可以自由地逃避你想要的任何角色.
就结果文件而言,这些陈述是等效的:
<foo>Test Test</foo>
<foo>Test Test</foo>
<foo>Test Test</foo>
<foo>Test Test</foo><!-- given that the " " really is char code 160 -->
Run Code Online (Sandbox Code Playgroud)
请注意,您可以nbsp使用DOCTYPE 声明自定义命名实体(例如).
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp " ">
]>
Run Code Online (Sandbox Code Playgroud)
但鉴于XML接受任何几乎不需要的字符.特别是当您使用适当的工具(如DOM API)创建文档时.
小智 5
与问题相关,将导致解析错误的所有实体添加到*.xls样式表的DOCTYPE中.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp " ">
]>
<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
Run Code Online (Sandbox Code Playgroud)
现在您可以像平常一样使用 .