[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: NewBie:pls Help!
- From: René de Vries <RdVries@PCL-HaGe.nl>
- To: xml-dev@lists.xml.org
- Date: Mon, 27 Aug 2001 10:28:50 +0200
Hi Priyanka,
First I advise you to become a member of the "XSL-List - the Open Forum on
XSL" at www.mulberrytech.com. In most cases you'll get an answer to your
question within an hour.
Furthermore I advise you to read a good book about XSL(T), for example XSLT
2nd Edition, Programmer's Reference, by Michael Kay, ISBN: 1-861005-06-7.
Your basic programming technique is not XSL-like. You are programming
sequentially while you should think in templates!
The first line of your XSL should be:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
The WD-xsl is a non-standard Microsoft Working Draft.
It could be that you have to upgrade your browser. (your XSL works fine with
me). IE comes standard with MSXML.DLL, the first XML-parser which cannot
transform well. You can upgrade to MSXML3.DLL via the Microsift site.
Maybe this or the WD-xsl-line is your major-problem.
I rewrote your XSL (which works OK) in XSL-style, to give you an idea what I
mean:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="Parent">
<html>
<body>
<table border="1">
<tr>
<td>Child1</td>
<td>Child2</td>
<td>Child3</td>
<td>Child4</td>
<td>Child5</td>
<td>Child6</td>
</tr>
<xsl:apply-templates select="Child"/>
<th>
<h1>Children</h1>
</th>
<tr>
<td>Sibling1</td>
<td>Sibling2</td>
<td>Sibling3</td>
<td>Sibling4</td>
<td>Sibling5</td>
</tr>
<xsl:apply-templates select="Child/Children"/>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="Child">
<tr>
<td><xsl:value-of select="Child1"/></td>
<td><xsl:value-of select="Child2"/></td>
<td><xsl:value-of select="Child3"/></td>
<td><xsl:value-of select="Child4"/></td>
<td><xsl:value-of select="Child5"/></td>
<td><xsl:value-of select="Child6"/></td>
</tr>
</xsl:template>
<xsl:template match="Children">
<xsl:apply-templates select="Siblings"/>
</xsl:template>
<xsl:template match="Siblings">
<tr>
<td><xsl:value-of select="Sibling1"/></td>
<td><xsl:value-of select="Sibling2"/></td>
<td><xsl:value-of select="Sibling3"/></td>
<td><a href="{Sibling4}"><xsl:value-of
select="Sibling4"/></a></td> <!-- my problem spot..-->
<td><xsl:value-of select="Sibling5"/></td>
</tr>
</xsl:template>
</xsl:stylesheet>
Greetings René
{@ @}
^
\_/
"You don't need eyes to see, you need vision!"
-----Oorspronkelijk bericht-----
Van: Priyanka Asija [mailto:priyanka@net4nuts.com]
Verzonden: maandag 27 augustus 2001 9:09
Aan: xml-dev@lists.xml.org
Onderwerp: NewBie:pls Help!
Dear XMLers,
Please guide me...
I have an xml file
<Parent>
<Child>
<Child1>data</Child1>
<Child2>data</Child2>
<Child3>data</Child3>
<Child4>data</Child4>
<Child5>data</Child5>
<Child6>data</Child6>
<Children>
<Siblings>
<Sibling1>Data of Sibling1</Sibling1>
<Sibling2>Data of Sibling2</Sibling2>
<Sibling3>Data of Sibling3</Sibling3>
<Sibling4>Data of Sibling4 </Sibling4>
<Sibling5>Data of Sibling5</Sibling5>
</Siblings>
</Children>
</Child>
</Parent>
and the corresponsing XSL,
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<html>
<body>
<table border="1">
<tr>
<td>Child1</td>
<td>Child2</td>
<td>Child3</td>
<td>Child4</td>
<td>Child5</td>
<td>Child6</td>
</tr>
<xsl:for-each select="Parent/Child" >
<tr>
<td><xsl:value-of select="Child1"/></td>
<td><xsl:value-of select="Child2"/></td>
<td><xsl:value-of select="Child3"/></td>
<td><xsl:value-of select="Child4"/></td>
<td><xsl:value-of select="Child5"/></td>
<td><xsl:value-of select="Child6"/></td>
</tr>
</xsl:for-each>
<th>
<h1>Children</h1>
</th>
<tr>
<td>Sibling1</td>
<td>Sibling2</td>
<td>Sibling3</td>
<td>Sibling4</td>
<td>Sibling5</td>
</tr>
<xsl:for-each select="Parent/Child/Children/Siblings">
<tr>
<td><xsl:value-of select="Sibling1"/></td>
<td><xsl:value-of select="Sibling2"/></td>
<td><xsl:value-of select="Sibling3"/></td>
<td><a href="{Sibling4}"><xsl:value-of
select="Sibling4"/></a></td> <!-- my problem spot..-->
<td><xsl:value-of select="Sibling5"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Problem:
I want the value of the Sibling4 to be placed in the href value, and i
am doing it through <a href="{Sibling4}"> but the value is not getting
substituted, is there anything wrong with what i am doing?
Please guide me..
I am in desperate need........
Thankyou in advance
XML Learner
-----------------------------------------------------------------
The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
initiative of OASIS <http://www.oasis-open.org>
The list archives are at http://lists.xml.org/archives/xml-dev/
To subscribe or unsubscribe from this elist use the subscription
manager: <http://lists.xml.org/ob/adm.pl>