需要获取可以生成像这样的输出的XSD定义。我在引用命名空间时遇到了问题。我想在一个XSD文件中完成所有操作(不想引用其他文件)。引用XSD中的命名空间
<?xml version="1.0" encoding="UTF-8"?>
<message>
<Headerinfo>
<Element1>stuff</Element1>
<Element2>things</Element2>
</Headerinfo>
<CreateRequest xmlns="http://schemas.datacontract.org/2004/07/MyOrg.MyApp.DataContracts.MyObject" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Element3>more stuff</Element3>
<Element4>more things</Element4>
<Address xmlns:a="http://schemas.datacontract.org/2004/07/MyOrg.MyApp.DataContracts.Address">
<a:AddressLine1>123 Main Street</a:AddressLine1>
</Address>
</CreateRequest>
</message>
1 - 需要能够为CreateRequest复杂元素生成xmlns。
2 - 需要能够为地址及其简单元素生成xmlns:a。
以下是我目前使用的XSD。我相信我需要为a:record添加一个xs:scehma条目。不知道还有什么,似乎无法得到它的工作。
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
<xs:element name="message">
<xs:complexType>
<xs:sequence>
<xs:element name="Headerinfo">
<xs:complexType>
<xs:sequence>
<xs:element name="Element1" type="xs:string"/>
<xs:element name="Element2" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CreateRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="Element3" type="xs:string"/>
<xs:element name="Element4" type="xs:string"/>
<xs:element name="Address">
<xs:complexType>
<xs:sequence>
<a:element name="AddressLine1" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
我的研究也引领了我。我尝试过不合格的场景,但我不确定我还会加入什么来充分利用这一点。 – Walt 2012-02-22 19:49:10
@atalien,不幸的是,除此之外别无其他...如果您的消息是合格的,而其他元素不合格,那么您可以在一个XSD中执行此操作。如果最终引用其他名称空间中的元素/属性,那么您无法实现自己想要的功能。 – 2012-02-22 20:33:39