XML(eXtensible Markup Language)と XHTML 1. XML 入 門 XML とは extensible Markup Language の 略 で 拡 張 可 能 なマークアップ( 印 を 付 けた) 言 語 と いう 意 味 を 持 つ マークアップとは, 本 体 となる 文 字 列 の 中 に, 特 定 の 機 能 を 持 った 文 字 (タグ) を 使 って 意 味 や 機 能 を 書 き 込 むことを 意 味 する その 際 に 重 要 なことは, 本 文 の 文 字 と 機 能 を 示 す 記 号 が, 同 じ 種 類 の 文 字 によって 書 かれているということである これによって,データ 本 体 だけではなく,その 意 味 や 機 能 も 同 時 にひとつの 文 書 中 で 表 現 することが 可 能 となる 従 来, 一 般 的 なアプリケーションが 使 用 するデータは,そのアプリケーションのみに 対 応 する ものであった また,データ 交 換 用 に 用 いられる CSV(Comma Separated Value)はデータの 構 造 を 持 たず, 出 現 順 序 のみに 依 存 する 体 系 を 持 っているため, 効 果 的 な 運 用 をするのは 困 難 な 場 合 が あった しかし,データが XML 文 書 になっていれば, 記 述 の 整 合 性 のチェックやデータ 構 造 を 変 換 したいときなどに XML に 対 応 した 汎 用 のツールが 使 用 できる このことは,データが 単 一 のア プリケーションだけに 限 定 されたものではなく,プラットフォームの 枠 を 越 えて, 多 くのソフト ウェアで,また 多 くの 業 務 で 共 通 して 利 用 可 能 になったことを 意 味 する また,アプリケーション 側 にとっても 大 きなメリットがある たとえば, 各 アプリケーション で 取 り 扱 う 機 能 が 増 えてグラフィックスや 数 式, 音 声 などといったデータを 取 り 扱 う 場 合, 利 用 者 の 要 求 に 応 じた 形 でこれを 処 理 するためには, 多 くの 機 能 を 開 発 し 提 供 する 必 要 がある しか し,データが XML 文 書 形 式 であれば,アプリケーション 開 発 者 は, 独 自 にグラフィックスや 数 式 や 音 声 を 表 現 するためのデータ 形 式 を 考 え 出 す 必 要 はなく 汎 用 のものを 使 用 すればよいだけとな る XML でそれらのデータを 記 述 する 方 法 が,SVG や MathML や VoiceXML といった 仕 様 として 存 在 している これらをデータ 形 式 として 流 用 すれば, 簡 単 で 短 期 間 に,しかも 完 成 度 の 高 いものを 実 現 することができる また,タグを 自 由 に 記 述 することができるということは,データの 表 現 力 を 豊 かにすることに もなった たとえば, 赤 いきつねと 緑 のたぬき という 表 現 がある 場 合, 赤 い 緑 の と いう 修 飾 部 と きつね たぬき という 被 修 飾 部 の 関 係 が 重 要 となるが, 従 来 の HTML などでは これを 表 現 することが 困 難 であった そのため, 赤 いたぬき 緑 のきつね といった 関 係 な いものも 検 索 されることとなっていた これが XML を 使 用 して, 修 飾 部 および 被 修 飾 部 それぞれ に 適 切 なタグを 付 与 することで, 確 実 に 求 める 情 報 にアクセスすることができるようになる XML 用 の 検 索 言 語 も,すでに XML の 関 連 規 格 として XML でコンテンツを 記 述 した Web サイトを 対 象 に 検 索 を 実 行 する 検 索 言 語 XQL(XML Query Language)の 検 討 が 進 んでいる このような 考 え 方 は 昔 から 存 在 していた しかし,データ 量 が 増 加 することや, 文 字 以 外 のデ ータは 変 換 が 必 要 になるなど,コンピュータ 処 理 を 行 う 上 での 効 率 が 低 下 することから, 今 まで は 実 現 のための 努 力 はほとんどはらわれてこなかったのである コンピュータの 処 理 能 力 に 余 裕 が 生 まれてきた 現 代 においては,かつてのようにデータを1ビ ットでも 圧 縮 して 記 録 し, 処 理 することよりも 扱 いやすい わかりやすい ことが 重 要 視 さ れるようになってきた また,コンピュータが 取 り 扱 う 範 囲 が 増 え, 一 部 の 天 才 的 職 人 に 依 存 し てはニーズを 満 たせないほどコンピュータの 利 用 は 増 加 の 一 途 をたどっている XML は,こうい う 時 代 の 背 景 に 合 致 する 技 術 として 注 目 を 集 めている XML 規 格 の 基 本 仕 様 は,あくまで, 文 書 の 構 造 を 規 定 したものにすぎない XML 文 書 は, 人 間 も 読 むことができるファイルではあるが,それだけで 何 かができるというものではない そこで, 実 際 に 使 用 するにあたっては 様 々な 仕 様 が 必 要 となる XML 文 書 の 書 き 方 を 定 めた XML 1.0 を 中 心 に,さまざまな XML に 関 する 仕 様 が 存 在 し,その 全 体 で XML の 利 用 範 囲 を 広 げている たとえば,XML 文 書 をほかのデータ 形 式 にコンバートするス クリプト 言 語 の XSLT,XML 文 書 間 のハイパーリンクを 記 述 するための XLink,HTML を XML 文 法 で 記 述 した XHTML などがこれにあたる - 1 -
2. XHTML XHTML は,eXtensible Hyper Text Markup Language の 略 である XML と HTML を 混 ぜたようた ような 名 前 の 通 り HTML の 代 わりを XML のサブセットにさせようという 仕 様 を 意 味 している すな わち,XML 文 法 に 従 って HTML を 記 述 し 直 したものであり,Web ページを 記 述 するという 用 途 に 特 化 した XML のサブセット 仕 様 と 言 うことができる XHTML は HTML と 同 様 に Web ブラウザで 表 示 できると 同 時 に XML 文 書 でもあるため,XSLT によっ て 変 換 したり,XML パーサで 整 合 性 をチェックするといった XML 文 書 としての 柔 軟 性 も 持 ち 合 わ せる また, 後 述 の SVG や MathML と 組 み 合 わせることで,HTML における IMG タグのように 外 部 に 構 成 要 素 が 配 置 される 形 ではなく, 処 理 を 行 う 統 一 的 な 枠 組 みの 中 に 位 置 づけることができる 現 在 では,HTML の 代 わりとして XHTML で 記 述 することも 多 くなってきている 現 実 問 題 としては XHTML とするための 違 いとしては, 以 下 のようにすること 程 度 で 十 分 ともいえる 1) タグの 開 始 と 終 了 関 係 をきちんとする 2) 終 了 タグの 存 在 しないものについては, <img src="a.gif" /> のように />で 閉 じる 3) 入 れ 子 構 造 を 許 さない 4) (これは XHTML の 要 件 ではないが) タグ 名 は 小 文 字 で 記 述 する 3. XML データ 構 造 の 例 以 下 は,データ 構 造 についても 記 述 した XML データの 例 である ここでデータ 構 造 について は DTD という 形 式 で 記 述 されている ここで2~8 行 目 が DTD であるが,このデータ 構 造 につ いては 記 述 をしないこともできる データ 構 造 を 記 述 した XML データを 妥 当 な XML, 記 述 しない 場 合 を 整 形 式 XML と 呼 ぶことがある( 妥 当 な XML は 整 形 式 XML のサブセットとなる) 1: <?xml version='1.0'?> 2: <!DOCTYPE 図 書 館 目 録 [ 3: <!ELEMENT 図 書 館 目 録 ( 図 書 DATA)+> 4: <!ELEMENT 図 書 DATA ( 書 名, 定 価, 著 者 )> 5: <!ELEMENT 書 名 (#PCDATA)> 6: <!ELEMENT 定 価 (#PCDATA)> 7: <!ELEMENT 著 者 (#PCDATA)> 8: ]> 9: < 図 書 館 目 録 > 10: < 図 書 DATA> 11: < 書 名 >XML 入 門 </ 書 名 > 12: < 定 価 >1200</ 定 価 > 13: < 著 者 > 情 報 太 郎 </ 著 者 > 14: </ 図 書 DATA> 15: < 図 書 DATA> 16: < 書 名 >Webサービス 入 門 </ 書 名 > 17: < 定 価 >3500</ 定 価 > 18: < 著 者 > 知 識 次 郎 </ 著 者 > 19: </ 図 書 DATA> 20: </ 図 書 館 目 録 > - 2 -
4. XML 宣 言 と 文 字 コード XML ファイルの 第 一 行 目 には,<?xml version= 1.0 encoding= Shift-JIS?>というよう な 行 が 書 かれる これは XML 宣 言 文 と 呼 ばれるものである この 行 自 体 は 省 略 可 能 であるが, 省 略 した 場 合 (や 記 述 した 場 合 でも encoding の 指 定 をしなかった 場 合 )には 文 字 コードがユニコー ド(UTF-8)と 解 釈 されてしまうため 注 意 が 必 要 である Shift-JIS で 記 述 する 場 合 には 上 記 のよう に 記 述 する 必 要 がある なお,メモ 帳 などを 使 用 して 作 成 した 場 合, 保 存 時 に 文 字 コードを UTF-8 に 指 定 することもできる 5. XML と Excel2003 Excel2003 以 降 では, 従 来 の Excel2002(Excel XP)までとは 異 なり,XML データをそのままで 処 理 することが 可 能 となった 図 書 データや 名 簿 など 表 形 式 で 管 理 するのが 適 当 なデータについて は XML と Excel2003 を 併 用 することが 非 常 に 便 利 である その 方 法 は 簡 単 で, 単 純 に XML デー タを プログラムから 開 く で Excel を 指 定 して 開 けばよいだけである その 後,XML データと して 読 み 込 むかどうかを 聞 いてくることになる ただし,Excel2003 で 最 初 から XML データを 作 成 する 方 法 は,まだ 使 いやすい 形 とはなってい ない 将 来 的 には Excel 上 での 作 成 も 簡 単 に 可 能 になることが 予 想 されるほか,Visual Studio や Infopath などのソフトウェアを 使 用 するという 方 法 もあるが, 現 状 ではメモ 帳 との 併 用 がもっと も 簡 単 である 具 体 的 には, 最 初 にメモ 帳 などを 使 用 して2 件 分 だけデータをタグ 付 けした 形 XML で 記 述 しておき,これを 読 み 込 むとよいだろう(1 件 だけしかデータを 入 力 していない 場 合 には 正 しく 解 釈 されない) 読 み 込 む XML データは Shift-JIS でもユニコード(UTF-8)でも 問 題 が ない 自 動 的 に 正 しく 文 字 コードの 解 釈 を 行 ってくれる XML データを 読 み 込 んだ 場 合 には,ワークシート 上 に 青 色 の 太 枠 でかこまれた 表 が 表 示 され る この 青 枠 内 が XML データの 表 示 部 である この 青 枠 の 最 下 段 にカーソルを 持 っていくと, アスタリスク(*)が 自 動 的 に 表 示 される これが XML データの 終 わりを 示 しており,データを 最 後 尾 に 追 加 する 場 合 にはこの 行 の 前 に 行 を 追 加 して 入 力 していけばよい 他 の Excel ファイルや CSV ファイル,テキストファイルなどから 読 み 込 んでくることも 可 能 であるので, 他 のシステム からのデータの 利 用 など 応 用 範 囲 は 非 常 に 広 いと 考 えられる また, 上 記 のように 行 を 追 加 することは 全 く 問 題 ないが,タグを 新 規 で 作 成 できないのと 同 様 に Excel2003 上 では 列 (フィールド/XML タグ)を 追 加 することはできないと 思 っていた 方 がよい Excel2003 上 では 正 しく 追 加 されたように 見 えるが,うまく XML データに 反 映 されていないこと があるためである データの 保 存 に 関 しては,Excel2003 の 保 存 において XML データとして 保 存 すればよい この 際,XML スプレッドシートというのは 全 く 違 うものであるため 注 意 が 必 要 となる また,XML データを 読 み 込 んだ 場 合 でも,そのファイル 名 は 保 持 されておらず 新 規 に 名 前 をつける 必 要 があ ることとなる また CSV ファイルとして 書 き 込 む 時 などと 同 様 に 何 度 も Excel ブックファイルで はないことの 注 意 (Warning)が 出 るのでうっとうしいということもある さらに, 作 成 されたファイルを 次 章 で 述 べるような XSL との 組 み 合 わせで 使 用 する 場 合 には 注 意 が 必 要 である すなわち,Excel2003 の XML データとして 保 存 した 場 合 には XML 宣 言 部 に 下 記 のように standalone="yes" 属 性 が 自 動 的 につけられてしまうため,これをメモ 帳 などで 取 り 除 く 必 要 がある 面 倒 だが... <?xml version="1.0" encoding="utf-8" standalone="yes"?> 6. XML と XSL XML はデータそのものを 表 現 するだけであるため,その 出 力 を 整 形 するためには, 以 下 のよう に XSL と 組 み 合 わせて 使 用 されることとなる - 3 -
ただし,XSLFO を 実 際 に 使 用 している 例 は 少 なく,XML を XSLT プロセッサによって HTML に 変 換 し,CSS を 使 用 してスタイルの 指 定 をすることが 多 い すなわち, 変 換 したい 対 象 ごとに 作 成 さ れた XSL ファイルを 元 に,これを XSLT プロセッサを 使 って XML で 記 述 されたデータに 適 用 するこ とで 求 める 形 のファイルを 作 成 しようとするものである たとえば,XML を HTML や XHTML に 変 換 するという 手 続 きを 書 いた XSL ファイルを 用 意 すれば,XML ファイルを HTML/XHTML で 書 かれたフ ァイルのように 表 示 することができる なお,この XSL ファイル 自 身 も XML の 規 約 に 基 づいて 書 かれている 注 意 すべきことがらとしては, 前 にも 書 いたが XML 宣 言 において standalone="yes" が 指 定 さ れている XML データファイルは XSL での 元 データとしては 使 用 できないことがあるため,Excel で 入 力 したデータなどを 使 用 する 場 合 には, 表 示 する 前 にあらかじめメモ 帳 などでこの 部 分 を 削 除 する 必 要 があることがあげられる 7. HTML/XHTML ファイルから XSL ファイルへ HTML を 作 成 できる 人 であれば,XML を HTML に 変 換 する XSLT を 作 成 することは 比 較 的 簡 単 であ る 具 体 的 には,まず HTML ファイルを 作 成 し,その 中 でコンテンツをあらわす 部 分 を,あたかも 差 し 込 み 印 刷 のように 指 定 することで 実 現 できる - 4 -
XML データを XSL を 用 いて HTML に 変 換 する 場 合, 以 下 の2つの 方 法 がある 1) XML ファイルに 直 接, 適 用 する XSL ファイル 名 を 指 定 する [ 具 体 例 ] <?xml version="1.0" encoding="utf-8"?> のうしろに <?xml-stylesheet type="text/xsl" href="student04.xsl"?> という 行 を 追 加 する 方 法 2) 適 用 パターンを 指 定 する XML ファイルを 作 成 し,この 中 で 適 用 される XML ファイルと 適 用 する XSL ファイルを 指 定 する [ 具 体 例 ] XMLデータファイルとは 別 に 以 下 のようなファイルを 作 成 する ここで,XML データフ ァイルは aaa.xml, bbb.xml, ccc.xml の3つとなり,XSL ファイルは ddd.xsl である <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE gakusei[ <!ENTITY data1 SYSTEM "aaa.xml" > <!ENTITY data2 SYSTEM "bbb.xml" > <!ENTITY data3 SYSTEM "ccc.xml" > ]> <?xml-stylesheet type="text/xsl" href="ddd.xsl"?> <gakusei> &data1; &data2; &data3; </gakusei> 上 記 の 準 備 をした 後,XSL ファイルを 作 成 することとなる HTML ファイルからのごく 簡 単 な 変 換 手 順 の 例 を 示 すと 以 下 のようになる 1) 単 純 に 最 初 と 最 後 に 以 下 を 挿 入 する <?xml version= 1.0 encoding= Shift-JIS?> <xsl:stylesheet version= 1.0 xmlns:xsl= http://www.w3.org/1999/xsl/transform > <xsl:template match= / > ここに,もともとの HTML ファイルがはいる </xsl:template> </xsl:stylesheet> 2) HTML 中 でコンテンツを 示 す 部 分 を 以 下 のように XML 中 のタグをもとに 取 り 込 めるように 指 定 する データ1 件 の 貼 り 込 み <xsl:value-of select="タグ 名 " /> 繰 り 返 し <xsl:for-each select="タグ 名 "> 並 べ 替 え <xsl:sort select="タグ 名 " order="ascending" /> 条 件 判 断 <xsl:if test=" 学 年 =2"> リンク 先 の 挿 入 <xsl:attribute name="href"> 3) たとえば, 具 体 例 としては 以 下 を 参 照 してほしい http://www.slis.keio.ac.jp/student.xml XML と XSL を 呼 び 出 しているファイル http://www.slis.keio.ac.jp/slis2004.xml XML データファイル http://www.slis.keio.ac.jp/student.xsl XSL ファイル - 5 -
5. XML ファイルと XSL ファイルの 指 定 HTML を 作 成 できる 人 であれば,XML を HTML に 変 換 する XSLT を 作 成 することは 比 較 的 簡 単 であ る 具 体 的 には,まず HTML ファイルを 作 成 し,その 中 でコンテンツをあらわす 部 分 を,あたかも 差 し 込 み 印 刷 のように 指 定 することで 実 現 できる XML データを XSL を 用 いて HTML に 変 換 する 場 合, 以 下 の2つの 方 法 がある 1) XML ファイルに 直 接, 適 用 する XSL ファイル 名 を 指 定 する [ 具 体 例 ] <?xml version="1.0" encoding="utf-8"?> のうしろに <?xml-stylesheet type="text/xsl" href="student04.xsl"?> という 行 を 追 加 する 方 法 2) 適 用 パターンを 指 定 する XML ファイルを 作 成 し,この 中 で 適 用 される XML ファイルと 適 用 する XSL ファイルを 指 定 する [ 具 体 例 ] XMLデータファイルとは 別 に 以 下 のようなファイルを 作 成 する ここで,XML データフ ァイルは aaa.xml, bbb.xml の2つとなり,XSL ファイルは ddd.xsl である <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE gakusei[ <!ENTITY data1 SYSTEM "aaa.xml" > <!ENTITY data2 SYSTEM "bbb.xml" > ]> <?xml-stylesheet type="text/xsl" href="ddd.xsl"?> <gakusei> &data1; &data2; </gakusei> 6. HTML/XHTML ファイルから XSL ファイルへ 上 記 の 準 備 をした 後,XSL ファイルを 作 成 することとなる HTML ファイルからのごく 簡 単 な 変 換 手 順 の 例 を 示 すと 以 下 のようになる 1) 単 純 に 最 初 と 最 後 に 以 下 を 挿 入 する <?xml version= 1.0 encoding= Shift-JIS?> <xsl:stylesheet version= 1.0 xmlns:xsl= http://www.w3.org/1999/xsl/transform > <xsl:template match= / > ここに,もともとの HTML ファイルがはいる </xsl:template> </xsl:stylesheet> 2) HTML 中 でコンテンツを 示 す 部 分 を 以 下 のように XML 中 のタグをもとに 取 り 込 めるように 指 定 する データ1 件 の 貼 り 込 み <xsl:value-of select="タグ 名 " /> 繰 り 返 し <xsl:for-each select="タグ 名 "> 並 べ 替 え <xsl:sort select="タグ 名 " order="ascending" /> 条 件 判 断 <xsl:if test=" 学 年 =2"> リンク 先 の 挿 入 <xsl:attribute name="href"> - 6 -
3) 基 本 形 たとえば, 具 体 例 として Table で 表 示 されていた XHTML を XSL に 変 更 した 例 を 示 す [Original] ( 関 係 する<table>タグの 部 分 のみ また 表 頭 部 分 は 省 略 ) <td>webページを 用 いた 図 書 館 の 情 報 発 信 </td> <td> 細 野 公 男 </td> <td> 慶 應 義 塾 大 学 出 版 会 </td> <td> 図 書 館 情 報 学 基 本 論 文 集 </td> <td> 上 田 修 一 </td> <td> 剄 草 書 房 </td> ここでは, 各 行 に タイトル 著 者 名 出 版 社 という3つの 内 容 が 記 述 されて いる つまり~の 間 を 単 位 として 繰 り 返 しが 指 定 されている このような 繰 り 返 し 単 位 がどの 範 囲 なのかを 最 初 に 見 つけることが 必 要 となる 繰 り 返 し 単 位 がみつかったら,その 間 を1セットだけ 残 し, 前 後 を 繰 り 返 し 処 理 を 指 定 する <xsl:for-each>タグではさみこむ ここで, 開 始 タグの select 属 性 には,XML ファイル 中 で 各 図 書 に 対 して 付 与 されたタグを 指 定 する グ [XSL 化 後 ] ( 関 係 する<table>タグの 部 分 のみ また 表 頭 部 分 は 省 略 ) <xsl:for-each select="/bookdb/book"> <td> <xsl:value-of select="booktitle" /></td> <td> <xsl:value-of select="author" /></td> <td> <xsl:value-of select="publish" /></td> </xsl:for-each> 繰 り 返 し 開 始 タイトルを 示 すタ 著 者 名 を 示 すタグ 出 版 社 を 示 すタグ 繰 り 返 し 終 了 たとえば, 上 記 の 例 では 以 下 のような XML ファイルを 使 用 することを 前 提 としている つまり,select 属 性 で 指 定 した 部 分 には, "XML ファイル 全 体 として 指 定 したタグ/ 各 図 書 を 意 味 するために 指 定 したタグ" を 指 定 する - 7 -
<?xml version="1.0" encoding="utf-8"?> <bookdb> <book> <author> 細 野 公 男 </author> <booktitle>web ページを 用 いた 図 書 館 の 情 報 発 信 </booktitle> <publish> 慶 應 義 塾 大 学 出 版 会 </publish> <url>http://www.slis.keio.ac.jp/ </url> <price> 1200 </price> <pubyear>2001</pubyear> </book> 以 下 <book>タグの 繰 り 返 し </bookdb> </?xml> ついで, 各 データ 内 容 には 各 図 書 の 内 容 に 関 するタグのうち, 表 示 したい 内 容 のタグ の 名 前 を <xsl:value-of select=" "> の 中 に 指 定 する これによって, 各 図 書 のデータが 繰 り 返 し 表 示 されることとなる 4) 並 べ 替 えと 条 件 判 断 下 のように,<xsl:for-each>の 次 に <xsl:sort>タグを 使 用 して 指 定 する ここで,select 属 性 には 並 べ 替 えをする 対 象,order には 大 きい 順 か 小 さい 順 か を 指 定 する グ [ 並 べ 替 えと 条 件 判 断 を 行 っている 例 ] <xsl:for-each select="/bookdb/book"> 繰 り 返 し 開 始 <xsl:sort select="price" order="ascending" /> <xsl:if test="pubyear=2001"> <td> <xsl:value-of select="booktitle" /></td> <td> <xsl:value-of select="author" /></td> <td> <xsl:value-of select="publish" /></td> </xsl:if> </xsl:for-each> タイトルを 示 すタ 著 者 名 を 示 すタグ 出 版 社 を 示 すタグ 繰 り 返 し 終 了 また, 条 件 判 断 については, 同 じように<xsl:for-each>の 内 側 に<xsl:if test="...">のよう に 指 定 する ここで,<xsl:sort />タグは 終 了 タグが 存 在 しないが,<xsl:if>タグは 終 了 タグ が 存 在 していることに 注 意 が 必 要 である 5) リンク 先 の 指 定 実 は,XSL を 用 いて 指 定 をする 場 合,XML ファイルに 蓄 積 したリンク 先 をデータとし て 使 用 することはできない つまり,リンク 先 を 指 定 しようとしても, 以 下 のようには 指 定 できないのである( 印 参 照 ) この 例 のような 指 定 では<xsl:value-of select>タグ 全 体 が 別 のタグに 含 まれてしまうような 指 定 になってしまい, 正 しく 判 断 されないのである - 8 -
[ 並 べ 替 えと 条 件 判 断 を 行 っている 例 ] <xsl:for-each select="/bookdb/book"> <td> <xsl:value-of select="booktitle" /></td> <td> <xsl:value-of select="author" /></td> <td> <xsl:value-of select="publish" /></td> <td> <a href="<xsl:value-of select="url">"> リンク 先 </a></td> </xsl:for-each> そこで,このような 時 には <xsl:attribute name="href"> のようなタグを 使 用 して 指 定 することになる つまり,<a href="url"> という 指 定 自 体 が <a> <xsl:attribute name="href"> URL </xsl:attribute> のように 指 定 されることになり,この URL 部 分 に<xsl:value-of select="url">のような 指 定 をする [ 並 べ 替 えと 条 件 判 断 を 行 っている 例 ] <xsl:for-each select="/bookdb/book"> <td> <xsl:value-of select="booktitle" /></td> <td> <xsl:value-of select="author" /></td> <td> <xsl:value-of select="publish" /></td> <td> <a> <xsl:attribute name="href"> <xsl:value-of select="url"></xsl:attribute> リンク 先 </a></td> </xsl:for-each> - 9 -