XML Volume Battle Kit (2): Dynamic Inquiry

xiaoxiao2021-03-06  100

Motivation: The query function is the most common also the most common functional module we have seen on the website. The past information queries are connected to the database, and each click must be supported by the background database. In many cases, however, users often operate only for a part of the data, not only aggalators of the server, but also seriously affects the speed of users.

In this case, we need to pass a part of the data required in XML to the client in XML, and the user can operate on these data. It is convenient for users and reduces the burden on the server database. why not! And this feature can be generally used to many other modules, so this dynamic query function is added.

Material: XML Volume Dynamic query has 2 files: search.xml and search.xsl

Role: Filter data is filtered to filter data without refreshing the page, and efficiently improve the functionality of the data query. Effect: Browse here code: Search.xml 1 Sails> A simple query 2002-1-11 17:35:33 XML topic 2 flyingbird Marry you, it is to hurt 2001-09- 06 12:45:51 Irrigation essence 3 Huanzi Regular expression in UBB Application in the Forum 2001-11-23 21:02:16 web programming essence 4 Tailang The classic scorpion party complete manual V0.1 2000-12-08 10:22:48 Forum Irrigation District < / blue_class> 5 mmkk ASP error message Branch 2001-10-13 16:39:05 javascript scripting

Search.xsl XML volume Battle tips (2): Dynamic query </ title> <style> body, blueidea, team, blue_id, blue_name, blue_text, blue_time, blue_class {font: 12px "Song", "Arial", "Times New Roman";} Table {Font-Size: 12px; Border: 0px Double; Border-Color: # 99cc99 # 99cc99 #ccccccc #cccccc; cellpadding: 3; cellspacing: 3; bgcolor: #eeeeee; text-decoration: blink} span {font-size: 12px; color: red;} </ style> <script> function searchtext (x) {stylesheet = document.XSLDocument; source = document.XMLDocument; sortField = Document.xsldocument.selectnodes ("@ Select"); if (x! = ") {sortfield [1] .value =" team [blue_id = '" x " ""; layer1.innerhtml = source .documentelement.TransformNode (Stylesheet);} else {Alert ("Please enter filter criter!");}} </ script> </ head> <body> <p align = "center"> <span> XML volume actual combat Tips (2): Dynamic query </ span> </ p> <div id = "layer1" name = "layer1"> <xsl: Apply-templates select = "blueidea" /> </ div> <HR size = "1" width = "500" /> <table align = "cente R "cellpadding =" 0 "cellspacing =" 0 "border =" 0 "> <tr> <TD> <span> Please enter filter criteria: </ span> blue_id = <input type =" text "name =" searchtext " SIZE = "1" maxlength = "1" /> <input type = "button" class = "</p> <p>Button "onclick =" search.Value "" value = "search" name = "button" /> </ 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> number </ td> <td> name </ td> <TD> Topic </ TD> <TD> Published </ TD > <TD> Classification </ TD> </ TD> </ TD> <XSL: Apply-Templates SELECT = "Team" ORDER-by = "Blue_ID" /> </ table> </ xsl: template> <xsl: template match = "team"> <tril = "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 = "# eeeeeee"> <xsl: value-of /> </ td> </ xsl: template> <xsl: template match = "blue_name"> <td> <xsl: value-of /> </ td> < / xsl: template> <xsl: template match = "blue_text"> <td> <xsl: value-of /> </ td> </ xsl: template> <xsl: template mat CH = "blue_time"> <td> <xsl: value-of /> </ td> </ xsl: template> <xsl: template match = "blue_class"></p> <p><TD> <xsl: value-of /> </ td> </ xsl: Template> </ xsl: style: 1) Search.xml is a data file, I believe everyone will have problems. 2) Search.xsl is a format file, and there are several places to pay attention. (1) Script: sortfield = document.xsldocument.selectnodes ("@ select"); the role is: Find all the nodes for the SELECT. This and I speak in dynamic sorting sortfield.selectsinglenode ("@ order-by"); some are different. Everyone pays attention to this little difference and its respective features.</p> <p>Sortfield [1] .Value = "Team [Blue_ID = '" x "]"; Sortfield [1] is found to find the second node, its corresponding node is <xsl: Apply-Templates Select = "team" Order-by = "blue_id" /></p> <p>The parameter X is the value entered in the text box. We modify the search criteria for select = "team" to select = "Team [blue_id = 'x']" The effect is: increasing the judgment condition, only the value of the Blue_ID is equal to XML data is displayed. Of course, everyone can enrich the conditions that I do here, the simple judgment of this is to make everyone easier to understand. Finally, the new sorting content is displayed by replaying the InnerHTML value of Layer1.</p> <p>(2) Text:</p> <p>Select = "team" in me is Sortfield [1], but you may change when you are doing. Then you must calculate it accurate, you can't make it wrong, otherwise you will find a home! I provide a common way: You can use a loop in your code to determine if the node you need.</p> <p>In addition, a little: XML requires extremely strict requirements. So your writing is irregular, it will catch a cold!</p> <p>Postscript: Everyone is familiar with dynamic sorting and dynamic query, it will find that our implementation is simple. That is to modify a value and then redisplay. In the dynamic paging, we are still done according to this idea.</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-95748.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="95748" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.032</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = 'Bivy_2BcJ_2FrAoSBzEXzgwh_2BAmzUducDl1HvtN_2Fb_2FejFGc7Aqz6KquR_2F3JvTFEediDCeWxi0TV74QgmEYBkq2wUNA_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>