Complex validation of business rules possible with XML Schema? Any other validation "languages"?

Discussion in 'XML' started by Mike, Nov 21, 2003.

  1. Mike

    Mike Guest

    Note: My XML experience to date has (unfortunately) been limited to reading
    and thinking, rather than implementation.

    Anyway, I am in the process of trying to figure out the most efficient way
    to validate and transform some very large (potentially over 100MB) XML
    documents. This is related to another question I will post next, but for
    now, I want to focus on one particular topic.

    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?
    2. Can processing instructions be used (with supporting code) to handle
    validation rules that are too complex for XML Schema?
    3. Are there any other general-purpose XML "languages" for describing
    complex validation rules for XML documents?

    In general, how efficient is validation with XML Schema - does it require
    the entire document to be loaded into memory at once?

    Thanks for any help,

    Mike
     
    Mike, Nov 21, 2003
    #1
    1. Advertising

  2. In article <>,
    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
     
    Patrick TJ McPhee, Nov 21, 2003
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.

Share This Page