Table of Contents
Target Namespace
http://xml.fiforms.org/FiForms/
Version
1.0
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.
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-2005 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
xs
http://www.w3.org/2001/XMLSchema
html
http://www.w3.org/1999/xhtml
Schema Component Representation
<
xs:schema xml:lang ="
en "
targetNamespace ="
http://xml.fiforms.org/FiForms/ "
version ="
1.0 ">
...
</
xs:schema >
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)
Schema Component Representation
<
xs:element name ="
code "
type ="
xs :string"/>
Schema Component Representation
<
xs:element name ="
confidentiality ">
<
xs:complexType >
</
xs:complexType >
</
xs:element >
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 [1] ? " server="xs :string [1] ? " db="xs :string [1] ? " update="xs :string [0..1] ? " user="xs :string [0..1] ? " passwd="xs :string [0..1] ? " >
</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"
use ="
required "/>
<
xs:attribute name ="
server "
type ="
xs :string"
use ="
required "/>
<
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 >
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.
Schema Component Representation
<
xs:element name ="
fiform ">
<
xs:complexType >
<
xs:sequence >
<
xs:element ref ="
title "/>
<
xs:element ref ="
security "
maxOccurs ="
1 "
minOccurs ="
0 "/>
<
xs:element ref ="
connect "
maxOccurs ="
1 "
minOccurs ="
1 "/>
<
xs:element ref ="
param "
maxOccurs ="
unbounded "
minOccurs ="
0 "/>
<
xs:element ref ="
query "
maxOccurs ="
1 "
minOccurs ="
0 "/>
<
xs:sequence maxOccurs ="
unbounded "
minOccurs ="
0 ">
</
xs:sequence >
<
xs:element ref ="
wrapper "
maxOccurs ="
1 "
minOccurs ="
0 "/>
</
xs:sequence >
<
xs:attribute name ="
viewsAllowed "
type ="
allowed_view "
use ="
required "/>
<
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 ="
allowUpdate "
type ="
yes_no "
default ="
yes "
use ="
optional "/>
<
xs:attribute name ="
insert "
type ="
insert_type "
default ="
new "/>
</
xs:complexType >
</
xs:element >
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 >
Element:
Name
headerTags
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
XML Instance Representation
Schema Component Representation
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] ? " >
<!-- Mixed content --> Start Sequence [1..*] 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 ">
<xs:any namespace ="http://www.w3.org/1999/xhtml " processContents ="skip "/>
</
xs:sequence >
<xs:attribute name ="caption "/>
</
xs:complexType >
</
xs:element >
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] ? " onchange="anySimpleType [0..1] ? " onblur="anySimpleType [0..1] ? " onfocus="anySimpleType [0..1] ? " onkeypress="anySimpleType [0..1] ? " onkeydown="anySimpleType [0..1] ? " rowQuery="anySimpleType [0..1] ? " >
</iDBSelect>
Schema Component Representation
<
xs:element name ="
iDBSelect ">
<
xs:complexType >
<
xs:sequence >
<
xs:element ref ="
option "
maxOccurs ="
unbounded "
minOccurs ="
0 "/>
</
xs:sequence >
<xs:attribute name ="rowQuery "/>
</
xs:complexType >
</
xs:element >
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] ? " onchange="anySimpleType [0..1] ? " onblur="anySimpleType [0..1] ? " onfocus="anySimpleType [0..1] ? " onkeypress="anySimpleType [0..1] ? " onkeydown="anySimpleType [0..1] ? " />
Schema Component Representation
<
xs:element name ="
iDateText ">
<
xs:complexType >
</
xs:complexType >
</
xs:element >
Name
iHidden
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
iHidden (hidden data-bound text box) FiForm object.
XML Instance Representation
<iHidden
field="xs :token [1] ? " caption="xs :string [0..1] ? " default="anySimpleType [0..1] ? " onchange="anySimpleType [0..1] ? " onblur="anySimpleType [0..1] ? " onfocus="anySimpleType [0..1] ? " onkeypress="anySimpleType [0..1] ? " onkeydown="anySimpleType [0..1] ? " />
Schema Component Representation
<
xs:element name ="
iHidden ">
<
xs:complexType >
</
xs:complexType >
</
xs:element >
Name
iLink
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
Link to a page (iLink FiForm object)
XML Instance Representation
<iLink
href="xs :anyURI [0..1] ? " linktext="xs :string [0..1] ? " caption="xs :string [0..1] ? " type="link_button [0..1] " 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] ? " />
Schema Component Representation
<
xs:element name ="
iLink ">
<
xs:complexType >
<
xs:attribute name ="
href "
type ="
xs :anyURI"
use ="
optional "/>
<
xs:attribute name ="
linktext "
type ="
xs :string"
use ="
optional "/>
<
xs:attribute name ="
caption "
type ="
xs :string"/>
<
xs:attribute name ="
type "
type ="
link_button "
default ="
link "
use ="
optional "/>
</
xs:complexType >
</
xs:element >
Name
iROText
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
iROText (read-only database field) FiForm object.
Note that this does not actually create a form object that will be submitted, it simply prints the value of the field in text on the HTML page. This should be combined with iHidden if you want the value submitted on the form, or use iText disabled="disabled" to display the field in a disabled text box.
XML Instance Representation
<iROText
field="xs :token [1] ? " caption="xs :string [0..1] ? " default="anySimpleType [0..1] ? " onchange="anySimpleType [0..1] ? " onblur="anySimpleType [0..1] ? " onfocus="anySimpleType [0..1] ? " onkeypress="anySimpleType [0..1] ? " onkeydown="anySimpleType [0..1] ? " />
Schema Component Representation
<
xs:element name ="
iROText ">
<
xs:complexType >
</
xs:complexType >
</
xs:element >
Name
iSubform
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
iSubform FiForm object. This displays a separate form in an iframe to show/edit related records.
XML Instance Representation
<iSubform
caption="anySimpleType [0..1] ? " href="xs :string [1] ? " view="subviewtype [0..1] ? " params="xs :string [0..1] ? " width="anySimpleType [0..1] ? " height="anySimpleType [0..1] ? " />
Schema Component Representation
<
xs:element name ="
iSubform ">
<
xs:complexType >
<xs:attribute name ="caption "/>
<
xs:attribute name ="
href "
type ="
xs :string"
use ="
required "/>
<
xs:attribute name ="
view "
type ="
subviewtype "
default ="
normal "/>
<
xs:attribute name ="
params "
type ="
xs :string"
use ="
optional "/>
<xs:attribute name ="width "/>
<xs:attribute name ="height "/>
</
xs:complexType >
</
xs:element >
Name
iText
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
iText (data-bound text box) FiForm object.
XML Instance Representation
<iText
field="xs :token [1] ? " caption="xs :string [0..1] ? " default="anySimpleType [0..1] ? " onchange="anySimpleType [0..1] ? " onblur="anySimpleType [0..1] ? " onfocus="anySimpleType [0..1] ? " onkeypress="anySimpleType [0..1] ? " onkeydown="anySimpleType [0..1] ? " />
Schema Component Representation
<
xs:element name ="
iText ">
<
xs:complexType >
</
xs:complexType >
</
xs:element >
Name
iTextArea
Type
Locally-defined complex type
Nillable
no
Abstract
no
Documentation
iTextArea (data-bound text area) FiForm object. Equivalant to iText, but uses textarea instead of input
XML Instance Representation
<iTextArea
field="xs :token [1] ? " caption="xs :string [0..1] ? " default="anySimpleType [0..1] ? " onchange="anySimpleType [0..1] ? " onblur="anySimpleType [0..1] ? " onfocus="anySimpleType [0..1] ? " onkeypress="anySimpleType [0..1] ? " onkeydown="anySimpleType [0..1] ? " rows="xs :integer [0..1] ? " cols="xs :integer [0..1] ? " />
Schema Component Representation
<
xs:element name ="
iTextArea ">
<
xs:complexType >
<
xs:attribute name ="
rows "
type ="
xs :integer"/>
<
xs:attribute name ="
cols "
type ="
xs :integer"/>
</
xs:complexType >
</
xs:element >
Element: if
Name
if
Type
ifType
Nillable
no
Abstract
no
Documentation
Construct for conditional definitions. Elements inside this element will be present only if the condition is true.
Note: This schema technically allows elements under "if" that belong in the "connection", "fiforms", or "wrapper" elements. Although this may be technically allowed by the schema, no element is allowed under "if" that would not be allowed if it were outside the "if" element.