(i) is now valid
(ii) allows HTML in head, top and foot
This commit is contained in:
sb 2008-01-09 15:42:32 +00:00
parent f59c6bf601
commit e672bbd40f

View file

@ -1,26 +1,27 @@
<schema <schema
xmlns='http://www.w3.org/2000/10/XMLSchema' xmlns='http://www.w3.org/2001/XMLSchema'
targetNamespace='http://www.cygnets.co.uk/schemas/adl/' targetNamespace='http://www.cygnets.co.uk/schemas/adl-0.xsd'
xmlns:adl='http://www.cygnets.co.uk/schemas/adl/'> xmlns:adl='http://www.cygnets.co.uk/schemas/adl-0.xsd'
xmlns:html='http://www.w3.org/1999/xhtml'>
<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: --> <!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<!-- --> <!-- -->
<!-- adl-0.xsd --> <!-- adl-0.xsd -->
<!-- --> <!-- -->
<!-- Purpose: --> <!-- Purpose: -->
<!-- XML Schema Application Description Language. Note that this --> <!-- XML Schema for Application Description Language. Note that this -->
<!-- is experimental; the DTD is still normative at this stage --> <!-- is experimental; the DTD is still normative at this stage -->
<!-- This revision autoconverted using dtd2xsd.pl from --> <!-- This revision autoconverted using dtd2xsd.pl from -->
<!-- adl-0.dtd revision 1.2 --> <!-- adl-0.dtd revision 1.2 -->
<!-- --> <!-- -->
<!-- Author: Simon Brooke <simon@cygnets.co.uk> --> <!-- Author: Simon Brooke <simon@cygnets.co.uk> -->
<!-- Created: 9th January 2008 --> <!-- Created: 9th January 2008 -->
<!-- $Revision: 1.1 $ <!-- $Revision: 1.2 $ -->
<!-- Copyright: (c) 2008 Cygnet Solutions Ltd --> <!-- Copyright: (c) 2008 Cygnet Solutions Ltd -->
<!-- --> <!-- -->
<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: --> <!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<!-- the application that the document describes: required top level element --> <!-- the application that the document describes: required top level element -->
<element name='application'> <element name='application'>
<complexType> <complexType>
<sequence> <sequence>
@ -78,7 +79,7 @@
</complexType> </complexType>
</element> </element>
<!-- <!--
a group of people with similar permissions to one another a group of people with similar permissions to one another
name: the name of this group name: the name of this group
parent: the name of a group of which this group is subset parent: the name of a group of which this group is subset
@ -93,7 +94,7 @@
</complexType> </complexType>
</element> </element>
<!-- <!--
an entity which has properties and relationships; maps onto a database an entity which has properties and relationships; maps onto a database
table or a Java serialisable class - or, of course, various other things table or a Java serialisable class - or, of course, various other things
@ -121,7 +122,7 @@
</complexType> </complexType>
</element> </element>
<!-- <!--
contains documentation on the element which immediately contains it. TODO: contains documentation on the element which immediately contains it. TODO:
should HTML markup within a documentation element be allowed? If so, are should HTML markup within a documentation element be allowed? If so, are
there restrictions? there restrictions?
@ -131,7 +132,7 @@
</complexType> </complexType>
</element> </element>
<!-- <!--
a property (field) of an entity (table) a property (field) of an entity (table)
name: the name of this property. name: the name of this property.
@ -222,7 +223,7 @@
</complexType> </complexType>
</element> </element>
<!-- <!--
one of an explicit list of optional values a property may have one of an explicit list of optional values a property may have
NOTE: whether options get encoded at application layer or at database layer NOTE: whether options get encoded at application layer or at database layer
is UNDEFINED; either behaviour is correct. If at database layer it's also is UNDEFINED; either behaviour is correct. If at database layer it's also
@ -239,7 +240,7 @@
</complexType> </complexType>
</element> </element>
<!-- <!--
permissions policy on an entity, a page, form, list or field permissions policy on an entity, a page, form, list or field
group: the group to which permission is granted group: the group to which permission is granted
@ -266,7 +267,7 @@
</complexType> </complexType>
</element> </element>
<!-- <!--
pragmatic advice to generators of lists and forms, in the form of pragmatic advice to generators of lists and forms, in the form of
name/value pairs which may contain anything. Over time some pragmas name/value pairs which may contain anything. Over time some pragmas
will become 'well known', but the whole point of having a pragma will become 'well known', but the whole point of having a pragma
@ -282,7 +283,7 @@
</complexType> </complexType>
</element> </element>
<!-- <!--
a prompt for a property or field; used as the prompt text for a widget a prompt for a property or field; used as the prompt text for a widget
which edits it. Typically there will be only one of these per property which edits it. Typically there will be only one of these per property
per locale; if there are more than one all those matching the locale may per locale; if there are more than one all those matching the locale may
@ -301,7 +302,7 @@
</complexType> </complexType>
</element> </element>
<!-- <!--
helptext about a property of an entity, or a field of a page, form or helptext about a property of an entity, or a field of a page, form or
list, or a definition. Typically there will be only one of these per property list, or a definition. Typically there will be only one of these per property
per locale; if there are more than one all those matching the locale may per locale; if there are more than one all those matching the locale may
@ -322,13 +323,13 @@
be concatenated, or just one may be used. Later there may be more sophisticated be concatenated, or just one may be used. Later there may be more sophisticated
behaviour here. behaviour here.
--> -->
<element name='ifmissing'> <element name='ifmissing'>
<complexType mixed='true'> <complexType mixed='true'>
<attribute name='locale' type='string' use='required'/> <attribute name='locale' type='string' use='required'/>
</complexType> </complexType>
</element> </element>
<!-- a form through which an entity may be added or edited --> <!-- a form through which an entity may be added or edited -->
<element name='form'> <element name='form'>
<complexType> <complexType>
<sequence> <sequence>
@ -358,7 +359,7 @@
</complexType> </complexType>
</element> </element>
<!-- a page on which an entity may be displayed --> <!-- a page on which an entity may be displayed -->
<element name='page'> <element name='page'>
<complexType> <complexType>
<sequence> <sequence>
@ -388,7 +389,7 @@
</complexType> </complexType>
</element> </element>
<!-- <!--
a list on which entities of a given type are listed a list on which entities of a given type are listed
onselect: name of form/page/list to go to when onselect: name of form/page/list to go to when
@ -424,7 +425,7 @@
</complexType> </complexType>
</element> </element>
<!-- <!--
a subsidiary list, on which entities related to primary a subsidiary list, on which entities related to primary
entities in the enclosing page or list are listed entities in the enclosing page or list are listed
@ -460,7 +461,7 @@
</complexType> </complexType>
</element> </element>
<!-- <!--
a group of fields and other controls within a form or list, which the a group of fields and other controls within a form or list, which the
renderer might render as a single pane in a tabbed display, for example. renderer might render as a single pane in a tabbed display, for example.
--> -->
@ -480,7 +481,7 @@
</complexType> </complexType>
</element> </element>
<!-- a field in a form or page <!-- a field in a form or page
property: the property which this field displays/edits property: the property which this field displays/edits
--> -->
@ -496,7 +497,7 @@
</complexType> </complexType>
</element> </element>
<!-- a verb is something that may be done through a form. Probably the verbs 'store' <!-- a verb is something that may be done through a form. Probably the verbs 'store'
and 'delete' are implied, but maybe they need to be explicitly declared. The 'verb' and 'delete' are implied, but maybe they need to be explicitly declared. The 'verb'
attribute of the verb is what gets returned to the controller --> attribute of the verb is what gets returned to the controller -->
<element name='verb'> <element name='verb'>
@ -519,7 +520,7 @@
</complexType> </complexType>
</element> </element>
<!-- a container for global content --> <!-- a container for global content -->
<element name='content'> <element name='content'>
<complexType> <complexType>
<choice minOccurs='0' maxOccurs='unbounded'> <choice minOccurs='0' maxOccurs='unbounded'>
@ -530,33 +531,52 @@
</complexType> </complexType>
</element> </element>
<!-- <!--
content to place in the head of the generated document; this is #PCDATA content to place in the head of the generated document; this is #PCDATA
because it will almost certainly belong to a different namespace because it will almost certainly belong to a different namespace
(usually HTML) (usually HTML)
--> -->
<element name='head'> <element name='head'>
<complexType mixed='true'> <complexType>
<sequence>
<any namespace="http://www.w3.org/1999/xhtml"
minOccurs="1" maxOccurs="unbounded"
processContents="skip"/>
</sequence>
</complexType> </complexType>
</element> </element>
<!-- <!--
content to place in the top of the body of the generated document; content to place in the top of the body of the generated document;
this is #PCDATA because it will almost certainly belong to a different this is #PCDATA because it will almost certainly belong to a different
namespace (usually HTML) namespace (usually HTML)
Schema only: no harm in this being required to be contained in an HTML div
--> -->
<element name='top'> <element name='top'>
<complexType mixed='true'> <complexType>
<sequence>
<any namespace="http://www.w3.org/1999/xhtml"
minOccurs="1" maxOccurs="unbounded"
processContents="skip"/>
</sequence>
</complexType> </complexType>
</element> </element>
<!-- <!--
content to place at the foot of the body of the generated document; content to place at the foot of the body of the generated document;
this is #PCDATA because it will almost certainly belong to a different this is #PCDATA because it will almost certainly belong to a different
namespace (usually HTML) namespace (usually HTML)
Schema only: no harm in this being required to be contained in an HTML div
--> -->
<element name='foot'> <element name='foot'>
<complexType mixed='true'> <complexType>
<sequence>
<any namespace="http://www.w3.org/1999/xhtml"
minOccurs="1" maxOccurs="unbounded"
processContents="skip"/>
</sequence>
</complexType> </complexType>
</element> </element>
</schema> </schema>