繁体   English   中英

包含/不包含子元素的元素的无效XML模式

[英]Invalid XML Schema for element with/without sub-elements

我想编写一个XML模式,其中包含一个可能包含子元素和/或原始类型的元素。 所以我有这个片段,不能正确验证。

  <xs:complexType name="parameterType" mixed="true">
    <xs:complexContent>
      <xs:restriction base="xsd:anyType">
        <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        <xs:attribute name="name" type="xs:string" use="required" />
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:element name="parameters">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="parameter" type="my:parameterType" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

XML看起来像(我真的不知道值是什么)

  <parameters>
    <parameter name="interval">10000</parameter>
    <parameter name="active">true</parameter>
    <parameter name="list"><items><item>a</item><item>b</item></items></parameter>
    <parameter name="article"><article><title>a</title><price>10.00</price></article></parameter>
    ...
  </parameters>

谢谢你的帮助

您可以使用一个简单的技巧:通过此说明 (使用trang)从xml示例文件创建模式,然后将其与当前模式进行比较:-)

好吧,我自己弄的。 我现在有这个工作的解决方案:

  <xs:complexType name="parameterType" mixed="true">
    <xs:complexContent>
      <xs:restriction base="xs:anyType">
        <xs:sequence>
          <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
        <xs:attribute name="name" type="xs:string" use="required" />
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM