0

私は1つのDTDを持っています

<parameter name="ReferenceSignalPower" access="readWrite">
  <syntax>
    <int>
      <range minInclusive="-60" maxInclusive="50" />
      <units value="dBm">
      </units>
    </int>
  </syntax>
</parameter>

XML スキーマを初めて使用します。この XML スキーマで単位値を提供する方法がわかりません。

<xs:element name="ReferenceSignalPower">
  <xs:simpleType>
    <xs:restriction base="xs:unsignedInt">
      <xs:minInclusive value="-60"/>
      <xs:maxInclusive value="50"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>
4

2 に答える 2

2

XML スキーマには測定単位の概念がありません。XML 属性または XML 要素を定義して、特定の制限付きの数値 (または日付などの他の標準データ型) を含めることができますが、それを読み取るのはアプリケーションの責任です。このような数値を特定の測定単位の値として解釈するための XML。

スキーマに測定単位情報を追加したい場合は、appInfo要素を使用して行うことができます - 例:

<xs:element name="ReferenceSignalPower">
  <xs:simpleType>
    <xs:annotation>
      <xs:appinfo>
        <units value="dBm"/>
      </xs:appinfo>
    </xs:annotation>
    <xs:restriction base="xs:int">
      <xs:minInclusive value="-60"/>
      <xs:maxInclusive value="50"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

ただし、この情報を自分で解析して解釈する必要があります。

于 2012-09-25T21:04:49.857 に答える
1

あなたの質問が何であるかはわかりませんが、「なぜこれが機能しないのですか?」という質問だと思います。

あなたの宣言はほぼ正しいですが、完全ではありません。-60 の最小値が必要な場合、なぜ unsignedInt を基本型として使用するのですか? unsignedInt の最小値はすでにゼロに設定されています。

XSD 仕様では、型の値空間の一部ではない値に最小値を設定しようとすると、どこかにエラーがあると想定されています。

したがって、符号付き整数型を基本型として使用するか、最小値を基本型に実際に存在する値に設定します。

于 2012-09-24T17:04:19.950 に答える