小编Pet*_*nes的帖子

改变XML源文件中的xpath-default-namespace

我有一组XML文件,我正在使用XSL转换处理.它们有一个默认的命名空间,所以我的XSL转换必须包含声明:

XPath的默认名称空间= "瓮:CZ-RVV-IS-VAV-XML-NS:数据1.2.2"

问题是这个值不时变化,我的变换突然停止工作,直到我从新文件中查看一个例子,提取这个命名空间ID并将其放入变换中,从而转换停止对旧文件起作用.有没有办法将其作为参数传递,或者在运行时以某种方式设置它?我已经尝试了在各种教程中查找的参数语法,但没有一个适用于此特定用途.

我搜索了各种各样的论坛,发现了对XSL的命名空间不可知编码的引用,但没有弄清楚如何去做.Ian Williams的书"XSLT和Xpath"声明必须声明默认命名空间,或者输出流中没有任何内容,这就是它对我有用的方式.但是我真的不想经常手工改变这个,我想给用户一些有用的东西,而不需要我的关注.

到目前为止,我发明的唯一100%可靠的方法是使用标准编程语言将XML源和XSL转换作为文本文件打开,从XML源提取URI,将其粘贴到XSL转换中,关闭两个文件和然后,最后运行实际的转换.这很有效,但令人难以置信的是,至少根据我的口味.如何更好地处理更改默认命名空间?

皮特

xslt xpath default namespaces transform

3
推荐指数
1
解决办法
1890
查看次数

标签 统计

default ×1

namespaces ×1

transform ×1

xpath ×1

xslt ×1