]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/mathql/xmathql.dtd
Modified Files:
[helm.git] / helm / mathql / xmathql.dtd
index f875f1022bc820351c64b8a72e7f83c606f833f9..7b4f71045949c6dd43e82227e2a295caba74ee45 100644 (file)
 <!ENTITY % position '(Conclusion|Hypothesis|Body|MainConclusion|
                         MainHypothesis)'>
 
-<!ENTITY % order '(ascendant|descendant)'>
-
 <!ENTITY % bool '(True|False)'>
 
 <!-- MathQL query expression declaration -->
 
-<!ENTITY % queryexpr '(Union|Intersect|Diff|SortBy|Select|Exists|Use|UsedBy|
+<!ENTITY % queryexpr '(Union|Intersect|Diff|Select|Exists|Use|UsedBy|
                    ConstructorsOf|Pattern|InTheory|TheoryRefTo|TypeOf|
                    SuperTypeOf|SubTypeOf|Group)'>
 
@@ -83,8 +81,6 @@
 
 <!ELEMENT Diff (%queryexpr;, %queryexpr;)>
 
-<!ELEMENT SortBy (%queryexpr;, SortField)>
-
 <!ELEMENT Select (In, Where)>
 
 <!ELEMENT Exists (In, Where)>
@@ -99,7 +95,7 @@
 
 <!ELEMENT ConstructorsOf %queryexpr;>
 
-<!ELEMENT Pattern (Prefix, (TokenList, (Extension, FragmentID?)?)?)>
+<!ELEMENT Pattern (Prefix, TokenList, (FragmentID?))>
 
 <!ELEMENT InTheory (%queryexpr;, ItemType)>
 
 
 <!-- MathQL query sub-expressions -->
 
-<!ELEMENT SortField %functexpr;>
-<!ATTLIST SortField 
-          order %order; #IMPLIED>
-
 <!ELEMENT In %queryexpr;>
 
 <!ELEMENT Where %boolexpr;>
 
 <!ELEMENT QUESTIONMARK EMPTY>
 
-<!ELEMENT TokenList (CONST|STAR|TWOSTARS|SLASH|QUESTIONMARK)+>
+<!ELEMENT NUMBER EMPTY>
+<!ATTLIST NUMBER
+          value NMTOKEN #REQUIRED>
 
-<!ELEMENT Prefix (#PCDATA)>
+<!-- STAR expands only to objects of the specified dir before the last "/": 
+     ex. cic:/Algebra/* expands to every object in Algebra only            -->
+<!-- TWOSTARS expands till the most complete name (with extension if not 
+     specifified)                                                          -->
+<!-- QUESTIONMARK matches one character except "/"                         --> 
+<!ELEMENT TokenList (CONST|STAR|TWOSTARS|SLASH|QUESTIONMARK)+>
 
-<!ELEMENT Extension (#PCDATA)>
+<!ELEMENT Prefix (CONST|STAR)>
 
-<!ELEMENT FragmentID (#PCDATA)>
+<!-- XPointers have max depth = 2 (see CIC inductive definitions) -->
+<!ELEMENT FragmentID (NUMBER|TWOSTARS|STAR)+>
 
 <!-- MathQL boolean expressions -->