首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从xml文件构建xsd?

如何从xml文件构建xsd?
EN

Stack Overflow用户
提问于 2019-01-05 01:07:00
回答 1查看 83关注 0票数 0

我使用一些工具从我的.xml文件生成.xsd。但是我总是得到3.xsd文件作为输出,它们相互引用。我只需要一个.xsd文件,这就是为什么我开始自己构建它的原因。但我是个新手,所以我需要你的帮助。

这是我的xml文件:

代码语言:javascript
复制
    <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文件的结果。我真的不知道我是否正确地构建了三个名称空间。有没有人能告诉我这看起来不错还是有很多错误?谢谢!

代码语言:javascript
复制
    <?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>
EN

回答 1

Stack Overflow用户

发布于 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)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54043266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档