<!ELEMENT ConstructorsOf %queryexpr;>
-<!ELEMENT Pattern (Prefix, (TokenList, (Extension, FragmentID?)?)?)>
+<!ELEMENT Pattern (Prefix, TokenList, (FragmentID?))>
<!ELEMENT InTheory (%queryexpr;, ItemType)>
<!ELEMENT QUESTIONMARK EMPTY>
+<!ELEMENT NUMBER EMPTY>
+<!ATTLIST NUMBER
+ value NMTOKEN #REQUIRED>
+
+<!-- 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 Prefix (#PCDATA)>
-<!ELEMENT Extension (#PCDATA)>
-
-<!ELEMENT FragmentID (#PCDATA)>
+<!-- XPointers have max depth = 2 (see CIC inductive definitions) -->
+<!ELEMENT FragmentID ((NUMBER|STAR), (NUMBER|STAR)?)>
<!-- MathQL boolean expressions -->