XSL
Anton Schoultz - ePOS
antons at epos.co.za
Wed Nov 3 11:43:50 GMT 1999
Hi all,
Yet another idiot question..
I have found lots of info on XML, and lots on XSL, but very little on
combining them!
Hypothetical case; let's say that I have a servlet (eg Java) runing which
accepts an HTTP POST/GET to query a product catalogue. The servlet queries a
database and then generates an XML document such as this..
<?xml version="1.0"?>
<!DOCTYPE ProdList SYSTEM "http://www.acme.com/dtd/ProdList.dtd">
<ProdList>
<hdr date="19991201">
<title>Catalogue as of 1st December</title>
</hdr>
<prod code="101" short="keyboard" price="50.00">Qwerky keyboard</prod>
<prod code="MS1" short="Mouse" price="5.00">Mickey Mouse</prod>
<prod code="CRT2" short="Monitor" price="100.00">Monitor Lizard</prod>
</ProdList>
Let's say we have a DTD available on the web server
"www.acme.com/dtd/ProdList.dtd"
which looks like this..
<!ELEMENT ProdList ( hdr, prod* ) >
<!-- header specifies effective date -->
<!ELEMENT hdr ( title? ) >
<!ATTLIST hdr
date CDATA #IMPLIED
>
<!ELEMENT title (#PCDATA)* >
<!-- each product has a code, short-descripiton and a price. -->
<!-- the data holds full description -->
<!ELEMENT prod (#PCDATA)* >
<!ATTLIST prod
code CDATA #REQUIRED
short CDATA #IMPLIED
price CDATA #IMPLIED
>
>
Let's say that a style sheet is also available on www.acme... to ouput the
catalogue as an HTML table, looks like this ... (which probably has lots of
errors!)
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org.TR/WD-xsl">
<xsl:template match="/">
<HTML>
<HEAD>
<TITLE>
<xsl:for-each select="hdr">
<xsl:value-of select="."/>
</xsl:for-each>
</TITLE>
</HEAD>
<BODY BGCOLOR="#808080">
<H1>Product List</H1>
<TABLE BORDER="1" WIDTH="400">
<TR>
<TH>Stock Code</TH>
<TH>Short Description</TH>
<TH>Long Description</TH>
<TH>Unit Price</TH>
</TR>
<xsl:for-each select="ProdList/prod">
<TR>
<TD> <xsl:value-of select="@code"/> </TD>
<TD> <xsl:value-of select="@short"/> </TD>
<TD> <xsl:value-of select="."/> </TD>
<TD> <xsl:value-of select="@price"/> </TD>
</TR>
</xsl:for-each>
</TABLE>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>
How should the servlet change it's ouput (text/xml?) so that the browser (eg
IE5) will pick-up the XSL and format the xml output into the desired HTML
table ?
What changes are required to the above files ?
Regards
Anton Schoultz
e-mail: mailto:antons at ePOS.co.za
Office: +27 11 807-9400 Ext. 205
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo at ic.ac.uk the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list