(C) 1999 Lexica, LLC
Content Model Refinement allows one to extend the content model of elements such that newly defined content may be appended onto any content defined in the base element type. For example, the following document has a corrective.lenses element appended onto the standard iLingo driver element's content model:
<auto.line.of.business xmlns="urn:x-lexica:ilingo:auto.line.of.business:en" ...> ... <drivers> <x:driver xmlns:x="urn:x-lexica:ilingo:carrier-extension:carrierx:en" object.id="object:foo:1234" ...> ... <x:corrective.lenses>required</x:corrective.lenses> </x:driver> </drivers> ... </auto.line.of.business>
Here's a snippet of the schema that refines the iLingo driver element's content model to allow the inclusion of the corrective.lenses element:
<schema xmlns="http://www.w3.org/1999/XMLSchema" ...> ... <import schemaName="urn:x-lexica:ilingo:auto.line.of.business:en" schemaAbbrev="alob"/> ... <element name="driver"> <archetype> <refines name="driver" schemaAbbrev="alob"/> <element name="corrective.lenses" type="string"> <enumeration> <literal>required</literal> <literal>not-required</literal> </enumeration> </attribute> </archetype> <element> ... </schema>
More examples of Content Model Refinement can be found in the [XML Schema Refinement Task Force Report] as well as the [XML Schemas] specification.