我需要在xs:type中插入一个像属性一样的元素,同时使用xslt转换我的xml文件。
所需的输出采用以下格式
<Region xs:type="tRegion"/>
但是在xslt文件中它显示编译时错误&#34;命名空间前缀&#39; xs&#39;未定义&#34; 。但我不想在这里定义命名空间。而是添加一个冒号。
请为此问题提出解决方案。
答案 0 :(得分:2)
XSLT适用于命名空间格式良好的XML(用于输入和输出),并且本身就是格式良好的XML,因此具有带冒号的属性名称,而不能在冒号之前声明前缀的命名空间,因为 https://www.w3.org/TR/xml-names/#ns-qualnames要求:
前缀提供限定名称的名称空间前缀部分, 并且必须与命名空间中的命名空间URI引用相关联 声明
答案 1 :(得分:0)
可以通过为'xs'
添加以下定义来获得输出<Region xs:type="tRegion"/>
的xmlns:XS = “http://www.w3.org/2001/XMLSchema-instance”
感谢。