- - PR -
1つのxmlからXSLTを使って、複数のhtmlを出力する方法(ソース付き)
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-04-03 14:46
いつも勉強させていただいています。
1つのxmlからXSLTを使って、複数のhtmlを出力する方法を探しています。 入力.xmlを変換.xslで処理して、出力.htmlを出力しています。 出力.htmlから、3つのファイル(XSLT_Part1.html、XSLT_Part2.html、XSLT_Part3.html)へリンクしています。 この3ファイルを、自動的に出力する方法はありますでしょうか? XSLT_Part[1-3].htmlファイルには、それぞれタイトルにXSLT_Part[1-3]を指定したいと思います。 作りたいサンプルは一番下に書いてあります。 ●実行.bat msxsl.exe 入力.xml 変換.xsl -o 出力.html ●入力.xml <?xml version="1.0" encoding="Shift_JIS"?> <article> <title>XSLT_Part1</title> <title>XSLT_Part2</title> <title>XSLT_Part3</title> </article> ●変換.xsl <?xml version="1.0" encoding="Shift_JIS"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="html" encoding="Shift_JIS"/> <xsl:template match="/"> <HTML> <BODY> <xsl:apply-templates select="article/title" /> </BODY> </HTML> </xsl:template> <xsl:template match="title"> <xsl:element name="a"> <xsl:attribute name="href"> <xsl:value-of select="."/>.html </xsl:attribute> <xsl:value-of select="."/><br></br> </xsl:element> </xsl:template> </xsl:stylesheet> ●出力.html - これはできている。 <HTML> <BODY> <a href="XSLT_Part1.html">XSLT_Part1<br></a> <a href="XSLT_Part2.html">XSLT_Part2<br></a> <a href="XSLT_Part3.html">XSLT_Part3<br></a> </BODY> </HTML> ●XSLT_Part1.html - これを作りたい。● <HTML> <title>XSLT_Part1.html</title> <BODY> <h1>XSLT_Part1.html</h1> </BODY> </HTML> | ||||
|
投稿日時: 2006-04-03 15:53
XSLT2.0 仕様には 複数出力があります
メジャーな XSLTプロセッサーは 2.0 の先行実装が入っています XSLT2.0 は最終投票がせまっています XSLT1.0 のプロセッサでも 裏技の使用で複数出力できるかもしれません 出力の種類ごとに、複数回処理するのが、単純です ======================== for-each で 複数HTMLを一本で出力して 後処理で 複数ファイルに分割するのが わかりやすい [ メッセージ編集済み 編集者: MMX 編集日時 2006-04-04 11:13 ] | ||||
|
投稿日時: 2006-04-04 09:48
MMX様
レスありがとうございます。 具体的にどのようにすれば良いか、ご存知の方がいらっしゃいましたら 教えていただきたいのですが、いかがでしょうか? | ||||
|
投稿日時: 2006-04-11 11:27
やっぱり、出力する方法はないのでしょうか?
自分でいろいろ調べたのですが、どうも良い回答が得られません。 ご存知の方、よろしくお願いします。 | ||||
|
投稿日時: 2006-04-11 11:39
気になったので検索してみました。下記の記事を参考にして応用すれば出来るような気がします(出来なかったらごめんなさい)。
ヒント: XSLT 2.0で複数ファイルを作る | ||||
|
投稿日時: 2006-04-11 11:42
3つのファイル(XSLT_Part1.html、XSLT_Part2.html、XSLT_Part3.html)
の名前の決定がbatでは大変な気がします。 内容自体はそれぞれのxslを作成するだけですから・・ | ||||
|
投稿日時: 2006-04-11 14:33
みなさま、ありがとうございます。
まさに下記の例です。 かなり進んだ気がしております。 ただ、新たな疑問が出てきましたので別スレッドで聞いてみます。 本当にありがとうございました。
|
1