【问题标题】:How do I declare an Name in XSD from XML如何从 XML 在 XSD 中声明名称
【发布时间】:2021-02-09 19:22:24
【问题描述】:

我对编写 XSD 架构还很陌生,我只是想寻求一些帮助。当我检查我的 XSD 格式时,我得到了错误

Cvc-elt.1.a: Cannot Find The Declaration Of Element 'interface'., Line '1', Column '32'.

我似乎无法理解我如何声明接口的名称。 下面是 XML 代码,下面是我目前写的 XSD 代码。

如果有人对我如何看待导入和返回有任何其他指示或知识,我将非常感激。

【问题讨论】:

  • 你的 XSD 完全没用。
  • 是的,我试图先摆脱那个错误。还是我需要更多的 XSD 来声明接口。

标签: xml xsd schema


【解决方案1】:

检查一下。

XSD

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:element name="interface">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="package"/>
        <xs:element ref="extends"/>
        <xs:element maxOccurs="unbounded" ref="import"/>
        <xs:element maxOccurs="unbounded" ref="abstract_method"/>
      </xs:sequence>
      <xs:attribute name="id" use="required" type="xs:NCName"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="package" type="xs:NCName"/>
  <xs:element name="extends">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="from"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="from" type="xs:NCName"/>
  <xs:element name="import" type="xs:string"/>
  <xs:element name="abstract_method">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="access_level"/>
        <xs:element ref="arguments"/>
        <xs:element minOccurs="0" ref="throws"/>
        <xs:element ref="return"/>
      </xs:sequence>
      <xs:attribute name="name" use="required" type="xs:NCName"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="access_level" type="xs:NCName"/>
  <xs:element name="arguments">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="parameter"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="parameter">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:NCName">
          <xs:attribute name="type" use="required" type="xs:NCName"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="throws">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="exception"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="exception" type="xs:NCName"/>
  <xs:element name="return" type="xs:NCName"/>
</xs:schema>

【讨论】:

  • @EthanBeardsley。很高兴听到它对你有用。请不要忘记将其标记为答案。
  • @EthanBeardsley,发生了什么?突然之间,您将其取消标记为答案?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多