/usr/lib/ocaml/galax/schema_util.mli is in libgalax-ocaml-dev 1.1-12.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | (***********************************************************************)
(* *)
(* GALAX *)
(* XQuery Engine *)
(* *)
(* Copyright 2001-2007. *)
(* Distributed only by permission. *)
(* *)
(***********************************************************************)
(* $Id: schema_util.mli,v 1.28 2007/09/25 15:12:43 mff Exp $ *)
(* Module: Schema_util
Description:
This modules implements some useful basic operations on schemas.
*)
open Namespace_symbols
open Xquery_common_ast
open Xquery_type_core_ast
(* Empty content *)
val cxtype_empty : cxtype
val cxtype_none : cxtype
(*************)
(* Factoring *)
(*************)
val factor_with_units : cxtype -> cxtype list * Occurrence.occurs * Occurrence.occurs
val factor : cxtype -> cxtype * Occurrence.occurs * Occurrence.occurs
val defactor : cxtype * Occurrence.occurs * Occurrence.occurs -> cxtype
(* Recursive factoring in both horizontal and vertical dimensions *)
(* val recfactor : cxschema -> cxtype -> cxtype *)
(******************)
(* Some utilities *)
(******************)
val is_xs_anytype : rtype_symbol -> bool
val is_simple_cxtype : cxtype -> bool
val is_really_empty_cxtype : cxtype -> bool
val make_sequence_cxtypes : cxtype -> cxtype -> cxtype
val make_builtin_sequence_cxtypes : cxtype -> cxtype -> cxtype
val make_interleave_cxtypes : cxtype -> cxtype -> cxtype
val make_builtin_interleave_cxtypes : cxtype -> cxtype -> cxtype
val make_choice_cxtypes : cxtype -> cxtype -> cxtype
val make_builtin_choice_cxtypes : cxtype -> cxtype -> cxtype
val make_atomic_type : cxschema -> Namespace_symbols_util.SQNameHashtbl.key -> cxtype
val make_builtin_atomic_type : rtype_symbol -> cxtype
val make_optional_type : cxtype -> cxtype
val make_builtin_optional_type : cxtype -> cxtype
val make_zeroormore_type : cxtype -> cxtype
val make_builtin_zeroormore_type : cxtype -> cxtype
val make_oneormore_type : cxtype -> cxtype
val make_builtin_oneormore_type : cxtype -> cxtype
val make_builtin_opt_attribute_ref : Namespace_symbols.rattr_symbol -> Xquery_type_core_ast.cxtype
val mixed_content : cxtype
val text_content : cxtype
val separate_attributes_from_content : cxtype -> cxtype * cxtype
val is_built_in_atomic_type : cxschema -> rtype_symbol -> bool
val list_of_choice : cxtype -> cxtype list
val choice_of_list : cxtype list -> cxtype
(***********************)
(* Content model kinds *)
(***********************)
type simple_kind =
| AtomicKind of rtype_symbol
| UnionKind of rtype_symbol list
| ListKind of rtype_symbol list (* It can be a list in case this is a list over a union *)
type complex_kind = cxtype
type content_kind =
| ComplexKind of complex_kind
| SimpleKind of simple_kind
val extends_attribute_content : cattribute_content -> cattribute_content -> cattribute_content
val extends_element_content : cxtype -> cxtype -> cxtype
|