• 検索結果がありません。

XSLの活用と技術内容の紹介

N/A
N/A
Protected

Academic year: 2021

シェア "XSLの活用と技術内容の紹介"

Copied!
26
0
0

読み込み中.... (全文を見る)

全文

(1)

XML Consortium

XML Consortium

XSLの活用と技術内容の紹介

XMLコンソーシアム

基盤技術部会 共通基盤

WG

XSL/XSLT SWG

ネクストソリューション株式会社 加藤上直 日本ユニシス株式会社 小林 茂

(2)

XML Consortium

XML Consortium

Agenda

„

XSLとは

„

XSL-FOの概観

加藤 上直

„

XSLTとXSL-FOのサンプル中心の紹介

小林 茂

(3)

XML Consortium

XML Consortium

„

XSLとは

(4)

XML Consortium

XML Consortium

XSLとは

„

XSLとは,スタイルシートを表現するための言語である。

„

W3Cにて 1.0 が 2001-10-15 に勧告済み。

„

XSLの構成要素は次の二つである

„

XML文書を変換するための言語

(XSLT)

„

フォーマット化セマンティクスを指定するための

XML語彙

(XSL-FO【Formatting-Object】)

スタイル

シート

フォーマット化

言語

XML文書

(5)

XML Consortium

XML Consortium

スタイル関連の規格化

XML 1.0

勧告 1998-02-10

構文

XSLT

勧告 1999-11-16

XPath

勧告 1999-11-16

XPointer

WD3 1999-12-06 XSL WD4 2000-01-12 XSL WD5 2000-03-01 XSL WD6(LastCall) 2000-03-27 XLink 勧告候補 2000-07-03 XPointer 勧告候補 2000-06-07 XSL WD7 2000-10-18

XSL

勧告候補 2000-11-21

XSLT

1.1 WD 2000-12-12 XPath2.0 要件,WD2 2001-02-15 XPath2.0 要件,WD2 2001-02-15

XLink

勧告案 2000-12-20 XPointer WD4 2001-01-08

XLink

勧告 2001-06-27

XSLT

1.1 WD2 2001-08-24

XSL

勧告案 2001-08-28 XPointer 勧告候補 2001-09-11

XSL

勧告 2001-10-15

XSLT

2.0 WD2 2002-04-30

XLink

WD3 1999-12-20

XLink

WD4 2000-01-19

XLink

WD(LastCall) 2000-02-21

(6)

XML Consortium

XML Consortium

スタイル化の他規格との関係

DSSSL

変換

スタイル

XSL

XSLT

XSL-FO

スキームの概念

FOSI

・Formatting output specification instance

・米国の軍事規格として用いられた

(7)

XML Consortium

XML Consortium

ユーザ I/F

PDF

Post

Script

Text, ・・・

FO

エンジン

SVG

フォーマッタ

スタイル付けのプロセス

FO

(XML)

„

Apache XML Project: FOP 0.20.3

(コマンドライン指示)

„

アンテナハウス社: XSL Formatter V2.1

„

その他

: RenderX社:

XEP

, ・・・

(http://www.w3.org/Style/XSL/

を参照)

ソース

(XML)

XSLT

エンジン

プロセッサ

FO

(XML)

XSLT

(XML) HTML

(8)

XML Consortium

XML Consortium

XSLで出来ること

ドキュメントに必要な項目の自動生成

„

ページ番号

„

タイトル一覧【目次】

„

章・節・項の番号

„

索引

„

段組

(9)

XML Consortium

XML Consortium

段落の指定

<fo:block

background-color="lightgreen"

space-before.optimum="5pt"

space-after.optimum="5pt"

font-weight="bold"

font-size="12pt"

>

Introduction

</fo:block>

Introduction

a aa aaa aaaa aaaaa aaaaaa aaa・・

aaaaaaaaaa a aa aaa aaaa aaaaa aaa・・

<fo:block text-indent="1em">

a aa aaa aaaa aaaaa aaaaaa aaaaaaa ・・・・

a aa aaa aaaa aaaaa aaaaaa aaaaaaa ・・・・

</fo:block>

(10)

XML Consortium

XML Consortium

リストの指定

<fo:list-block provisional-distance-between-starts="20pt" provisional-label-separation="2pt" > <fo:list-item> <fo:list-item-label end-indent="label-end()"> <fo:block color="blue">*</fo:block> </fo:list-item-label> <fo:list-item-body start-indent="body-start()"> <fo:block>Item1 AAAAAAAA・・・.</fo:block> </fo:list-item-body> </fo:list-item> ・・・・・ 残りのfo:list-item ・・・・・ </fo:list-block> * Item3 CCCCCCCC・・・ * Item1 AAAAAAAA・・・ * Item2 BBBBBBBB・・・

(11)

XML Consortium

XML Consortium

画像の指定

<fo:block space-before="10mm" space-after="1mm">

<fo:inline color="red">Image</fo:inline>

<fo:block text-align="center">

<fo:external-graphic src="xml_blue_small3.jpg"/>

</fo:block>

・・・・・・ 中略 ・・・・・・

</fo:block>

(12)

XML Consortium

XML Consortium

ページ番号の指定

„ 下部のリージョンにページ番号を設定する <fo:static-content flow-name="xsl-region-after"> <fo:block text-align="start" font-size="10pt" font-family="serif" line-height="1em + 2pt" > Page <fo:pagenumber/> -</fo:block> </fo:static-content> ページ参照領域 リージョン ビューポート 領域 Page nn -ページ番号は

(13)

XML Consortium

XML Consortium

出来ないレイアウト(1)

一部分に領域を作成して

画像等を埋めることは不可

画像・テーブルなど

(14)

XML Consortium

XML Consortium

出来ないレイアウト(2)

画像

異なる複数カラムは

同一ページ内では

表示が出来ない

(15)

XML Consortium

XML Consortium

他のスタイル言語

(CSS)

p{ font-size:10pt;

font-weight:normal;

font-style:italic;}

タグ「p」のスタイルを

フォントのサイズを10pt

太さは通常

イタリック体

に出力指定する

(16)

XML Consortium

XML Consortium

他のスタイル言語

(DSSSL)

(element p

(make paragraph

font-size=10pt

font-weight=“bold”

font-posture=“italic”

)

)

タグ名「p」は

段落を作成

フォントの大きさを10pt

フォントの太さは太字

イタリック体

で出力指定する

参考文献:

(17)

XML Consortium

XML Consortium

他のスタイル言語

(FOSI)

<charsubset charsubsetid=“titlestyle”>

<font size=“10pt”

posture=“upright”

weight=“bold”>

</charsubset>

←idをつける

レイアウトを指定する

<e-i-c gi=“

title

”>

<charlist charsubsetref=“titlestyle”></charlist>

</e-i-c>

(18)

XML Consortium

XML Consortium

(19)

XML Consortium

XML Consortium

スタイル付けのプロセス

FOP 0.20.3 XSL Formatter V2.1

ソース

(XML)

XSLT

(XML)

XSLT

エンジン

プロセッサ

PDF

FO

エンジン

フォーマッタ

FO

(XML)

(20)

XML Consortium

XML Consortium

章・節・項のレイアウト指示

<xsl:template match="chapter"> <fo:block break-before="page" space-before.optimum="5pt" > <xsl:apply-templates/> </fo:block> </xsl:template> <xsl:template match="section"> <fo:block space-before.optimum="5pt" space-after.optimum="10pt" >

タイトル

<fo:block break-before="page" space-before.optimum="5pt" > <fo:block id=“ABCWXY"> 1 章のタイトル</fo:block> <fo:block space-before.optimum="5pt" space-after.optimum="10pt" > <fo:block id=“ABCXYZ"> 1.1 節のタイトル</fo:block> <fo:block> ・・・・・・・・・節のデータ・・・・・・・・・ </fo:block> </fo:block> </fo:block> <xsl:template match="title"> <fo:block id="{generate-id()}"> <xsl:number level="multiple" count="chapter|section|subsection" format="1.1 "/> <xsl:apply-templates/> </fo:block> XSLT 変換 IDの生成 (XSLTの ファンクション)

FOの出力内容

(21)

XML Consortium

XML Consortium

目次の作成

<xsl:template match="title" mode="header"> <fo:block> <xsl:number level="multiple" count="chapter|section|subsection" format="1.1 "/> <xsl:value-of select="text()"/> <xsl:text> </xsl:text> <fo:leader /> <xsl:text> </xsl:text> <fo:page-number-citation ref-id="{generate-id()}"/> </fo:block> </xsl:template>

<xsl:apply-templates select="/book/body//

title

"

mode="header"/>

1 chapter-abcdefg 3 1.1 section-abcdefg-001 3 章節項の番号は XSLTエンジンで生成 ページ番号 が右揃え ページ番号は FOエンジンで生成

(22)

XML Consortium

XML Consortium

索引の指定

<xsl:template match="index" mode="index"> <fo:block> <fo:basic-link internal-destination="{generate-id()}"> <xsl:value-of select="@title" /><fo:leader leader-length="3em" leader-pattern="dots" /><fo:page-number-citation ref-id="{generate-id()}"/> </fo:basic-link> </fo:block> <fo:block> data-004-000000

<fo:inline visibility="false" id="IDAQ0HW"/> data-004-999999 </fo:block> w=data-04-in-aa ...….…. 2 索引ページ中

XML

XSLT

FO

<div> data-004-000000 <index title="w=data-04-in-aa"/> data-004-999999 </div>

<xsl:template match="index"

><fo:inline visibility="false" id="{generate-id()}" /></xsl:template> <fo:block> <fo:basic-link internal-destination="IDAQ0HW"> w=data-04-in-aa <fo:leader leader-length="3em" leader-pattern="dots"/> <fo:page-number-citation ref-id="IDAQ0HW"/> </fo:basic-link> </fo:block> 索引ページ 本文 本文用 本文のデータ

(23)

XML Consortium

XML Consortium

FOPの使用例

XML+XSLTを入 力しPDFを生成

処理経過を出力

MSXSLで

FOを生成

FOを入力し PDFを生成。 処理状況表示なし

(24)

XML Consortium

XML Consortium

(25)

XML Consortium

XML Consortium

全体のまとめ

„

ソフトウェアによって出力が異なる

„

規格自体はまだ不十分である

„

デバイスの違いなどソフトウェア、規格の及ばない範囲での

違いが生ずる

„

XSL-FOの利用頻度が低い

„

XSLTを用いて、HTMLを出力することで終わってしまう

„

XSLは「XSLT」「XSL-FO」の2つで成り立っている

„

XSL」と言いつつ「XSLT」のみを指している場合がある

(26)

XML Consortium

XML Consortium

関連サイト

„

W3C 各種規格の公開

http://www.w3.org/TR/

http://www.w3.org/Style/XSL/

„

XSL仕様 勧告版

http://www.w3.org/TR/xsl/

参照

関連したドキュメント

物品賃貸業,専門サービス業,広告業,技術サービス 業,洗濯・理容・美容・浴場業,その他の生活関連サー

ガイダンス: 5G 技術サプライヤと 5G サービスプロバイダは、 5G NR

P.19 ・ペアで、自分の立場で答える形でチャンツを 言う。 【Let's Listen】P.20

1-1 睡眠習慣データの基礎集計 ……… p.4-p.9 1-2 学習習慣データの基礎集計 ……… p.10-p.12 1-3 デジタル機器の活用習慣データの基礎集計………

In this diagram, there are the following objects: myFrame of the Frame class, myVal of the Validator class, factory of the VerifierFactory class, out of the PrintStream class,

事 業 名 夜間・休日診療情報の多言語化 事業内容 夜間・休日診療の案内リーフレットを多言語化し周知を図る。.

つまり、p 型の語が p 型の語を修飾するという関係になっている。しかし、p 型の語同士の Merge

住所 〒163-8001 東京都新宿区西新宿2-8-1 都庁第二本庁舎20階 電話 03-5388-3481(直通).