第 28 章 XML スキーマへのコントロールのマッピング - XML 型へのストリーム クラスのマッピング

第 28 章 XML スキーマへのコントロールのマッピング - XML 型へのストリーム クラスのマッピング

クラスまたはプロパティがストリームに基づいている場合、次の表に示すように、XML 型に投影されます。

IRIS ストリームの XML タイプ

ストリームの種類 XML にマッピングするときに使用する XSD タイプ
%Library.GlobalCharacterStream%Library.FileCharacterStream, %Stream.FileCharacter%Stream.GlobalCharacter string
%Library.GlobalBinaryStream%Library.FileBinaryStream%Stream.FileBinary%Stream.GlobalBinary base64Binary

たとえば、次のクラスについて考えてみましょう。

Class Schema.StreamPropDemo Extends (%Persistent, %XML.Adaptor)
{
    
    

Parameter XMLTYPENAMESPACE="mytypes";

Property BinStream As %Library.GlobalBinaryStream;

Property CharStream As %Library.GlobalCharacterStream;

}

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

<?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="StreamPropDemo">
    <sequence>
      <element minOccurs="0" name="BinStream" type="s:base64Binary"/>
      <element minOccurs="0" name="CharStream" type="s:string"/>
    </sequence>
  </complexType>
</schema>

コレクション プロパティを XML スキーマにマッピングします

ほとんどの種類のプロパティの場合、クラス定義には、完全な XML マッピング (オブジェクトの XML ドキュメントへのマッピング、および完全な定義) を指定するのに十分な情報が含まれています。 /span>スキーマ。そうでない場合、スキーマに対する検証は失敗します。この注意は、スキーマに対して検証を行っていない場合には適用されません。次の表に、シナリオを示します。 プロジェクションを使用する場合は、完全な サービスやクライアントなど) で スキーマに十分な情報を提供しない特定の形式の定義をサポートします。スキーマを必要とするコンテキスト ( は、完全な XML 検証目的のモード。ただし、コレクション プロパティの場合、 IRISXMLWebXMLXML

コレクション プロパティの形式とその XML マッピングの詳細

プロパティ定義の形式 XMLって使えるの? XMLスキーマは使えるのか?
Property PropName As List of classname or Property PropName As Array of classname Yes Yes
Property PropName As %ListOfDataTypes or Property PropName As %ArrayOfDataTypes Yes Yes(ただし、コレクション項目のデフォルトのタイプは文字列であるため、適切ではない可能性があります)
Property PropName As %ListOfObjects or Property PropName As %ArrayOfObjects Yes No (スキーマはコレクション項目のタイプを指定しません)

おすすめ

転載: blog.csdn.net/yaoxin521123/article/details/134868859