- From: Rhydian Morris <RMorris@focus-solutions.co.uk>
- Date: Fri, 8 Apr 2005 11:10:46 +0100
- To: "'ava@vaz.ru'" <ava@vaz.ru>, www-forms@w3.org
Hi All,
Another way of solving this is to create a schema which creates a element of
your type. Set the attribute nillable="true" as in the example below.
<xsd:element name="myroot">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="myelement"
type="my:mytype" nillable="true"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:simpleType name="mytype">
<xsd:restriction base="xsd:decimal">
<xsd:minInclusive value="0"/>
<xsd:fractionDigits value="5"/>
</xsd:restriction>
</xsd:simpleType>
then within your instance set the xsi:nil attribute to true and it shouldn't
raise an error when there is an empty value.
<my:myroot xmlns:my="http://www.fbs.com/myschema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<my:myelement xsi:nil="true"/>
</my:myroot>
regards
Rhydian Morris
www.xformation.com
-----Original Message-----
From: Alexander Anokhin [mailto:ava@vaz.ru]
Sent: 08 April 2005 08:06
To: www-forms@w3.org
Subject: WXS types in XForms
Hello, all.
I'm trying to assign some validation job to XForms.
For example: I want to bind <xform:input> with such WXS-type when it's
value is decimal with maximum 5 digits OR user may leave this field
empty (kind of optional search parameter).
My guess, is that i'll be like this:
<xsd:simpleType name="myType">
<xsd:restriction base="xsd:decimal">
<xsd:minInclusive value="0"/>
<xsd:fractionDigits value="5"/>
</xsd:restriction>
</xsd:simpleType>
but when such field is empty (right after Xform is loaded or user
desided that way) it fires xforms-invalid event and so on..
I did some workaround by using <xsd:pattern>:
<xsd:simpleType name="myType">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[0-9]{1,5}|"/>
</xsd:restriction>
</xsd:simpleType>
Works fine but, imho, not such pretty.
I'm not an WXS expert so is there better way?
--
Alexander Anokhin
AVTOVAZ JSC
email: ava@vaz.ru
icq: 123275798
Received on Friday, 8 April 2005 10:10:53 UTC