次に、XML を処理する LotusScript クラスを示します。
次に、XML の処理に役立つ「ヘルパー」クラスを示します。
あるプロセッサから別のプロセッサにデータを移動するには、パイプラインを使用します。
NotesXMLProcessor クラスは、XML を処理する LotusScript クラスの基本クラスです。この基本クラスを直接使用することはありませんが、そのプロパティとメソッドをほかの XML クラスで使用できます。
NotesXMLProcessor のプロパティは次のとおりです。
NotesXMLProcessor のメソッドは次のとおりです。
複数の XML プロセスで基本プロパティとメソッドしか使用しない場合は、サブルーチンを 1 つ使用することでプログラムを簡素化できます。例えば、処理を開始してからログを検査するサブルーチンを 1 つ作成します。サブルーチンを呼び出すたびに、パラメータとして適切な XML オブジェクトを指定します。
パイプラインを使用すると、複数の操作を組み合わせて、ある XML プロセスの出力を別の XML プロセスの入力にすることができます。例えば、Domino データを DXL として書き出し、それを既知の XML の語彙に変換し、さらに XML を HTML に変換する標準アプリケーションを適用するとします。各プロセスは、次のプロセスにその出力を渡します。そのとき、中間の結果を保存するのではなく、パイプラインを使用して結果を渡します。
XML プロセッサは、処理前に入力と出力を指定する必要があります。その指定は、XML オブジェクトの作成時、または後から SetInput と SetOutput を使用して行います。処理は、Process を使用して開始します。
パイプラインを使用するには、入力または出力を XML プロセッサとして指定します。例えば、書き出された DXL を DOM 処理に流し込む場合、NotesDXLExporter オブジェクトの出力が NotesDOMParser オブジェクトになるように指定するか、 NotesDOMParser オブジェクトの入力が NotesDXLExporter オブジェクトになるように指定します。処理を開始する前に、パイプラインのすべてのオブジェクトの入力と出力を指定します。パイプラインの先頭のプロセッサで処理を開始すると、後続のすべてのプロセッサの処理が開始されます。
パイプラインを簡単に設定するには、パイプラインの最後のプロセッサ以外のすべてのプロセッサの入力だけを指定します。最後のプロセッサに対しては、入力だけでなく出力も指定します。
次の表に、XML プロセッサで使用できる入力と出力を示します。
プロセッサ |
使用できる入力オブジェクト |
使用できる出力オブジェクト |
---|---|---|
String |
||
String |
NotesDXLExporter class クラスは、Domino データを DXL に変換します。NotesSession で CreateDXLExporter メソッドを使用して、NotesDXLExporter オブジェクトを作成します。書き出しプロセスへの入力としては、NotesDatabase、NotesDocument、NotesDocumentCollection、NotesNoteCollection の各オブジェクトを使用できます。出力としては、NotesStream オブジェクトまたは NotesRichTextItem オブジェクト、あるいはほかの XML プロセッサのいずれかを使用できます。
書き出しを開始するには、Process または Export を使用します (パイプラインなし)。
NotesDXLExporter クラスには、次のプロパティがあります。
プロパティ |
データ型 |
説明 |
---|---|---|
Boolean 型 |
(読み書き可能) True の場合、Domino ビットマップを GIF 形式に変換します。 |
|
String |
(読み書き可能) !DOCTYPE ステートメントの SYSTEM の値。 |
|
Boolean 型 |
(読み書き可能) False の場合は、フォーマット済みの DXL を書き出します。 |
|
Boolean 型 |
(読み書き可能) False の場合は、!DOCTYPE ステートメントを非表示にします。 |
|
String |
(読み書き可能) 書き出される DXL のスキーマの URI。 |
|
Integer |
(読み書き可能) 書き出される DXL を評価するためのメソッド。 |
NotesDXLImporter クラスは、DXL を Domino データに変換します。NotesSession で CreateDXLImporter メソッドを使用して、NotesDXLImporter オブジェクトを作成します。呼び出しプロセスの入力としては、文字列、NotesStream オブジェクトまたは NotesRichTextItem オブジェクト、あるいはほかの XML プロセッサのいずれかを使用できます。出力は NotesDatabase オブジェクトです。
呼び出しプロセスは、新しく呼び出された文書の文書 ID のリストを作成します。これらの文書 ID には、GetFirstNoteId メソッドと GetNextNoteId メソッドを使用してアクセスできます。
呼び出しを開始するには、Process または Import を使用します (パイプラインなし)。
NotesDXLImporter クラスには、次のプロパティがあります。
プロパティ |
データ型 |
説明 |
---|---|---|
Integer |
(読み書き可能) 呼び出す ACL エントリの処理を示します。 |
|
Boolean 型 |
(読み書き可能) ターゲットデータベースに全文索引が作成されているかどうかを示します。 |
|
Integer |
(読み書き可能) 呼び出す設計要素の処理を示します。 |
|
Integer |
(読み書き可能) 呼び出す文書の処理を示します。 |
|
Long 型 |
(読み込み専用) 呼び出した文書の数です。 |
|
Integer |
(読み書き可能) XML 宣言ステートメントで指定された DTD を使用して、入力 XML を評価するかどうかを示します。 |
|
Boolean 型 |
(読み書き可能) True の場合は、DXL からのデータベースプロパティを置換します。 |
|
Boolean 型 |
(読み書き可能) True の場合、DXL のレプリカ ID とターゲットデータベースがマッチする必要があります。 |
|
Integer |
(読み書き可能) エラーログの記録オプションを示します。 |
XSLT を介して DXL データを変換するには:
NotesXSLTransformer クラスには、次のプロパティがあります。
プロパティ |
データ型 |
説明 |
---|---|---|
Integer |
(読み書き可能) XML 宣言ステートメントで DTD が指定されている場合には、その DTD を使用して、入力される XML が評価されることを示します。 |
XML を NotesDOMNode オブジェクトの標準 DOM ツリー構造に解析するには:
NotesDOMParser クラスには、次のイベントがあります。
NotesDOMParser クラスには、次のプロパティがあります。
プロパティ |
データ型 |
説明 |
---|---|---|
Boolean 型 |
(読み書き可能) XML 宣言行からの属性 -- version 属性、encoding 属性、standalone 属性 -- が、NotesDOMXMLDeclNode オブジェクトで作成される DOM ツリーに含まれることを示します。 |
|
(読み込み専用) DOM ツリーのルート文書です。 |
||
Boolean 型 |
(読み書き可能) 名前空間が評価されることを示します。 |
|
Boolean 型 |
(読み書き可能) テキスト値に含まれるエンティティへの各参照が、エンティティのテキスト値によって置換されることを示します。 |
|
Integer |
(読み書き可能) XML 宣言ステートメントで DTD が指定されている場合には、その DTD を使用して、入力される XML が評価されることを示します。 |
次に示す特定の NotesDOMNode クラスのメソッドを使用して、DOM ツリーのデータにアクセスします。
SAX パーサーを使用して XML を解析するには:
NotesSAXParser クラスには、次のイベントがあります。
Event |
説明 |
---|---|
XML 入力内のテキストを示します。 |
|
XML 入力の最後を示します。 |
|
XML 入力内で指定された要素の最後を示します。 |
|
XML 入力の処理時にエラーが発生したことを示します。 |
|
XML 入力の処理時に致命的なエラーが発生したことを示します。 |
|
XML 入力で検出された、無視できる空白を示します。 |
|
XML 入力で検出された記法宣言を示します。 |
|
XML 入力で検出された処理過程の説明を示します。 |
|
入力される XML でエンティティが見つかったことを知らせます。 |
|
XML 入力の先頭を示します。 |
|
入力される XML 特殊要素の開始を知らせます。 |
|
XML 入力で検出された未解析の外部 Entity 宣言を示します。 |
|
XML 入力の処理時に警告が発生したことを示します。 |
NotesSAXParser クラスには、次のプロパティがあります。
プロパティ |
データ型 |
説明 |
---|---|---|
Integer |
(読み書き可能) XML 宣言ステートメントで DTD が指定されている場合には、その DTD を使用して、入力される XML が評価されることを示します。 |