This document contains the most frequently asked questions about the W3C CSS Validator. If you have further questions, feel free to send them to the firstname.lastname@example.org mailing list (Archive). Please send comments to the author of this FAQ. There is a list of other W3C related FAQs available.
org.xml.sax.SAXException: Please, fix your system identifier (URI) in the DOCTYPE rulemean?
Your document contains a document type declaration but the system identifier points at some non-W3C URI. Your document probably contains something like this:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
If your document is located at e.g.
http://my.example/ this relative system identifier
would point at
http://my.example/DTD/xhtml1-strict.dtd and the
DTD probably isn't available there, so you have to fix the
system identifier to point at some valid URI. Consider these
examples for XHTML 1.0:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
I/O Error: Unknown mime type: some/typemean?
Cascading Style Sheets must be labeled as
text/css, see RFC 2318, "The
text/css Media Type" for details. Your server must be
configured to return this MIME type in the
Content-Type HTTP header. If you don't know how to
setup your server to return this Media Type, check your
webserver's manual or contact your system administrator or the
support of your hosting company and ask them to make this
change for your.
An invalid XML character (Unicode: 0x????) was found in the element content of the documentmean?
Either your document contains characters disallowed by XML 1.0 (see Section 2.2 of XML 1.0 for details) or your document isn't encoded as expected. The default encoding for XML documents is either UTF-16 or UTF-8. If your document contains disallowed characters you have to remove them. If you document uses another encoding then UTF-8 or UTF-16 you have to declare this encoding, typically in the XML declaration. For ISO-8859-1 encoded documents this would look like
<?xml version='1.0' encoding='ISO-8859-1'?>
You may also declare the encoding in the HTTP
Content-Type header, e.g.
Refer to your web servers manual how to do so.
Element type "example" must be followed by either attribute specifications, ">" or "/>"mean?
Your XHTML/XML document is not well-formed; it probably includes directly adjacent attribute specifications like:
<div xml:lang="de"lang="de"> ...
This is not allowed in XML, there must be a white-space character between the attribute specifications, so write:
<div xml:lang="de" lang="de"> ...
The W3C Markup Validator is unable to find such problems due to its limited XML support (as pointed out in the results of the Markup Validator).
I/O Error: Not Acceptablemean?
The remote webserver returned an error code, probably 406
"Not Acceptable". This means that the requested resource is
not acceptable for the CSS Validator due to the
Accept-* headers it sent. If the CSS Validator
HTTP request would look similar to
GET /style HTTP/1.1 Cache-Control: no-cache Connection: keep-alive Date: Mon, 07 Jul 2003 21:22:44 GMT Pragma: no-cache Accept: text/css,text/html,text/xml,application/xhtml+xml, application/xml,image/svg+xml,*/*;q=0 Accept-Language: de,en Host: www.example.org User-Agent: Jigsaw/2.2.0 W3C_CSS_Validator_JFouffa/2.0
Note that the value of the
header is copied from your browsers request. The value
de, en means that you have configured your
browser to accept content in either german or english. If the
requested resource is available in japanese and french but
not in german or english, you will get the
Acceptable error. Likewise for the
If the resource you are trying to validate is generated by some scripting language like PHP and you get this error, the web server is probably misconfigured. If it's an Apache webserver, there is probably a line like
AddType application/x-httpd-php .php
in one of the configuration files. You should use the
AddHandler directive instead. Check with your
webmaster or web hosting provider if you don't know how to
change the configuration.
You have no background-color with your color?
If you don't specify
background-color at the same level of specificity,
your style sheet might clash with user style sheets. To avoid
this, specify always both of them, see Section
9.1 "Color Contrast" in the W3C Note "CSS Techniques
for Web Content Accessibility Guidelines 1.0" or the
article CSS Color
Issues by the CSS Pointers Group for a discussion.
The CSS Validator validates your style sheet against some
profile, e.g. CSS Level
1 or CSS Level 2.
Some browser Vendors however extend these profiles by new
properties like Microsoft did with the
property or Mozilla with the
property. The Validator is not aware of these properties and
using them makes your style sheet invalid in terms of the CSS
specifications. Either get rid of those properties or live with
the fact, that your style sheets don't validate. You cannot
URI stands for
Uniform Resource Identifiers, URLs are a subset of URIs, please see Naming and Addressing: URIs, URLs, ... and URIs, URLs, and URNs: Clarifications and Recommendations 1.0 for details.
Don't download it if you're not willing to spend time to compile it. Makefile are deprecated, no configure script and other helpful stuffs. javac **/*java must work. You'll need sax and xerces to compile it. Some of these sources are 4 years old and were also used for testing (XML/CSS format, SVG, ATSC, CSS3, ...). Well, Sitschje managed to understand them so I guess it's not so bad.