The WDG HTML Validator is similar in many ways to the W3C HTML Validation Service and the (now unavailable) WebTechs Validation Service. The WDG HTML Validator does not use any source code from the other validators, but all three validators use James Clark's nsgmls internally. While the three validators use different versions of nsgmls, the errors from all three should be the same in most cases. However, some differences may arise:
The W3C HTML Validation Service and WebTechs Validation Service both use error messages directly from nsgmls. The WDG HTML Validator differs in that it uses custom error messages for common errors in HTML validation.
Unlike the other validators, the WDG HTML Validator supports a wide variety of character encodings. When validating documents in encodings such as KOI8-R (commonly used for Russian documents), the other validators typically give false errors of the form "non SGML character number 136". The WDG HTML Validator currently supports 40 character encodings, with more encodings added as demand dictates.
Another source of discrepancy in the errors reported by the validators is WebTechs' default behavior of translating "&" to "&" in URLs. This hides the common error of not escaping the ampersand in URLs, for example in <A HREF="foo.pl?chapter=1§ion=2">. The WDG HTML Validator does not hide this error since browser problems with the unescaped ampersand are more common than browser problems with the escaped ampersand. In the preceding example, the widely used Netscape Navigator 3.x would treat §ion as "§ion" and would not correctly follow the link. If valid HTML is used, <A HREF="foo.pl?chapter=1&section=2">, the only known browser to have problems is the lightly used testbed browser Amaya.
Unlike other validators, the WDG HTML Validator uses a special SGML declaration with custom DTDs. The result is that many custom DTDs, especially those built from the HTML 4.0 Transitional DTD, work correctly with the WDG HTML Validator but not other validators.
The three validators all differ significantly from other checking tools such as Weblint and CSE 3310 HTML Validator. (Despite its name, the latter is not a true "validator.") The three online validators check documents against a document type definition--a published, machine-readable document that facilitates an objective check of syntax against HTML standards. On the other hand, lints are subjective; they provide a more cursory syntax check while adding stylistic checks, such as warning about poorly supported features. Lints are useful tools, but they are not substitutes for HTML validation.