| Implementing a Component Broker using XMI | Table of contents | Indexes | Content Aware Intelligent Web Graphics | |||
Advanced Information Systems Chahuneau, François ![]() France ![]() Paris ![]() | François Chahuneau |
| General Manager |
| Advanced Information Systems |
| 15-17 rue Rémy Dumoncel
Paris
France
(75014)
Email: fcha@ais.berger-levrault.fr |
| Biography |
Angleraud, Christophe France ![]() Spot Image Toulouse ![]() | Christophe Angleraud |
| Spacemap System Manager |
| Spot Image |
| 5 rue des Satellites
BP 4359
Cedex 4
Toulouse
France
(31030)
Email: christophe.angleraud@spotimage.fr |
| Biography |
Abstract |
| One of the advantages of using XML-coded metadata is to facilitate their formatting and display process for catalog applications, using XSL stylesheets and standard Web browsers. |
Introduction |
Spot Image business |
| satellite imagery | Spot image is a French company in charge of worldwide commercial distribution of SPOT . It has been existing for about 20 years and is currently exploiting three satellites (SPOT1, 2 and 4). SPOT5 will be launched by the end of 2001. |
| Currently, Spot Image holds more than 60% of the worldwide satellite image distribution business. Its incomes reached about $45M in 1998. |
From simple raster to image and towards global geographic information |
metadata ![]() remote sensing | Multiple applications have been using satellite imagery for many years. While the core of applications remains raster data, the diversity of uses have driven them into using complementary data sets as well as auxiliary , such as the date of acquisition, sensor configuration, geo-localization (ground localization), etc. This set of metadata delivers information which is essential for an end-user to understand the real meaning of the imagery. |
|
|
|
| In summary, it is important to understand that a Spot image is more than simple raster data: it is associated with metadata which are critical for users to understand what he they are looking at. |
About the image format jungle and entropic standardization processes |
Image metadata and product design requirements |
Product requirements |
| General requirements for interoperability imply several features : |
|
Metadata contents |
|
Encapsulation of other data, adaptive products |
| The combination of all these data layers is dependent upon user applications. Moreover, individual datasets can be shared among several users for different applications. |
|
Historical background for Dimap |
| The design of Dimap has been a long process. Dimap is based on multiple pre-existing raster data exchange formats: |
|
| All these previous efforts have been combined in the design of the SPOT5 Dimap/XML specification. |
Using XML for Dimap |
Reasons for adopting XML |
| Our decision to adopt XML for implementing the Dimap specification was motivated by the very good match between XML properties and major Dimap design requirements. |
| The main design requirements for Dimap can be summarized as follows: |
| XML naturally fulfills those requirements: |
|
Dimap XML Schema design |
Schema requirements |
| The purpose of a schema is to precisely state a set of constraints about a structured data set. If the schema is expressed itself in machine-processable form, then it is possible to develop software to check how a data set (instance) fulfills this set of constraints, a process known asvalidation . |
| This automated validity checking capability is a major requirement in our case, since this is the only way to ensure interoperability. It is a key quality assurance aspect of the project, which contributes to fulfillment of ISO-9000 criteria. |
| In the context of Dimap design, constraints on data types are as important as constraints ondata structures . Therefore, XML DTDs (although they are currently the only stabilized and standardized formalism available to express structural constraints over XML datasets) do not match our requirements, since they do not allow expression of constraints on data content (data typing; etc). |
| It was decided to examine the on-going work on XML schemas, and to select one of the existing proposal as a basis for the Dimap project. |
Selecting XML Schemas as a schema formalism |
| On-going work on XML schemas is inspired by three distinct and complementary trends, aimed at overcoming current limitations of XML DTDs. Various existing proposals (XML-Data, DCD, SOX, DDML, XML Schema) are not equally concerned by all three aspects. |
|
XML Schema ![]() | After careful examination of the various existing proposals, appeared as the most comprehensive synthesis of these trends, and also as the most likely candidate to reach a W3C recommendation status within a few months. The May 99 W3C Working Drafts were used as the basis for the Dimap schema design work. |
| Given the relative simplicity of the Dimap information set, it turned out that no use of the object-oriented design capabilities (archetypes, etc.) was required. By contrast, data typing capabilities were heavily used. Distinct advantages were also obtained from the XML representation of the Schema (see below). |
Reuse of Dimap 1.0 and CEOS formats |
| The existing Dimap 1.0 Beta work was used to design the architecture of the schema elements. In the same way, documentation requirements were derived from Dimap 1.0 documentation. A comparative analysis between Dimap and CEOS was then undertaken to select the portions of CEOS that needed to be integrated into Dimap/SPOT5. This work allowed us to specify the traceability requirements (historical information). Traceability of information origin (CEOS or Dimap 1.0) was implemented through theext:reference XML schema extension. |
| Beyond this merging process, an interesting "intellectual filtering" process was applied to eliminate information present in legacy formats and which was there only as a side-effect of the format design itself. As an example, in a record-oriented format, some records contain information about the field lengths and location of data items in the following records, or the number of records to be read to complete a data block: there is no need for such data in an XML-based format in which information object boundaries and nesting relationships are fully explicit. |
Single self-contained XML Schema |
| The resulting XML Schema, over 3000 lines long, represents the complete specification for the new Dimap/XML format which merges the CEOS and Dimap 1.0 information sets. This is the only specification available, and it is supposed to be used both as areference document and as aset of rules for automated validity checking (either as a standalone QA process or as an embedded process in Dimap applications). |
| Of course, the schema itself is not meant to be read by human readers in XML format: a formatting process, through an XSL stylesheet, is required to turn it into a readable specification document. This can be done either in a static way on print, or in a more dynamic way on-line (interactive, hyperlinked document). |
| Thisself-contained nature of the Dimap XML schema, which is at the same time the Dimap specification and its documentation, is what makes its reliability: any change in the specification is automatically reflected when it is browsed as a document. |
Current XML Schema limitations |
| Some limitations of the XML Schema formalism in its current draft form were identified during the design phase of Dimap/XML. |
| The most fundamental limitation is certainly XML Schema's inability to expressreferential integrity constraints . For instance, it should be able to state that existence of an XML element A is dependent upon the existence of another element B located in a remote location of the data structure, or that thevalue (content) or thevalue range of A is dependent upon the value or existence or B. The inability to express such constraints through XML DTDs still remains with the current XML Schema draft proposal. Another problem is the currentlack of documentation guidelines for XML Schemas, although this will probably be introduced as the specification is refined. Both problems were circumvented by introducing proprietary extensions to XML Schemas (see below). |
| Finally, the current lack of direct validation tools for XML Schemas (other than SGML parsers using the XML Schema DTD) makes practical work more difficult. This annoyance, however, was fully anticipated and accepted in our decision to adopt the XML Schema formalism in its early stage of development. |
XML-Schema extensions |
| Several extensions to the current draft specification for XML Schemas were introduced, in the form of additional elements or attributes. All of them make use of anext: namespace to separate them from the native XML Schema vocabulary. Three additional first level elements were defined, which themselves contain several sub-elements (not detailed here): |
|
| Finally, the additionalext:constraint attribute, which can be associated with the native XML schema elementselementTypeRef andmodelGroup , is used to express integrity constraints in literal form. |
| Since the proposed draft DTD for XML Schemas is used as a bootstrap to validate the Dimap schema, this DTD had to be extended to reflect these additional elements and attributes. |
XML schema sample |
| The following schema excerpt (for the "Vertice" data item) is typical of our usage of the XML Schema formalism, and illustrates the use of schema extensions. |
<elementType name="Vertice">
<sequence>
<elementTypeRef name="FRAME_LON"/>
<elementTypeRef name="FRAME_LAT"/>
<elementTypeRef name="FRAME_ROW"/>
<elementTypeRef name="FRAME_COL"/>
<elementTypeRef name="FRAME_X"
ext:constraint="CM if METADATA_PROFILE = 2A"
minOccur="0" maxOccur="1"/>
<elementTypeRef name="FRAME_Y"
ext:constraint="CM if METADATA_PROFILE = 2A"
minOccur="0" maxOccur="1"/>
</sequence>
<attrDecl name="unit">
<datatypeRef name="unit4"/>
</attrDecl>
<attrDecl name="index">
<datatypeRef name="integer"/>
</attrDecl>
<ext:purpose><ext:short>Dataset frame vertice</ext:short>
<ext:detail>Dataset frame vertice is repeatable. A Vertice is cited
for each vertice of the framing polygon of the dataset.</ext:detail>
<ext:illustration>Illustrations\\Dataset_Frame.gif</ext:illustration>
<ext:comment>Either group FRAME_LON/LAT or FRAME_X/Y must be cited
</ext:comment>
</ext:purpose>
<ext:reference>
<ext:doc_id>cap</ext:doc_id>
<ext:file>LEADER</ext:file>
<ext:record Number="2">HEADER</ext:record>
<ext:offset>149</ext:offset>
<ext:version>1.0</ext:version>
</ext:reference>
</elementType>
|
Applications |
Data browsing |
| Spot Image products for which metadata are stored in Dimap/XML can be browsed using standard browsers supporting XSL. A prototype XSL stylesheet was developed which shows how displayed information provides users with an overview of the main product characteristics (see screen snapshot below). Similar techniques will be used to present the products stored in the catalog. |
|
Schema display for technical documentation |
| The extensions to the XML Schema specification described previously allow inclusion of structured description of Dimap elements in the schema. Using an appropriate XSL stylesheet, the schema itself can be used as on-line Dimap reference documentation including technical diagrams. Adequate XSL stylesheets allow schema browsing through hypertext functionalities. The screen snapshot below shows such a prototype implementation, where all navigation and hypertext linking mechanisms are implemented using XSL stylesheets along with a few embedded scripts (using IE5 XSL scripting extensions). |
|
Current status and future plans |
| The development of Dimap/XML as well as its SPOT5 extensions is now complete. Demonstration products have been developed to demonstrate the technology. The Dimap documentation is available as static HTML and is currently being integrated as extensions into the Dimap/SPOT5 XML Schema. An XSL stylesheet allowing browsing through the schema has been developed; it will be used by the software developers of the SPOT5 ground processing system. |
| In the future, Spot Image plans to use Dimap and XML at different stages of the production process. |
Basic uses of Dimap/XML metadata: data interchange and catalog applications |
| Spot Image will use Dimap not only for the publication of its spacemap products, but also for raw satellite scenes (time frame: SPOT5 launch). The required specific Dimap extensions have been integrated in the XML Schema. These evolutions will significantly reduce the burden of image import and metadata gathering. |
| Dimap/XML will be used internally both as a data interchange format between systems and as a metadata storage format for cataloging purposes. |
| Adopting Dimap/XML as a data interchange format between systems will allow interface maintenance cost reduction by integrating standard parsers into these systems. In addition, incremental evolution of metadata documentation is easily implementable, which provides high level production process traceability matching ISO-9000 requirements. Dimap/XML will also be required from Spot Image suppliers for quality control requirements. |
| The catalog application will allow customers to extract the displayable part of a finished product before ordering it. XML allows easy development of self-contained product presentation sheets, using standard XSL processing. This approach will considerably reduce the burden of catalog system maintenance by replacing the current generation of specific, hard-coded dynamic HTML generation engines. |
Advanced uses of Dimap/XML: on-the-fly product customization |
| In a further step, we plan to store all technical metadata in XML, in order to support on-the-fly product generation for products requiring late customization. For example, a data store could hold all the raw satellite multi-temporal scenes over a given area in compressed format, along with the geometric models and the optimized mosaic paths as Dimap/XML metadata. When a customer orders a small extract, in a specific map projection, of a specific date range, with specific radiometric processing (e.g. enhanced linear networks by specialized filtering), then the on-line data server would use the stored metadata to apply all the necessary image processing steps to the selected portion, and ship the result over the Internet. |
Using the Dimap XML schema for self-documentation of Dimap products |
| We have already shown that the Dimap XML Schema, using an appropriate XSL environment, could be used effectively as standalone on-line documentation for Dimap itself . |
| This idea can be taken one step further to develop on-line help for Dimap applications. Data items such as those displayed in our "data browsing" example would behave as hypertext links to the corresponding part of the XML schema. Clicking on a link would display a nicely formatted excerpt of the XML schema in a popup window, providing detailed information about the meaning, specific constraints and origin of the data item. |
Conclusion |
| There are several levels at which the Dimap design project takes advantage of XML technology: |
|
| Despite the not-yet-stabilized normative and technical environment, it is obvious form our experience that XML, as a universal standard for structured data representation, and XML Schemas, as a method to express sets of constraints about XML data structures in machine-processable form, provide good solutions to existing problems in technical data interchange and represent significant advances in this area. |
Glossary |
|
| Implementing a Component Broker using XMI | Table of contents | Indexes | Content Aware Intelligent Web Graphics | |||