Subject: re: [xsl] help with an 'or' From: "Vladimir Nesterovsky" <vladimir@xxxxxxxxxxxxxxxxxxxx> Date: Tue, 25 Nov 2008 05:33:03 -0800 |
You might probably do both things: <xsl:value-of select="translate(translate(substring-after (//facsimile/surface[@n=$loop-variable]/@xml:id, 'f_'),'_',' '),'_',' ')"/> <xsl:value-of select="translate(translate(substring-after (//facsimile/surface[@n=$loop-variable]/@xml:id, 'p_'),'_',' '),'_',' ')"/> P.S. Note that this is only an assumption. -- Vladimir Nesterovsky http://www.nesterovsky-bros.com -------- Original Message -------- > From: "Jennifer Pollard" <jp337@xxxxxxxxx> > Sent: Tuesday, November 25, 2008 3:23 PM > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] help with an 'or' > > Hi, all :) > > I have done a bit of searching on this question but I'm new to XSL, so > I'm not sure what it is that I'm looking *for* exactly. > > One of our projects is using XSL to create options in a select field: > > ----------------------------------------------- > > <xsl:element name="option"> > > <xsl:attribute name="value"><xsl:value-of > select="$loop-variable"/></xsl:attribute> > <xsl:if test="$loop-variable = $curpage"> > <xsl:attribute name="selected">true</xsl:attribute> > </xsl:if> > > <xsl:choose> > <xsl:when test="$loop-variable = 1"> > <xsl:value-of select="translate(translate(substring-after > (//facsimile/surface[@n=$loop-variable]/@xml:id, > 'f_'),'_',' '),'_',' ')"/> > </xsl:when> > > <xsl:when test="($loop-variable = $loop-limit) and > ((($loop-variable * 2) - 2) mod 2 = 0)"> > <xsl:value-of select="translate(substring-after > (//facsimile/surface[@n=(($loop-variable * 2) - 2)]/@xml:id, > 'f_'),'_',' ')"/> > </xsl:when> > > <xsl:otherwise> > <xsl:value-of select="translate(substring-after > (//facsimile/surface[@n=(($loop-variable * 2) - 2)]/@xml:id, > 'f_'),'_',' ')"/> - > <xsl:value-of select="translate(substring-after > (//facsimile/surface[@n=(($loop-variable * 2) - 1)]/@xml:id, > 'f_'),'_',' ')"/> > </xsl:otherwise> > </xsl:choose> > > </xsl:element> > > ----------------------------------------------- > > The problem is that in the 'value-of select' statements, it's limiting > the list to display only values that start with f_, which is fair enough > - I can see where it's meant to be doing that. What I need it to do, > though, is give me anything that starts with either f_ OR p_. > > I'm not sure how to insert any sort of 'or' clause into those statements > and still retain their ability to do what we need them to do (sometimes > we get both f_ and _p on the same line. For an example of a foliated > book, see: > <http://scriptorium.english.cam.ac.uk/manuscripts/images/openings.php?ms=S.5 4&page=2> > > The bit I'm trying to modify is the drop down next to the word > 'Opening'. Most of the books in the collection are foliated (hence > pages starting with f_) but a recent acquisition is paginated. What > happens is that we get blanks instead of page numbers when the xmlid > consists of p_<some number>. I have modified the code above so that > page 1 and 2 are f_ and the rest are p_, but because this code is reused > with all books, that does break the foliated ones. (Which I expected: I > was just checking to see it worked at all! ;) > > Can anyone lend me a hand with this? Apologies if I've been unclear - > I'll do my best to answer any questions you might have. > > -Jen
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] help with an 'or', Jennifer Pollard | Thread | Re: [xsl] help with an 'or', Jennifer Pollard |
[xsl] Grouping based on element con, Ganesh Babu N | Date | Re: [xsl] Grouping based on element, David Carlisle |
Month |