Piece-wise verification
Paul Prescod
papresco at technologist.com
Mon Jun 1 15:10:24 BST 1998
Presume XSchema rules are similar to XSL rules, and are of the form:
<XSchema:Rule>
<!-- Pattern -->
<!-- Constraint -->
<XSchema:ContentModel>
...
</Schema:ContentModel>
</XSchema:Rule>
Patterns would be very simple in the first version. (e.g. just the element
type name) Later versions could be aligned with XSL so that that code
could be reused. Constraints would also be simple and get more and more
advanced with subsequent versions.
Here is a definition of piece-wise verification:
An attribute is verifiable if it matches the pattern in some rule. If it
does, the attribute verifies if its value conforms to the attribute value
type in the rule.
An element is verifiable if it matches the pattern in some rule. If it
does, the element locally verifies if its verifiable attributes verify and
its content matches its content model. Example (DTD syntax, for now):
<!ELEMENT FOO (BAR,BAZ)>
<FOO A="J"><BAR></BAR><BAZ/></FOO>
An element verifies if it locally verifies and each of its sub-elements
either recursively verifies or is not verifiable. (note: by default,
verification is recursive, but some sub-elements could be undeclared)
<!ELEMENT FOO (BAR,BAZ)>
<!ELEMENT BAR (#PCDATA)>
<!ELEMENT BAZ EMPTY>
<FOO A="J"><BAR B="G"></BAR><BAZ/></FOO>
An element completely verifies if it locally verifies and each of its
attributes and sub-elements is verifiable and verifies.
<!ELEMENT FOO (BAR,BAZ)>
<!ATTLIST FOO A CDATA #IMPLIED>
<!ELEMENT BAR (#PCDATA)>
<!ATTLIST BAR B CDATA #IMPLIED>
<!ELEMENT BAZ EMPTY>
<FOO A="J"><BAR B="G"></BAR><BAZ/></FOO>
An XML document verifies if its root element verifies and completely
verifies if its root element completely verifies.
<?xml version="1.0"?>
<!ELEMENT FOO (BAR,BAZ)>
<!ATTLIST FOO A CDATA #IMPLIED>
<!ELEMENT BAR (#PCDATA)>
<!ATTLIST BAR B CDATA #IMPLIED>
<!ELEMENT BAZ EMPTY>
<FOO A="J"><BAR B="G"></BAR><BAZ/></FOO>
Paul Prescod - http://itrc.uwaterloo.ca/~papresco
Three things it is far better that only you should know:
How much you're paid, the schedule pad, and what is just for show
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list