Page de couverture | Retour au contenu intelligent | Vers le DOM de WebCGM
Cette section et ses sous-sections sont normatives, sauf indication contraire.
Cette sous-section est informative (non normative).
Le fichier d'accompagnement XML (XCF) de WebCGM est un nouveau composant de WebCGM, prévu dans la version 1.0 et ajouté dans la mise à jour 2.0. Les définitions d'éléments et d'attributs trouvés dans cette section représentent la définition DTD XCF de WebCGM. Cette définition DTD peut être étendue par des profils dérivant de WebCGM 2.0. Les fichiers XCF de WebCGM peuvent servir à plusieurs utilisations. Il existe beaucoup de scénarios d'utilisation concevables mais pour le champ d'application de WebCGM 2.0 les trois suivants ont été jugés les plus importants.
Scénario n° 1 : Un fichier d'accompagnement peut servir à lier des détails d'applications spécifiques (tel un numéro de pièce) à une structure d'application particulière. Le contrôle de l'utilisation des informations spécifiques de l'application est le fait de l'application.
Exemple 4.1 : Un fichier d'accompagnement utilisé pour relier des données spécifiques d'une application à des objets graphiques.
<!ENTITY % grobjectAttEXT "model:partNum CDATA #IMPLIED">
<webcgm version="2.0" id="root-cgm"
filename="sample_1.cgm"
xmlns:model="http://example.org"
xmlns="http://www.cgmopen.org/schema/webcgm/">
<grobject apsid="id_1"
model:partNum="bolt-100A"/>
<grobject apsid="id_2"
model:partNum="wingnut-T9"/>
...
<grobject apsid="id_49"
model:partNum="drill-bit-D01"/>
<grobject apsid="id_50"
model:partNum="router-bit-B389"/>
</webcgm>
|
Scénario n° 2 : Un fichier d'accompagnement peut aussi servir à mettre à jour une illustration CGM via le DOM de WebCGM (cf. la section « Les relations avec le fichier d'accompagnement XML » pour plus de renseignements) :
Exemple 4.2 : Un fichier d'accompagnement utilisé pour mettre à jour le fichier sample_2.cgm avant d'être affiché par un agent utilisateur. Des appels de méthodes du DOM de WebCGM sont nécessaires pour réaliser cette tâche.
<webcgm version="2.0" id="root-cgm"
filename="sample_2.cgm"
xmlns="http://www.cgmopen.org/schema/webcgm/">
<bindByName apstargetname="bolt_100"
screentip="Replacement part:bolt-100B"/>
<bindByName apstargetname="wingnut_9"
screentip="Replacement part:wingnut-T9A"/>
</webcgm>
|
Scénario n° 3 : Bien qu'il ne soit pas dans le propos de cette version du fichier XCF de WebCGM de refléter entièrement la structure hiérarchique d'un graphique CGM (cf. « Vue d'ensemble de la structure »), un fichier d'accompagnement XML pourrait servir d'inventaire XML réduit partiel d'une illustration CGM en énumérant les identificateurs, les types et (la plupart des) attributs des structures d'application.
Exemple 4.3 :
Un fichier d'accompagnement utilisé comme inventaire partiel du fichier sample_3.cgm. Dans ce cas, la description met l'accent
sur la région sensible de chaque élément grobject.
<webcgm version="2.0" id="root-cgm"
filename="sample_3.cgm"
xmlns="http://www.cgmopen.org/schema/webcgm/">
<grobject apsid="id_1" region="1 0 0 100 100"/>
<grobject apsid="id_2" region="1 200 0 300 100"/>
...
<grobject apsid="id_49" region="1 1600 600 1700 700"/>
<grobject apsid="id_50" region="1 1800 600 1900 700"/>
</webcgm>
|
Le fichier d'accompagnement XML (XCF) de WebCGM n'a pas vocation à être une représentation XML fidèle de l'arbre d'objets d'un fichier WebCGM hiérarchique. Le fichier XCF fournit plutôt un mécanisme pour externaliser les métadonnées normalisées et privées (celles de l'application) d'une instance WebCGM structurée, et pour les lier aux objets exacts dans l'arbre d'objets de l'instance WebCGM.
Par conséquent, la structure du fichier d'accompagnement XML est presque plate.
Après l'élément racine webcgm, les divers éléments XCF normalisés apparaissent
comme frères dans le fichier d'accompagnement (à la seule exception de l'élément linkuri).
Ainsi, par exemple, les éléments grobject qui ont une relation parent-enfant dans le fichier CGM sont
frères dans le fichier XCF. La définition DTD normative de WebCGM 2.0 exprime et met en application
cette structure plate, indépendamment d'une quelconque hiérarchie existante dans l'instance WebCGM correspondante.
Exemple 4.4 : Un fichier d'accompagnement presque plat lie des métadonnées normalisées à un arbre d'objets hiérarchique dans une instance WebCGM.
<webcgm version="2.0" filename="sample_4.cgm"
xmlns="http://www.cgmopen.org/schema/webcgm/">
<grobject apsid="level-4-obj"
screentip="wingnut-400A"/>
<grobject apsid="level-3-obj"
screentip="bolt-assembly-100A"/>
</webcgm>
|
BegPic
..(graphics etc)..
BegAps type="grobject" id="level-1-obj"
BegAps type="grobject" id="level-2-obj"
..(graphics etc)..
BegAps type="grobject" id="level-3-obj"
BegAps type="grobject" id="level-4-obj"
..(graphics etc)..
EndAps
EndAps
EndAps
EndAps
EndPic
|
Remarque : L'exemple 4.4 emploie une représentation schématique condensée du code CGM, éliminant nombre de détails pour illustrer le point.
L'exemple 4.4 illustre un autre aspect des relations du contenu du fichier XCF à l'instance WebCGM correspondante (l'ordre du fichier XCF n'est pas obligé de suivre l'ordre du contenu CGM).
Comme suggéré par l'exemple 4.4, l'élément racine d'une instance XCF conforme doit être l'élément webcgm.
L'élément webcgm correspond à l'objet PICTURE dans le fichier CGM.
Cf. « Les relations avec le fichier d'accompagnement XML » pour plus d'explications.
La section suivante traite en détails des attributs et éléments de métadonnées spécifiques de l'application dans un fichier XCF. Afin d'établir sans ambiguïté où, dans l'arbre d'objets WebCGM, ces métadonnées doivent s'insérer, les attributs et éléments spécifiques de l'application (définis dans un espace de noms séparé) sont placés dans le fichier XCF comme attributs et éléments enfants sur les éléments XCF normalisés qui correspondent (se lient) à l'objet approprié dans le fichier WebCGM. Cela apparaît dans l'exemple 4.1 pour les attributs spécifiques de l'application. Cf. également la section « Les relations avec le fichier d'accompagnement XML » pour plus d'explications.
La définition DTD de WebCGM est extensible et des métadonnées spécifiques de l'application ou de l'industrie peuvent donc être ajoutées au modèle objet de WebCGM (comme illustré dans l'exemple 4.1). Les définitions d'extension sont mises en œuvre en utilisant des espaces de noms. La définition DTD décrit une entité d'extension pour le contenu et les attributs de la plupart des éléments. Comme exemple, prenons un fabricant de pièces de rechange qui souhaite associer des renseignements à propos de ces pièces à des objets graphiques. Cela pourrait être mise en œuvre avec une extension comme celle-ci :
<!ENTITY % grobjectAttEXT "model:partNum CDATA #IMPLIED" >
Une application hôte pourrait alors interroger le DOM de WebCGM et récupérer les renseignements (à propos des pièces) associés.
On doit suivre un ensemble de règles pour l'extension de la définition DTD de WebCGM :
webcgm ;Les règles précédentes permettent aux agents utilisateurs WebCGM de traiter les fichiers d'accompagnement étendus de manière interopérable.
L'espace de noms WebCGM :
http://www.cgmopen.org/schema/webcgm/
Exemple d'espace de noms :
<webcgm version="2.0" filename="sample.cgm"
xmlns="http://www.cgmopen.org/schema/webcgm/">
L'identificateur public de WebCGM 2.0 :
PUBLIC "-//OASIS//DTD WebCGM 2.0//EN"
L'identificateur système de WebCGM 2.0 :
http://docs.oasis-open.org/webcgm/v2.0/webcgm20.dtd
Exemple de déclaration DOCTYPE : Voici un exemple de déclaration de type de document d'un document XCF WebCGM :
<!DOCTYPE webcgm PUBLIC "-//OASIS//DTD WebCGM 2.0//EN"
"http://docs.oasis-open.org/webcgm/v2.0/webcgm20.dtd">
Un fichier est un document XCF WebCGM 2.0 conforme, s'il adhère aux spécifications décrites dans ce document (WebCGM 2.0), y compris celles de la définition DTD XCF WebCGM 2.0, et si, en plus :
webcgm ;xmlns
indiquant des espaces de noms non-WebCGM ont été supprimés du document en question, et qu'une
déclaration de type de document appropriée (c'est-à-dire <!DOCTYPE webcgm ... >) pointant vers la
définition DTD de WebCGM a été incluse immédiatement après la déclaration XML (c'est-à-dire <?xml...?>),
le résultat est alors un document XML valide ;Les éléments XCF normalisés comprennent :
webcgm ;layer, grobject, para, subpara ;bindById et bindByName.Les éléments XCF normalisés comprennent aussi l'attribut linkuri. C'est un attribut APS codé
comme un élément XCF et non comme un attribut, afin d'éviter un codage sinon excessivement complexe de la chaîne
qui comprendrait sa valeur comme un attribut XML.
Pour le contenu XCF normalisé, la plupart des items exprimés sur les éléments XCF comme des attributs XML
sont en corrélation directe avec un attribut ou une propriété WebCGM normalisés, qui peuvent être établis ou lus
au moyen d'un appel DOM WebCGM.
En général, le codage des attributs XML sur les éléments XCF est identique au codage des paramètres correspondants
dans les appels DOM. Par exemple, l'interface WebCGMAppStructure
(section 5.7.6) définit viewcontext comme une chaîne simple de quatre chiffres, séparés par des blancs
(cf. la définition de la production Wsp, section 5.5). Le codage de viewcontext
comme attribut XML sur un élément XCF permis est le même que celui comme paramètre de méthode DOM.
De même, les propriétés de style (assignables sur les
interfaces WebCGMPicture et WebCGMAppStructure), comme attributs XML sur les éléments XCF,
ont les mêmes valeurs légales et sont codés de la même façon que dans les appels DOM correspondants.
La seule exception d'utilisation de codages en harmonie est celle de l'attribut APS linkuri,
qui est codé comme un élément dans le fichier XCF pour les raisons expliquées.
Cf. la section « Les types de données du DOM de WebCGM » pour des renseignements complets.
Pour la plupart, les éléments XCF peuvent avoir des propriétés de style
en tant qu'attributs XML (les propriétés de style sont définies et gérées par les interfaces DOM
WebCGMPicture et WebCGMAppStructure). La définition d'entité suivante est utilisée dans les
blocs DTD des sous-sections à suivre, sur les éléments qui acceptent des propriétés de style
aux deux niveaux de la structure APS et de l'image. (La propriété de style background-color ne s'applique qu'au niveau de l'image).
<!ENTITY % styleProperties
"text-size CDATA #IMPLIED
fill-color CDATA #IMPLIED
intensity CDATA #IMPLIED
stroke-color CDATA #IMPLIED
stroke-weight CDATA #IMPLIED
text-color CDATA #IMPLIED
text-font CDATA #IMPLIED
raster-intensity CDATA #IMPLIED"
>
|
Un seul élément XCF WebCGM ne doit pas contenir en même temps la propriété intensity et
une ou plusieurs propriétés chevauchantes (overlapping properties) fill-color, stroke-color
ou text-color. Les propriétés chevauchantes peuvent apparaître en succession sur des éléments XCF différents,
et leur traitement est alors défini selon leur ordre d'apparition (cf. la description des
propriétés de style).
Cf. la section « Les types de données et les codages » pour plus de renseignements à propos des propriétés de style.
webcgmUn fichier d'accompagnement WebCGM (ou tout autre profil CGM dérivé du profil WebCGM) doit avoir un
élément webcgm comme élément racine. L'élément webcgm correspond au nœud WebCGMPicture
dans l'arbre DOM de WebCGM (cf. par exemple l'interface WebCGMPicture
dans le DOM).
<!ENTITY % webcgmEXT "" >
<!ENTITY % webcgmAttEXT "" >
<!ELEMENT webcgm ( (layer | grobject | para | subpara | bindById | bindByName %webcgmEXT;)* ) >
<!ATTLIST webcgm
id ID #IMPLIED
version CDATA #FIXED '2.0'
filename CDATA #IMPLIED
xmlns CDATA #FIXED "http://www.cgmopen.org/schema/webcgm/"
background-color CDATA #IMPLIED
pictureVisibility ( on | off) #IMPLIED
%styleProperties;
%webcgmAttEXT;
>
|
Définitions d'attributs :
webcgm, soit en incluant une
déclaration DOCTYPE pointant vers la définition DTD de ce fichier XCF WebCGM,
ou les deux (recommandé). Un profil spécifique d'une industrie dérivé de cette spécification XCF WebCGM
ne doit pas utiliser cet attribut pour identifier sa version de profil. Par exemple, si l'association ASD
incluait dans la version 2.3 de sa spécification S1000D un fichier XCF dérivé de WebCGM 2.0, la balise webcgm ressemblerait à ceci :
<webcgm version="2.0" asd:s1000d-version="2.3" xmlns:asd="http://example.org/asd/" ...>
filename est descriptif.xmlns
sans préfixe identifie l'espace de noms WebCGM (défaut), et (avec préfixe) on doit l'employer
pour identifier les espaces de noms étrangers des métadonnées spécifiques d'une application utilisées dans
l'instance XCF. Notez que la valeur donnée dans le bloc DTD
et le type d'attribut (#FIXED) ne s'appliquent qu'à l'espace de noms WebCGM par défaut non préfixé.
<webcgm version="2.0" xmlns="http://www.cgmopen.org/schema/webcgm/"
xmlns:asd="http://example.org/asd/" ...>
<xcf:webcgm version="2.0" xmlns:asd="http://example.org/asd/"
...>
Dans le premier exemple, l'espace de noms WebCGM est déclaré comme espace de noms par défaut de l'élément webcgm
et son contenu, et le contenu dans l'espace de noms asd emploierait le préfixe « asd: ». Comme la
définition DTD le montre, le second exemple est également valide parce que l'espace de noms
IRI se replie correctement au défaut pour l'attribut xmlns
sans préfixe. Toutefois, on recommande de toujours inclure l'attribut xmlns pour déclarer l'espace de noms par défaut (WebCGM).
background-color est une propriété de style
qui établit la couleur d'arrière-plan de PICTURE (le nœud racine de l'arbre d'objets WebCGM).webcgm de ce fichier XCF. Cette propriété est similaire
à l'attribut APS visibility applicable aux structures d'application du métafichier, sauf qu'elle s'applique
à l'image (où l'attribut APS visibility n'est pas permis selon les règles de CGM). L'effet est le même
que celui de l'invocation de la méthode setPictureVisibility sur l'interface WebCGMPicture du DOM.styleProperties définit collectivement les propriétés de style
qui s'appliquent à la fois au niveau de l'image (PICTURE) et au niveau de l'objet/structure d'application.webcgmEXT est un mécanisme pour ajouter des sous-éléments (N.d.T. adding additional child content),
c'est-à-dire des métadonnées, au nœud racine.webcgmAttEXT est un mécanisme pour ajouter des attributs (N.d.T. adding additional attributes),
c'est-à-dire des métadonnées, au nœud racine.layerL'élément layer d'un fichier d'accompagnement XML représente une structure d'application CGM de
type layer. Le layer correspondant est identifiable par la valeur de son attribut apsid.
<!ENTITY % layerEXT "EMPTY" >
<!ENTITY % layerAttEXT "" >
<!ELEMENT layer %layerEXT; >
<!ATTLIST layer
apsid ID #REQUIRED
layerdesc CDATA #IMPLIED
visibility ( on | off | inherit) #IMPLIED
interactivity ( on | off | inherit) #IMPLIED
%styleProperties;
%layerAttEXT;
>
|
Définitions d'attributs :
layerdesc de la structure d'application associée.visibility de la structure d'application associée.interactivity de la structure d'application associée.styleProperties définit collectivement les propriétés de style
qui s'appliquent à la fois au niveau de l'image (PICTURE) et au niveau de l'objet/structure d'application.layerEXT est un mécanisme pour ajouter des sous-éléments, c'est-à-dire des métadonnées,
à l'élément layer.layerAttEXT est un mécanisme pour ajouter des attributs, c'est-à-dire des métadonnées,
à l'élément layer.Cf. également la description fonctionnelle de layer dans la section 3.
grobjectL'élément grobject d'un fichier d'accompagnement XML représente une structure d'application CGM de
type grobject. Le grobject correspondant est identifiable par la valeur de son attribut apsid.
<!ENTITY % grobjectEXT "" >
<!ENTITY % grobjectAttEXT "" >
<!ELEMENT grobject ( linkuri %grobjectEXT; )* >
<!ATTLIST grobject
apsid ID #REQUIRED
screentip CDATA #IMPLIED
region CDATA #IMPLIED
viewcontext CDATA #IMPLIED
visibility ( on | off | inherit ) #IMPLIED
interactivity ( on | off | inherit ) #IMPLIED
%styleProperties;
%grobjectAttEXT;
>
|
Définitions d'attributs :
screentip de la structure d'application associée.region de la structure d'application associée.viewcontext de la structure d'application associée.visibility de la structure d'application associée.interactivity de la structure d'application associée.styleProperties définit collectivement les propriétés de style
qui s'appliquent à la fois au niveau de l'image (PICTURE) et au niveau de l'objet/structure d'application.grobjectEXT est un mécanisme pour ajouter des sous-éléments, c'est-à-dire des métadonnées,
à l'élément grobject.grobjectAttEXT est un mécanisme pour ajouter des attributs, c'est-à-dire des métadonnées,
à l'élément grobject.Cf. également la description fonctionnelle de grobject dans la section 3.
paraL'élément para d'un fichier d'accompagnement XML représente une structure d'application CGM de
type para. Le para correspondant est identifiable par la valeur de son attribut apsid.
<!ENTITY % paraEXT "" >
<!ENTITY % paraAttEXT "" >
<!ELEMENT para ( linkuri %paraEXT; )* >
<!ATTLIST para
apsid ID #REQUIRED
screentip CDATA #IMPLIED
region CDATA #IMPLIED
viewcontext CDATA #IMPLIED
visibility ( on | off | inherit) #IMPLIED
interactivity ( on | off | inherit) #IMPLIED
%styleProperties;
%paraAttEXT;
>
|
Définitions d'attributs :
screentip de la structure d'application associée.region de la structure d'application associée.viewcontext de la structure d'application associée.visibility de la structure d'application associée.interactivity de la structure d'application associée.styleProperties définit collectivement les propriétés de style
qui s'appliquent à la fois au niveau de l'image (PICTURE) et au niveau de l'objet/structure d'application.paraEXT est un mécanisme pour ajouter des sous-éléments, c'est-à-dire des métadonnées,
à l'élément para.paraAttEXT est un mécanisme pour ajouter des attributs, c'est-à-dire des métadonnées,
à l'élément para.Cf. également la description fonctionnelle de para dans la section 3.
subparaL'élément subpara d'un fichier d'accompagnement XML représente une structure d'application CGM de
type subpara. Le subpara correspondant est identifiable par la valeur de son attribut apsid.
<!ENTITY % subparaEXT "" >
<!ENTITY % subparaAttEXT "" >
<!ELEMENT subpara ( linkuri %subparaEXT; )* >
<!ATTLIST subpara
apsid ID #REQUIRED
screentip CDATA #IMPLIED
region CDATA #IMPLIED
viewcontext CDATA #IMPLIED
visibility ( on | off | inherit) #IMPLIED
interactivity ( on | off | inherit) #IMPLIED
%styleProperties;
%subparaAttEXT;
>
|
Définitions d'attributs :
screentip de la structure d'application associée.region de la structure d'application associée.viewcontext de la structure d'application associée.visibility de la structure d'application associée.interactivity de la structure d'application associée.styleProperties définit collectivement les propriétés de style
qui s'appliquent à la fois au niveau de l'image (PICTURE) et au niveau de l'objet/structure d'application.subparaEXT est un mécanisme pour ajouter des sous-éléments, c'est-à-dire des métadonnées,
à l'élément subpara.subparaAttEXT est un mécanisme pour ajouter des attributs, c'est-à-dire des métadonnées,
à l'élément subpara.Cf. également la description fonctionnelle de subpara dans la section 3.
linkuriL'élément linkuri d'un fichier d'accompagnement XML représente un attribut APS linkuri WebCGM.
Contrairement aux autres attributs, l'attribut linkuri s'exprime comme un élément dans le fichier d'accompagnement XML.
La structure d'application correspondante de ce linkuri est son élément parent.
<!ENTITY % linkuriEXT |
Définitions d'attributs :
linkuri. Cf. la section
« Les types de données de base » pour plus de renseignements.linkuri. Cf. la section
« Les types de données de base » pour plus de renseignements.linkuri. Cf. la section
« Les types de données de base » pour plus de renseignements.linkuriEXT est un mécanisme pour ajouter des sous-éléments, c'est-à-dire des métadonnées,
à l'élément linkuri.linkuriAttEXT est un mécanisme pour ajouter des attributs, c'est-à-dire des métadonnées,
à l'élément linkuri.Cf. également la description fonctionnelle de linkuri dans la section 3.
bindByNameL'élément bindByName d'un fichier d'accompagnement XML est prévu pour correspondre à une ou plusieurs
structures d'application dans un fichier CGM. Le lien commun entre ces structures est la valeur de leur attribut name
ou layername correspondant à celle de l'attribut apstargetname. Cf. la section
« Les relations avec le fichier d'accompagnement XML » pour plus de renseignements
sur les règles de mappage des attributs de bindByName aux structures d'application WebCGM.
<!ENTITY % bindByNameEXT "" >
<!ENTITY % bindByNameAttEXT "" >
<!ELEMENT bindByName ( linkuri %bindByNameEXT; )* >
<!ATTLIST bindByName
apstargetname CDATA #REQUIRED
screentip CDATA #IMPLIED
region CDATA #IMPLIED
viewcontext CDATA #IMPLIED
layerdesc CDATA #IMPLIED
visibility ( on | off | inherit) #IMPLIED
interactivity ( on | off | inherit) #IMPLIED
%styleProperties;
%bindByNameAttEXT;
>
|
Définitions d'attributs :
screentip de la structure d'application associée.region de la structure d'application associée.viewcontext de la structure d'application associée.layerdesc de la structure d'application associée.visibility de la structure d'application associée.interactivity de la structure d'application associée.styleProperties définit collectivement les propriétés de style
qui s'appliquent à la fois au niveau de l'image (PICTURE) et au niveau de l'objet/structure d'application.bindByNameEXT est un mécanisme pour ajouter des sous-éléments, c'est-à-dire des métadonnées,
à la structure d'application.bindByNameAttEXT est un mécanisme pour ajouter des attributs, c'est-à-dire des métadonnées,
à la structure d'application.bindByIdL'élément bindById d'un fichier d'accompagnement XML représente une structure d'application de type inconnu
(quelques possibilités sont : layer, grobject, para, subpara).
L'objet correspondant est identifiable par la valeur de son attribut apsid. Cf. la section
« Les relations avec le fichier d'accompagnement XML » pour plus de renseignements
sur les règles de mappage des attributs de bindById aux structures d'applications WebCGM.
<!ENTITY % bindByIdEXT "" >
<!ENTITY % bindByIdAttEXT "" >
<!ELEMENT bindById ( linkuri %bindByIdEXT; )* >
<!ATTLIST bindById
apsid ID #REQUIRED
screentip CDATA #IMPLIED
region CDATA #IMPLIED
viewcontext CDATA #IMPLIED
layerdesc CDATA #IMPLIED
visibility ( on | off | inherit) #IMPLIED
interactivity ( on | off | inherit) #IMPLIED
%styleProperties;
%bindByIdAttEXT;
>
|
Définitions d'attributs :
screentip de la structure d'application associée.region de la structure d'application associée.viewcontext de la structure d'application associée.layerdesc de la structure d'application associée.visibility de la structure d'application associée.interactivity de la structure d'application associée.styleProperties définit collectivement les propriétés de style
qui s'appliquent à la fois au niveau de l'image (PICTURE) et au niveau de l'objet/structure d'application.bindByIdEXT est un mécanisme pour ajouter des sous-éléments, c'est-à-dire des métadonnées,
à la structure d'application.bindByIdAttEXT est un mécanisme pour ajouter des attributs, c'est-à-dire des métadonnées,
à la structure d'application.Voici la définition DTD complète du fichier d'accompagnement XML (XCF) de WebCGM :
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE webcgm [ <!-- ================================================================ --> <!-- This is the WebCGM XML Companion File DTD for use with --> <!-- WebCGM 2.0 --> <!-- ================================================================ --> <!-- Original issue: September 2004 --> <!-- --> <!-- Revision history: --> <!-- December 2004 (r1) --> <!-- Added xml version statement --> <!-- Corrected spelling of interactivity --> <!-- Changed visibility/interactivity parameters from --> <!-- CDATA to "on" or "off" --> <!-- January 2005 (r2) --> <!-- Corrected linkrui to linkuri and subpara extensible --> <!-- attributes value --> <!-- Added region and viewcontext attributes to --> <!-- grobject, para, subpara, bindById, and bindByName --> <!-- Change webcgm element attributes version and filename --> <!-- to #IMPLIED --> <!-- ================================================================ --> <!-- --> <!-- ================================================================ --> <!-- Application specific entities --> <!-- Application groups define application specific attributes here --> <!-- and define the stubs for application specific elements that --> <!-- will be defined later in the DTD --> <!-- --> <!ENTITY % webcgmEXT "" > <!ENTITY % webcgmAttEXT "" > <!ENTITY % layerEXT "EMPTY" > <!ENTITY % layerAttEXT "" > <!ENTITY % grobjectEXT "" > <!ENTITY % grobjectAttEXT "" > <!ENTITY % paraEXT "" > <!ENTITY % paraAttEXT "" > <!ENTITY % subparaEXT "" > <!ENTITY % subparaAttEXT "" > <!ENTITY % linkuriEXT"""EMPTY" > <!ENTITY % linkuriAttEXT "" > <!ENTITY % bindByIdEXT "" > <!ENTITY % bindByIdAttEXT "" > <!ENTITY % bindByNameEXT "" > <!ENTITY % bindByNameAttEXT "" > <!ENTITY % styleProperties "text-size CDATA #IMPLIED fill-color CDATA #IMPLIED intensity CDATA #IMPLIED stroke-color CDATA #IMPLIED stroke-weight CDATA #IMPLIED text-color CDATA #IMPLIED text-font CDATA #IMPLIED raster-intensity CDATA #IMPLIED" > <!ELEMENT webcgm ( (layer | grobject | para | subpara | bindById | bindByName %webcgmEXT;)* ) > <!ATTLIST webcgm id ID #IMPLIED version CDATA #FIXED '2.0' filename CDATA #IMPLIED background-color CDATA #IMPLIED pictureVisibility ( on | off ) #IMPLIED xmlns CDATA #FIXED "http://www.cgmopen.org/schema/webcgm/" %styleProperties; %webcgmAttEXT; > <!ELEMENT layer %layerEXT; > <!ATTLIST layer apsid ID #REQUIRED layerdesc CDATA #IMPLIED visibility ( on | off | inherit) #IMPLIED interactivity ( on | off | inherit) #IMPLIED %styleProperties; %layerAttEXT; > <!ELEMENT grobject ( linkuri %grobjectEXT; )* > <!ATTLIST grobject apsid ID #REQUIRED screentip CDATA #IMPLIED region CDATA #IMPLIED viewcontext CDATA #IMPLIED visibility ( on | off | inherit) #IMPLIED interactivity ( on | off | inherit) #IMPLIED %styleProperties; %grobjectAttEXT; > <!ELEMENT linkuri %linkuriEXT; > <!ATTLIST linkuri uri CDATA #REQUIRED behavior CDATA #IMPLIED desc CDATA #IMPLIED %linkuriAttEXT; > <!ELEMENT para ( linkuri %paraEXT; )* > <!ATTLIST para apsid ID #REQUIRED screentip CDATA #IMPLIED region CDATA #IMPLIED viewcontext CDATA #IMPLIED visibility ( on | off | inherit) #IMPLIED interactivity ( on | off | inherit) #IMPLIED %styleProperties; %paraAttEXT; > <!ELEMENT subpara ( linkuri %subparaEXT; )* > <!ATTLIST subpara apsid ID #REQUIRED screentip CDATA #IMPLIED region CDATA #IMPLIED viewcontext CDATA #IMPLIED visibility ( on | off | inherit) #IMPLIED interactivity ( on | off | inherit) #IMPLIED %styleProperties; %subparaAttEXT; > <!ELEMENT bindById ( linkuri %bindByIdEXT; )* > <!ATTLIST bindById apsid ID #REQUIRED screentip CDATA #IMPLIED layerdesc CDATA #IMPLIED region CDATA #IMPLIED viewcontext CDATA #IMPLIED visibility ( on | off | inherit) #IMPLIED interactivity ( on | off | inherit) #IMPLIED %styleProperties; %bindByIdAttEXT; > <!ELEMENT bindByName ( linkuri %bindByNameEXT; )* > <!ATTLIST bindByName apstargetname CDATA #REQUIRED screentip CDATA #IMPLIED layerdesc CDATA #IMPLIED region CDATA #IMPLIED viewcontext CDATA #IMPLIED visibility ( on | off | inherit) #IMPLIED interactivity ( on | off | inherit) #IMPLIED %styleProperties; %bindByNameAttEXT; > <!-- Define content models for application specific elements --> <!-- -->] >