我有一个像这样的样本xml:
<a>
<apple color="red"/>
<banana color="yellow"/>
<sugar taste="sweet"/>
<cat size="small"/>
</a>
我使用下面的XSLT将其转换为OWL:
然后我使用此站点(http://www.mindswap.org/2003/pellet/demo)测试结果,并生成错误“{W104}不允许使用不合格的属性元素。作为相对URI处理。错误“对我来说,OWL btw有什么问题?从我正在做的只是选择给定的文本到类,数据类型和对象。
这是输出:
答案 0 :(得分:2)
问题是如下:
<element xmlns="">apple</element>
设置一个空的默认命名空间。这是你的xslt的结果,你想要的默认命名空间没有正确的范围。尝试将其添加到xsl:stylesheet
元素。
答案 1 :(得分:1)
这会是这样的行,我想:
<element xmlns="">banana</element>
<attribute xmlns="">small</attribute>
您需要提供一个名称空间,以便element
不是非限定的XML元素,或者让xslt不生成空的xmlns
属性,以便将该元素视为相对于{ {1}}。就个人而言,我会在生成的输出中修复正确的命名空间。
<强>附录强>
但也要考虑这里的建模。具有xml:base
或small
属性的ObjectProperty实际上是什么意思? 属性本身是一个抽象的概念,既不小也不黄。