前回はLPBフォーマットの概要について説明しました。今回は、LPBフォーマットのベースとなっているXMLを紹介します。
M-Format、C-Format、およびR-Formatは、 XML を使用して定義されています。XMLとはeXtensible Markup Languageの略で、1998年2月にW3Cから勧告が出された言語の仕様(XML1.0)です。言語仕様は以下のURLから入手することができます。
LPB FormatをXMLをベースとしていますので、先ずXMLの構文規則を理解しておく必要があります。ここでは必要最小限のXMLの構文規則を解説します。XMLに関してはたくさんの良書が出版されています。より深く知りたい方は、そちらを参照にしてください。
XML宣言
XMLファイルはの以下のXML宣言から始めます。
1 |
<?xml version="1.0" ?> |
要素
XMLファイルは複数の要素(エレメントとも呼ばれる)で構成されます。 以下に示すように要素の名前(要素名、タグとも呼ばれる)は三角括弧<>で囲みます。
要素名は大文字と小文字を区別します。
1 |
<element> |
要素の構文規則
各要素は、以下に示すように開始タグ(<element>)で始まり、終了タグ(</element>)で閉じます。
1 |
<element>....</element> |
要素の終了タグは開始タグと同じ名前を付ける必要があります。下は終了タグと開始タグが異なるため誤ったタグの例です。
1 |
誤り : <element1>....</element2> |
要素の階層構造
要素は、その子として複数の要素を含むことができます。下の要素の階層構造の例です。
1 2 3 4 5 6 7 |
<?xml version = "1.0"?> <element> <subelement1> <subelement2>...</subelement2> <subelement3>...</subelement3> </subelement1> </element> |
子の要素を持たない要素は、単純に以下の形に書くことができます。
1 |
<element/> |
トップ要素
XMLは、トップ要素を一つだけ持つことができます。
1 2 3 4 |
<?xml version = "1.0"?> <top> <element> .... </element> </top> |
下のように複数のトップ要素を持つことはできません。
1 2 3 4 5 6 7 8 |
誤り : <?xml version = "1.0"?> <top> <element> .... </element> </top> <top> <element> .... </element> </top> |
属性
属性(プロパティとも呼ばれる)は、以下に示すように属性名="属性値"で定義します。属性名は大文字と小文字を区別します。 属性値はダブルクオート(")で囲みます。
下に示す例のnameは属性名、propertyvalueは属性値です。
1 |
<element name="propertyvalue"> |
属性の構文規則
要素は1つ以上の属性を持つことができます。
1 |
<element a="value" b="value"> |
2つ以上の同じ属性名の属性を持つことはできません。次の例は属性aが2回指定されているため誤った構文です。
1 |
誤り:<element a="value" a="value"> |
以上、XMLの概要を紹介しました。次回から具体例を挙げながらLPB CFormatの記述方法を説明を始めます。