2011-05-22 6 views
0

私はちょうどxmlを学んでいて、ちょっと混乱しています。それはちょうど私が別のページにリンクすることができるように、複数のペアになったxmlとxslファイルを作成する必要がありますXMLとWebサイトを作成する... 1つの.xmlファイルを使用して、複数のxslスタイルシートで取得するデータを格納するにはどうすればよいですか?対になっている方法は唯一の方法ですか?1つのdata.xmlファイルを使用してデータを格納し、複数のxslスタイルシートを使用してサイト内のデータを表示する方法は?

このニュースをただちに...私はいくつかのjavascriptを使用する必要がある1つのXMLファイルで複数のスタイルシートを持つことを考え出しました! go figure。以下はコードですが、このコードはhtmlファイルで呼び出すことができます。これはあなたのメニューにリンクするものです。関連付けられているxmlファイルの最上部にあるリンクxslスタイルシート宣言を削除してください!適切なhttp要求が送信されるように、サーバーを使用していることを確認してください。ハードドライブ上のファイルをプレビューするときにローカルでは機能しません。私はそれに応じてページをレンダリングするために、HTMLファイルの先頭にスクリプト情報を追加する必要がありますことを学んだいくつかのテストの後

<html> 
<head> 
<script> 
function loadXMLDoc(dname) 
{ 
if (window.XMLHttpRequest) 
    { 
    xhttp=new XMLHttpRequest(); 
    } 
else 
    { 
    xhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xhttp.open("GET",dname,false); 
xhttp.send(""); 
return xhttp.responseXML; 
} 

function displayResult() 
{ 
xml=loadXMLDoc("cdcatalog.xml"); 
xsl=loadXMLDoc("cdcatalog.xsl"); 
// code for IE 
if (window.ActiveXObject) 
    { 
    ex=xml.transformNode(xsl); 
    document.getElementById("example").innerHTML=ex; 
    } 
// code for Mozilla, Firefox, Opera, etc. 
else if (document.implementation && document.implementation.createDocument) 
    { 
    xsltProcessor=new XSLTProcessor(); 
    xsltProcessor.importStylesheet(xsl); 
    resultDocument = xsltProcessor.transformToFragment(xml,document); 
    document.getElementById("example").appendChild(resultDocument); 
    } 
} 
</script> 
</head> 
<body onload="displayResult()"> 
<div id="example" /> 
</body> 
</html> 

。スタイルシートはうまく表示されますが、データが入力される前にスクリプトを実行する必要があり、両方が同時に実行されているため、互いにキャンセルすると思います。 ?何かご意見は?

+0

hmm ...誰か?クリケット... – user755731

+0

質問はかなり明確ではありません。ソースXML文書とは何ですか?そして、正確に求められる結果は何ですか?これらが提供されていない場合、この質問はXSLTとして、または質問としてはほとんど当てはまりません。 –

答えて

1

実際にこれを行う方法は3つあります。

  1. あなたが知ったように、クライアントでjavascriptを使用して、サーバーから受け取ったxmlを変換します。ダウンロードXML。 xslをダウンロードしてください。 xslを使用してxmlを変換するjavascriptを実行します。
  2. サーバー上でトランスフォームを実行します。上記の手順を実行するが、サーバー上で実行するハンドラを作成します。
  3. サーバー上のxmlドキュメントのスタイルシート参照をオンザフライで変更し、クライアントに提供します。
関連する問題