我需要获得所有owl:NamedIndividual
个节点,这些节点的子rdf:type
具有属性"some-attr"
。
<owl:NamedIndividual rdf:about="some-text">
<rdf:type rdf:resource="some-attr"/>
...
</owl:NamedIndividual>
问题是前缀(owl,rdf) - 我在其他情况下使用local-name()函数来解决这个问题,但我不知道如何在属性的情况下应用它。
我尝试过这种方式(问题出在@
我希望):
/*[local-name()='NamedIndividual'][local-name()='type'[local-name()='@resource'='some-attr']]/
答案 0 :(得分:2)
@*[local-name() = 'resource' and . = 'some-attr']
选择本地名称为resource
且值为some-attr
的属性。所以把它放在你的路径表达式中:
/*[local-name()='NamedIndividual']
[*[local-name()='type' and @*[local-name() = 'resource' and . = 'some-attr']]]