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

RE: extrat value from current node only.

Subject: RE: extrat value from current node only.
From: "emmanuel ide" <emmanuel@xxxxxxxxxxx>
Date: Wed, 30 Mar 2005 14:08:55 +0100
extrat
100% agree with you. I wish I could build the xml file myself. But trouble
is that we are using external xml file, don't have any control over the way
it is produced unfortunately.

-----Original Message-----
From: Michael Kay [mailto:mike@xxxxxxxxxxxx]
Sent: 30 March 2005 14:00
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE:  extrat value from current node only.


>
> Below are my xml & xls file:

One of the first things to learn with XSLT is to get your fingers around the
acronym...
>
> ________________ XML FILE _______________________
>
> <?xml version="1.0" encoding="UTF-8" ?>
> <items>
> 	<item>
> 	   title 1
> 	   <description>description 1</description>
> 	</item>
> 	<item>
> 	   title 2
> 	   <description>description 2</description>
> 	</item>
> </items>
> _________________________________________________
>

Generally this isn't a good way of using XML mixed content (elements and
text nodes as siblings of each other). The normal use of mixed content is
for marking up parts of a continuous text, for example, <para>here is some
<emph>important</emph> text</para>. If it doesn't make sense to concatenate
the text with the adjacent elements, then the text should be in its own
element.

XSLT's value-of instruction assumes this design principle, because when you
take the value-of the <item> element, it concatenates all the contained
text.

You can get at "title 1" separately from the description element by
accessing the text nodes directly, but it's harder work.

Michael Kay
http://www.saxonica.com/


> ________________ XLS FILE _______________________
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>
>   <xsl:template match="items">
>     <xsl:apply-templates select="item"/>
>   </xsl:template>
>
>   <xsl:template match="item">
>     title:<xsl:value-of select="current()"/>
>     description:<xsl:value-of select="description"/>
>   </xsl:template>
>
> </xsl:stylesheet> ___________________________________________________
>
> I don't get
> <?xml version="1.0" encoding="UTF-8"?>
>     title:title 11
>     description:description 1
>
> But ...
> <?xml version="1.0" encoding="UTF-8"?>
>     title:
> 	   title 1
> 	   description 1
>
>     description:description 1
>     title:
> 	   title 2
> 	   description 2
>
>     description:description 2
>
> What changes do I have to make to my xls file to get the
> output I want?
>
> Thank you for you help.
>
> Emmanuel

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.