[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: How to Substitute HTML template with values?

Subject: RE: How to Substitute HTML template with values?
From: Amir Yiron <amir@xxxxxxxxxxxxxxxxxx>
Date: Thu, 4 Dec 2003 14:19:14 +0200
substitute html
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:  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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.