LoginSignup
21

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-07-09

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21