I've found a solution to the name lookup problem. It's actually quite easy for 
one to find the context of a particular node using XPath, so that one can 
determine the namespace scope of the current entity via the XPath expression:

  ancestor::namespace

(returns the set of all namespace nodes that are ancestors of the current 
node).

  It's possible to pick a particular node out of this set by its depth with:

  ancestor::namespace[count(ancestor::namespace) == $i]

(picks the node with i ancestors. When i is 0, with will be the topmost 
namespace, e.g., 'boost' from 'boost::python::function').

There are many details still to be resolved, but this should allow us to 
write, e.g.,  <classname>function</classname> and have it find 
boost::python::function if we're in the Python docs and boost::function if 
we're in the Function docs. Most likely, we will need to introduce a using 
directive to introduce scopes, e.g.,

<using-namespace>boost::python</using-namespace>

        Doug

P.S. An open source release of Caramel is in the works. Jeremiah Wilcox has 
offered to help modify their concept->HTML XSLT stylesheet to output DocBook 
instead. We should soon have the ability to document concepts in a form that 
can generate both documentation (in DocBook) and C++ code for archetypes and 
concept checkers.


-------------------------------------------------------
This SF.net email is sponsored by: Get the new Palm Tungsten T 
handheld. Power & Color in a compact size! 
http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0002en
_______________________________________________
Boost-docs mailing list
[EMAIL PROTECTED]
Unsubscribe and other administrative requests: 
https://lists.sourceforge.net/lists/listinfo/boost-docs

Reply via email to