COBOL2002 XML連携機能ガイド
XML連携機能では,XML Version 1.0の規格に従ったDTDを扱えます。ただし,次の点に注意する必要があります。
XML宣言では,DTDファイルの文字エンコーディングを指定できます。使用できる文字エンコーディングについては,「付録G.1 XMLドキュメントの文字エンコーディング」を参照してください。
<?xml version="1.0" encoding="Shift_JIS"?>
文書の型宣言(DOCTYPE宣言)は,内部サブセット,外部サブセットのどちらでも定義できます。
<?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE table [ <!ELEMENT table (book)> <!ELEMENT book (#PCDATA)> ]> <table/>
<?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE table SYSTEM "book-content.xml"> <table/>
<!ELEMENT table (book)> <!ELEMENT book (#PCDATA)>
内部サブセットと外部サブセットが同時に指定されている場合,両方の定義が有効となります。ただし,要素が重複して定義されている場合は,内部サブセットの定義が有効となります。
要素宣言の内容モデルでは,#PCDATAとEMPTYだけを使用できます。
<!ELEMENT table (book)+> <!ELEMENT book (#PCDATA)>
属性リスト宣言に指定する属性の型(CDATA,ID,IDREF,IDREFS,NMTOKEN,NMTOKENS,列挙)以外は使用できません。
実体宣言は,XMLドキュメントで実体を置換します。外部実体となる場合,テキスト宣言でエンコーディングを指定します。テキスト宣言がない場合はエンコーディングにUTF-8が仮定されます。テキスト宣言については,「(7) テキスト宣言」を参照してください。
<!ENTITY ITEM1 "The item 01.">
<!ENTITY abc PUBLIC "-//HITACHI//DTD test 1.0//EN" "/home/groupX/manual.dtd">
<!ENTITY def SYSTEM "/home/groupX/manual.dtd">
<!ENTITY % para1 "(item01A | item01B )">
<!ENTITY % paragroup1 PUBLIC "-//HITACHI//DTD test 1.0//EN" "/home/groupX/table1.dtd">
<!ENTITY % paragroup2 SYSTEM "/home/groupX/table2.dtd">
外部DTDや外部実体を識別するための文字列です。XML連携機能では,公開識別子と,外部DTDや外部実体を含むファイルの対応を,カタログファイルで定義することで,公開識別子を用いて外部DTDや外部実体を参照するXMLドキュメントを処理できます。
公開識別子の解釈については,「付録E.3 外部識別子の解釈」を参照してください。
<!DOCTYPE root PUBLIC "-//HITACHI//DTD test 1.0a//EN" "/home/project1/myDTD.xml">
テキスト宣言では,外部解析対象実体の文字エンコーディングを指定できます。
<?xml version="1.0" encoding="Shift_JIS"?>
<!-- コメント -->
<?xml version="1.0" encoding="Shift_JIS"?> <!-- コメント --> <!DOCTYPE table [ <!ELEMENT table (book)> <!ELEMENT book (#PCDATA)> ]> <table/>
DTDファイルは,それ自身が完結したXMLドキュメントである必要があります。そのため,DTDファイルにXML要素が記述されていない場合は,内容が空のルート要素をファイルの末尾に付ける必要があります。
<?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE table [ <!ELEMENT table (book)> <!ELEMENT book (#PCDATA)> ]> <table/>
All Rights Reserved. Copyright (C) 2003, 2016, Hitachi, Ltd.