|
Subject: [xsl] How to capture text? From: aaron apigo <aaronjose_apigo2001@xxxxxxxxx> Date: Wed, 17 Aug 2005 22:30:30 -0700 (PDT) |
Hi,
I'm a beginner in XSLT, i want to transform this
piece of XML:
<text:p>
<text:user-field-get
text:name="aid">ArticleId</text:user-field-get>
<text:span>1423</text:span>
</text:p>
<text:p>
<text:span>
<text:user-field-get
text:name="aid">ArticleId</text:user-field-get>
</text:span>
<text:span>1423</text:span>
</text:p>
<text:p>
<text:span>
<text:user-field-get
text:name="aid">ArticleId</text:user-field-get>
</text:span>1423
</text:p>
<text:p>
<text:user-field-get
text:name="aid">ArticleId</text:user-field-get>1423
</text:p>
output:
<aid>1423</aid>
<aid>1423</aid>
<aid>1423</aid>
<aid>1423</aid>
if you noticed all the data are the same, what I'm
trying to do is to check all the possible scenario
that might happen in the XML. Sometimes
<text:user-field-get text:name="aid"> appears inside
the <text:span> sometimes not, and same with the text,
sometimes it appears inside the <text:span>, sometimes
not. So my XSLT should handle all those scenario.
with my XSLT,
<xsl:template match="text:p">
<xsl:apply-templates
select="text:span/text:user-field-get|text:user-field-get"/>
</xsl:template>
<xsl:template
match="text:span/text:user-field-get">
<xsl:element name="{@text:name}">
<xsl:apply-templates
select="parent::text:span/following-sibling::*[1][self::text:span/text()]"/>
<xsl:apply-templates
select="following-sibling::text()"/>
</xsl:element>
</xsl:template>
<xsl:template match="text:user-field-get">
<xsl:element name="{@text:name}">
<xsl:apply-templates
select="following-sibling::text:span/text()"/>
</xsl:element>
</xsl:template>
my output,
<aid>1423</aid>
<aid>1423</aid>
<aid></aid>
<aid></aid>
I can't handle the text that are not inside the
<text:span>
Please help.
regards.
aaron
____________________________________________________
Start your day with Yahoo! - make it your home page
http://www.yahoo.com/r/hs
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [xsl] Increment a variable, ChandraShekar, A | Thread | RE: [xsl] How to capture text?, Michael Kay |
| RE: [xsl] Increment a variable, Aron Bock | Date | Re: [xsl] Increment a variable, omprakash . v |
| Month |