Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 automatically generates an XSD schema representation of your form as you drop controls from the  palette to the form designer canvas. You can download this XSD using the schema button on the Forms Home page. The XSD elements are named after the control names. The types are based on which control you selected from the palette. For example a Quantity control will appear as an xsd:integer. A dropdown will be an xsd:simpleType restriction. Controls with patterns such as the Zip will have an auto-generated type with your pattern. Click "expand Source" for an example.

html/
Expand
titleClick here for an example
Code Block
language
xml
title.
collapsetrue
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns="http://www.frevvo.com/schemas/_0LaA4HRREeGXK6NO-8HLWA"
            xmlns:frevvo="http://www.frevvo.com/appinfo"
            targetNamespace="http://www.frevvo.com/schemas/_0LaA4HRREeGXK6NO-8HLWA">
   <xsd:element name="CompanyInfo" type="CompanyInfoType">
      <xsd:annotation>
         <xsd:appinfo>
            <frevvo:displaytype/>
         </xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <xsd:complexType name="CompanyInfoType">
      <xsd:sequence>
         <xsd:element name="CustomerInformation" type="CustomerInformationType">
            <xsd:annotation>
               <xsd:appinfo>
                  <frevvo:displaytype>Section</frevvo:displaytype>
                  <frevvo:label>Customer Information</frevvo:label>
               </xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="CustomerInformationType">
      <xsd:sequence>
         <xsd:element minOccurs="0" name="CompanyName" type="xsd:string">
            <xsd:annotation>
               <xsd:appinfo>
                  <frevvo:displaytype>Text</frevvo:displaytype>
                  <frevvo:label>Company Name</frevvo:label>
               </xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element minOccurs="0" name="Revenue">
            <xsd:annotation>
               <xsd:appinfo>
                  <frevvo:displaytype>Money</frevvo:displaytype>
                  <frevvo:label>Revenue</frevvo:label>
               </xsd:appinfo>
            </xsd:annotation>
            <xsd:simpleType>
               <xsd:restriction base="xsd:double"/>
            </xsd:simpleType>
         </xsd:element>
         <xsd:element minOccurs="0" name="Employees">
            <xsd:annotation>
               <xsd:appinfo>
                  <frevvo:displaytype>Quantity</frevvo:displaytype>
                  <frevvo:label>Employees</frevvo:label>
               </xsd:appinfo>
            </xsd:annotation>
            <xsd:simpleType>
               <xsd:restriction base="xsd:decimal">
                  <xsd:pattern value="[\-+]?[0-9]+"/>
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
         <xsd:element minOccurs="0" name="IncorporationDate" type="xsd:date">
            <xsd:annotation>
               <xsd:appinfo>
                  <frevvo:displaytype>Date</frevvo:displaytype>
                  <frevvo:label>Incorporation Date</frevvo:label>
               </xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element minOccurs="0" name="State" type="StateType">
            <xsd:annotation>
               <xsd:appinfo>
                  <frevvo:displaytype>Dropdown</frevvo:displaytype>
                  <frevvo:label>State</frevvo:label>
                  <frevvo:itemLabel>CT</frevvo:itemLabel>
                  <frevvo:itemLabel>MA</frevvo:itemLabel>
                  <frevvo:itemLabel>NY</frevvo:itemLabel>
               </xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element minOccurs="0" name="Zip">
            <xsd:annotation>
               <xsd:appinfo>
                  <frevvo:displaytype>Text</frevvo:displaytype>
                  <frevvo:label>Zip</frevvo:label>
               </xsd:appinfo>
            </xsd:annotation>
            <xsd:simpleType>
               <xsd:restriction base="xsd:string">
                  <xsd:pattern value="\d{5}|\d{5}-\d{4}"/>
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
         <xsd:element minOccurs="0" name="Phone">
            <xsd:annotation>
               <xsd:appinfo>
                  <frevvo:displaytype>Phone</frevvo:displaytype>
                  <frevvo:label>Phone</frevvo:label>
               </xsd:appinfo>
            </xsd:annotation>
            <xsd:simpleType>
               <xsd:restriction base="xsd:string">
                  <xsd:pattern value="\d{3}-\d{4}"/>
                  <xsd:pattern value="\d{3}\.\d{4}"/>
                  <xsd:pattern value="\d{3}-\d{3}-\d{4}"/>
                  <xsd:pattern value="\d{3}\.\d{3}\.\d{4}"/>
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:element>
      </xsd:sequence>
   </xsd:complexType>
   <xsd:simpleType name="StateType">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CT"/>
         <xsd:enumeration value="MA"/>
         <xsd:enumeration value="NY"/>
      </xsd:restriction>
   </xsd:simpleType>
</xsd:schema>

Using Your Schema

Before you can use global elements from a schema in a form, you must upload the schema XSD file into one of your  applications. To upload a schema:

...

Elements with a Nillable Attribute

, version 5.0 only, fully supports nillable element attributes in schema. In previous versions, a required field (minOccurs = 1 or greater) in a form generated from schema, HAD to have a value for the form to be submitted. The control was considered required, ie. the control would display a yellow background color. Nillable attributes override the fact that the field is required and, if present and set to true, required controls will now be considered optional.  When you submit a form and do NOT have a value in a minOccurs > 0 nillable field, the XML document  generated by  will contain an EMPTY element like this <control name xsi:nil="true"/>.

...