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