如何使用多个选项定义xsd元素?

如何使用多个选项定义xsd元素?,xsd,Xsd,我有一个场景,在这个场景中,我必须为不同的目的使用相同的XSD元素,以便生成的XML可以包含一个或多个p标记,但不能包含全部 <p>some paragraph here </p> <p> <img src = "....." alt="......"/> </p> <p> <b> some text here <b> <p>

我有一个场景,在这个场景中,我必须为不同的目的使用相同的XSD元素,以便生成的XML可以包含一个或多个p标记,但不能包含全部

   <p>some paragraph here </p>

    <p> 
        <img src = "....."   alt="......"/>
    </p>

    <p> <b> some text here <b> <p> 

     <p> ...... <g1> ........ <g2>.......<g3>........<p>
这里有一些段落

这里有一些文字

提前感谢您,我对XML模式还不熟悉。

我的假设是您试图通过显示不同的内容模型来定义p标记。首先,通过接收文本,您必须将其内容定义为混合内容。从这里开始,您可以使用一个重复的选项来列出所有其他元素,如img、b、g1、g2等

我正在展示XHTML XSD的一个摘录:

  <xs:element name="p">
    <xs:complexType mixed="true">
      <xs:complexContent>
        <xs:extension base="Inline">
          <xs:attributeGroup ref="attrs" />
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>

  <xs:complexType name="Inline" mixed="true">
    <xs:annotation>
      <xs:documentation>
      "Inline" covers inline or "text-level" elements
      </xs:documentation>
    </xs:annotation>
    <xs:choice minOccurs="0" maxOccurs="unbounded">
      <xs:group ref="inline" />
      <xs:group ref="misc.inline" />
    </xs:choice>
  </xs:complexType>

“内联”包括内联或“文本级”元素
等等


一个很好的学习方法可能是看。您可以使用XSD编辑器来研究与p标记相关的结构。

这就是我要找的!非常感谢。