[
Lists Home |
Date Index |
Thread Index
]
Think about the problems of putting valid SVG or VML inside
an HTML document. Or even the example you provided. Declared
namespaces should make it possible to validate these easily.
That's actually a very nice capability to have. Consider that
even in messaging, compounds are becoming a fact of life,
eg, a header type with a payload type. This should be the
common practice approach, ie, compounding, over the fetish
of building huge elaborate baroque and often broken schemas
from hell that do too much for too few and evolve like a
snail darter in a pool of porpoise puss (is that over the top?)
http://lamammals.blogspot.com/2005/01/beginners-mind.html
A compound document for this is a document composed of
productions from multiple namespaces. In olden days,
it meant a document with multiple media. In SGML, notations
were provided for declaring these. In other formats,
different if similar means were enabled. See Compound
Document Architecture (originally, a set of standards
from Digital Equipment Corporation (DEC)).
http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?Compound+Document+Architecture
len
From: Roger L. Costello [mailto:costello@mitre.org]
Hi Folks,
Has anyone looked at this Namespace-based Validation Dispatching Language?
I am not sure that I understand what problem it is solving. In one of
Murata's Powerpoint documents[1] on NVDL he has these two slides:
--------------------------------
Requirements on validation#1
- It should be possible to combine schemas representing vocabularies easily.
- It should be possible to divide non-monolithic documents into pieces and
then validate each piece against one of the schemas. (divide-and-validate)
Do existing schema languages meet these requirements?
- No, you have to understand all schemas very well and change them.
- No, you have to validate the entire document against the combination of
all schemas.
--------------------------------
How do you interpret these 2 slides?
Suppose that an XML Schema declares this Book element:
targetNamespace="http://www.books.org"
<element name="Book">
<complexType>
<sequence>
<element name="Title" type="string"/>
<element name="Author" type="string"/>
<element name="Date" type="string"/>
<element name="ISBN" type="string"/>
<element name="Publisher" type="string"/>
</sequence>
</complexType>
</element>
Then, an instance document would look like this:
<Book xmlns="http://www.books.org">
<Title>The First and Last Freedom</Title>
<Author>J. Krishnamurti</Author>
<Date>1954</Date>
<ISBN>0-06-064831-7</ISBN>
<Publisher>Harper & Row</Publisher>
</Book>
I interpret Murata's slides as saying that with NVDL you can insert elements
from another namespace into the <Book>...</Book> element. For example, here
I insert some XHTML elements:
<Book xmlns="http://www.books.org">
<Title>The First and Last Freedom</Title>
<HTML xmlns="http://www.w3.org/TR/REC-xhtml">
<BODY>Hello World</BODY>
</HTML>
<Author>J. Krishnamurti</Author>
<Date>1954</Date>
<ISBN>0-06-064831-7</ISBN>
<Publisher>Harper & Row</Publisher>
</Book>
And the NVDL Processor will sort out the two components (the Book component
and the HTML component) and validate each individually.
Normally, with the above instance document a schema validator would
complain, saying that "the HTML element is unexpected, Expecting the Author
element".
So, what does this "component insertion" capability buy me? Murata calls
this a "compound document". What exactly is a "compound document"? /Roger
|