]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/mathql_interpreter_galax/pervasive.xq
This commit was manufactured by cvs2svn to create branch 'scripts'.
[helm.git] / helm / ocaml / mathql_interpreter_galax / pervasive.xq
diff --git a/helm/ocaml/mathql_interpreter_galax/pervasive.xq b/helm/ocaml/mathql_interpreter_galax/pervasive.xq
deleted file mode 100644 (file)
index 9105b9e..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-#######################
-# Standard namespaces #
-#######################
-
-namespace xsd = "http://www.w3c.org/xsd"
-namespace xs = "http://www.w3c.org/xs"
-namespace xml = "http://www.w3.org/xml"
-
-#############################
-# XML Schema wildcard types #
-#############################
-
-define type xs:AnyNumeric     { xsd:decimal | xsd:integer | xsd:int | xsd:double | xsd:float } 
-
-define type xs:AnyScalar      { xsd:boolean |
-                               xsd:string |
-                               type xs:AnyNumeric |
-                               xsd:UnknownSimpleType }
-
-define type xs:AnySimpleType   { type xs:AnyScalar* }
-define type xs:AnyAttribute    { attribute * { type xs:AnySimpleType } }
-define type xs:AnyElement      { element * { type xs:AnyContentModel } }
-define type xs:AnyContentModel { (type xs:AnyAttribute*, (type xs:AnySimpleType | (type xs:AnyElement |
-text)*)) }
-define type xs:AnyDocument    { document { type xs:AnyElement } }
-
-#########################
-# XQuery Wildcard types #
-#########################
-define type xs:AnyNode        { type xs:AnyElement | type xs:AnyAttribute | text }
-
-define type xs:AnyItem        { type xs:AnyNode | type xs:AnyScalar }
-define type xs:AnyType        { type xs:AnyItem* }
-
-
-######################
-# Standard functions #
-######################
-
-# data-model accessors. 
-# F&O doc. Section 2
-
-define function signature  local-name(type xs:AnyNode)       returns (xsd:string)
-define function signature  name(type xs:AnyNode)             returns (xsd:string?)
-define function signature  children(type xs:AnyNode)         returns (type xs:AnyNode*)
-define function signature  attributes(type xs:AnyElement)    returns (type xs:AnyAttribute*)
-define function signature  parent(type xs:AnyNode)           returns (type xs:AnyElement?)
-define function signature  data(type xs:AnyNode)             returns (type xs:AnySimpleType)
-
-# F&O doc. Section 3.2
-define function signature  decimal(xsd:string)              returns (xsd:int)
-define function signature  integer(xsd:string)               returns (xsd:int)
-define function signature  long(xsd:string)                 returns (xsd:int)
-define function signature  int(xsd:string)                  returns (xsd:int)
-define function signature  short(xsd:string)                returns (xsd:int)
-define function signature  byte(xsd:string)                 returns (xsd:int)
-define function signature  float(xsd:string)                returns (xsd:double)
-define function signature  double(xsd:string)               returns (xsd:double)
-
-# polymorphic arithmetic operations #
-# F&O doc, Section 3.3
-
-define function signature  numeric-add(numeric, numeric)      returns (numeric)
-define function signature  numeric-subtract(numeric, numeric) returns (numeric)
-define function signature  numeric-multiply(numeric, numeric) returns (numeric)
-define function signature  numeric-divide(numeric, numeric)   returns (numeric)
-define function signature  numeric-mod(numeric, numeric)      returns (numeric)
-
-define function signature  numeric-unary-plus(numeric)        returns (numeric)
-define function signature  numeric-unary-minus(numeric)       returns (numeric)
-
-# Galax's monomorphic arithmetic operations #
-
-# Caml's int
-define function signature  int-add(xsd:int, xsd:int)      returns (xsd:int)
-define function signature  int-subtract(xsd:int, xsd:int) returns (xsd:int)
-define function signature  int-multiply(xsd:int, xsd:int) returns (xsd:int)
-define function signature  int-divide(xsd:int, xsd:int)   returns (xsd:int)
-define function signature  int-mod(xsd:int, xsd:int)      returns (xsd:int)
-
-define function signature  int-unary-plus(xsd:int)    returns (xsd:int)
-define function signature  int-unary-minus(xsd:int)   returns (xsd:int)
-
-# xsd:decimal
-define function signature  decimal-add(xsd:decimal, xsd:decimal)      returns (xsd:decimal)
-define function signature  decimal-subtract(xsd:decimal, xsd:decimal) returns (xsd:decimal)
-define function signature  decimal-multiply(xsd:decimal, xsd:decimal) returns (xsd:decimal)
-define function signature  decimal-divide(xsd:decimal, xsd:decimal)   returns (xsd:decimal)
-define function signature  decimal-mod(xsd:decimal, xsd:decimal)      returns (xsd:decimal)
-
-define function signature  decimal-unary-plus(xsd:decimal)    returns (xsd:decimal)
-define function signature  decimal-unary-minus(xsd:decimal)   returns (xsd:decimal)
-
-# xsd:float
-define function signature  float-add(xsd:float, xsd:float)      returns (xsd:float)
-define function signature  float-subtract(xsd:float, xsd:float) returns (xsd:float)
-define function signature  float-multiply(xsd:float, xsd:float) returns (xsd:float)
-define function signature  float-divide(xsd:float, xsd:float)   returns (xsd:float)
-define function signature  float-mod(xsd:float, xsd:float)      returns (xsd:float)
-
-define function signature  float-unary-plus(xsd:float)    returns (xsd:float)
-define function signature  float-unary-minus(xsd:float)   returns (xsd:float)
-
-# xsd:double
-define function signature  double-add(xsd:double, xsd:double)      returns (xsd:double)
-define function signature  double-subtract(xsd:double, xsd:double) returns (xsd:double)
-define function signature  double-multiply(xsd:double, xsd:double) returns (xsd:double)
-define function signature  double-divide(xsd:double, xsd:double)   returns (xsd:double)
-define function signature  double-mod(xsd:double, xsd:double)      returns (xsd:double)
-
-define function signature  double-unary-plus(xsd:double)    returns (xsd:double)
-define function signature  double-unary-minus(xsd:double)   returns (xsd:double)
-
-# comparators #
-# F&O doc, Section 3.4
-define function signature  nodeeq(type xs:AnyNode, type xs:AnyNode)     returns (xsd:boolean)
-define function signature  equal(type xs:AnyScalar, type xs:AnyScalar)  returns (xsd:boolean)
-define function signature  nequal(type xs:AnyScalar, type xs:AnyScalar) returns (xsd:boolean)
-define function signature  ge(type xs:AnyScalar, type xs:AnyScalar)     returns (xsd:boolean)
-define function signature  le(type xs:AnyScalar, type xs:AnyScalar)     returns (xsd:boolean)
-define function signature  gt(type xs:AnyScalar, type xs:AnyScalar)     returns (xsd:boolean)
-define function signature  lt(type xs:AnyScalar, type xs:AnyScalar)     returns (xsd:boolean)
-
-# F&O doc. Section 3.5
-define function signature  floor(xsd:double)                  returns (xsd:int)
-define function signature  ceiling(xsd:double)                 returns (xsd:int)
-define function signature  round(xsd:double)                  returns (xsd:int)
-
-# functions on strings
-# F&O doc. Section 4.4 
-define function signature  concat(xsd:string, xsd:string)                      returns (xsd:string)
-define function signature  starts-with(xsd:string, xsd:string)                 returns (xsd:boolean)
-define function signature  ends-with(xsd:string, xsd:string)                   returns (xsd:boolean)
-define function signature  contains(xsd:string, xsd:string)                    returns (xsd:boolean)
-define function signature  substring(xsd:string, xsd:int, xsd:int)             returns (xsd:string)
-define function signature  string-length(xsd:string)                           returns (xsd:int)
-define function signature  substring-before(xsd:string, xsd:string)            returns (xsd:string)
-define function signature  substring-after(xsd:string, xsd:string)             returns (xsd:string)
-define function signature  normalize-space(xsd:string)                         returns (xsd:string)
-define function signature  normalize-unicode(xsd:string)                       returns (xsd:string)
-define function signature  upper-case(xsd:string)                              returns (xsd:string)
-define function signature  lower-case(xsd:string)                              returns (xsd:string)
-define function signature  translate(xsd:string, xsd:string, xsd:string)       returns (xsd:string)
-define function signature  string-pad(xsd:string, xsd:int, xsd:string)         returns (xsd:string)
-define function signature  match(xsd:string, xsd:string)                       returns (xsd:int*)
-define function signature  replace(xsd:string, xsd:string, xsd:string)         returns (xsd:string)
-
-define function signature  codepoint-contains(xsd:string, xsd:string)          returns (xsd:boolean)
-define function signature  codepoint-substring-before(xsd:string, xsd:string)  returns (xsd:string)
-define function signature  codepoint-substring-after(xsd:string, xsd:string)   returns (xsd:string)
-
-# boolean operations #
-# F&O doc, Section 6.1
-define function signature  true()                            returns (xsd:boolean)
-define function signature  false()                           returns (xsd:boolean)
-
-# F&O doc, Section 6.2
-define function signature  or(xsd:boolean, xsd:boolean)              returns (xsd:boolean)
-define function signature  and(xsd:boolean, xsd:boolean)      returns (xsd:boolean)
-define function signature  not(xsd:boolean)                  returns (xsd:boolean)
-
-# functions on sequences #
-# F&O doc, Section 13.2
-define function signature  index-of(type xs:AnyNode*,  type xs:AnyNode)  returns (xsd:int)
-define function signature  length(type xs:AnyType)          returns (xsd:int)
-define function signature  empty(type xs:AnyType)            returns (xsd:boolean)
-define function signature  distinct-values(type xs:AnyType)  returns (type xs:AnyType)
-
-# aggregate functions #
-# F&O doc, Section 13.4
-define function signature  avg-int(xsd:int*)                 returns (xsd:int)
-define function signature  max-int(xsd:int*)                 returns (xsd:int?)
-define function signature  min-int(xsd:int*)                 returns (xsd:int?)
-define function signature  sum-int(xsd:int*)                 returns (xsd:int)
-
-define function signature  avg-float(xsd:double*)            returns (xsd:double)
-define function signature  max-float(xsd:double*)            returns (xsd:double?)
-define function signature  min-float(xsd:double*)            returns (xsd:double?)
-define function signature  sum-float(xsd:double*)            returns (xsd:double)
-
-define function signature  count(type xs:AnyType)            returns (xsd:int)
-
-# input-output operations #
-
-# The signature below is a hack : The output of document is declared
-# as the empty choice to avoid the need for explicit cast by the user
-# when loading the document - JS #
-
-# F&O doc, Section 13.5 
-define function signature  document(xsd:string)                       returns (type xs:AnyDocument)
-define function signature  document-validate(xsd:string, xsd:string)  returns (type xs:AnyDocument)
-