XSLT instance

xiaoxiao2021-03-05  20

XSLT instance

1 Copy This is an example of copying all nodes (program 1). For example, from XHTML to XHTML or the like, the element can be slightly modified by most of the elements of the source and results, and the example can be modified, and only the part written code for the part needed. Program 1: Copy.xsl Using the XSL: XCOPY element to recursively copy each node. 2 Lines Exchange This example can exchange the rows and columns of the HTML table (program 2).

Program 2: Table.xsl < XSL: variable name = "y" select = "position () - 1" /> < / xsl: for-each> Because it is Switching, so you can use only the lines of the number of columns in the source table. Here, use loop, and will be new (TR element) according to the number of columns (TR elements). Use the following cycle

Therefore, Use this condition to output data in the TD element. MOD is taken by the remainder. The page (program 3) shown in FIG. 1 will be converted, and the output result as shown in FIG. 2 can be obtained. Figure 1: Enter page

Program 3: Table.xml Table </ title> <meta http-equiv = "content-type" content = "text / html; charset = UTF-8 "/> </ head> <h1> form </ h1> <body> <table border =" 1 "> <tr> <td> 1 </ td> <TD> </ TD> <TD > C </ TD> <TD> Ding </ TD> <TD> Penthen </ TD> <TD> <TD> <TD> </ TD> <TD> Geng </ TD> <TD> Xin < / TD> <TD> </ td> <td> </ td> </ tr> </ table> </ body> </ html></p> <p>Figure 2: Output page</p> <p>3 Table table can be considered as a two-dimensional array. Let's try to convert it into a one-dimensional array. However, only the table content is placed, so we will keep the line number and the number of the original list as the result value (program 4). Program 4: Database = "1.0"?> <Xsl: stylesheet version = "1.0" xmlns: xsl = "http://www.w3.org/1999/xsl/transform"> <XSL: Template match = "/"> <databank> <xsl: Apply-templates select = ".// Table" /> </ dataBank> </ xsl: template> <xsl: template match = "table"> <xsl: for -Each select = "tr"> <xsl: variable name = "row" select = "position ()" /> <xsl: for-each select = "td"> <xsl: variable name = "column" select = " Position () "/> <data> <xsl: attribute name =" row "> <xsl: copy-of select =" $ row "/> </ xsl: attribute> <xsl: attribute name =" column "> < XSL: COPY-OF SELECT = "$ color" /> </ xsl: attribute> <xsl: value-of select = "." /> </ data> </ xsl: for-each> </ xsl: for- Each> </ XSL: Template> </ xsl: styleSheet> Save the line number and the information information to the variable row and column. <XSL: Variable Name = "ROW" SELECT = "position ()" /> <xsl: variable name = "column" select = "position () /> Using the ROW attribute output line number, the column property outputs the number.</p> <p><xsl: attribute name = "row"> <xsl: copy-of select = "$ row" /> </ xsl: attribute> <xsl: attribute name = "column"> <XSL: Copy-of select = " COLUMN "/> </ xsl: attribute> When the program 3 is converted, the output is as follows. <? XML Version = "1.0" encoding = "UTF-8"?> <database> <data row = "1" column = "1"> A </ data> <data row = "1" column = "2" > </ Data> <data row = "1" column = "3"> C </ data> <data row = "1" column = "4"> Ding </ data> <data row = "1" column = "5"> glutulent </ data> <data row = "2" column = "1"> </ data> <data row = "2" column = "2"> Geng </ data> <data row = "2" column = "3"> Xin </ data> <data row = "2" column = "4"> </ data> <data row = "2" column = "5"> </ data> </ DATABANK> 4 Converts the table to the CSV file Although XSLT is generally converted to an XML document to an XML document, it is also possible to output a format other than the XML document. Below is an example of converting an HTML document containing the Table element into a CSV (program 5).</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-36495.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="36495" 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 = 'T5sfd1KjNxkWC61pYyGENXZ9Jz0qVwCw5eI9ui4jk0YITfpuDIoBPvcZ1tU_2FAURYQ2GpsTvjcyVSnOP1'; 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>