- simap.ch -

Introduction to the DTD architecture and the documentation structure





Introduction

The DTD used in simap.ch were generated in accordance with the XML 1.0 standard as published by the W3C consortium. This standard is accessible on Internet: "http://www.w3.org/TR/1998/REC-xml-19980210".

The used "character set" is Unicode (encoding UTF-8).

In the DTD architecture, different levels are distinguished :

  • the "Notices DTD" level: the DTD define the abstract structures of the notices published in simap (named 'form.dtd'); from the XML point of view, these DTD are not directly usable; they constitute "bricks" with which it is possible to build more global structures (defined in the "heap DTD", see below);
  • the "Element libraries" level: the libraries contain reusable element definitions for the different "Notices DTD", allowing the sharing of the element definitions and guaranteeing the uniqueness of those definitions; one library is global (named 'library.ent'): the element definitions can be shared to all the "Notices DTD"; more specific libraries (named '*_lib.ent') contain the element definitions grouped by notices family (sharing the element definitions to the different DTD of the same notices family);
  • the "Heap DTD" level: the DTD define the structures designed to group sets of notices; they are kinds of "envelopes" for one or more notices; these DTD can include various components ("bricks") defined in the "notices DTD" and "element libraries";
  • the "Configuration" level ('common.ent') define three informations: monetary units usable, the countries codes usable and the languages codes.

Some XML mechanisms are explored in those DTD which it is necessary to understand before reading the documentation. Basic used mechanisms are the DTD concept, the element and attribute definitions, the parameter entities use, the public and system referencing mechanisms, the processing instructions and the XML declaration. The less basic notions importantly used are: the "DTD subset" and the "use of parameter entities coupled with the marked section".The Unicode character set standard must also be wellknown to avoid any character set encoding problem.Those points are not reminded here and are considered as prerequisites.

In this document, we succinctly present the "Heap DTD" and, the "Notices DTD" and libraries. This will give to the reader an overview on the DTD architecture and the ability to find the right reference manual to consult. The aim is to guide the reader in his choice between the reference manuals and the DTD (or library).



1. The "HEAP DTD"




The 'Heap DTD' are DTD that act like envelope of one or more notices. They define global structures where external informations can be supplied. These DTD are designed to include one or more 'Notices DTD' components. With this, the notices structure is defined in a component which can be shared between the different "heap DTD".

One HEAP DTD exists: form.dtd.

The FORM DTD (filename 'form.dtd') is used to automatically generate HTML forms for creating or editing the notices. The FORM DTD defines a unique envelope for all type of notices containing HTML edition informations (language for HTML edition, active page sequence, owner of HTML edition, DB ids, ...).

Note: Like the preceding DTD, it calls all the "Notices DTD" and their respective libraries since all the types of notes must be editable via HTML forms. This DTD can be configured : only one notices DTD can be included at a time. Here also, the handbook does not relate all the descriptions of these elements. The reader will have to consult each handbook to treat all types of notices contained in a simap.ch.



2. The "Notices DTD"




The "Public market" section (OB)

The "Public market" section consists in notices known as "OB" . There are 10 types of public market notices. To each type correspond a DTD defining the abstract structure of the public market notices. These DTD use elements defined in the OB local library and the global library.



3. Conclusion



The DTD architecture, the XML notions requirements and the organisation of the documentation were detailed in the introduction. The reader can note that a systematic reading of all the documentation is not necessary.

Through this document, all the DTD used has been highlighted:
  • the "heap" DTD used to mark up sets of notices;
  • the libraries which gather the element definitions and allow the re-use of those definitions in the various DTD.