The cxml-rng Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The cxml-rng Reference Manual

This is the cxml-rng Reference Manual, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 03:47:11 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction


   cxml-rng -- Relax NG for Closure XML

   An implementation of Relax NG schema validation written in Common
   Lisp, including support for compact syntax, DTD Compatibility, and the
   XSD type library.

   cxml-rng was written by David Lichteblau and is designed as an
   add-on library for Closure XML. It is available under an X11-style
   license.

   Please send bug reports to cxml-devel@common-lisp.net
   


For more information, see doc/index.html or
http://www.lichteblau.com/cxml-rng/


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 cxml-rng

Dependencies
Source

cxml-rng.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 cxml-rng.asd

Location

cxml-rng.asd

Systems

cxml-rng (system)

Packages

cxml-rng-system

Internal Definitions

closure-source-file (class)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 cxml-rng/package.lisp

Parent

cxml-rng (system)

Location

package.lisp

Packages

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 cxml-rng/floats.lisp

Dependency

package.lisp (file)

Parent

cxml-rng (system)

Location

floats.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.4 cxml-rng/unicode.lisp

Dependency

floats.lisp (file)

Parent

cxml-rng (system)

Location

unicode.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.5 cxml-rng/nppcre.lisp

Dependency

unicode.lisp (file)

Parent

cxml-rng (system)

Location

nppcre.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.6 cxml-rng/types.lisp

Dependency

nppcre.lisp (file)

Parent

cxml-rng (system)

Location

types.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.7 cxml-rng/parse.lisp

Dependency

types.lisp (file)

Parent

cxml-rng (system)

Location

parse.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.8 cxml-rng/validate.lisp

Dependency

parse.lisp (file)

Parent

cxml-rng (system)

Location

validate.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.9 cxml-rng/test.lisp

Dependency

validate.lisp (file)

Parent

cxml-rng (system)

Location

test.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.10 cxml-rng/clex.lisp

Dependency

test.lisp (file)

Parent

cxml-rng (system)

Location

clex.lisp

Packages

cxml-clex

Exported Definitions

deflexer (macro)

Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

3.1.11 cxml-rng/compact.lisp

Dependency

clex.lisp (file)

Parent

cxml-rng (system)

Location

compact.lisp

Exported Definitions

parse-compact (function)

Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

4.1 cxml-rng-system

Source

cxml-rng.asd

Use List
Internal Definitions

closure-source-file (class)


Next: , Previous: , Up: Packages   [Contents][Index]

4.2 cxml-types

@code{cxml-types} defines an extensible interface for XML-related
data types as required for use in Relax NG validation.

It includes Relax NG’s minimal built-in type library, which is named @code{:||} and defines the types "string" and "token".

In addition, it implements the built-in types of @a[http://www.w3.org/TR/xmlschema-2/]{XML Schema Datatypes}
as specified in @a[http://relaxng.org/xsd-20010907.html]{Guidelines for using W3C XML Schema Datatypes with RELAX NG}. The XSD type library is named @code{:|http://www.w3.org/2001/XMLSchema-datatypes|}.

The types defined by @a[http://relaxng.org/compatibility-20011203.html]{ RELAX NG DTD Compatibility}
are available through the data type library named @code{:|http://relaxng.org/ns/compatibility/datatypes/1.0|}.

@begin[Example]{section}
@begin{pre}
* (setf ttt (cxml-types:find-type :|| "token"))
#<CXML-TYPES:TOKEN-TYPE {1002D16B71@}>
* (cxml-types:parse ttt "a b")
"a b"
* (cxml-types:parse ttt "a b")
"a b"
* (cxml-types:equal-using-type ttt ** *)
T
@end{pre}
@end{section}
@begin[Type instances]{section}
Each type, together with its parameters, is represented by an instance of @code{data-type}. The generic function @fun{find-type}, defined for each library, creates type instances. A type’s properties are accessible using @fun{type-name}, @fun{type-library}, and @fun{type-context-dependent-p}.

@aboutclass{data-type}
@aboutclass{rng-type}
@aboutclass{xsd-type}
@aboutfun{find-type}
@aboutfun{type-name}
@aboutfun{type-library}
@aboutfun{type-context-dependent-p}
@end{section}
@begin[Using types]{section}
Types allow strings to be tested for validity and equality. @fun{validp} checks whether a string can be parsed. If it is valid, @fun{parse} will compute the string’s @emph{value}, and return a Lisp object of a type-specific class as a representation of that value. Values returned by @fun{parse} can be compared for equality using @fun{equal-using-type}. Some types also define a partial ordering, which can be queried using @fun{lessp-using-type}.

@aboutfun{validp}
@aboutfun{parse}
@aboutfun{equal-using-type}
@aboutfun{lessp-using-type}
@end{section}
@begin[The validation context]{section}
Some types are context dependent, as indicated by @fun{type-context-dependent-p}. Those types need access to state computed by the XML parser implicitly, like namespace bindings or the Base URI.

An abstract class @class{validation-context} is defined that
users of this API can implement a subclass of
to define methods for the generic functions listed below.

In addition, two pre-defined validation context implementations are provided, one for use with SAX, the other based on Klacks.

@aboutclass{validation-context} @aboutclass{sax-validation-context-mixin} @aboutclass{klacks-validation-context} @aboutfun{context-find-namespace-binding} @aboutfun{context-find-unparsed-entity}
@end{section}
@begin[Relax NG built-in types]{section}
The following primitive types are defined by Relax NG:

@aboutclass{string-type}
@aboutclass{token-type}
@end{section}
@begin[DTD compatibility types]{section}
The following primitive types are defined by Relax NG DTD Compatibility:

@aboutclass{id-type}
@aboutclass{idref-type}
@aboutclass{idrefs-type}
@end{section}
@begin[Primitive XSD built-in types]{section}
The following primitive types are part of the XSD built-in data type library:

@aboutclass{duration-type}
@aboutclass{date-time-type}
@aboutclass{time-type}
@aboutclass{date-type}
@aboutclass{year-month-type}
@aboutclass{year-type}
@aboutclass{month-day-type}
@aboutclass{day-type}
@aboutclass{month-type}
@aboutclass{boolean-type}
@aboutclass{base64-binary-type}
@aboutclass{hex-binary-type}
@aboutclass{float-type}
@aboutclass{decimal-type}
@aboutclass{double-type}
@aboutclass{any-uri-type}
@aboutclass{qname-type}
@aboutclass{notation-type}
@aboutclass{xsd-string-type}
@end{section}
@begin[Enumerated XSD built-in types]{section}
The following types are part of the XSD built-in data type
library, and are defined as derived types through enumeration. Relax NG does not implement the enumeration facet, so although these types are described as "derived", they are implemented directly.

@aboutclass{xsd-idrefs-type}
@aboutclass{entities-type}
@aboutclass{nmtokens-type}
@end{section}
@begin[Derived XSD built-in types]{section}
The following types are part of the XSD built-in data type
library, and are defined as derived types through restriction.

@aboutclass{normalized-string-type} @aboutclass{xsd-token-type}
@aboutclass{language-type}
@aboutclass{name-type}
@aboutclass{ncname-type}
@aboutclass{xsd-id-type}
@aboutclass{xsd-idref-type}
@aboutclass{entity-type}
@aboutclass{nmtoken-type}
@aboutclass{integer-type} @aboutclass{non-positive-integer-type} @aboutclass{negative-integer-type}
@aboutclass{long-type}
@aboutclass{int-type}
@aboutclass{short-type}
@aboutclass{byte-type}
@aboutclass{non-negative-integer-type} @aboutclass{unsigned-long-type} @aboutclass{unsigned-int-type} @aboutclass{unsigned-short-type} @aboutclass{unsigned-byte-type} @aboutclass{positive-integer-type}
@end{section}

Source

package.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

4.3 cxml-rng

@code{cxml-rng} implements @a[http://relaxng.org/spec-20011203.html]{ Relax NG} schema validation for Closure XML.

Support for @a[http://relaxng.org/compact-20021121.html]{Compact Syntax} and @a[http://relaxng.org/compatibility-20011203.html]{DTD Compatibility} is included.

@begin[Example]{section}
@begin{pre}(cxml:parse-file "test.xml" (cxml-rng:make-validator
(cxml-rng:parse-schema #p"test.rng")))
@end{pre}
@end{section}
@begin[Classes]{section}
@aboutclass{schema}
@aboutclass{rng-error}
@aboutclass{dtd-compatibility-error}
@end{section}
@begin[Parsing and validating]{section}
@aboutfun{parse-schema}
@aboutfun{parse-compact}
@aboutfun{make-validator} @aboutfun{make-dtd-compatibility-handler} @aboutfun{serialize-grammar}
@end{section}
@begin[Grammar introspection]{section}
The following classes and function are exported so that users can take a peek at the internals of the parsed and simplified grammar.

@aboutfun{schema-start}
@aboutclass{attribute}
@aboutclass{choice}
@aboutclass{data}
@aboutclass{element}
@aboutclass{empty}
@aboutclass{group}
@aboutclass{interleave}
@aboutclass{list-pattern}
@aboutclass{not-allowed}
@aboutclass{one-or-more}
@aboutclass{pattern}
@aboutclass{ref}
@aboutclass{text}
@aboutclass{value}
@aboutfun{pattern-child}
@aboutfun{pattern-a}
@aboutfun{pattern-b}
@aboutfun{pattern-name}
@aboutfun{pattern-element}
@aboutfun{pattern-type}
@aboutfun{pattern-string}
@aboutfun{pattern-value}
@aboutfun{pattern-params}
@aboutfun{pattern-except}
@end{section}

Source

package.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Previous: , Up: Packages   [Contents][Index]

4.4 cxml-clex

Source

clex.lisp (file)

Use List
Exported Definitions

deflexer (macro)

Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Macros

Macro: deflexer NAME MACRO-DEFS &rest RULE-DEFS
Package

cxml-clex

Source

clex.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Functions

Function: any-name-except INSTANCE

@arg[instance]{an instance of @class{any-name}}
@return{a @class{name-class} or @code{nil}}

Return the name class @em{not} allowed by this @code{any-name}, or @code{nil} if there is no such exception.

Package

cxml-rng

Source

parse.lisp (file)

Writer

(setf any-name-except) (function)

Function: (setf any-name-except) VALUE INSTANCE
Package

cxml-rng

Source

parse.lisp (file)

Reader

any-name-except (function)

Function: attribute LNAME ATTRS

@unexport{}

Package

cxml-rng

Source

parse.lisp (file)

Function: make-dtd-compatibility-handler SCHEMA HANDLER

@arg[schema]{the parsed Relax NG @class{schema} object}
@arg[handler]{an additional SAX handler to broadcast events to} @return{a SAX handler}
@short{This function creates a handler for DTD Compatibility processing} according to @code{schema}.

The validation handler processes SAX events and can be used with any function generating such events, in particular with cxml:parse-file.

Compatibility processing consists of two steps: Infoset modification for default values, and soundness checking for attributes with an ID-type.

In @code{sax:start-element}, infoset modification will be performed as specified for DTD compatibility. This entails addition of attributes according to their defaultValue, and addition (and, when the element ends, removal) of suitable namespace declarations if no prefix has been declared for the defaulted attribute yet.

Also in @code{sax:start-element}, the handler checks that no ID is declared more than once. Before the end of the document, the handler checks that all IDs referred to by attributes with ID-types IDREF or IDREFS have been declared.

@see{parse-schema}
@see{make-validator}

Package

cxml-rng

Source

validate.lisp (file)

Function: make-klacks-validation-context SOURCE

@arg[source]{a @a[http://common-lisp.net/project/cxml/klacks.html]{ klacks source}}
@return{a @class{klacks-validation-context}}
Create a validation-context that will query the given klacks source for the current parser context.

Package

cxml-types

Source

types.lisp (file)

Function: make-param NAME VALUE

@arg[name]{parameter name, a string} @arg[value]{parameter value, a string} @return{a @class{param}}
Create a data type parameter. @see{param-name} @see{param-value}

Package

cxml-types

Source

types.lisp (file)

Function: make-validating-source INPUT SCHEMA

@arg[input]{a @code{source} or a stream designator}
@arg[schema]{the parsed Relax NG @class{schema} object}
@return{a klacks source}
@short{This function creates a klacks source for @code{input} that validates events against @code{schema}.}

Input can be a klacks source or any argument applicable to @code{cxml:make-source}.

@see{parse-schema}
@see{make-validator}

Package

cxml-rng

Source

parse.lisp (file)

Function: make-validator SCHEMA &optional HANDLER

@arg[schema]{the parsed Relax NG @class{schema} object} @arg[handler]{an additional SAX handler to broadcast events to} @return{a SAX handler}
@short{This function creates a validation handler for @code{schema}}, to be used for validation of a document against that schema.

The validation handler processes SAX events and can be used with any function generating such events, in particular with cxml:parse-file.

Events will be passed on unchanged to @code{handler}.

This validator does @em{not} perform DTD compatibility processing. (Specify a DTD compatibility handler as the second argument to this function instead.)

@see{parse-schema}
@see{make-validating-source} @see{make-dtd-compatibility-handler}

Package

cxml-rng

Source

validate.lisp (file)

Function: name-class-choice-a INSTANCE

@arg[instance]{an instance of @class{name-class-choice}} @return{a @class{name-class}}
Returns the ’first’ of two name classes that are allowed. @see{name-class-choice-b}

Package

cxml-rng

Source

parse.lisp (file)

Writer

(setf name-class-choice-a) (function)

Function: (setf name-class-choice-a) VALUE INSTANCE
Package

cxml-rng

Source

parse.lisp (file)

Reader

name-class-choice-a (function)

Function: name-class-choice-b INSTANCE

@arg[instance]{an instance of @class{name-class-choice}} @return{a @class{name-class}}
Returns the ’second’ of two name classes that are allowed. @see{name-class-choice-a}

Package

cxml-rng

Source

parse.lisp (file)

Writer

(setf name-class-choice-b) (function)

Function: (setf name-class-choice-b) VALUE INSTANCE
Package

cxml-rng

Source

parse.lisp (file)

Reader

name-class-choice-b (function)

Function: name-lname INSTANCE

@arg[instance]{an instance of @class{name}} @return{a string}
Return the expected local name.

Package

cxml-rng

Source

parse.lisp (file)

Writer

(setf name-lname) (function)

Function: (setf name-lname) VALUE INSTANCE
Package

cxml-rng

Source

parse.lisp (file)

Reader

name-lname (function)

Function: name-uri INSTANCE

@arg[instance]{an instance of @class{name}} @return{a string}
Return the expected namespace URI.

Package

cxml-rng

Source

parse.lisp (file)

Writer

(setf name-uri) (function)

Function: (setf name-uri) VALUE INSTANCE
Package

cxml-rng

Source

parse.lisp (file)

Reader

name-uri (function)

Function: ns-name-except INSTANCE

@arg[instance]{an instance of @class{ns-name}}
@return{a @class{name-class} or @code{nil}}

Return the name class @em{not} allowed by this @code{ns-name}, or @code{nil} if there is no such exception.

Package

cxml-rng

Source

parse.lisp (file)

Writer

(setf ns-name-except) (function)

Function: (setf ns-name-except) VALUE INSTANCE
Package

cxml-rng

Source

parse.lisp (file)

Reader

ns-name-except (function)

Function: ns-name-uri INSTANCE

@arg[instance]{an instance of @class{ns-name}} @return{a string}
Return the expected namespace URI.

Package

cxml-rng

Source

parse.lisp (file)

Writer

(setf ns-name-uri) (function)

Function: (setf ns-name-uri) VALUE INSTANCE
Package

cxml-rng

Source

parse.lisp (file)

Reader

ns-name-uri (function)

Function: param-name INSTANCE

@arg[instance]{an instance of @class{param}} @return{a string}
The data type parameter’s name. @see{param-value}

Package

cxml-types

Source

types.lisp (file)

Writer

(setf param-name) (function)

Function: (setf param-name) VALUE INSTANCE
Package

cxml-types

Source

types.lisp (file)

Reader

param-name (function)

Function: param-value INSTANCE

@arg[instance]{an instance of @class{param}} @return{a string}
The data type parameter’s value. @see{param-name}

Package

cxml-types

Source

types.lisp (file)

Writer

(setf param-value) (function)

Function: (setf param-value) VALUE INSTANCE
Package

cxml-types

Source

types.lisp (file)

Reader

param-value (function)

Function: parse-compact PATHNAME

@arg[pathname]{a pathname designator for a Relax NG compact file} @return{a parsed @class{schema}}
@short{This function parses a Relax NG schema file in compact syntax} and returns a parsed representation of that schema.

@see{parse-schema}
@see{make-validator}

Package

cxml-rng

Source

compact.lisp (file)

Function: parse-schema INPUT &key ENTITY-RESOLVER PROCESS-DTD-COMPATIBILITY

@arg[input]{a string, pathname, stream, or xstream} @arg[entity-resolver]{a function of two arguments, or NIL} @arg[process-dtd-compatibility]{a boolean}
@return{a parsed @class{schema}}
@short{This function parses a Relax NG schema file in XML syntax}
and returns a parsed representation of that schema.

@code{input} can be any stream designator as understood by @code{cxml:make-source}.

Note that namestrings are not valid arguments,
because they would be interpreted as XML source code. Use pathnames instead.

@code{entity-resolver} can be passed as a function of two arguments. It is invoked for every entity referenced by the
document with the entity’s Public ID (a rod) and System ID (an
URI object) as arguments. The function may either return
nil, CXML will then try to resolve the entity as usual.
Alternatively it may return a Common Lisp stream specialized on @code{(unsigned-byte 8)} which will be used instead.

If @code{process-dtd-compatibility} is true, the schema will be checked for @em{compatibility} with Relax NG DTD Compatibility, and default values will be recorded. (Without @code{process-dtd-compatibility}, the schema will not be checked @em{compatibility}, and annotations for
DTD Compatibility will be ignored like any other foreign element.)

@see{parse-compact}
@see{make-validator}

Package

cxml-rng

Source

parse.lisp (file)

Function: pattern-a INSTANCE

@arg[instance]{an instance of @class{pattern}}
@return{an instance of @class{pattern}}
@short{Returns the first of two sub-patterns the pattern instance has.}

(Elements in the full Relax NG syntax allow more than two child patterns, but simplification normalizes the representation so that any such element has exactly two children.)

@see{pattern-b}
@see{group}
@see{interleave}
@see{choice}

Package

cxml-rng

Source

parse.lisp (file)

Writer

(setf pattern-a) (function)

Function: (setf pattern-a) VALUE INSTANCE
Package

cxml-rng

Source

parse.lisp (file)

Reader

pattern-a (function)

Function: pattern-b INSTANCE

@arg[instance]{an instance of @class{pattern}}
@return{an instance of @class{pattern}}
@short{Returns the second of two sub-patterns the pattern instance has.}

(Elements in the full Relax NG syntax allow more than two child patterns, but simplification normalizes the representation so that any such element has exactly two children.)

@see{pattern-a}
@see{group}
@see{interleave}
@see{choice}

Package

cxml-rng

Source

parse.lisp (file)

Writer

(setf pattern-b) (function)

Function: (setf pattern-b) VALUE INSTANCE
Package

cxml-rng

Source

parse.lisp (file)

Reader

pattern-b (function)

Function: pattern-child INSTANCE

@arg[instance]{an instance of @class{pattern}}
@return{an instance of @class{pattern}}
@short{Returns the pattern’s sub-pattern.}

(Elements in the full Relax NG syntax allow more than one child pattern, but simplification normalizes the representation so that any such element has exactly one child.)

@see{element}
@see{attribute}
@see{one-or-more}
@see{list-pattern}
@see{choice}

Package

cxml-rng

Source

parse.lisp (file)

Writer

(setf pattern-child) (function)

Function: (setf pattern-child) VALUE INSTANCE
Package

cxml-rng

Source

parse.lisp (file)

Reader

pattern-child (function)

Function: pattern-element REF

@arg[ref]{an instance of @class{ref}}
@return{an instance of @class{element}}
@short{Returns the ref pattern’s target.}

@code{ref} is the only pattern to introduce shared structure and circularity into the pattern graph, by referring to elements defined elsewhere.

(@code{ref} patterns in the full Relax NG syntax can be used to refer to any pattern definition in the grammar. Simplification normalizes the schema so that ref patterns only refer to definitions which have an @code{element} as their child.)

Package

cxml-rng

Source

parse.lisp (file)

Function: pattern-except INSTANCE

@arg[instance]{an instance of @class{data}}
@return{a @class{pattern}, or @code{nil}}
@short{Returns the @code{data} instance’s @code{except} pattern.}

In addition to a data type, @code{data} can specify that certain values are @em{not} permitted. They are described using a pattern.

If this slot is @code{nil}, no exception is defined.

Package

cxml-rng

Source

parse.lisp (file)

Writer

(setf pattern-except) (function)

Function: (setf pattern-except) VALUE INSTANCE
Package

cxml-rng

Source

parse.lisp (file)

Reader

pattern-except (function)

Function: pattern-name INSTANCE

@arg[instance]{an instance of @class{pattern}}
@return{a @class{name-class}}
@short{Returns the @code{pattern}’s name class.}

This slot describes the name allowed for the current element or attribute.

@see{element}
@see{attribute}

Package

cxml-rng

Source

parse.lisp (file)

Writer

(setf pattern-name) (function)

Function: (setf pattern-name) VALUE INSTANCE
Package

cxml-rng

Source

parse.lisp (file)

Reader

pattern-name (function)

Function: pattern-params INSTANCE

@arg[instance]{an instance of @class{data}}
@return{a list of @fun{cxml-types:param}}
@short{The data type parameters for this data pattern.}

(With the XSD type library, these are known as restricting facets.)

Package

cxml-rng

Source

parse.lisp (file)

Writer

(setf pattern-params) (function)

Function: (setf pattern-params) VALUE INSTANCE
Package

cxml-rng

Source

parse.lisp (file)

Reader

pattern-params (function)

Function: pattern-string INSTANCE

@arg[instance]{an instance of @class{value}}
@return{a string}
@short{Returns the string expected at this position.}

This string is the lexical representation expected, not parsed into a value object yet. The parsed object is available as @fun{pattern-value}.

@see{pattern-type}

Package

cxml-rng

Source

parse.lisp (file)

Writer

(setf pattern-string) (function)

Function: (setf pattern-string) VALUE INSTANCE
Package

cxml-rng

Source

parse.lisp (file)

Reader

pattern-string (function)

Function: pattern-type INSTANCE

@arg[instance]{an instance of @class{pattern}}
@return{a @class{cxml-types:data-type}}
@short{Returns the data type expected at this position.}

This type has already been parsed into an object. Its name and the URI of its library can be queried from that object.

@see{data}
@see{value}
@see{cxml-types:type-name} @see{cxml-types:type-library}

Package

cxml-rng

Source

parse.lisp (file)

Writer

(setf pattern-type) (function)

Function: (setf pattern-type) VALUE INSTANCE
Package

cxml-rng

Source

parse.lisp (file)

Reader

pattern-type (function)

Function: pattern-value INSTANCE

@arg[instance]{an instance of @class{value}}
@return{an object as returned by @fun{cxml-types:parse}} @short{Returns the value expected at this position.}

This object is the result of parsing @fun{pattern-string} using @fun{pattern-type}.

Package

cxml-rng

Source

parse.lisp (file)

Writer

(setf pattern-value) (function)

Function: (setf pattern-value) VALUE INSTANCE
Package

cxml-rng

Source

parse.lisp (file)

Reader

pattern-value (function)

Function: rng-error SOURCE FMT &rest ARGS

@unexport{}

Package

cxml-rng

Source

parse.lisp (file)

Function: schema-start INSTANCE

@arg[instance]{an instance of @class{schema}}
@return{the start pattern, an instance of @class{pattern}} Reader function for the grammar’s start pattern, from which all of the grammar’s patters are reachable.

Package

cxml-rng

Source

parse.lisp (file)

Writer

(setf schema-start) (function)

Function: (setf schema-start) VALUE INSTANCE
Package

cxml-rng

Source

parse.lisp (file)

Reader

schema-start (function)

Function: serialize-schema SCHEMA SINK

@arg[schema]{a Relax NG @class{schema}}
@arg[sink]{a SAX handler}
@return{the result of @code{sax:end-document}}
@short{This function serializes a parsed Relax NG back into XML syntax.}

Note that the schema represented in memory has gone through simplification as is textually different from the original XML document.

@see{parse-schema}

Package

cxml-rng

Source

parse.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Generic functions

Generic Function: context-find-namespace-binding CONTEXT PREFIX

@arg[context]{an instance of @class{validation-context}}
@arg[prefix]{name prefix, a string}
@return{the namespace URI as a string, or NIL}
@short{This function resolves a namespace prefix to a namespace URI in the current context.}
All currently declared namespaces
are taken into account, including those declared directly on the current element.

Package

cxml-types

Source

types.lisp (file)

Methods
Method: context-find-namespace-binding (CONTEXT sax-validation-context-mixin) PREFIX
Method: context-find-namespace-binding (CONTEXT klacks-validation-context) PREFIX
Generic Function: context-find-unparsed-entity CONTEXT NAME

@arg[context]{an instance of @class{validation-context}} @arg[name]{entity name, a string}
@return{@code{nil}, or a list of public id, system id, and notation name} This function looks for an unparsed entity in the current context.

Package

cxml-types

Source

types.lisp (file)

Methods
Method: context-find-unparsed-entity (CONTEXT sax-validation-context-mixin) NAME
Method: context-find-unparsed-entity (CONTEXT klacks-validation-context) NAME
Generic Function: equal-using-type TYPE U V

@arg[type]{an instance of @class{data-type}}
@arg[u]{a parsed value as returned by @fun{parse}} @arg[v]{a parsed value as returned by @fun{parse}} @return{a boolean}
@short{Compare the @emph{values} @code{u} and @code{v} using a data-type-dependent equality function.}

@see{validp}

Package

cxml-types

Source

types.lisp (file)

Methods
Method: equal-using-type (TYPE ncname-type) U V
Method: equal-using-type (TYPE xsd-string-type) U V
Method: equal-using-type (TYPE qname-like) U V
Method: equal-using-type (TYPE any-uri-type) U V
Method: equal-using-type (TYPE double-type) U V
Method: equal-using-type (TYPE decimal-type) U V
Method: equal-using-type (TYPE float-type) U V
Method: equal-using-type (TYPE hex-binary-type) U V
Method: equal-using-type (TYPE base64-binary-type) U V
Method: equal-using-type (TYPE time-ordering-mixin) U V
Method: equal-using-type (TYPE duration-type) U V
Method: equal-using-type (TYPE rng-type) U V
Generic Function: exact-length DATA-TYPE

@arg[data-type]{a data type supporting restrictions on value lengths} @return{an integer, or @code{nil}}
This slot reader returns the type’s @a[http://www.w3.org/TR/xmlschema-2/#rf-length]{length facet}, or @code{nil} if none was specified.
@see{min-length}
@see{max-length}

Package

cxml-types

Source

types.lisp (file)

Writer

(setf exact-length) (generic function)

Methods
Method: exact-length (LENGTH-MIXIN length-mixin)

automatically generated reader method

Generic Function: (setf exact-length) NEW-VALUE OBJECT
Package

cxml-types

Reader

exact-length (generic function)

Methods
Method: (setf exact-length) NEW-VALUE (LENGTH-MIXIN length-mixin)

automatically generated writer method

Source

types.lisp (file)

Generic Function: find-type LIBRARY NAME PARAMS

@arg[library]{datatype library, a keyword symbol}
@arg[name]{the type’s name, a string}
@arg[params]{type parameters, a list of @class{param} instances} @return{an instance of @class{data-type}, or @code{nil}}
@short{Look up the type named @em{name} in datatype library @em{library}.}

Additional parameters (knows as restricting facets in XSD) can be passed to specify or restrict the type for the purposes of @fun{validp}.

Return a type instance for this type and the additional parameters, @code{nil} if the type does not exist, or
@code{:error} if the type exists, but the specified parameters are not valid for that type.

@see{data-type}

Package

cxml-types

Source

types.lisp (file)

Methods
Method: find-type (LIBRARY (eql http://www.w3.org/2001/xmlschema-datatypes)) NAME PARAMS
Method: find-type (LIBRARY (eql http://relaxng.org/ns/compatibility/datatypes/1.0)) NAME PARAMS
Method: find-type (LIBRARY (eql )) NAME PARAMS
Method: find-type LIBRARY NAME PARAMS
Generic Function: fraction-digits DATA-TYPE

@arg[data-type]{a subtype of @class{decimal-type}}
@return{an integer, or @code{nil}}
This slot reader returns the type’s @a[http://www.w3.org/TR/xmlschema-2/#rf-fractionDigits]{fractionDigits facet}, or @code{nil} if none was specified.
@see{total-digits}

Package

cxml-types

Source

types.lisp (file)

Writer

(setf fraction-digits) (generic function)

Methods
Method: fraction-digits (DECIMAL-TYPE decimal-type)

automatically generated reader method

Generic Function: (setf fraction-digits) NEW-VALUE OBJECT
Package

cxml-types

Reader

fraction-digits (generic function)

Methods
Method: (setf fraction-digits) NEW-VALUE (DECIMAL-TYPE decimal-type)

automatically generated writer method

Source

types.lisp (file)

Generic Function: lessp-using-type TYPE U V

@arg[type]{an ordered @class{data-type}}
@arg[u]{a parsed value as returned by @fun{parse}}
@arg[v]{a parsed value as returned by @fun{parse}}
@return{a boolean}
@short{Compare the @emph{values} @code{u} and @code{v} using a data-type-dependent partial ordering.}

A method for this function is provided only by types that have a natural partial ordering.

@see{equal-using-type}

Package

cxml-types

Source

types.lisp (file)

Methods
Method: lessp-using-type (TYPE double-type) U V
Method: lessp-using-type (TYPE decimal-type) U V
Method: lessp-using-type (TYPE float-type) U V
Method: lessp-using-type (TYPE time-ordering-mixin) P Q
Method: lessp-using-type (TYPE duration-type) U V
Generic Function: max-exclusive DATA-TYPE

@arg[data-type]{an ordered data type}
@return{an integer, or @code{nil}}
This slot reader returns the type’s @a[http://www.w3.org/TR/xmlschema-2/#rf-maxExclusive]{maxExclusive facet}, or @code{nil} if none was specified.
@see{min-exclusive}
@see{min-inclusive}
@see{max-inclusive}

Package

cxml-types

Source

types.lisp (file)

Writer

(setf max-exclusive) (generic function)

Methods
Method: max-exclusive (ORDERING-MIXIN ordering-mixin)

automatically generated reader method

Generic Function: (setf max-exclusive) NEW-VALUE OBJECT
Package

cxml-types

Reader

max-exclusive (generic function)

Methods
Method: (setf max-exclusive) NEW-VALUE (ORDERING-MIXIN ordering-mixin)

automatically generated writer method

Source

types.lisp (file)

Generic Function: max-inclusive DATA-TYPE

@arg[data-type]{an ordered data type}
@return{an integer, or @code{nil}}
This slot reader returns the type’s @a[http://www.w3.org/TR/xmlschema-2/#rf-maxInclusive]{maxInclusive facet}, or @code{nil} if none was specified.
@see{min-exclusive}
@see{max-exclusive}
@see{min-inclusive}

Package

cxml-types

Source

types.lisp (file)

Writer

(setf max-inclusive) (generic function)

Methods
Method: max-inclusive (ORDERING-MIXIN ordering-mixin)

automatically generated reader method

Generic Function: (setf max-inclusive) NEW-VALUE OBJECT
Package

cxml-types

Reader

max-inclusive (generic function)

Methods
Method: (setf max-inclusive) NEW-VALUE (ORDERING-MIXIN ordering-mixin)

automatically generated writer method

Source

types.lisp (file)

Generic Function: max-length DATA-TYPE

@arg[data-type]{a data type supporting restrictions on value lengths} @return{an integer, or @code{nil}}
This slot reader returns the type’s @a[http://www.w3.org/TR/xmlschema-2/#rf-maxLength]{maxLength facet}, or @code{nil} if none was specified.
@see{exact-length}
@see{min-length}

Package

cxml-types

Source

types.lisp (file)

Writer

(setf max-length) (generic function)

Methods
Method: max-length (LENGTH-MIXIN length-mixin)

automatically generated reader method

Generic Function: (setf max-length) NEW-VALUE OBJECT
Package

cxml-types

Reader

max-length (generic function)

Methods
Method: (setf max-length) NEW-VALUE (LENGTH-MIXIN length-mixin)

automatically generated writer method

Source

types.lisp (file)

Generic Function: min-exclusive DATA-TYPE

@arg[data-type]{an ordered data type}
@return{an integer, or @code{nil}}
This slot reader returns the type’s @a[http://www.w3.org/TR/xmlschema-2/#rf-minExclusive]{minExclusive facet}, or @code{nil} if none was specified.
@see{max-exclusive}
@see{min-inclusive}
@see{max-inclusive}

Package

cxml-types

Source

types.lisp (file)

Writer

(setf min-exclusive) (generic function)

Methods
Method: min-exclusive (ORDERING-MIXIN ordering-mixin)

automatically generated reader method

Generic Function: (setf min-exclusive) NEW-VALUE OBJECT
Package

cxml-types

Reader

min-exclusive (generic function)

Methods
Method: (setf min-exclusive) NEW-VALUE (ORDERING-MIXIN ordering-mixin)

automatically generated writer method

Source

types.lisp (file)

Generic Function: min-inclusive DATA-TYPE

@arg[data-type]{an ordered data type}
@return{an integer, or @code{nil}}
This slot reader returns the type’s @a[http://www.w3.org/TR/xmlschema-2/#rf-minInclusive]{minInclusive facet}, or @code{nil} if none was specified.
@see{min-exclusive}
@see{max-exclusive}
@see{max-inclusive}

Package

cxml-types

Source

types.lisp (file)

Writer

(setf min-inclusive) (generic function)

Methods
Method: min-inclusive (ORDERING-MIXIN ordering-mixin)

automatically generated reader method

Generic Function: (setf min-inclusive) NEW-VALUE OBJECT
Package

cxml-types

Reader

min-inclusive (generic function)

Methods
Method: (setf min-inclusive) NEW-VALUE (ORDERING-MIXIN ordering-mixin)

automatically generated writer method

Source

types.lisp (file)

Generic Function: min-length DATA-TYPE

@arg[data-type]{a data type supporting restrictions on value lengths} @return{an integer, or @code{nil}}
This slot reader returns the type’s @a[http://www.w3.org/TR/xmlschema-2/#rf-minLength]{minLength facet}, or @code{nil} if none was specified.
@see{exact-length}
@see{max-length}

Package

cxml-types

Source

types.lisp (file)

Writer

(setf min-length) (generic function)

Methods
Method: min-length (LENGTH-MIXIN length-mixin)

automatically generated reader method

Generic Function: (setf min-length) NEW-VALUE OBJECT
Package

cxml-types

Reader

min-length (generic function)

Methods
Method: (setf min-length) NEW-VALUE (LENGTH-MIXIN length-mixin)

automatically generated writer method

Source

types.lisp (file)

Generic Function: parse TYPE E &optional CONTEXT

@arg[type]{an instance of @class{data-type}}
@arg[e]{a string}
@arg[context]{an instance of @class{validation-context}}
@return{an object}
@short{Parse string @code{e} and return a representation of its value as defined by the data type.}

The @code{context} argument is required if @fun{type-context-dependent-p} is true for @code{type}, and will be ignored otherwise.

@see{equal-using-type}
@see{validp}

Package

cxml-types

Source

types.lisp (file)

Methods
Method: parse (TYPE xsd-type) E &optional CONTEXT
Method: parse (TYPE dtd-compatibility-type) E &optional CONTEXT
Method: parse (TYPE token-type) E &optional CONTEXT
Method: parse (TYPE string-type) E &optional CONTEXT
Generic Function: patterns DATA-TYPE

@arg[data-type]{a subtype of @class{xsd-type}}
@return{a list of strings}
This slot reader returns a list of the type’s @a[http://www.w3.org/TR/xmlschema-2/#rf-pattern]{pattern facets}.

Package

cxml-types

Source

types.lisp (file)

Writer

(setf patterns) (generic function)

Methods
Method: patterns (XSD-TYPE xsd-type)

automatically generated reader method

Generic Function: (setf patterns) NEWVAL DATA-TYPE
Package

cxml-types

Reader

patterns (generic function)

Methods
Method: (setf patterns) NEW-VALUE (XSD-TYPE xsd-type)

automatically generated writer method

Source

types.lisp (file)

Method: (setf patterns) NEWVAL DATA-TYPE after
Source

types.lisp (file)

Generic Function: rng-error-column-number CONDITION

@arg[instance]{an instance of @class{rng-error}}
@return{an integer, or nil}
Return the column number reported by the parser when the Relax NG error was detected, or NIL if not available.

Package

cxml-rng

Writer

(setf rng-error-column-number) (generic function)

Methods
Method: rng-error-column-number (CONDITION rng-error)
Source

parse.lisp (file)

Generic Function: (setf rng-error-column-number) NEW-VALUE CONDITION
Package

cxml-rng

Reader

rng-error-column-number (generic function)

Methods
Method: (setf rng-error-column-number) NEW-VALUE (CONDITION rng-error)
Source

parse.lisp (file)

Generic Function: rng-error-line-number CONDITION

@arg[instance]{an instance of @class{rng-error}}
@return{an integer, or nil}
Return the line number reported by the parser when the Relax NG error was detected, or NIL if not available.

Package

cxml-rng

Writer

(setf rng-error-line-number) (generic function)

Methods
Method: rng-error-line-number (CONDITION rng-error)
Source

parse.lisp (file)

Generic Function: (setf rng-error-line-number) NEW-VALUE CONDITION
Package

cxml-rng

Reader

rng-error-line-number (generic function)

Methods
Method: (setf rng-error-line-number) NEW-VALUE (CONDITION rng-error)
Source

parse.lisp (file)

Generic Function: rng-error-system-id CONDITION

@arg[instance]{an instance of @class{rng-error}}
@return{a puri:uri, or nil}
Return the System ID of the document being parsed when the Relax NG error was detected, or NIL if not available.

Package

cxml-rng

Writer

(setf rng-error-system-id) (generic function)

Methods
Method: rng-error-system-id (CONDITION rng-error)
Source

parse.lisp (file)

Generic Function: (setf rng-error-system-id) NEW-VALUE CONDITION
Package

cxml-rng

Reader

rng-error-system-id (generic function)

Methods
Method: (setf rng-error-system-id) NEW-VALUE (CONDITION rng-error)
Source

parse.lisp (file)

Generic Function: total-digits DATA-TYPE

@arg[data-type]{a subtype of @class{decimal-type}}
@return{an integer, or @code{nil}}
This slot reader returns the type’s @a[http://www.w3.org/TR/xmlschema-2/#rf-totalDigits]{totalDigits facet}, or @code{nil} if none was specified.
@see{fraction-digits}

Package

cxml-types

Source

types.lisp (file)

Writer

(setf total-digits) (generic function)

Methods
Method: total-digits (DECIMAL-TYPE decimal-type)

automatically generated reader method

Generic Function: (setf total-digits) NEW-VALUE OBJECT
Package

cxml-types

Reader

total-digits (generic function)

Methods
Method: (setf total-digits) NEW-VALUE (DECIMAL-TYPE decimal-type)

automatically generated writer method

Source

types.lisp (file)

Generic Function: type-context-dependent-p TYPE

@arg[type]{an instance of @class{data-type}}
@return{a boolean}
@short{Return true if parsing and validation of values by this type depends on the validation context.}

In this case, the optional @code{context} argument to @fun{parse} and @fun{validp} is required, and an error will be signalled if it is missing.

@see{validation-context}
@see{type-name}
@see{type-library}
@see{type-context-dependent-p}
@see{type-id-type}

Package

cxml-types

Source

types.lisp (file)

Methods
Method: type-context-dependent-p (TYPE entity-type)
Method: type-context-dependent-p (TYPE qname-like)
Method: type-context-dependent-p (TYPE data-type)
Generic Function: type-id-type TYPE

@arg[type]{an instance of @class{data-type}}
@return{one of @code{nil}, @code{:id}, @code{:idref}, or @code{:idrefs}} @short{Returns the @em{ID-type} of @code{type}.}

The symbols @code{nil}, @code{:id}, @code{:idref}, or @code{:idrefs} represent the ID-types @em{null}, @em{ID}, @em{IDREF}, and @em{IDREFS}, respectively, as defined by @a[http://relaxng.org/compatibility-20011203.html]{
RELAX NG DTD Compatibility}.

@see{type-name}
@see{type-library}
@see{type-context-dependent-p}

Package

cxml-types

Source

types.lisp (file)

Methods
Method: type-id-type (TYPE xsd-idrefs-type)
Method: type-id-type (TYPE xsd-idref-type)
Method: type-id-type (TYPE xsd-id-type)
Method: type-id-type (TYPE dtd-compatibility-type)
Method: type-id-type (TYPE data-type)
Generic Function: type-library TYPE

@arg[type]{an instance of @class{data-type}}
@return{library name, a keyword}
@short{Return the name of the library this type belongs to.}

@see{type-name}
@see{type-context-dependent-p}
@see{type-id-type}

Package

cxml-types

Source

types.lisp (file)

Methods
Method: type-library (TYPE xsd-type)
Method: type-library (TYPE dtd-compatibility-type)
Method: type-library (TYPE rng-type)
Generic Function: type-name TYPE

@arg[type]{an instance of @class{data-type}}
@return{type name, a string}
@short{Return the name this type has within its library.}

@see{type-library}
@see{type-context-dependent-p}
@see{type-id-type}

Package

cxml-types

Source

types.lisp (file)

Methods
Method: type-name (POSITIVE-INTEGER-TYPE positive-integer-type)

automatically generated reader method

Method: type-name (UNSIGNED-BYTE-TYPE unsigned-byte-type)

automatically generated reader method

Method: type-name (UNSIGNED-SHORT-TYPE unsigned-short-type)

automatically generated reader method

Method: type-name (UNSIGNED-INT-TYPE unsigned-int-type)

automatically generated reader method

Method: type-name (UNSIGNED-LONG-TYPE unsigned-long-type)

automatically generated reader method

Method: type-name (NON-NEGATIVE-INTEGER-TYPE non-negative-integer-type)

automatically generated reader method

Method: type-name (BYTE-TYPE byte-type)

automatically generated reader method

Method: type-name (SHORT-TYPE short-type)

automatically generated reader method

Method: type-name (INT-TYPE int-type)

automatically generated reader method

Method: type-name (LONG-TYPE long-type)

automatically generated reader method

Method: type-name (NEGATIVE-INTEGER-TYPE negative-integer-type)

automatically generated reader method

Method: type-name (NON-POSITIVE-INTEGER-TYPE non-positive-integer-type)

automatically generated reader method

Method: type-name (INTEGER-TYPE integer-type)

automatically generated reader method

Method: type-name (NMTOKENS-TYPE nmtokens-type)

automatically generated reader method

Method: type-name (NMTOKEN-TYPE nmtoken-type)

automatically generated reader method

Method: type-name (ENTITIES-TYPE entities-type)

automatically generated reader method

Method: type-name (ENTITY-TYPE entity-type)

automatically generated reader method

Method: type-name (XSD-IDREFS-TYPE xsd-idrefs-type)

automatically generated reader method

Method: type-name (XSD-IDREF-TYPE xsd-idref-type)

automatically generated reader method

Method: type-name (XSD-ID-TYPE xsd-id-type)

automatically generated reader method

Method: type-name (NCNAME-TYPE ncname-type)

automatically generated reader method

Method: type-name (NAME-TYPE name-type)

automatically generated reader method

Method: type-name (LANGUAGE-TYPE language-type)

automatically generated reader method

Method: type-name (XSD-TOKEN-TYPE xsd-token-type)

automatically generated reader method

Method: type-name (NORMALIZED-STRING-TYPE normalized-string-type)

automatically generated reader method

Method: type-name (XSD-STRING-TYPE xsd-string-type)

automatically generated reader method

Method: type-name (NOTATION-TYPE notation-type)

automatically generated reader method

Method: type-name (QNAME-TYPE qname-type)

automatically generated reader method

Method: type-name (ANY-URI-TYPE any-uri-type)

automatically generated reader method

Method: type-name (DOUBLE-TYPE double-type)

automatically generated reader method

Method: type-name (DECIMAL-TYPE decimal-type)

automatically generated reader method

Method: type-name (FLOAT-TYPE float-type)

automatically generated reader method

Method: type-name (HEX-BINARY-TYPE hex-binary-type)

automatically generated reader method

Method: type-name (BASE64-BINARY-TYPE base64-binary-type)

automatically generated reader method

Method: type-name (BOOLEAN-TYPE boolean-type)

automatically generated reader method

Method: type-name (MONTH-TYPE month-type)

automatically generated reader method

Method: type-name (DAY-TYPE day-type)

automatically generated reader method

Method: type-name (MONTH-DAY-TYPE month-day-type)

automatically generated reader method

Method: type-name (YEAR-TYPE year-type)

automatically generated reader method

Method: type-name (YEAR-MONTH-TYPE year-month-type)

automatically generated reader method

Method: type-name (DATE-TYPE date-type)

automatically generated reader method

Method: type-name (TIME-TYPE time-type)

automatically generated reader method

Method: type-name (DATE-TIME-TYPE date-time-type)

automatically generated reader method

Method: type-name (DURATION-TYPE duration-type)

automatically generated reader method

Method: type-name (TYPE idrefs-type)
Method: type-name (TYPE idref-type)
Method: type-name (TYPE id-type)
Method: type-name (TYPE token-type)
Method: type-name (TYPE string-type)
Generic Function: validp TYPE E &optional CONTEXT

@arg[type]{an instance of @class{data-type}}
@arg[e]{a string}
@arg[context]{an instance of @class{validation-context}}
@return{a boolean}
@short{Determine whether a string is a valid lexical representation for a type.}

The @code{context} argument is required if @fun{type-context-dependent-p} is true for @code{type}, and will be ignored otherwise.

@see{parse}
@see{equal-using-type}

Package

cxml-types

Source

types.lisp (file)

Methods
Method: validp (TYPE xsd-type) E &optional CONTEXT
Method: validp (TYPE dtd-compatibility-type) E &optional CONTEXT
Method: validp (TYPE rng-type) E &optional CONTEXT

Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.4 Conditions

Condition: dtd-compatibility-error ()

@short{The class of DTD compatibility errors.}

Signalled while parsing a schema, this error signifies that the schema is not compatible (as opposed to incorrect).

Signalled during validation, this error signifies that the document is not sound (as opposed to invalid).

Package

cxml-rng

Source

parse.lisp (file)

Direct superclasses

rng-error (condition)

Condition: rng-error ()

@short{The class of all validation and schema parsing errors.}

Signalled while parsing a schema, this error signifies that the schema is incorrect (or not compatible with DTD Compatibility). Signalled during validation, this error signifies that the document is invalid (or not sound).

When parsing or validating with DTD Compatibility, check for @code{dtd-compatibility-error} to distinguish between
correctness and compatibility or validity and soundness.

@see-slot{rng-error-line-number} @see-slot{rng-error-column-number} @see-slot{rng-error-system-id}

Package

cxml-rng

Source

parse.lisp (file)

Direct superclasses

simple-error (condition)

Direct subclasses

dtd-compatibility-error (condition)

Direct methods
Direct slots
Slot: line-number
Initargs

:line-number

Readers

rng-error-line-number (generic function)

Writers

(setf rng-error-line-number) (generic function)

Slot: column-number
Initargs

:column-number

Readers

rng-error-column-number (generic function)

Writers

(setf rng-error-column-number) (generic function)

Slot: system-id
Initargs

:system-id

Readers

rng-error-system-id (generic function)

Writers

(setf rng-error-system-id) (generic function)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.5 Structures

Structure: any-name ()

@short{This name class allows any name.}

Exceptions are given as @code{any-name-except}.

@see-slot{any-name-except}

Package

cxml-rng

Source

parse.lisp (file)

Direct superclasses

name-class (structure)

Direct methods
Direct slots
Slot: except
Type

(or null cxml-rng:name-class)

Initform

(cxml-rng::missing)

Readers

any-name-except (function)

Writers

(setf any-name-except) (function)

Structure: attribute ()

@short{This pattern specifies that an attribute of a certain name class is required.}

Its child pattern describes the type of the attribute’s contents.
@see-slot{pattern-name}
@see-slot{pattern-child}

Package

cxml-rng

Source

parse.lisp (file)

Direct superclasses

%named-pattern (structure)

Direct methods
Direct slots
Slot: default-value
Readers

pattern-default-value (function)

Writers

(setf pattern-default-value) (function)

Structure: choice ()

@short{This pattern specifies that one of two possible subpatterns are allowed at the current position, given as its children.}

@see-slot{pattern-a}
@see-slot{pattern-b}

Package

cxml-rng

Source

parse.lisp (file)

Direct superclasses

%combination (structure)

Direct methods
Structure: data ()

@short{This pattern specifies that text of a specific data type is expected.}

The data type instance stored in the @code{pattern-type} slot takes into account additional paramaters, which can be retrieved using @code{pattern-params} in their original form.

@see-slot{pattern-type}
@see-slot{pattern-params}
@see-slot{pattern-except}

Package

cxml-rng

Source

parse.lisp (file)

Direct superclasses

%typed-pattern (structure)

Direct methods
Direct slots
Slot: params
Readers

pattern-params (function)

Writers

(setf pattern-params) (function)

Slot: except
Readers

pattern-except (function)

Writers

(setf pattern-except) (function)

Structure: element ()

@short{This pattern specifies that an element of a certain name class is required.}

Its child pattern describes the attributes and child nodes
of this element.
@see-slot{pattern-name}
@see-slot{pattern-child}

Package

cxml-rng

Source

parse.lisp (file)

Direct superclasses

%named-pattern (structure)

Direct methods
Structure: empty ()

@short{This pattern specifies that nothing more is expected at the current position.}

Package

cxml-rng

Source

parse.lisp (file)

Direct superclasses

%leaf (structure)

Direct methods
Structure: group ()

@short{This pattern specifies that two subpatterns are required at the current position in a specific order.}

@see-slot{pattern-a}
@see-slot{pattern-b}

Package

cxml-rng

Source

parse.lisp (file)

Direct superclasses

%combination (structure)

Direct methods
Structure: interleave ()

@short{This pattern specifies that two possible subpatterns are allowed to occur in any order at the current position.}

@see-slot{pattern-a}
@see-slot{pattern-b}

Package

cxml-rng

Source

parse.lisp (file)

Direct superclasses

%combination (structure)

Direct methods
Structure: list-pattern ()

@short{This pattern specifies that a subpatterns is allowed multiple times a the current position, with whitespace as a separator.}

@see-slot{pattern-child}

Package

cxml-rng

Source

parse.lisp (file)

Direct superclasses

%parent (structure)

Direct methods
Structure: name ()

@short{This name class allows only a specific name.}

A specific namespace URI and local name are expected.

@see-slot{name-uri}
@see-slot{name-lname}

Package

cxml-rng

Source

parse.lisp (file)

Direct superclasses

name-class (structure)

Direct methods
Direct slots
Slot: uri
Type

string

Initform

(cxml-rng::missing)

Readers

name-uri (function)

Writers

(setf name-uri) (function)

Slot: lname
Type

string

Initform

(cxml-rng::missing)

Readers

name-lname (function)

Writers

(setf name-lname) (function)

Structure: name-class ()

@short{The abstract superclass of all name-related classes.}

Name classes represent sets of permissible names for an element or attribute.

Names are pairs of namespace URI and local-name.

@see{attribute}
@see{element}

Package

cxml-rng

Source

parse.lisp (file)

Direct superclasses

structure-object (structure)

Direct subclasses
Structure: name-class-choice ()

@short{This name class represents the union of two other name classes.}

@see-slot{name-class-choice-a}
@see-slot{name-class-choice-b}

Package

cxml-rng

Source

parse.lisp (file)

Direct superclasses

name-class (structure)

Direct methods
Direct slots
Slot: a
Type

cxml-rng:name-class

Initform

(cxml-rng::missing)

Readers

name-class-choice-a (function)

Writers

(setf name-class-choice-a) (function)

Slot: b
Type

cxml-rng:name-class

Initform

(cxml-rng::missing)

Readers

name-class-choice-b (function)

Writers

(setf name-class-choice-b) (function)

Structure: not-allowed ()

@short{This pattern specifies that the part of the schema reached at this point is not valid.}

Package

cxml-rng

Source

parse.lisp (file)

Direct superclasses

%leaf (structure)

Direct methods
Structure: ns-name ()

@short{This name class allows all names in a specific namespace}, with possible exceptions.

A specific namespace URI is expected.

Exceptions are given as @code{ns-name-except}.

@see-slot{ns-name-uri}
@see-slot{ns-name-except}

Package

cxml-rng

Source

parse.lisp (file)

Direct superclasses

name-class (structure)

Direct methods
Direct slots
Slot: uri
Type

string

Initform

(cxml-rng::missing)

Readers

ns-name-uri (function)

Writers

(setf ns-name-uri) (function)

Slot: except
Type

(or null cxml-rng:name-class)

Initform

(cxml-rng::missing)

Readers

ns-name-except (function)

Writers

(setf ns-name-except) (function)

Structure: one-or-more ()

@short{This pattern specifies that its subpattern is allowed to occur at the current position one or more times.}

@see-slot{pattern-child}

Package

cxml-rng

Source

parse.lisp (file)

Direct superclasses

%parent (structure)

Direct methods
Structure: param ()

@short{A named data type parameter.}

(With the XSD type library, parameters are known as restricting facets.) @see-constructor{make-param}
@see{find-type}
@see{cxml-rng:pattern-params}
@see{cxml-rng:data}
@see-slot{param-name}
@see-slot{param-value}

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: name
Readers

param-name (function)

Writers

(setf param-name) (function)

Slot: value
Readers

param-value (function)

Writers

(setf param-value) (function)

Structure: pattern ()

@short{The superclass of all patterns.}
Instances of this class represent elements in the "simplified syntax" of Relax NG.

Patterns are documented for introspective purposes and are not meant to be modified by user code.

The start pattern of a schema is available through @fun{schema-start}.

@see{schema}

Package

cxml-rng

Source

parse.lisp (file)

Direct superclasses

structure-object (structure)

Direct subclasses
Direct methods
Direct slots
Slot: nullable
Initform

:uninitialized

Readers

pattern-nullable (function)

Writers

(setf pattern-nullable) (function)

Structure: ref ()

@short{This pattern references another part of the pattern graph.}

@code{ref} is the only pattern to introduce shared structure and circularity into the pattern graph, by referring to elements defined elsewhere.

(@code{ref} patterns in the full Relax NG syntax can be used to refer to any pattern definition in the grammar. Simplification normalizes the schema so that ref patterns only refer to definitions which have an @code{element} as their child.)

@see-slot{pattern-element}

Package

cxml-rng

Source

parse.lisp (file)

Direct superclasses

pattern (structure)

Direct methods
Direct slots
Slot: crdepth
Readers

pattern-crdepth (function)

Writers

(setf pattern-crdepth) (function)

Slot: target
Readers

pattern-target (function)

Writers

(setf pattern-target) (function)

Structure: schema ()

An instance of this class represents a Relax NG grammar that has been parsed and simplified.
@see-slot{schema-start}
@see-constructor{parse-schema}
@see{make-validator}
@see{serialize-schema}

Package

cxml-rng

Source

parse.lisp (file)

Direct superclasses

structure-object (structure)

Direct methods

print-object (method)

Direct slots
Slot: start
Type

cxml-rng:pattern

Initform

(cxml-rng::missing)

Readers

schema-start (function)

Writers

(setf schema-start) (function)

Slot: definitions
Type

list

Initform

(cxml-rng::missing)

Readers

schema-definitions (function)

Writers

(setf schema-definitions) (function)

Slot: interned-start
Type

(or null cxml-rng:pattern)

Readers

schema-interned-start (function)

Writers

(setf schema-interned-start) (function)

Slot: registratur
Type

(or null hash-table)

Readers

schema-registratur (function)

Writers

(setf schema-registratur) (function)

Slot: compatibility-table
Type

(or null cxml-rng::compatibility-table)

Readers

schema-compatibility-table (function)

Writers

(setf schema-compatibility-table) (function)

Structure: text ()

@short{This pattern specifies that text is expected here.}

Package

cxml-rng

Source

parse.lisp (file)

Direct superclasses

%leaf (structure)

Direct methods
Structure: value ()

@short{This pattern specifies that a specific value is expected as text here.}

The value expected is @code{pattern-value}, parsed from @code{pattern-string} using @code{pattern-type}.

@see-slot{pattern-type}
@see-slot{pattern-value}
@see-slot{pattern-string}

Package

cxml-rng

Source

parse.lisp (file)

Direct superclasses

%typed-pattern (structure)

Direct methods
Direct slots
Slot: ns
Readers

pattern-ns (function)

Writers

(setf pattern-ns) (function)

Slot: string
Readers

pattern-string (function)

Writers

(setf pattern-string) (function)

Slot: value
Readers

pattern-value (function)

Writers

(setf pattern-value) (function)


Previous: , Up: Exported definitions   [Contents][Index]

5.1.6 Classes

Class: any-uri-type ()

@short{The anyURI data type.}

@b{Syntax.} An arbitrary string (!).
C.f. the @a[http://www.w3.org/TR/xmlschema-2/#anyURI]{specification}.

@b{Implementation.} This type returns a normalized string in which special characters have been escaped.

@b{Parameters.} This type allows restrictions on the length of the normalized string through the parameters @slot{exact-length}, @slot{min-length}, and @slot{max-length}.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses
Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"anyuri"

Readers

type-name (generic function)

Class: base64-binary-type ()

@short{The base64Binary data type.}

@b{Syntax.} Normal Base64 syntax.
C.f. the @a[http://www.w3.org/TR/xmlschema-2/#base64Binary]{specification}.

@b{Implementation.} This type returns an @code{(unsigned-byte 8)} vector.

@b{Parameters.} This type allows restrictions on the length of the octet vector through the parameters @slot{exact-length}, @slot{min-length}, and @slot{max-length}.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses
Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"base64binary"

Readers

type-name (generic function)

Class: boolean-type ()

@short{The boolean data type.}

@b{Syntax.} "1", "0", "true", or "false".
C.f. the @a[http://www.w3.org/TR/xmlschema-2/#boolean]{specification}.

@b{Implementation.} This type returns @code{t} or @code{nil}.

@b{Parameters.} No parameters except for @fun{pattern} are available for this type.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

xsd-type (class)

Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"boolean"

Readers

type-name (generic function)

Class: byte-type ()

@short{The byte data type, derived from short.}

C.f. the @a[http://www.w3.org/TR/xmlschema-2/#byte]{specification}.

@b{Restrictions.} This type allows only values from the interval [-128, 127].

@b{Parameters and implementation.} Unchanged from the supertype.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

short-type (class)

Direct methods
  • initialize-instance (method)
  • type-name (method)
Direct slots
Slot: type-name
Allocation

:class

Initform

"byte"

Readers

type-name (generic function)

Class: data-type ()

@short{The abstract superclass of all types.}

Each type belongs to a datatype library, named by a keyword. In each library, the types are named by strings.

@see-constructor{find-type}
@see-slot{type-name}
@see-slot{type-library}
@see-slot{type-context-dependent-p}
@see-slot{type-id-type}
@see{parse}
@see{equal-using-type}
@see{lessp-using-type}
@see{validp}

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses
Direct methods
Class: date-time-type ()

@short{The dateTime data type, representing a moment in time.}

@b{Syntax.} This type accepts an ISO-like syntax. For details refer to the @a[http://www.w3.org/TR/xmlschema-2/#dateTime]{specification}.

@b{Implementation.} This type returns lists of the form
@code{(year month day hour minute second timezone)}. Each
value is an integer, except except for @code{second}, which is a real, and @code{timezone} which is a real or @code{nil}.
A @code{timezone} of @code{nil} indicates UTC.

@b{Example.} @code{2002-10-10T12:00:00-05:00}
maps to @code{(2002 10 10 12 0 0 -5)}

@b{Parameters.} This type is ordered and allows the parameters @slot{max-inclusive}, @slot{min-inclusive},
@slot{max-exclusive}, and @slot{min-exclusive}. The ordering is partial except within a timezone, see the spec for details.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses
Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"datetime"

Readers

type-name (generic function)

Class: date-type ()

@short{The date data type, representing a day of the year.}

@b{Syntax.} This type accepts an ISO-like syntax. For details refer to the @a[http://www.w3.org/TR/xmlschema-2/#date]{specification}.

@b{Implementation.} This type returns the same kind of lists as @class{date-time-type}, except that the fields @code{hour}, @code{minute} and @code{second} are filled with dummy values from the Gregorian year AD 1.

@b{Parameters.} This type is ordered and allows the parameters @slot{max-inclusive}, @slot{min-inclusive},
@slot{max-exclusive}, and @slot{min-exclusive}. The ordering is partial except within a timezone, see the spec for details.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses
Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"date"

Readers

type-name (generic function)

Class: day-type ()

@short{The gDay data type, representing a calendar day.}

@b{Syntax.} This type accepts an ISO-like syntax. For details refer to the @a[http://www.w3.org/TR/xmlschema-2/#gDay]{specification}.

@b{Implementation.} This type returns the same kind of lists as @class{date-time-type}, except that the fields @code{year}, @code{month}, @code{hour}, @code{minute} and @code{second} are filled with dummy values from the Gregorian year AD 1.

@b{Parameters.} This type is ordered and allows the parameters @slot{max-inclusive}, @slot{min-inclusive},
@slot{max-exclusive}, and @slot{min-exclusive}. The ordering is partial except within a timezone, see the spec for details.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses
Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"gday"

Readers

type-name (generic function)

Class: decimal-type ()

@short{The decimal data type.}

@b{Syntax.} A rational number, written using an optional decimal point and decimal places.
C.f. the @a[http://www.w3.org/TR/xmlschema-2/#decimal]{specification}.

@b{Implementation.} This type returns a @code{rational}.

@b{Parameters.} This type is ordered and allows the parameters @slot{max-inclusive}, @slot{min-inclusive},
@slot{max-exclusive}, and @slot{min-exclusive}.

In addition, the facets @slot{fraction-digits} @slot{total-digits} are recognized.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses
Direct subclasses

integer-type (class)

Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"decimal"

Readers

type-name (generic function)

Slot: fraction-digits
Initargs

:fraction-digits

Readers

fraction-digits (generic function)

Writers

(setf fraction-digits) (generic function)

Slot: total-digits
Initargs

:total-digits

Readers

total-digits (generic function)

Writers

(setf total-digits) (generic function)

Class: double-type ()

@short{The double data type.}

@b{Syntax.} A floating-point number in a "scientific notation". C.f. the @a[http://www.w3.org/TR/xmlschema-2/#double]{specification}.

@b{Implementation.} This type returns a @code{double-float} or, on implementations where Infinity and Nan cannot be represented as such, a special symbol that is treated as if it was Infinity or NaN by the built-in ordering.

@b{Parameters.} This type is ordered and allows the parameters @slot{max-inclusive}, @slot{min-inclusive},
@slot{max-exclusive}, and @slot{min-exclusive}.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses
Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"double"

Readers

type-name (generic function)

Class: dtd-compatibility-type ()

@short{The class of DTD Compatibility data types.}

This library contains three types: ID, IDREF, and IDREFS.

This type library is named @code{:|http://relaxng.org/ns/compatibility/datatypes/1.0|}.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

data-type (class)

Direct subclasses
Direct methods
Direct slots
Slot: chained-type
Readers

chained-type (generic function)

Writers

(setf chained-type) (generic function)

Class: duration-type ()

@short{The duration data type, representing a duration of time.}

@b{Syntax.} This type accepts an ISO-like syntax. For details refer to the @a[http://www.w3.org/TR/xmlschema-2/#duration]{specification}.

@b{Implementation.} This type returns lists of the form @code{(years months days hours minutes seconds)}. Each
value can be @code{nil} or a number. All values are integers except for @code{seconds}, which is a real.

@b{Example.} @code{P1Y2M3DT10H30M}
maps to @code{(1 2 3 10 30 nil)}

@b{Parameters.} This type is ordered and allows the parameters @slot{max-inclusive}, @slot{min-inclusive},
@slot{max-exclusive}, and @slot{min-exclusive}.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses
Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"duration"

Readers

type-name (generic function)

Class: entities-type ()

@short{The ENTITIES data type, an enumeration.}

@b{Syntax.} A whitespace-separated sequence of @class{entity-type} values, with at least one element.

C.f. the @a[http://www.w3.org/TR/xmlschema-2/#ENTITIES]{specification}.

@b{Implementation.} This type returns a list of the values as returned by @class{entity-type}.

@b{Context dependent.} This type is context dependent and requires the @code{context} argument to @fun{parse} and @fun{validp}.

@b{Parameters.} This type allows restrictions on the number of values through the parameters @slot{exact-length}, @slot{min-length}, and @slot{max-length}.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

enumeration-type (class)

Direct methods

type-name (method)

Direct slots
Slot: type-name
Allocation

:class

Initform

"entities"

Readers

type-name (generic function)

Slot: word-type
Initform

(make-instance (quote cxml-types:entity-type))

Class: entity-type ()

@short{The ENTITY data type, derived from NCName.}

C.f. the @a[http://www.w3.org/TR/xmlschema-2/#ENTITY]{specification}.

@b{Restrictions.} This type restricts its supertype @class{ncname-type} to names that have been declared as unparsed entities in the context.

@b{Context dependent.} This type is context dependent and requires the @code{context} argument to @fun{parse} and @fun{validp}.

@b{Parameters and implementation.} Unchanged from the supertype.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

ncname-type (class)

Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"entity"

Readers

type-name (generic function)

Class: float-type ()

@short{The float data type.}

@b{Syntax.} A floating-point number in a "scientific notation". C.f. the @a[http://www.w3.org/TR/xmlschema-2/#float]{specification}.

@b{Implementation.} This type returns a @code{single-float} or, on implementations where Infinity and Nan cannot be represented as such, a special symbol that is treated as if it was Infinity or NaN by the built-in ordering.

@b{Parameters.} This type is ordered and allows the parameters @slot{max-inclusive}, @slot{min-inclusive},
@slot{max-exclusive}, and @slot{min-exclusive}.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses
Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"float"

Readers

type-name (generic function)

Class: hex-binary-type ()

@short{The hexBinary data type.}

@b{Syntax.} A sequence of two-digit hexadecimal numbers representing one octet each.
C.f. the @a[http://www.w3.org/TR/xmlschema-2/#hexBinary]{specification}.

@b{Implementation.} This type returns an @code{(unsigned-byte 8)} vector.

@b{Parameters.} This type allows restrictions on the length of the octet vector through the parameters @slot{exact-length}, @slot{min-length}, and @slot{max-length}.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses
Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"hexbinary"

Readers

type-name (generic function)

Class: id-type ()

@short{The DTD compatibility ’ID’ type.}

For this type, @fun{parse} will return the string with leading and trailing whitespace removed.

The resulting value must be an NCName.

The ID-type of this data type is ’ID’, ensuring that each value is only used for one element in a document.

@see{xsd-id-type}

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

dtd-compatibility-type (class)

Direct methods
  • type-name (method)
  • initialize-instance (method)
Class: idref-type ()

@short{The DTD compatibility ’IDREF’ type.}

For this type, @fun{parse} will return the string with leading and trailing whitespace removed.

The resulting value must be an NCName.

The ID-type of this data type is ’IDREF’, ensuring that the value referenced must be declared as the ID of an element in the document.

@see{xsd-idref-type}

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

dtd-compatibility-type (class)

Direct methods
  • type-name (method)
  • initialize-instance (method)
Class: idrefs-type ()

@short{The DTD compatibility ’IDREFS’ type.}

Strings are valid for this data type they contain a whitespace-separated list of one or more NCNames. @fun{parse} will return a list of these substrings.

The ID-type of this data type is ’IDREFS’, ensuring that each value referenced must be declared as the ID of an element in the document.

@see{xsd-idrefs-type}

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

dtd-compatibility-type (class)

Direct methods
  • type-name (method)
  • initialize-instance (method)
Class: int-type ()

@short{The int data type, derived from long.}

C.f. the @a[http://www.w3.org/TR/xmlschema-2/#int]{specification}.

@b{Restrictions.} This type allows only values from the interval [-2^31, 2^31-1].

@b{Parameters and implementation.} Unchanged from the supertype.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

long-type (class)

Direct subclasses

short-type (class)

Direct methods
  • initialize-instance (method)
  • type-name (method)
Direct slots
Slot: type-name
Allocation

:class

Initform

"int"

Readers

type-name (generic function)

Class: integer-type ()

@short{The integer data type, derived from decimal.}

C.f. the @a[http://www.w3.org/TR/xmlschema-2/#integer]{specification}.

@b{Syntax.} An integer, written it the decimal system without leading zeros. No decimal point is permitted.

@b{Implementation.} This type returns an @code{integer}.

@b{Parameters and implementation.} Unchanged from the supertype.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

decimal-type (class)

Direct subclasses
Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"integer"

Readers

type-name (generic function)

Class: klacks-validation-context ()

A validation-context implementation that queries
a klacks source for information about the parser’s current state. @see-constructor{make-klacks-validation-context}

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

validation-context (class)

Direct methods
Direct slots
Slot: source
Initargs

:source

Readers

context-source (generic function)

Writers

(setf context-source) (generic function)

Class: language-type ()

@short{The language data type, derived from token.}

C.f. the @a[http://www.w3.org/TR/xmlschema-2/#language]{specification}.

@b{Restrictions.} This type restricts its supertype @class{token-type} to strings of the pattern "[a-zA-Z]{1,8@}(-[a-zA-Z0-9]{1,8@})*".

@b{Parameters and implementation.} Unchanged from the supertype.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

xsd-token-type (class)

Direct methods

type-name (method)

Direct slots
Slot: type-name
Allocation

:class

Initform

"language"

Readers

type-name (generic function)

Slot: patterns
Initform

(cxml-types::precompile "[a-za-z]{1,8}(-[a-za-z0-9]{1,8})*")

Class: long-type ()

@short{The long data type, derived from integer.}

C.f. the @a[http://www.w3.org/TR/xmlschema-2/#long]{specification}.

@b{Restrictions.} This type allows only values from the interval [-2^63, 2^63-1].

@b{Parameters and implementation.} Unchanged from the supertype.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

integer-type (class)

Direct subclasses

int-type (class)

Direct methods
  • initialize-instance (method)
  • type-name (method)
Direct slots
Slot: type-name
Allocation

:class

Initform

"long"

Readers

type-name (generic function)

Class: month-day-type ()

@short{The gMonthDay data type, representing a calendar month and day.}

@b{Syntax.} This type accepts an ISO-like syntax. For details refer to the @a[http://www.w3.org/TR/xmlschema-2/#monthDay]{specification}.

@b{Implementation.} This type returns the same kind of lists as @class{date-time-type}, except that the fields @code{year}, @code{hour}, @code{minute} and @code{second} are filled with dummy values from the Gregorian year AD 1.

@b{Parameters.} This type is ordered and allows the parameters @slot{max-inclusive}, @slot{min-inclusive},
@slot{max-exclusive}, and @slot{min-exclusive}. The ordering is partial except within a timezone, see the spec for details.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses
Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"gmonthday"

Readers

type-name (generic function)

Class: month-type ()

@short{The gMonth data type, representing a calendar month.}

@b{Syntax.} This type accepts an ISO-like syntax. For details refer to the @a[http://www.w3.org/TR/xmlschema-2/#gMonth]{specification}.

@b{Implementation.} This type returns the same kind of lists as @class{date-time-type}, except that the fields @code{year}, @code{day}, @code{hour}, @code{minute} and @code{second} are filled with dummy values from the Gregorian year AD 1.

@b{Parameters.} This type is ordered and allows the parameters @slot{max-inclusive}, @slot{min-inclusive},
@slot{max-exclusive}, and @slot{min-exclusive}. The ordering is partial except within a timezone, see the spec for details.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses
Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"gmonth"

Readers

type-name (generic function)

Class: name-type ()

@short{The Name data type, derived from token.}

C.f. the @a[http://www.w3.org/TR/xmlschema-2/#Name]{specification}.

@b{Restrictions.} This type restricts its supertype @class{token-type} to strings of the pattern "\i\c*".

@b{Parameters and implementation.} Unchanged from the supertype.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

xsd-token-type (class)

Direct subclasses

ncname-type (class)

Direct methods

type-name (method)

Direct slots
Slot: type-name
Allocation

:class

Initform

"name"

Readers

type-name (generic function)

Slot: patterns
Initform

(cxml-types::precompile "\\i\\c*")

Class: ncname-type ()

@short{The NCName data type, derived from Name.}

C.f. the @a[http://www.w3.org/TR/xmlschema-2/#NCName]{specification}.

@b{Restrictions.} This type restricts its supertype @class{name-type} to strings of the pattern "[\i-[:]][\c-[:]]*".

@b{Parameters and implementation.} Unchanged from the supertype.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

name-type (class)

Direct subclasses
Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"ncname"

Readers

type-name (generic function)

Slot: patterns
Initform

(cxml-types::precompile "[\\i-[:]][\\c-[:]]*")

Class: negative-integer-type ()

@short{The negativeInteger data type, derived from nonPositiveInteger.}

C.f. the @a[http://www.w3.org/TR/xmlschema-2/#negativeInteger]{specification}.

@b{Restrictions.} This type allows only values < 0.

@b{Parameters and implementation.} Unchanged from the supertype.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

non-positive-integer-type (class)

Direct methods
  • initialize-instance (method)
  • type-name (method)
Direct slots
Slot: type-name
Allocation

:class

Initform

"negativeinteger"

Readers

type-name (generic function)

Class: nmtoken-type ()

@short{The NMTOKEN data type, derived from token.}

C.f. the @a[http://www.w3.org/TR/xmlschema-2/#NMTOKEN]{specification}.

@b{Restrictions.} This type restricts its supertype @class{token-type} to strings of the pattern "\c+".

@b{Parameters and implementation.} Unchanged from the supertype.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

xsd-token-type (class)

Direct methods

type-name (method)

Direct slots
Slot: type-name
Allocation

:class

Initform

"nmtoken"

Readers

type-name (generic function)

Slot: patterns
Initform

(cxml-types::precompile "\\c+")

Class: nmtokens-type ()

@short{The NMTOKENS data type, an enumeration.}

@b{Syntax.} A whitespace-separated sequence of @class{nmtoken-type} values, with at least one element.

C.f. the @a[http://www.w3.org/TR/xmlschema-2/#NMTOKENS]{specification}.

@b{Implementation.} This type returns a list of the values as returned by @class{nmtoken-type}.

@b{Parameters.} This type allows restrictions on the number of values through the parameters @slot{exact-length}, @slot{min-length}, and @slot{max-length}.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

enumeration-type (class)

Direct methods

type-name (method)

Direct slots
Slot: type-name
Allocation

:class

Initform

"nmtokens"

Readers

type-name (generic function)

Slot: word-type
Initform

(make-instance (quote cxml-types:nmtoken-type))

Class: non-negative-integer-type ()

@short{The nonNegativeInteger data type, derived from integer.}

C.f. the @a[http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger]{specification}.

@b{Restrictions.} This type allows only values >= 0.

@b{Parameters and implementation.} Unchanged from the supertype.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

integer-type (class)

Direct subclasses
Direct methods
  • initialize-instance (method)
  • type-name (method)
Direct slots
Slot: type-name
Allocation

:class

Initform

"nonnegativeinteger"

Readers

type-name (generic function)

Class: non-positive-integer-type ()

@short{The nonPositiveInteger data type, derived from integer.}

C.f. the @a[http://www.w3.org/TR/xmlschema-2/#nonPositiveInteger]{specification}.

@b{Restrictions.} This type allows only values <= 0.

@b{Parameters and implementation.} Unchanged from the supertype.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

integer-type (class)

Direct subclasses

negative-integer-type (class)

Direct methods
  • initialize-instance (method)
  • type-name (method)
Direct slots
Slot: type-name
Allocation

:class

Initform

"nonpositiveinteger"

Readers

type-name (generic function)

Class: normalized-string-type ()

@short{The normalizedString data type, derived from string.}

@b{Syntax.} An arbitrary string.
C.f. the @a[http://www.w3.org/TR/xmlschema-2/#normalizedString]{specification}.

@b{Implementation.} Returns the string with whitespace replaced.

I.e., each whitespace character is replaced by a space
(character code 32), but multiple spaces, as well as
leading and trailing spaces will still be returned.

(This is the only XSD type that replaces whitespace in this way.)

@b{Parameters.} This type allows restrictions on the length of the normalized string through the parameters @slot{exact-length}, @slot{min-length}, and @slot{max-length}.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

xsd-string-type (class)

Direct subclasses

xsd-token-type (class)

Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"normalizedstring"

Readers

type-name (generic function)

Class: notation-type ()

@short{The NOTATION data type.}

@b{Syntax.} A qualified name.
C.f. the @a[http://www.w3.org/TR/xmlschema-2/#NOTATION]{specification}.

@b{Implementation.} This type is treated exactly like @class{qname-type}, as specified in @a[http://relaxng.org/xsd-20010907.html]{Guidelines for using W3C XML Schema Datatypes with RELAX NG}.

@b{Parameters.} This type allows restrictions on the length of the original QName through the parameters @slot{exact-length}, @slot{min-length}, and @slot{max-length}.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

qname-like (class)

Direct methods

type-name (method)

Direct slots
Slot: type-name
Allocation

:class

Initform

"notation"

Readers

type-name (generic function)

Class: positive-integer-type ()

@short{The positiveInteger data type, derived from nonNegativeInteger.}

C.f. the @a[http://www.w3.org/TR/xmlschema-2/#positiveInteger]{specification}.

@b{Restrictions.} This type allows only values > 0.

@b{Parameters and implementation.} Unchanged from the supertype.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

non-negative-integer-type (class)

Direct methods
  • initialize-instance (method)
  • type-name (method)
Direct slots
Slot: type-name
Allocation

:class

Initform

"positiveinteger"

Readers

type-name (generic function)

Class: qname-type ()

@short{The QName data type.}

@b{Syntax.} A Qualified Name, as per the "Namespaces in XML" specification. The namespace prefix must be bound to a namespace URI in the context.
C.f. the @a[http://www.w3.org/TR/xmlschema-2/#QName]{specification}.

@b{Context dependent.} This type is context dependent and requires the @code{context} argument to @fun{parse} and @fun{validp}.

@b{Implementation.} This type returns a structure with two components, the namespace URI and the local name. fixme: and the original length. fixme: export this structure.

@b{Parameters.} This type allows restrictions on the length of the original QName through the parameters @slot{exact-length}, @slot{min-length}, and @slot{max-length}.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

qname-like (class)

Direct methods

type-name (method)

Direct slots
Slot: type-name
Allocation

:class

Initform

"qname"

Readers

type-name (generic function)

Class: rng-type ()

@short{The class of Relax NG built-in types.}
Relax NG defines two built-in data type: string and token.

The Relax NG type library is named @code{:||}.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

data-type (class)

Direct subclasses
Direct methods
Class: sax-validation-context-mixin ()

@short{A class that implements validation-context as a mixin for user-defined SAX handler classes.}

The mixin will record namespace information
automatically, and the user’s SAX handler can simply be passed as a validation context to data type functions.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

validation-context (class)

Direct subclasses
Direct methods
Direct slots
Slot: stack
Readers

context-stack (generic function)

Writers

(setf context-stack) (generic function)

Slot: unparsed-entities
Initform

(make-hash-table :test (quote equal))

Readers

unparsed-entities (generic function)

Writers

(setf unparsed-entities) (generic function)

Class: short-type ()

@short{The short data type, derived from int.}

C.f. the @a[http://www.w3.org/TR/xmlschema-2/#short]{specification}.

@b{Restrictions.} This type allows only values from the interval [-2^15, 2^15-1].

@b{Parameters and implementation.} Unchanged from the supertype.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

int-type (class)

Direct subclasses

byte-type (class)

Direct methods
  • initialize-instance (method)
  • type-name (method)
Direct slots
Slot: type-name
Allocation

:class

Initform

"short"

Readers

type-name (generic function)

Class: string-type ()

@short{The Relax NG ’string’ type.}
This data type allows arbitrary strings and interprets them as-is.

For this type, @fun{parse} will return any string unchanged, and @fun{equal-using-type} compares strings using @code{equal}.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

rng-type (class)

Direct methods
Class: time-type ()

@short{The time data type, representing a time of day.}

@b{Syntax.} This type accepts an ISO-like syntax. For details refer to the @a[http://www.w3.org/TR/xmlschema-2/#dateTime]{specification}.

@b{Implementation.} This type returns the same kind of lists as @class{date-time-type}, except that the fields @code{year}, @code{month} and @code{day} are filled with dummy values from the Gregorian year AD 1.

@b{Parameters.} This type is ordered and allows the parameters @slot{max-inclusive}, @slot{min-inclusive},
@slot{max-exclusive}, and @slot{min-exclusive}. The ordering is partial except within a timezone, see the spec for details.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses
Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"time"

Readers

type-name (generic function)

Class: token-type ()

@short{The Relax NG ’token’ type.}
This data type allows arbitrary strings and normalizes all whitespaces.

For this type, @fun{parse} will return the string with leading and trailing whitespace removed, and remaining sequences of spaces compressed down to one space character each.

A method for @fun{equal-using-type} compares strings using @code{equal}.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

rng-type (class)

Direct methods
Class: unsigned-byte-type ()

@short{The unsignedByte data type, derived from unsignedInt.}

C.f. the @a[http://www.w3.org/TR/xmlschema-2/#unsignedByte]{specification}.

@b{Restrictions.} This type allows only values from the interval
[0, 255].

@b{Parameters and implementation.} Unchanged from the supertype.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

unsigned-short-type (class)

Direct methods
  • initialize-instance (method)
  • type-name (method)
Direct slots
Slot: type-name
Allocation

:class

Initform

"unsignedbyte"

Readers

type-name (generic function)

Class: unsigned-int-type ()

@short{The unsignedInt data type, derived from unsignedLong.}

C.f. the @a[http://www.w3.org/TR/xmlschema-2/#unsignedInt]{specification}.

@b{Restrictions.} This type allows only values from the interval
[0, 2^32-1].

@b{Parameters and implementation.} Unchanged from the supertype.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

unsigned-long-type (class)

Direct subclasses

unsigned-short-type (class)

Direct methods
  • initialize-instance (method)
  • type-name (method)
Direct slots
Slot: type-name
Allocation

:class

Initform

"unsignedint"

Readers

type-name (generic function)

Class: unsigned-long-type ()

@short{The unsignedLong data type, derived from nonNegativeInteger.}

C.f. the @a[http://www.w3.org/TR/xmlschema-2/#unsignedLong]{specification}.

@b{Restrictions.} This type allows only values from the interval
[0, 2^64-1].

@b{Parameters and implementation.} Unchanged from the supertype.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

non-negative-integer-type (class)

Direct subclasses

unsigned-int-type (class)

Direct methods
  • initialize-instance (method)
  • type-name (method)
Direct slots
Slot: type-name
Allocation

:class

Initform

"unsignedlong"

Readers

type-name (generic function)

Class: unsigned-short-type ()

@short{The unsignedShort data type, derived from unsignedInt.}

C.f. the @a[http://www.w3.org/TR/xmlschema-2/#unsignedShort]{specification}.

@b{Restrictions.} This type allows only values from the interval
[0, 2^16-1].

@b{Parameters and implementation.} Unchanged from the supertype.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

unsigned-int-type (class)

Direct subclasses

unsigned-byte-type (class)

Direct methods
  • initialize-instance (method)
  • type-name (method)
Direct slots
Slot: type-name
Allocation

:class

Initform

"unsignedshort"

Readers

type-name (generic function)

Class: validation-context ()

@short{This abstract class defines a protocol allowing data types to query the XML parser about its current state.}

Some types are context dependent, as indicated by @fun{type-context-dependent-p}. Those types need access to state computed by the XML parser implicitly, like namespace bindings or the Base URI.

User-defined subclasses must implement methods
for the functions @fun{context-find-namespace-binding} and @fun{context-find-unparsed-entity}.

Two pre-defined validation context implementations are provided, one for use with SAX, the other based on Klacks.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses
Class: xsd-id-type ()

@short{The ID data type, derived from NCName.}

C.f. the @a[http://www.w3.org/TR/xmlschema-2/#ID]{specification}.

@b{Restrictions.} None.

@b{ID type.} This type has the ID-type ’ID’for the purposes of DTD compatibility. See @a[http://relaxng.org/xsd-20010907.html]{Guidelines for using W3C XML Schema Datatypes with RELAX NG}.

@b{Parameters and implementation.} Unchanged from the supertype.

@see{id-type}

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

ncname-type (class)

Direct subclasses

xsd-idref-type (class)

Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"id"

Readers

type-name (generic function)

Class: xsd-idref-type ()

@short{The IDREF data type, derived from ID.}

C.f. the @a[http://www.w3.org/TR/xmlschema-2/#IDREF]{specification}.

@b{Restrictions.} None.

@b{ID type.} This type has the ID-type ’IDREF’for the purposes of DTD compatibility. See @a[http://relaxng.org/xsd-20010907.html]{Guidelines for using W3C XML Schema Datatypes with RELAX NG}.

@b{Parameters and implementation.} Unchanged from the supertype.

@see{idref-type}

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

xsd-id-type (class)

Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"idref"

Readers

type-name (generic function)

Class: xsd-idrefs-type ()

@short{The IDREFS data type, an enumeration.}

@b{Syntax.} A whitespace-separated sequence of @class{xsd-idref-type} values, with at least one element.

C.f. the @a[http://www.w3.org/TR/xmlschema-2/#IDREFS]{specification}.

@b{Implementation.} This type returns a list of the values as returned by @class{xsd-idref-type}.

@b{ID type.} This type has the ID-type ’IDREFS’for the purposes of DTD compatibility. See @a[http://relaxng.org/xsd-20010907.html]{Guidelines for using W3C XML Schema Datatypes with RELAX NG}.

@b{Parameters.} This type allows restrictions on the number of values through the parameters @slot{exact-length}, @slot{min-length}, and @slot{max-length}.

@see{idrefs-type}

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

enumeration-type (class)

Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"idrefs"

Readers

type-name (generic function)

Slot: word-type
Initform

(make-instance (quote cxml-types:xsd-idref-type))

Class: xsd-string-type ()

@short{The string data type.}

@b{Syntax.} An arbitrary string.
C.f. the @a[http://www.w3.org/TR/xmlschema-2/#string]{specification}.

@b{Implementation.} Returns the string unchanged. This is the only XSD type that does not normalize or replace whitespace.

@b{Parameters.} This type allows restrictions on the length of the string through the parameters @slot{exact-length}, @slot{min-length}, and @slot{max-length}.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses
Direct subclasses

normalized-string-type (class)

Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"string"

Readers

type-name (generic function)

Class: xsd-token-type ()

@short{The token data type, derived from normalizedString.}

@b{Syntax.} An arbitrary string.
C.f. the @a[http://www.w3.org/TR/xmlschema-2/#token]{specification}.

@b{Implementation.} Returns the string with normalized whitespace.

I.e., each whitespace character is replaced by a space
(character code 32), multiple spaces are collapsed into one character, and leading and trailing spaces will be removed.

(This is the standard behaviour of all XSD types with the exception of token’s supertypes @class{string-type} and @class{normalized-string-type}.)

@b{Parameters.} This type allows restrictions on the length of the normalized string through the parameters @slot{exact-length}, @slot{min-length}, and @slot{max-length}.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

normalized-string-type (class)

Direct subclasses
Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"token"

Readers

type-name (generic function)

Class: xsd-type ()

@short{The class of XML Schema built-in types.}

Subclasses of xsd-type provide the built-in types of @a[http://www.w3.org/TR/xmlschema-2/]{
XML Schema Part 2: Datatypes Second Edition}
as specified in @a[http://relaxng.org/xsd-20010907.html]{Guidelines for using W3C XML Schema Datatypes with RELAX NG}.

The XSD type library
is named @code{:|http://www.w3.org/2001/XMLSchema-datatypes|}.

@b{Parameters.} All XSD types accept regular expressions restricting the set of strings accepted by the type. The pattern parameter is called @code{"pattern"}. This parameter can be repeated to specify multiple regular expressions that must all match the data.
As an initarg, specify @code{:pattern} with a list of regular expressions as an argument.

@see-slot{patterns}

Package

cxml-types

Source

types.lisp (file)

Direct superclasses

data-type (class)

Direct subclasses
Direct methods
Direct slots
Slot: patterns
Readers

patterns (generic function)

Writers

(setf patterns) (generic function)

Slot: compiled-patterns
Readers

compiled-patterns (generic function)

Writers

(setf compiled-patterns) (generic function)

Class: year-month-type ()

@short{The gYearMonth data type, representing the calendar month of a specific year.}

@b{Syntax.} This type accepts an ISO-like syntax. For details refer to the @a[http://www.w3.org/TR/xmlschema-2/#gYearMonth]{specification}.

@b{Implementation.} This type returns the same kind of lists as @class{date-time-type}, except that the fields @code{day}, @code{hour}, @code{minute} and @code{second} are filled with dummy values from the Gregorian year AD 1.

@b{Parameters.} This type is ordered and allows the parameters @slot{max-inclusive}, @slot{min-inclusive},
@slot{max-exclusive}, and @slot{min-exclusive}. The ordering is partial except within a timezone, see the spec for details.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses
Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"gyearmonth"

Readers

type-name (generic function)

Class: year-type ()

@short{The gYear data type, representing a calendar year.}

@b{Syntax.} This type accepts an ISO-like syntax. For details refer to the @a[http://www.w3.org/TR/xmlschema-2/#gYear]{specification}.

@b{Implementation.} This type returns the same kind of lists as @class{date-time-type}, except that the fields @code{month}, @code{day}, @code{hour}, @code{minute} and @code{second} are filled with dummy values from the Gregorian year AD 1.

@b{Parameters.} This type is ordered and allows the parameters @slot{max-inclusive}, @slot{min-inclusive},
@slot{max-exclusive}, and @slot{min-exclusive}. The ordering is partial except within a timezone, see the spec for details.

Package

cxml-types

Source

types.lisp (file)

Direct superclasses
Direct methods
Direct slots
Slot: type-name
Allocation

:class

Initform

"gyear"

Readers

type-name (generic function)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Constants

Constant: +1+
Package

cxml-types

Source

unicode.lisp (file)

Constant: +limit-1+
Package

cxml-types

Source

unicode.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Special variables

Special Variable: !lname
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: !uri
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *annotation-attributes*
Package

cxml-rng

Source

compact.lisp (file)

Special Variable: *annotation-elements*
Package

cxml-rng

Source

compact.lisp (file)

Special Variable: *annotation-wrap*
Package

cxml-rng

Source

compact.lisp (file)

Special Variable: *any-name-allowed-p*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *attribute-namespace-p*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *compact-parser*
Package

cxml-rng

Source

compact.lisp (file)

Special Variable: *compatibility-grammar*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *compatibility-table*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *compatibility-test-p*
Package

cxml-rng

Source

test.lisp (file)

Special Variable: *data-types*
Package

cxml-rng

Source

compact.lisp (file)

Special Variable: *datatype-library*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *debug*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *default-namespace*
Package

cxml-rng

Source

compact.lisp (file)

Special Variable: *definitions-to-names*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *dtd-restriction-validator*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *elementp*
Package

cxml-rng

Source

compact.lisp (file)

Special Variable: *empty*
Package

cxml-rng

Source

validate.lisp (file)

Special Variable: *entity-resolver*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *error-class*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *external-href-stack*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *full-table-p*
Package

cxml-clex

Source

clex.lisp (file)

Special Variable: *grammar*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *id-type*
Package

cxml-types

Source

types.lisp (file)

Special Variable: *idref-type*
Package

cxml-types

Source

types.lisp (file)

Special Variable: *idrefs-type*
Package

cxml-types

Source

types.lisp (file)

Special Variable: *in-attribute*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *in-attribute-p*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *in-choices*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *in-data-except-p*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *in-default-value-p*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *in-element*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *in-list-p*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *in-one-or-more-p*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *in-one-or-more//group-or-interleave-p*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *in-pattern-parser-p*
Package

cxml-types

Source

nppcre.lisp (file)

Special Variable: *in-start-p*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *include-body-p*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *include-definitions*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *include-start*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *include-uri-stack*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *keywords*
Package

cxml-rng

Source

compact.lisp (file)

Special Variable: *namespace-uri*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *namespaces*
Package

cxml-rng

Source

compact.lisp (file)

Special Variable: *newly-seen-definitions*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *not-allowed*
Package

cxml-rng

Source

validate.lisp (file)

Special Variable: *ns*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *ns-name-allowed-p*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *process-dtd-compatibility*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *relax-ng-grammar*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *rng-namespace*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *seen-elements*
Package

cxml-rng

Source

validate.lisp (file)

Special Variable: *seen-names*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *standard-optimize-settings*
Package

cxml-types

Source

nppcre.lisp (file)

Special Variable: *string-data-type*
Package

cxml-types

Source

types.lisp (file)

Special Variable: *test-xmllint*
Package

cxml-rng

Source

test.lisp (file)

Special Variable: *token-data-type*
Package

cxml-types

Source

types.lisp (file)

Special Variable: *validate-grammar*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *whitespace*
Package

cxml-types

Source

types.lisp (file)

Special Variable: *whitespace*
Package

cxml-rng

Source

parse.lisp (file)

Special Variable: *xsd-types*
Package

cxml-types

Source

types.lisp (file)

Special Variable: .
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: \c
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: \d
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: \i
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: \s
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: \w
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: ^c
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: ^d
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: ^i
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: ^s
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: ^w
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: double-float-nan
Package

cxml-types

Source

floats.lisp (file)

Special Variable: double-float-negative-infinity
Package

cxml-types

Source

floats.lisp (file)

Special Variable: double-float-positive-infinity
Package

cxml-types

Source

floats.lisp (file)

Special Variable: p{cc}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{cf}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{cn}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{co}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{c}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isalphabeticpresentationforms}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isarabicpresentationforms-a}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isarabicpresentationforms-b}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isarabic}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isarmenian}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isarrows}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isbasiclatin}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isbengali}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isblockelements}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isbopomofoextended}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isbopomofo}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isboxdrawing}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isbraillepatterns}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{ischerokee}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{iscjkcompatibilityforms}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{iscjkcompatibilityideographs}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{iscjkcompatibility}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{iscjkradicalssupplement}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{iscjksymbolsandpunctuation}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{iscjkunifiedideographsextensiona}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{iscjkunifiedideographs}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{iscombiningdiacriticalmarks}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{iscombininghalfmarks}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{iscombiningmarksforsymbols}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{iscontrolpictures}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{iscurrencysymbols}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{iscyrillic}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isdevanagari}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isdingbats}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isenclosedalphanumerics}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isenclosedcjklettersandmonths}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isethiopic}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isgeneralpunctuation}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isgeometricshapes}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isgeorgian}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isgreekextended}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isgreek}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isgujarati}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isgurmukhi}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{ishalfwidthandfullwidthforms}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{ishangulcompatibilityjamo}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{ishanguljamo}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{ishangulsyllables}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{ishebrew}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{ishiragana}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isideographicdescriptioncharacters}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isipaextensions}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{iskanbun}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{iskangxiradicals}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{iskannada}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{iskatakana}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{iskhmer}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{islao}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{islatin-1supplement}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{islatinextended-a}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{islatinextended-b}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{islatinextendedadditional}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isletterlikesymbols}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{ismalayalam}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{ismathematicaloperators}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{ismiscellaneoussymbols}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{ismiscellaneoustechnical}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{ismongolian}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{ismyanmar}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isnumberforms}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isogham}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isopticalcharacterrecognition}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isoriya}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isprivateuse}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isrunic}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{issinhala}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{issmallformvariants}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isspacingmodifierletters}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isspecials}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{issuperscriptsandsubscripts}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{issyriac}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{istamil}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{istelugu}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isthaana}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isthai}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{istibetan}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isunifiedcanadianaboriginalsyllabics}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isyiradicals}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{isyisyllables}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{ll}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{lm}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{lo}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{lt}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{lu}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{l}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{mc}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{me}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{mn}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{m}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{nd}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{nl}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{no}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{n}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{pc}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{pd}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{pe}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{pf}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{pi}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{po}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{ps}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{p}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{sc}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{sk}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{sm}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{so}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{s}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{zl}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{zp}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{zs}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: p{z}
Package

cxml-types

Source

unicode.lisp (file)

Special Variable: single-float-nan
Package

cxml-types

Source

floats.lisp (file)

Special Variable: single-float-negative-infinity
Package

cxml-types

Source

floats.lisp (file)

Special Variable: single-float-positive-infinity
Package

cxml-types

Source

floats.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Macros

Macro: defblock NAME MIN MAX
Package

cxml-types

Source

unicode.lisp (file)

Macro: define-uncompactor NAME (&rest ARGS) &body BODY
Package

cxml-rng

Source

compact.lisp (file)

Macro: defranges NAME FORM
Package

cxml-types

Source

unicode.lisp (file)

Macro: defxsd (CLASS-NAME TYPE-NAME) (&rest SUPERS) (&rest SLOTS) &rest ARGS
Package

cxml-types

Source

types.lisp (file)

Macro: do-bits (VAR SET &optional RESULT) &body BODY

Iterate body with ‘var’ over all elements of ‘set’.

Package

cxml-clex

Source

clex.lisp (file)

Macro: double X
Package

cxml-rng

Source

compact.lisp (file)

Macro: element-of-set-p ELM SET

Determine whether ‘elm’ is element of the set ‘set’.

Package

cxml-clex

Source

clex.lisp (file)

Macro: ensuref KEY TABLE VALUE
Package

cxml-rng

Source

validate.lisp (file)

Macro: lambda* (&rest ARGS) &body BODY
Package

cxml-rng

Source

compact.lisp (file)

Macro: make-empty-set N

Create the empty set on the domain [0,n).

Package

cxml-clex

Source

clex.lisp (file)

Macro: maybe-coerce-to-simple-string STRING
Package

cxml-types

Source

nppcre.lisp (file)

Macro: nset-put BAG NEW

Destructively calculate bag = bag U {new}.

Package

cxml-clex

Source

clex.lisp (file)

Macro: precompile PATTERN
Package

cxml-types

Source

types.lisp (file)

Macro: set-size SET

Return the upper bound of the domain of ‘set’.

Package

cxml-clex

Source

clex.lisp (file)

Macro: with-element NAME-AND-ARGS &body BODY
Package

cxml-rng

Source

compact.lisp (file)

Macro: with-library-and-ns ATTRS &body BODY
Package

cxml-rng

Source

parse.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.4 Functions

Function: %combination-p OBJECT
Package

cxml-rng

Source

parse.lisp (file)

Function: %leaf-nullable INSTANCE
Function: (setf %leaf-nullable) VALUE INSTANCE
Package

cxml-rng

Source

parse.lisp (file)

Function: %leaf-p OBJECT
Package

cxml-rng

Source

parse.lisp (file)

Function: %named-pattern-p OBJECT
Package

cxml-rng

Source

parse.lisp (file)

Function: %parent-p OBJECT
Package

cxml-rng

Source

parse.lisp (file)

Function: %typed-pattern-p OBJECT
Package

cxml-rng

Source

parse.lisp (file)

Function: . CHARACTER
Package

cxml-types

Source

unicode.lisp (file)

Function: <-using-type TYPE U V
Package

cxml-types

Source

types.lisp (file)

Function: <=-using-type TYPE U V
Package

cxml-types

Source

types.lisp (file)

Function: >-using-type TYPE U V
Package

cxml-types

Source

types.lisp (file)

Function: >=-using-type TYPE U V
Package

cxml-types

Source

types.lisp (file)

Function: \c CHARACTER
Package

cxml-types

Source

unicode.lisp (file)

Function: \d CHARACTER
Package

cxml-types

Source

unicode.lisp (file)

Function: \i CHARACTER
Package

cxml-types

Source

unicode.lisp (file)

Function: \s CHARACTER
Package

cxml-types

Source

unicode.lisp (file)

Function: \w CHARACTER
Package

cxml-types

Source

unicode.lisp (file)

Function: ^c CHARACTER
Package

cxml-types

Source

unicode.lisp (file)

Function: ^d CHARACTER
Package

cxml-types

Source

unicode.lisp (file)

Function: ^i CHARACTER
Package

cxml-types

Source

unicode.lisp (file)

Function: ^s CHARACTER
Package

cxml-types

Source

unicode.lisp (file)

Function: ^w CHARACTER
Package

cxml-types

Source

unicode.lisp (file)

Function: advance HSX PATTERN MESSAGE &rest ARGS
Package

cxml-rng

Source

validate.lisp (file)

Function: after-a INSTANCE
Function: (setf after-a) VALUE INSTANCE
Package

cxml-rng

Source

parse.lisp (file)

Function: after-b INSTANCE
Function: (setf after-b) VALUE INSTANCE
Package

cxml-rng

Source

parse.lisp (file)

Function: after-nullable INSTANCE
Function: (setf after-nullable) VALUE INSTANCE
Package

cxml-rng

Source

parse.lisp (file)

Function: after-p OBJECT
Package

cxml-rng

Source

parse.lisp (file)

Function: any-name-p OBJECT
Package

cxml-rng

Source

parse.lisp (file)

Function: assert-name-class-finite NC
Package

cxml-rng

Source

parse.lisp (file)

Function: attribute-p OBJECT
Package

cxml-rng

Source

parse.lisp (file)

Function: attributes' HANDLER PATTERN ATTRIBUTES
Package

cxml-rng

Source

validate.lisp (file)

Function: check-attribute-compatibility/default PATTERN DEFAULT-VALUE
Package

cxml-rng

Source

parse.lisp (file)

Function: check-attribute-compatibility/id PATTERN DEFAULT-VALUE
Package

cxml-rng

Source

parse.lisp (file)

Function: check-element-overlap-compatibility ELT1 ELT2
Package

cxml-rng

Source

parse.lisp (file)

Function: check-pattern-definitions SOURCE GRAMMAR
Package

cxml-rng

Source

parse.lisp (file)

Function: check-schema-compatibility SCHEMA DEFNS
Package

cxml-rng

Source

parse.lisp (file)

Function: check-start-restrictions PATTERN
Package

cxml-rng

Source

parse.lisp (file)

Function: choice-a INSTANCE
Function: (setf choice-a) VALUE INSTANCE
Package

cxml-rng

Source

parse.lisp (file)

Function: choice-b INSTANCE
Function: (setf choice-b) VALUE INSTANCE
Package

cxml-rng

Source

parse.lisp (file)

Function: choice-ify CHILDREN
Package

cxml-rng

Source

parse.lisp (file)

Function: choice-nullable INSTANCE
Function: (setf choice-nullable) VALUE INSTANCE
Package

cxml-rng

Source

parse.lisp (file)

Function: choice-p OBJECT
Package

cxml-rng

Source

parse.lisp (file)

Function: classes-overlap-p NC1 NC2
Package

cxml-rng

Source

parse.lisp (file)

Function: code X
Package

cxml-clex

Source

clex.lisp (file)

Function: collect-char-class LEXER

Reads and consumes characters from regex string until a right bracket is seen. Assembles them into a list (which is returned) of characters, character ranges, like (:RANGE #\A #\E) for a-e, and tok