我真的需要帮助创建一个xsd,我是xml的新手并搜索但无法弄清楚问题是什么。我需要创建这个模式,以便稍后我可以将它们上传到两个表Tmp_Action和tmp_Domains。 ActionGUID是tmp_Domain的外键。
以下是我的示例数据:
<ROOT>
<Action>
<GUID>68e29804-299e-4dc5-a22e-b652be5de8f1</GUID>
<ActionType>Scan</ActionType>
<StartTime>2014-06-13T16:02:27</StartTime>
<EndTime>2014-06-14T05:27:37</EndTime>
<Domain>
<Name>DEVTEST</Name>
<ParentName></ParentName>
<DNSRoot>abcd</DNSRoot>
<NCName>efgh</NCName>
<TreeName></TreeName>
<DisplayName></DisplayName>
<WhenChanged>2014-04-01T08:03:45</WhenChanged>
<USNChanged>16411</USNChanged>
</Domain>
</Action>
</ROOT>
这是我正在创建的架构:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:annotation>
<xsd:appinfo>
<sql:relationship name="ActionActionDomain"
parent="Action"
parent-key="GUID"
child="Domain"
child-key="ActionGUID" />
</xsd:appinfo>
</xsd:annotation>
<xsd:element name="ROOT" sql:is-constant="1" >
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Action" sql:relation="Tmp_Action" >
<xsd:complexType>
<xsd:sequence>
<xsd:element name="GUID" type="xsd:string" />
<xsd:element name="ActionType" type="xsd:string" />
<xsd:element name="StartTime" type="xsd:dateTime" />
<xsd:element name="EndTime" type="xsd:dateTime" />
<xsd:element name="Domain"
sql:relation="ActionDomain"
sql:relationship="ActionActionDomain" >
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Name" type="xsd:string" />
<xsd:element name="ParentName" />
<xsd:element name="DNSRoot" type="xsd:string" />
<xsd:element name="NCName" type="xsd:string" />
<xsd:element name="TreeName" />
<xsd:element name="DisplayName" />
<xsd:element name="WhenChanged" type="xsd:dateTime" />
<xsd:element name="USNChanged" type="xsd:unsignedShort" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
我得到的错误是'Domain'上关系的父/子表不匹配。
任何人都可以帮我这个吗? 非常感谢!