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

Re: How to convert a whold result tree to a string?

Subject: Re: How to convert a whold result tree to a string?
From: Joerg Heinicke <joerg.heinicke@xxxxxx>
Date: Mon, 02 Dec 2002 22:00:59 +0100
whold
If the XML fragment is the input, the data type is "node set". If you use string() on a node set as in your example template, the result will be the concatenation of all descendant text nodes (in your case only " kkkk"). Hmm, now it's difficult to guess, what you really want. Not a node set, but a string "<test>...</test>"? But why? You can't "operate" on a string. But if you really want:

<xsl:template match="*">
  <xsl:text/>&lt;<xsl:value-of select="name()">
    <xsl:apply-templates select="@*"/>
    <xsl:text>&gt;</xsl:text>
    <xsl:apply-templates select="node()"/>
  &lt;/<xsl:value-of select="name()">&gt;
</xsl:template>

<xsl:template match="@*">
  <xsl:text> </xsl:text>
  <xsl:value-of select="name()"/>
  <xsl:text>="</xsl:text>
  <xsl:value-of select="."/>
  <xsl:text>"</xsl:text>
</xsl:template>

You can add further templates e.g. for comments and so on. If you only want a HTML view like IE offers, have a look at http://cvs.apache.org/viewcvs.cgi/xml-cocoon2/src/webapp/samples/common/style/xsl/html/simple-xml2html.xsl.

Regards,

Joerg

Fengrui Gu wrote:
Suppose I have a result tree like
<test>
<test1> kkkk</tes1>
<test2 attr="kkkk"/>
</test>

Can I store it in a string variable like <xsl:template match="test>
<xsl:variable name="str" select="string(.)"/>
</xsl:template>


So whenever I use <xsl:value-of select="$str"/>, it will output
the whole result tree as string.


Obvioulsy, the code doesn't work because string function only converts the first element.

any ideas?

thanks,
Fengrui


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.