第 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
検証目的のモード。ただし、コレクション プロパティの場合、 IRIS
XML
Web
XML
XML
コレクション プロパティの形式とその 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 (スキーマはコレクション項目のタイプを指定しません) |