両方を有する:は、私は、XMLのこの部分を検証するXMLスキーマを記述しようとしているXMLスキーマの属性と要素の制限
<date isodate="2007-03-14">14 march 2007</date>
属性isodateが、それは、xsに設定し、型の必要があります:日付とコンテンツの長さは最大50文字です。
私はそれが一つのブロック内のXMLスキーマ定義を記述することができます場合は、おそらくこのようなものだろう:
<xs:element name="date" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="xs:string">
<xs:minLength value="0"/>
<xs:maxLength value="50"/>
</xs:restriction>
<xs:attribute name="isodate" type="xs:date" use="required"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
上記のコードは動作しません、と私は本当に理由を把握することはできません。唯一の私が発見した問題を回避するには、次のようにそれを別の型に規制部を抜け出す、とリンクすることです:私は質問が1つのブロックに定義を記述する方法である
<xs:simpleType name="reviewDate">
<xs:restriction base="xs:string">
<xs:minLength value="0"/>
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="date" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="reviewDate">
<xs:attribute name="isodate" type="xs:date" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
スキーマビットがあるようにより読みやすく、スキーマの他の部分の型を参照しません。
@Alexander:XMLセクションを適切にフォーマットするには、XMLを強調表示し、ツールバーの[コード]ボタン(101 010)をクリックします。それはあなたに良い結果をもたらします - バックティックを使用することは、単一の単語または短いフレーズのためにのみ役立ちます - 複数の行にうまくいきません。 –