XML Schema Documentation

Table of Contents

top

Schema Document Properties

Target Namespace http://xml.fiforms.org/FiForms/
Version 1.1
Language en
Element and Attribute Namespaces
  • Global element and attribute declarations belong to this schema's target namespace.
  • By default, local element declarations have no namespace.
  • By default, local attribute declarations have no namespace.
Schema Composition
  • This schema imports schema(s) from the following namespace(s):
    • http://xml.fiforms.org/FiFormsApplication/ (at FiFormsApplication.xsd)
    • http://www.w3.org/1999/xhtml (at xhtml/xhtml-basic10.xsd)
Documentation This is the XML Schema for XML FiForm definitions. Please use this namespace for fiform elements: http://xml.fiforms.org/FiForms/
More information at: http://xml.fiforms.org/FiForms/.

This Schema is distributed with FiForms, a collection of PHP classes designed to facilitate rapid development of web-database software

Copyright (C) 2003-2007 Daniel McFeeters

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
More information at: http://www.gnu.org/copyleft/lesser.html.

The original author of this library can be contacted at the following address:

Daniel McFeeters

182 Baker Rd.

Faubush, KY 42544-6526

email:databases at alltel dot net

You can find out more about FiForms Solutions and download the open-source (LGPL) collection of FiForms PHP Classes from www.fiforms.org
More information at: http://www.fiforms.org.

Declared Namespaces

Prefix Namespace
Default namespace http://xml.fiforms.org/FiForms/
xml http://www.w3.org/XML/1998/namespace
html http://www.w3.org/1999/xhtml
app http://xml.fiforms.org/FiFormsApplication/
xs http://www.w3.org/2001/XMLSchema
Schema Component Representation
<xs:schema xml:lang="en" targetNamespace="http://xml.fiforms.org/FiForms/" version="1.1">
<xs:import namespace="http://xml.fiforms.org/FiFormsApplication/" schemaLocation="FiFormsApplication.xsd"/>
<xs:import namespace="http://www.w3.org/1999/xhtml" schemaLocation="xhtml/xhtml-basic10.xsd"/>
...
</xs:schema>
top

Global Declarations

Element: code

Name code
Type xs:string
Nillable no
Abstract no
Documentation PHP code executed when the form is viewed. The code does not need to be enclosed in XML processing instructions (i.e. ?php tags)
XML Instance Representation
<code> xs:string </code>
Schema Component Representation
<xs:element name="code" type="xs:string"/>
top

Element: confidentiality

Name confidentiality
Type Locally-defined complex type
Nillable no
Abstract no
XML Instance Representation
<confidentiality
level="low_medium_high [1]"/>
Schema Component Representation
<xs:element name="confidentiality">
<xs:complexType>
<xs:attribute name="level" type="low_medium_high" use="required"/>
</xs:complexType>
</xs:element>
top

Element: connect

Name connect
Type Locally-defined complex type
Nillable no
Abstract no
Documentation Information needed to connect with the database.
XML Instance Representation
<connect
type="database [0..1] ?"
id="xs:integer [0..1] ?"
server="xs:string [0..1] ?"
db="xs:string [1] ?"
update="xs:string [0..1] ?"
user="xs:string [0..1] ?"
passwd="xs:string [0..1] ?">
<primaryKey> ... </primaryKey> [0..*] ?
</connect>
Schema Component Representation
<xs:element name="connect">
<xs:complexType>
<xs:sequence>
<xs:element ref="primaryKey" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="type" type="database" default="MySQL" use="optional"/>
<xs:attribute name="id" type="xs:integer" default="1" use="optional"/>
<xs:attribute name="server" type="xs:string" default="localhost" use="optional"/>
<xs:attribute name="db" type="xs:string" use="required"/>
<xs:attribute name="update" type="xs:string" use="optional"/>
<xs:attribute name="user" type="xs:string" use="optional"/>
<xs:attribute name="passwd" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
top

Element: depends

Name depends
Type xs:string
Nillable no
Abstract no
Documentation The field names of controls on form that trigger this control to refresh from the loaddata query.
XML Instance Representation
<depends> xs:string </depends>
Schema Component Representation
<xs:element name="depends" type="xs:string"/>
top

Element: expression

Name expression
Type auto_load
Nillable no
Abstract no
Documentation Javascript expression which evaluates to calculate a single value on a form, instead of loading an external datasource.
XML Instance Representation
<expression
auto="autoorno [0..1]"/>
Schema Component Representation
<xs:element name="expression" type="auto_load"/>
top

Element: f

Name f
Type Locally-defined complex type
Nillable no
Abstract no
Documentation Field Listing and Formating Information. If this element is present, only the listed fields will be present. The content of this element should match the name of the field returned by the SQL query. A column header alias (a element) should be supplied for each field, and optionally summary and formatting information.

Currently this element is only implemented in FiReports. Including it in a query in a FiForm has no effect at this time.
XML Instance Representation
<f
a="xs:string [1]"
summary="fsummarytype [0..1]"
format="fformattype [0..1]"
formatopts="xs:string [0..1]"/>
Schema Component Representation
<xs:element name="f">
<xs:complexType mixed="true">
<xs:attribute name="a" type="xs:string" use="required">
<xs:documentation>
Field Alias or Column Heading. Should be a short description of the field.
</xs:documentation>
</xs:attribute>
<xs:attribute name="summary" type="fsummarytype" use="optional">
<xs:documentation>
Summary options for totalling the field.
</xs:documentation>
</xs:attribute>
<xs:attribute name="format" type="fformattype" use="optional">
<xs:documentation>
Field Format.
</xs:documentation>
</xs:attribute>
<xs:attribute name="formatopts" type="xs:string" use="optional">
<xs:documentation>
Decimal format for numbers. This is a string passed to the xslt format-number function. For example, a currency field could have a format of "$#,##0.00"
</xs:documentation>
</xs:attribute>
</xs:complexType>
</xs:element>
top

Element: fiform

Name fiform
Type Locally-defined complex type
Nillable no
Abstract no
Documentation This is the root element of a FiForm definition. Attributes of this element affect the behaviour and appearance of the form and define permissions.
XML Instance Representation
<fiform
window="anySimpleType [0..1] ?"
menubar="yes_no [0..1] ?"
toolbar="yes_no [0..1] ?"
scrollbars="yes_no [0..1] ?"
resizable="yes_no [0..1] ?"
location="yes_no [0..1] ?"
width="xs:integer [0..1] ?"
height="xs:integer [0..1] ?"
ctlPosition="navlink_positions [0..1] ?"
svctlPosition="svlink_positions [0..1] ?"
viewsAllowed="allowed_view [0..1] ?"
defaultView="default_vew [0..1] ?"
allowView="yes_no [0..1] ?"
allowInsert="yes_no [0..1] ?"
allowUpdate="yes_no [0..1] ?"
insert="insert_type [0..1] ?"
whichControls="availablecontrols [0..1] ?"
recordLimit="xs:integer [0..1] ?">
<title> ... </title> [1]
<summary> ... </summary> [0..1]
<security> ... </security> [0..1]
<connect> ... </connect> [0..1]
<param> ... </param> [0..*]
<query> ... </query> [0..1]
Start Sequence [0..*]
Start Choice [1]
<code> ... </code> [1]
<iText> ... </iText> [1]
<iROText> ... </iROText> [1]
<iHidden> ... </iHidden> [1]
<iTextArea> ... </iTextArea> [1]
<iDateText> ... </iDateText> [1]
<iCheck> ... </iCheck> [1]
<iDBSelect> ... </iDBSelect> [1]
<iLink> ... </iLink> [1]
<iSubform> ... </iSubform> [1]
<iCustomInput> ... </iCustomInput> [1]
<iUUID> ... </iUUID> [1]
<input> ... </input> [1]
<if> ... </if> [1]
End Choice
End Sequence
<wrapper> ... </wrapper> [0..1]
</fiform>
Schema Component Representation
<xs:element name="fiform">
<xs:complexType>
<xs:sequence>
<xs:element ref="title"/>
<xs:element ref="summary" maxOccurs="1" minOccurs="0"/>
<xs:element ref="security" maxOccurs="1" minOccurs="0"/>
<xs:element ref="connect" maxOccurs="1" minOccurs="0"/>
<xs:element ref="param" maxOccurs="unbounded" minOccurs="0"/>
<xs:element ref="query" maxOccurs="1" minOccurs="0"/>
<xs:sequence maxOccurs="unbounded" minOccurs="0">
<xs:group ref="controls"/>
</xs:sequence>
<xs:element ref="wrapper" maxOccurs="1" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="windowattributes"/>
<xs:attribute name="ctlPosition" type="navlink_positions" default="bottom"/>
<xs:attribute name="svctlPosition" type="svlink_positions" default="right"/>
<xs:attribute name="viewsAllowed" type="allowed_view" default="both"/>
<xs:attribute name="defaultView" type="default_vew" default="sheet" use="optional"/>
<xs:attribute name="allowView" type="yes_no" default="yes" use="optional"/>
<xs:attribute name="allowInsert" type="yes_no" default="yes" use="optional"/>
<xs:attribute name="allowUpdate" type="yes_no" default="yes" use="optional"/>
<xs:attribute name="insert" type="insert_type" default="new"/>
<xs:attribute name="whichControls" type="availablecontrols" default="all"/>
<xs:attribute name="recordLimit" type="xs:integer" default="20"/>
</xs:complexType>
</xs:element>
top

Element: generator

Name generator
Type Locally-defined complex type
Nillable no
Abstract no
XML Instance Representation
<generator
href="xs:string [0..1] ?"/>
Schema Component Representation
<xs:element name="generator">
<xs:complexType>
<xs:attribute name="href" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
top

Element: headerTags

Name headerTags
Type Locally-defined complex type
Nillable no
Abstract no
Documentation
XML Instance Representation
<headerTags>
Start Sequence [1..*]
Allow any elements from the following namespace(s): http://www.w3.org/1999/xhtml (skip validation). [1]
End Sequence
</headerTags>
Schema Component Representation
<xs:element name="headerTags">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:any namespace="http://www.w3.org/1999/xhtml" processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:element>
top

Element: iCheck

Name iCheck
Type Locally-defined complex type
Nillable no
Abstract no
Documentation iCheck (data-bound check box) FiForm object.
XML Instance Representation
<iCheck
field="xs:token [1] ?"
caption="xs:string [0..1] ?"
default="anySimpleType [0..1] ?"
datatype="anySimpleType [0..1] ?"
maxlength="anySimpleType [0..1] ?"
display="sheetform [0..1] ?"
onchange="anySimpleType [0..1] ?"
onblur="anySimpleType [0..1] ?"
onfocus="anySimpleType [0..1] ?"
onkeypress="anySimpleType [0..1] ?"
onkeydown="anySimpleType [0..1] ?"
enabled="yes_no [0..1] ?"
readonly="readonly [0..1] ?"/>
Schema Component Representation
<xs:element name="iCheck">
<xs:complexType>
<xs:attributeGroup ref="inputfields"/>
</xs:complexType>
</xs:element>
top

Element: iCustomInput

Name iCustomInput
Type Locally-defined complex type
Nillable no
Abstract no
Documentation FiForm iCustomInput Object. A fully customizable control. The contents of this control will simply be copied into the form, with variable substitutions made in between percent (%) signs.
XML Instance Representation
<iCustomInput
caption="anySimpleType [0..1] ?"
expression="anySimpleType [0..1] ?">
<!-- Mixed content -->
Start Sequence [0..*]
Allow any elements from the following namespace(s): http://www.w3.org/1999/xhtml (skip validation). [1]
End Sequence
</iCustomInput>
Schema Component Representation
<xs:element name="iCustomInput">
<xs:complexType mixed="true">
<xs:sequence maxOccurs="unbounded" minOccurs="0">
<xs:any namespace="http://www.w3.org/1999/xhtml" processContents="skip"/>
</xs:sequence>
<xs:attribute name="caption"/>
<xs:attribute name="expression"/>
</xs:complexType>
</xs:element>
top

Element: iDBSelect

Name iDBSelect
Type Locally-defined complex type
Nillable no
Abstract no
Documentation iDBSelect (data bound selection, drop-down box, or radio button group) FiForm object.

Options can be queried from the database by specifing a query in the rowQuery attribute or they can be specified here manually with option elements inside the iDBSelect element.
XML Instance Representation
<iDBSelect
field="xs:token [1] ?"
caption="xs:string [0..1] ?"
default="anySimpleType [0..1] ?"
datatype="anySimpleType [0..1] ?"
maxlength="anySimpleType [0..1] ?"
display="sheetform [0..1] ?"
onchange="anySimpleType [0..1] ?"
onblur="anySimpleType [0..1] ?"
onfocus="anySimpleType [0..1] ?"
onkeypress="anySimpleType [0..1] ?"
onkeydown="anySimpleType [0..1] ?"
enabled="yes_no [0..1] ?"
readonly="readonly [0..1] ?"
rowQuery="anySimpleType [0..1] ?"
ftable="anySimpleType [0..1] ?"
fkey="anySimpleType [0..1] ?"
fvalue="anySimpleType [0..1] ?"
linkedform="anySimpleType [0..1] ?"
style="styletype [0..1] ?">
<loaddata> ... </loaddata> [0..1] ?
<depends> ... </depends> [0..*]
<option> ... </option> [0..*]
</iDBSelect>
Schema Component Representation
<xs:element name="iDBSelect">
<xs:complexType>
<xs:sequence>
<xs:element ref="loaddata" maxOccurs="1" minOccurs="0"/>
<xs:element ref="depends" maxOccurs="unbounded" minOccurs="0"/>
<xs:element ref="option" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="inputfields"/>
<xs:attribute name="rowQuery"/>
<xs:attribute name="ftable"/>
<xs:attribute name="fkey"/>
<xs:attribute name="fvalue"/>
<xs:attribute name="linkedform"/>
<xs:attribute name="style" type="styletype"/>
</xs:complexType>
</xs:element>
top

Element: iDateText

Name iDateText
Type Locally-defined complex type
Nillable no
Abstract no
Documentation iDateText (data-bound date input box) FiForm object.
XML Instance Representation
<iDateText
field="xs:token [1] ?"
caption="xs:string [0..1] ?"
default="anySimpleType [0..1] ?"
datatype="anySimpleType [0..1] ?"
maxlength="anySimpleType [0..1] ?"
display="sheetform [0..1] ?"
onchange="anySimpleType [0..1] ?"
onblur="anySimpleType [0..1] ?"
onfocus="anySimpleType [0..1] ?"
onkeypress="anySimpleType [0..1] ?"
onkeydown="anySimpleType [0..1] ?"
enabled="yes_no [0..1] ?"
readonly="readonly [0..1] ?"/>
Schema Component Representation
<xs:element name="iDateText">
<xs:complexType>
<xs:attributeGroup ref="inputfields"/>
</xs:complexType>
</xs:element>
top

Element: iFile

Name iFile
Type Locally-defined complex type
Nillable no
Abstract no
Documentation iFile FiForm object, to enable upload of pictures and files stored in a database BLOB field.
XML Instance Representation
<iFile
field="xs:token [1] ?"
caption="xs:string [0..1] ?"
default="anySimpleType [0..1] ?"
datatype="anySimpleType [0..1] ?"
maxlength="anySimpleType [0..1] ?"
display="sheetform [0..1] ?"
onchange="anySimpleType [0..1] ?"
onblur="anySimpleType [0..1] ?"
onfocus="anySimpleType [0..1]