[no subject]

From: "ivanmacculi@xxxxxxxxx" ivanmacculi@xxxxxxxxx
xygen-user@xxxxxxxxxxxxx
Cc          : 
Date      : Fri, 27 Nov 2009 21:00:23 +0100
Subject : [xsl] how to create an exclusion list from a variable?







> HI all, i've this xml and i'm tryng to change the value of the attribut=
es. This is what i have:
> 
> <mets:div LABEL=3D"Canto I">
>                     <mets:div LABEL=3D"Pagina 7">
>                         <mets:fptr FILEID=3D"file.00010"/>
>                     </mets:div>
>                     <mets:div LABEL=3D"Pagina 8">
>                         <mets:fptr FILEID=3D"file.00011"/>
>                     </mets:div>
>                     <mets:div LABEL=3D"Pagina 9">
>                         <mets:fptr FILEID=3D"file.00012"/>
>                     </mets:div>
>                     <mets:div LABEL=3D"Pagina 10">
>                         <mets:fptr FILEID=3D"file.00013"/>
>                     </mets:div>
>                     <mets:div LABEL=3D"Pagina 11">
>                         <mets:fptr FILEID=3D"file.00014"/>
>                     </mets:div>
>                     <mets:div LABEL=3D"Pagina 12">
>                         <mets:fptr FILEID=3D"file.00015"/>
>                     </mets:div>
>                     <mets:div LABEL=3D"Pagina 13">
>                         <mets:fptr FILEID=3D"file.00016"/>
>                     </mets:div>
>                     <mets:div LABEL=3D"Pagina 14">
>                         <mets:fptr FILEID=3D"file.00017"/>
>                     </mets:div>
>                     <mets:div LABEL=3D"Pagina 15">
>                         <mets:fptr FILEID=3D"file.00018"/>
>                     </mets:div>
>                     <mets:div LABEL=3D"Pagina 16">
>                         <mets:fptr FILEID=3D"file.00019"/>
>                     </mets:div>
>                     <mets:div LABEL=3D"Pagina 17">
>                         <mets:fptr FILEID=3D"file.00020"/>
>                     </mets:div>
>                 </mets:div>
> 
> this is what i would like to obtain:
> 
> <mets:div LABEL=3D"Canto I">
>                     <mets:div LABEL=3D"Pagina 7">
>                         <mets:fptr FILEID=3D"file.00010"/>
>                     </mets:div>
>                     <mets:div LABEL=3D"Carta [1r]">
>                         <mets:fptr FILEID=3D"file.00011"/>
>                     </mets:div>
>                     <mets:div LABEL=3D"Carta [1v]">
>                         <mets:fptr FILEID=3D"file.00012"/>
>                     </mets:div>
>                     <mets:div LABEL=3D"Carta [2r]">
>                         <mets:fptr FILEID=3D"file.00013"/>
>                     </mets:div>
>                     <mets:div LABEL=3D"Carta [2v]">
>                         <mets:fptr FILEID=3D"file.00014"/>
>                     </mets:div>
>                     <mets:div LABEL=3D"Carta [3r]">
>                         <mets:fptr FILEID=3D"file.00015"/>
>                     </mets:div>
>                     <mets:div LABEL=3D"Pagina 13">
>                         <mets:fptr FILEID=3D"file.00016"/>
>                     </mets:div>
>                     <mets:div LABEL=3D"Carta [3v]">
>                         <mets:fptr FILEID=3D"file.00017"/>
>                     </mets:div>
>                     <mets:div LABEL=3D"Carta [4r]">
>                         <mets:fptr FILEID=3D"file.00018"/>
>                     </mets:div>
>                     <mets:div LABEL=3D"Carta [4v]">
>                         <mets:fptr FILEID=3D"file.00019"/>
>                     </mets:div>
>                     <mets:div LABEL=3D"Carta [5r]">
>                         <mets:fptr FILEID=3D"file.00020"/>
>                     </mets:div>
>                 </mets:div>
> 
> Hannon helped me to create this xsl that trasforms the values of all th=
e attributes (Michael Kay suggested me another way to do it, but it's dif=
ficult to me to use it -he uses functions and namespaces- and it doesn't =
work), but, now, i need to exclude some of these, in this case "Pagina 7"=
 and "Pagina 13". How can i build an exclusion list in the variable? than=
k you a lot to everyone. i promise i will start to study Kay's manual ear=
ly, and disturbing no more.
> 
> <?xml version=3D"1.0" encoding=3D"UTF-8"?>
> <xsl:stylesheet exclude-result-prefixes=3D"#all" version=3D"2.0" 
> xmlns:mets=3D"http://www.loc.gov/METS/";	xmlns:mix=3D"http://www.loc.gov=
/mix/" xmlns:xlink=3D"http://www.w3.org/1999/xlink";	
> xmlns:rd=3D"http://cosimo.stanford.edu/sdr/metsrights/"; xmlns:xsl=3D"ht=
tp://www.w3.org/1999/XSL/Transform">
> 
> <xsl:output indent=3D"yes" method=3D"xml"/>
> 
> <xsl:template match=3D"@* | node()">
> <xsl:copy>
> <xsl:apply-templates select=3D"@*, node()"/>
> </xsl:copy>
> </xsl:template>
> 
>         <xsl:template match=3D"mets:div/@LABEL[matches(., '^Pagina [0-9=
]+$')]">
>             <xsl:variable name=3D"n">
>                 <xsl:number level=3D"any" count=3D"mets:div[@LABEL[matc=
hes(.,
>                     '^Pagina [0-9]+$')]]"/>
>             </xsl:variable>
>             <xsl:attribute name=3D"LABEL" select=3D"concat('Carta [', i=
f ($n mod 2 =3D
>                 0) then concat(($n + 1) idiv 2, 'v]') else concat(($n +=
 1) idiv 2, 'r]'))"/>
>         </xsl:template>
>         
>     </xsl:stylesheet>

Current Thread
  • [no subject]
    • ivanmacculi@xxxxxxxxx - Sun Nov 29 00:25:45 2009 <=