In article <bY6dnQptUrQ21COiRVn->,
Mike <> wrote:
% The data in question has particular business rules that must be validated,
% and I'm not sure if XML Schema can handle this or not. For example, a
% certain attribute of a child element might only be valid depending on a
% corresponding (but different) attribute in a parent or sibling element.
% 1. Can XML Schema handle complex validation rules such as this?
Not directly.
% 2. Can processing instructions be used (with supporting code) to handle
% validation rules that are too complex for XML Schema?
The `XML Schema' way of doing this is to define annotations which can be
handled by your processor.
% 3. Are there any other general-purpose XML "languages" for describing
% complex validation rules for XML documents?
Look at RELAX NG. It can do grouping with attributes (i.e., if this attribute
is present, that one must be, or if that one is present, this must not be).
I don't know enough to say whether it can do structural validation based
on attribute values (ie, this element must be present if that attribute
is set to `bob'), but it might.
% In general, how efficient is validation with XML Schema - does it require
% the entire document to be loaded into memory at once?
It seems common to apply XML Schemas to DOM trees, and that typically
involves reading the entire document. I've typically used non-XML
validation mechanisms when dealing with large amounts of data.
--
Patrick TJ McPhee
East York Canada