[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Layering (was RE: Blueberry/Unicode/XML)
- From: David Brownell <firstname.lastname@example.org>
- To: Leigh Dodds <email@example.com>, firstname.lastname@example.org
- Date: Tue, 10 Jul 2001 07:49:23 -0700
> I've noticed a trend lately that many of the particularly thorny
> issues that have been debated on XML-DEV result in the
> identification, or suggested addition of a 'layer' within parsers and
> beyond. (Especially when we get into namespaces, linking, inclusion
> and validation, and PSVIs)
What was that -- XPath and XSchema both need to be
applied first? A small layering botch ... :)
> Has anyone ever documented what these separate layers are?
> Or possibly identified in which 'layer' particular XML
> requirements/constraint lie?
Well, AElfred2 is at least modular ... the core parser is still
non-validating, and validation is an optional module. (Like
JAXP, DOM, and so on ... )
Given SAX2, most validity checking can be layered. There
are a few checks that can't be -- relating to entity management
such as the two nesting VCs and standalone declarations, and
a few more.
And given some library to encapsulate name rules, all that
is separable too. Call it another "layer".
Then most other XML apps should be nicely layerable on
top of the infoset as exposed/augmented through SAX2.
Linking, inclusion, schema-du-jour, and so on.
> Is it possible to write an efficient layered parser in this way?
> Do the logical divisions get blurred once optimisation starts?
XML 1.0 does have some notions that aren't particularly
friendly to layering ... those entity management VCs that
I mentioned above, for starters. They need to be special
cased inside an otherwise non-validating parser.