Subject: RE: [xsl] How to Substitute HTML template with values? From: Amir Yiron <amir@xxxxxxxxxxxxxxxxxx> Date: Thu, 4 Dec 2003 14:19:14 +0200 |
Thanks David, it really works! Now consider the following example with table: XML Doc: ======== <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="D:\Test\XML\subst.xhtml"?> <mapping> <NAME>My Name</NAME> <ADDR>My Address</ADDR> <MYTABLE> <ROW><C1>first</C1><C2>last</C2></ROW> <ROW><C1>dram</C1><C2>piano</C2></ROW> </MYTABLE> </mapping> XHTML - XSLT Doc: ================= <?xml version="1.0" encoding="UTF-8"?> <html xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xsl:version="1.0"> <head><title>My Template</title></head> <body> <br />Name <input type="text" value="{/mapping/NAME}" size="15"/> <br />Address <input type="text" value="{/mapping/ADDR}" size="15"/> <table> <thead> <tr> <th>One</th> <th>Two</th> </tr> </thead> <tbody> <xsl:for-each select="/mapping/MYTABLE/ROW"> <tr> <td><xsl:value-of select="C1" /></td> <td><xsl:value-of select="C2" /></td> </tr> </xsl:for-each> </tbody> </table> </body> </html> The only problem is that while viewing the xhtml doc, I cannot see the single (template) row, because it's hidden in unknown tag for xhtml (xsl:value-of). I wish to see it as I see the {/mapping/NAME} and {/mapping/ADDR}. Again, my point is that I want to be able to build and design the page as a regular html (xhtml) doc, using standard tools. Without seeing table's rows, I cannot design the table that way. -- Amir -----Original Message----- From: David Carlisle [mailto:davidc@xxxxxxxxx] Sent: Thursday, December 04, 2003 1:01 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] How to Substitute HTML template with values? XML Doc: <mapping> <@@@NAME@@@>My Name</@@@NAME@@@> <@@@ADDR@@@>My Address</@@@NAME@@@> </mapping> That's not XML, XML element names can not have @ If you changed your names to well formed XML you could program this in xslt, or if you are prepared to change your syntax just a bit you could use the "literal result element as stylesheet" syntax xmldoc: <mapping> <NAME>My Name</NAME> <ADDR>My Address</NAME> </mapping> stylesheet == XHTML template <html xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xsl:version="1.0"> <head><title>My Template</title></head> <body> <br />Name <input type="text" value="{/mapping/NAME}" size="15"/> <br />Address <input type="text" value="{/mapping/ADDR}" size="15"/> </body> </html> that is all you need have is an xsl:version attribute in your html element then you can use AVT templates to pull things into attributes (or any xsl instruction such as xsl:value-of to pull things into elements) David -- http://www.dcarlisle.demon.co.uk/matthew ________________________________________________________________________ This e-mail has been scanned for all viruses by Star Internet. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit: http://www.star.net.uk ________________________________________________________________________ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How to Substitute HTML te, David Carlisle | Thread | Re: [xsl] How to Substitute HTML te, David Carlisle |
[xsl] Re: Numbering non-contiguous , yguaba | Date | RE: [xsl] counter in XSL - some mor, Sebastian Fey |
Month |