[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Schemas and entities (was "And the DTD says, "I'm NOT dead yet!!")
- From: email@example.com (Henry S. Thompson)
- To: Marcus Carr <firstname.lastname@example.org>
- Date: Fri, 12 Jan 2001 13:07:59 +0000
Marcus Carr <email@example.com> writes:
> > Sorry this takes you by surprise, and with a negative response. We
> > think it's a _very_ important property of XML Schema that it builds on
> > _top_ of XML 1.0 plus Namespaces, and starts where they leave off,
> > rather than starting all over again at the level of BNFs for character
> > sequences. Providing the latter would have _considerably_ increased
> > the size of an already large spec.
> I can certainly accept that, and in general I don't object to the idea of
> modularising the various processing stages. I think I now see how schemas
> replace DTDs - please correct me if I'm wrong. In the event that I wanted to
> employ a dataflow that involved general entities that did more than just string
> replacement, I would have to:
> a) create an instance with entities,
> b) process my instance against a DTD,
> c) use some means to insert namespaces,
> d) validate with a schema-driven processor.
You're making things _much_ too complicated.
a) create an instance per XML 1.0 plus Namespaces, with entity
definitions in the internal or external subset, but nothing else
(i.e. no ELEMENT or ATTRIBUTE declarations);
b) process with any conformant XML processor (if entities are all
defined in internal subset) or with any validating XML processor (if
any entities are defined in external subset);
c) process with a schema-aware processor.
Another way to put it is that XML Schema-aware processors require step
(b) as their first step.
> The new dataflow appears to be:
> a) create an instance that uses namespaces but not entities,
> b) validate with a schema-driven processor.
Not quite. See above. There must always be a vanilla XML 1.0
processor somewhere. Of course, per the first clause of my (b) above,
if you never use entities (or never use the external subset) any
conformant XML 1.0 processor will do.
> Logically, I shouldn't use entities, because I'd be required to
> employ a process that doesn't play with namespaces or schemas, so
> I'd need to do a lot more fiddling. On the other hand, if it's
> important that I use entities I still can, as long as I'm prepared
> to put up with managing a sloppy set of processes. Is that a fair
> summary of the situation?
I hope I've clarified that it actually _isn't_ a fair summary, because
there's no interaction between namespace usage and general entity
Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
W3C Fellow 1999--2001, part-time member of W3C Team
2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
Fax: (44) 131 650-4587, e-mail: firstname.lastname@example.org