blob: feb3ef8d8dac983f2802f92cf99ed8a39d01462e [file] [log] [blame]
<!-- DTD for CSS Meta Model Profile -->
<!--
/*******************************************************************************
* Copyright (c) 2004, 2006 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
-->
<!-- Entities -->
<!-- name-definition : In defining meta model object, object name -->
<!-- is given by using this attribute. -->
<!ENTITY % name-definition 'name CDATA #REQUIRED' >
<!-- name-reference : used to refer meta model object that defined -->
<!-- by name-definition -->
<!ENTITY % name-reference 'name CDATA #REQUIRED' >
<!-- availability : CSS Meta Model Profile permit importing -->
<!-- other profile and describe difference for it. -->
<!ENTITY % availability 'enabled (true | false) "true"' >
<!ENTITY % overwrite 'overwrite (true | false) "false"' >
<!-- ******************** -->
<!-- elments/attributes -->
<!-- ******************** -->
<!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)*) >
<!-- a profile can include other profile -->
<!ELEMENT profile-import EMPTY >
<!ATTLIST profile-import name CDATA #REQUIRED >
<!-- which type of rule can be used? -->
<!ELEMENT stylesheet-def (description? , (charset-rule | import-rule | page-rule | media-rule | fontface-rule | style-rule)*) >
<!ATTLIST stylesheet-def %overwrite; >
<!ELEMENT charset-rule EMPTY >
<!ATTLIST charset-rule %availability; >
<!ELEMENT import-rule EMPTY >
<!ATTLIST import-rule %availability; >
<!ELEMENT page-rule EMPTY >
<!ATTLIST page-rule %availability; >
<!ELEMENT media-rule EMPTY >
<!ATTLIST media-rule %availability; >
<!ELEMENT fontface-rule EMPTY >
<!ATTLIST fontface-rule %availability; >
<!ELEMENT style-rule EMPTY >
<!ATTLIST style-rule %availability; >
<!ELEMENT charset-rule-def (description?) >
<!ATTLIST charset-rule-def %overwrite; >
<!ELEMENT import-rule-def (description?) >
<!ATTLIST import-rule-def %overwrite; >
<!ELEMENT page-rule-def (description? , (property | pseudo-class)*) >
<!ATTLIST page-rule-def %overwrite; >
<!ELEMENT media-rule-def (description?) >
<!ATTLIST media-rule-def %overwrite; >
<!ELEMENT fontface-rule-def (description? , descriptor*) >
<!ATTLIST fontface-rule-def %overwrite; >
<!ELEMENT style-rule-def (description? , (property | selector-expression | pseudo-class | pseudo-element)*) >
<!ATTLIST style-rule-def %overwrite; >
<!ELEMENT selector-expression EMPTY >
<!ATTLIST selector-expression name (descendant | child | adjacent | universal | attribute) #REQUIRED %availability; >
<!ELEMENT pseudo-class EMPTY >
<!ATTLIST pseudo-class %name-reference; %availability; >
<!ELEMENT pseudo-element EMPTY >
<!ATTLIST pseudo-element %name-reference; %availability; >
<!ELEMENT pseudo-class-def (description?, selector-value) >
<!ATTLIST pseudo-class-def %name-definition; %overwrite; >
<!ELEMENT selector-value (#PCDATA) >
<!ELEMENT pseudo-element-def (description?, selector-value) >
<!ATTLIST pseudo-element-def %name-definition; %overwrite; >
<!ELEMENT keyword-def (description? , keyword-value) >
<!ATTLIST keyword-def %name-definition; %overwrite; >
<!ELEMENT keyword-value (#PCDATA) >
<!ELEMENT description (#PCDATA) >
<!ELEMENT function-def (description? , function-value) >
<!ATTLIST function-def %name-definition; %overwrite; >
<!ELEMENT function-value (#PCDATA) >
<!ELEMENT number-def (description? , unit*) >
<!ATTLIST number-def %name-definition; %overwrite; >
<!ELEMENT unit EMPTY >
<!ATTLIST unit %name-reference; %availability; >
<!ELEMENT unit-def (description? , unit-value) >
<!ATTLIST unit-def %name-definition; %overwrite; >
<!ELEMENT unit-value (#PCDATA) >
<!ELEMENT container-def (description? , (number | keyword | function | container)*) >
<!ATTLIST container-def %name-definition; %overwrite; >
<!ELEMENT category-def (description?, caption) >
<!ATTLIST category-def %name-definition; %overwrite; >
<!ELEMENT caption (#PCDATA) >
<!ELEMENT property-def (description? , (number | keyword | function | container | string | separator | property)*) >
<!ATTLIST property-def %name-definition; %overwrite;
inherited (yes | no | na) "na"
mediagroup CDATA #IMPLIED
category CDATA #IMPLIED >
<!ELEMENT descriptor-def (description?, (number | keyword | function | container | string | separator | property)*) >
<!ATTLIST descriptor-def %name-definition; %overwrite; >
<!ELEMENT number EMPTY >
<!ATTLIST number %name-reference; %availability; >
<!ELEMENT keyword EMPTY >
<!ATTLIST keyword %name-reference; %availability; >
<!ELEMENT function EMPTY >
<!ATTLIST function %name-reference; %availability; >
<!ELEMENT container EMPTY >
<!ATTLIST container %name-reference; %availability; >
<!ELEMENT string EMPTY >
<!ATTLIST string %name-reference; %availability; >
<!ELEMENT separator EMPTY >
<!ATTLIST separator name (comma | slash) #REQUIRED %availability; >
<!ELEMENT property EMPTY >
<!ATTLIST property %name-reference; %availability; >
<!ELEMENT descriptor EMPTY >
<!ATTLIST descriptor %name-reference; %availability; >