Join 你能做一个“回答”吗;加入;在XML模式中

Join 你能做一个“回答”吗;加入;在XML模式中,join,xsd,Join,Xsd,我很确定答案是否定的,但问也没什么坏处。有没有办法在XML模式中进行连接 这就是我的意思。您可以有员工/employee/@office\u id,xml中的其他地方有/offices/region/office/@office\u id。模式中是否有方法告诉它这两个属性相互映射 我这样做是因为这样我们就可以自动为员工获取办公室信息,而无需用户指定这种关系。加入是一个关系概念。您必须用XPATH编写等价的代码。我不相信有任何机制可以帮你。您必须获取office实例,并在代码或XSLT中对给定个人

我很确定答案是否定的,但问也没什么坏处。有没有办法在XML模式中进行连接

这就是我的意思。您可以有
员工/employee/@office\u id
,xml中的其他地方有
/offices/region/office/@office\u id
。模式中是否有方法告诉它这两个属性相互映射


我这样做是因为这样我们就可以自动为员工获取办公室信息,而无需用户指定这种关系。

加入是一个关系概念。您必须用XPATH编写等价的代码。我不相信有任何机制可以帮你。您必须获取office实例,并在代码或XSLT中对给定个人的office进行循环。

您是否询问是否可以设置一个架构,使每个员工/@office\u id都有一个对应的office/@office\u id

如果您知道可能的office 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"/>


可以使用XLINK指定XML实体之间的外部引用和连接。

是的,我们已经做到了。我想知道模式规范是否有一个指定关系的设置,以便我们可以为人们构建xpath的这一部分。这就是我所想的——但我想确保。谢谢你,我们已经有了。如果我们知道连接,它就能够为用户构造xpath的一部分。比如说,如何从元数据中自动构建SQL select中的联接。那么,您实际上是在寻找XPath表达式吗?模式与此有什么关系?不,我想问的是,模式中是否有对等的连接信息,允许我们让程序自动创建xpath的这一部分。这就是我们在SQL中所做的,读取元数据并自动构建select的join部分。哦,所以您想知道xml模式中是否有外键等价物。是的,没错。如果模式中有一个外键等价,那么我们可以自动构建xpath的那个部分。