- From: Henry S. Thompson <ht@cogsci.ed.ac.uk>
- Date: 18 May 2000 10:27:36 +0100
- To: David <david-v@dds.nl>
- Cc: www-xml-schema-comments@w3.org
David <david-v@dds.nl> writes: > hi, > > I need to write an XML schema (Starting with the latest draft and > updating as soon as it is a recommendation) thas has the common elements > and attributes used in my XML files. Since there is a need to include > more elements than the ones specified in the general schema (some > companies want to be able to include companyspecific elements) I was > wondering what the possibilities are of having one general schema and a > few smaller schema's. > > Is the use of namespaces the right way of implementing this? are there > parsers that will validate an XML when using more than one schema? Yes, and yes. Basic paradigm: write one master schema document for your namespace. In you master schema, leave <any namespace='##other' processContents='strict' minOccurs='0'/> placeholders in your content models where company-specific material is allowed. Assign a new namespace to any company-specific extensions, and write a schema for just that extension. If necessary, it can <import> the master namespace to hand back over. Then a compliant schema-validator, e.g. XSV [1], will do the right thing. Example document: <master:root xmlns:master="http://www.example.com/Master" xmlns:cse="http://www.example.org/CompanySpecific" xsi:schemaLocation="http://www.example.com/Master http://www.example.com/schemas/Master.xsd http://www.example.org/CompanySpecific http://www.example.com/schemas/CS1.xsd"> <master:envelop ...> .... <cse:localRoot ...> ... <master:nugget...>...</master:nugget> ... </cse:localRoot> ... </master:envelop> Master.xsd has that <any ...> above in various places CS1.xsd has <schema ... xmlns:master="http://www.example.com/Master"...> <import namespace="http://www.example.com/Master"/> and somewhere inside some content model(s): <element ref="master:nugget"/> Hope this helps, ht [1] http://cgi.w3.org/cgi-bin/xmlschema-check -- Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh W3C Fellow 1999--2001, part-time member of W3C Team 2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440 Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk URL: http://www.ltg.ed.ac.uk/~ht/
Received on Thursday, 18 May 2000 05:27:40 UTC