XForms datatypes

Discussion in 'XML' started by -, Jul 2, 2004.

  1. -

    - Guest

    I am using XSmiles 0.91 to evaluate W3C XForms. Everything is the below
    example is working OK, with the exception of the maxLength restriction
    on the "email" control, which the browser seems to ignore. The alert
    message is not displayed when "email" loses focus and the form submits.
    This is not the required behaviour as I need to apply restrictions to
    certain fields. Please note that the use of maxLength in this case is
    simply an illustration, XSmiles ignores other restrictions such as
    xs:pattern here too.

    Can anyone explain where I am going wrong, or does XSmiles not support
    restriction of datatypes via XML Schema yet?

    Thanks

    Will

    (example follows:)

    <head>

    <xf:model>

    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:simpleType name="emailaddress">
    <xs:restriction base="xs:string">
    <xs:maxLength value="1"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:schema>

    <xf:instance>

    <communication xmlns="http://example.info">
    <name/>
    <email/>
    </communication>

    </xf:instance>

    <xf:bind nodeset="my:name" id="bindname" required="true()"/>
    <xf:bind nodeset="my:email" id="bindemail" type="xs:emailaddress"/>

    <xf:submission id="submit1" method="get" separator="&amp;"
    action="http://abc.asp"/>

    </xf:model>

    </head>
    <body>

    <xf:input bind="bindname">
    <xf:label>Name</xf:label>
    <xf:alert>Please enter your name.</xf:alert>
    </xf:input>

    <xf:input bind="bindemail">
    <xf:label>Email</xf:label>
    <xf:alert>Please enter a valid email address.</xf:alert>
    </xf:input>

    </body>
     
    -, Jul 2, 2004
    #1
    1. Advertisements

  2. -

    - Guest

    Actually ignore that, I have realised there is a problem with the
    schema. Just a bit rusty on XML Schema at the moment.
     
    -, Jul 2, 2004
    #2
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.