search.xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<head>
<title> XML 动态查询</title>
<style>
body,BlueIdea,team,blue_ID,blue_name,blue_text,blue_time,blue_class{ font: 12px "宋体", "Arial", "Times New Roman"; }
table { font-size: 12px; border: 0px double; border-color: #99CC99 #99CC99 #CCCCCC #CCCCCC; cellpadding:3;cellspacing:3; bgcolor:#eeeeee;}
span { font-size: 12px; color: red; }
</style>
<script>
function searchtext()
{
var x = document.getElementsByName("searchtext")[0].value - 1;
try{
// Load XML
xml = document.implementation.createDocument("","",null);
xml.async = false;
xml.load("search.xml");
// Load XSL
xsl = document.implementation.createDocument("","",null);
xsl.async = false;
xsl.load("search.xsl");
newx = document.implementation.createDocument("","",null);
newx.async=false;
}catch(e){
xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.load("search.xml");
xsl = new ActiveXObject("Microsoft.XMLDOM");
xsl.async = false;
xsl.load("search.xsl");
newx = new ActiveXObject("Microsoft.XMLDOM");
newx.async=false;
}
var xx = newx.createElement("BlueIdea");
xx.appendChild(xml.getElementsByTagName("team")[x]);
newx.appendChild(xx);
try{
var oProcessor = new XSLTProcessor();
oProcessor.importStylesheet(xsl);
oResultDom = oProcessor.transformToDocument(xx)
var oSerializer = new XMLSerializer();
sXml = oSerializer.serializeToString(oResultDom,"text/xml");
}catch(e){
sXml = xx.transformNode(xsl);
}
// Transform
document.getElementById("Layer1").innerHTML=sXml;
}
function searchtext2()
{
try{
// Load XML
xml = document.implementation.createDocument("","",null);
// Load XSL
xsl = document.implementation.createDocument("","",null);
}catch(e){
xml = new ActiveXObject("Microsoft.XMLDOM");
xsl = new ActiveXObject("Microsoft.XMLDOM");
}
xml.async = false;
xml.load("search.xml");
xsl.async = false;
xsl.load("search.xsl");
try{
var oProcessor = new XSLTProcessor();
oProcessor.importStylesheet(xsl);
var oResultDom = oProcessor.transformToDocument(xml.getElementsByTagName("BlueIdea")[0])
var oSerializer = new XMLSerializer();
var sXml = oSerializer.serializeToString(oResultDom,"text/xml");
}catch(e){
sXml = xml.getElementsByTagName("BlueIdea")[0].transformNode(xsl);
}
// Transform
document.getElementById("Layer1").innerHTML=sXml;
}
</script>
</head>
<body>
<p align="center"><span>XML 动态查询</span></p>
<div id="Layer1" name="Layer1">
<xsl:apply-templates select="BlueIdea" />
</div>
<hr size="1" width="500" />
<table align="center" cellpadding="2" cellspacing="2" border="0" >
<tr>
<td>
<span >请输入筛选条件 : </span>
blue_ID= <input type="text" name="searchtext" size="1" maxlength="1" />
<input type="button" onClick="javascript:searchtext()" value="Submit" name="button1" />
</td>
<td>
<input type="button" onClick="javascript:searchtext2()" value="All" name="button12" />
</td>
</tr>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="BlueIdea">
<table width="500" border="1" align="center" cellpadding="1" cellspacing="1" bordercolordark="#ffffff" bordercolorlight="#ADAAAD">
<tr bgcolor="#FFCC99" align="center">
<td>编号</td>
<td>姓名</td>
<td>主题</td>
<td>发表时间</td>
<td>归类</td>
</tr>
<xsl:apply-templates select="team">
<xsl:sort select="blue_name"/>
</xsl:apply-templates>
</table>
</xsl:template>
<xsl:template match="team">
<tr align="center">
<xsl:apply-templates select="blue_ID" />
<xsl:apply-templates select="blue_name" />
<xsl:apply-templates select="blue_text" />
<xsl:apply-templates select="blue_time" />
<xsl:apply-templates select="blue_class" />
</tr>
</xsl:template>
<xsl:template match="blue_ID">
<td bgcolor="#eeeeee">
<xsl:value-of select="."/>
</td>
</xsl:template>
<xsl:template match="blue_name">
<td>
<xsl:value-of select="."/>
</td>
</xsl:template>
<xsl:template match="blue_text">
<td>
<xsl:value-of select="."/>
</td>
</xsl:template>
<xsl:template match="blue_time">
<td>
<xsl:value-of select="."/>
</td>
</xsl:template>
<xsl:template match="blue_class">
<td>
<xsl:value-of select="."/>
</td>
</xsl:template>
</xsl:stylesheet>
search.xml
<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="search.xsl" ?>
<BlueIdea>
<team>
<blue_ID>1</blue_ID>
<blue_name>Sailflying</blue_name>
<blue_text>一个简单的查询</blue_text>
<blue_time>2002-1-11 17:35:33</blue_time>
<blue_class>XML专题</blue_class>
</team>
<team>
<blue_ID>2</blue_ID>
<blue_name>flyingbird</blue_name>
<blue_text>嫁给你,是要你疼的</blue_text>
<blue_time>2001-09-06 12:45:51</blue_time>
<blue_class>灌水精华</blue_class>
</team>
<team>
<blue_ID>3</blue_ID>
<blue_name>苛子</blue_name>
<blue_text>正则表达式在UBB论坛中的应用</blue_text>
<blue_time>2001-11-23 21:02:16</blue_time>
<blue_class>Web 编程精华</blue_class>
</team>
<team>
<blue_ID>4</blue_ID>
<blue_name>太乙郎</blue_name>
<blue_text>年末经典分舵聚会完全手册 v0.1</blue_text>
<blue_time>2000-12-08 10:22:48</blue_time>
<blue_class>论坛灌水区</blue_class>
</team>
<team>
<blue_ID>5</blue_ID>
<blue_name>mmkk</blue_name>
<blue_text>Asp错误信息总汇</blue_text>
<blue_time>2001-10-13 16:39:05</blue_time>
<blue_class>javascript脚本</blue_class>
</team>
</BlueIdea>