2004年06月06日(日)更新 |
■XMLスプレッドシート(XMLSS)形式の内容
たけち: 前回は【kajin2_XMLSS.xml】を例にXMLスプレッドシート(XMLSS)形式がどんなものかをみたよね。 さらら: そうね。今回は、【kajin2_XMLSS.xml】を使ってXSLTでHTMLに変換してみるんでしょ?! たけち: うん、そうしよう。 さらら: でも、前回【kajin2_XMLSS.xml】を見たけど、なんだかいっぱいタグがあってどれをどう変換していいのか分からないわ。 たけち: そうだね。まず、肝心のデータがどこにあるかだけれど、よ〜く見ていくと、48〜94行目のTable要素とその子孫の要素がデータを持っていそうなところだよね。属性がたくさんあるから一見わかりにくいけれど、属性をとってみると、全体の構造が把握できるよ。 |
|
XMLスプレッドシートの例 【kajin2_XMLSS.xml】の一部 |
---|
48: <Table 49: > 50: <Column /> 51: <Column /> 52: <Column /> 53: <Column /> 54: <Row> 55: <Cell><Data>id</Data><NamedCell 56: /></Cell> 57: <Cell><Data>name</Data><NamedCell 58: /></Cell> 59: <Cell><Data>age</Data><NamedCell 60: /></Cell> 61: <Cell><Data>address</Data><NamedCell 62: /></Cell> 63: </Row> 64: <Row> 65: <Cell><Data>1</Data><NamedCell 66: /></Cell> 67: <Cell><Data>大伴家持</Data><NamedCell 68: /></Cell> 69: <Cell><Data>36</Data><NamedCell 70: /></Cell> 71: <Cell><Data>yakamochi@example.com</Data><NamedCell 72: /></Cell> 73: </Row> 74: <Row> 75: <Cell><Data>2</Data><NamedCell 76: /></Cell> 77: <Cell><Data>額田王</Data><NamedCell 78: /></Cell> 79: <Cell><Data>28</Data><NamedCell 80: /></Cell> 81: <Cell><Data>nukata@example.com</Data><NamedCell 82: /></Cell> 83: </Row> 84: <Row> 85: <Cell><Data>3</Data><NamedCell 86: /></Cell> 87: <Cell><Data>柿本人麻呂</Data><NamedCell 88: /></Cell> 89: <Cell><Data>45</Data><NamedCell 90: /></Cell> 91: <Cell><Data>hitomaro@example.com</Data><NamedCell 92: /></Cell> 93: </Row> 94: </Table> |
■XSLTの作成
たけち: こうして属性をはがしてみると、たいしてHTML/XHTMLのtable要素と違わないことがわかるよね。 さらら: う〜んと・・・XHTMLのtableにあたるのがTable要素で、XHTMLのtr要素にあたるのがRow要素になるわけね。 たけち: うん。td要素にあたる部分がややこしいけれど、Cell要素のData要素の中に、肝心のデータがあるわけなんだ。そもそもtrというのはtable rowの略だし、tdはtable dataの略なんだから、名前そのものだって、そんなに違うわけじゃないんだよ。それから、これらの要素は さらら: あ、そうなのね。こうしてみると、XHTMLのtable要素がちょっと複雑になっただけっていう気がするわ。 |
たけち: じゃあ、この構造を頭に入れた上でXSLTを書いてみようか。 さらら: えぇ。。。でも、このExcelのXMLスプレッドシート(XMLSS)形式のファイルにスタイルシート処理命令を書こうと思ったら、一度テキストエディタを立ち上げて、そこで書かないといけないのよねぇ。 たけち: そんなことをする必要はないよ。XSLTには他のファイルを読みに行くdocument関数というものがあったよね。それを利用すればいいんだから。 さらら: あ、そうか! たけち: まず次のような【kajin_display.xml】を用意してみよう。 |
|
変換用XMLの例 【kajin_display.xml】 |
---|
<?xml version="1.0" encoding="Shift_JIS"?> |
■【kajin_display.xsl】の内容
たけち: ここではWebページのタイトルを「万葉歌人の名簿」とし、そのデータを"kajin_XMLSS.xml"から持ってくることを示しているんだ。 さらら: はい。 たけち: じゃあ次にXSLT側を示すね。 |
XSLTの例 【kajin_display.xsl】 |
---|
<?xml version="1.0" encoding="Shift_JIS"?> |
■【kajin_display.xml】による表示
たけち: 確認のために、これらのファイルの関係を図に示しておくね。 さらら: はい。 |
さらら: なるほど・・・ たけち: じゃあ、この【kajin_display.xml】をInternet Explorerで表示してみよう。確認のために、これらのファイルの関係を図に示しておくね。 さらら: えぇ。どうなるのかしら。 |
【kajin_display.xml】の表示結果
さらら: あっ、見えた!! たけち: これでExcelのデータを使って、Webページを表示することができたよね。 さらら: すご〜い (^ ^) たけち: こういうふうに「XMLスプレッドシート(XMLSS)」形式のExcelファイルというのは、操作のしやすさや情報はExcel本来のxls形式に準じているし、XMLファイルだから、XMLを操作できるいろいろなツールで利用することができるわけで、利用の仕方というのはアイデア次第でいろいろなことが考えられるんだね。なかなか便利だから覚えておこうね。 さらら: は〜い。 →つづきます。 (^ ^; |
|
■このコーナーは、TAKABEさま(XSLT登竜門)の全面的なご協力をいただいて作成しています。 |