[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] using name() to generate a tag dynamically in xsl output - STILL TRYING
Subject: Re: [xsl] using name() to generate a tag dynamically in xsl output - STILL TRYING From: mark bordelon <markcbordelon@xxxxxxxxx> Date: Fri, 26 Feb 2010 13:40:08 -0800 (PST) |
David's works, too. Sorry all. I implemented something else incorrectly. Both solutions work and give the same result. Thanks. --- On Fri, 2/26/10, Imsieke, Gerrit, le-tex <gerrit.imsieke@xxxxxxxxx> wrote: > From: Imsieke, Gerrit, le-tex <gerrit.imsieke@xxxxxxxxx> > Subject: Re: [xsl] using name() to generate a tag dynamically in xsl output - STILL TRYING > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Date: Friday, February 26, 2010, 1:36 PM > But isn't what David suggested > exactly what you need? > > <xsl:template > match="*[word][@s_len<2.5]"> > > Gerrit > > > On 26.02.2010 22:24, mark bordelon wrote: > > I was not clear. And I should have posted some xml, so > here it is: > > > > <text> > > <line id="1" > s_len="2.8"> > > <word > id="1">Thou</word> > > <word > id="2">still</word> > > <word > id="3">unravish'd</word> > > <word > id="4">bride</word> > > <word > id="5">of</word> > > <word > id="6">quietness</word>, > > </line> > > <clause id="2" > s_len="2.4"> > > <word > id="7">The</word> > > <word > id="8">quick</word>- > > <word > id="9">brown</word> > > <word > id="10">fox</word> > > <word > id="11">jumped</word> > > <word > id="12">over</word> > > <word > id="13">lazy</word> > > <word > id="14">dog</word>, > > </clause> > > </text> > > > > I want a the xpath which would work in a template > match to get the parent node of<word>, no matter what > it is, whose @s_len attribute is less than 2.5 seconds. > > > > The template will then compose an element for output, > using the tagname of that parent of<word> which > met that condition. > > > > This works: > > <xsl:template match="clause[@s_len<2.5] | > line[@s_len<2.5]"> > > <xsl:element name="{name()}"> > > <xsl:attribute > name="id"><xsl:value-of select="@id" > /></xsl:attribute> > > </xsl:element> > > </xsl:template> > > > > But it presumes that I know that the parent > of<word> is either a node > named<clause> or<line>. I am trying to > generalize even further and not make that assumption in the > match condition. > > > > As I said, I cannot seem to use any axis or axis-like > expression, so matches like the following give an error in > Altova Spy: > > match="word/parent::*[@s_len<2.5]" > > match="word/../*[@s_len<2.5]" > > > > I have tried your suggestions and no node is returned, > but I think I was not clear in what I needed. > > > > > > --- On Fri, 2/26/10, Christopher R. Maden<crism@xxxxxxxxx> > wrote: > > > > > > From: Christopher R. Maden<crism@xxxxxxxxx> > > Subject: Re: [xsl] using name() to generate a tag > dynamically in xsl output - FOLLOW UP > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > Date: Friday, February 26, 2010, 11:50 AM > > > > > > mark bordelon wrote: > >> Experimenting with it lead me to a follow-up > question. > >> Altova is complaining about any axis or axis-like > syntax in my match > >> statement. I have also tried > word/parent::**[@s_len<0] and various > >> others. My idea is to get any node the parent > of<word> with that > >> condition of its attribute. > > > > I was recently surprised to be reminded that match > pattern steps are > > restricted in their syntax. Assuming that the > double-asterisk was just > > a typo in your e-mail, try *[word and @s_len< > 0] instead. > > > > ~Chris > > -- > Gerrit Imsieke > Geschdftsf|hrer / Managing Director > le-tex publishing services GmbH > Weissenfelser Str. 84, 04229 Leipzig, Germany > Phone +49 341 355356 110, Fax +49 341 355356 510 > gerrit.imsieke@xxxxxxxxx, > http://www.le-tex.de > > Registergericht / Commercial Register: Amtsgericht Leipzig > Registernummer / Registration Number: HRB 24930 > > Geschdftsf|hrer: Gerrit Imsieke, Svea Jelonek, > Thomas Schmidt, Dr. Reinhard Vvckler
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] using name() to generate , Imsieke, Gerrit, le- | Thread | [xsl] Installing libxslt, Ben Niebel |
Re: [xsl] using name() to generate , Imsieke, Gerrit, le- | Date | [xsl] Installing libxslt, Ben Niebel |
Month |