(C) 1999 Lexica, LLC
Of the three candidate extension mechanisms, this is the most straightforward technique. This form of extension is achieved by adding extension reference elements to each of the iLingo business objects. These reference elements designate additional documents (identified by URI) as extended descriptions of the containing business object. For example, the following auto.line.of.business document includes a driver with an External Annotation:
<auto.line.of.business xmlns="urn:x-lexica:ilingo:auto.line.of.business:en" ...> ... <drivers> <driver object.id="object:foo:1234" ...> ... <extensions> <extension.ref href="addl.driver.props.xml"/> </extensions> </driver> </drivers> ... </auto.line.of.business>
In the above example, the driver1 object is augmented by the contents of the addl.driver.props.xml document. This supplementary document contains additional driver properties as prescribed by some extension schema. Here's an example of this supplementary document:
<driver.extension xmlns="urn:x-lexica:carrier-extension:carrierx:en" object.ref="object:foo:1234" ...> <corrective.lenses>required</corrective.lenses> </driver>
This document contains driver properties as allowed by the urn:x-lexica:carrier-extension:carrierx:en schema (defined by some carrier, in this case, by carrierx), and not by the iLingo schemas. This carrier specific schema allows for driver.extension documents which can contain corrective.lenses properties. This new property is said to annotate the original iLingo driver element.
The link to the external (carrier supplement) document is maintained throughout the processing of the parent iLingo document and may be put to use by any process that understands the external document's schema, and ignored by any that do not. This same technique can be used to extend any of the iLingo objects without affecting the iLingo schemas directly.
The only modifications that need to be made to enable this form of schema extension are the addition of the extensions and extension.ref elements to each of the business objects' content models in the iLingo schemas, which will be done only if External Annotations are chosen as one of the extension mechanisms to be included in the next release of iLingo.