Hi all, i've this xslt to transform a xml to another that i've already posted.
my problem is that i must modify it to have a numeration that starts from 7 and
not from 1. So besides to have Carta 1r and follows, i will have Carta 7r and
follows. I thought to "from" attribute of xslt:number, but it doesn't work. can
you help me?
<xsl:stylesheet
xmlns:xsl="http://www.w3.
org/1999/XSL/Transform"
xmlns:mets="http://www.loc.gov/METS/"
version="
2.0">
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-
templates select="@*, node()"/>
</xsl:copy>
</xsl:template>
<xsl:
template match="mets:div/@LABEL[matches(., '^Pagina [0-9]+$')]">
<xsl:
variable name="n">
<xsl:number level="any" count="mets:div[(_at_)LABEL[matches
(.,
'^Pagina [0-9]+$')]]"/>
</xsl:variable>
<xsl:attribute name="
LABEL" select="concat('Carta ', if ($n mod 2 =
0) then concat(($n + 1) idiv 2,
'v') else concat(($n + 1) idiv 2, 'r'))"/>
</xsl:template>
</xsl:
stylesheet>
XML:
<mets:div LABEL="Testo" ORDER="4" ORDERLABEL="1">
<mets:
div LABEL="Frontespizio" ORDER="1" ORDERLABEL="1">
<mets:div LABEL="Pagina 5"
ORDER="1" ORDERLABEL="5">
<mets:fptr FILEID="file.00008"/>
</mets:div>
</mets:div>
<mets:div LABEL="Dedica" ORDER="2" ORDERLABEL="1">
<mets:div
LABEL="Pagina 6" ORDER="1" ORDERLABEL="6">
<mets:fptr FILEID="file.00009"/>
</mets:div>
</mets:div>
<mets:div LABEL="Canto I" ORDER="3" ORDERLABEL="1">
<mets:div LABEL="Pagina 7" ORDER="1" ORDERLABEL="7">
<mets:fptr FILEID="
file.00010"/>
</mets:div>
<mets:div LABEL="Pagina 8" ORDER="2" ORDERLABEL="
8">
<mets:fptr FILEID="file.00011"/>
</mets:div>
<mets:div LABEL="Pagina
9" ORDER="3" ORDERLABEL="9">
<mets:fptr FILEID="file.00012"/>
</mets:div>
</mets:div>
</mets:div>
OUTPUT XML
<mets:div LABEL="Testo" ORDER="4"
ORDERLABEL="1">
<mets:div LABEL="Frontespizio" ORDER="1" ORDERLABEL="1">
<mets:div LABEL="Carta 1r" ORDER="1" ORDERLABEL="5">
<mets:fptr FILEID="file.
00008"/>
</mets:div>
</mets:div>
<mets:div LABEL="Dedica" ORDER="2"
ORDERLABEL="1">
<mets:div LABEL="Carta 1v" ORDER="1" ORDERLABEL="6">
<mets:
fptr FILEID="file.00009"/>
</mets:div>
</mets:div>
<mets:div LABEL="Canto
I" ORDER="3" ORDERLABEL="1">
<mets:div LABEL="Carta 2r" ORDER="1" ORDERLABEL="
7">
<mets:fptr FILEID="file.00010"/>
</mets:div>
<mets:div LABEL="Carta
2v" ORDER="2" ORDERLABEL="8">
<mets:fptr FILEID="file.00011"/>
</mets:div>
<mets:div LABEL="Carta 3r" ORDER="3" ORDERLABEL="9">
<mets:fptr FILEID="
file.00012"/>
</mets:div>
</mets:div>
</mets:div>
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--