第 27 章 XML スキーマへのマッピングの制御 - スキーマに影響するコンパイラ キーワード

第 27 章 XML スキーマへのマッピングの制御 - スキーマに影響するコンパイラ キーワード

バリューリスト

タイプに 制限を追加<enumeration>します。次のクラスについて考えてみましょう。

Class Schema.VALUELIST Extends (%RegisteredObject, %XML.Adaptor)
{
    
    

Parameter XMLTYPENAMESPACE = "mytypes";

Property Property1 As %String;

Property Property2 As %String (VALUELIST = ",r,g,b");

}

このクラスのアーキテクチャを以下に示します。

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:s="http://www.w3.org/2001/XMLSchema" 
elementFormDefault="qualified" targetNamespace="mytypes">
  <complexType name="VALUELIST">
    <sequence>
      <element minOccurs="0" name="Property1" type="s:string"/>
      <element minOccurs="0" name="Property2">
        <simpleType>
          <restriction base="s:string">
            <enumeration value="r"/>
            <enumeration value="g"/>
            <enumeration value="b"/>
          </restriction>
        </simpleType>
      </element>
    </sequence>
  </complexType>
</schema>
XMLFractionDigits

%Numeric に適用されます。次のフラグメントに示すように、このパラメータは <fractionDigits> ファセットに対応します。

<element minOccurs="0" name="Property2">
  <simpleType>
    <restriction base="s:decimal">
      <fractionDigits value="2"/>
      <totalDigits value="5"/>
    </restriction>
  </simpleType>
</element>
XMLTotalDigits

%Numeric 属性または %Integer 属性に適用されます。次のスニペットに示すように、このパラメータは <totalDigits> アスペクトに対応します。

<element minOccurs="0" name="Property2">
  <simpleType>
    <restriction base="s:decimal">
      <fractionDigits value="2"/>
      <totalDigits value="5"/>
    </restriction>
  </simpleType>
</element>
XMLLISTPARAMETER

は、VALUELIST パラメータを指定する属性の %String に適用されます。オブジェクトに含まれる値ではなく、 XML に投影される値のリストを含むパラメータ名を指定します。ほとんどの場合、標準の DISPLAYLIST パラメータも指定され、 XMLLISTPARAMETER は「DISPLAYLIST」と等しく設定されます。

XMLLISTPARAMETER パラメータは、<enumeration> 制限で使用される value 属性を制御します。

属性パラメータとしては指定できません。

XMLPATTERN

制御モードの制限。次のクラスについて考えてみましょう。

Class Schema.Pattern Extends (%RegisteredObject, %XML.Adaptor)
{
    
    

Parameter XMLTYPENAMESPACE = "mytypes";

Property Property1 As %String;

Property Property2 As %String(XMLPATTERN = "[A-Z]");

}

このクラスの構造は次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:s="http://www.w3.org/2001/XMLSchema" 
elementFormDefault="qualified" targetNamespace="mytypes">
  <complexType name="Pattern">
    <sequence>
      <element minOccurs="0" name="Property1" type="s:string"/>
      <element minOccurs="0" name="Property2">
        <simpleType>
          <restriction base="s:string">
            <pattern value="[A-Z]"/>
          </restriction>
        </simpleType>
      </element>
    </sequence>
  </complexType>
</schema>

単一タイプに複数のスキーマが存在する場合、スキーマは https://www.w3.org/TR/xmlschema-2 に従って結合されます (セクション 4.3.4.3、スキーマの < /span> パラメータで同じパターン内の個別の分岐に結合されます (垂直バーで区切られています)。 XML 式制約)。これらのパターンは、XMLPATTERN

XSDTYPE

宣言は、XML にマッピングするときに使用される XSD 型にマッピングされます。このパラメータは、すべての IRIS データ型クラスで適切に設定されます。 IRIS XML ツールはスキーマの生成時にこのパラメータを使用します。このパラメータは入力変換と出力変換に直接影響しませんが、それらと一貫性がある必要があります。

おすすめ

転載: blog.csdn.net/yaoxin521123/article/details/134845539
おすすめ