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

tqisjim has asked for the wisdom of the Perl Monks concerning the following question:

Hello, I just uploaded an extension to XML::Parser. I'm not sure there's a big demand for XML solutions right now. I originally wrote this 8 or 9 years so do something practical with the XML::Parser::Tree output, but I've only just started learning to publish and promote my work.

I have a question, too:

I would like to implement my module so that a user can get an instantiation as follows:

my $nodes = new XML::Parser Style => 'Nodes'

It seems like I need to add the following definition to my module:

$XML::Parser::Built_In_Styles{Nodes} = 1 ;
I thought this was a big breakthrough so I could perform various searches based in XML::Parser::Built_In_Styles but nothing seems to come up.

Keep the cards and letters coming, it's always nice to hear from others in this group.

Replies are listed 'Best First'.
Re: Announcing XML::Parser::Nodes
by tqisjim (Beadle) on Oct 07, 2012 at 00:21 UTC

    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.