5

古いデータセットをschema/xmlに変換しています。これには、デフォルト値の配列であるいくつかの要素が含まれています。私はxs:listを使った解決策に近づいています。

    <xs:element name="pressure"
            default="0.22 0.33 0.44 0.55 0.66 0.77 0.88 0.88 0.88 0.88">
  <xs:simpleType>
    <xs:list>
      <xs:simpleType>
        <xs:restriction base="xs:float">
           <xs:minInclusive value="0.0" />
           <xs:maxInclusive value="2.0" />
        </xs:restriction>
      </xs:simpleType>
    </xs:list>
  </xs:simpleType>
</xs:element>

リストの長さを10に制限するにはどうすればよいですか?つまり、これのどこに置くのでしょうか

    <xs:length value="10">?
4

1 に答える 1

10

基本タイプは、xs:floatのxs:restrictionです。

<xs:simpleType name="ptype">
  <xs:restriction base="xs:float">
    <xs:minInclusive value="0.0" />
    <xs:maxInclusive value="2.0" />
  </xs:restriction>
</xs:simpleType>

これはxs:listにラップされています。

<xs:simpleType name="ltype">
  <xs:list itemType="ptype"/>
</xs:simpleType>

次に、リストに長さ制限を設定します。

<xs:simpleType name="rtype">
  <xs:restriction base="ltype">
    <xs:length value="10"/>
  </xs:restriction>
</xs:simpleType>

最後に、デフォルト値の要素

<xs:element name="pressure"
    default="0.22 0.33 0.44 0.55 0.66 0.77 0.88 0.88 0.88 0.88">
  <xs:simpleType>
    <xs:restriction base="rtype"/>
  </xs:simpleType>
</xs:element>

完全に匿名の要素を取得するには、上部から開始し、各構成を、それを参照する次の下位の構成にネストします。最後に、これで終わりました。

<xs:element name="pressure"
        default="0.22 0.33 0.44 0.55 0.66 0.77 0.88 0.88 0.88 0.88">
  <xs:simpleType>
    <xs:restriction>
      <xs:simpleType>
        <xs:list>
          <xs:simpleType>
            <xs:restriction base="xs:float">
               <xs:minInclusive value="0.0" />
               <xs:maxInclusive value="2.0" />
            </xs:restriction>
          </xs:simpleType>
        </xs:list>
      </xs:simpleType>
      <xs:length value="10"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>
于 2012-04-23T14:08:54.273 に答える