Dans cette annexe, nous présentons la DTD complète des documents Madeus :
<!--===========================================================-->
<!--================================================ entities -->
<!--===========================================================-->
<!ENTITY % link_properties "Href CDATA #IMPLIED
Inclusion
CDATA #IMPLIED">
<!ENTITY % position_properties "Left CDATA #IMPLIED
Top
CDATA #IMPLIED">
<!ENTITY % size_properties "Width CDATA #IMPLIED
Height
CDATA #IMPLIED">
<!ENTITY % color_properties "Red CDATA #IMPLIED
Green
CDATA #IMPLIED
Blue
CDATA #IMPLIED">
<!ENTITY % font_properties "FontFamily CDATA #IMPLIED
FontSize
CDATA #IMPLIED
FontStyle
CDATA #IMPLIED">
<!ENTITY % sound_properties "Volume CDATA #IMPLIED">
<!ENTITY % global_properties "Name CDATA #REQUIRED
Source
CDATA #IMPLIED
Value
CDATA #IMPLIED
BackGround
CDATA #IMPLIED
Duration
CDATA #IMPLIED
Controlable
CDATA #IMPLIED
Iteration
CDATA #IMPLIED ">
<!ENTITY % all_properties "%global_properties;
%position_properties;
%link_properties;
%font_properties;">
<!ENTITY % objects "(Text | Image | Video | Audio | External)">
<!--===========================================================-->
<!--================================ Generally useful entities -->
<!--===========================================================-->
<!--===========================================================-->
<!--================================================ Document -->
<!--===========================================================-->
<!ELEMENT Madeus (%objects; | Composite)>
<!ATTLIST Madeus Name CDATA #REQUIRED
Version
CDATA #REQUIRED>
<!--===========================================================-->
<!--============================================== Text object -->
<!--===========================================================-->
<!ENTITY % text_properties "%position_properties;
%size_properties;
%color_properties;
%font_properties;">
<!ELEMENT Text EMPTY>
<!ATTLIST Text %global_properties;
%text_properties;>
<!--===========================================================-->
<!--============================================= Image object -->
<!--===========================================================-->
<!ENTITY % image_properties "%position_properties;
%size_properties;">
<!ELEMENT Image EMPTY>
<!ATTLIST Image %global_properties;
%imagee_properties;>
<!--===========================================================-->
<!--============================================= Video object -->
<!--===========================================================-->
<!ENTITY % video_properties "%position_properties;
%size_properties;">
<!--===========================================================-->
<!--============================================= Audio object -->
<!--===========================================================-->
<!ENTITY % audio_properties "%position_properties;
%size_properties;
%sound_properties;">
<!ELEMENT Audio EMPTY>
<!ATTLIST Audio %global_properties;
%audio_properties;>
<!--===========================================================-->
<!--========================================= Composite object -->
<!--===========================================================-->
<!ELEMENT Composite (Default? , (%objects; | Composite)+,
Relations?)>
<!ATTLIST Composite %global_properties;
%position_properties;>
<!ELEMENT Default EMPTY>
<!ATTLIST Default %all_properties;>
<!--===========================================================-->
<!--================================================ Relations -->
<!--===========================================================-->
<!ELEMENT Relations ((Temporal, Spatial?) | (Temporal?,
Spatial))>
<!--===========================================================-->
<!--================================================= Temporal -->
<!--===========================================================-->
<!ENTITY % operands "Interval1 CDATA #REQUIRED
Interval2
CDATA #REQUIRED">
<!ENTITY % operands_delay "Interval1 CDATA #REQUIRED
Interval2
CDATA #REQUIRED
delay
CDATA #IMPLIED" >
<!ELEMENT Temporal (Equals | Meets | Finishes | Starts |
Before | During | Overlaps | Parmaster |
Parmin
| Parmax)+>
<!ELEMENT Equals EMPTY> <!ATTLIST Equals %operands;>
<!ELEMENT Meets EMPTY> <!ATTLIST Meets %operands;>
<!ELEMENT Finishes EMPTY> <!ATTLIST Finishes
%operands;>
<!ELEMENT Starts EMPTY> <!ATTLIST Starts %operands;>
<!ELEMENT Before EMPTY> <!ATTLIST Before
%operands_delay;>
<!ELEMENT During EMPTY> <!ATTLIST During
%operands_delay;>
<!ELEMENT Overlaps EMPTY> <!ATTLIST Overlaps
%operands_delay;>
<!ELEMENT Parmaster EMPTY> <!ATTLIST Parmaster
%operands;>
<!ELEMENT Parmin EMPTY> <!ATTLIST Parmin %operands;>
<!ELEMENT Parmax EMPTY> <!ATTLIST Parmax %operands;>
<!--===========================================================-->
<!--================================================== Spatial -->
<!--===========================================================-->
<!ENTITY % operands_dist "interval1 CDATA #REQUIRED
interval2
CDATA #REQUIRED
distance
CDATA #IMPLIED">
<!ELEMENT Spatial (Center_v | Center_h |
Left_align | Right_align | Top_align |
Bottom_align |
Left_spacing | Right_spacing | Top_spacing |
Bottom_spacing |
Left_indent | Right_indent | Top_indent |
Bottom_indent)+>
<!ELEMENT Center_v EMPTY>
<!ATTLIST Center_v %operands_dist;>
<!ELEMENT Center_h EMPTY>
<!ATTLIST Center_h %operands_dist;>
<!ELEMENT Left_align EMPTY>
<!ATTLIST Left_align %operands_dist;>
<!ELEMENT Right_align EMPTY>
<!ATTLIST Right_align %operands_dist;>
<!ELEMENT Top_align EMPTY>
<!ATTLIST Top_align %operands_dist;>
<!ELEMENT Bottom_align EMPTY>
<!ATTLIST Bottom_align %operands_dist;>
<!ELEMENT Left_spacing EMPTY>
<!ATTLIST Left_spacing %operands_dist_dist;>
<!ELEMENT Right_spacing EMPTY>
<!ATTLIST Right_spacing %operands_dist_dist;>
<!ELEMENT Top_spacing EMPTY>
<!ATTLIST Top_spacing %operands_dist_dist;>
<!ELEMENT Bottom_spacing EMPTY>
<!ATTLIST Bottom_spacing %operands_dist_dist;>
<!ELEMENT Left_indent EMPTY>
<!ATTLIST Left_indent %operands_dist_dist;>
<!ELEMENT Right_indent EMPTY>
<!ATTLIST Right_indent %operands_dist_dist;>
<!ELEMENT Top_indent EMPTY>
<!ATTLIST Top_indent %operands_dist_dist;>
<!ELEMENT Bottom_indent EMPTY>
<!ATTLIST Bottom_indent %operands_dist_dist;>