Subject: RE: [xsl] Change xml:lang of a skos:prefLabel [ skos, rdf, xml:lang ] From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Wed, 14 Oct 2009 23:19:45 +0100 |
> the application i'm working on requires > an xml:lang attribute for labels like skos:altLabel or skos:prefLabel. > > is there a way (for a complete xsl newbie) to add such an > xml:lang attribute to labels that don't have one and leave > the rest of the thesaurus as it is with xsl? Depending what exactly you mean by "labels like skos:altLabel or skos:prefLabel", use the modified identity stylesheet pattern: <xsl:template match="skos:altLabel|skos:prefLabel"> <xsl:copy> <xsl:attribute name="xml:lang">en</xsl:attribute> <xsl:copy-of select="@*"/> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> <xsl:template match="*"> <xsl:copy> <xsl:copy-of select="@*"/> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> This relies on the fact that if you add the same attribute to an element twice, the last one wins. Regards, Michael Kay http://www.saxonica.com/ http://twitter.com/michaelhkay
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Change xml:lang of a skos, Jürgen Jakobitsch | Thread | RE: [xsl] Change xml:lang of a skos, Syd Bauman |
Re: [xsl] De Normalize XML using XS, Senthilukvelaan | Date | RE: [xsl] Change xml:lang of a skos, Syd Bauman |
Month |