我需要保留属性中的所有空格,如
<img src="images/some image.jpg"/>
所有空格对于查找图像都很重要。
我使用 saxon 处理器使用如下表达式解析 xml:
declare boundary-space preserve;
string($mydoc/html/body/div/a/img/@src)
但结果是
images/some image.jpg
我希望有人可以提供帮助,因为这似乎很容易。
阿兰
您的属性中有多个空格还是制表符?如果它是一个选项卡,XML 解析器会自动将其替换为一个空格(请参阅规范中的“属性值规范化”)。
如果它是多个空格,我认为将其替换为单个空格的唯一方法是,如果属性在 DTD 中定义为 CDATA 以外的类型 - 这似乎不太可能。
啊啊啊啊啊!!!问题不在于 xquery 处理。
其实我是用 Tidy 把 html 转换成 xhtml 再用 saxon 处理。Tidy 默认将选项 literal-attributes 设置为 false。
此选项指定 Tidy 是否应确保属性值中的空白字符不变地传递。
将其设置为 true 可解决问题并保留所有中间空白。
很抱歉浪费了你的时间