Re: template matching.. display the data

Subject: Re: template matching.. display the data
From: Duane Nickull <webmaster@xxxxxxxxxxxxxxxxx>
Date: Mon, 22 Mar 1999 16:44:38 -0800
Hello Nilofer:

It's Duane Nickull (xmldirectory.com) again.  I have made your files for
you and uploaded them onto my server.  They are available for viewing
at:

http://www.xmldirectory.com/tests/

There are two files.  The first one, name.xml, is as follows:

<?xml version="1.0" encoding="iso-8859-1" ?> 
<?xml:stylesheet type="text/xsl" href="name.xsl"?>

<Name>
<!--here is the first person-->
    <person>
	<first>
	    Nilofer
    </first>
	<last>
	    lastnamehere
	</last>
	</person>

<!--here is another person-->
	<person>
	<first>
	    Duane
	</first>
	<last>
	    Nickull
	</last>
    </person>

</Name>

As you can see, I have removed the attributes you had of type="text" and
color="blue" fromt eh xml document.  That's what xml is all about,
separating content from design markup.  The text and color stuff belongs
in the *.xsl document.

Now here is the *.xsl document.  I have streamlined it a bit:

<?xml version="1.0"?> 
<HTML xmlns:xsl="http://www.w3.org/TR/WD-xsl";>

<head></head>
<body>
      
	
	<xsl:for-each select="Name/person">
	      <DIV STYLE="background-color:teal; color:white; padding:4px;
	width:50%;">
	        <SPAN STYLE="font-weight:italic; color:white">
			This person's first name is: <xsl:value-of select="first"/><br/>
			This person's last name is: <xsl:value-of select="last"/><hr/>		
	        </SPAN>
	       </DIV>
</xsl:for-each>

</body>
</HTML>

If you go to my server and view this in IE 5.0 you will see the names
and values expressed in this *.xsl sheet.

Play around with this a bit and see what happens.

Duane Nickull
www.cartnetwork.com
"E-commerce since way before it was cool"






Nilofer Motiwala wrote:
> 
> Duane,
>         Thanks for the response. However the <value-of select> tag is
> not living up to expectations!
> 
> here is my xsl file
> 
> <xsl:template match="/">
>    <xsl:for-each select="Name">
>       <xsl:value-of select="Name"/>
>    </xsl:for-each>
> </xsl:template>
> 
> This however produces a blank page.
> 
> If i put in a "Hello world" in side of the for-each, it get's printed out!
> 
> So where am i going wrong here?
> 
> Would be great if someone could point out my mistake.
> 
> Thanks much
> Nilu
> 
> ---------- Forwarded message ----------
> Date: Mon, 22 Mar 1999 13:36:56 -0800 (PST)
> From: Nilu <nmotiwal@xxxxxxxxxxxxxx>
> Reply-To: nmotiwal@xxxxxxxx
> To: nilum
> Subject: Re: template matching.. display the data (fwd)
> 
> --------------------------------------------------------------------------
> When the going gets tough,
> The tough gets going!
> 
>                         Nilofer Motiwala
>                         *****************
> ---------------------------------------------------------------------------
> 
> ---------- Forwarded message ----------
> Date: Fri, 19 Mar 1999 19:30:38 -0800
> From: Duane Nickull <webmaster@xxxxxxxxxxxxxxxxx>
> Reply-To: xsl-list@xxxxxxxxxxxxxxxx
> To: xsl-list@xxxxxxxxxxxxxxxx
> Subject: Re: template matching.. display the data
> 
> Hello Nilofer:
> 
> Try this
> 
> <xsl:for-each select="Name">
>    Hello, the name is:  <xsl:value-of select="Name"/>
> </xsl:for-each>
> 
> This will print the value of the name for each.
> 
> If you want to have it diplayed in blue text,  you can use xsl to do
> this also.
> 
> <xsl:for-each select="Names">
>       <DIV STYLE="background-color:gray; color:blue; padding:4px;
> width:50%%;">
>         <SPAN STYLE="font-weight:bold; color:blue"><xsl:value-of
> select="Names"/></SPAN>
>        </DIV>
> </xsl:for-each>
> 
> Any tag that occurs only once like the <xsl:value-of select="Names"/>
> it is really important to remember to use the / character after the
> select value.
> 
> I hope this helps.
> 
> Duane Nickull
> webmaster@xxxxxxxxxxxxxxxx
> "Indexing XML for the Internet"
> 
> Nilofer Motiwala wrote:
> >
> > Hello all,
> >     I have a question on the template matching.
> >
> > My Xml file has some data of the form
> >
> > <Name type="text" color="blue">
> >      Nilofer
> > </Name>
> >
> > I am interested in matching the type field of the Name tag, and if it is
> > a text then displaying the data.
> >
> > Here is what I tried:
> >
> > <xsl:template match="Name[@Type='text']">
> >
> > </xsl:template>
> >
> > 1) Not too sure how to display the data
> > 2) Tried using the xsl:text and xsl:process-children, within the
> >    tempalte match and IE5 was not happy
> >
> > does any one know how to go about this task?
> >
> > Thanks for answering my queries!
> >
> > Nilofer Motiwala
> >
> >  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 
>  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