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

Re: Applying child nodes in a substringed node

Subject: Re: Applying child nodes in a substringed node
From: e107lac <e107lac@xxxxxxxxx>
Date: Wed, 20 Jun 2007 11:42:08 +0200
Re:  Applying child nodes in a substringed node
Thank, you! And sorry, I have pasted a bad output xml in my previous mail.


Michael Kay C-rta:
I can't see how you get that output: there is nothing in your stylesheet
that applies templates to the child node or that outputs a <child> element.

I'm guessing that what you want to do is to remove the number at the start
of the first text node of the parent element:

<xsl:template match="parent">
<list><xsl:apply-templates/></list>
</xsl:template>


<xsl:template match="parent/text()[1]">
<xsl:value-of select="substring-after(normalize-space(.), ' ')"/>
</xsl:template>


<xsl:template match="child">
<strong><xsl:apply-templates/></strong>
</xsl:template>


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

-----Original Message-----
From: e107lac [mailto:e107lac@xxxxxxxxx] Sent: 20 June 2007 09:13
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Applying child nodes in a substringed node


Hi list!

Please help me, how can I applying the child nodes, if I substring the parent node.
Example
XML
-----
<?xml version="1.0" encoding="utf-8" ?>
<root>
<parent>
1. Lorem ipsum dolor sit amet, consectetuer <child>adipiscing elit.</child> </parent> </root>


XSL
-----
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml"
indent="yes"
encoding="UTF-8"/>


<xsl:template match="root">
    <xsl:apply-templates/>
</xsl:template>

<xsl:template match="parent">
<xsl:element name="list"
<xsl:value-of select="substring-after(normalize-space(.), ' ')"/>
</xsl:element>
</xsl:template>


<xsl:template match="child">
    <xsl:element name="strong">
       <xsl:apply-templates/>
    </xsl:element>
</xsl:template>


This transfromation generate this


<?xml version="1.0" encoding="UTF-8"?>
<list>Lorem ipsum dolor sit amet, consectetuer <child>adipiscing elit.</child></list>


the child element don't applying because the parent return a string.

Sorry for my English.

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.