ホームDSSSL研究室 » DSSSL技術マニュアル » リストの作成

 

リストの作成

通常のリストを作成

番号付きのリストを作成





通常のリストを作成

DTD&インスタンス例

<?xml version="1.0" encoding="SHIFT_JIS"?>
<!DOCTYPE xml [
<!ELEMENT xml (ul)>
<!ELEMENT ul (li+)>
<!ELEMENT li (#PCDATA)>
]>
<xml>
	<ul>
		<li>統一した国民の形成</li>
		<li>心理的に開放され、安定し発達した社会の創造</li>
		<li>成熟し合意を基礎とし、コミュニティに根ざす民主主義を実現する社会の育成と発展</li>
		<li>全面的な道徳的、倫理的社会の確立</li>
		<li>人種に関係なく、それぞれの生活習慣、宗教、文化を自由に実践し、表現し、
		しかも一つの国民としての帰属感を持つ寛容な社会の確立</li>
		<li>科学的、進歩的な社会の確立</li>
		<li>国民の福祉が国家や個人でなく、強力で強靱な家族制度を軸とするような
		思いやりのある社会と文化の確立</li>
		<li>経済的に公平な社会の確立</li>
		<li>全面的に競争的でダイナミックな強靱な経済と社会の建設</li>
	</ul>
</xml>
        

 

スタイルシート例

<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN">
<style-sheet>
<style-specification>
<style-specification-body>
;以下にDSSSLを記述してください。



(root		;全体を指定
	(make simple-page-sequence	;シンプルなレイアウトを行う
		page-width: 210mm		;用紙サイズの幅「A4」の大きさ
		page-height: 297mm		;用紙サイズの縦「A4」の大きさ
		left-margin: 10mm
		right-margin: 10mm
		top-margin: 30mm		;それぞれのマージン(余白)の指定
		bottom-margin: 30mm
		language: 'JA		;日本語の記述
	)
)

;リストを作成する記述
(element li					;タグ名を指定
	(make paragraph				;一文を作る
		font-size: 12pt			;フォントのサイズを指定
		line-spcing: 15pt			;行送り量を指定
		first-line-start-indent: -12pt	;最初の行にインデントをつける
		(literal "・")			;マークの記述
		(process-children)		;タグ内のデータを後に付ける
	)
)

;以上にDSSSLを記述指定ください。
</style-specification-body>
</style-specification>
</style-sheet>
        
up


解説

上記のスタイルシート例において
(literal "・")
の個所がリストマークをつける意味を持っている。これはリストマークのみならず様々な記述が可能となる。詳細に置いては「応用編」の「スタイルシートからの記述」を参照。

リストのマークを変える場合は、
(literal "・")
この中の「"」で囲まれた文字がリストマークとなり、 上記の例は「・」であるが、「◎」、「△」、「●」などに変えるとその文字が記述されることになる。


出力結果

出力結果


up
番号付きのリストを作成


インスタンス例

上記と同じ

スタイルシート例

<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN">
<style-sheet>
<style-specification>
<style-specification-body>
;以下にDSSSLを記述してください。

(root		;全体を指定
	(make simple-page-sequence	;シンプルなレイアウトを行う
		page-width: 210mm		;用紙サイズの幅「A4」の大きさ
		page-height: 297mm		;用紙サイズの縦「A4」の大きさ
		left-margin: 20mm
		right-margin: 30mm
		top-margin: 30mm		;それぞれのマージン(余白)の指定
		bottom-margin: 30mm
		language: 'JA		;日本語の記述
	)
)

;リストを作成する記述
(element li					;タグ名を指定
	(make paragraph				;一文を作る
		font-size: 12pt
		line-spacing: 15pt			;行送り量を指定
		first-line-start-indent: -12pt
		(literal (format-number (child-number (current-node)) "1") " ")
		;番号を付ける記述
		(process-children)
	)
)


;以上にDSSSLを記述指定ください。
</style-specification-body>
</style-specification>
</style-sheet>
        

解説

上記のスタイルシート例において、
(literal (format-number (child-number (current-node)) "1") " ")
の個所が番号の記述を意味することになる。

(current-node)
は現在処理しているノード(タグ)を意味しており、その前の
child-number
は何番目の子供を扱っているかを意味している。
format-number
は番号を付けるフォーマット(形式)を示しており、上記の例は
"1"
と記述されているので数値で番号付けを行うことを意味している。

リストの番号を変える場合、上記の例は数値による番号を記述する例である。
その他の番号を記述する場合、上記のスタイルシート例の「番号を付ける記述」

(literal (format-number (child-number (current-node)) "1") " ")

の個所に「"」で囲まれて「1」が記述されているが、この個所が番号を記述する意味を示している。 この個所を「A」にすると、リスト番号が「A」「B」「C」「D」・・・・とアルファベット順になる。
また「a」とすると小文字のアルファベットが並ぶことになる。

また最後に「"」で囲まれた部分がリスト番号とタグ内の情報を出力する際の記述になる。上記の例はスペースを入れている。



出力結果

出力結果