- From: <noah_mendelsohn@us.ibm.com>
- Date: Tue, 22 Mar 2005 14:07:15 -0500
- To: voss@null.dk (Jonas Voss)
- Cc: xmlschema-dev@w3.org
FYI, there are deeper issues here. The XML Recommendation explicitly provides for DTDs. When you put a DTD "internal subset" into a document it is not part of the logical element content; it is metadata, as it should be in most cases. Consider putting a schema into a document such as a resume: <resume> <xsd:schema> ... </xsd:schema> <applicant>Mary Smith</applicant> </resume> There is a sense in which you have made the schema part of the resume which in most cases is not what you really mean. Unfortunately, XML is not extensible in this dimension. There is only one schema language that is allowed in a first class manner. The XML schema group wrestled with lots of ways around this, but the fundamental problem remains. Similar lack of pluggability explains why Schemas cannot declare Entities in a way that XML would understand: the XML rec only provides for entities to be declared in DTDs. Anyway, you can see why the above somewhat discourages creating a standardized way of embedding a schema, because you necessarily are impacting the content of the document. You really need the document format (resume) to anticipate the existence for the <schema>. Indeed, the content model for the <resume> element would have to explicitly allow for and either validate or skip using a wildcard the schema elements. I haven't looked at how Microsoft is working around this. There are a variety of conventions that can be use, including: <container> <xsd:schema> ... </xsd:schema> <resume> <applicant>Mary Smith</applicant> </resume> </container> but then again you are into special cases. Note that the Schema rec does allow, though not all processors support, validation of subtrees. One of the many reasons was so that in the container example, the schema could be for just the resume if you prefer, and not necessarily for the container as a whole. I always thought it ironic that the XML Recommendation, which is so extensible in a number of important dimensions, is so rigid in some others. Noah -------------------------------------- Noah Mendelsohn IBM Corporation One Rogers Street Cambridge, MA 02142 1-617-693-4036 -------------------------------------- voss@null.dk (Jonas Voss) Sent by: xmlschema-dev-request@w3.org 03/22/2005 09:39 AM To: xmlschema-dev@w3.org cc: (bcc: Noah Mendelsohn/Cambridge/IBM) Subject: Re: Using XML Schema inline? In gmane.text.xml.schema.devel, Michael Champion <mcham@microsoft.com> wrote: > It's supported in the Microsoft XML tools, see > http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/ > html/xmconvalidationinlineschemas.asp > AFAIK this will not interoperate (except at the XML syntax level) with > other tools. Inline schema support seem to be consistent with the > various Recommendations, but not mandated by any. FWIW, > http://www.codeguru.com/Csharp/Csharp/cs_data/xml/article.php/c4235/ > suggests avoiding inline schemas whenever possible. Thank you very much for your answer, I'll wave it in front of my boss, and see what he says. ~/j -- | Jonas @ 55.75, 12.42 | It's just a job. Grass grows, birds fly, waves pound the sand. I beat people up. - Muhammed Ali, 1977.
Received on Tuesday, 22 March 2005 19:07:56 UTC