xsltとxmlを文字列として使用してxslt変換を実行するいくつかの方法を試しています。xmlファイルのURLを渡すと、load()メソッドを使用して正常に機能します。
function init(xml, xslt) {
var srcTree = new ActiveXObject("Msxml2.DOMDocument.6.0");
srcTree.async=false;
srcTree.load(xml);
var xsltTree= new ActiveXObject("Msxml2.DOMDocument.6.0");
xsltTree.async = false;
xsltTree.load(xslt);
var resTree = document.getElementById("HTMLData");
resTree.innerHTML = srcTree.transformNode(xsltTree);
}
上記のメソッドでは、xmlとxsltの場所(url)を渡します。ただし、要件に従って、xmlとxslt全体を文字列として渡す必要があります(<?xml version=
....など)。私の質問を理解するのが難しい場合は、この質問は簡単には理解できないとコメントしてください。前もって感謝します。
編集:
上記の関数は、(例)を使用して呼び出すことができます。
init('/myfiles/xml/books.xml', '/myfiles/xslt/style.xslt');
しかし、xmlを文字列変数としてjavascriptに保存してから、これらの文字列変数をinitメソッドに渡す必要があります。例:
var xmlDocument = '<?xml version='1'?><books>....</books>';
var xsltDocument = '<?xml version='1'?><xsl xmlns:xsl='...'....</xsl>';
init(xmlDocument, xsltDcoument);