3

わかりました、これは簡単でなければなりませんが、それを行う方法の適切な説明や例を見つけることができません...

XML要素の1つにいくつかの属性を含めることができ、要素のコンテンツは空白以外のテキストである必要があることを指定したいと思います。たとえば、これは有効です。

<person age="30">Bob</person>

ただし、要素テキストが欠落しているため、これらの構成は無効です。

<person age="30"></person>
<person age="30" />

「必須のテキストコンテンツ」ルールを適用しない既存のスキーマ(フラグメント)であるFWIWは、次のようになります。このモデルのどこかにxs:restrictionブロックを追加したいと思いますが、それがどこに属しているのかわかりません。

<xs:element name="person">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="age" type="xs:int" use="optional" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>
4

1 に答える 1

2

次のような必要なコンテンツでタイプを定義します。

<xs:simpleType name="textType">
  <xs:restriction base="xs:string">
    <xs:pattern value=".+"/>
  </xs:restriction>
</xs:simpleType>

その後、要素の基本タイプとして使用できます。

<xs:element name="person">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="textType">
        <xs:attribute name="age" type="xsd:int"></xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>
于 2013-02-03T00:21:09.467 に答える