Mega Code Archive

 
Categories / XML / XSLT StyleSheet
 

String function

File: Data.xml <?xml version="1.0" encoding="UTF-8"?><CastList xmlns:xs="http://www.w3.org/2001/XMLSchema">   <CastMember>     <Character><Name>name 1</Name></Character>     <Actor><Name>actor 1</Name></Actor>   </CastMember>   <CastMember>     <Character><Name>name 2</Name></Character>     <Actor><Name>actor 2</Name></Actor>   </CastMember> </CastList> File: Transform.xslt <?xml version="1.0"?> <xsl:stylesheet version="2.0"                 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"                 xmlns:xs="http://www.w3.org/2001/XMLSchema">     <xsl:template match="ul">       <CastList><xsl:apply-templates /></CastList>     </xsl:template>          <xsl:template match="li">       <CastMember><xsl:apply-templates /></CastMember>     </xsl:template>          <xsl:template match="span">       <xsl:variable name="name" as="xs:string"                      select="concat(upper-case(substring(@class, 1, 1)),                                    substring(@class, 2))" />       <xsl:element name="{$name}">         <Name><xsl:value-of select="." /></Name>       </xsl:element>     </xsl:template> </xsl:stylesheet> Output: <?xml version="1.0" encoding="UTF-8"?>        name 1     actor 1           name 2     actor 2