[cl-xml-cvs] r10 - branches/sbcl-0.9.x-testing/code/base

banderson at common-lisp.net banderson at common-lisp.net
Tue Feb 14 17:54:45 UTC 2006


Author: banderson
Date: Tue Feb 14 11:54:45 2006
New Revision: 10

Modified:
   branches/sbcl-0.9.x-testing/code/base/package.lisp
Log:
some re-arranging from old releases

Modified: branches/sbcl-0.9.x-testing/code/base/package.lisp
==============================================================================
--- branches/sbcl-0.9.x-testing/code/base/package.lisp	(original)
+++ branches/sbcl-0.9.x-testing/code/base/package.lisp	Tue Feb 14 11:54:45 2006
@@ -1 +1,1070 @@
-;;; -*- Mode: lisp; Syntax: ansi-common-lisp; Base: 10; Package: cl-user; -*-

#|
<DOCUMENTATION>
 nb. see XQueryDataModel:XQDM-classes for exports for class predicate and constructors
 <COPYRIGHT YEAR='2001' AUTHOR='james adam anderson' MARK='(C)'
            href='file://xml/sysdcl.lisp' /> <CHRONOLOGY>
  <DELTA DATE='20010507'>incorporated character class exports</DELTA>
  <DELTA DATE='20010617'>moved parsetable to XML-UTILS</DELTA>
  <DELTA DATE='20010621'>exported xml serialization iterface</DELTA>
  <DELTA DATE='20010622'>parameters for reader adjustments for null symbol names</DELTA>
  <DELTA DATE='20010624'>node graph interface</DELTA>
  <DELTA DATE='20010702'><code>DATA-URL</code>; differentiated qname contexts</DELTA>
  <DELTA DATE='20010714'>factored namespaces out</DELTA>
  <DELTA DATE='20010718'>xmlparser package renamed to XMLP</DELTA>
  <DELTA DATE='20010808'>added '$' package for XQL variables</DELTA>
  <DELTA DATE='20010816'>additions for schema types</DELTA>
  <DELTA DATE='20010902'>www-utils and tk1 package for cl-http tokenizer</DELTA>
  <DELTA DATE='20030320'>added 0.950 package nicknmes inorder to use its condition implementation</DELTA>
  </CHRONOLOGY>
 </DOCUMENTATION>
|#

(in-package "CL-USER")

(defPackage "BNF-PARSER"
  (:nicknames "BNFP")
  (:use :common-lisp #+:ccl :ccl #+lispworks :harlequin-common-lisp :de.setf.utility.conditions )
  (:shadow "SYMBOL")
  #+Allegro (:import-from "EXCL" "WITHOUT-INTERRUPTS")
  #+(and Allegro (version>= 6 0)) (:import-from "MOP" "CLASS-PRECEDENCE-LIST")
  #+(and Allegro (version< 6 0)) (:import-from "CLOS" "CLASS-PRECEDENCE-LIST")
  #+Genera (:import-from "CLOS-INTERNALS" "CLASS-PRECEDENCE-LIST" "FUNCALLABLE-STANDARD-CLASS" "VALIDATE-SUPERCLASS")
  #+Genera(:import-from "SCL" "WITHOUT-INTERRUPTS")
  #+Genera(:shadowing-import-from "SI" "STREAM")
  #+lispworks (:import-from :lispworks :without-interrupts)
  #+CMU (:import-from "SYSTEM" "WITHOUT-INTERRUPTS")
  #+PCL (:shadowing-import-from "PCL" "CLASS-PRECEDENCE-LIST"
				"FUNCALLABLE-STANDARD-CLASS"
				"VALIDATE-SUPERCLASS"
				"STANDARD-CLASS" "BUILT-IN-CLASS"
				"FIND-CLASS" "CLASS-NAME" "CLASS-OF")
  #+SBCL (:import-from "SB-SYS" "WITHOUT-INTERRUPTS")
  #+sbcl (:shadowing-import-from "SB-PCL" "CLASS-PRECEDENCE-LIST"
                                 "FUNCALLABLE-STANDARD-CLASS"
                                 "VALIDATE-SUPERCLASS"
                                 "STANDARD-CLASS" "BUILT-IN-CLASS"
                                 "FIND-CLASS" "CLASS-NAME" "CLASS-OF")
  (:export
   "*ATN-CLASS"
   "*ATN-LEVEL"
   "*ATN-NET"
   "*ATN-NODE"
   "*ATN-PROPERTIES"
   "*ATN-REGISTER-WORDS"
   "*ATN-SAVE-DEFINITIONS*"
   "*ATN-STACK"
   "*ATN-STRUCTURE*"
   "*ATN-TERM*"
   "*ATN-TERM?*"
   "*ATN-TOKEN-PACKAGE*"
   "*ATN-TRACE*"
   "*ATN-TRACE-NETS*"
   "*ATN-WFST"
   "*CLASS.ATN*"
   "*CLASS.ATN-ALTERNATIVE-CATEGORY*"
   "*CLASS.ATN-BUILTIN-PREDICATE-CATEGORY*"
   "*CLASS.ATN-CELL-CATEGORY*"
   "*CLASS.ATN-COMPLEMENT-CATEGORY*"
   "*CLASS.ATN-CONJUNCTION*"
   "*CLASS.ATN-DERIVED-CATEGORY*"
   "*CLASS.ATN-LEXEM*"
   "*CLASS.ATN-LEXICON*"
   "*CLASS.ATN-NEGATED-ALTERNATIVES*"
   "*CLASS.ATN-NODE*"
   "*CLASS.ATN-PRIMITIVE-CATEGORY*"
   "*CLASS.ATN-UNDECLARED-CATEGORY*"
   "*CLASS.CAT-ATN-EDGE*"
   "*CLASS.CELL-ATN-EDGE*"
   "*CLASS.JUMP-ATN-EDGE*"
   "*CLASS.OR-ATN-EDGE*"
   "*CLASS.POP-ATN-EDGE*"
   "*CLASS.PUSH-ATN-EDGE*"
   "*CLASS.TEST-ATN-EDGE*"
   "*CLASS.WORD-ATN-EDGE*"
   "*SOURCE-RECORDING*"
   :*terminal-parser-error-action*
   "ATN"
   "ATN-ALTERNATIVE-CATEGORY"
   "ATN-BINDINGS"
   "ATN-BUILTIN-PREDICATE-CATEGORY"
   "ATN-CELL-CATEGORY"
   "ATN-COMPLEMENT-CATEGORY"
   "ATN-CONJUNCTION"
   "ATN-CONSTRUCTOR-SPECIALIZER"
   "ATN-CONTINUE-ACTIONS"
   "ATN-DERIVED-CATEGORY"
   "ATN-FAIL-ACTIONS"
   "ATN-FINALLY"
   "ATN-INITIAL-ACTIONS"
   "ATN-INPUT"
   "ATN-LEXEM"
   "ATN-LEXICON"
   "ATN-NAME"
   "ATN-NEGATED-ALTERNATIVES"
   "ATN-NODE"
   "ATN-PRIMITIVE-CATEGORY"
   "ATN-PROCEDURE-CALL"
   "ATN-RECURSION"
   "ATN-REDUCE-ITEM"
   "ATN-REDUCE-STRUCTURE"
   "ATN-SEQUENCE-INPUT"
   "ATN-STACK"
   "ATN-SUCCEED-ACTIONS"
   "ATN-TERM-CARDINALITY"
   "ATN-TERM-NAMES"
   "ATN-UNDECLARED-CATEGORY"
   "BNF-TO-REGEX-ATN"
   "CALL-WITH-PARSED-ALIST"
   "CALL-WITH-PARSED-TERMS"
   "CAT-ATN-EDGE"
   "CELL-ATN-EDGE"
   "COMPILE-ATN-SYSTEM"
   "CONSTRUCTOR-SPECIALIZERS"
   "CONTINUABLE-PARSER-ERROR"
   "FIND-PARSED-TERM"
   "INFERENCE-SYSTEM"
   "INFERENCE-UNIT"
   "INPUT.IS-AT-END"
   "INPUT.ITEM"
   "INPUT.LAST-ITEM"
   "INPUT.LENGTH"
   "INPUT.PEEK-ITEM"
   "INPUT.REPLACE-ITEM"
   "IS-ATN-TRACE"
   "IS-REDUCTION-ENABLED"
   "JUMP-ATN-EDGE"
   "MAKE-LISP-FORM"
   "MAKE-LISP-SUBFORM"
   "MAKE-LISP-TEST-FORM"
   "MATCH-REGEX"
   "NTH-PARSE-RESULT"
   "OR-ATN-EDGE"
   "PARSER-EOF-ERROR"
   "PARSER-ERROR"
   "PARSE-RESULT"
   "POP-ATN-EDGE"
   "PPRINT-ATN"
   "PUSH-ATN-EDGE"
   "REGULAR-EXPRESSION-TO-REGEX-ATN"
   "RULE"
   "RULE-DOCUMENTATION"
   "RULE-NAME"
   "RULE-SOURCES"
   "SORT-PARSE-RESULTS"
   "SYSTEM"
   "SYSTEM-DOCUMENTATION"
   "SYSTEM-NAME"
   "SYSTEM-PLIST"
   "TERMINAL-PARSER-ERROR"
   "TEST-ATN-EDGE"
   "WITH-PARSED-ALIST"
   "WITH-PARSED-PLIST"
   "WITH-PARSED-TERM"
   "WORD-ATN-EDGE"

   ;; for parse states
   :condition-parse-state
   :condition-action
   :parse-state
   :parse-state-condition
   :parse-state-source
   :parse-state-term
   :parse-state-non-terminal
   :parse-state-stack
   :parse-state-active-p
   :print-parse-state
   :make-parse-state
   ))

(defPackage "XML-UTILS"
  (:nicknames "XUTILS" :de.setf.xml.base.implementation
              :de.setf.xml.conditions)
  (:use :common-lisp #+ccl :ccl
        :de.setf.utility.conditions)
  #+CCL (:import-from "CCL" "STREAM-POSITION")
  #+CL-HTTP (:import-from "URL" "URI" "URL" "PARSE-URL" "INTERN-URL"
                          "HTTP-URL" "FILE-URL" "NAME-STRING"
                          "PATH" "HOST" "HOST-STRING" "PORT" "OBJECT" "EXTENSION"
                          "TRANSLATED-PATHNAME"
                          ;; for the file-url function
                          "DIRECTORY-NAME-STRING" "WITH-VALUE-CACHED"
                          "WRITE-SCHEME-PREFIX" "WRITE-HOST-PORT-STRING" "WRITE-PATH")
  #+CL-HTTP (:import-from "HTTP" "MERGE-URL")
  #+ALLEGRO (:import-from "EXCL" "WITHOUT-INTERRUPTS")
  #+lispworks (:import-from :lispworks :without-interrupts)
  #+CMU (:import-from "SYSTEM" "WITHOUT-INTERRUPTS")
  #+PCL (:shadowing-import-from "PCL" "CLASS-PRECEDENCE-LIST"
				"FUNCALLABLE-STANDARD-CLASS"
				"VALIDATE-SUPERCLASS" "STANDARD-CLASS"
				"BUILT-IN-CLASS" "FIND-CLASS"
				"CLASS-NAME" "CLASS-OF")
  #+SBCL (:import-from "SB-SYS" "WITHOUT-INTERRUPTS")
  #+sbcl (:shadowing-import-from "SB-PCL" "CLASS-PRECEDENCE-LIST"
				 "FUNCALLABLE-STANDARD-CLASS"
				 "VALIDATE-SUPERCLASS" "STANDARD-CLASS"
				 "BUILT-IN-CLASS" "FIND-CLASS"
				 "CLASS-NAME" "CLASS-OF")
  #+digitool
  (:import-from :ccl
                :stream-reader
                :stream-writer
                :stream-column)
  (:import-from :de.setf.utility.test
                :deftest
                :deftests
                :execute-tests)
  (:EXPORT
   :deftest
   :deftests
   :execute-tests
   "*ENCODING-MAP*"
   "*PARSETABLE*"
   "*TOKEN-PACKAGE*"
   "*XML-BASE*"
   "*XML-VERBOSE*"
   "<-CHAR-CODE-LIMIT"
   "CANONICAL-ENCODING"
   "CHECKED-CODE-CHAR"
   "CLEAR-PARSETABLE"
   "CLEAR-PARSETABLES"
   "COMPUTE-PARSER-MACROS"
   "COMPUTE-TOKEN-READER"
   "COPY-PARSETABLE"
   "DATA-URL"
   "DEFALTERNATIVECONSTRUCTOR"
   "DEFCONSTANTCONSTRUCTOR"
   "DEFCONSTRUCTOR"
   "DEFCONSTRUCTORMETHOD"
   "DEFIDENTITYCONSTRUCTOR"
   "DEFLITERALCONSTRUCTOR"
   "DEFNULLCONSTRUCTOR"
   "DEFPARSETABLE"
   "DEFTOKEN"
   "DEFTOKENCONSTRUCTOR"
   "DEFTOKENCONSTRUCTORS"
   "DEFTOKENS"
   "EXPORT-NAME"
   "FILE-URL"
   "FILE-URL-PATHNAME"
   "HTTP-URL"
   "MAKE-DATA-URL"
   "MAKE-URI"
   "MERGE-URIS"
   "NOTE-newline-200101314"
   :object
   "PARSER-MACRO"
   "PARSETABLE"
   "PATHNAME-FILE-URL"
   "REC-xml-19980210.End-of-Line Handling"
   "REC-xml-19980210.PEs in Internal Subset"
   "REC-xml-19980210.Validate Attribute Defaults"
   "REC-xml-names-19990114"
   "REC-xml-names-19990114.NSC: Prefix Immutable"
   "REC-xml-names-19990114.VC: Attribute Declared"
   "RESOLVE-ENTITY-IDENTIFIERS"
   "SPLIT-SEQ"
   "SPLIT-STRING"
   "STREAM-POSITION"
   "STREAM-STATE"
   "TABLE.MACROS"
   "TABLE.NAME"
   "TABLE.PROPERTIES"
   "URI"
   "URI-NAMESTRING"
   "URL"
   "URL-DATA"
   "URN"
   "VECTOR-INPUT-STREAM"
   "WITH-DATA-STREAM"
   "WITH-FILE-STREAM"
   "WITH-HTTP-STREAM"
   "WITH-PARSETABLE"
   "WITHOUT-INTERRUPTS"
   "STREAM-COLUMN"
   "STREAM-READER"
   "STREAM-WRITER"
   :check-constraint
   :coerce-to-generic-function
   :condition-continue-format-arguments
   :condition-continue-format-control
   :continuable-error
   :continue-format-arguments
   :continue-format-control
   :defexception
   :initialize-condition
   :internal-xml-error
   :make-initialized-condition
   :report-condition
   :report-condition
   :simple-continuable-condition
   :xml-condition
   :xml-error
   :xml-warn
   :xml-warning
   :|VC: ID|
   :|VC: Name Token|
   :|VC: Entity Name|
   :|VC: Notation Attributes|
   :|VC: Enumeration|
   :|VC: Element Content|
   :|VC: No Duplicate Tokens|
   :|VC: No Duplicate Types|
   :|NSC: Prefix Immutable|
   :|WFC: Legal Character|
   ))


(defPackage "XML-QUERY-DATA-MODEL" 
  (:nicknames "XQDM"
              :DE.SETF.XML.NAMES.IMPLEMENTATION
              :DE.SETF.XML.NODE.IMPLEMENTATION
              :DE.SETF.XML.MODEL
              :DE.SETF.XML.MODEL.IMPLEMENTATION)
  (:shadowing-import-from "BNFP" "PARSE-ERROR")
  #+LISPWORKS
  (:import-from "HCL" "VALIDATE-SUPERCLASS")
  (:use "BNFP" #+CCL "CCL" "COMMON-LISP" "XUTILS")
  #+CCL (:shadow "TARGET")
  #+PCL (:shadowing-import-from "PCL" "CLASS-PRECEDENCE-LIST"
			       "FUNCALLABLE-STANDARD-CLASS"
			       "VALIDATE-SUPERCLASS" "STANDARD-CLASS"
			       "BUILT-IN-CLASS" "FIND-CLASS"
			       "CLASS-NAME" "CLASS-OF"
			       "STRUCTURE-CLASS") 
  #+sbcl (:shadowing-import-from "SB-PCL" "CLASS-PRECEDENCE-LIST"
				"FUNCALLABLE-STANDARD-CLASS"
				"VALIDATE-SUPERCLASS" "STANDARD-CLASS"
				"BUILT-IN-CLASS" "FIND-CLASS"
				"CLASS-NAME" "CLASS-OF")
  (:export
   ;; the defTypePredicate macro exports for classes and predicate names
   ;; the defException macro exports exception class names
   
   "ABSTRACT-CLASS"
   "ABSTRACT-NODE"
   "NAMED-NODE"
   "UNAMED-NODE"
   "NCNAMED-NODE"
   "TYPED-NODE"
   "DOCUMENT-SCOPED-NODE"
   "ORDINAL-NODE"
   "ENTITY-DELEGATE"
   "DOC-NODE-INTERFACE"
   "ELEM-NODE-INTERFACE"
   "ELEM-PROPERTY-NODE-INTERFACE"
   
   ;; model classes: all classes export the symbol and a predicate
   ;; concrete classes have an instantiation function and parameter
   ;; see defTypePredicate for generation
   "ABSTRACT-ATTR-NODE" "IS-ABSTRACT-ATTR-NODE"
   "ABSTRACT-DEF-NODE" "IS-ABSTRACT-DEF-NODE"
   "ABSTRACT-DEF-TYPE" "IS-ABSTRACT-DEF-TYPE"
   "ABSTRACT-ELEM-NODE" "IS-ABSTRACT-ELEM-NODE"
   "ABSTRACT-ELEM-PROPERTY-NODE" "IS-ABSTRACT-ELEM-PROPERTY-NODE"
   "ABSTRACT-NS-NODE" "IS-ABSTRACT-NS-NODE"
   "ABSTRACT-TOP-LEVEL-DEF-NODE" "IS-ABSTRACT-TOP-LEVEL-DEF-NODE"
   "ATTR-CHILD-NODE" "IS-ATTR-CHILD-NODE" "*CLASS.ATTR-CHILD-NODE*" "MAKE-ATTR-CHILD-NODE"
   "ATTR-NODE" "IS-ATTR-NODE" "*CLASS.ATTR-NODE*" "MAKE-ATTR-NODE"
   "BINARY-VALUE" "IS-BINARY-VALUE" "*CLASS.BINARY-VALUE*" "MAKE-BINARY-VALUE"
   "BOOL-VALUE" "IS-BOOL-VALUE" "*CLASS.BOOL-VALUE*" "MAKE-BOOL-VALUE"
   "CHARACTER-DATA-NODE" "IS-CHARACTER-DATA-NODE" "*CLASS.CHARACTER-DATA-NODE*" "MAKE-CHARACTER-DATA-NODE"
   "COMMENT-NODE" "IS-COMMENT-NODE" "*CLASS.COMMENT-NODE*" "MAKE-COMMENT-NODE"
   "CONDITIONAL-SECTION" "IS-CONDITIONAL-SECTION" "*CLASS.CONDITIONAL-SECTION*" "MAKE-CONDITIONAL-SECTION"
   "DECIMAL-ATTR-NODE" "IS-DECIMAL-ATTR-NODE" "*CLASS.DECIMAL-ATTR-NODE*" "MAKE-DECIMAL-ATTR-NODE"
   "DECIMAL-VALUE" "IS-DECIMAL-VALUE" "*CLASS.DECIMAL-VALUE*" "MAKE-DECIMAL-VALUE"
   "DEF-ATTR" "IS-DEF-ATTR" "*CLASS.DEF-ATTR*" "MAKE-DEF-ATTR"
   "DEF-ELEM-PROPERTY-TYPE" "IS-DEF-ELEM-PROPERTY-TYPE" "*CLASS.DEF-ELEM-PROPERTY-TYPE*" "MAKE-DEF-ELEM-PROPERTY-TYPE"
   "DEF-ELEM-TYPE" "IS-DEF-ELEM-TYPE" "*CLASS.DEF-ELEM-TYPE*" "MAKE-DEF-ELEM-TYPE"
   "DEF-ENTITY" "IS-DEF-ENTITY" "*CLASS.DEF-ENTITY*" "MAKE-DEF-ENTITY"
   "DEF-EXTERNAL-ENTITY" "IS-DEF-EXTERNAL-ENTITY" "*CLASS.DEF-EXTERNAL-ENTITY*" "MAKE-DEF-EXTERNAL-ENTITY"
   "DEF-EXTERNAL-GENERAL-ENTITY" "IS-DEF-EXTERNAL-GENERAL-ENTITY" "*CLASS.DEF-EXTERNAL-GENERAL-ENTITY*" "MAKE-DEF-EXTERNAL-GENERAL-ENTITY"
   "DEF-EXTERNAL-PARAMETER-ENTITY" "IS-DEF-EXTERNAL-PARAMETER-ENTITY" "*CLASS.DEF-EXTERNAL-PARAMETER-ENTITY*" "MAKE-DEF-EXTERNAL-PARAMETER-ENTITY"
   "DEF-GENERAL-ENTITY" "IS-DEF-GENERAL-ENTITY" "*CLASS.DEF-GENERAL-ENTITY*" "MAKE-DEF-GENERAL-ENTITY"
   "DEF-INTERNAL-ENTITY" "IS-DEF-INTERNAL-ENTITY" "*CLASS.DEF-INTERNAL-ENTITY*" "MAKE-DEF-INTERNAL-ENTITY"
   "DEF-INTERNAL-GENERAL-ENTITY" "IS-DEF-INTERNAL-GENERAL-ENTITY" "*CLASS.DEF-INTERNAL-GENERAL-ENTITY*" "MAKE-DEF-INTERNAL-GENERAL-ENTITY"
   "DEF-INTERNAL-PARAMETER-ENTITY" "IS-DEF-INTERNAL-PARAMETER-ENTITY" "*CLASS.DEF-INTERNAL-PARAMETER-ENTITY*" "MAKE-DEF-INTERNAL-PARAMETER-ENTITY"
   "DEF-NOTATION" "IS-DEF-NOTATION" "*CLASS.DEF-NOTATION*" "MAKE-DEF-NOTATION"
   "DEF-PARAMETER-ENTITY" "IS-DEF-PARAMETER-ENTITY" "*CLASS.DEF-PARAMETER-ENTITY*" "MAKE-DEF-PARAMETER-ENTITY"
   "DEFNAMESPACE"
   "DOC-CHILD-NODE" "IS-DOC-CHILD-NODE" "*CLASS.DOC-CHILD-NODE*" "MAKE-DOC-CHILD-NODE"
   "DOC-NODE" "IS-DOC-NODE" "*CLASS.DOC-NODE*" "MAKE-DOC-NODE"
   "DOCTYPE-CHILD-NODE" "IS-DOCTYPE-CHILD-NODE" "*CLASS.DOCTYPE-CHILD-NODE*" "MAKE-DOCTYPE-CHILD-NODE"
   "DOCUMENT-TYPE-DECLARATION-INFORMATION-NODE" "IS-DOCUMENT-TYPE-DECLARATION-INFORMATION-NODE" "*CLASS.DOCUMENT-TYPE-DECLARATION-INFORMATION-NODE*" "MAKE-DOCUMENT-TYPE-DECLARATION-INFORMATION-NODE"
   "DOUBLE-ATTR-NODE" "IS-DOUBLE-ATTR-NODE" "*CLASS.DOUBLE-ATTR-NODE*" "MAKE-DOUBLE-ATTR-NODE"
   "DOUBLE-VALUE" "IS-DOUBLE-VALUE" "*CLASS.DOUBLE-VALUE*" "MAKE-DOUBLE-VALUE"
   "ELEM-CHILD-NODE" "IS-ELEM-CHILD-NODE" "*CLASS.ELEM-CHILD-NODE*" "MAKE-ELEM-CHILD-NODE"
   "ELEM-NODE" "IS-ELEM-NODE" "*CLASS.ELEM-NODE*" "MAKE-ELEM-NODE"
   "ELEM-PROPERTY-NODE" "IS-ELEM-PROPERTY-NODE" "*CLASS.ELEM-PROPERTY-NODE*" "MAKE-ELEM-PROPERTY-NODE"
   "ENTITIES-ATTR-NODE" "IS-ENTITIES-ATTR-NODE" "*CLASS.ENTITIES-ATTR-NODE*" "MAKE-ENTITIES-ATTR-NODE"
   "ENTITY-ATTR-NODE" "IS-ENTITY-ATTR-NODE" "*CLASS.ENTITY-ATTR-NODE*" "MAKE-ENTITY-ATTR-NODE"
   "ENTITY-INFORMATION-NODE" "IS-ENTITY-INFORMATION-NODE" "*CLASS.ENTITY-INFORMATION-NODE*" "MAKE-ENTITY-INFORMATION-NODE"
   "ENTITY-VALUE" "IS-ENTITY-VALUE" "*CLASS.ENTITY-VALUE*" "MAKE-ENTITY-VALUE"
   "ENUMERATION-ATTR-NODE" "IS-ENUMERATION-ATTR-NODE" "*CLASS.ENUMERATION-ATTR-NODE*" "MAKE-ENUMERATION-ATTR-NODE"
   "EXT-SUBSET-NODE" "IS-EXT-SUBSET-NODE" "*CLASS.EXT-SUBSET-NODE*" "MAKE-EXT-SUBSET-NODE"
   "EXTERNAL-PARSED-ENTITY" "IS-EXTERNAL-PARSED-ENTITY" "*CLASS.EXTERNAL-PARSED-ENTITY*" "MAKE-EXTERNAL-PARSED-ENTITY"
   "FLOAT-VALUE" "IS-FLOAT-VALUE" "*CLASS.FLOAT-VALUE*" "MAKE-FLOAT-VALUE"
   "FUNCTION-VALUE" "IS-FUNCTION-VALUE" "*CLASS.FUNCTION-VALUE*" "MAKE-FUNCTION-VALUE"
   "ID-ATTR-NODE" "IS-ID-ATTR-NODE" "*CLASS.ID-ATTR-NODE*" "MAKE-ID-ATTR-NODE"
   "ID-REF-ATTR-NODE" "IS-ID-REF-ATTR-NODE" "*CLASS.ID-REF-ATTR-NODE*" "MAKE-ID-REF-ATTR-NODE"
   "ID-REF-VALUE" "IS-ID-REF-VALUE" "*CLASS.ID-REF-VALUE*" "MAKE-ID-REF-VALUE"
   "ID-REFS-ATTR-NODE" "IS-ID-REFS-ATTR-NODE" "*CLASS.ID-REFS-ATTR-NODE*" "MAKE-ID-REFS-ATTR-NODE"
   "ID-VALUE" "IS-ID-VALUE" "*CLASS.ID-VALUE*" "MAKE-ID-VALUE"
   "INFO-ITEM-NODE" "IS-INFO-ITEM-NODE" "*CLASS.INFO-ITEM-NODE*" "MAKE-INFO-ITEM-NODE"
   "NMTOKEN-ATTR-NODE" "IS-NMTOKEN-ATTR-NODE" "*CLASS.NMTOKEN-ATTR-NODE*" "MAKE-NMTOKEN-ATTR-NODE"
   "NMTOKENS-ATTR-NODE" "IS-NMTOKENS-ATTR-NODE" "*CLASS.NMTOKENS-ATTR-NODE*" "MAKE-NMTOKENS-ATTR-NODE"
   "NOTATION-ATTR-NODE" "IS-NOTATION-ATTR-NODE" "*CLASS.NOTATION-ATTR-NODE*" "MAKE-NOTATION-ATTR-NODE"
   "NOTATION-VALUE" "IS-NOTATION-VALUE" "*CLASS.NOTATION-VALUE*" "MAKE-NOTATION-VALUE"
   "NS-NODE" "IS-NS-NODE" "*CLASS.NS-NODE*" "MAKE-NS-NODE"
   "NUMBER-VALUE" "IS-NUMBER-VALUE" "*CLASS.NUMBER-VALUE*" "MAKE-NUMBER-VALUE"
   "ORDINAL-NODE" "IS-ORDINAL-NODE" "*CLASS.ORDINAL-NODE*" "MAKE-ORDINAL-NODE"
   "PI-NODE" "IS-PI-NODE" "*CLASS.PI-NODE*" "MAKE-PI-NODE"
   "QNAME-ATTR-NODE" "IS-QNAME-ATTR-NODE" "*CLASS.QNAME-ATTR-NODE*" "MAKE-QNAME-ATTR-NODE"
   "QNAME-CONTEXT" "IS-QNAME-CONTEXT" "*CLASS.QNAME-CONTEXT*" "MAKE-QNAME-CONTEXT"
   "QNAME-VALUE" "IS-QNAME-VALUE" "*CLASS.QNAME-VALUE*" "MAKE-QNAME-VALUE"
   "RECUR-DUR-ATTR-NODE" "IS-RECUR-DUR-ATTR-NODE" "*CLASS.RECUR-DUR-ATTR-NODE*" "MAKE-RECUR-DUR-ATTR-NODE"
   "RECUR-DUR-VALUE" "IS-RECUR-DUR-VALUE" "*CLASS.RECUR-DUR-VALUE*" "MAKE-RECUR-DUR-VALUE"
   "REF-CHARACTER-ENTITY" "IS-REF-CHARACTER-ENTITY" "*CLASS.REF-CHARACTER-ENTITY*" "MAKE-REF-CHARACTER-ENTITY"
   "REF-ENTITY" "IS-REF-ENTITY" "*CLASS.REF-ENTITY*" "MAKE-REF-ENTITY"
   "REF-GENERAL-ENTITY" "IS-REF-GENERAL-ENTITY" "*CLASS.REF-GENERAL-ENTITY*" "MAKE-REF-GENERAL-ENTITY"
   "REF-NODE" "IS-REF-NODE" "*CLASS.REF-NODE*" "MAKE-REF-NODE"
   "REF-PARAMETER-ENTITY" "IS-REF-PARAMETER-ENTITY" "*CLASS.REF-PARAMETER-ENTITY*" "MAKE-REF-PARAMETER-ENTITY"
   "STRING-ATTR-NODE" "IS-STRING-ATTR-NODE" "*CLASS.STRING-ATTR-NODE*" "MAKE-STRING-ATTR-NODE"
   "STRING-VALUE" "IS-STRING-VALUE" "*CLASS.STRING-VALUE*" "MAKE-STRING-VALUE"
   "TIME-ATTR-NODE" "IS-TIME-ATTR-NODE" "*CLASS.TIME-ATTR-NODE*" "MAKE-TIME-ATTR-NODE"
   "TIME-DUR-VALUE" "IS-TIME-DUR-VALUE" "*CLASS.TIME-DUR-VALUE*" "MAKE-TIME-DUR-VALUE"
   "URI-REF-ATTR-NODE" "IS-URI-REF-ATTR-NODE" "*CLASS.URI-REF-ATTR-NODE*" "MAKE-URI-REF-ATTR-NODE"
   "URI-REF-VALUE" "IS-URI-REF-VALUE" "*CLASS.URI-REF-VALUE*" "MAKE-URI-REF-VALUE"
   "VALUE-NODE" "IS-VALUE-NODE" "*CLASS.VALUE-NODE*" "MAKE-VALUE-NODE"   
   ;; accessors
   "URI"
   "CHILDREN"
   "ROOT"
   "VALIDATE?"
   "PARENT"
   "DEF"
   "DOCUMENT"
   "EXPAND"
   "NAMESPACES"
   "ATTRIBUTES"
   "PROPERTIES"
   "NOTATION"
   "ORDINALITY"
   "MODEL"
   "NODE-CLASS"
   "NODE-VALIDATOR"
   "VALUE"
   "ENCODING"
   "NODES"
   "PREFIX"
   "TARGET"
   "DEREF"
   "IS-FIXED"
   "IS-REQUIRED"
   "IS-IMPLIED"
   "IS-EPHEMERAL"
   "PROTOTYPE"
   "STIPULATION"
   "PROPS-DEFAULTED"
   "PROPS-REQUIRED"
   
   "VERSION"
   "STANDALONE"
   "SYSTEM-ID"
   "PUBLIC-ID"
   "NAMESPACE-NAME"
   "LOCAL-NAME"
   
   ;; additional accessors and abstract nodes which are not in the model
   "ENTITIES"
   "NOTATIONS"
   "TYPES"
   "ATTRIBUTES"
   "PRECEDING-SIBLINGS"
   "FOLLOWING-SIBLINGS"
   "GENERAL-ENTITIES"
   "PARAMETER-ENTITIES"
   "NAMED-VALUE-NODE"
   "ELEM-PROPERTY-NODE"
   "ELEM-CHILD-NODE"
   "DOC-CHILD-NODE"
   "FUNCTION-VALUE"
   "IS-FUNCTION-VALUE"
   "EXPRESSION"
   "CHARACTER-DATA-NODE"
   "PI-NODES"
   "COMMENT-NODES"
   "CONTENT"
   "ENTITY-INFO"
   "REF-ELEM-NODE"
   "REF-ELEM-PROPERTY-NODE"
   
   "CLONE-NODE"
   "LOCAL-PART"
   "CHECK-CONSTRAINT"
   "BIND-DEFINITION"
   "COLLECT-MODEL-NAMES"
   "FIRST-MODEL-NAME"
   "ASSIGN-UNIVERSAL-NAMES"
   "VALIDATE-CONTENT"
   
   ;; serialization interface
   "WRITE-NODE"
   "*NODE-LEVEL*"
   "*VERBOSE-QNAMES*"
   
   "ELEMENT-APPEND"
   "ELEMENT-GET"
   "ELEMENT-SET"
   "EXPORT-NAMES"
   "FIND-ATTRIBUTE"
   "FIND-ELEMENT"
   "FIND-ELEMENT-BY-ID"
   "FIND-NAME"
   "FIND-NAMESPACE"
   "FIND-PREFIX"
   "INTERN-NAME"
   "INTERN-PREFIX"
   "INTERN-TYPE"
   "MAKE-NAME"
   "MAKE-QNAME"
   "NAME"
   "NAMESPACE"
   "CONTENT-NAME-TYPE-NAME"
   "PARENT-COUNT"

   "*CONSTANT-PREFIX-STRINGS*"
   "*DEF-NULL-NAMESPACE-NODE*"
   "*DEFAULT-NAMESPACE-ATTRIBUTE-NAME*"
   "*DEFAULT-PREFIX-NAME*"
   "*DEFAULT-NAMESPACES*"
   "*DEFAULT-NAMESPACE*"
   "*DOCUMENT*"
   "*ELEMENT-COUNT*"
   "*EMPTY-NAME*"
   "*GENERATED-NS-BINDINGS*"
   "*INPUT-SOURCE*"
   "*MIXED-NAME*"
   "*NAMESPACE-BINDINGS*"
   "*NAMESPACE-DICTIONARY*"
   "*NAMESPACE-MODE*"
   "*NAMESPACE*"
   "*NULL-NAME*"
   "*NULL-NAMESPACE*"
   "*NULL-NAMESPACE-NODE*"
   "*OUTPUT-DESTINATION*"
   "*UNBINDABLE-PREFIX-STRINGS*"
   "*XHTML-NAMESPACE*"
   "*XMLNS-NAMESPACE*"
   "*XML-NAMESPACE*"
   "*XML-PREFIX-NAMESTRING*"
   "*XMLNS-PREFIX-NAMESTRING*"
   "*WILD-NAMESPACE*"
   "*WILD-NAMESTRING*"
   "*WILD-PREFIX*"
   "*XML-NAMESPACE-ATTRIBUTE-NAME*"
   "*XML-NAMESPACE-NODE*"
   "*XMLNS-NAMESPACE-ATTRIBUTE-NAME*"
   "*XMLNS-NAMESPACE-NODE*"
   "*XSD-NAMESPACE*"
   "PREFIX-VALUE"
   "NAMESPACE-PREFIX"

   ;; qualified name resolution
   "*QNAME-EXTENT*"
   "*DEF-TYPE-ID-QNAME-CONTEXTS*"
   "*DEF-TYPE-MODEL-QNAME-CONTEXTS*"
   "*DEF-ATTR-QNAME-CONTEXTS*"
   "NEW-QNAME-EXTENT"
   "QNAME-EXTENT"
   "QNAME-EXTENT-EQUAL"
   "*DISTINGUISH-QNAME-HOMOGRAPHS*"
   "*CONFLATE-QNAME-SYNONYMS*"
   "ACCUMULATE-QNAMES"
   "ABSTRACT-NAME"
   "UNAME"
   "QNAME"

   "VALUE-STRING"
   "VALUE-NUMBER"
   "VALUE-BOOLEAN"
   "FIND-DEF-PARAMETER-ENTITY"
   "FIND-DEF-GENERAL-ENTITY"
   "FIND-DEF-ELEM-TYPE"
   "FIND-DEF-NOTATION"
   
   "IS-NAMECHARDATA"
   "IS-NCNAME"
   
   ;; utility functions
   *SPECIALIZE-ELEM-NODE*
   *SPECIALIZE-ATTR-NODE*
   "*TOKEN-PACKAGE*"
   "*WILD-NAME*"
   "*WILD-UNAME*"
   "*LANG-NAME*"
   "!-reader"
   "WALK-NODE"
   "XML-ERROR"
   "XML-EOF-ERROR"
   "DOCUMENT-MODEL-ERROR"
   "INTERNAL-XML-ERROR"
   "VALIDITY-CERROR"
   "VALIDITY-CONDITION"
   "NAMESPACE-ERROR"
   "WELLFORMEDNESS-ERROR"
   "WELLFORMEDNESS-CERROR"
   "SIMPLE-XML-ERROR"
   "INCOMPLETE-PARSE"
   "PRINT-QNAME"
   "PRINT-NS-NODE"
   
   "COLLECT-NODE-BY-TYPE"
   "MAP-NODE-BY-TYPE"
   
   "COLLECT-ATTRIBUTE-DECLARATIONS"
   "COLLECT-ATTRIBUTES"
   "COLLECT-COMMENTS"
   "COLLECT-COMMENTS-AND-PIS"
   "COLLECT-DECLARATIONS"
   "COLLECT-ELEMENT-DECLARATIONS"
   "COLLECT-ELEMENT-PROPERTIES"
   "COLLECT-ELEMENTS"
   "COLLECT-GENERAL-ENTITIES"
   "COLLECT-NAMESPACES"
   "COLLECT-NOTATIONS"
   "COLLECT-PARAMETER-ENTITIES"
   "COLLECT-PIS"
   
   "UNAME-EQUAL"
   "QNAME-EQUAL"
   "NODE-EQUAL"
   "MAKE-DOCUMENT-NAMESPACE-BINDINGS"
   "content-model"
   "|-content"
   "?-content"
   "*-content"
   "bounded-content"
   "MIXED-content"
   "+-content"
   "content"
   ",-content"
   "content-name"
   "type-name" 
   "mixed-atn"
   "element-atn"
   
   ;; character classes
   "XML-CHAR?"
   "XML-SPACE?"
   "XML-IDEOGRAPHIC?"
   "XML-BASECHAR?"
   "XML-LETTER?"
   "XML-DIGIT?"
   "XML-COMBININGCHAR?"
   "XML-EXTENDER?"
   "XML-NAMECHAR?"
   "XML-INITIAL-NAMECHAR?"
   "XML-PUBIDCHAR?"
   "XML-MARKUPCHAR?"
   "XML-LATINALPHACHAR?"
   "XML-LATINCHAR?"
   "XML-LANGUAGEIDCHAR?"
   "XML-VERSIONNUMCHAR?"
   "XML-MODEL-OP-CHAR?"
   "XML-SUCCESSOR-EOLCHAR?"
   "XML-INITIAL-EOLCHAR?"

   ;; graphs
   "WRITE-NODE-GRAPH"
   "ENCODE-NODE-GRAPH"
   "NODE-GRAPH-PROPERTIES"
   "NODE-LINK-PROPERTIES"

   ;; 0.950 compatibility
   :annotation-model
   :constant-prefix-p
   :direct-annotation-model
   :condition-name
   :condition-namespace
   :document
   :document-element
   :element-definition
   :element-p
   :general-entity-definition
   :id-attr-node-p
   :namespace-declaration
   :namespace-equal
   :parameter-entity-definition
   :type-definition
   :unbindable-prefix-p
   :with-namespaces
   :default-namespace
   :*default-prefix-string*
   :local-part-equal
   :valid
   :namespace-printname

   ".//*"
   ".//"
   "./@"
   "./@-STRING"
   "./@-VALUE"
   "./"
   "./-STRING"
   "./-VALUE"

   ))

(defPackage "XML-PARSER"
  (:nicknames "XMLP"
              :de.setf.xml
              :de.setf.xml.interface
              :de.setf.xml.codec.implementation
              :de.setf.xml.process.implementation)
  (:use "BNFP" #+CCL "CCL" "COMMON-LISP" "XQDM" "XUTILS")
  #+CCL (:shadowing-import-from "XQDM" "TARGET")
  (:export
   "*CONSTRUCTION-CONTEXT*"
   "*SPECIALIZE-ELEM-NODE*"
   "*SPECIALIZE-ATTR-NODE*"
   "AttCharData-Constructor"
   "Attribute-Constructor"
   "CALL-WITH-NAME-PROPERTIES"
   "CharData-Constructor"
   "CDataCharData-Constructor"
   "Comment-Constructor"
   "CONSTRUCT-ATTRIBUTE-NAME"
   "CONSTRUCT-ATTRIBUTE-PLIST"
   "CONSTRUCT-CONSTRUCTION-CONTEXT"
   "CONSTRUCT-CONTENT-SEQUENCE"
   "CONSTRUCT-ELEM-PROPERTY-NODE"
   "CONSTRUCT-ELEMENT-NAME"
   "CONSTRUCT-ELEMENT-NODE"
   "CONSTRUCT-NS-NODE"
   "CONSTRUCT-STRING-ATTR-NODE"
   "Content-Constructor"
   "ContentSequence-Constructor"
   ;; the constructor method for attribute default values remains unexported
   ;; until specialization is implemented for the DTD as a whole...
   ;; "DefaultAttCharData-Constructor"
   "DEFPIFUNCTION"
   "Document-Constructor"
   "DOCUMENT-PARSER"
   "Element-Constructor"
   "ENCODE-CHAR"
   "ENCODE-FORMAT"
   "ENCODE-NODE"
   "ENCODE-STRING"
   "ENCODE-NEWLINE"
   "ExtParsedEnt-Constructor"
   "Pi-Constructor"
   "PI-FUNCTION"
   "PiCharData-Constructor"
   ;; "MAKE-NCNAME"
   ;; "MAKE-UNAME"
   "PARSE-EXTERNAL-ENTITY-DATA"
   "PARSE-EXTERNAL-SOURCE"
   "PARSE-EXTERNAL-SUBSET"
   "PARSE-EXTERNAL-GENERAL-ENTITY"
   "READ-EXTERNAL-ENTITY-DATA"
   "STag-Constructor"
   "WRITE-NODE"
   "WRITER-STREAM"
   "XML"
   "*XML-WRITER-STREAM*"
   "WITH-XML-WRITER"

   ;; 0.950 compatibility
   :prefix-namespace
   )
  )

(defPackage "XML-PATH"
  (:nicknames "XP")
  (:use "BNFP" #+CCL "CCL" "COMMON-LISP" "XQDM" "XUTILS")
  ;; the term 'step' is central to the standard so it is shadowed rather
  ;; than using an alternative.
  (:shadow "STEP")
  #+CCL (:shadowing-import-from "XQDM" "TARGET")
  (:EXPORT
   "PATH" "STEP" "CONTEXT"
   "PATH-ELEMENT" "STEP-ELEMENT" "STEP-GENERATOR" "STEP-FILTER"
   "ENUMERATING-STEP-GENERATOR" "LIST-GENERATOR" "AXIS-GENERATOR"
   "MAP-NODES" "NAME-TEST" "NODE-SET" "NODE-TEST" "TYPE-TEST"
   "TERM" "IS-ABSOLUTE" "STEPS" "GENERATOR"
   "TEST" "PREDICATES" "SOURCE" "PREFIX" "LOCAL-PART"
   "STEP-GENERATOR-FUNCTION" "STEP-PREDICATE-FUNCTION"
   "LITERAL"
   "NODE" "LOCATION" "SIZE" "BINDINGS" "VARIABLES" "FUNCTIONS" "NAMESPACES"
   "EXPRESSION"
   
   "*CLASS.PATH*"
   "*CLASS.STEP*"
   "*CLASS.CONTEXT*"
   "*CLASS.CHILD*"
   "*DOCUMENTS*"
   )
  )

(defPackage "XML-QUERY"
  (:nicknames "XQ")
  (:use "BNFP" #+CCL "CCL" "COMMON-LISP" "XQDM" "XUTILS")
  #+CCL (:shadowing-import-from "XQDM" "TARGET")
  )


(defPackage "xml" (:use)
  (:nicknames "http://www.w3.org/XML/1998/namespace")
  (:export " " "!=" "!=" "!==" "\"" "#FIXED" "#IMPLIED" "#PCDATA" "#REQUIRED"
           "$" "%" "&" "&#" "&#x" "'" "(" "()" ")" ")*" "*" "*:" "+" ","
           "-" "-->" "->" "." ".." "/" "//" "/>" ":" ":=" "::" ":*" ";" "<" "<!" "<!--"
           "<!ATTLIST" "<!DOCTYPE" "<!ELEMENT" "<!ENTITY" "<!NOTATION"
           "<![" "<![CDATA[" "</" "<=" "<?" "<?xml" "=" "==" ">" ">=" "?" "?>"
           "@" "AFTER" "ANY" "ASCENDING" "BEFORE" "CDATA" "DESCENDING" "EMPTY"
           "ENTITIES" "ENTITY" "ID" "IDREF" "IDREFS" "IGNORE" "INCLUDE"
           "NDATA" "NMTOKEN" "NMTOKENS" "NOT" "NOTATION" "PUBLIC" "SYSTEM"
           "[" "]" "]]>" "^"
           "ancestor" "ancestor-or-self" "and" "attribute"
           "child" "comment"
           "descendant" "descendant-or-self" "div" "document"
           "encoding" "following" "following-sibling"
           "id" "key" "lang"
           "mixed" "mod" "namespace" "no" "node" "not" "or"
           "parent" "preceding" "preceding-sibling" "processing-instruction"
           "root" "self" "standalone" "text" "union" "version" "xml" "yes"
           "{" "|" "}" "¯"))
;;
;;
;; packages for implementing xml data modeling.
;; types from the datatype package appear in expression in the two algrbras. they are
;; exported, but not used/imported, as the customary expression uses the prefix.
;; the case distinctions distinguish grammatic meta-symbols which participate in special
;; forms from the names for functions and types, which conserve case.

;; package for xml query types
(defPackage "XML-SCHEMA-DATATYPES" (:use) (:nicknames "XSD")
  (:export "TYPEP" "TYPEP-SPECIALIZED"
           "IS-anyComplexType" "IS-anySimpleType" "IS-anyTreeType" "IS-anyType"  "IS-anyURI"
           "IS-attribute" "IS-base64Binary" "IS-boolean" "IS-byte" "IS-comment" "IS-complex"
           "IS-date" "IS-dateTime"
           "IS-decimal" "IS-double" "IS-duration"
           "IS-element" "IS-ENTITY" "IS-ENTITIES" "IS-float"
           "IS-gDay" "IS-gMonth" "IS-gMonthDay" "IS-gYear"
           "IS-hexBinary" "IS-ID" "IS-IDREF" "IS-IDREFS"
           "IS-int" "IS-integer" "IS-language" "IS-long"
           "IS-Name" "IS-NCName" "IS-NMTOKEN" "IS-NMTOKENS"
           "IS-negativeInteger" "IS-nonNegativeInteger" "IS-nonPositiveInteger" "IS-normalizedString"
           "IS-NOTATION" "IS-pi" "IS-positiveInteger" "IS-scalar" "IS-short" "IS-simple"
           "IS-string" "IS-time" "IS-token" "IS-UName"
           "IS-unsignedByte" "IS-unsignedInt" "IS-unsignedLong" "IS-unsignedShort"
           
           "VALIDATE-STRING" "VALIDATE-ATTRIBUTE" "VALIDATE-NAME"))

;; package for xml path "algebra" operators
(defPackage "XML-PATH-ALGEBRA" (:use) (:nicknames "XPA")
  (:import-from "xml" "document")
  (:intern "APPLY-DESCENDANTS-PATH" "APPLY-CHILD-PATH" "APPLY-PATH"
           "APPLY-PREDICATE-PATH" "APPLY-STEP"
           "EVAL" "FUNCALL" "LANGUAGE-EQUAL" "NODES" "VARIABLE"
           "SYMBOL-FUNCTION" "GENSYM")
  (:export
   ;; path components
   "PATH" "STEP" "UNAME"
   "ID-STEP" "KEY-STEP" "PARENT-STEP" "ROOT-STEP" "SELF-STEP" "WILD-INFERIOR-STEP" 
   "AXIS-GENERATOR" "LIST-GENERATOR"
   "ANCESTOR" "ANCESTOR-OR-SELF" "ATTRIBUTE" "CHILD" "DESCENDANT"
   "DESCENDANT-OR-SELF" "FOLLOWING" "FOLLOWING-OR-SELF" "FOLLOWING-SIBLING"
   "ID" "KEY"
   "NAMESPACE" "PARENT" "PRECEDING" "PRECEDING-SIBLING" "ROOT" "SELF"
   "NAME-TEST" "@NAME-TEST" "TYPE-TEST" "TYPE-NAME-TEST"
   "PI-TEST" "COMMENT-TEST" "TEXT-TEST"
   "PREDICATE"
   ;; state variables
   "*CONTEXT-NODE*" "*POSITION*" "*COUNT*"
   ;; library functions
   "and"
   "boolean"
   "ceiling" "contains" "count"
   "document"
   "false" "floor"
   "id"
   "last" "local-name" "lang"
   "mod"
   "name" "namespace-uri" "normalize-space" "not"  "number"
   "or"
   "position"
   "round"
   "starts-with" "string" "substring"
   "substring-after" "substring-before"
   "string-length" "sum" 
   "translate" "true"
   "union"
   "+" "-" "*" "/" "<" "<=" ">" ">=" "=" "!="
   "NaN" "0+" "0-" "infinity+" "infinity-"
   ))

;; package for xml query algebra operators
(defPackage "XML-QUERY-ALGEBRA" (:use) (:nicknames "XQA")
  (:import-from "XPA"
                "and"
                "boolean"
                "ceiling" "contains" "count"
                "document"
                "false" "floor"
                "id"
                "last" "local-name" "lang"
                "mod"
                "name" "namespace-uri" "normalize-space" "not"  "number"
                "or"
                "position"
                "round"
                "starts-with" "string" "substring"
                "substring-after" "substring-before"
                "string-length" "sum" 
                "translate" "true"
                "union"
                ;; these are not imported "<" "<=" ">" ">=" "="
                ;; as the comparison differs
                "+" "-" "*" "/" "!="
                "NaN" "0+" "0-" "infinity+" "infinity-"
                "GENSYM")
  (:EXPORT  "IF" "LET" "ELSE" "FOR" "MATCH" "CASE" "WHERE"
            "TYPE" "FUN" "QUERY"
            "AND" "OR" "NOT" "DIV" "MOD" "SCHEMA"
            "+" "-" "*" "<" "<=" ">" ">=" "=" "==" "!=" "!=="
            "//" "/" "." "|"
            "DEFUN"
            "ATTRIBUTE" "ELEMENT"
            "MAKE-NCNAME" "MAKE-TNAME" "MAKE-UNAME"
            "sequence" "UNION" "DIFFERENCE" "INTERSECTION" "SORT"
            "ERROR" "INSTANCEOF" "BEFORE" "AFTER"
            "TYPEP" "TYPE" "SORT"
            "TYPE-REF" "ID-TEST" "TYPEP" "RANGE-TEST"
            ;; xpath algebra symbols
            "and"
            "boolean"
            "cdata" "ceiling" "contains" "count"
            "document"
            "false" "floor"
            "id"
            "last" "local-name" "lang"
            "mod"
            "name" "namespace-uri" "normalize-space" "not"  "number"
            "or"
            "position"
            "round"
            "starts-with" "string" "substring"
            "substring-after" "substring-before"
            "string-length" "sum" 
            "translate" "true"
            "union"
            "NaN" "0+" "0-" "infinity+" "infinity-"
            ;; xml query algebra specific
            "avg"
            "bagtolist"
            "data" "difference" "distinct_nodes" "distinct_value"
            "comment" "Comment" "deref" 
            "except"
            "index" "intersection"
            "listtobag" "localname"
            "max" "min"
            "namespace" "nodes"
            "parent" "processing_instruction"
            "ref"
            "sequence" "sort"
             "target"
             "value"


            "empty"
             "==" ))

(defPackage "$" (:use))

(defpackage "XML-QUERY-LANGUAGE" (:use) (:nicknames "XQL")
  (:import-from "XPA"
                "and"
                "boolean"
                "ceiling" "contains" "count"
                "document"
                "false" "floor"
                "id"
                "last" "local-name" "lang"
                "mod"
                "name" "namespace-uri" "normalize-space" "not"  "number"
                "or"
                "position"
                "round"
                "starts-with" "string" "substring"
                "substring-after" "substring-before"
                "string-length" "sum"  
                "translate" "true"
                "union"
                "+" "-" "*" "/" "!="
                "NaN" "0+" "0-" "infinity+" "infinity-")
  (:import-from "XQA"
                "<" "<=" ">" ">=" "=")
  (:export "ELEMENT" "ATTRIBUTE" "CAST" "TREAT" "INTERSECT" "EXCEPT"
           "INSTANCEOF" "SOME" "EVERY" "FUNCTION"
           "FUNCALL"  "NAMESPACE-DECL" "QNAME"  "SCHEMA-DECL"
           "ID-PATH" "ATTRIBUTE-PATH" "TYPE-PATH" "ELEMENT-PATH"
           "RANGE" "/" "//" "*" "STEP" "TYPE"
           ;; xpath algebra symbols
           "and"
           "boolean"
           "ceiling" "contains" "count"
           "document"
           "false" "floor"
           "id"
           "last" "local-name" "lang"
           "mod"
           "name" "namespace-uri" "normalize-space" "not"  "number"
           "or"
           "position"
           "round"
           "starts-with" "string" "substring"
           "substring-after" "substring-before"
           "string-length" "sum" 
           "translate" "true"
           "union"
           "+" "-" "*" "/" "<" "<=" ">" ">=" "=" "!="
           "NaN" "0+" "0-" "infinity+" "infinity-"
           ;; xquery language library 
           "comment" "date" "distinct"
           "empty" "equal" "filter" "last"
           "name" "number" "pi" "union"))


;; additions for cl-http tokenizer
#-CL-HTTP
(defpackage "WWW-UTILS"
  (:use common-lisp)
  (:intern "WITH-FAST-ARRAY-REFERENCES" "MAKE-LOCK" "WITH-LOCK-HELD"))

#-CL-HTTP
(defpackage tk1
  (:use common-lisp)
  (:import-from "WWW-UTILS" "WITH-FAST-ARRAY-REFERENCES" "MAKE-LOCK" "WITH-LOCK-HELD")
  (:export
   "*DEFAULT-TOKENIZER-SIZE*"
   "CLEAR-TOKENIZER"
   "CREATE-TOKENIZER"
   "DEFINE-TOKENIZER"
   "DESCRIBE-TOKENIZER"
   "FIND-TOKENIZER-NAMED"
   "GET-TOKEN"
   "INSERT-TOKEN"
   "MAP-TOKENS"
   "REHASH-TOKENIZER"
   "REMOVE-TOKEN"
   "TOKENIZE"
   "UNDEFINE-TOKENIZER"))

#-CL-HTTP
(defPackage "HTTP"
  (:export "*STANDARD-CHARACTER-TYPE*"))

:EOF


\ No newline at end of file
+;;; -*- Mode: lisp; Syntax: ansi-common-lisp; Base: 10; Package: cl-user; -*-
+
+#|
+<DOCUMENTATION>
+ nb. see XQueryDataModel:XQDM-classes for exports for class predicate and constructors
+ <COPYRIGHT YEAR='2001' AUTHOR='james adam anderson' MARK='(C)'
+            href='file://xml/sysdcl.lisp' /> <CHRONOLOGY>
+  <DELTA DATE='20010507'>incorporated character class exports</DELTA>
+  <DELTA DATE='20010617'>moved parsetable to XML-UTILS</DELTA>
+  <DELTA DATE='20010621'>exported xml serialization iterface</DELTA>
+  <DELTA DATE='20010622'>parameters for reader adjustments for null symbol names</DELTA>
+  <DELTA DATE='20010624'>node graph interface</DELTA>
+  <DELTA DATE='20010702'><code>DATA-URL</code>; differentiated qname contexts</DELTA>
+  <DELTA DATE='20010714'>factored namespaces out</DELTA>
+  <DELTA DATE='20010718'>xmlparser package renamed to XMLP</DELTA>
+  <DELTA DATE='20010808'>added '$' package for XQL variables</DELTA>
+  <DELTA DATE='20010816'>additions for schema types</DELTA>
+  <DELTA DATE='20010902'>www-utils and tk1 package for cl-http tokenizer</DELTA>
+  <DELTA DATE='20030320'>added 0.950 package nicknmes inorder to use its condition implementation</DELTA>
+  </CHRONOLOGY>
+ </DOCUMENTATION>
+|#
+
+(in-package "CL-USER")
+
+(defPackage "BNF-PARSER"
+  (:nicknames "BNFP")
+  (:use :common-lisp #+:ccl :ccl #+lispworks :harlequin-common-lisp :de.setf.utility.conditions )
+  (:shadow "SYMBOL")
+  #+Allegro (:import-from "EXCL" "WITHOUT-INTERRUPTS")
+  #+(and Allegro (version>= 6 0)) (:import-from "MOP" "CLASS-PRECEDENCE-LIST")
+  #+(and Allegro (version< 6 0)) (:import-from "CLOS" "CLASS-PRECEDENCE-LIST")
+  #+Genera (:import-from "CLOS-INTERNALS" "CLASS-PRECEDENCE-LIST" "FUNCALLABLE-STANDARD-CLASS" "VALIDATE-SUPERCLASS")
+  #+Genera(:import-from "SCL" "WITHOUT-INTERRUPTS")
+  #+Genera(:shadowing-import-from "SI" "STREAM")
+  #+lispworks (:import-from :lispworks :without-interrupts)
+  #+CMU (:import-from "SYSTEM" "WITHOUT-INTERRUPTS")
+  #+PCL (:shadowing-import-from "PCL" "CLASS-PRECEDENCE-LIST"
+				"FUNCALLABLE-STANDARD-CLASS"
+				"VALIDATE-SUPERCLASS"
+				"STANDARD-CLASS" "BUILT-IN-CLASS"
+				"FIND-CLASS" "CLASS-NAME" "CLASS-OF")
+  #+SBCL (:import-from "SB-SYS" "WITHOUT-INTERRUPTS")
+  #+sbcl (:shadowing-import-from "SB-PCL" "CLASS-PRECEDENCE-LIST"
+                                 "FUNCALLABLE-STANDARD-CLASS"
+                                 "VALIDATE-SUPERCLASS"
+                                 "STANDARD-CLASS" "BUILT-IN-CLASS"
+                                 "FIND-CLASS" "CLASS-NAME" "CLASS-OF")
+  (:export
+   "*ATN-CLASS"
+   "*ATN-LEVEL"
+   "*ATN-NET"
+   "*ATN-NODE"
+   "*ATN-PROPERTIES"
+   "*ATN-REGISTER-WORDS"
+   "*ATN-SAVE-DEFINITIONS*"
+   "*ATN-STACK"
+   "*ATN-STRUCTURE*"
+   "*ATN-TERM*"
+   "*ATN-TERM?*"
+   "*ATN-TOKEN-PACKAGE*"
+   "*ATN-TRACE*"
+   "*ATN-TRACE-NETS*"
+   "*ATN-WFST"
+   "*CLASS.ATN*"
+   "*CLASS.ATN-ALTERNATIVE-CATEGORY*"
+   "*CLASS.ATN-BUILTIN-PREDICATE-CATEGORY*"
+   "*CLASS.ATN-CELL-CATEGORY*"
+   "*CLASS.ATN-COMPLEMENT-CATEGORY*"
+   "*CLASS.ATN-CONJUNCTION*"
+   "*CLASS.ATN-DERIVED-CATEGORY*"
+   "*CLASS.ATN-LEXEM*"
+   "*CLASS.ATN-LEXICON*"
+   "*CLASS.ATN-NEGATED-ALTERNATIVES*"
+   "*CLASS.ATN-NODE*"
+   "*CLASS.ATN-PRIMITIVE-CATEGORY*"
+   "*CLASS.ATN-UNDECLARED-CATEGORY*"
+   "*CLASS.CAT-ATN-EDGE*"
+   "*CLASS.CELL-ATN-EDGE*"
+   "*CLASS.JUMP-ATN-EDGE*"
+   "*CLASS.OR-ATN-EDGE*"
+   "*CLASS.POP-ATN-EDGE*"
+   "*CLASS.PUSH-ATN-EDGE*"
+   "*CLASS.TEST-ATN-EDGE*"
+   "*CLASS.WORD-ATN-EDGE*"
+   "*SOURCE-RECORDING*"
+   :*terminal-parser-error-action*
+   "ATN"
+   "ATN-ALTERNATIVE-CATEGORY"
+   "ATN-BINDINGS"
+   "ATN-BUILTIN-PREDICATE-CATEGORY"
+   "ATN-CELL-CATEGORY"
+   "ATN-COMPLEMENT-CATEGORY"
+   "ATN-CONJUNCTION"
+   "ATN-CONSTRUCTOR-SPECIALIZER"
+   "ATN-CONTINUE-ACTIONS"
+   "ATN-DERIVED-CATEGORY"
+   "ATN-FAIL-ACTIONS"
+   "ATN-FINALLY"
+   "ATN-INITIAL-ACTIONS"
+   "ATN-INPUT"
+   "ATN-LEXEM"
+   "ATN-LEXICON"
+   "ATN-NAME"
+   "ATN-NEGATED-ALTERNATIVES"
+   "ATN-NODE"
+   "ATN-PRIMITIVE-CATEGORY"
+   "ATN-PROCEDURE-CALL"
+   "ATN-RECURSION"
+   "ATN-REDUCE-ITEM"
+   "ATN-REDUCE-STRUCTURE"
+   "ATN-SEQUENCE-INPUT"
+   "ATN-STACK"
+   "ATN-SUCCEED-ACTIONS"
+   "ATN-TERM-CARDINALITY"
+   "ATN-TERM-NAMES"
+   "ATN-UNDECLARED-CATEGORY"
+   "BNF-TO-REGEX-ATN"
+   "CALL-WITH-PARSED-ALIST"
+   "CALL-WITH-PARSED-TERMS"
+   "CAT-ATN-EDGE"
+   "CELL-ATN-EDGE"
+   "COMPILE-ATN-SYSTEM"
+   "CONSTRUCTOR-SPECIALIZERS"
+   "CONTINUABLE-PARSER-ERROR"
+   "FIND-PARSED-TERM"
+   "INFERENCE-SYSTEM"
+   "INFERENCE-UNIT"
+   "INPUT.IS-AT-END"
+   "INPUT.ITEM"
+   "INPUT.LAST-ITEM"
+   "INPUT.LENGTH"
+   "INPUT.PEEK-ITEM"
+   "INPUT.REPLACE-ITEM"
+   "IS-ATN-TRACE"
+   "IS-REDUCTION-ENABLED"
+   "JUMP-ATN-EDGE"
+   "MAKE-LISP-FORM"
+   "MAKE-LISP-SUBFORM"
+   "MAKE-LISP-TEST-FORM"
+   "MATCH-REGEX"
+   "NTH-PARSE-RESULT"
+   "OR-ATN-EDGE"
+   "PARSER-EOF-ERROR"
+   "PARSER-ERROR"
+   "PARSE-RESULT"
+   "POP-ATN-EDGE"
+   "PPRINT-ATN"
+   "PUSH-ATN-EDGE"
+   "REGULAR-EXPRESSION-TO-REGEX-ATN"
+   "RULE"
+   "RULE-DOCUMENTATION"
+   "RULE-NAME"
+   "RULE-SOURCES"
+   "SORT-PARSE-RESULTS"
+   "SYSTEM"
+   "SYSTEM-DOCUMENTATION"
+   "SYSTEM-NAME"
+   "SYSTEM-PLIST"
+   "TERMINAL-PARSER-ERROR"
+   "TEST-ATN-EDGE"
+   "WITH-PARSED-ALIST"
+   "WITH-PARSED-PLIST"
+   "WITH-PARSED-TERM"
+   "WORD-ATN-EDGE"
+
+   ;; for parse states
+   :condition-parse-state
+   :condition-action
+   :parse-state
+   :parse-state-condition
+   :parse-state-source
+   :parse-state-term
+   :parse-state-non-terminal
+   :parse-state-stack
+   :parse-state-active-p
+   :print-parse-state
+   :make-parse-state
+   ))
+
+(defPackage "XML-UTILS"
+  (:nicknames "XUTILS" :de.setf.xml.base.implementation
+              :de.setf.xml.conditions)
+  (:use :common-lisp #+ccl :ccl
+        :de.setf.utility.conditions)
+  #+CCL (:import-from "CCL" "STREAM-POSITION")
+  #+CL-HTTP (:import-from "URL" "URI" "URL" "PARSE-URL" "INTERN-URL"
+                          "HTTP-URL" "FILE-URL" "NAME-STRING"
+                          "PATH" "HOST" "HOST-STRING" "PORT" "OBJECT" "EXTENSION"
+                          "TRANSLATED-PATHNAME"
+                          ;; for the file-url function
+                          "DIRECTORY-NAME-STRING" "WITH-VALUE-CACHED"
+                          "WRITE-SCHEME-PREFIX" "WRITE-HOST-PORT-STRING" "WRITE-PATH")
+  #+CL-HTTP (:import-from "HTTP" "MERGE-URL")
+  #+ALLEGRO (:import-from "EXCL" "WITHOUT-INTERRUPTS")
+  #+lispworks (:import-from :lispworks :without-interrupts)
+  #+CMU (:import-from "SYSTEM" "WITHOUT-INTERRUPTS")
+  #+PCL (:shadowing-import-from "PCL" "CLASS-PRECEDENCE-LIST"
+				"FUNCALLABLE-STANDARD-CLASS"
+				"VALIDATE-SUPERCLASS" "STANDARD-CLASS"
+				"BUILT-IN-CLASS" "FIND-CLASS"
+				"CLASS-NAME" "CLASS-OF")
+  #+SBCL (:import-from "SB-SYS" "WITHOUT-INTERRUPTS")
+  #+sbcl (:shadowing-import-from "SB-PCL" "CLASS-PRECEDENCE-LIST"
+				 "FUNCALLABLE-STANDARD-CLASS"
+				 "VALIDATE-SUPERCLASS" "STANDARD-CLASS"
+				 "BUILT-IN-CLASS" "FIND-CLASS"
+				 "CLASS-NAME" "CLASS-OF")
+  #+digitool
+  (:import-from :ccl
+                :stream-reader
+                :stream-writer
+                :stream-column)
+  (:import-from :de.setf.utility.test
+                :deftest
+                :deftests
+                :execute-tests)
+  (:EXPORT
+   :deftest
+   :deftests
+   :execute-tests
+   "*ENCODING-MAP*"
+   "*PARSETABLE*"
+   "*TOKEN-PACKAGE*"
+   "*XML-BASE*"
+   "*XML-VERBOSE*"
+   "<-CHAR-CODE-LIMIT"
+   "CANONICAL-ENCODING"
+   "CHECKED-CODE-CHAR"
+   "CLEAR-PARSETABLE"
+   "CLEAR-PARSETABLES"
+   "COMPUTE-PARSER-MACROS"
+   "COMPUTE-TOKEN-READER"
+   "COPY-PARSETABLE"
+   "DATA-URL"
+   "DEFALTERNATIVECONSTRUCTOR"
+   "DEFCONSTANTCONSTRUCTOR"
+   "DEFCONSTRUCTOR"
+   "DEFCONSTRUCTORMETHOD"
+   "DEFIDENTITYCONSTRUCTOR"
+   "DEFLITERALCONSTRUCTOR"
+   "DEFNULLCONSTRUCTOR"
+   "DEFPARSETABLE"
+   "DEFTOKEN"
+   "DEFTOKENCONSTRUCTOR"
+   "DEFTOKENCONSTRUCTORS"
+   "DEFTOKENS"
+   "EXPORT-NAME"
+   "FILE-URL"
+   "FILE-URL-PATHNAME"
+   "HTTP-URL"
+   "MAKE-DATA-URL"
+   "MAKE-URI"
+   "MERGE-URIS"
+   "NOTE-newline-200101314"
+   :object
+   "PARSER-MACRO"
+   "PARSETABLE"
+   "PATHNAME-FILE-URL"
+   "REC-xml-19980210.End-of-Line Handling"
+   "REC-xml-19980210.PEs in Internal Subset"
+   "REC-xml-19980210.Validate Attribute Defaults"
+   "REC-xml-names-19990114"
+   "REC-xml-names-19990114.NSC: Prefix Immutable"
+   "REC-xml-names-19990114.VC: Attribute Declared"
+   "RESOLVE-ENTITY-IDENTIFIERS"
+   "SPLIT-SEQ"
+   "SPLIT-STRING"
+   "STREAM-POSITION"
+   "STREAM-STATE"
+   "TABLE.MACROS"
+   "TABLE.NAME"
+   "TABLE.PROPERTIES"
+   "URI"
+   "URI-NAMESTRING"
+   "URL"
+   "URL-DATA"
+   "URN"
+   "VECTOR-INPUT-STREAM"
+   "WITH-DATA-STREAM"
+   "WITH-FILE-STREAM"
+   "WITH-HTTP-STREAM"
+   "WITH-PARSETABLE"
+   "WITHOUT-INTERRUPTS"
+   "STREAM-COLUMN"
+   "STREAM-READER"
+   "STREAM-WRITER"
+   :check-constraint
+   :coerce-to-generic-function
+   :condition-continue-format-arguments
+   :condition-continue-format-control
+   :continuable-error
+   :continue-format-arguments
+   :continue-format-control
+   :defexception
+   :initialize-condition
+   :internal-xml-error
+   :make-initialized-condition
+   :report-condition
+   :report-condition
+   :simple-continuable-condition
+   :xml-condition
+   :xml-error
+   :xml-warn
+   :xml-warning
+   :|VC: ID|
+   :|VC: Name Token|
+   :|VC: Entity Name|
+   :|VC: Notation Attributes|
+   :|VC: Enumeration|
+   :|VC: Element Content|
+   :|VC: No Duplicate Tokens|
+   :|VC: No Duplicate Types|
+   :|NSC: Prefix Immutable|
+   :|WFC: Legal Character|
+   ))
+
+
+(defPackage "XML-QUERY-DATA-MODEL" 
+  (:nicknames "XQDM"
+              :DE.SETF.XML.NAMES.IMPLEMENTATION
+              :DE.SETF.XML.NODE.IMPLEMENTATION
+              :DE.SETF.XML.MODEL
+              :DE.SETF.XML.MODEL.IMPLEMENTATION)
+  (:shadowing-import-from "BNFP" "PARSE-ERROR")
+  #+LISPWORKS
+  (:import-from "HCL" "VALIDATE-SUPERCLASS")
+  (:use "BNFP" #+CCL "CCL" "COMMON-LISP" "XUTILS")
+  #+CCL (:shadow "TARGET")
+  #+PCL (:shadowing-import-from "PCL" "CLASS-PRECEDENCE-LIST"
+			       "FUNCALLABLE-STANDARD-CLASS"
+			       "VALIDATE-SUPERCLASS" "STANDARD-CLASS"
+			       "BUILT-IN-CLASS" "FIND-CLASS"
+			       "CLASS-NAME" "CLASS-OF"
+			       "STRUCTURE-CLASS") 
+  #+sbcl (:shadowing-import-from "SB-PCL" "CLASS-PRECEDENCE-LIST"
+				"FUNCALLABLE-STANDARD-CLASS"
+				"VALIDATE-SUPERCLASS" "STANDARD-CLASS"
+				"BUILT-IN-CLASS" "FIND-CLASS"
+				"CLASS-NAME" "CLASS-OF")
+  (:export
+   ;; the defTypePredicate macro exports for classes and predicate names
+   ;; the defException macro exports exception class names
+   
+   "ABSTRACT-CLASS"
+   "ABSTRACT-NODE"
+   "NAMED-NODE"
+   "UNAMED-NODE"
+   "NCNAMED-NODE"
+   "TYPED-NODE"
+   "DOCUMENT-SCOPED-NODE"
+   "ORDINAL-NODE"
+   "ENTITY-DELEGATE"
+   "DOC-NODE-INTERFACE"
+   "ELEM-NODE-INTERFACE"
+   "ELEM-PROPERTY-NODE-INTERFACE"
+   
+   ;; model classes: all classes export the symbol and a predicate
+   ;; concrete classes have an instantiation function and parameter
+   ;; see defTypePredicate for generation
+   "ABSTRACT-ATTR-NODE" "IS-ABSTRACT-ATTR-NODE"
+   "ABSTRACT-DEF-NODE" "IS-ABSTRACT-DEF-NODE"
+   "ABSTRACT-DEF-TYPE" "IS-ABSTRACT-DEF-TYPE"
+   "ABSTRACT-ELEM-NODE" "IS-ABSTRACT-ELEM-NODE"
+   "ABSTRACT-ELEM-PROPERTY-NODE" "IS-ABSTRACT-ELEM-PROPERTY-NODE"
+   "ABSTRACT-NS-NODE" "IS-ABSTRACT-NS-NODE"
+   "ABSTRACT-TOP-LEVEL-DEF-NODE" "IS-ABSTRACT-TOP-LEVEL-DEF-NODE"
+   "ATTR-CHILD-NODE" "IS-ATTR-CHILD-NODE" "*CLASS.ATTR-CHILD-NODE*" "MAKE-ATTR-CHILD-NODE"
+   "ATTR-NODE" "IS-ATTR-NODE" "*CLASS.ATTR-NODE*" "MAKE-ATTR-NODE"
+   "BINARY-VALUE" "IS-BINARY-VALUE" "*CLASS.BINARY-VALUE*" "MAKE-BINARY-VALUE"
+   "BOOL-VALUE" "IS-BOOL-VALUE" "*CLASS.BOOL-VALUE*" "MAKE-BOOL-VALUE"
+   "CHARACTER-DATA-NODE" "IS-CHARACTER-DATA-NODE" "*CLASS.CHARACTER-DATA-NODE*" "MAKE-CHARACTER-DATA-NODE"
+   "COMMENT-NODE" "IS-COMMENT-NODE" "*CLASS.COMMENT-NODE*" "MAKE-COMMENT-NODE"
+   "CONDITIONAL-SECTION" "IS-CONDITIONAL-SECTION" "*CLASS.CONDITIONAL-SECTION*" "MAKE-CONDITIONAL-SECTION"
+   "DECIMAL-ATTR-NODE" "IS-DECIMAL-ATTR-NODE" "*CLASS.DECIMAL-ATTR-NODE*" "MAKE-DECIMAL-ATTR-NODE"
+   "DECIMAL-VALUE" "IS-DECIMAL-VALUE" "*CLASS.DECIMAL-VALUE*" "MAKE-DECIMAL-VALUE"
+   "DEF-ATTR" "IS-DEF-ATTR" "*CLASS.DEF-ATTR*" "MAKE-DEF-ATTR"
+   "DEF-ELEM-PROPERTY-TYPE" "IS-DEF-ELEM-PROPERTY-TYPE" "*CLASS.DEF-ELEM-PROPERTY-TYPE*" "MAKE-DEF-ELEM-PROPERTY-TYPE"
+   "DEF-ELEM-TYPE" "IS-DEF-ELEM-TYPE" "*CLASS.DEF-ELEM-TYPE*" "MAKE-DEF-ELEM-TYPE"
+   "DEF-ENTITY" "IS-DEF-ENTITY" "*CLASS.DEF-ENTITY*" "MAKE-DEF-ENTITY"
+   "DEF-EXTERNAL-ENTITY" "IS-DEF-EXTERNAL-ENTITY" "*CLASS.DEF-EXTERNAL-ENTITY*" "MAKE-DEF-EXTERNAL-ENTITY"
+   "DEF-EXTERNAL-GENERAL-ENTITY" "IS-DEF-EXTERNAL-GENERAL-ENTITY" "*CLASS.DEF-EXTERNAL-GENERAL-ENTITY*" "MAKE-DEF-EXTERNAL-GENERAL-ENTITY"
+   "DEF-EXTERNAL-PARAMETER-ENTITY" "IS-DEF-EXTERNAL-PARAMETER-ENTITY" "*CLASS.DEF-EXTERNAL-PARAMETER-ENTITY*" "MAKE-DEF-EXTERNAL-PARAMETER-ENTITY"
+   "DEF-GENERAL-ENTITY" "IS-DEF-GENERAL-ENTITY" "*CLASS.DEF-GENERAL-ENTITY*" "MAKE-DEF-GENERAL-ENTITY"
+   "DEF-INTERNAL-ENTITY" "IS-DEF-INTERNAL-ENTITY" "*CLASS.DEF-INTERNAL-ENTITY*" "MAKE-DEF-INTERNAL-ENTITY"
+   "DEF-INTERNAL-GENERAL-ENTITY" "IS-DEF-INTERNAL-GENERAL-ENTITY" "*CLASS.DEF-INTERNAL-GENERAL-ENTITY*" "MAKE-DEF-INTERNAL-GENERAL-ENTITY"
+   "DEF-INTERNAL-PARAMETER-ENTITY" "IS-DEF-INTERNAL-PARAMETER-ENTITY" "*CLASS.DEF-INTERNAL-PARAMETER-ENTITY*" "MAKE-DEF-INTERNAL-PARAMETER-ENTITY"
+   "DEF-NOTATION" "IS-DEF-NOTATION" "*CLASS.DEF-NOTATION*" "MAKE-DEF-NOTATION"
+   "DEF-PARAMETER-ENTITY" "IS-DEF-PARAMETER-ENTITY" "*CLASS.DEF-PARAMETER-ENTITY*" "MAKE-DEF-PARAMETER-ENTITY"
+   "DEFNAMESPACE"
+   "DOC-CHILD-NODE" "IS-DOC-CHILD-NODE" "*CLASS.DOC-CHILD-NODE*" "MAKE-DOC-CHILD-NODE"
+   "DOC-NODE" "IS-DOC-NODE" "*CLASS.DOC-NODE*" "MAKE-DOC-NODE"
+   "DOCTYPE-CHILD-NODE" "IS-DOCTYPE-CHILD-NODE" "*CLASS.DOCTYPE-CHILD-NODE*" "MAKE-DOCTYPE-CHILD-NODE"
+   "DOCUMENT-TYPE-DECLARATION-INFORMATION-NODE" "IS-DOCUMENT-TYPE-DECLARATION-INFORMATION-NODE" "*CLASS.DOCUMENT-TYPE-DECLARATION-INFORMATION-NODE*" "MAKE-DOCUMENT-TYPE-DECLARATION-INFORMATION-NODE"
+   "DOUBLE-ATTR-NODE" "IS-DOUBLE-ATTR-NODE" "*CLASS.DOUBLE-ATTR-NODE*" "MAKE-DOUBLE-ATTR-NODE"
+   "DOUBLE-VALUE" "IS-DOUBLE-VALUE" "*CLASS.DOUBLE-VALUE*" "MAKE-DOUBLE-VALUE"
+   "ELEM-CHILD-NODE" "IS-ELEM-CHILD-NODE" "*CLASS.ELEM-CHILD-NODE*" "MAKE-ELEM-CHILD-NODE"
+   "ELEM-NODE" "IS-ELEM-NODE" "*CLASS.ELEM-NODE*" "MAKE-ELEM-NODE"
+   "ELEM-PROPERTY-NODE" "IS-ELEM-PROPERTY-NODE" "*CLASS.ELEM-PROPERTY-NODE*" "MAKE-ELEM-PROPERTY-NODE"
+   "ENTITIES-ATTR-NODE" "IS-ENTITIES-ATTR-NODE" "*CLASS.ENTITIES-ATTR-NODE*" "MAKE-ENTITIES-ATTR-NODE"
+   "ENTITY-ATTR-NODE" "IS-ENTITY-ATTR-NODE" "*CLASS.ENTITY-ATTR-NODE*" "MAKE-ENTITY-ATTR-NODE"
+   "ENTITY-INFORMATION-NODE" "IS-ENTITY-INFORMATION-NODE" "*CLASS.ENTITY-INFORMATION-NODE*" "MAKE-ENTITY-INFORMATION-NODE"
+   "ENTITY-VALUE" "IS-ENTITY-VALUE" "*CLASS.ENTITY-VALUE*" "MAKE-ENTITY-VALUE"
+   "ENUMERATION-ATTR-NODE" "IS-ENUMERATION-ATTR-NODE" "*CLASS.ENUMERATION-ATTR-NODE*" "MAKE-ENUMERATION-ATTR-NODE"
+   "EXT-SUBSET-NODE" "IS-EXT-SUBSET-NODE" "*CLASS.EXT-SUBSET-NODE*" "MAKE-EXT-SUBSET-NODE"
+   "EXTERNAL-PARSED-ENTITY" "IS-EXTERNAL-PARSED-ENTITY" "*CLASS.EXTERNAL-PARSED-ENTITY*" "MAKE-EXTERNAL-PARSED-ENTITY"
+   "FLOAT-VALUE" "IS-FLOAT-VALUE" "*CLASS.FLOAT-VALUE*" "MAKE-FLOAT-VALUE"
+   "FUNCTION-VALUE" "IS-FUNCTION-VALUE" "*CLASS.FUNCTION-VALUE*" "MAKE-FUNCTION-VALUE"
+   "ID-ATTR-NODE" "IS-ID-ATTR-NODE" "*CLASS.ID-ATTR-NODE*" "MAKE-ID-ATTR-NODE"
+   "ID-REF-ATTR-NODE" "IS-ID-REF-ATTR-NODE" "*CLASS.ID-REF-ATTR-NODE*" "MAKE-ID-REF-ATTR-NODE"
+   "ID-REF-VALUE" "IS-ID-REF-VALUE" "*CLASS.ID-REF-VALUE*" "MAKE-ID-REF-VALUE"
+   "ID-REFS-ATTR-NODE" "IS-ID-REFS-ATTR-NODE" "*CLASS.ID-REFS-ATTR-NODE*" "MAKE-ID-REFS-ATTR-NODE"
+   "ID-VALUE" "IS-ID-VALUE" "*CLASS.ID-VALUE*" "MAKE-ID-VALUE"
+   "INFO-ITEM-NODE" "IS-INFO-ITEM-NODE" "*CLASS.INFO-ITEM-NODE*" "MAKE-INFO-ITEM-NODE"
+   "NMTOKEN-ATTR-NODE" "IS-NMTOKEN-ATTR-NODE" "*CLASS.NMTOKEN-ATTR-NODE*" "MAKE-NMTOKEN-ATTR-NODE"
+   "NMTOKENS-ATTR-NODE" "IS-NMTOKENS-ATTR-NODE" "*CLASS.NMTOKENS-ATTR-NODE*" "MAKE-NMTOKENS-ATTR-NODE"
+   "NOTATION-ATTR-NODE" "IS-NOTATION-ATTR-NODE" "*CLASS.NOTATION-ATTR-NODE*" "MAKE-NOTATION-ATTR-NODE"
+   "NOTATION-VALUE" "IS-NOTATION-VALUE" "*CLASS.NOTATION-VALUE*" "MAKE-NOTATION-VALUE"
+   "NS-NODE" "IS-NS-NODE" "*CLASS.NS-NODE*" "MAKE-NS-NODE"
+   "NUMBER-VALUE" "IS-NUMBER-VALUE" "*CLASS.NUMBER-VALUE*" "MAKE-NUMBER-VALUE"
+   "ORDINAL-NODE" "IS-ORDINAL-NODE" "*CLASS.ORDINAL-NODE*" "MAKE-ORDINAL-NODE"
+   "PI-NODE" "IS-PI-NODE" "*CLASS.PI-NODE*" "MAKE-PI-NODE"
+   "QNAME-ATTR-NODE" "IS-QNAME-ATTR-NODE" "*CLASS.QNAME-ATTR-NODE*" "MAKE-QNAME-ATTR-NODE"
+   "QNAME-CONTEXT" "IS-QNAME-CONTEXT" "*CLASS.QNAME-CONTEXT*" "MAKE-QNAME-CONTEXT"
+   "QNAME-VALUE" "IS-QNAME-VALUE" "*CLASS.QNAME-VALUE*" "MAKE-QNAME-VALUE"
+   "RECUR-DUR-ATTR-NODE" "IS-RECUR-DUR-ATTR-NODE" "*CLASS.RECUR-DUR-ATTR-NODE*" "MAKE-RECUR-DUR-ATTR-NODE"
+   "RECUR-DUR-VALUE" "IS-RECUR-DUR-VALUE" "*CLASS.RECUR-DUR-VALUE*" "MAKE-RECUR-DUR-VALUE"
+   "REF-CHARACTER-ENTITY" "IS-REF-CHARACTER-ENTITY" "*CLASS.REF-CHARACTER-ENTITY*" "MAKE-REF-CHARACTER-ENTITY"
+   "REF-ENTITY" "IS-REF-ENTITY" "*CLASS.REF-ENTITY*" "MAKE-REF-ENTITY"
+   "REF-GENERAL-ENTITY" "IS-REF-GENERAL-ENTITY" "*CLASS.REF-GENERAL-ENTITY*" "MAKE-REF-GENERAL-ENTITY"
+   "REF-NODE" "IS-REF-NODE" "*CLASS.REF-NODE*" "MAKE-REF-NODE"
+   "REF-PARAMETER-ENTITY" "IS-REF-PARAMETER-ENTITY" "*CLASS.REF-PARAMETER-ENTITY*" "MAKE-REF-PARAMETER-ENTITY"
+   "STRING-ATTR-NODE" "IS-STRING-ATTR-NODE" "*CLASS.STRING-ATTR-NODE*" "MAKE-STRING-ATTR-NODE"
+   "STRING-VALUE" "IS-STRING-VALUE" "*CLASS.STRING-VALUE*" "MAKE-STRING-VALUE"
+   "TIME-ATTR-NODE" "IS-TIME-ATTR-NODE" "*CLASS.TIME-ATTR-NODE*" "MAKE-TIME-ATTR-NODE"
+   "TIME-DUR-VALUE" "IS-TIME-DUR-VALUE" "*CLASS.TIME-DUR-VALUE*" "MAKE-TIME-DUR-VALUE"
+   "URI-REF-ATTR-NODE" "IS-URI-REF-ATTR-NODE" "*CLASS.URI-REF-ATTR-NODE*" "MAKE-URI-REF-ATTR-NODE"
+   "URI-REF-VALUE" "IS-URI-REF-VALUE" "*CLASS.URI-REF-VALUE*" "MAKE-URI-REF-VALUE"
+   "VALUE-NODE" "IS-VALUE-NODE" "*CLASS.VALUE-NODE*" "MAKE-VALUE-NODE"   
+   ;; accessors
+   "URI"
+   "CHILDREN"
+   "ROOT"
+   "VALIDATE?"
+   "PARENT"
+   "DEF"
+   "DOCUMENT"
+   "EXPAND"
+   "NAMESPACES"
+   "ATTRIBUTES"
+   "PROPERTIES"
+   "NOTATION"
+   "ORDINALITY"
+   "MODEL"
+   "NODE-CLASS"
+   "NODE-VALIDATOR"
+   "VALUE"
+   "ENCODING"
+   "NODES"
+   "PREFIX"
+   "TARGET"
+   "DEREF"
+   "IS-FIXED"
+   "IS-REQUIRED"
+   "IS-IMPLIED"
+   "IS-EPHEMERAL"
+   "PROTOTYPE"
+   "STIPULATION"
+   "PROPS-DEFAULTED"
+   "PROPS-REQUIRED"
+   
+   "VERSION"
+   "STANDALONE"
+   "SYSTEM-ID"
+   "PUBLIC-ID"
+   "NAMESPACE-NAME"
+   "LOCAL-NAME"
+   
+   ;; additional accessors and abstract nodes which are not in the model
+   "ENTITIES"
+   "NOTATIONS"
+   "TYPES"
+   "ATTRIBUTES"
+   "PRECEDING-SIBLINGS"
+   "FOLLOWING-SIBLINGS"
+   "GENERAL-ENTITIES"
+   "PARAMETER-ENTITIES"
+   "NAMED-VALUE-NODE"
+   "ELEM-PROPERTY-NODE"
+   "ELEM-CHILD-NODE"
+   "DOC-CHILD-NODE"
+   "FUNCTION-VALUE"
+   "IS-FUNCTION-VALUE"
+   "EXPRESSION"
+   "CHARACTER-DATA-NODE"
+   "PI-NODES"
+   "COMMENT-NODES"
+   "CONTENT"
+   "ENTITY-INFO"
+   "REF-ELEM-NODE"
+   "REF-ELEM-PROPERTY-NODE"
+   
+   "CLONE-NODE"
+   "LOCAL-PART"
+   "CHECK-CONSTRAINT"
+   "BIND-DEFINITION"
+   "COLLECT-MODEL-NAMES"
+   "FIRST-MODEL-NAME"
+   "ASSIGN-UNIVERSAL-NAMES"
+   "VALIDATE-CONTENT"
+   
+   ;; serialization interface
+   "WRITE-NODE"
+   "*NODE-LEVEL*"
+   "*VERBOSE-QNAMES*"
+   
+   "ELEMENT-APPEND"
+   "ELEMENT-GET"
+   "ELEMENT-SET"
+   "EXPORT-NAMES"
+   "FIND-ATTRIBUTE"
+   "FIND-ELEMENT"
+   "FIND-ELEMENT-BY-ID"
+   "FIND-NAME"
+   "FIND-NAMESPACE"
+   "FIND-PREFIX"
+   "INTERN-NAME"
+   "INTERN-PREFIX"
+   "INTERN-TYPE"
+   "MAKE-NAME"
+   "MAKE-QNAME"
+   "NAME"
+   "NAMESPACE"
+   "CONTENT-NAME-TYPE-NAME"
+
+   "*CONSTANT-PREFIX-STRINGS*"
+   "*DEF-NULL-NAMESPACE-NODE*"
+   "*DEFAULT-NAMESPACE-ATTRIBUTE-NAME*"
+   "*DEFAULT-PREFIX-NAME*"
+   "*DEFAULT-NAMESPACES*"
+   "*DEFAULT-NAMESPACE*"
+   "*DOCUMENT*"
+   "*ELEMENT-COUNT*"
+   "*EMPTY-NAME*"
+   "*GENERATED-NS-BINDINGS*"
+   "*INPUT-SOURCE*"
+   "*MIXED-NAME*"
+   "*NAMESPACE-BINDINGS*"
+   "*NAMESPACE-DICTIONARY*"
+   "*NAMESPACE-MODE*"
+   "*NAMESPACE*"
+   "*NULL-NAME*"
+   "*NULL-NAMESPACE*"
+   "*NULL-NAMESPACE-NODE*"
+   "*OUTPUT-DESTINATION*"
+   "*UNBINDABLE-PREFIX-STRINGS*"
+   "*XHTML-NAMESPACE*"
+   "*XMLNS-NAMESPACE*"
+   "*XML-NAMESPACE*"
+   "*XML-PREFIX-NAMESTRING*"
+   "*XMLNS-PREFIX-NAMESTRING*"
+   "*WILD-NAMESPACE*"
+   "*WILD-NAMESTRING*"
+   "*WILD-PREFIX*"
+   "*XML-NAMESPACE-ATTRIBUTE-NAME*"
+   "*XML-NAMESPACE-NODE*"
+   "*XMLNS-NAMESPACE-ATTRIBUTE-NAME*"
+   "*XMLNS-NAMESPACE-NODE*"
+   "*XSD-NAMESPACE*"
+   "PREFIX-VALUE"
+   "NAMESPACE-PREFIX"
+
+   ;; qualified name resolution
+   "*QNAME-EXTENT*"
+   "*DEF-TYPE-ID-QNAME-CONTEXTS*"
+   "*DEF-TYPE-MODEL-QNAME-CONTEXTS*"
+   "*DEF-ATTR-QNAME-CONTEXTS*"
+   "NEW-QNAME-EXTENT"
+   "QNAME-EXTENT"
+   "QNAME-EXTENT-EQUAL"
+   "*DISTINGUISH-QNAME-HOMOGRAPHS*"
+   "*CONFLATE-QNAME-SYNONYMS*"
+   "ACCUMULATE-QNAMES"
+   "ABSTRACT-NAME"
+   "UNAME"
+   "QNAME"
+
+   "VALUE-STRING"
+   "VALUE-NUMBER"
+   "VALUE-BOOLEAN"
+   "FIND-DEF-PARAMETER-ENTITY"
+   "FIND-DEF-GENERAL-ENTITY"
+   "FIND-DEF-ELEM-TYPE"
+   "FIND-DEF-NOTATION"
+   
+   "IS-NAMECHARDATA"
+   "IS-NCNAME"
+   
+   ;; utility functions
+   *SPECIALIZE-ELEM-NODE*
+   *SPECIALIZE-ATTR-NODE*
+   "*TOKEN-PACKAGE*"
+   "*WILD-NAME*"
+   "*WILD-UNAME*"
+   "*LANG-NAME*"
+   "!-reader"
+   "WALK-NODE"
+   "XML-ERROR"
+   "XML-EOF-ERROR"
+   "DOCUMENT-MODEL-ERROR"
+   "INTERNAL-XML-ERROR"
+   "VALIDITY-CERROR"
+   "VALIDITY-CONDITION"
+   "NAMESPACE-ERROR"
+   "WELLFORMEDNESS-ERROR"
+   "WELLFORMEDNESS-CERROR"
+   "SIMPLE-XML-ERROR"
+   "INCOMPLETE-PARSE"
+   "PRINT-QNAME"
+   "PRINT-NS-NODE"
+   
+   "COLLECT-NODE-BY-TYPE"
+   "MAP-NODE-BY-TYPE"
+   
+   "COLLECT-ATTRIBUTE-DECLARATIONS"
+   "COLLECT-ATTRIBUTES"
+   "COLLECT-COMMENTS"
+   "COLLECT-COMMENTS-AND-PIS"
+   "COLLECT-DECLARATIONS"
+   "COLLECT-ELEMENT-DECLARATIONS"
+   "COLLECT-ELEMENT-PROPERTIES"
+   "COLLECT-ELEMENTS"
+   "COLLECT-GENERAL-ENTITIES"
+   "COLLECT-NAMESPACES"
+   "COLLECT-NOTATIONS"
+   "COLLECT-PARAMETER-ENTITIES"
+   "COLLECT-PIS"
+   
+   "UNAME-EQUAL"
+   "QNAME-EQUAL"
+   "NODE-EQUAL"
+   "MAKE-DOCUMENT-NAMESPACE-BINDINGS"
+   "content-model"
+   "|-content"
+   "?-content"
+   "*-content"
+   "bounded-content"
+   "MIXED-content"
+   "+-content"
+   "content"
+   ",-content"
+   "content-name"
+   "type-name" 
+   "mixed-atn"
+   "element-atn"
+   
+   ;; character classes
+   "XML-CHAR?"
+   "XML-SPACE?"
+   "XML-IDEOGRAPHIC?"
+   "XML-BASECHAR?"
+   "XML-LETTER?"
+   "XML-DIGIT?"
+   "XML-COMBININGCHAR?"
+   "XML-EXTENDER?"
+   "XML-NAMECHAR?"
+   "XML-INITIAL-NAMECHAR?"
+   "XML-PUBIDCHAR?"
+   "XML-MARKUPCHAR?"
+   "XML-LATINALPHACHAR?"
+   "XML-LATINCHAR?"
+   "XML-LANGUAGEIDCHAR?"
+   "XML-VERSIONNUMCHAR?"
+   "XML-MODEL-OP-CHAR?"
+   "XML-SUCCESSOR-EOLCHAR?"
+   "XML-INITIAL-EOLCHAR?"
+
+   ;; graphs
+   "WRITE-NODE-GRAPH"
+   "ENCODE-NODE-GRAPH"
+   "NODE-GRAPH-PROPERTIES"
+   "NODE-LINK-PROPERTIES"
+
+   ;; 0.950 compatibility
+   :annotation-model
+   :constant-prefix-p
+   :direct-annotation-model
+   :condition-name
+   :condition-namespace
+   :document
+   :document-element
+   :element-definition
+   :element-p
+   :general-entity-definition
+   :id-attr-node-p
+   :namespace-declaration
+   :namespace-equal
+   :parameter-entity-definition
+   :type-definition
+   :unbindable-prefix-p
+   :with-namespaces
+   :default-namespace
+   :*default-prefix-string*
+   :local-part-equal
+   :valid
+   :namespace-printname
+
+   ".//*"
+   ".//"
+   "./@"
+   "./@-STRING"
+   "./@-VALUE"
+   "./"
+   "./-STRING"
+   "./-VALUE"
+
+   ))
+
+(defPackage "XML-PARSER"
+  (:nicknames "XMLP"
+              :de.setf.xml
+              :de.setf.xml.interface
+              :de.setf.xml.codec.implementation
+              :de.setf.xml.process.implementation)
+  (:use "BNFP" #+CCL "CCL" "COMMON-LISP" "XQDM" "XUTILS")
+  #+CCL (:shadowing-import-from "XQDM" "TARGET")
+  (:export
+   "*CONSTRUCTION-CONTEXT*"
+   "*SPECIALIZE-ELEM-NODE*"
+   "*SPECIALIZE-ATTR-NODE*"
+   "AttCharData-Constructor"
+   "Attribute-Constructor"
+   "CALL-WITH-NAME-PROPERTIES"
+   "CharData-Constructor"
+   "CDataCharData-Constructor"
+   "Comment-Constructor"
+   "CONSTRUCT-ATTRIBUTE-NAME"
+   "CONSTRUCT-ATTRIBUTE-PLIST"
+   "CONSTRUCT-CONSTRUCTION-CONTEXT"
+   "CONSTRUCT-CONTENT-SEQUENCE"
+   "CONSTRUCT-ELEM-PROPERTY-NODE"
+   "CONSTRUCT-ELEMENT-NAME"
+   "CONSTRUCT-ELEMENT-NODE"
+   "CONSTRUCT-NS-NODE"
+   "CONSTRUCT-STRING-ATTR-NODE"
+   "Content-Constructor"
+   "ContentSequence-Constructor"
+   ;; the constructor method for attribute default values remains unexported
+   ;; until specialization is implemented for the DTD as a whole...
+   ;; "DefaultAttCharData-Constructor"
+   "DEFPIFUNCTION"
+   "Document-Constructor"
+   "DOCUMENT-PARSER"
+   "Element-Constructor"
+   "ENCODE-CHAR"
+   "ENCODE-FORMAT"
+   "ENCODE-NODE"
+   "ENCODE-STRING"
+   "ENCODE-NEWLINE"
+   "ExtParsedEnt-Constructor"
+   "Pi-Constructor"
+   "PI-FUNCTION"
+   "PiCharData-Constructor"
+   ;; "MAKE-NCNAME"
+   ;; "MAKE-UNAME"
+   "PARSE-EXTERNAL-ENTITY-DATA"
+   "PARSE-EXTERNAL-SOURCE"
+   "PARSE-EXTERNAL-SUBSET"
+   "PARSE-EXTERNAL-GENERAL-ENTITY"
+   "READ-EXTERNAL-ENTITY-DATA"
+   "STag-Constructor"
+   "WRITE-NODE"
+   "WRITER-STREAM"
+   "XML"
+   "*XML-WRITER-STREAM*"
+   "WITH-XML-WRITER"
+
+   ;; 0.950 compatibility
+   :prefix-namespace
+   )
+  )
+
+(defPackage "XML-PATH"
+  (:nicknames "XP")
+  (:use "BNFP" #+CCL "CCL" "COMMON-LISP" "XQDM" "XUTILS")
+  ;; the term 'step' is central to the standard so it is shadowed rather
+  ;; than using an alternative.
+  (:shadow "STEP")
+  #+CCL (:shadowing-import-from "XQDM" "TARGET")
+  (:EXPORT
+   "PATH" "STEP" "CONTEXT"
+   "PATH-ELEMENT" "STEP-ELEMENT" "STEP-GENERATOR" "STEP-FILTER"
+   "ENUMERATING-STEP-GENERATOR" "LIST-GENERATOR" "AXIS-GENERATOR"
+   "MAP-NODES" "NAME-TEST" "NODE-SET" "NODE-TEST" "TYPE-TEST"
+   "TERM" "IS-ABSOLUTE" "STEPS" "GENERATOR"
+   "TEST" "PREDICATES" "SOURCE" "PREFIX" "LOCAL-PART"
+   "STEP-GENERATOR-FUNCTION" "STEP-PREDICATE-FUNCTION"
+   "LITERAL"
+   "NODE" "LOCATION" "SIZE" "BINDINGS" "VARIABLES" "FUNCTIONS" "NAMESPACES"
+   "EXPRESSION"
+   
+   "*CLASS.PATH*"
+   "*CLASS.STEP*"
+   "*CLASS.CONTEXT*"
+   "*CLASS.CHILD*"
+   "*DOCUMENTS*"
+   )
+  )
+
+(defPackage "XML-QUERY"
+  (:nicknames "XQ")
+  (:use "BNFP" #+CCL "CCL" "COMMON-LISP" "XQDM" "XUTILS")
+  #+CCL (:shadowing-import-from "XQDM" "TARGET")
+  )
+
+
+(defPackage "xml" (:use)
+  (:nicknames "http://www.w3.org/XML/1998/namespace")
+  (:export " " "!=" "!=" "!==" "\"" "#FIXED" "#IMPLIED" "#PCDATA" "#REQUIRED"
+           "$" "%" "&" "&#" "&#x" "'" "(" "()" ")" ")*" "*" "*:" "+" ","
+           "-" "-->" "->" "." ".." "/" "//" "/>" ":" ":=" "::" ":*" ";" "<" "<!" "<!--"
+           "<!ATTLIST" "<!DOCTYPE" "<!ELEMENT" "<!ENTITY" "<!NOTATION"
+           "<![" "<![CDATA[" "</" "<=" "<?" "<?xml" "=" "==" ">" ">=" "?" "?>"
+           "@" "AFTER" "ANY" "ASCENDING" "BEFORE" "CDATA" "DESCENDING" "EMPTY"
+           "ENTITIES" "ENTITY" "ID" "IDREF" "IDREFS" "IGNORE" "INCLUDE"
+           "NDATA" "NMTOKEN" "NMTOKENS" "NOT" "NOTATION" "PUBLIC" "SYSTEM"
+           "[" "]" "]]>" "^"
+           "ancestor" "ancestor-or-self" "and" "attribute"
+           "child" "comment"
+           "descendant" "descendant-or-self" "div" "document"
+           "encoding" "following" "following-sibling"
+           "id" "key" "lang"
+           "mixed" "mod" "namespace" "no" "node" "not" "or"
+           "parent" "preceding" "preceding-sibling" "processing-instruction"
+           "root" "self" "standalone" "text" "union" "version" "xml" "yes"
+           "{" "|" "}" "¯"))
+;;
+;;
+;; packages for implementing xml data modeling.
+;; types from the datatype package appear in expression in the two algrbras. they are
+;; exported, but not used/imported, as the customary expression uses the prefix.
+;; the case distinctions distinguish grammatic meta-symbols which participate in special
+;; forms from the names for functions and types, which conserve case.
+
+;; package for xml query types
+(defPackage "XML-SCHEMA-DATATYPES" (:use) (:nicknames "XSD")
+  (:export "TYPEP" "TYPEP-SPECIALIZED"
+           "IS-anyComplexType" "IS-anySimpleType" "IS-anyTreeType" "IS-anyType"  "IS-anyURI"
+           "IS-attribute" "IS-base64Binary" "IS-boolean" "IS-byte" "IS-comment" "IS-complex"
+           "IS-date" "IS-dateTime"
+           "IS-decimal" "IS-double" "IS-duration"
+           "IS-element" "IS-ENTITY" "IS-ENTITIES" "IS-float"
+           "IS-gDay" "IS-gMonth" "IS-gMonthDay" "IS-gYear"
+           "IS-hexBinary" "IS-ID" "IS-IDREF" "IS-IDREFS"
+           "IS-int" "IS-integer" "IS-language" "IS-long"
+           "IS-Name" "IS-NCName" "IS-NMTOKEN" "IS-NMTOKENS"
+           "IS-negativeInteger" "IS-nonNegativeInteger" "IS-nonPositiveInteger" "IS-normalizedString"
+           "IS-NOTATION" "IS-pi" "IS-positiveInteger" "IS-scalar" "IS-short" "IS-simple"
+           "IS-string" "IS-time" "IS-token" "IS-UName"
+           "IS-unsignedByte" "IS-unsignedInt" "IS-unsignedLong" "IS-unsignedShort"
+           
+           "VALIDATE-STRING" "VALIDATE-ATTRIBUTE" "VALIDATE-NAME"))
+
+;; package for xml path "algebra" operators
+(defPackage "XML-PATH-ALGEBRA" (:use) (:nicknames "XPA")
+  (:import-from "xml" "document")
+  (:intern "APPLY-DESCENDANTS-PATH" "APPLY-CHILD-PATH" "APPLY-PATH"
+           "APPLY-PREDICATE-PATH" "APPLY-STEP"
+           "EVAL" "FUNCALL" "LANGUAGE-EQUAL" "NODES" "VARIABLE"
+           "SYMBOL-FUNCTION" "GENSYM")
+  (:export
+   ;; path components
+   "PATH" "STEP" "UNAME"
+   "ID-STEP" "KEY-STEP" "PARENT-STEP" "ROOT-STEP" "SELF-STEP" "WILD-INFERIOR-STEP" 
+   "AXIS-GENERATOR" "LIST-GENERATOR"
+   "ANCESTOR" "ANCESTOR-OR-SELF" "ATTRIBUTE" "CHILD" "DESCENDANT"
+   "DESCENDANT-OR-SELF" "FOLLOWING" "FOLLOWING-OR-SELF" "FOLLOWING-SIBLING"
+   "ID" "KEY"
+   "NAMESPACE" "PARENT" "PRECEDING" "PRECEDING-SIBLING" "ROOT" "SELF"
+   "NAME-TEST" "@NAME-TEST" "TYPE-TEST" "TYPE-NAME-TEST"
+   "PI-TEST" "COMMENT-TEST" "TEXT-TEST"
+   "PREDICATE"
+   ;; state variables
+   "*CONTEXT-NODE*" "*POSITION*" "*COUNT*"
+   ;; library functions
+   "and"
+   "boolean"
+   "ceiling" "contains" "count"
+   "document"
+   "false" "floor"
+   "id"
+   "last" "local-name" "lang"
+   "mod"
+   "name" "namespace-uri" "normalize-space" "not"  "number"
+   "or"
+   "position"
+   "round"
+   "starts-with" "string" "substring"
+   "substring-after" "substring-before"
+   "string-length" "sum" 
+   "translate" "true"
+   "union"
+   "+" "-" "*" "/" "<" "<=" ">" ">=" "=" "!="
+   "NaN" "0+" "0-" "infinity+" "infinity-"
+   ))
+
+;; package for xml query algebra operators
+(defPackage "XML-QUERY-ALGEBRA" (:use) (:nicknames "XQA")
+  (:import-from "XPA"
+                "and"
+                "boolean"
+                "ceiling" "contains" "count"
+                "document"
+                "false" "floor"
+                "id"
+                "last" "local-name" "lang"
+                "mod"
+                "name" "namespace-uri" "normalize-space" "not"  "number"
+                "or"
+                "position"
+                "round"
+                "starts-with" "string" "substring"
+                "substring-after" "substring-before"
+                "string-length" "sum" 
+                "translate" "true"
+                "union"
+                ;; these are not imported "<" "<=" ">" ">=" "="
+                ;; as the comparison differs
+                "+" "-" "*" "/" "!="
+                "NaN" "0+" "0-" "infinity+" "infinity-"
+                "GENSYM")
+  (:EXPORT  "IF" "LET" "ELSE" "FOR" "MATCH" "CASE" "WHERE"
+            "TYPE" "FUN" "QUERY"
+            "AND" "OR" "NOT" "DIV" "MOD" "SCHEMA"
+            "+" "-" "*" "<" "<=" ">" ">=" "=" "==" "!=" "!=="
+            "//" "/" "." "|"
+            "DEFUN"
+            "ATTRIBUTE" "ELEMENT"
+            "MAKE-NCNAME" "MAKE-TNAME" "MAKE-UNAME"
+            "sequence" "UNION" "DIFFERENCE" "INTERSECTION" "SORT"
+            "ERROR" "INSTANCEOF" "BEFORE" "AFTER"
+            "TYPEP" "TYPE" "SORT"
+            "TYPE-REF" "ID-TEST" "TYPEP" "RANGE-TEST"
+            ;; xpath algebra symbols
+            "and"
+            "boolean"
+            "cdata" "ceiling" "contains" "count"
+            "document"
+            "false" "floor"
+            "id"
+            "last" "local-name" "lang"
+            "mod"
+            "name" "namespace-uri" "normalize-space" "not"  "number"
+            "or"
+            "position"
+            "round"
+            "starts-with" "string" "substring"
+            "substring-after" "substring-before"
+            "string-length" "sum" 
+            "translate" "true"
+            "union"
+            "NaN" "0+" "0-" "infinity+" "infinity-"
+            ;; xml query algebra specific
+            "avg"
+            "bagtolist"
+            "data" "difference" "distinct_nodes" "distinct_value"
+            "comment" "Comment" "deref" 
+            "except"
+            "index" "intersection"
+            "listtobag" "localname"
+            "max" "min"
+            "namespace" "nodes"
+            "parent" "processing_instruction"
+            "ref"
+            "sequence" "sort"
+             "target"
+             "value"
+
+
+            "empty"
+             "==" ))
+
+(defPackage "$" (:use))
+
+(defpackage "XML-QUERY-LANGUAGE" (:use) (:nicknames "XQL")
+  (:import-from "XPA"
+                "and"
+                "boolean"
+                "ceiling" "contains" "count"
+                "document"
+                "false" "floor"
+                "id"
+                "last" "local-name" "lang"
+                "mod"
+                "name" "namespace-uri" "normalize-space" "not"  "number"
+                "or"
+                "position"
+                "round"
+                "starts-with" "string" "substring"
+                "substring-after" "substring-before"
+                "string-length" "sum"  
+                "translate" "true"
+                "union"
+                "+" "-" "*" "/" "!="
+                "NaN" "0+" "0-" "infinity+" "infinity-")
+  (:import-from "XQA"
+                "<" "<=" ">" ">=" "=")
+  (:export "ELEMENT" "ATTRIBUTE" "CAST" "TREAT" "INTERSECT" "EXCEPT"
+           "INSTANCEOF" "SOME" "EVERY" "FUNCTION"
+           "FUNCALL"  "NAMESPACE-DECL" "QNAME"  "SCHEMA-DECL"
+           "ID-PATH" "ATTRIBUTE-PATH" "TYPE-PATH" "ELEMENT-PATH"
+           "RANGE" "/" "//" "*" "STEP" "TYPE"
+           ;; xpath algebra symbols
+           "and"
+           "boolean"
+           "ceiling" "contains" "count"
+           "document"
+           "false" "floor"
+           "id"
+           "last" "local-name" "lang"
+           "mod"
+           "name" "namespace-uri" "normalize-space" "not"  "number"
+           "or"
+           "position"
+           "round"
+           "starts-with" "string" "substring"
+           "substring-after" "substring-before"
+           "string-length" "sum" 
+           "translate" "true"
+           "union"
+           "+" "-" "*" "/" "<" "<=" ">" ">=" "=" "!="
+           "NaN" "0+" "0-" "infinity+" "infinity-"
+           ;; xquery language library 
+           "comment" "date" "distinct"
+           "empty" "equal" "filter" "last"
+           "name" "number" "pi" "union"))
+
+
+;; additions for cl-http tokenizer
+#-CL-HTTP
+(defpackage "WWW-UTILS"
+  (:use common-lisp)
+  (:intern "WITH-FAST-ARRAY-REFERENCES" "MAKE-LOCK" "WITH-LOCK-HELD"))
+
+#-CL-HTTP
+(defpackage tk1
+  (:use common-lisp)
+  (:import-from "WWW-UTILS" "WITH-FAST-ARRAY-REFERENCES" "MAKE-LOCK" "WITH-LOCK-HELD")
+  (:export
+   "*DEFAULT-TOKENIZER-SIZE*"
+   "CLEAR-TOKENIZER"
+   "CREATE-TOKENIZER"
+   "DEFINE-TOKENIZER"
+   "DESCRIBE-TOKENIZER"
+   "FIND-TOKENIZER-NAMED"
+   "GET-TOKEN"
+   "INSERT-TOKEN"
+   "MAP-TOKENS"
+   "REHASH-TOKENIZER"
+   "REMOVE-TOKEN"
+   "TOKENIZE"
+   "UNDEFINE-TOKENIZER"))
+
+#-CL-HTTP
+(defPackage "HTTP"
+  (:export "*STANDARD-CHARACTER-TYPE*"))
+
+:EOF
+
+



More information about the Cl-xml-cvs mailing list