[
Lists Home |
Date Index |
Thread Index
]
John Cowan wrote:
>
> james anderson scripsit:
>
> > cl-xml includes a first cut xml-path processor. it adds to the standard
> > parsing protocol that xml path expressions are interned in the parser's
> > dynamic context.
>
> What does it mean, to intern a symbol in a dynamic context?
it means to choose the package into which the symbol is interned according to
dynamically bound package aliases.
stack-oriented translators customarily represent lexical relationships through
dynamic bindings. xpath expressions can be parsed in the dynamic context
established by the parser as it is parsing the document. at this point the
namespace declarations in a document are represented in the parser's runtime
environment through dynamic bindings of prefixes to namespace names. where
packages are used to model namespaces, these aliases rather than the standard
package name and nicknames are used to decide which package is designated by a
namespace prefix.
> AFAIK symbols
> are either interned in some package or are not interned.
>
yes, but the package into which a symbol is interned can be freely chosen. (if
we're talking about symbols and lisp,) the reader has rules about how that
package is chosen which are codified in the language. it uses the package name
and nicknames when it is interning symbol designators. these names have
indefinite extent. a program can make up whatever rules it wants for how it
wants to name packages and therby for the package it chooses when it interns a
symbol. it does not have to rely in the reader's rules. cl-xml follows a
protocol which corresponds to that specified by namespaces in xml. it exposes
the mechanism to applications. one such application - an xml path parser can
be invoked by a larger application, or by the parser itself if an attribute
value or element content is typed as an xml path or qualified name, to parse
an expression - thereby interning any components which are names with
reference to the dynamically bound representation of the document's lexical constraints.
...
|