以下は Firefox 3.5.x および 3.6.x で機能していましたが、Firefox 11.x または Safari 5.1.x では機能しなくなりました。Javascript は私の専門ではないので、最近の変更については詳しくありません。
具体的には、[参照] ボタンはファイル (これは検証されていませんが、FCP からエクスポートされた XML シーケンスである必要があります) を「正常に」読み込みますが、[処理] ボタンを押すと、XSLT の結果が「出力」DIV に表示されなくなります。以前のブラウザ バージョンで使用していたように。
http://johnpilgrim.net/color/jProcess.htmlのコンテキストで見ることができます
テスト用の適切なサンプル XML ファイルは、 http://johnpilgrim.net/color/sample.xmlにあります。
html、javascript、xsl は何も変わっていないので、最近のブラウザの変更のようです。私は Firefox で動作するように設計してテストしただけなので、他の環境ではテストしていません。
考え?ソリューション?
ありがとう!ジョン
<head>
<script type="text/javascript">
function jProcess(){
// Get the file contents locally, using the nifty Firefox 3 nsIDOMFile interface
var file_contents = document.getElementById('xml_file').files.item(0).getAsText("utf8");
// Cast/Convert to an XML Document
var parser = new DOMParser();
xmlDoc = parser.parseFromString(file_contents, "text/xml");
// XSLT Transformation
var xslt = document.implementation.createDocument("", "", null);
xslt.async = false;
xslt.load("jProcess.xsl");
var process = new XSLTProcessor();
process.importStylesheet(xslt);
var result = process.transformToFragment(xmlDoc, document);
// Show the output
document.getElementById('output').innerHTML= " ";
document.getElementById('output').appendChild(result);
return false;
};
</script>
</head>
<body>
<form method="post" onsubmit="return jProcess();">
<fieldset>
<legend>Select the XML file for the FCP sequence you want to process into HTML.</legend>
<input type="file" size=100 name="xml_file" id="xml_file">
<input type="submit" value="Convert">
</fieldset>
</form>
<div id="output"></div>