<?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:simpleType name="myDecimal"> <xsd:restriction base="xsd:decimal"> <xsd:totalDigits value="18"/> </xsd:restriction> </xsd:simpleType> <xsd:element name="foo"> <xsd:complexType> <xsd:sequence> <xsd:element name="val" type="myDecimal" maxOccurs="unbounded"/> <xsd:element name="ref" type="myDecimal" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <!--xsd:key name="myKey"> <xsd:selector xpath="val"/> <xsd:field xpath="."/> </xsd:key> <xsd:keyref name="myKeyRef" refer="myKey"> <xsd:selector xpath="ref"/> <xsd:field xpath="."/> </xsd:keyref--> </xsd:element> </xsd:schema>