Subject: RE: [xsl] how to change the values of a list of attribute excluding one or more of these. From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Fri, 27 Nov 2009 18:11:08 -0000 |
I'm not sure in what sense "Pagina 59" is the first in your list - your input and output lists don't seem to correspond. But you can of course remove the first in the list by changing the variable from > <xsl:variable name="g" select="//mets:div[matches(@LABEL, '^Pagina [0-9]+$')]"/> to <xsl:variable name="g" select="remove(//mets:div[matches(@LABEL, '^Pagina [0-9]+$')], 1)"/> Regards, Michael Kay http://www.saxonica.com/ http://twitter.com/michaelhkay > -----Original Message----- > From: ivanmacculi@xxxxxxxxx [mailto:ivanmacculi@xxxxxxxxx] > Sent: 27 November 2009 13:41 > To: XSL user > Subject: [xsl] how to change the values of a list of > attribute excluding one or more of these. > > Yesterday i asked you how to change the values of a > enumerated list of attributes building the string of the new > values: the list is something like this: > > <mets:div LABEL="Canto VI" ORDER="8" ORDERLABEL="1"> > <mets:div LABEL="Pagina 56"> > <mets:fptr FILEID="file.00059"/> > </mets:div> > <mets:div LABEL="Pagina 57"> > <mets:fptr FILEID="file.00060"/> > </mets:div> > <mets:div LABEL="Pagina 58"> > <mets:fptr FILEID="file.00061"/> > </mets:div> > <mets:div LABEL="Pagina 59"> > <mets:fptr FILEID="file.00062"/> > </mets:div> > <mets:div LABEL="Pagina 60"> > <mets:fptr FILEID="file.00063"/> > </mets:div> > <mets:div LABEL="Pagina 61"> > <mets:fptr FILEID="file.00064"/> > </mets:div> > <mets:div LABEL="Pagina 62"> > <mets:fptr FILEID="file.00065"/> > </mets:div> > <mets:div LABEL="Pagina 63"> > <mets:fptr FILEID="file.00066"/> > </mets:div> > <mets:div LABEL="Pagina 64"> > <mets:fptr FILEID="file.00067"/> > </mets:div> > <mets:div LABEL="Pagina 65"> > <mets:fptr FILEID="file.00068"/> > </mets:div> > <mets:div LABEL="Pagina 66"> > <mets:fptr FILEID="file.00069"/> > </mets:div> > </mets:div> > > > Mickael Kay suggested: > > > <xsl:variable name="g" select="//mets:div[matches(@LABEL, > '^Pagina [0-9]+$')]"/> > > <xsl:template match="*[. intersect $g]/@LABEL"> <xsl:variable > name="n" select="f:index-of-node($g, .)"/> > > where > > <xsl:function name="f:index-of-node" as="xs:integer*"> > <xsl:param name="nodes" as="node()*"/> <xsl:param name="node" > as="node()"/> <xsl:for-each select="$nodes"> <xsl:sequence > select="position()[current() is $node]"/> </xsl:for-each> > </xsl:function> > > to transform that one in this new list: > > > <mets:div LABEL="Canto XI" ORDER="13" ORDERLABEL="1"> > <mets:div LABEL="Carta [59r]" ORDER="1" > ORDERLABEL="113"> > <mets:fptr FILEID="file.00116"/> > </mets:div> > <mets:div LABEL="Carta [59v]" ORDER="2" > ORDERLABEL="114"> > <mets:fptr FILEID="file.00117"/> > </mets:div> > <mets:div LABEL="Carta [60r]" ORDER="3" > ORDERLABEL="115"> > <mets:fptr FILEID="file.00118"/> > </mets:div> > <mets:div LABEL="Carta [60v]" ORDER="4" > ORDERLABEL="116"> > <mets:fptr FILEID="file.00119"/> > </mets:div> > <mets:div LABEL="Carta [61r]" ORDER="5" > ORDERLABEL="117"> > <mets:fptr FILEID="file.00120"/> > </mets:div> > <mets:div LABEL="Carta [61v]" ORDER="6" > ORDERLABEL="118"> > <mets:fptr FILEID="file.00121"/> > </mets:div> > <mets:div LABEL="Carta [62r]" ORDER="7" > ORDERLABEL="119"> > <mets:fptr FILEID="file.00122"/> > </mets:div> > <mets:div LABEL="Carta [62v]" ORDER="8" > ORDERLABEL="120"> > <mets:fptr FILEID="file.00123"/> > </mets:div> > <mets:div LABEL="Carta [63r]" ORDER="9" > ORDERLABEL="121"> > <mets:fptr FILEID="file.00124"/> > </mets:div> > <mets:div LABEL="Carta [63v]" ORDER="10" > ORDERLABEL="122"> > <mets:fptr FILEID="file.00125"/> > </mets:div> > <mets:div LABEL="Carta [64r]" ORDER="11" > ORDERLABEL="123"> > <mets:fptr FILEID="file.00126"/> > </mets:div> > </mets:div> > > i forgot to ask you how to exclude from the transformation > the first one of the list, in this case: > > <mets:div LABEL="Pagina 59"> > <mets:fptr FILEID="file.00116"/> > </mets:div> > > is it possible? thx.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] how to change the values , Martin Honnen | Thread | [xsl] how to change the values of , ivanmacculi\@libero\ |
[xsl] how to change the values of , ivanmacculi\@libero\ | Date | RE: [xsl] is it possible xpath expr, Michael Kay |
Month |