0

我需要保留属性中的所有空格,如

<img src="images/some     image.jpg"/>

所有空格对于查找图像都很重要。

我使用 saxon 处理器使用如下表达式解析 xml:

declare boundary-space preserve;
string($mydoc/html/body/div/a/img/@src)

但结果是

images/some image.jpg

我希望有人可以提供帮助,因为这似乎很容易。

阿兰

4

2 回答 2

1

您的属性中有多个空格还是制表符?如果它是一个选项卡,XML 解析器会自动将其替换为一个空格(请参阅规范中的“属性值规范化”)。

如果它是多个空格,我认为将其替换为单个空格的唯一方法是,如果属性在 DTD 中定义为 CDATA 以外的类型 - 这似乎不太可能。

于 2013-04-09T23:14:30.977 回答
1

啊啊啊啊啊!!!问题不在于 xquery 处理。

其实我是用 Tidy 把 html 转换成 xhtml 再用 saxon 处理。Tidy 默认将选项 literal-attributes 设置为 false。

此选项指定 Tidy 是否应确保属性值中的空白字符不变地传递。

将其设置为 true 可解决问题并保留所有中间空白。

很抱歉浪费了你的时间

于 2013-04-12T08:58:23.543 回答