[
Lists Home |
Date Index |
Thread Index
]
Unfortunately, the 'minimum set of checks' depends upon what you're
validating against. If it's XML Schema, the locality of the constraints of
that language means it usually** suffices to validate the Entry element
against its type. But this requires that you know, without parsing the
entire document, the type of the Entry element. If the language supports
cooccurrence constraints, there could be one that said no Entry element was
supposed to have more than one <name> child if some other element somewhere
else in the tree had a certain property. Much more of the document would
need to be validated in that case.
A feasible conceptual mechanism (leaving aside performance problems on large
files) would be to update a PSVI-decorated DOM, and revalidate (using DOM
Level 3 APIs) the nodes rooting the altered subtrees.
**: I believe that a non-local constraint involving keys and references in
XML Schema, such as requiring each name child of an Entry to be a reference
to an existing key elsewhere in the document, would create additional
validation requirements.
Jeff
----- Original Message -----
From: "Brian Candler" <B.Candler@pobox.com>
To: "Chen, Andrew ." <ChenA@westinghouse.com>
Cc: <xml-dev@lists.xml.org>
Sent: Wednesday, July 28, 2004 4:04 AM
Subject: Re: [xml-dev] Question for updating existing XML file
> On Mon, Jul 26, 2004 at 10:13:46AM -0400, Chen, Andrew . wrote:
> > How do you update your XML files?
> > Example:
> > (in a huge XML file...)
> > <Entry>
> > <name>Jon</name>
> > </Entry>
> > ...
> >
> > If I want to update the name to Joe, or add another name Jane. So
the
> > node looks like this:
> > (in a huge XML file...)
> > <Entry>
> > <name>Joe</name>
> > <name>Jane</name>
> > </Entry>
> > ...
> >
> > Is there a way to do this kind of update without rewrite the whole
> > file? My file is about 50MB.
>
> I have a related question. For a system like this, which allows dynamic
> update of a large XML dataset, what would be the most appropriate
validation
> mechanism to use?
>
> My main concern is this. When you add <name>Jane</name> to the above huge
> document, you should not have to revalidate the whole document from
scratch.
> Rather, you should be able to infer a minimum set of checks against the
data
> being inserted, and the parent or ancestor elements, to ensure the
document
> remains valid.
|