http://www.perlmonks.org?node_id=997648


in reply to Announcing XML::Parser::Nodes

This relates a question about how CPAN assigns names: XML::Parser, for example, defines a namespace which could represent one of any of the following:

  1. A module that uses its namespace for private modules to comprise a larger solution.
  2. A package that defines a general topic- modules within the namespace generally relate to the topic, but are otherwise unrelated to each other.
  3. An interface whose namespace contains implementation modules.

Perl doesn't have any explicit declaration to distinguish one approach from the other. But XML::Parser is implemented as the last approach. And the Built_In_Styles member seems to be merely notational, not functional.

In fact, any module that shares the XML::Parser namespace can be invoked as a Style argument. I merely had to add some handler wrappers to get the desired output.