[cxml-devel] Re: Fwd: Problem with cxml-xmls:map-node?
Daniel Katz
dpkatz at gmail.com
Tue Aug 19 11:53:53 UTC 2008
Okay -- I was being stupid. I did a bit more reading and found
the :include-namespace-uri keyword for cxml-xmls:map-node, set it to
nil, and found that it all works.
My only suggestion, therefore, is to update the example in the Quick-
Start guide to reflect this usage.
Sorry for the red herring.
Dan
On Aug 8, 2008, at 8:32 AM, Daniel Katz wrote:
>
> Hi -
>
> I'm exploring cxml, and I'm running into trouble using the cxml-
> xmls:map-node. I don't know whether I'm doing something stupid or
> whether it's a bug, so I thought I'd ask here.
>
>
> I began by following the example in the Quick-Start Guide (http://
> common-lisp.net/project/cxml/quickstart.html#id54132) and found
> myself in the debugger with an error related to namespaces:
>
>
>>
>> CL-USER> (with-open-file (out
>> "example.out" :direction :output :element-type '(unsigned-byte 8))
>> (cxml-xmls:map-node (cxml:make-character-stream-
>> sink out)
>> '("test" (("a" "b"))
>> ("child" nil))))
>>
>> serializing with :INCLUDE-NAMESPACE-URI, but node was created
>> without namespace URI
>> [Condition of type SIMPLE-ERROR]
>>
>> Restarts:
>> 0: [ABORT] Return to SLIME's top level.
>> 1: [ABORT-BREAK] Reset this process
>> 2: [ABORT] Kill this process
>>
>> Backtrace:
>> 0: ((:INTERNAL CXML-XMLS::WALK CXML-XMLS::MAP-NODE/LNAMES)
>> '("test" (("a" "b")) ("child" NIL)))
>> 1: (CXML-XMLS::MAP-NODE/LNAMES #<CXML::NAMESPACE-NORMALIZER
>> #x8D0290E> '("test" (("a" "b")) ("child" NIL)) 'T)
>> 2: (#<Anonymous Function #x8D04486>)
>
>
>
>
> I have to admit that I didn't find this error to be very useful in
> terms of understanding what the problem is.
>
>
>
>
> My second attempt was to avoid constructing the xmls-style data by
> hand but to instead take the output of a cxml parse. Suffice it to
> say that I ran into the same issue:
>
>
>> CL-USER> (with-open-file (out
>> "foo.out" :direction :output :element-type '(unsigned-byte 8))
>> (cxml-xmls:map-node (cxml:make-character-stream-
>> sink out)
>> (cxml:parse-file
>> "foo.xml" (cxml-xmls:make-xmls-builder))))
>>
>>
>> serializing with :INCLUDE-NAMESPACE-URI, but node was created
>> without namespace URI
>> [Condition of type SIMPLE-ERROR]
>>
>> Restarts:
>> 0: [ABORT] Return to SLIME's top level.
>> 1: [ABORT-BREAK] Reset this process
>> 2: [ABORT] Kill this process
>>
>> Backtrace:
>> 0: ((:INTERNAL CXML-XMLS::WALK CXML-XMLS::MAP-NODE/LNAMES)
>> '("foo" NIL "
>> "
>> ("bar" (("quux" "quux")) "
>> baz
>> ")
>> "
>> "))
>> 1: (CXML-XMLS::MAP-NODE/LNAMES #<CXML::NAMESPACE-NORMALIZER
>> #x8CFCF86> '("foo" NIL "
>> "
>> ("bar" (("quux" "quux")) "
>> baz
>> ")
>> "
>> ") 'T)
>> 2: (#<Anonymous Function #x8C7D31E>)
>> 3: (SWANK::EVAL-REGION "(with-open-file (out \"foo.out\"
>> :direction :output
>> :element-type '(unsigned-byte 8))
>> (cxml-xmls:map-node (cxml:make-character-stream-sink out)
>> (cxml:parse-file \"foo.xml\" (cxml-xmls:make-xmls-
>> builder))))
>> ")
>
> So now I'm sort of at a loss for what to do next. And my basic
> question once again is: am I doing something stupid? Or is the
> xmls-style serialization facility broken?
>
> Thanks.
>
> Dan
>
>
More information about the cxml-devel
mailing list