如何通过JavaScript传递ID在XSLT文件中显示xml节点

如何通过JavaScript传递ID在XSLT文件中显示xml节点,javascript,xml,ajax,xslt,Javascript,Xml,Ajax,Xslt,我还有一个包含新闻标题的xml文件,还有一个包含完整新闻故事的xml文件。这些xml文件由唯一的故事ID链接 我正在构建一个包含两个部分的网页。在一个部分中是一个故事列表,我可以使用XSLT和标题xml文件生成它。我需要根据点击的链接更新第二部分 这是生成标题部分的xslt <xsl:for-each select="response/newsList/news"> <div class="newsListItem"> <h2><xs

我还有一个包含新闻标题的xml文件,还有一个包含完整新闻故事的xml文件。这些xml文件由唯一的故事ID链接

我正在构建一个包含两个部分的网页。在一个部分中是一个故事列表,我可以使用XSLT和标题xml文件生成它。我需要根据点击的链接更新第二部分

这是生成标题部分的xslt

<xsl:for-each select="response/newsList/news">
    <div class="newsListItem">
      <h2><xsl:value-of select="title" /></h2>
      <p><xsl:value-of select="shortText" /></p>
      <p>
      <xsl:element name="a">
      <xsl:attribute name="href">
        index.html?newsid=<xsl:value-of select="id"/>
      </xsl:attribute>
      <xsl:attribute name="rel">
        <xsl:value-of select="id"/>
      </xsl:attribute>
      <xsl:attribute name="onclick">
        removeContent(); displayXMLItem('newsItem','newsFullArticles.xml','articleFull.xsl'); return false;
      </xsl:attribute>
      <xsl:text>More</xsl:text>
      </xsl:element>

      </p>
    </div>
</xsl:for-each>
如果有人能给我指出正确的方向,我将不胜感激。在没有服务器端语言的情况下,我想做的事情可能吗?对不起,如果这不合理的话,我已经在过去的几个小时里把头撞在砖墙上了

提前谢谢。

看一看。
  <xsl:for-each select="response/newsList/news[id=?]">
    <div class="newsListItem">
      <h2>The Full Article</h2>
      <p><xsl:value-of select="text" /></p>
    </div>
  </xsl:for-each>
function loadXMLDoc(dname)
{
if (window.ActiveXObject)
{
  xhttp=new ActiveXObject("Msxml2.XMLHTTP.3.0");
}
else
{
  xhttp=new XMLHttpRequest();
}
xhttp.open("GET",dname,false);
xhttp.send("");
return xhttp.responseXML;
}

var displayXMLItem = function(container, xmlFileToParse, xslTemplate,itemIdentifier)
{
xml=loadXMLDoc(xmlFileToParse);
xsl=loadXMLDoc(xslTemplate);
// code for IE
if (window.ActiveXObject)
  {
  ex=xml.transformNode(xsl);
  document.getElementById(newsListContainer).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(container).appendChild(resultDocument);
  }
}
var removeContent = function(){
document.getElementById('newsItem').innerHTML = "";
}