Learn XSL with me (5)

zhaozj2021-02-08  280

In the last period, we learned the XSL element , which can determine the different output forms by testing the value of XML data (I don't know if you try, actually can also partially implement Features), but sometimes we want to test multiple conditions simultaneously with the same data, and output the corresponding results according to different conditions. Of course, we can use if, if we only have IF available. Fortunately, we have a better choice, then use . The grammar of the related element is described below: Syntax: Property: None, indicating a multi-select test start syntax: Properties: expr ─ script language expression, the calculation result is "true" or "false"; if the result is "true", and through Test, it is displayed in the output. (This property can be omitted). Language ─ The script language type of the expression in the expr property is the same as the value of the Language property of the HTML tag script, which is default to "JScript". TEST - Source data test conditions. Syntax: Properties: None, in a multi-selected test, if there is no condition that specified, if you finally have this tag, the content in this tag is output. . Example: This is here for the student transcript as an example, requires excellent (> 85), generally (70 ~ 85), starting (60 ~ 69), and does not show scores.

The XML document (file name: grade.xml) (file name: grade.xml) is as follows: Big fat 80 90 90 Small Flower 98 70 85 To implement the score level display, its XSL document ( File name: grade.xsl) The content is as follows: transcript </ title> </ head> <body> <xsl: Apply-templates select = "document" /> </ body> </ Html> </ xsl: template> <xsl: template match = "document"> <table border = "1" cellspacing = "0"> <tH> Name </ tH> <TH> English </ tH> < TH> Mathematics </ TH> <TH> Chemical </ TH> <XSL: Apply-Templates Select = "grade" /> </ table> </ xsl: template> <xsl: template match = "grade"> <TR > <TD> <XSL: Apply-Templates SELECT = "Name" /> </ td> <TD> <XSL: Apply-Templates SELECT = "English" /> </ td> <TD > <XSL: Apply-Templates Select = "Math" /> </ TD> <TD> <XSL: Apply-Templates SELECT = "Chymest" /> </ td></p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-1643.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="1643" 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.036</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 = 'XfGETSKTJiD5HXCdxRjkXjGlLQGRIF27cr0snEkgoHFw5uCO0aUBJD1yhK6v1KZGqEw51sskLz_2Be3AI2ktoHgA_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>