Sylvain Wallez wrote:
Vadim Gritsenko wrote:

As a side note, the refactored NamespacesTable I committed yesterday is a killer tool to cleanly handle namespaces (see RedundantNamespacesFilter). I plan to use it in some transformers that "consume" namespaces such as i18n, xinclude, etc to ensure the consumed namespaces never passes through the transformer.

If transformer consumes its namespace completely, it's way more efficient to simply filter out the namespace completely.

It's not always that easy, as you have to remove the startPrefixMapping and the endPrefixMapping. The start is easy because you've got the URI, but the end isn't so easy as you have to know which prefix to filter out, and several prefixes can be used for the same URI (or the same prefix can also hide a previous one).

I know. Won't simplier use of NamespacesTable solve this [1]?


I will also modify AbtractProcessingPipeline so that it dumps the full chain of locations of the pipeline when an error occurs.

That will lead to stacktraces like:

<jx:forEach> - resource://org/apache/cocoon/forms/generation/jx-macros.xml:103:10
 <ft:repeater> - context://foo/bar.xml:23:12

(hm, why it's context:// here - won't it usually resolve to file://?)

context:// is a convenience provided by the error2html stylesheet to have shorter paths. But logs contain the full path with file://

Nice!


 <map:serialize> - context://foo/sitemap.xmap:45:6
 <map:transform> - context://foo/sitemap.xmap:44:6
 <map:generate> - context://foo/sitemap.xmap:43:6
 showForm() - resource://org/apache/cocoon/forms/flow/js/form.js:30:-1
 do_stuff() - context://foo/flow.js:10:-1
 <map:call> - context://foo/sitemap.xmap:20:6
 <map:mount> - context://sitemap.xmap:20:10

Looks cool, eh?

It is probably good idea to add some more context info like:

  <map:transform type="bar"> - context://foo/sitemap.xmap:44:6
  <map:generate type="foo"> - context://foo/sitemap.xmap:43:6

Or may that is too much... Dunno.

Thought about this also. Actually, we can put there any information that is statically known. So why not.

Ok, great.

Vadim

[1] http://svn.apache.org/repos/asf/cocoon/trunk/src/java/org/apache/cocoon/transformation/IncludeTransformer.java

Reply via email to