blob: feb3ef8d8dac983f2802f92cf99ed8a39d01462e [file] [log] [blame]
nitind958d79a2004-11-23 19:23:00 +00001<!-- DTD for CSS Meta Model Profile -->
amywu4311d142006-10-16 16:34:22 +00002<!--
3/*******************************************************************************
4 * Copyright (c) 2004, 2006 IBM Corporation and others.
5 * All rights reserved. This program and the accompanying materials
6 * are made available under the terms of the Eclipse Public License v1.0
7 * which accompanies this distribution, and is available at
8 * http://www.eclipse.org/legal/epl-v10.html
9 *
10 * Contributors:
11 * IBM Corporation - initial API and implementation
12 *******************************************************************************/
13 -->
nitind958d79a2004-11-23 19:23:00 +000014<!-- Entities -->
15
16<!-- name-definition : In defining meta model object, object name -->
17<!-- is given by using this attribute. -->
18
19<!ENTITY % name-definition 'name CDATA #REQUIRED' >
20
21<!-- name-reference : used to refer meta model object that defined -->
22<!-- by name-definition -->
23
24<!ENTITY % name-reference 'name CDATA #REQUIRED' >
25
26<!-- availability : CSS Meta Model Profile permit importing -->
27<!-- other profile and describe difference for it. -->
28
29<!ENTITY % availability 'enabled (true | false) "true"' >
30<!ENTITY % overwrite 'overwrite (true | false) "false"' >
31
32<!-- ******************** -->
33<!-- elments/attributes -->
34<!-- ******************** -->
35
36<!ELEMENT css-profile (profile-import? , (stylesheet-def | charset-rule-def | import-rule-def | page-rule-def | media-rule-def | fontface-rule-def | style-rule-def | property-def | descriptor-def | container-def | function-def | number-def | unit-def | keyword-def | category-def | pseudo-element-def | pseudo-class-def)*) >
37
38<!-- a profile can include other profile -->
39
40<!ELEMENT profile-import EMPTY >
41<!ATTLIST profile-import name CDATA #REQUIRED >
42
43<!-- which type of rule can be used? -->
44
45<!ELEMENT stylesheet-def (description? , (charset-rule | import-rule | page-rule | media-rule | fontface-rule | style-rule)*) >
46<!ATTLIST stylesheet-def %overwrite; >
47
48<!ELEMENT charset-rule EMPTY >
49<!ATTLIST charset-rule %availability; >
50<!ELEMENT import-rule EMPTY >
51<!ATTLIST import-rule %availability; >
52<!ELEMENT page-rule EMPTY >
53<!ATTLIST page-rule %availability; >
54<!ELEMENT media-rule EMPTY >
55<!ATTLIST media-rule %availability; >
56<!ELEMENT fontface-rule EMPTY >
57<!ATTLIST fontface-rule %availability; >
58<!ELEMENT style-rule EMPTY >
59<!ATTLIST style-rule %availability; >
60
61<!ELEMENT charset-rule-def (description?) >
62<!ATTLIST charset-rule-def %overwrite; >
63
64<!ELEMENT import-rule-def (description?) >
65<!ATTLIST import-rule-def %overwrite; >
66
67<!ELEMENT page-rule-def (description? , (property | pseudo-class)*) >
68<!ATTLIST page-rule-def %overwrite; >
69
70<!ELEMENT media-rule-def (description?) >
71<!ATTLIST media-rule-def %overwrite; >
72
73<!ELEMENT fontface-rule-def (description? , descriptor*) >
74<!ATTLIST fontface-rule-def %overwrite; >
75
76<!ELEMENT style-rule-def (description? , (property | selector-expression | pseudo-class | pseudo-element)*) >
77<!ATTLIST style-rule-def %overwrite; >
78
79<!ELEMENT selector-expression EMPTY >
80<!ATTLIST selector-expression name (descendant | child | adjacent | universal | attribute) #REQUIRED %availability; >
81
82<!ELEMENT pseudo-class EMPTY >
83<!ATTLIST pseudo-class %name-reference; %availability; >
84
85<!ELEMENT pseudo-element EMPTY >
86<!ATTLIST pseudo-element %name-reference; %availability; >
87
88<!ELEMENT pseudo-class-def (description?, selector-value) >
89<!ATTLIST pseudo-class-def %name-definition; %overwrite; >
90<!ELEMENT selector-value (#PCDATA) >
91
92<!ELEMENT pseudo-element-def (description?, selector-value) >
93<!ATTLIST pseudo-element-def %name-definition; %overwrite; >
94
95<!ELEMENT keyword-def (description? , keyword-value) >
96<!ATTLIST keyword-def %name-definition; %overwrite; >
97<!ELEMENT keyword-value (#PCDATA) >
98<!ELEMENT description (#PCDATA) >
99
100<!ELEMENT function-def (description? , function-value) >
101<!ATTLIST function-def %name-definition; %overwrite; >
102<!ELEMENT function-value (#PCDATA) >
103
104<!ELEMENT number-def (description? , unit*) >
105<!ATTLIST number-def %name-definition; %overwrite; >
106<!ELEMENT unit EMPTY >
107<!ATTLIST unit %name-reference; %availability; >
108
109<!ELEMENT unit-def (description? , unit-value) >
110<!ATTLIST unit-def %name-definition; %overwrite; >
111<!ELEMENT unit-value (#PCDATA) >
112
113<!ELEMENT container-def (description? , (number | keyword | function | container)*) >
114<!ATTLIST container-def %name-definition; %overwrite; >
115
116<!ELEMENT category-def (description?, caption) >
117<!ATTLIST category-def %name-definition; %overwrite; >
118<!ELEMENT caption (#PCDATA) >
119
120<!ELEMENT property-def (description? , (number | keyword | function | container | string | separator | property)*) >
121<!ATTLIST property-def %name-definition; %overwrite;
122 inherited (yes | no | na) "na"
123 mediagroup CDATA #IMPLIED
124 category CDATA #IMPLIED >
125<!ELEMENT descriptor-def (description?, (number | keyword | function | container | string | separator | property)*) >
126<!ATTLIST descriptor-def %name-definition; %overwrite; >
127
128<!ELEMENT number EMPTY >
129<!ATTLIST number %name-reference; %availability; >
130<!ELEMENT keyword EMPTY >
131<!ATTLIST keyword %name-reference; %availability; >
132<!ELEMENT function EMPTY >
133<!ATTLIST function %name-reference; %availability; >
134<!ELEMENT container EMPTY >
135<!ATTLIST container %name-reference; %availability; >
136<!ELEMENT string EMPTY >
137<!ATTLIST string %name-reference; %availability; >
138<!ELEMENT separator EMPTY >
139<!ATTLIST separator name (comma | slash) #REQUIRED %availability; >
140<!ELEMENT property EMPTY >
141<!ATTLIST property %name-reference; %availability; >
142<!ELEMENT descriptor EMPTY >
143<!ATTLIST descriptor %name-reference; %availability; >