Provided by: libwebservice-validator-css-w3c-perl_0.2-1_all bug

NAME

       WebService::Validator::CSS::W3C - Interface to the W3C CSS Validator

SYNOPSIS

         use WebService::Validator::CSS::W3C;

         my $css = "p { color: not-a-color }";
         my $val = WebService::Validator::CSS::W3C->new;
         my $ok = $val->validate(string => $css);

         if ($ok and !$val->is_valid) {
             print "Errors:\n";
             printf "  * %s\n", $_->{message}
               foreach $val->errors
         }

DESCRIPTION

       This module is an  interface to the W3C CSS Validation online service
       <http://jigsaw.w3.org/css-validator/>, based on its SOAP 1.2 support.  It helps to find
       errors in Cascading Style Sheets.

       The following methods are available:

       my $val = WebService::Validator::CSS::W3C->new
       my $val = WebService::Validator::CSS::W3C->new($ua)
       my $val = WebService::Validator::CSS::W3C->new($ua, $url)
           Creates a new WebService::Validator::CSS::W3C object. A custom LWP::UserAgent object
           can be supplied which is then used for HTTP communication with the CSS Validator. $url
           is the URL of the CSS Validator, "http://jigsaw.w3.org/css-validator/validator" by
           default.

       my $success = $val->validate(%params)
           Validate a style sheet, takes %params as defined below. Either "string" or "uri" must
           be supplied. Returns a true value if the validation succeeded (regardless of whether
           the style sheet contains errors).

           string => $css
               A style sheet as a string. It is currently unlikely that validation will work if
               the string is not a legal UTF-8 string. If a string is specified, the "uri"
               parameter will be ignored. Note that "GET" will be used to pass the string to the
               Validator, it might not work with overly long strings.

           uri => $uri
               The location of a style sheet or a HTML/XHTML/SVG document containing or
               referencing style sheets.

           medium => "print"
               The medium for which the style sheet should apply, one of "aural", "braille",
               "embossed", "handheld", "print", "screen", "tty", "tv", and "presentation".  A
               special value "all" can also be specified. The default is "undef" in which case
               the CSS Validator determines a value; this would currently be as if "all" had been
               specified.

           profile => "css3"
               The CSS Version or profile to validate against, legal values are "css1", "css2",
               "css21", "css3", "svg", "svgbasic", "svgtiny", "mobile", "atsc-tv", and "tv". A
               special value "none" can also be used. The default is "undef" in which case the
               CSS Validator determines a default. This would currently behave as if "css2" had
               been specified.

           warnings => 2
               An integer 0 - 10 that determines how many warning messages you want to get back
               from the CSS Validator, 0 means no warnings, 10 would give most warnings, but is
               currently effectively the same as 1. The defaut is "undef" in which case the CSS
               Validator determines a default value; this is expected to be as if 2 had been
               specified.

           language => "de"
               The desired language of the supposedly human-readable messages. The string will
               passed as an "Accept-Language" header in the HTTP request. The CSS Validator
               currently supports "en", "de", "fr", "ja", "nl", "zh", and "zh-cn".

       my $success = $val->success
           Same as the return value of "validate()".

       my $is_valid = $val->is_valid
           Returns a true value if the last attempt to "validate()" succeeded and the validator
           reported no errors in the style sheet.

       my $num_errors = $val->errorcount
           returns the number of errors found for the checked style sheet.  Get the details of
           the errors with $val->errors (see below).

       my @errors = $val->errors
           Returns a list with information about the errors found for the style sheet. An error
           is a hash reference; the example in the synopsis would currently return something like

             ( {
               context    => 'p',
               property   => 'color',
               expression => { start => '', end => 'not-a-color' }
               errortype  => 'parse-error',
               message    => 'not-a-color is not a color value',
               line       => 0,
             } )

       my $num_warnings = $val->warningcount
           returns the number of warnings found for the checked style sheet.  Get the details of
           each warning with $val->warnings (see below).

       my @warnings = $val->warnings
           Returns a list with information about the warnings found for the style sheet. This is
           currently of limited use as it is broken, see
           <http://www.w3.org/Bugs/Public/show_bug.cgi?id=771> for details.

           @@example

       my $ua = $val->user_agent
       my $ua = $val->user_agent($new_ua)
           The LWP::UserAgent object you supplied to the constructor or a custom object created
           at construction time you can manipulate.

             # set timeout to 30 seconds
             $val->user_agent->timeout(30);

           You can also supply a new object to replace the old one.

       my $uri = $val->validator_uri
       my $uri = $val->validator_uri($validator_uri)
           Gets or sets the URI of the validator. If you did not specify a custom URI,
           "http://jigsaw.w3.org/css-validator/validator" by default.

       my $response = $val->response
           The HTTP::Response object returned from the last request. This is useful to determine
           why validation might have failed.

             if (!$val->validate(string => $css)) {
               if (!$val->response->is_success) {
                 print $val->response->message, "\n"
               }
             }

       my $uri = $val->request_uri
           The URI object used for the last request.

       my $som = $val->som
           The SOAP::SOM object for the last successful deserialization, check the return value
           of "validate()" or "success()" before using the object.

BUGS

       This module uses the SOAP interface for the W3C CSS validatom, which still has a number of
       bugs, tracked via W3C's Bugzilla, <http://www.w3.org/Bugs/Public/>.

       Please report bugs in the W3C CSS Validator to www-validator-css@w3.org or enter them
       directly in Bugzilla (see above). Please report bugs in this module via RT,
       <http://rt.cpan.org/>.

NOTE

       This module is not directly associated with the W3C. Please remember that the CSS
       Validator is a shared resource so do not abuse it: you should sleep between requests, and
       consider installing the Validator locally, see
       <http://jigsaw.w3.org/css-validator/DOWNLOAD.html>.

AUTHOR

       Bjoern Hoehrmann <bjoern@hoehrmann.de>

       This module is licensed under the same terms as Perl itself.