<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:llrp="http://www.llrp.org/ltk/schema/core/encoding/binary/1.0"
xmlns:h="http://www.w3.org/1999/xhtml">
<xsl:output omit-xml-declaration='yes' method='text' indent='yes'/>
<xsl:template name="DefineDataType" match="field">
<xsl:choose>
<xsl:when test="@enumeration and @type!='u8v'">
ENUM_<xsl:value-of select="@enumeration"/>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="@type = 'u1'">bool</xsl:when>
<xsl:when test="@type = 'u1v'">LLRPBitArray</xsl:when>
<xsl:when test="@type = 'u2'">TwoBits</xsl:when>
<xsl:when test="@type = 'u8'">byte</xsl:when>
<xsl:when test="@type = 's8'">sbyte</xsl:when>
<xsl:when test="@type = 'u8v'">ByteArray</xsl:when>
<xsl:when test="@type = 'u16'">UInt16</xsl:when>
<xsl:when test="@type = 'u16v'">UInt16Array</xsl:when>
<xsl:when test="@type = 's16'">Int16</xsl:when>
<xsl:when test="@type = 'u32'">UInt32</xsl:when>
<xsl:when test="@type = 'u32v'">UInt32Array</xsl:when>
<xsl:when test="@type = 'u64'">UInt64</xsl:when>
<xsl:when test="@type = 'utf8v'">string</xsl:when>
<xsl:when test="@type = 'u96'">LLRPBitArray</xsl:when>
<xsl:when test="@type = 'bytesToEnd'">ByteArray</xsl:when>
<xsl:otherwise>Unkown_Type</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="DefineDefaultValue" match="field">
<xsl:choose>
<xsl:when test="@enumeration">;</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="@type = 'u1'">=false;</xsl:when>
<xsl:when test="@type = 'u1v'">=new LLRPBitArray();</xsl:when>
<xsl:when test="@type = 'u2'">=new TwoBits(0);</xsl:when>
<xsl:when test="@type = 'u8'">=0;</xsl:when>
<xsl:when test="@type = 's8'">=0;</xsl:when>
<xsl:when test="@type = 'u8v'">=new ByteArray();</xsl:when>
<xsl:when test="@type = 'u16'">=0;</xsl:when>
<xsl:when test="@type = 'u16v'">=new UInt16Array();</xsl:when>
<xsl:when test="@type = 's16'">=0;</xsl:when>
<xsl:when test="@type = 'u32'">=0;</xsl:when>
<xsl:when test="@type = 'u32v'">=new UInt32Array();</xsl:when>
<xsl:when test="@type = 'u64'">=0;</xsl:when>
<xsl:when test="@type = 'utf8v'">=string.Empty;</xsl:when>
<xsl:when test="@type = 'u96'">=new LLRPBitArray();</xsl:when>
<xsl:when test="@type = 'bytesToEnd'">=new ByteArray();</xsl:when>
<xsl:otherwise>Unkown_Type</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="DefineDataLength" match="field">
<xsl:choose>
<xsl:when test="@enumeration and @type!='u8v'">
private Int16 <xsl:value-of select="@name"/>_len = <xsl:choose>
<xsl:when test="@type = 'u1'">1;</xsl:when>
<xsl:when test="@type = 'u2'">2;</xsl:when>
<xsl:when test="@type = 'u8'">8;</xsl:when>
<xsl:when test="@type = 'u16'">16;</xsl:when>
<xsl:when test="@type = 'u32'">32;</xsl:when>
<xsl:otherwise>Unknown_Length;</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="@format='Hex'">
private Int16 <xsl:value-of select="@name"/>_len;
</xsl:when>
<xsl:when test="@format='UTF8'">
private Int16 <xsl:value-of select="@name"/>_len;
</xsl:when>
<xsl:otherwise>
private Int16 <xsl:value-of select="@name"/>_len=0;
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="DefineParameterName" match="field">
<xsl:choose>
<xsl:when test="@name">
<xsl:value-of select="@name"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@type"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="DefineParameterType" match="parameter">
<xsl:choose>
<xsl:when test="@repeat = '1'"></xsl:when>
<xsl:when test="@repeat = '0-1'"></xsl:when>
<xsl:when test="@repeat = '1-N'">[]</xsl:when>
<xsl:when test="@repeat = '0-N'">[]</xsl:when>
<xsl:otherwise>Unknown_Type</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>