xsd2html2xml
xsd2html2xml copied to clipboard
Step incorrectly defaulted to 0.1
When translating an element of type number, xs:fractionDigits defines the maximum number of fractional digits (i.e., digits that are after the decimal point). When set to 0, that means that no fractional digits are allowed. The corresponding HTML element should have a step of 1. In this case, the xsd22html2xml transformation incorrectly generates an element of step 0.1 instead. This is due to the default "otherwise" clause from "gui-attributes.xsl".
<xsl:choose>
<xsl:when test="$fractionDigits!='' and $fractionDigits!='0'">
<xsl:value-of select="concat('0.',substring('00000000000000000000',1,$fractionDigits - 1),'1')" />
</xsl:when>
<xsl:otherwise>0.1</xsl:otherwise>
</xsl:choose>
Should be replaced by "xsl:otherwise1</xsl:otherwise>". This clause appears three times: <xsl:when test="$type = 'decimal'">, <xsl:when test="$type = 'float'">, <xsl:when test="$type = 'double'">.