Subject: RE: [xsl] variable question From: "Michael Kay" <mhk@xxxxxxxxx> Date: Tue, 31 Aug 2004 08:59:57 +0100 |
If the relevant function call is the one shown, it means that the parent of the mods:titleInfo context item is not a mods:relatedItem element, therefore the function has been called with an empty sequence as the argument, which is not allowed given the way you have declared the parameter. Michael Kay > -----Original Message----- > From: Bruce D'Arcus [mailto:bdarcus@xxxxxxxxxxxxx] > Sent: 31 August 2004 04:32 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: [xsl] variable question > > I'm getting the following error on the below: > > An empty sequence is not allowed as the first argument of > mods:reftype() > > What does this mean in this context? That the function is getting > confused trying to find the right node? > > Bruce > > On Aug 29, 2004, at 4:32 PM, Jeni Tennison wrote: > > > For XSLT 2.0, I think I'd turn the reftype template into a function > > instead, since it just returns a string. I'd keep the title-before > > template as a template since it might return some XML when > you revise > > it in the future. So it would look more like: > > > > <xsl:template match="mods:titleInfo[not(@type='abbreviated')]" > > mode="bibliography"> > > <span class="{if (../mods:relatedItem[@type = 'host']) > > then 'title' > > else 'title italic'}"> > > <xsl:apply-templates select="." mode="title-before"/> > > <xsl:apply-templates select="mods:title"/> > > <xsl:apply-templates select="mods:subTitle"/> > > <xsl:apply-templates select="." mode="title-after"/> > > </span> > > </xsl:template> > > > > <xsl:template match="mods:titleInfo" mode="title-before"> > > <xsl:if test="mods:reftype(parent::mods:relatedItem) = 'chapter'"> > > <xsl:text>"</xsl:text> > > </xsl:if> > > </xsl:template> > > > > <xsl:function name="mods:reftype" as="xs:string"> > > <xsl:param name="relatedItem" as="element(mods:relatedItem)" /> > > <xsl:choose> > > <xsl:when test="$relatedItem/@type = 'host'"> > > <xsl:variable name="issuance" as="xs:string" > > select="$relatedItem/mods:originInfo/mods:issuance" /> > > <xsl:choose> > > <xsl:when test="$issuance = 'continuing'">article</xsl:when> > > <xsl:when test="$issuance = > 'monographic'">chapter</xsl:when> > > </xsl:choose> > > </xsl:when> > > <xsl:otherwise>book</xsl:otherwise> > > </xsl:choose> > > </xsl:function>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] variable question, Bruce D'Arcus | Thread | Re: [xsl] variable question, Bruce D'Arcus |
Re: [xsl] XSLT grouping without Mue, Ismael Cams | Date | Re: [xsl] Match node() with excepti, Jeni Tennison |
Month |