1WebService::Validator::UCsSeSr::CWo3nCt(r3i)buted Perl DWoecbuSmeernvtiactei:o:nValidator::CSS::W3C(3)
2
3
4

NAME

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

SYNOPSIS

9         use WebService::Validator::CSS::W3C;
10
11         my $css = "p { color: not-a-color }";
12         my $val = WebService::Validator::CSS::W3C->new;
13         my $ok = $val->validate(string => $css);
14
15         if ($ok and !$val->is_valid) {
16             print "Errors:\n";
17             printf "  * %s\n", $_->{message}
18               foreach $val->errors
19         }
20

DESCRIPTION

22       This module is an  interface to the W3C CSS Validation online service
23       <http://jigsaw.w3.org/css-validator/>, based on its SOAP 1.2 support.
24       It helps to find errors in Cascading Style Sheets.
25
26       The following methods are available:
27
28       my $val = WebService::Validator::CSS::W3C->new
29       my $val = WebService::Validator::CSS::W3C->new($ua)
30       my $val = WebService::Validator::CSS::W3C->new($ua, $url)
31           Creates a new WebService::Validator::CSS::W3C object. A custom
32           LWP::UserAgent object can be supplied which is then used for HTTP
33           communication with the CSS Validator. $url is the URL of the CSS
34           Validator, "http://jigsaw.w3.org/css-validator/validator" by
35           default.
36
37       my $success = $val->validate(%params)
38           Validate a style sheet, takes %params as defined below. Either
39           "string" or "uri" must be supplied. Returns a true value if the
40           validation succeeded (regardless of whether the style sheet
41           contains errors).
42
43           string => $css
44               A style sheet as a string. It is currently unlikely that
45               validation will work if the string is not a legal UTF-8 string.
46               If a string is specified, the "uri" parameter will be ignored.
47               Note that "GET" will be used to pass the string to the
48               Validator, it might not work with overly long strings.
49
50           uri => $uri
51               The location of a style sheet or a HTML/XHTML/SVG document
52               containing or referencing style sheets.
53
54           medium => "print"
55               The medium for which the style sheet should apply, one of
56               "aural", "braille", "embossed", "handheld", "print", "screen",
57               "tty", "tv", and "presentation".  A special value "all" can
58               also be specified. The default is "undef" in which case the CSS
59               Validator determines a value; this would currently be as if
60               "all" had been specified.
61
62           profile => "css3"
63               The CSS Version or profile to validate against, legal values
64               are "css1", "css2", "css21", "css3", "svg", "svgbasic",
65               "svgtiny", "mobile", "atsc-tv", and "tv". A special value
66               "none" can also be used. The default is "undef" in which case
67               the CSS Validator determines a default.
68
69           warnings => 2
70               Either "no" or an integer 0 - 2 that determines how many
71               warning messages you want to get back from the CSS Validator.
72               "no" means no warning, 0 means only the most serious warnings,
73               and 2 will give all warnings, including low level ones. The
74               defaut is "undef" in which case the CSS Validator determines a
75               default value; this is expected to be as if 1 had been
76               specified.
77
78           language => "de"
79               The desired language of the supposedly human-readable messages.
80               The string will passed as an "Accept-Language" header in the
81               HTTP request. The CSS Validator currently supports "en", "de",
82               "fr", "ja", "nl", "zh", and "zh-cn".
83
84       my $success = $val->success
85           Same as the return value of "validate()".
86
87       my $is_valid = $val->is_valid
88           Returns a true value if the last attempt to "validate()" succeeded
89           and the validator reported no errors in the style sheet.
90
91       my $num_errors = $val->errorcount
92           returns the number of errors found for the checked style sheet.
93           Get the details of the errors with $val->errors (see below).
94
95       my @errors = $val->errors
96           Returns a list with information about the errors found for the
97           style sheet. An error is a hash reference; the example in the
98           synopsis would currently return something like
99
100             ( {
101               context    => 'p',
102               property   => 'color',
103               expression => { start => '', end => 'not-a-color' }
104               errortype  => 'parse-error',
105               message    => 'not-a-color is not a color value',
106               line       => 0,
107             } )
108
109       my $num_warnings = $val->warningcount
110           returns the number of warnings found for the checked style sheet.
111           Get the details of each warning with $val->warnings (see below).
112
113       my @warnings = $val->warnings
114           Returns a list with information about the warnings found for the
115           style sheet.
116
117       my $ua = $val->user_agent
118       my $ua = $val->user_agent($new_ua)
119           The LWP::UserAgent object you supplied to the constructor or a
120           custom object created at construction time you can manipulate.
121
122             # set timeout to 30 seconds
123             $val->user_agent->timeout(30);
124
125           You can also supply a new object to replace the old one.
126
127       my $uri = $val->validator_uri
128       my $uri = $val->validator_uri($validator_uri)
129           Gets or sets the URI of the validator. If you did not specify a
130           custom URI, "http://jigsaw.w3.org/css-validator/validator" by
131           default.
132
133       my $response = $val->response
134           The HTTP::Response object returned from the last request. This is
135           useful to determine why validation might have failed.
136
137             if (!$val->validate(string => $css)) {
138               if (!$val->response->is_success) {
139                 print $val->response->message, "\n"
140               }
141             }
142
143       my $uri = $val->request_uri
144           The URI object used for the last request.
145
146       my $som = $val->som
147           The SOAP::SOM object for the last successful deserialization, check
148           the return value of "validate()" or "success()" before using the
149           object.
150

BUGS

152       This module uses the SOAP interface for the W3C CSS validatom, which
153       still has a number of bugs, tracked via W3C's Bugzilla,
154       <http://www.w3.org/Bugs/Public/>.
155
156       Please report bugs in the W3C CSS Validator to www-validator-css@w3.org
157       or enter them directly in Bugzilla (see above). Please report bugs in
158       this module via RT, <http://rt.cpan.org/>.
159

NOTE

161       This module is not directly associated with the W3C. Please remember
162       that the CSS Validator is a shared resource so do not abuse it: you
163       should sleep between requests, and consider installing the Validator
164       locally, see <http://jigsaw.w3.org/css-validator/DOWNLOAD.html>.
165
167         Copyright 2004-2013 Bjoern Hoehrmann <bjoern@hoehrmann.de>.
168         This module is licensed under the same terms as Perl itself.
169
170
171
172perl v5.32.0                      2020-07-28WebService::Validator::CSS::W3C(3)
Impressum