HTML - Xml To Html... Dynamic Table Headers From Element Name
Just getting my feet wet. using XMLSpy stylesheet designer to help
guide. I'm converting XML to HTML, which is Microsoft's recommended way of controlling the import of XML into Excel. I've got the stylesheet below in productive use. However, I want to make one key change. I want the name of XML elements to become the text column headings so I can deal with files that have dynamic column names. Suggestions appreciated. Here is typical XML: <NewDataSet> <Table> <Name>Linda Britt</Name> <RFQCount>324</RFQCount> <RFQResponseCount>556</RFQResponseCount> </Table> </NewDataSet> Here is the stylesheet. See comments regarding what I'm trying to change. <xsl:template match="/"> <html> <head></head> <body> <xsl:for-each select="NewDataSet"> <xsl:for-each select="Table"> <xsl:if test="position()=1"> <xsl:text disable-output-escaping="yes"><table border="0"></xsl:text> </xsl:if> <xsl:if test="position()=1"> <thead> <tr> <td > <span>Buyer Name</span> COMMENT: I want this to be "Name" from element name. </td> <td > <span># RFQs</span> COMMENT: I want this to be "RFQCount" from element name. </td> <td > <span># Responses</span> </td> </tr> </thead> </xsl:if> <xsl:if test="position()=1"> <xsl:text disable-output-escaping="yes"><tbody></xsl:text> </xsl:if> <tr> <td> <xsl:for-each select="Name"> <xsl:apply-templates/> </xsl:for-each> </td> <td> <xsl:for-each select="RFQCount"> <xsl:apply-templates/> </xsl:for-each> </td> <td> <xsl:for-each select="RFQResponseCount"> <xsl:apply-templates/> </xsl:for-each> </td> </tr> <xsl:if test="position()=last()"> <xsl:text disable-output-escaping="yes"></tbody></xsl:text> </xsl:if> <xsl:if test="position()=last()"> <xsl:text disable-output-escaping="yes"></table></xsl:text> </xsl:if> </xsl:for-each> </xsl:for-each> </body> </html> </xsl:template> </xsl:stylesheet> Similar Tutorialshi, i know the resources including java script files ,images and css files are cacheable. i really doubt, is HTML table elements ,tr elements and td elements are cacheable ? how does it works? Hi: I am new to this group and to html programming .. sort of. I am trying to find a way to display http headers from an html file (index.html) The scenario is that I can display the http header variable and value information in my apache access.log file by setting the logformat in the httpd.conf file; and I need to verify that these are all available in the launched index.html file And recommedations greatly appreciated. Ron hi how to make a table element collapse? I have 10 rows compose of 3 textbox per row. After pressing submit button, they are post to the next page to a table. But my problem is if only 3 rows have data the other rows is still shown in a table but blank with borders. So I want my table to show the rows who only have data I want to make a table, like the "legend" of a map, showing how different line styles correspond to road type (dirt, gravel, paved, etc.). In the first column of each row, I want to place a <canvas> and make the line by drawing in that canvas. To top it off, I want this table to be dynamic, only showing road types currently in use. So I make a table with a header row, and add rows using the .insertRow() method of DOM Table. Then I insert a cell in it using tr insertCell(). Then I create an innerHtml string. After escaping lots of doublequotes, my innerHtml string logs thus: <canvas id="line0" width="80" height="2" style="position:absolute"></canvas> Then I create a cell using DOM tr insertCell(0), and then newCell.innerHtml = myInnerHtmlString ; How can I access that canvas object so I can draw my line? My first attempt, document.getElementById("line0") returns null. I also tried to access it by drilling down. Even though the newCell.innerHtml logs as expected, newCell.childNodes is an empty NodeList, and indeed the DOM tree in the browser shows newCell as as empty, <td></td> It's like my canvas object is not really there yet. Same problem if I set innerHtml to "Hello World". Or am I doing this all wrong? Thanks, Jerry Krinock sorry this thread has been en error Is it possible to set a table's width as something like this? HTML Code: <table width="100%-100px"> I want to dynamically hide column in table. There's many working examples on the web, such as http://www.ahfb2000.com/webmaster_he...ead.php?t=3356 But I lack one feature. When I hide column (all cells in column) via style.visibility="hidden", the remaining column (cells) doesn't adjust its width. I would like to somewhat make the table adjust all cells widths (push together), as if the hidden column (cells) wasn't there at all. Is it possible ? Thanks. how to add images to the html select element. I mean in the options it should display images along with text. Thanks in advance Hi Can anyone solve this problem. Here is my code. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Hide/Show Test!</title> <style> .myclass1 { background-color:#CCCCCC; display:block; } .myclass2 { display:none; } </style> </head> <body> <script> function hideNshow(){ var e1=document.getElementById('A1C1_1'); if(e1.className=="myclass1") { e1.className="myclass2"; } else { e1.className="myclass1"; } e1=document.getElementById('A1C1_2'); if(e1.className=="myclass1") { e1.className="myclass2"; } else { e1.className="myclass1"; } } </script> <!-- <input type="button" name="myBtn" value="Click Me!" onclick=" hideNshow();"/>--> <table width="100%" border="1" cellspacing="0" cellpadding="0"> <tr> <td><a href="#" onclick=" hideNshow();">Row1/Cell1</a></td> <td >Row1/Cell2</td> <td>Row1/Cell3</td> </tr> <tr id="A1C1_1" class="myclass2"> <td>Row2/Cell1</td> <td>Row2/Cell2</td> <td>Row2/Cell3</td> </tr> <tr id="A1C1_2" class="myclass2"> <td>Row2/Cell1</td> <td>Row2/Cell2</td> <td>Row2/Cell3</td> </tr> <tr> <td>Row3/Cell1</td> <td>Row3/Cell2</td> <td>Row3/Cell3</td> </tr> <tr> <td>Row4/Cell1</td> <td>Row4/Cell2</td> <td>Row4/Cell3</td> </tr> <tr> <td>Row5/Cell1</td> <td>Row5/Cell2</td> <td>Row5/Cell3</td> </tr> </table> </body> </html> It is working fine in IE. When I click the link It displays the hidden rows and hides when I click the link agian. But in Firefox it is giving error. It is adding empty rows. How to prevent that. Thanks in advance. I've searched around quite a bit, read various articles and so-on and only really come to the conclusion that this is a lot harder than it should be! What I have is a simple page for a PHP script, it has a little form for entering keywords, and displays an image above this form. Now, what I want to do is place these in a table, and have that table resize to fit the viewable area of the user's browser-window. So, what I have is a table with three-rows: The title of the image The image itself The form for entering image keywords Now, what I would like to do is have the image scale to fill the middle cell, which by default eats up all available space leftover by the form and title cells. However, this isn't happening, I enter a height of 100% for the image but it seems to be using some other container to get its height. I'm generally well-versed in HTML, but this one has me stumped! Any help is appreciated, here is the basic HTML I'm using for what I had thought would be a simple page Code: <?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /> <meta name="author" content="Haravikk.com" /> <title>Add keywords</title> <style type="text/css"> body, html { height: 100%; margin: 0; text-align: center; } tr, td, textarea { width: 100%; } table { width: 99%; height: 100%; margin: 0 auto 0 auto; } table, td { border-width: 0; border-spacing: 0; padding: 0; } #image { height: 100%; } #tdTitle { height: 5%; } #tdImg { height: 75%; } #tdForm { height: 20%; } #formText { width: 100%; height: 75%; } </style> </head> <body> <table> <tr> <td id="tdTitle"><b>placeholder.png</b></td> </tr> <tr> <td id="tdImg"> <img id="image" src="http://haravikk.com/placeholder.png" alt="" /> </td> </tr> <tr> <td id="tdForm"> <form action="keywords.php" method="post"> <textarea name="keywords" id="fmrText"></textarea><br /> <input type="submit" /> </form> </td> </tr> </table> </body> </html> Now, I don't know if I could eliminate the table in favour of divs and do this, any suggestions to make the above html work, or to re-write it are welcome! The image provided is just to illustrate the problem Hello everybody, Im currently working on a website that requires a message checker of sorts. Basically every 10 seconds a frame on the bottom of the page refreshes, that page checks for new messages and if any messages exist which the user hasnt been told about a dialoge appears. It also shows the total number of unread messages. Heres the problem: Everytime the message checker refreshes it puts an entry in the back history, so if a user sits at a certain page for a minute they would have to hit back more than 6 times to go back one page. For instance thier history would look like this: Message Checker Message Checker Message Checker Message Checker Contacts Message Checker Message Checker Communications Message Checker Is there a way to tell the browser not to register a certain frame in the history? I also made it so the message checker checks to see if anything has changed since the last refresh and if nothing had changed i made it go back a page but that has very mixed results and none of them desireable. Here is the current frameset code: PHP Code: </HEAD> <FRAMESET cols="1055"> <FRAMESET rows="950, 30"> <FRAME name="mainFrame" src='main.php' noresize=true frameborder=0 > <FRAME name="messageFrame" src='messageChecker.php' noresize=true frameborder=0 scrolling=no> </FRAMESET> </FRAMESET> </HTML> And heres the resulting html code from the message checker: PHP Code: <HTML> <HEAD> <TITLE>RIAC Message Center</TITLE> <meta HTTP-EQUIV="REFRESH" CONTENT="10"> </HEAD> <BODY bgcolor="#ECE9D8"> <SCRIPT language='javascript'> location.href='#messages'; </SCRIPT> <a name='messages'> </a><B>0</B> Open Communications <a href="./myMessages.php" TARGET="mainFrame">View Messages</a> </BODY> </HTML> Also, I tried using javascript code to refresh the page which had the same results. Any Ideas? I wish to change the html of my TD element by specifying a filename. The file I specify will include the new html I want the TD element to have. I do not know how to use innerHTML to do this. Thank you for any help you can provide. Hello, I have a table (with one cell). The table can be quite big (200 items) so I would like the user to be able to scroll it up and down... and I want the user to be able to add and delete an item. I have done something with javascript but it is not complete.. the delete does not work correctly ... the scroll up and down shown the same table. I don't have a clue on how to do the add button. Could you help me please? Here is what I have done so far.... Code: <html> <head> <title>Insert/Delete Table Row using DOM</title> <link rel="stylesheet" type="text/css" href="style.css"> <style type="text/ccs"> <!-- form {border:1px solid blue;} div {border:1px solid red; width:150px; overflow:auto;} .selectBox { font-size:xx-small;overflow:auto;} #tblSample td,th {padding:0.5em;} .classy0 { background-color: #234567; color:#89abcd;} .classy1 {background-color: #89abcd; color:@234567;} --> </style> <%@ include file="javascriptLib.html" %> <script language="JavaScript" type="text/JavaScript"> <!--- oculta el script para navegadores antiguos var INPUT_NAME_PREFIX = 'inputName'; // this is being set via script var TABLE_NAME = 'items_list'; // this should be named in the HTML var LABEL_NAME = 'label_list'; var ROW_BASE = 1; // first number (for display) var MAXLENGTH=5; function myRowObject(one,two) { this.one = one; // text object this.two = two; // input text object } function deleteCurrentRow(obj) { var delRow = obj.parentNode.parentNode; var tbl = delRow.parentNode.parentNode; var rIndex = delRow.sectionRowIndex; var rowArray = new Array(delRow); deleteRows(rowArray); reorderRows(tbl, rIndex); } function deleteRows(rowObjArray) { for (var i=0; i<rowObjArray.length; i++) { var rIndex = rowObjArray[i].sectionRowIndex; rowObjArray[i].parentNode.deleteRow(rIndex); } } function reorderRows(tbl, startingIndex) { if (tbl.tBodies[0].rows[startingIndex]) { var count = startingIndex + ROW_BASE; for (var i=startingIndex; i<tbl.tBodies[0].rows.length; i++) { // CONFIG: next line is affected by myRowObject settings tbl.tBodies[0].rows[i].myRow.one.data = count; // text // CONFIG: next line is affected by myRowObject settings tbl.tBodies[0].rows[i].myRow.two.name = INPUT_NAME_PREFIX + count; var tempVal = tbl.tBodies[0].rows[i].myRow.two.value.split(' '); tbl.tBodies[0].rows[i].className = 'classy' + (count % 2); count++; } } } function clearTable(option) { var tbl = document.getElementById(TABLE_NAME); if (option != 0) tbl= document.getElementById(LABEL_NAME); //var lastRow = tbl.tBodies[0].rows.length; var lastRow = tbl.rows.length; var i=lastRow-1; while (i>=0) { tbl.deleteRow(i); i--; } } function showRow (val) { var tbl = document.getElementById(TABLE_NAME); var nextRow = tbl.tBodies[0].rows.length; //var nextRow=tbl.rows.length; var iteration = nextRow + ROW_BASE; var row = tbl.tBodies[0].insertRow(nextRow); row.className = 'classy' + (iteration % 2); var cell0 = row.insertCell(0); var textNode = document.createTextNode(iteration); cell0.appendChild(textNode); var cell1 = row.insertCell(1); var txtInp = document.createElement('input'); txtInp.setAttribute('type', 'text'); txtInp.setAttribute('name', INPUT_NAME_PREFIX + iteration); txtInp.setAttribute('size', '77'); txtInp.setAttribute('value', val); txtInp.readOnly = true; cell1.appendChild(txtInp); } function addRowToTable(val,num) { var tbl = document.getElementById(TABLE_NAME); var nextRow = tbl.tBodies[0].rows.length; var iteration = nextRow + ROW_BASE; if (num == null) // appends to the end of the table { num = nextRow; } else // Insert at row num { iteration = num + ROW_BASE; } // add the row var row = tbl.tBodies[0].insertRow(num); // CONFIG: requires classes named classy0 and classy1 row.className = 'classy' + (iteration % 2); // CONFIG: This whole section can be configured // cell 0 - index var cell0 = row.insertCell(0); var textNode = document.createTextNode(iteration); cell0.appendChild(textNode); // cell 1 - input text var cell1 = row.insertCell(1); var txtInp = document.createElement('input'); txtInp.setAttribute('type', 'text'); txtInp.setAttribute('name', INPUT_NAME_PREFIX + iteration); txtInp.setAttribute('size', '62'); txtInp.setAttribute('value', val); // iteration included for debug purposes txtInp.readOnly = true; cell1.appendChild(txtInp); // cell 2 - delete button //----------------------- var cell2 = row.insertCell(2); var btnEl = document.createElement('input'); btnEl.setAttribute('type', 'button'); btnEl.setAttribute('value', 'Delete'); btnEl.onclick = function () {deleteCurrentRow(this)}; cell2.appendChild(btnEl); // Store the myRow object in each row row.myRow = new myRowObject(textNode,txtInp); } function paintTable(index) { var maxLine=index+MAXLENGTH; clearTable(0); // add Row with delete and insert options //---------------------------------------- services=document.forms[0].items.value; if ((services != null) && (services != "")) { var services_array=services.split("|"); sLength=services_array.length ; if (services_array.length < maxLine) maxLine=sLength; // add Row with delete options //----------------------------- for (var i=index; i < maxLine; i++) { val=services_array[i]; //showRow(1,val); addRowToTable(val); } showLabel(index,sLength); } } function showLabel(index,max) { clearTable(1); next_val=index+MAXLENGTH; prev_val=index-MAXLENGTH; var tbl = document.getElementById(LABEL_NAME); var nextRow = tbl.tBodies[0].rows.length; // add Previous and/or Next buttons //--------------------------------- var row = tbl.tBodies[0].insertRow(nextRow); var celNo=0; if (index !=0) { var cell0 = row.insertCell(celNo); var btnEl0 = document.createElement('input'); btnEl0.setAttribute('type', 'button'); btnEl0.setAttribute('value', 'Previous'); btnEl0.onclick = function () {paintTable(prev_val)}; cell0.appendChild(btnEl0); celNo++; } if (next_val <= max) { var cell1 = row.insertCell(celNo); var btnEl1 = document.createElement('input'); btnEl1.setAttribute('type', 'button'); btnEl1.setAttribute('value', 'Next'); btnEl1.onclick = function () {paintTable(next_val)}; cell1.appendChild(btnEl1); } } // end hiding from old browsers --> </script> </script> </head> <body onLoad=paintTable(0)> <form onSubmit="return false" method="post" name="my_form" action=""> <table border= "2" cellspacing="0" id="items_list" > <tbody></tbody> <input type=hidden name="items" value="1|2|3|4|5|6|7|8|9|10|11"> </table> <P><P><table border="1" id="label_list"> <tbody></tbody> </form> </body> </html> Please, help me! Thanks I am trying to slowly put together a very simple content management site for a footy club i run, the data is stored in a mysql database and lined to the web page using a dynamic table from within dreamweaver, it displays all the info except one thing it appears in one huge paragraph, take a look at my page Link is at: http://itdesignz.co.uk/Clients/RTFC/cms/home.php The Data in the mysql has the spaces and enters breaks in it, but these are not reflected in my page. I am really new to dreamweaver and am not sure how to overcome this problem, Please help Andy Hi, So I am lost at how to do this, I have a server side program that scrapes websites (e.g amazon.co.uk) and modifies the content and reserves this as its own page. (I know this sounds naughty but intentions are honorable!) basically I want to set the page to be a header (of my website header) and an Iframe type element containing the full html of the scraped text. Similar to proxify.co.uk Looking at the page source of proxify, they needed to do some serious modification of the page they reserve to achieve this Any ideas how to achieve this simply for example say the page I scraped looks like <html> <body> scraped site </body> </html> I would like to be able to do <html> <body> my header <magic frame> <html> <body> scraped site </body> </html> </magiceframe> </body> </html> Hi All, I have a specific requirement. When i click on a button, it calls a url action and then need to open an excel attachment. This excel attachment is created using html coding only i.e by giving <content type="application/vnd.ms-excel"/> , it converts the html to excel. So far so good Here comes the issue ..I have another requirement. The excel sheet's filename should be the one i give. But by default, excel sheet's filename is the called url name for example if the url was ExcelOpen-start, then the excel filename also would be 'ExcelOpen-Start' How can we give the filename in html. Can anyone help me Thanks in advance Aneesha The menu for my website needs to be updated often with new subcategories, etc. My website is all in HTML/CSS and has a lot of pages. Whenever I update the menu, I need to update all the pages on my site. Is there a simpler way to do this -say edit the menu on another file and have the changes be reflected on all the pages for my site? Also note that the menu is using CSS/JS files attached to the html file. Thanks in advance! Hello Everyone, Can anyone help me with my html problem?? I have a form showing one chunk record at one time. This record is from a table. I want this form to bold certain text from that chunk of record. Since the record is not hardcoded/type inside the form. I want the bold funtion to be dynamic. Let say, Record one: I have an apple. I want to eat it now. Record two: I have a strawberry. I dun want to eat it now. First case, I want to bold the whole first line,with the word 'have' in it.. But this line can be anywhere in the page.. It doesn't always have specific position as long as the sentence have the word 'have' in it. Second case, I want the script to bold the word 'want' every time it finds it.. And only that word! Can anybody help me on how to do this.. I really dunno how to? |