File: //var/opt/OV/conf/agtrep/STD2CIDTransformerUtils.xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<aab>
<xsl:variable name="input" select="ab" />
<xsl:call-template name="createPropTypes">
<xsl:with-param name="input" select="$input" />
<xsl:with-param name="parsedAlready" select="'#'" />
</xsl:call-template>
</aab>
</xsl:template>
<xsl:template name="createPropTypes">
<xsl:param name="input" />
<xsl:param name="parsedAlready" />
<xsl:if test="contains($input, '$')">
<xsl:variable name="propType"
select="substring-before(substring-after($input, '$'), '$')" />
<xsl:if test="not(contains($parsedAlready, $propType))">
<xsl:text disable-output-escaping="yes"><</xsl:text>
<xsl:value-of select="$propType" />
<xsl:text disable-output-escaping="yes">></xsl:text>
<xsl:text>xs:string</xsl:text>
<xsl:text disable-output-escaping="yes"></</xsl:text>
<xsl:value-of select="$propType" />
<xsl:text disable-output-escaping="yes">></xsl:text>
</xsl:if>
<xsl:variable name="remaining"
select="substring($input, string-length( concat( $propType, '$', substring-before ($input, '$')))+2)" />
<xsl:call-template name="createPropTypes">
<xsl:with-param name="input" select="$remaining" />
<xsl:with-param name="parsedAlready"
select="concat($parsedAlready, '#', $propType)" />
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>