OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Piece-wise verification

[ Lists Home | Date Index | Thread Index ]
  • From: Paul Prescod <papresco@technologist.com>
  • To: xml-dev <xml-dev@ic.ac.uk>
  • Date: Mon, 01 Jun 1998 09:09:44 -0400

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@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo@ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS