ホームDSSSL研究室 » DSSSL技術マニュアル » スタイルシートからの記述

スタイルシートからの記述

スタイルシートからデータの記述を行う手法で、インスタンスに記述されていないデータを出力させます。

DTD&インスタンスの記述例

<?xml version="1.0" encoding="Shift_Jis"?>
<!DOCTYPE sample[
<!ELEMENT sample (p+,date,number)>
<!ELEMENT p (#PCDATA)>
<!ELEMENT date (year,month,day)>
<!ELEMENT year (#PCDATA)>
<!ELEMENT month (#PCDATA)>
<!ELEMENT day (#PCDATA)>
<!ELEMENT number (#PCDATA)>
]>
<sample>
	<p>DSSSLスタイルシートからの出力例</p>
	<p>インスタンスと見比べて下さい。</p>
	<date>
		<year>2001</year>
		<month>9</month>
		<day>11</day>
	</date>

	<number>100</number>

</sample>
          


DSSSLスタイルシートの記述

<!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 p
	(make paragraph
		font-size: 20pt
		quadding: 'center
		space-after: 30pt
		space-before: 30pt))

;タグ「date」の全体を指定。
(element date
	(make paragraph
		font-size: 18pt
		font-weight: 'bold
		quadding: 'end))

;タグ「year」の指定
(element year
	(make sequence
		(process-children)		;タグ内のデータを出力(この場合は「year」のデータ)
		(literal "年 ")))		;「年」の文字を出力させる。

;タグ「month」の指定
(element month
	(make sequence
		(process-children)		;タグ内のデータを出力(この場合は「month」のデータ)
		(literal "月 ")))		;「月」の文字を出力させる。

;タグ「day」の指定
(element day
	(make sequence
		(process-children)		;タグ内のデータを出力(この場合は「day」のデータ)
		(literal "日")))			;「日」の文字を出力させる。

;タグ「number」の指定
(element number
	(make paragraph
		font-size: 20pt
		space-before: 80pt
		(literal "報告書番号 第")		;「報告書番号 第」の文字を出力させる
		(process-children)		;タグ内のデータを出力(この場合は「number」のデータ)
		(literal "号")))			;「号」の文字を出力させる。


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

出力結果

出力結果