Help us understand the problem. What is going on with this article?

XMLをXSLTを使ってHTML文書にする

More than 3 years have passed since last update.

XMLを使うと、パソコンにわかりやすい文書データファイルが作ることができます。
それを、人間にわかり易い文章にするにはHTMLにするとわかりやすいです。
それにはXSLT(XSL Transformations)XML変換言語を使います。
ちなみにブラウザはInternet Explorerが良いです。

XSLを使うと?

  • 人間にもPCにもわかりやすい文書ができます。したがって、とても効率のよい文書が作れるわけです。
  • XMLを使うことによってデータファイルを視覚化することができ、データ交換にも役立ちます。

作り方

XMLサンプルファイルをSampleFile.xmlとし、XSLTファイルをStyleDesign.xslとします。

SampleFile.xml
<?xml version="1.0" encoding="UTF-8" ?> 
<?xml-stylesheet type="text/xsl" href="StyleDesign.xsl"?>
<page>
  <class>
    <students>
      <no>1</no> 
      <name>山田太郎</name> 
      <age>13</age> 
      <tel>000-0000-0004</tel> 
    </students>
    <students>
      <no>50</no> 
      <name>井上智也</name> 
      <age>54</age> 
      <tel>555-2555-5555</tel> 
    </students>
    <students>
      <no>1401</no> 
      <name>塩田よし子</name> 
      <age>32</age>
      <tel>555-7878-4444</tel>
    </students>
  </class>
</page>
StyleDesign.xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <html>
  <head>
  <title>XMLとXSLT</title>
  </head>
  <body>
    <p style="text-align: center">とにかく表示してみよう</p>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>

このように書くと↓のようになります。
tetetetet.JPG

コードの説明

  • 1行目が「このテキストはXMLですよ。」という意味です。
  • 2行目は「このXMLテキストを表示するのに使用するXSLTファイルはこれですよ。」という意味です。

SampleFile.xml

1行目: <?xml version="1.0" encoding="UTF-8"?>←エンコードはUTF-8
2行目: <?xml-stylesheet type="text/xsl" href="StyleDesign.xsl"?>←このXSLTを使いますという宣言
3行目以降: <!--・・・・・構造にしたがったタグ付きテキスト・・・・・-->

StyleDesign.xsl

1行目:<?xml version="1.0" encoding="UTF-8"?>←XML宣言
2行目:<xsl:stylesheet version="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform">←スタイルシート宣言
3行目~:
<xsl:template match="要素">
・・・ここに、もとの要素をどのように変換するかを書きます・・・
</xsl:template>

↑スタイルシートの基本は、3行目以降から書かれているxsl:template要素です。このxsl:template要素で、もとのXMLドキュメントのどの要素をどのようなものに変換するかを示します。xsl:templateの開始タグのmatch属性で、変換前のXMLドキュメントのどの要素を変換するかを指定します。実際には、色々な指定をするためにxsl:templateタグで囲まれた指定がたくさん必要になります。
そして要素(Element)とMatchを使ってHTMLにしていきます。

XPathについて

詳しくはXPathまとめというQiitaの記事が参考になります。
このXPathを使ってXMLが成り立っているのです。

まとめ

この方法を使っていけばどんどんいい文書が作れると思います。CSSなども使えるので試してみてくださいね。
参考サイト:楽しいXML

TongariAtamago
HTMLやXMLはもっと有効活用すべきだ!(と言いながらもXMLよりJSONのほうが好き。)
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away