翻訳されたXMLをディスク上の実際のファイルにどのように保存しますか?私はXML/XSLTを初めて使用し、それを理解しようとしています。自分に合った例が見つからないようです。たとえば、ファイルをc:\ temp\text.xlsに保存したいだけです。保存するにはどうすればよいですか?java、.net、またはその他のプログラミング言語/ APIを使用する必要がありますか?XSLにファイルを保存してもらいたいと思っていました。
4 に答える
XSL だけでは何もできません。これは、XML ファイルを別のものに変換するための単なる定義です。XSL Transform をプログラムで実行するか、XML Spy などのツールを使用して何かを行う必要があります。
アップデート
以下は、私が数年前に VBScript で書いた簡単な例です。
Dim xml, xsl, htm, fso, flOut
Set xml = CreateObject("MSXML2.DOMDocument")
Set xsl = CreateObject("Msxml2.DOMDocument")
Set fso = CreateObject("Scripting.FileSystemObject")
xml.load WScript.Arguments(0)
xsl.load WScript.Arguments(1)
htm = xml.transformNode(xsl)
Set flOut = fso.CreateTextFile(WScript.Arguments(2))
flOut.Write htm
flOut.close
私はこれを xmlTrfm.vbs と呼びました。次のように使用します。
xmlTrfm.vbs [sourceFileName].xml [transformFileName].xsl [outputFileName].[ext]
出力ファイル名のファイル拡張子は、XSL 変換が生成する形式 (通常は xml、html、または txt) によって明らかに異なりますが、ほとんど何でもかまいません。
ほとんどすべての XSLT プロセッサでは、コマンド ラインから変換を開始できます。引数の 1 つは、変換の結果を保存するファイルです。
例:
サクソン 9.x :
java net.sf.saxon.Transform -s:source -xsl:stylesheet -o:output
MSXML6 :
msxsl.exe %xml% %xsl% -o %out% -u '6.0' -t %param[ name="value"]%
XQSharp :
xslt.exe -s %xml% -o %out% -r 1 -t %xsl% %param[ name="value"]%
.NET 2.0+ (XslCompiledTransform):
nxslt2.exe %xml% %xsl% -t -o %out%%param[ name="value"]%
AltovaXML (XML-SPY):
AltovaXML.exe -xslt2 %xsl% -in %xml% -out %out%%param[ name="value"]%
上記の 2. ~ 5.%xml%
で、 は XML ドキュメントを含むファイル%xsl%
へのパス、 はプライマリ XSLT スタイルシートを含むファイルへのパス、`%out% は変換の結果を保存するファイルへのパスです。
はい、XSLT から保存することはできません。どの言語を使用できますか?
おそらく (私は推測していますが) 問題は、ブラウザーで XSLT 変換を実行していることですか? その場合、ブラウザーはセキュリティ上の理由から、ファイルストアへの通常の書き込みを許可しないため、問題が発生します。
そうでない場合は、XSLT 変換をどのように実行しているかを説明してください。