Simplify the automaton encoding a bit (remove redundant predicates in formulae).
[tatoo.git] / src / xpath / ast.ml
index 7810a0e..5b322a4 100644 (file)
@@ -127,15 +127,16 @@ and print_test fmt (ts,kind) =
       Text -> pp fmt "%s" "text()"
     | Element | Attribute ->
         pp fmt "%s" begin
-          if ts == star then "*"
-          else QName.to_string (QNameSet.choose ts)
+          if QNameSet.is_finite ts then
+            QName.to_string (QNameSet.choose ts)
+          else "*"
         end
     | Comment -> pp fmt "%s" "comment()"
     | ProcessingInstruction ->
         pp fmt "processing-instruction(%s)"
           begin
             if ts == star then ""
-            else "'" ^ (QName.to_string (QNameSet.choose ts)) ^ "'"
+            else "\"" ^ (QName.to_string  (QNameSet.choose ts)) ^ "\""
           end
     | Node -> pp fmt "%s" "node()"
     | Document -> pp fmt "%s" "<DOCUMENT>"
@@ -181,4 +182,3 @@ let invert_axis = function
 | Preceding -> Following
 | Following -> Preceding
 ;;
-