[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
More XML Parsing: Is anyone using CVS xml.el namespace processing?
From: |
Mark A. Hershberger |
Subject: |
More XML Parsing: Is anyone using CVS xml.el namespace processing? |
Date: |
Sun, 28 Sep 2003 12:31:48 -0500 |
User-agent: |
Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3.50 (gnu/linux) |
Recently I had a short conversation with James Clark about the
structures xml.el produces.
I asked him what he thought about the current (CVS) namespace-aware
processing. Based on his feedback, I plan to submit changes that
will return an incompatible structure to the one currently in CVS.
Currently, when xml.el encounters a bit of XML like:
<ns:xml xmlns:ns="uri:namespace" ns:attr="value"/>
it produces:
(({uri:namespace}xml
(({http://www\.w3\.org/2000/xmlns/}ns . "uri:namespace")
({uri:namespace}attr . "value"))))
At the time that I wrote this, I saw some W3 docs where this style was
used and copied it. Some people here asked me why I did this instead
of something like (uri:namespace . "xml"), but I forged ahead.
Now, after my conversation with Mr. Clark, I've been persuaded that I
was wrong. At his suggestion, I'd like to change the above xml
representation produce the following:
(((uri:namespace . "xml")
((((http://www\.w3\.org/2000/xmlns/ . "ns") . "uri:namespace")
((uri:namespace . "attr") . "value")))))
As Mr. Clark said:
... there are typically not very many different namespace URIs, so
keeping them in Emacs symbol table is not a problem; in the
returned representation of the XML, the namespaces would be
shared, but strings are mutable in Emacs, which is kind of ugly.
Where there is no namespace given:
<xml attr="value">
It would produce the following:
(("xml"
(("attr" . "value"))))
Unless there are major objections, I'd like to repent of my previous
code and submit changes to produce the above.
Mark.
--
If you want to know who is funding terrorists, look in the vanity
mirror as you turn the key of your SUV.
-- http://philip.greenspun.com/politics/israel/
- More XML Parsing: Is anyone using CVS xml.el namespace processing?,
Mark A. Hershberger <=