如何组合元素和属性?

How to combine elements and attributes?

我正在阅读 W3school about XSD,但我缺少的是如何在复杂类型中指定公共元素和属性。我想它是这样的

<xs:element name="character">
  <xs:complexType>
    <xs:attribute name="lang" type="xs:string" use="required"/>
    <xs:all>
      <xs:element name="firstName" type="xs:string"/>
      <xs:element name="lastName" type="xs:string"/>
    </xs:all>
  </xs:complexType>
</xs:element>

但我无法验证这一点,希望您能澄清。我能想到的替代方案:属性为 <xs:all> 或使用 mixed="true"

此外,如果您知道我可以在哪里检查我的方案的有效性,请在评论中添加 link。

你快到了,但是(反常地)必须最后指定属性,也就是说,在 xs:all 之后。

我强烈建议您购买一本关于 XML 模式的书,以便最好地理解这些概念。 W3Schools擅长以简单的方式呈现事物,但如果你只是简单的理解,你永远不会理解错误信息。

另外,我建议投资开发工具,例如 oXygen,用于编辑和验证您的模式。