投稿日:2017.11.27
更新日:2022.08.01
…以降未定
前回は文章を構成する最小単位であるItem.Detail要素について触れました。
今回はそれらを包括するリスト要素について見ていきましょう。
List要素はItem要素を複数まとめてリスト化するためのものです。添付文書XMLでは3種のリスト要素が用意されており、順序番号や記号等の有無により使い分けます。
OrderedList要素はHTMLタグのOL要素、UnorderedList要素はHTMLタグのULリストの様な使い方をします。1つずつ具体的な使用方法を見ていきましょう。
まずはOrderedListについてです。このリストは各項目に順序番号を追加したい場合に使用します。
今回も下記の禁忌の項目を例にSGMLとの違いを確認します。
禁忌 1 - 見出し1
いろはにほへと ちりぬるを 2 - 見出し2
わかよたれそ つねならむ 3 1 うゐのおくやま けふこえて 2 あさきゆめみし ゑひもせすん
SGMLでは順序番号を付ける場合、上記の様にserialnoという要素に番号を直接記述していました。
また、レベルを下げて順序番号を付ける場合、下位レベルの内容をlow1subitemで囲み、その内部でserialno要素で番号を記述していました(9~14行目)。さらにレベルを下げる場合low2subitem~low6subitemという要素を用いて表現する必要がありました。
見出し1 いろはにほへと ちりぬるを 見出し2 わかよたれそ つねならむ うゐのおくやま けふこえて あさきゆめみし ゑひもせすん
XMLの場合、順序番号を記述する必要はありません。順序番号を付けたいItem要素をOrderedList要素で囲むことで、上から順に番号が付きます。これによりserialno要素はXMLでは不要になりました。
また、レベルを下げる場合はOrderedList要素内でさらにOrderedList要素を用いる事で記述します(18~29行目)。その為low1subitem~low6subitem要素は不要になりました。
順序番号はHeader要素がある場合はHeader要素に、ない場合はDetail要素に付きます。
OrderedList要素には他のリスト要素には無いnumberContinued属性という属性があります。これは2つのOrderedList要素で順序番号を繋げる時に使用する属性です。他のリスト要素と合わせて記述する為少し複雑になるので、次回詳しく見ていきたいと思います。
UnorderedListも使用方法は同様です。Item要素を囲んで使用します。番号が付かないかわりに「●」等の記号が付きます。
下記の様な文章を表現するために用います。
1 ●いろはにほへと ちりぬるを 2 ●わかよたれそ つねならむ 3 ●うゐのおくやま けふこえて 4 ●あさきゆめみし ゑひもせすん
順序番号を記述するserialnoには数字以外を入れられないので、●から始まるリストを表現するために、detail要素内に直接●を記述せざるを得ません。もはやserialno要素は不要ですが必須要素なので、表示しない場合にもonoff属性をoffにして記述が必要です。
いろはにほへと ちりぬるを わかよたれそ つねならむ うゐのおくやま けふこえて あさきゆめみし ゑひもせすん
UnorderedListで囲む事で各Item要素の文頭に記号が付加されるので、文章内に記号を記述する必要はありません。OrderedList要素と同様に、もしItem要素内にHeader要素があれば、記号はHeader要素に付加されます。
下記の様な、順序番号も記号も付加しない場合、SimpleList要素を用います。
1 - 見出し1
いろはにほへと ちりぬるを 2 - 見出し2
わかよたれそ つねならむ 3 - 見出し3
うゐのおくやま けふこえて 4 - 見出し4
あさきゆめみし ゑひもせすん
serialno要素、item要素、detail要素を繰り返しで表現します。上記にも示した通りserialno要素は省略不可なので、表示上何も無くてもitem要素とdetail要素の直前に必要です。
見出し1 いろはにほへと ちりぬるを 見出し2 わかよたれそ つねならむ 見出し3 うゐのおくやま けふこえて 見出し4 あさきゆめみし ゑひもせすん
Item要素をSimpleListで囲む事で、数字も記号もつかない文章を表現出来ます。SGMLと比べて、不要な要素を記述する必要もなくItem単位で綺麗に構造化されているのがわかります。
各項目に順序番号や記号を付与する場合は、リスト要素を用います。
数字を付与する場合はOrderedList要素、記号を付与する場合はUnorderedList要素、項目に何も付与しない場合はSimpleList要素を用います。
SGMLではなかったリスト要素の概念を用いることで、serialno要素やlow1subitem~low6subitem要素は不要になりました。
次回は、OrderedList要素のnumberContinued属性について解説します。