- - PR -
msxsl.exeでXSLT 2.0のresult-document機能を使う方法は?
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-04-11 14:54
いつもお世話になっております。
msxsl.exeを使って、XSLT 2.0のresult-documentの機能を使いたいと 思っています。 でも、下記からダウンロードできるのはresult-document機能が使えません。 http://www.microsoft.com/downloads/details.aspx?FamilyId=2FB55371-C94E-4373-B0E9-DB4816552E41&displaylang=en たぶん、XSLT 2.0には対応していないのかもしれません。 Saxonではなく、msxsl.exeを使いたいと思っております。 msxsl.exeを使って、XSLT 2.0のresult-document機能を使う方法はあるのでしょうか? |
|
投稿日時: 2006-04-11 15:50
MSXSL.EXE は MSXMLx.DLL を使う
> msxsl.exeを使って、XSLT 2.0のresult-document機能を使う方法はあるのでしょうか? スタイルシートの VERSION を 2.0 に書替えて トライ XALAN-(c,j)、LIBXML2 のほうにも XSLTプロセッサはあります。 .NET Framework2.0 には nxslt2 もある http://www.xmllab.net/Products/nxslt2/tabid/73/Default.aspx exsl: になりますが。 Multiple output documents via exsl:document extension element ================================== MICROSOFT の本流なら XQUERY を使え、と回答されるかも [ メッセージ編集済み 編集者: MMX 編集日時 2006-04-11 16:56 ] |
|
投稿日時: 2006-04-11 17:33
いつもレスをいただいてありがとうございます。
> MSXSL.EXE は MSXMLx.DLL を使う 無知で申し訳ないのですが、上記の行は具体的にどのようにすれば 良いか教えていただいてよろしいでしょうか。 すいません。 version="2.0"に変更しただけでは、同じエラーが出ます。 つまり、下記のような処理を作りたいのです。 ●実行.bat msxsl.exe 入力.xml 変換.xsl -o 出力.html ●変換.xsl <?xml version="1.0" encoding="Shift_JIS"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:output method="text"/> <xsl:output method="html" indent="yes" name="html"/> <xsl:template match="/"> <xsl:for-each select="//testrun"> <xsl:variable name="filename" select="concat('output1/',@run,'.html')" /> <xsl:value-of select="$filename" /> <!-- Creating --> <xsl:result-document href="{$filename}" format="html"> <html><body> <xsl:value-of select="@run"/> </body></html> </xsl:result-document> </xsl:for-each> </xsl:template> </xsl:stylesheet> ●入力.xml <?xml version="1.0" encoding="Shift_JIS"?> <tests> <testrun run="test1"> <test name="foo" pass="true" /> <test name="bar" pass="true" /> <test name="baz" pass="true" /> </testrun> <testrun run="test2"> <test name="foo" pass="true" /> <test name="bar" pass="false" /> <test name="baz" pass="false" /> </testrun> </tests> |
|
投稿日時: 2006-04-12 00:08
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> <xsl:template match="/"> <t> <!-- システム特性 --> <xsl:value-of select="system-property('xsl:version')"/> / <xsl:value-of select="system-property('xsl:vendor')"/> / <xsl:value-of select="system-property('xsl:vendor-url')"/> / <!-- 利用可能なXSL(T)要素か調べる --> <xsl:value-of select="element-available('xsl:result-document')"/> / </t> </xsl:template> </xsl:stylesheet> -------------------- xslt 内で調べられます |
|
投稿日時: 2006-04-12 13:47
ざわざわ、コードまで書いていただいてありがとうございます。
本当に助かりました。 # こんな事も出力できるのですね。正直びっくりしました。 さて、下記が結果です。 1 / Microsoft / http://www.microsoft.com / false / 案の定、Verは1で'xsl:result-document'は使えませんでした。 msxsl.exeのファイルバージョンを見ても1.1になっていました。 そこで、改めて質問させていただけないでしょうか。 つまり、XSLT 2.0対応のmsxsl.exeは無いのでしょうか? それとも、どこかのサイトに行けばあるのでしょうか? |
|
投稿日時: 2006-04-12 16:18
XSLT2.0 は正式発行していません。解説本(洋書)はもう出ているのですが
最新の MSXML6.DLL でも 対応は 1.0です、当然といえる。 従って msxsl.exe も2.0 で動作しません、書けるけど。 正式発行まで、もう少しの 予定です、日本語の 解説本も ドドと発行される それまでは、代替案で。 --------------- ただ、安心できないのは、xmlの次の大型新人仕様(2.0)はどれも「複雑」で、 デビューの日程がドンドン先に延びることです。 svgのように勢力圏が固まったところに割込み失敗中でプータローなのもある。 もやもやしているとJSONのような代替に持って行かれる部分もあり。 The W3C XQuery working group has updated XQuery 1.0 and XPath 2.0 Full-Text Use Cases and XQuery 1.0 and XPath 2.0 Full-Text. 変更 変更 また 変更 ========================================== またまた 新しい XML用のAPI MSでは三番目 Oleg Tkachenko: New Microsoft XML API - XmlLite http://planet.xmlhack.com/ で 2006 June 15 ごろの記事 Vista と IE7 に組込み(IE7のパッケージからのXmlLite.DLL のみの取り出し可能 ) 軽量 just 115Kb and depends on nothing. (Latest msxml6.dll is 1.3 Mb and it depends on mlang.dll, wininet.dll, urlmon.dll (about 700Kb each). ) XmlLite reader is a pull-based (as opposite to SAX, which is push-based) non-caching forward-only XML parser. Of course DTD processing is turned off by default just like in .NET 2.0 and MSXML6. One more cool feature - XmlLite can read XML fragments, Non-Extractive XML Parsing comes true. This can seriously reduce memory consuption in some scenarios. [ メッセージ編集済み 編集者: MMX 編集日時 2006-06-16 10:08 ] |
|
投稿日時: 2006-04-19 16:36
>正式発行まで、もう少しの 予定です、日本語の 解説本も ドドと発行される
>それまでは、代替案で。 レスありがとうございます。 いろいろ勉強してみました。 代替案を探ってみようと思います。 |
1