Because some fractional values (e.g. 1/3) cannot be
exactly represented using any of the types provided by XML Schema (due to the
recurring nature of their decimal representation) I want to define a new type
that will enable exact representation of such values.
As I see it there are two
possibilities:
1) Create a complex type with a denominator and
numerator, possibly something like:
<complexType
name="fraction">
<sequence>
<element
name="numerator"
type="decimal"/>
<element
name="denominator"
type="decimal"/>
</sequence> </complexType>
2) Create a simple type as a restriction on
"string", possibly something like:
<simpleType
name="fraction">
<restriction
base="string">
<pattern
value="[0-9]+(.[0-9]+)/[0-9]+(.[0-9]+)"/>
</restriction>
</simpleType>
Both of these approaches have their benefits and pitfalls of
course.
Are there any "best practices" in this regard? It seems a pity
that there was no fraction type defined for us in the first place (or am I
missing something somewhere?)
Many thanks
Hugh Wallis
|