WebObjects 5.2.3

Package com.webobjects.appserver.xml

XMLデータのエンコード、デコード機能を提供します

See:
          Description

Interface Summary
WOXMLCoding このインターフェイスは、マッピングモデルが使われない場合、このインターフェイスを実装したクラスを、WOXMLCoderに XMLデータとしてエンコードさせます。
 

Class Summary
WOXMLCoder オブジェクトをXMLデータにエンコードします。
WOXMLDecoder XMLデータからオブジェクトにデコードします。
 

Exception Summary
WOXMLException このクラスはパースプロセス中に起こる多くの例外をとらえ、あなたがコーディングすべき例外処理を軽減します。
 

Package com.webobjects.appserver.xml Description

XMLデータのエンコード、デコード機能を提供します

Introduction

XMLフレームワークには、オブジェクトをXMLデータとしてエンコードまたはデコードする、二つの重要なクラス、WOXMLCoderと WOXMLDecoderがあります。このクラスはまた、WWWのような外部ソースからもたらされるXMLをパースしたり、または生成したり、といった役 割もあります。
いわゆる「外部の」XMLを扱う場合、その要素とプロパティ、またはマッピングモデル(エディタやXMLエディタで作った)を使って、オブジェクトを XMLフォーマットにマッピングするなどの作業が発生します。
マッピングモデルは、デコードプロセスにおいて優れた操作性をもたらし、外部ソースからの、または外部ソースに向けたXMLのエンコード、デコードにおい て主に利用されます。
マッピングモデルを使わずにWOXMLCoder、WOXMLDecoderでカスタムオブジェクトをエンコード、デコードしようとするなら、カスタムク ラスは以下のような実装になります。

マッピングモデルを利用するか、または対象オブジェクトが以下の場合には、上記の制限はありません。

例外はSAXパーサーによって出力されますが、単純化のためWOXMLExceptioオブジェクトとしてラップされることで、コードがキャッチす べき例外は劇的に少なくなります。

The Format of the Mapping Model

マッピングモデルはテキストエディタまたはXMLエディタを使って生成することができます。
モデルはルートである<model> 要素で囲まれ、一つ以上の<entity> 要素-それぞれゼロまたはそれ以上の<property> 要素を含む-を持つテキストファイルです。
シンプルなモデルの例:

The following is a simple mapping model:
<model> <entity name="Command" xmlTag="command"> <property name="qty" xmlTag="quantity" attribute="YES"/> <property name="movie" xmlTag="movie"/> <property name="customer" xmlTag="customer"/> </entity> <entity name="MyMovie" xmlTag="movie"> <property name="title" xmlTag="name" attribute="YES"/> <property name="dateReleased" xmlTag="date"> <property name="roles" xmlTag="role"> <property name="category" xmlTag="cat"/> </entity> <entity name="com.webobjects.eocontrol.EOGenericRecord" xmlTag="role"> <property name="roleName" xmlTag="name" attribute="YES"/> </entity> </model>

マッピングモデルをつくる場合、エンコード時に<property>要素がユニークでなければならないことに注意してください(つまり 同じ<property>要素を持つ二つのマッピングをつくることはできません)。
これはXMLタグをエンコードする際にもあてはまります。同じXMLタグに二つのマッピングをつくってはいけません。

The <model> element

<model> 要素はマッピングファイルのルート要素で、マッピング情報を内包します。アトリビュートはありません。<model> 要素は最低一つの<entity> 要素がなければいけません。

The <entity> element

<entity> 要素は、生成されるXMLデータとエンコードされるオブジェクトの関係を記述します。
最初の<entity> 要素は生成されるXMLデータのルート要素となります。それに続く<entity> 要素はルート要素の完全な記述であることが求められます。
二つの必須アトリビュートと多くのオプショナルなアトリビュートを持ちます。

The <property> element

<entity> 要素内には、0個以上の<property> 要素を含めることができます。
<property> 要素はエンティティオブジェクトのプロパティと、そのプロパティから生成されるXMLデータとのマッピングを記述します。それぞれのエンティティオブジェ クトのプロパティは、最終的にXMLデータとなるValueを持つkey-valueコーディングペアです。<property> 要素は二つの必須項目といくつかのオプションがあります。

Package Specification

Related Documentation


Last updated Thu Oct 21 15:04:16 PDT 2004.

Copyright © 2004 Apple Computer, Inc.