Tiny Point: Rewriting and Documents on readonly CD's
Mark Tucker
mct at foyt.indyrad.iupui.edu
Fri Sep 11 23:56:24 BST 1998
Sam Hunting <sgmlsh at CAM.ORG> wrote:
mct> 3. Rewrite the element or attribute, prepending the
mct> (possibly generated) unique prefix for the namespace
mct> of the element/attributes Expanded Name.
sh> Suppose I have a requirement that my XML content cannot be changed in any
sh> way. For example, the content is on a CD, yet I still wish to be able to
sh> associate namespaces with the GIs on that CD.
sh>
sh> So how do I prepend the prefixes to content found on a read-only medium?
sh>
sh> I suppose I could copy the data off the CD and validate the copy, but
sh> wouldn't that get old pretty fast?
The validation takes place in the RAM of the validation process.
If your validator builds a DOM internally, then the re-writing
is actually done by assigning new values to the DOM tree.
If you want to do it "streaming", can't a namespace-aware SAX
processor spit out [LocalName, applicableNamespace] pairs as it parses
the document?
It seems that you don't even have to use two passes to find unique
prefixes:
Just use the namespace URI as the definition, with bad
characters escaped, as the normalized prefix.
For example,
<book xmlns:Q="uri:/alpha">
<name/>
</book>
is rewritten as
<book>
<uri_2falpha:name>
</book>
(where bad characters in the uri are escaped with '_' hex hex.)
--
==============================================================
Mark Tucker tucker_m at regenstrief.iupui.edu
Regenstrief Institute phone: (317) 630-2606
1001 W. 10'th St; Indianapolis, IN; 46202-2859; fax: (317) 630-6962
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list