[Home] [By Thread] [By Date] [Recent Entries]
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@m...] 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
|

Cart



