Subject: RE: [xsl] value-of select problem From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Wed, 16 Aug 2006 14:58:20 +0100 |
> Thanks Michael, that worked! Could you elaborate a bit on how > this rule is working? (a) following-sibling::* all the following siblings (b) [self::Mname|self::Lname] all the following siblings whose name is Mname or Lname (c) [1] the first node in (b) (d) [self::Mname] the node selected by (c) if it is named Mname, or nothing if it isn't Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Chad Chelius [mailto:cchelius@xxxxxxxxxxxxxxx] > Sent: 16 August 2006 14:30 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: [xsl] value-of select problem > > > > On Aug 15, 2006, at 6:54 PM, Michael Kay wrote: > > > It's similar to another thread today called "Wrapping Problem" - > > usually called positional grouping. > > > > Try following-sibling::*[self::Mname|self::Lname][1][self::Mname] > > > > That's the first following sibling that's an Mname or an Lname, > > provided it's an Mname. > > > > Michael Kay > > http://www.saxonica.com/ > > > > > >> -----Original Message----- > >> From: cchelius@xxxxxxxxxxxxxxx [mailto:cchelius@xxxxxxxxxxxxxxx] > >> Sent: 15 August 2006 22:35 > >> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > >> Subject: [xsl] value-of select problem > >> > >> I have included a snippet from my xslt that I am having > difficulties > >> with. > >> My source XML can contain several authors names but those > names don't > >> have to contain a middle name. The problem with my xslt is > that when > >> an author doesn't contain a middle name it will pull the > middle name > >> from the next author after it. > >> Obviously this is no good as it creates a name that is > incorrect. I'm > >> not sure how to tell the xslt that if there is no middle > name not to > >> grab <authorMname from the next author. > >> Any ideas? > >> > >> XML Code Sample: > >> > >> <author><authorFname>John</authorFname> > >> <authorLname>Dai</authorLname>, > >> <authorDegree>MD</authorDegree>; > >> > >> <authorFname>Jane</authorFname><authorMname>Austin</authorMnam > >> e><authorLname>Smith</authorLname></author> > >> > >> > >> XSLT Sample: > >> > >> <xsl:for-each select="Story/author/authorFname"> > >> <!-- Adjusted to allow for > multiple authors > >> --> > >> <Author> > >> <FirstName> > >> <xsl:value-of select="."/> > >> </FirstName> > >> <MiddleName> > >> <xsl:value-of > >> select="following-sibling::authorMname[1]"/> > >> </MiddleName> > >> <LastName> > >> <xsl:value-of > >> select="following-sibling::authorLname[1]"/> > >> </LastName> > >> <Suffix> > >> <xsl:value-of > >> select="following-sibling::authorSuffix[1]"/> > >> </Suffix> > >> <Affiliation> > >> <xsl:value-of > >> select="following-sibling::authorAffiliation[1]"/> > >> </Affiliation> > >> </Author> > >> </xsl:for-each>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] value-of select problem, Chad Chelius | Thread | [xsl] Namespace prefixes in Schemas, António Mota |
RE: [xsl] Grouping upon various att, Michael Kay | Date | Re: [xsl] Grouping upon various att, andrew welch |
Month |