I made a small bugfix and a refactoring of dom:map-document that I was hoping could be pulled upstream.
Without the change to cxml:attribute*, attributes created with this function will not be serialized without setting the :include-default-values to T while when calling map-document.
The map-document->walk refactoring was important so that I could map sub documents. I use this in my templating library (TALCL) to map nodes created in a dom document into a buffer of sax events (that can be played out during serialization).
These are available from my github account: git pull git://github.com/bobbysmith007/cxml.git patches-on-upstream https://github.com/bobbysmith007/cxml/commits/patches-on-upstream
If you need anything further from me, please don't hesitate to ask.
Cheers, Russ Tyndall
commit 6fe408e85926329de511cc533c3c670b802df641 Author: Russ Tyndall russ@acceleration.net Date: Mon May 2 16:07:32 2011 -0400
Refactored dom:map-document into methods of dom:walk
* dom:map-document now calls dom:walk on the document
* walk used to be a labels inside of map-document, now it is a generic function called by map-document
commit 0af0575d47379505ee4b89d042d0c7929b6e727e Author: Russ Tyndall russ@acceleration.net Date: Mon May 2 16:06:44 2011 -0400
make cxml:attribute* helper accept and correctly set specified-p (which defaults to T rather than the previous nil)
* specified-p determines whether or not an attribute is considered being a default attribute vs one that has been explicitly set. Since this is a builder function, it seems that this should be T by default.