|
|
| |
WebService::Validator::CSS::W3C(3) |
User Contributed Perl Documentation |
WebService::Validator::CSS::W3C(3) |
WebService::Validator::CSS::W3C - Interface to the W3C CSS Validator
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
}
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.
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/>.
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>.
Bjoern Hoehrmann <bjoern@hoehrmann.de>
This module is licensed under the same terms as Perl itself.
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |