AW: [xsl] Conditional extraction of data

Subject: AW: [xsl] Conditional extraction of data
From: "Huditsch Roman" <Roman.Huditsch@xxxxxxxxxxxxx>
Date: Mon, 8 Nov 2004 16:04:23 +0100
Hi,

All you need are two templates.

The first one matches your <anElement> and looks if it can find any other
templates for its child nodes. If it can't find a template for a child node,
the built-in template is invokes (which means that its text is being outputted
as Bryan stated before)

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

The second templated defines specific processing instructions for your <b>
element. Afterwards built-in templates are invoked again.

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

wbr,
Roman


-----Urspr|ngliche Nachricht-----
Von: Bradley, Peter [mailto:PBradley@xxxxxxxxxx]
Gesendet: Montag, 8. November 2004 15:57
An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Betreff: RE: [xsl] Conditional extraction of data

Oh, but what if we have:

<anElement>
	Some text <a>that means</a> absolutely <b>nothing</b> at all <a>to anyone</a>
in <c>the world</c>
</anElement>

The output I want is:

Some text that means absolutely <i>nothing</i> at all to anyone in the world

In other words I want all the text, but convert (in this example) all the <b>
tags to html <i> tags.

Bummer

Peter

 -----Original Message-----
From: 	Bradley, Peter
Sent:	08 November 2004 14:53
To:	xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject:	RE: [xsl] Conditional extraction of data

Aha!!

Peter

 -----Original Message-----
From: 	Huditsch Roman [mailto:Roman.Huditsch@xxxxxxxxxxxxx]
Sent:	08 November 2004 14:52
To:	xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject:	AW: [xsl] Conditional extraction of data

Hi Peter,

You can output the text of an element via <xsl:value-of select="text()"/>,
since an elements text is held in an own text node.

So according to the given example
<xsl:value-of select="foo"/>
should just output "this is the value of foo"


Hope this helps.

Good luck for your exercises!

Wbr,
Roman


-----Urspr|ngliche Nachricht-----
Von: Bradley, Peter [mailto:PBradley@xxxxxxxxxx]
Gesendet: Montag, 8. November 2004 15:45
An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Betreff: RE: [xsl] Conditional extraction of data

Yeah.  This neatly sums up the problems I've been having.  An XPath expression
always seems to return an entire sub-tree, and it seems to me that I just want
a single node in this case.  Will xsl-copy give me that?

Peter

 -----Original Message-----
From: 	Geert Josten [mailto:Geert.Josten@xxxxxxxxxxx]
Sent:	08 November 2004 14:42
To:	xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject:	Re: [xsl] Conditional extraction of data

M. David Peterson wrote:

> ooops!
>
> This portion:
>
> <xsl:value-of select="foo"/> will output: "this is the value of foo"
>
> <xsl:value-of select="foo"/> will output a copy of all the text elements
> as well as the elements and there values that are descendants of foo. o
>
> should have read...
>
> <xsl:value-of select="foo"/> will output: "this is the value of foo"

Not true. xsl:value-of takes the first element from the node-set that results
from the expression
"foo" and converts that to a string. As both sub elements <bar> and <p> are
_inside_ element <foo>,
their textual content is returned as well.

The output is therefore: "
    this is the value of foo
    this is the value of bar.this is the value of a paragraph that is the
child of bar
"

(including new-lines when white-space is preserved)

> <xsl:copy-of select="foo"/> will output a copy of all the text elements > as
well as the elements and there values that are descendants of foo.
>
> Sorry for the confusion!
>
> <M:D/>

Grtz,
Geert



**********************************************************************
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.

This footnote also confirms that this email message has been swept by
MIMEsweeper for the presence of computer viruses.

www.mimesweeper.com
**********************************************************************

Current Thread