[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] [no subject]xygen-user@xxxxxxxxxxxxx Cc : Date : Fri, 27 Nov 2009 21:00:23 +0100 Subject : 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>
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|