XHTML 1.0 Negative Test Matrix

By Chris Petersen <petersen@netscape.com>
Updated: Feb 23, 2001

The negative test case matrix contains XHTML tests (Transitional and Frameset DTD) that are either not well formed or don't follow specific XHTML guidelines. Most of the tests have unmatched tags, missing values, missing commas, elements and attributes in upper case, etc.. As a result, the majority of the tests should never be rendered and will cause a parser error to appear in the browser window. The Parser Error section will identify if the test will produce a parser error or not.

DESCRIPTION TEST CASE NAME PARSER ERROR (Yes/No) COMMENTS
Body start and end elements not matching body_not_matching.xml Y
Col attribute value is bad cols_att_bad_value.xml N The cols attribute is assigned a entity symbol. The frameset should not be displayed.
Col attribute value missing commas cols_att_missing_comma.xml N Comma is missing so a single frame will be loaded, instead of two frames
Col attribute value not using matching quotes cols_att_quotes_not_match.xml Y
Col attribute value missing value cols_att_missing_value.xml Y
Col attribute value not using matching quotes cols_att_quotes_not_match.xml Y
Element is in uppercase element_in_uppercase.xml N The center aligned P element is in uppercase so it's not treat as a regular lowercase p element. The text should appear without any alignment
HR tag missing end tag empty_tag_missing_end.xml Y
HR tag not closed properly empty_tag_not_well_formed.xml Y
Frameset document which includes a BODY element frameset_body_after.xml N The body tag should be ignored and only the frames should appear
Frameset element inside a body element frameset_body_present.xml N The frameset should not be rendered and a empty page will appear
Elements are present before frameset element frameset_elements_before.xml N Since elements are present before the frameset element, only the elements should be displayed and the frameset should be ignored
Frameset element contains no whitespace AFTER name frameset_no_ws_after_name.xml Y
Frameset element contains whitespace before name frameset_ws_bef_name.xml Y
Frame src attribute is duplicated frame_src_dup_att.xml Y
Frame element missing end tag frame_src_missing_end_tag.xml Y
Frame src attribute missing quotes frame_src_missing_qts.xml Y
Frame src attribute missing value frame_src_value_missing.xml Y
Frame element contains whitespace before name frame_ws_bef_name.xml Y
Head element is not matching head_not_matching.xml Y
HTML root contains multiple namespaces html_multiple_ns.xml Y
HTML element is missing xmlns attribute html_missing_ns.xml N The document is well-formed but missing the xmlns attribute. The H3 element should not be recognized and should be rendered without any styling.
HTML root is treated as a empty tag html_root_empty.xml Y
HTML root elements are not matching html_root_not_matching.xml Y
Incomplete doctype declaration incomplete_doctype.xml Y
Uppercase block elements with lowercase attributes lowerc_block_element_attrib.xml N All of the block elements are in uppercase. Since lowercase names are a requirement for XHTML, all content in the elements should appear without any alignment or styling
Empty uppercase elements with lowercase attributes lowerc_empty_element_attrib.xml N All of the empty elements are in uppercase. Since lowercase names are a requirement for XHTML, no images, hr, br elements should appear
Frameset element missing cols or rows attribute missing_cols_or_rows.xml Y
Frameset element missing cols attribute missing_col_attribute.xml Y
H1 tags not matching not_matching_tag_h1.xml Y
Align attribute value doesn't have matching quotes p_attr_not_matching.xml Y
Align attribute is missing value p_missing_attvalue.xml Y
Align attribute is missing quotes p_missing_quotes.xml Y
Rows attribute contains a bad value rows_att_bad_value.xml N The rows attribute is assigned a entity symbol. The frameset should not be displayed.
ROWS attribute is before the frameset name rows_att_before_element.xml Y
Row attribute missing comma rows_att_missing_comma.xml N Comma is missing so a single frame will be loaded, instead of two frames
Row attribute missing quotes rows_att_missing_quotes.xml Y
Rows attribute is missing value rows_att_missing_value.xml Y
ROWS attribute's quotes are not matching rows_att_quotes_not_match.xml Y
Src attribute is before element name src_att_before_element.xml Y
Empty element tag contains a entity symbol symbol_in_empty_tag_name.xml Y
Entity symbol is present in the start tag symbol_in_tag.xml Y
Title element tags are not matching title_not_matching.xml Y
Two end elements are only present two_end_tags.xml Y
Two start P elements are only present two_start_elements.xml Y
Block elements are in uppercase upperc_block_element.xml N All of the block elements are in uppercase. Since lowercase names are a requirement for XHTML, all content in the elements should appear without any alignment or styling
Empty elements are in uppercase upperc_empty_elements.xml N All of the empty elements are in uppercase. Since lowercase names are a requirement for XHTML, no images, hr, br elements should appear
White space is present before the tag name ws_in_empty_tag.xml Y
White space is present in the middle of tag name symbol_in_empty_tag_name.xml Y
White space is present in the end tag name ws_in_end_tag.xml Y
Whitespace is present in the beginning of start tag name ws_in_start_tag.xml Y
No whitespace is left between the HTML and XMLNS attribute xmlns_nows_value.xml Y
XMLNS is in uppercase xmlns_uppercase.xml Y XMLNS attribute should be ignored. The document will be rendered with no styling or alignment
XHTML namespace is missing end quote mark xmlns_missing_end_quote.xml Y
XHTML namespace is missing quotes xmlns_no_quotes.xml Y
XHTML namespace is missing it's assigned value xmlns_no_value.xml Y
XML declaration is after the DOCTYPE declaration xml_declar_after_doctype.xml Y
XML declaration is inside the html root element xml_declar_in_html_root.xml Y
XML declartion is placed after the end root tag xml_declar_out_html_root.xml Y