[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

[no subject]

[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>

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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.