我使用一些工具从我的.xml文件生成.xsd。但是我总是得到3.xsd文件作为输出,它们相互引用。我只需要一个.xsd文件,这就是为什么我开始自己构建它的原因。但我是个新手,所以我需要你的帮助。
这是我的xml文件:
<testxml xmlns="https://localhost:8443/ns0"
xmlns:ns7="https://localhost:8443/ns7"
xmlns:ns9="https://localhost:8443/ns9"
xmlns:ns3="https://localhost:8443/ns3">
<NotificationMessage>
<SubscriptionReference>
<ns3:Address>https://localhost:8443/</ns3:Address>
</SubscriptionReference>
<Message>
<ns9:SubmitObjectsRequest>
<ns7:RegistryObjectList>
<ns7:ExtrinsicObject>
<ns7:Classification>
<ns7:Slot name="slot1">
<ns7:ValueList>
<ns7:Value>Slot_1</ns7:Value>
</ns7:ValueList>
</ns7:Slot>
<ns7:Name>
<ns7:LocalizedString value="Classification Slot_1"/>
</ns7:Name>
</ns7:Classification>
<ns7:ExternalIdentifier>
<ns7:Name>
<ns7:LocalizedString value="ExternalIdentifier_1"/>
</ns7:Name>
</ns7:ExternalIdentifier>
</ns7:ExtrinsicObject>
</ns7:RegistryObjectList>
</ns9:SubmitObjectsRequest>
</Message>
</NotificationMessage>
</testxml>
这是我自己创建的"my“xsd文件的结果。我真的不知道我是否正确地构建了三个名称空间。有没有人能告诉我这看起来不错还是有很多错误?谢谢!
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:ns7="https://localhost:8443/ns7"
xmlns:ns9="https://localhost:8443/ns9"
xmlns:ns3="https://localhost:8443/ns3"
attributeFormDefault="unqualified"
elementFormDefault="qualified"
targetNamespace="https://localhost:8443/ns0"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="testxml">
<xs:complexType>
<xs:sequence>
<xs:element name="NotificationMessage">
<xs:complexType>
<xs:sequence>
<xs:element name="SubscriptionReference">
<xs:complexType>
<xs:sequence>
<xs:element ref="ns3:Address" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Message">
<xs:complexType>
<xs:sequence>
<xs:element ref="ns9:SubmitObjectsRequest">
<xs:complexType>
<xs:sequence>
<xs:element ref="ns9:RegistryObjectList">
<xs:complexType>
<xs:sequence>
<xs:element ref="ns7:ExtrinsicObject">
<xs:complexType>
<xs:sequence>
<xs:element ref="ns7:Classification">
<xs:complexType>
<xs:sequence>
<xs:element ref="ns7:Slot">
<xs:complexType>
<xs:sequence>
<xs:element ref="ns7:ValueList">
<xs:complexType>
<xs:sequence>
<xs:element ref="ns7:Value"
type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name"
type="xs:string"
use="required" />
</xs:complexType>
</xs:element>
<xs:element ref="ns7:Name">
<xs:complexType>
<xs:sequence>
<xs:element ref="ns7:LocalizedString">
<xs:complexType>
<xs:attribute name="value"
type="xs:string"
use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="ns7:ExternalIdentifier">
<xs:complexType>
<xs:sequence>
<xs:element ref="ns7:Name">
<xs:complexType>
<xs:sequence>
<xs:element ref="ns7:LocalizedString">
<xs:complexType>
<xs:attribute name="value"
type="xs:string"
use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
发布于 2019-01-07 07:52:13
在安装了BizTalk软件开发工具包的Visual Studio2013中打开您的架构时出现警告
运行验证模式时,我收到两个额外的警告
警告BEC999:无法在此架构中引用命名空间'https://localhost:8443/ns3‘。
警告BEC999:无法在此架构中引用命名空间'https://localhost:8443/ns9‘。
错误BEC3001:如果ref存在,则、nillable、default、fixed、form、block和type中的所有内容都必须缺失。
基本上,这个错误告诉您,如果您有一个ref="something“,那么您就不应该在该元素下将其定义为复杂类型,而应在以后将其定义为类型。
但我认为你正在尝试做的事情是不受支持的(参见可能的duplicate)。
https://stackoverflow.com/questions/54043266
复制相似问题