0
我有这个学校的作品要求提供一个地址簿和过滤器是按字母顺序的。每当我尝试过滤我的内容时,我都会重新加载页面并显示所有名称,而不是根据它进行过滤。我最终发现,每当我打电话给我的apply()函数页面重新加载,并不会做任何更改,我只是做。它根本不是过滤器我对输入错误感到茫然......任何人有任何想法?继承人xslt的主要部分:我尝试改变几乎任何价值,以匹配在课堂上给我们的模板,但我不能让它工作。 (我还没有接触的部分是应用和初始化函数(当然除了改变变量名)XSLT动态javascript'不'过滤
大多数在这里相关XSLT搜索的最终集中在XPATH而不是JS部分...
// <![CDATA[
function initFF(){
xmlDoc = document.implementation.createDocument("","",null);
xslDoc = document.implementation.createDocument("","",null);
xmlDoc.load(" CarnetAdresse.xml");
xslDoc.load("CarnetAdresse.xslt");
xslDoc.addEventListener("load", initPointeurFF, false);
}
function nameSpaceResolver(prefix){
return "http://www.w3.org/1999/XSL/Transform";
}
function initPointeurFF(){
noeudFiltre = xslDoc.evaluate("//xsl:apply-templates[@select='individu']/@select",
xslDoc,
nameSpaceResolver,
XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
objProcessor = new XSLTProcessor();
objProcessor.importStylesheet(xslDoc);
}
function apply(){
tempDoc = document.implementation.createDocument("","",null);
frag = objProcessor.transformToFragment(xmlDoc.documentElement, tempDoc);
document.getElementById("main").innerHTML="";
document.getElementById("main").appendChild(frag);
}
function showByLetter(val){
noeudFiltre.value = val;
apply();
}
现在,每当我调用应用功能,无马瑟我传递的XPATH值在我showByLetter功能的页面最终重新加载和显示我的所有不会忽略我在我的xml。
这里是我的模板,如果需要;
<body onload="initialiser()">
<table>
<tr>
<td onclick="showByLetter('individu[nom = "Test"]')">test</td>>
</tr>
</table>
<div id="main">
<table cellspacing="0" cellpadding="0" class="main-table">
<xsl:apply-templates select="individu">
<xsl:sort select="nom" order="ascending"/>
</xsl:apply-templates>
</table>
</div>
<xsl:template match="individu">
<xsl:for-each select="./*">
<tr>
<td class="table-name"><xsl:value-of select="name(.)" /></td>
<td class="table-content"><xsl:value-of select="." /></td>
</tr>
</xsl:for-each>
</xsl:template>
可悲的是,我不是100%肯定要么因为我错过了教授展示它的那一天...... 我不知道这个转换API是什么,而且这个应用函数像我们必须做的功课一样起作用,我只是不知道为什么我不能让它在这里工作。从技术上讲,它假设清空页面(innerHTML =“”)比appendchild想要获得解析缓冲区并显示结果...但正如我所说我错过了那个类,所以我不知道背后的机制 –