Update of /project/cxml/cvsroot/cxml/doc In directory clnet:/tmp/cvs-serv17056/doc
Modified Files: cxml.css index.xml klacks.xml sax.xml Log Message: + <li>New class <tt>broadcast-handler</tt> as a generalization + of the older <tt>sax-proxy</tt>.</li>
+ <li>New class <tt>tapping-source</tt>, a klacks source that + relays events from an upstream klacks source unchanged, while also + emitting them as SAX events to a user-specified handler at the + same time.</li>
+ Fixed serialize-event to generate + start-prefix-mapping and end-prefix-mapping events. New function + map-current-namespace-declarations.</li>
--- /project/cxml/cvsroot/cxml/doc/cxml.css 2006/08/20 11:48:58 1.6 +++ /project/cxml/cvsroot/cxml/doc/cxml.css 2007/04/22 13:23:54 1.7 @@ -10,10 +10,11 @@ background-color: #9c0000; border: solid #9c0000; border-top-width: 1px; - border-bottom-width: 0px; + border-bottom-width: 2px; border-left-width: 4px; border-right-width: 0px; - margin: 0em 2pt 1px 2em; + padding-left: 1px; + margin: 0em 2pt 0px 2em; }
div.sidebar-title a { @@ -21,15 +22,14 @@ }
div.sidebar-main { - background-color: #eeeeee; + background-color: #f7f7f7; border: solid #9c0000; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 4px; border-right-width: 0px; margin: 0em 2pt 1em 2em; - padding-top: 2px; - padding-left: 2px; + padding: 1em; }
div.sidebar ul.main { --- /project/cxml/cvsroot/cxml/doc/index.xml 2007/03/04 21:04:11 1.4 +++ /project/cxml/cvsroot/cxml/doc/index.xml 2007/04/22 13:23:54 1.5 @@ -55,12 +55,20 @@ <li>xml:base support (SAX and Klacks only, not yet used in DOM). See documentation <a href="sax.html#saxparser">here</a> and <a href="klacks.html#locator">here</a>.</li> - <li>Fixed attributes to carry an lname even without when occurring + <li>New class <tt>broadcast-handler</tt> as a generalization + of the older <tt>sax-proxy</tt>.</li> + <li>New class <tt>tapping-source</tt>, a klacks source that + relays events from an upstream klacks source unchanged, while also + emitting them as SAX events to a user-specified handler at the + same time.</li> + <li>Changed attributes to carry an lname even when occurring without a namespace.</li> <li>Klacks improvements: Incompatibly changed klacks:find-element and find-event to consider the current event as a result. Added klacks-error, klacks:expect, klacks:skip, - klacks:expecting-element.</li> + klacks:expecting-element. Fixed serialize-event to generate + start-prefix-mapping and end-prefix-mapping events. New function + map-current-namespace-declarations.</li> </ul> <p class="nomargin"><tt>rel-2007-02-18</tt></p> <ul class="nomargin"> --- /project/cxml/cvsroot/cxml/doc/klacks.xml 2007/03/04 21:04:11 1.8 +++ /project/cxml/cvsroot/cxml/doc/klacks.xml 2007/04/22 13:23:54 1.9 @@ -180,6 +180,18 @@ signal an error. </p> <p> + <div class="def">Function KLACKS:MAP-CURRENT-NAMESPACE-DECLARATIONS (fn source) => nil</div> + </p> + <p> + For use only on :start-element and :end-element events, this + function report every namespace declaration on the current element. + On :start-element, these correspond to the xmlns attributes of the + start tag. On :end-element, the declarations of the corresponding + start tag are reported. No inherited namespaces are + included. <tt>fn</tt> is called only for each declaration with two + arguments, the prefix and uri. + </p> + <p> <div class="def">Function KLACKS:MAP-ATTRIBUTES (fn source)</div> </p> <p> @@ -281,6 +293,19 @@ Read all klacks events from <tt>source</tt> and send them as SAX events to the SAX <tt>handler</tt>. </p> + <p> + <div class="def">Class KLACKS:TAPPING-SOURCE (source)</div> + A klacks source that relays events from an upstream klacks source + unchanged, while also emitting them as SAX events to a + user-specified handler at the same time. + </p> + <p> + <div class="def">Functon KLACKS:MAKE-TAPPING-SOURCE + (upstream-source &optional sax-handler)</div> + Create a tapping source relaying events + for <tt>upstream-source</tt>, and sending SAX events + to <tt>sax-handler</tt>. + </p>
<a name="locator"/> <h3>Location information</h3> --- /project/cxml/cvsroot/cxml/doc/sax.xml 2007/03/04 21:04:11 1.2 +++ /project/cxml/cvsroot/cxml/doc/sax.xml 2007/04/22 13:23:54 1.3 @@ -358,16 +358,35 @@ (dom:map-document (cxml:make-validator x #"foo") d))</pre>
<p> - <div class="def">Class CXML:SAX-PROXY ()</div> + <div class="def">Class CXML:BROADCAST-HANDLER ()</div> + <div class="def">Accessor CXML:BROADCAST-HANDLER-HANDLERS</div> + <div class="def">Function CXML:MAKE-BROADCAST-HANDLER (&rest handlers)</div> + <tt>broadcast-handler</tt> is a SAX handler which passes every event it + receives on to each of several chained handlers, somewhat similar + to the way a <tt>broadcast-stream</tt> works. + </p> + <p> + You can subclass <tt>broadcast-stream</tt> to modify the events + before they are being passed on. Define methods on your handler + class for the events to be modified. All other events will pass + through to the chained handlers unmodified. + </p> + <p> + Broadcast handler functions return the result of calling the event + function on the <i>last</i> handler in the list. In particular, + the overall result from <tt>sax:end-document</tt> will be ignored + for all other handlers. + </p> + + <p> + <div class="def">Class CXML:SAX-PROXY (broadcast-handler)</div> <div class="def">Accessor CXML:PROXY-CHAINED-HANDLER</div> - <tt>sax-proxy</tt> is a SAX handler which passes all events it - receives on to a user-defined second handler, which defaults - to <tt>nil</tt>. Use <tt>sax-proxy</tt> to modify the events a - SAX handler receives by defining your own subclass - of <tt>sax-proxy</tt>. Setting the chained handler to the target - handler, and define methods on your handler class for the events - to be modified. All other events will pass through to the chained - handler unmodified. + <tt>sax-proxy</tt> is a subclass of <tt>broadcast-handler</tt> + which sends events to exactly one chained handler. This class is + still included for compatibility with older versions of + CXML which did not include the more + general <tt>broadcast-handler</tt> yet, but has been retrofitted + as a subclass of the latter. </p>
<p>