[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: generating ID strings that are both readable and
<section><title>grumble</title>...</section> <section id="grumble"><title>grumble</title>...</section> would make <section id="grumble"><title>grumble</title>...</section> <section id="grumble"><title>grumble</title>...</section> you can avoid this like so <xsl:key name="noid" match="section[not(@id)]" use="translate(title,' !#,()','_')"/> <xsl:key name="id" match="*[@id]" use="@id"/> <xsl:template match="section[not(@id)]"> <xsl:copy> <xsl:variable name="id" select="translate(title,' !#._,()','_')"/> <xsl:variable name="thisnode" select="generate-id()"/> <xsl:attribute name="id"> <xsl:value-of select="$id"/> <xsl:for-each select="key('noid',$id)"> <xsl:if test="(key('id',$id)) or (position()!=1 and generate-id(.)=$thisnode)"> <xsl:text>-</xsl:text> <xsl:value-of select="position()"/> </xsl:if> </xsl:for-each> </xsl:attribute> <xsl:copy-of select="@*"/> <xsl:apply-templates/> </xsl:copy> </xsl:template> which makes <section id="grumble-1"><title>grumble</title>...</section> <section id="grumble"><title>grumble</title>...</section> adding -1 now. So as long as the "suffix" form isn't used by any original ids, you should be OK. David ________________________________________________________________________ The Numerical Algorithms Group Ltd is a company registered in England and Wales with company number 1249803. The registered office is: Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom. This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. ________________________________________________________________________
|
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
|