我很确定这个问题的答案是否定的,但问题永远不会伤害。有没有办法在XML模式中进行连接?
这就是我的意思。您可以让employees/employee/@office_id
和xml中的其他位置/offices/region/office/@office_id
。架构中是否有一种方法可以告诉它这两个属性相互映射?
我问,因为我们可以自动为员工获取他们的办公室信息,而无需用户指定这种关系。
答案 0 :(得分:4)
JOIN是一个关系概念。您必须在XPATH中编写等效代码。我不相信有任何机制可以帮助你。你必须得到办公室实例,并在你的代码或XSLT中为特定的个人办公室循环。
答案 1 :(得分:0)
您是否在询问是否可以设置架构,以便每个员工/ @ office_id都有相应的办公室/ @ office_id?
如果你知道可能的办公室ID,你可以创建一个类似的类型:
<xsd:simpleType name="OfficeIDType">
<xsd:restriction base="xsd:integer"> <!-- or whatever type an office id is -->
<xsd:enumeration value="1"/>
<xsd:enumeration value="2"/>
<xsd:enumeration value="3"/>
</xsd:restriction>
</xsd:simpleType>
然后在声明属性时,将它们设为这种类型并且是必需的,如下所示:
<xsd:attribute name="office_id" type="OfficeIDType" use="required"/>
答案 2 :(得分:-2)
可以使用XLINK指定XML实体之间的外部引用和连接。