我不是一个大的XSD专家..所以我用XSD.EXE快速生成一些XSD,我需要再调整他们一点(minOccur等)。xsd.exe生成两个文件,如何将它们合并为一个?
但现在它已经创建了两个XSD文件,主要的和一个额外的一个,其中定义了一个复杂的类型。我怎么能把它们混在一起?我尝试了一段时间,但不断收到编译错误。
这里是他们的样子:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:app1="urn:ietf:params:xml:ns:xmpp-bind">
<xs:import namespace="urn:ietf:params:xml:ns:xmpp-bind" schemaLocation="Binding_app1.xsd" />
<xs:element name="iq">
<xs:complexType>
<xs:sequence>
<xs:element ref="app1:bind" />
</xs:sequence>
<xs:attribute name="id" type="xs:string" />
<xs:attribute name="type" type="xs:string" />
<xs:attribute name="to" type="xs:string" />
</xs:complexType>
</xs:element>
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="iq" />
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
和
<?xml version="1.0" standalone="yes"?>
<xs:schema targetNamespace="urn:ietf:params:xml:ns:xmpp-bind" xmlns:mstns="urn:ietf:params:xml:ns:xmpp-bind" xmlns="urn:ietf:params:xml:ns:xmpp-bind" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified" xmlns:app1="urn:ietf:params:xml:ns:xmpp-bind">
<xs:element name="bind">
<xs:complexType>
<xs:sequence>
<xs:element name="resource" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
谢谢!
会发生什么,当你(一)删除'XS:从主文件import',和(b)只用元素替换来自第二个文件的声明(即完整的'xs:element'标签)? – 2012-03-12 21:52:56
@JimGarrison那么就不会产生/验证“的xmlns =“瓮:IETF:PARAMS:XML:NS:XMPP协议捆绑”在绑定元素属性 – 2012-03-12 22:24:47