Name HTML::Accessors - Generate HTML elements Version 0.1.$Rev: 61 $ Synopsis use HTML::Accessors; my $htag = HTML::Accessors->new(); # Create an anchor element $anchor = $htag->a( { href => 'http://...' }, 'This is a link' ); Description Uses HTML::GenerateUtil to create an autoload method for each of the elements defined by HTML::Tagset. The API was loosely taken from CGI. Using the CGI module is undesirable in a Catalyst application (run from the development server) due go greediness issues over STDIN. The returned tags are either XHTML 1.1 or HTML 4.01 compliant. Configuration and Environment The constructor defines accessors and mutators for one attribute: content_type Defaults to *application/xhtml+xml* which causes the generated tags to conform to the XHTML standard. Setting it to *text/html* will generate HTML compatible tags instead Subroutines/Methods new Uses "_arg_list" to process the passed options escape_html Expose "HTML::GenerateUtil::escape_html" is_xml Returns true if the returned tags will be XHTML popup_menu Returns the "" element The rest of the keys and values are passed as attributes to the " radio_group Generates a list of radio input buttons with labels. Break elements can be inserted to create rows of a given number of columns when displayed. The first option passed to "radio_group" is either a hash ref or a list of key/value pairs. The keys are: columns Integer number of columns to display the generated buttons in. If zero then a list of radio buttons without breaks is generated default Determines which of the radio box will be selected by default labels Display these labels next to each button. This is a hash ref with a key for each element in the "values" array name The form name of the generated buttons onchange An optional Javascript reference. The JS will be executed each time a different radio button is selected values The key references an array ref whose values are returned by the radio buttons For example: $ref = { columns => 2, default => 1, labels => { 1 => q(Button One), 2 => q(Button Two), 3 => q(Button Three), 4 => q(Button Four), }, name => q(my_field), values => [ 1, 2, 3, 4 ] }; $htag->radio_group( $ref ); would return:

scrolling_list Calls "popup_menu" with the "multiple" argument set to "multiple". This has the effect of allowing multiple selections to be returned from the popup menu AUTOLOAD Uses HTML::Tagset to check if the requested method is a known HTML element. If it is "AUTOLOAD" uses HTML::GenerateUtil to create the tag If the first option is a hash ref then the keys and values are copied and passed to "HTML::GenerateUtil::generate_tag" which uses them to set the attributes on the created element. The next option is treated as the element's body text and overrides the "default" attribute which is passed and deleted from the options hash If the requested element exists in the hard coded list of input elements, then the element is set to "input" and the mapped value used as the type attribute in the call to "generate_tag". For example; $htag->textfield( { default => q(default value), name => q(my_field) } ); would return The list of input elements contains; button, checkbox, hidden, image_button, password_field, radio_button, submit, and textfield DESTROY Implement the "DESTROY" method so that the "AUTOLOAD" method doesn't get called instead. Re-dispatches the call upstream _arg_list Returns a hash ref containing the passed parameter list. Enables methods to be called with either a list or a hash ref as it's input parameters. Makes copies as it goes so that you can change the contents without altering the parameters if they were passed by reference _carp Call "Carp::carp". Don't load Carp if we don't have to _hash_merge Simplistic merging of two hashes Diagnostics "Carp::carp" is called to issue a warning about undefined elements Dependencies Class::Accessor::Fast Class::C3 HTML::GenerateUtil HTML::Tagset Incompatibilities There are no known incompatibilities in this module Bugs and Limitations There are no known bugs in this module. Please report problems to the address below. Patches are welcome Author Peter Flanigan, "" License and Copyright Copyright (c) 2008 Peter Flanigan. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic. This program is distributed in the hope that it will be useful, but WITHOUT WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.