OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   RE: [xml-dev] Alternative "character entity" proposal

[ Lists Home | Date Index | Thread Index ]

This from the man who gave us the InfoSet.

Tell me, please, what the data model is for this. Because my mental view
of it looks something like a Klein bottle.

Michael Kay

> -----Original Message-----
> From: Richard Tobin [mailto:richard@cogsci.ed.ac.uk] 
> Sent: 21 October 2003 15:14
> To: xml-dev@lists.xml.org
> Subject: [xml-dev] Alternative "character entity" proposal
> This is a proposal for a new mechanism for declaring internal 
> entities, requiring a new version of XML.
> [I am not proposing this because I think it's a good idea - I 
> can't see a good solution at all - but because it's an 
> obvious approach that several people have talked to me about 
> at W3C meetings and which has not been discussed in the 
> recent threads on the subject.  Henry Thompson proposed a 
> similar mechanism a few years ago.]
> Since XML 1.0, replacements have been invented for most 
> aspects of DTDs:
>  - content restriction and typing is provided by XML Schemas, 
> Relax NG,
>    Schematron etc
>  - something similar to external entity inclusion is provided 
> by XInclude
>  - ID-ness is being addressed by the current work on xml:id
> In each case the replacement uses (or can use) XML instance 
> syntax rather than DTD syntax.
> The obvious missing item from the list is internal entities, 
> especially in their use as names for characters.
> In theory, XInclude can replace internal entities.  The href 
> in an xinclude element can refer to a fragment of the same 
> document.  But this is hardly convenient: it is very verbose, 
> and you have to find somewhere to put the text itself.  
> XInclude works well for merging small documents into a large 
> document, but not so well for defining frequently-used short 
> sequences of characters.
> The proposal is to continue to use the existing entity 
> reference syntax, while providing a new way to declare 
> entities.  The declarations would use XML instance syntax, 
> and be scoped to allow multi-vocabulary documents where the 
> vocabularies have their own entity sets - in particular, it 
> is not necessary to change the prolog or higher-level 
> elements to include a fragment which uses its own entity set.
> The syntax for declaring a single entity is an attribute of the
> form:
>    xmlent:eacute="é"
> Within the scope of the element with that attribute, é 
> will refer to the e-acute character.
> The replacement text is not restricted to a single character:
>    xmlent:author="Richard Tobin"
> A file of entity declarations can be specified by an attribute of the
> form:
>    xmlentfile="http://example.org/ents";
> or more than one file:
>    xmlentfile="http://example.org/ents1 http://example.org/ents2";
> These files must contain a single element, whose name is 
> arbitrary, and that element may have xmlent:* and xmlentfile 
> attributes.  All the entities declared in the file (and 
> recursively) are in scope within the element with the 
> xmlentfile attribute.
> Within the scope of such declarations, references to the 
> entities are both well-formed and valid.  This implies a new 
> XML version number.
> There are many variations possible: the single inline 
> declaration could be removed; the file syntax could use 
> elements, the entity names could be namespaced, and so on.  
> The key point is to have a scoped mechanism for declaring 
> internal entities using xml-instance syntax.
> -- Richard
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org 
> <http://www.xml.org>, an initiative of OASIS 

The list archives are at http://lists.xml.org/archives/xml-dev/

To subscribe or unsubscribe from this list use the subscription
manager: <http://lists.xml.org/ob/adm.pl>


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS