<?xml version="1.0" encoding="UTF-8" ?>
<!-- dsd.dtd version="0.2" last-modification="23/02/2000"
                url="http://co4.inrialpes.fr/xml/dsd/dsd.dtd" -->

<!-- imported DTDs -->

<!ENTITY % dsd:MML SYSTEM "http://co4.inrialpes.fr/xml/dsd/mmlents/mathml.dtd">
%dsd:MML;
<!ENTITY % dsd:MMLX SYSTEM "http://co4.inrialpes.fr/xml/dsd/mathmlx/mathmlx.dtd">
%dsd:MMLX;

<!-- pseudo macros -->

<!ENTITY % dsd:path "CDATA"> <!-- xpath: -->
<!ENTITY % dsd:uri "CDATA">
<!ENTITY % dsd:id "CDATA">
<!ENTITY % dsd:printout "printout CDATA #IMPLIED">

<!-- body -->

<!ELEMENT dsd:DSD ((dsd:declare-domain
                   |dsd:include
                   |dsd:satisfaction
                   |dsd:denotation
                   |dsd:interpretation-domain
                   )*)>
<!ATTLIST dsd:DSD xmlns:dsd %dsd:uri; #FIXED "http://co4.inrialpes.fr/xml/dsd"
                  xmlns:mml %dsd:uri; #FIXED "http://www.w3.org/1998/Math/MathML"
                  xmlns:mmlx %dsd:uri; #FIXED "http://co4.inrialpes.fr/xml/dsd/mmlx"
                  xmlns:xsl %dsd:uri; #FIXED "http://www.w3.org/1999/XSL/Transform"
                  xmlns %dsd:uri; #FIXED "http://co4.inrialpes.fr/xml/dsd">

<!ELEMENT dsd:include EMPTY>
<!ATTLIST dsd:include href %dsd:uri; #REQUIRED>

<!ELEMENT dsd:import EMPTY>
<!ATTLIST dsd:import href %dsd:uri; #REQUIRED>

<!ELEMENT dsd:declare-domain EMPTY>
<!ATTLIST dsd:declare-domain name %dsd:id; #REQUIRED
	%dsd:printout;>

<!ELEMENT dsd:domain EMPTY>
<!ATTLIST dsd:domain name %dsd:id; #REQUIRED>

<!ELEMENT dsd:denotation ANY> <!-- (eq|subset),mml:ContentExpression -->
<!ATTLIST dsd:denotation match CDATA #REQUIRED>

<!ELEMENT dsd:satisfaction ANY> <!-- mml:BooleanExpression -->
<!ATTLIST dsd:satisfaction match CDATA #REQUIRED>

<!ELEMENT dsd:apply-interpretation EMPTY>
<!ATTLIST dsd:apply-interpretation select %dsd:path; ".">

<!ELEMENT dsd:interpretation-domain ANY> <!-- mml:SetExpression -->
<!ATTLIST dsd:interpretation-domain match CDATA #REQUIRED>

<!ELEMENT dsd:value-of EMPTY>
<!ATTLIST dsd:value-of select %dsd:path; #REQUIRED>

