(C) 1999 Lexica, LLC
Internal Annotation is achieved using elements with fully qualified names (see the W3C's [Namespaces in XML] Recommendation) directly in iLingo documents. Here's an example that adds the corrective.lenses property (as defined by carrierx) to the driver1 object:
<auto.line.of.business xmlns="urn:x-lexica:ilingo:auto.line.of.business:en" ...> ... <drivers> <driver object.id="object:foo:1234" ...> ... <extensions xmlns:x="urn:x-lexica:ilingo:carrier-extension:carrierx:en"> <x:corrective.lenses>required</x:corrective.lenses> </extensions> </driver> </drivers> ... </auto.line.of.business>
As in the External Annotation example, this mechanism requires the addition of an extensions element to each of the iLingo business objects. However, it does not require extension.ref elements as the extensions are directly included in the extensions element. One problem with this approach is that, in order to maintain document validity, one must use an XML parser capable of validating this type of document.
A standard XML 1.0 parser will not validate the above document unless the extensions element has been explicitly defined to allow the carrierx:corrective.lenses element. This means carrierx must modify the iLingo DTD directly. Therefore, Internal Annotations cannot be supported using XML 1.0 parsers (without Namespace and XML Schema support). When validating parsers are available which support both the [Namespaces in XML] Recommendation and the upcoming [XML Schemas] specifications, Lexica will consider adding this form of extension to iLingo (by adding the required extensions element to all iLingo business objects).