xml:Proof <a schema for the rest of us/> |
v.02.06.10 Beta Thomas Sawyer (c)2002 |
<tagname>
and attrtibute tags will be notated as tagname=
<proofsheet>
.
The root tag can take the alternate form of <schema>
.
Both forms of the root tag serve the exact same purpose.<arbit>
tag is a special xml:Proof tag used to indicate arbitrary
location within the target document. It has single valid attribute, xpath=
,
which specifies the valid XPath to be matched against in the target document.xp:
for consistancy and clearity.xpath=
attribute, is a die.=name=
/regular expression/
/.*/
:datatype:
datatype marker
is an arbitrary symbol, enclosed by colons, naming the type of data to be contanied
by an element or attribute of the target document.string
.@order@
order
are tag
, content-a..z
,
content-z..a
and none
.tag
value specifies that the child elements must be in the order as given within
the proofsheet.content-a..z
and content-z..a
values specify that the child element's
must appear in alphanumerical sequence, descending and ascending, respectively, by their first text node.none
value specifies that the child elements need not appear in any particular order, and is the
default setting if no order marker is specified within a die.
+set+
set
are inclusive
, exclusive
and
none
.inclusive
value indicates that all the children elements must be present as given by the proofsheet,
but other elements may appear along with them.exclusive
value indicates that all the children elements must be present as given by the proofsheet,
and that no other elements may appear along with them.none
indicates no requirments for the appearnece of child elements, and is the default
if no set marker is specified in the die.#range#
range
can be m..n
or m...n
,
inclusive and exclusive of n
, respectively, where m
and n
are unsigned integers
and m
< n
, such thah m is the minimum number and n is the maximum number.m..*
, equivalant to m...*
specifying a minimum number (m) and an unbound maximum number.0..*
.range
can only be 0..1
or 1..1
.0..1
.?option?
option
do not need to belong to the same parent, although
this can create a contridiction should an ancestor and one of its children partake of the same option group,
rendering a document invalid by definition.!collection!
*track*
track
are yes
, no
, true
,
or false
, with the negative notations being the default..xps
.http://www.transami.net/namespace/xmlproof
.<?xml:schema uri="uri" url="url" segment="segment"?>
uri
attribute, or its synonym space
, defines the kind of schema that is being utilized.
This is the specific namespace uri as defined by the schema's designers. In the case of xml:Proof, it
is "http://www.transami.net/namespace/xmlproof". It would be another string for, say, RELAX-NG or Schematron.url
attribute, or its synonym source
is a path to
the .xps file. The url can be a local path. The url is neccessary since proofsheets cannot be embedded in the
target document like DTDs can.segment
attribute, or its synonym fragment
is an optional attribute
specifying an XPath which selects only a portion of the .xps file to use as the proofsheet.<?xml:ns prefix="prefix" uri="uri"?>
prefix
and uri
attribute tags can also be labeled
name
and space
, respectively.<!DocType docname [ <!ATTLIST docname xmlns:prefix 'uri' CDATA> ]>