XHTML-Print CR assertions

This is a list of testable assertions extracted from the XHTML-Print specification. The table below is arranged into four columns:

  1. the assertion identifier,
  2. a link to the section of the specification that the assertion was extracted from,
  3. a list of tests for the assertion, and
  4. the text of the assertion, excerpted from the specification

dependency graph of test typesThis document is part of a set of list of tests. The diagram on the right shows how this document refers to three other documents:

  1. XHTML Family User Agent Conformance test list
  2. RFC 3391 Test List
  3. RFC 2775 Test List

The tests from these list use different naming conventions base on there source:

  1. Tests from the XHTML-Print specification are named from the section of the XHTML-Print specification, for example 1_3_BF-01.htm.
  2. Tests from the XHTML Family User Agent Conformance section of the XHTML 1.1 specification are prefixed with "xhtml_conform", for example xhtml_conform-BF-01.htm.
  3. Tests from the RFC 3391 specification are prefixed with "rfc3391", for example, rfc3391-BF-01.mx.
  4. Tests from the RFC2557 specification are prefixed with "rfc2557", for example , rfc2557-BF-01.mx
AssertionSectionTestQuote/Description
11.3.1. Script and Events1_3_BF-01.htmthe content of the script element MUST be treated as if its display property were set to the value "none" and the content of the noscript element printed.
22.1. Document Conformance redundant a document SHALL meet all of the following criteria:
32.1. Document Conformance The document SHALL conform to the constraints expressed in the DTD found in Appendix C and conform to the constraints expressed in Design Rationale.
42.1. Document Conformance The root element of the document MUST be html.
52.1. Document Conformance The name of the default namespace on the root element SHALL be the XHTML namespace name, http://www.w3.org/1999/xhtml.
62.1. Document Conformance There SHALL be a DOCTYPE declaration in the document prior to the root element.
72.1. Document Conformance the public identifier included in the DOCTYPE declaration SHALL reference the DTD found in either Appendix C of this specification or Appendix C of XHTML-Print, PWG Proposed Standard 5102.1 ([XHTMLPRINT], Appendix C), using its Formal Public Identifier.
82.1. Document Conformance The DTD subset MUST NOT be used to override any parameter entities in the DTD.
92.1. Document Conformance The MIME type used to refer to a conforming XHTML-Print document SHALL be either "application/xhtml+xml" or "application/vnd.pwg-xhtml-print+xml".
102.1. Document Conformance Invalid values [of charset parameter] MUST be ignored and the result be as if the value were "utf-8".
112.2. Client Conformance Clients SHALL produce a well-formed XHTML-Print document as defined in XHTML 1.0 [XHTML1] and in Document Conformance.
122.3.1 Formatting/Rendering RulesXHTML Family User Agent Conformance test listA printer MUST conform to the XHTML Family User Agent Conformance section of the Modularization of XHTML specification ([XHTMLMOD], section 3.5) (see XHTML Family User Agent Conformance test list)
132.3.1 Formatting/Rendering Rules 2_3_1_BF-02.htmIf a printer encounters an image in a format it does not support, it SHALL render any alternate content provided
142.3.1 Formatting/Rendering Rules 2_3_1_BF-03.htm
2_3_1_BF-03a.mx
2_3_1_BFDep-03a.mx
A printer MUST support images referenced by a URI [RFC2396] containing a scheme name cid [RFC2392] or http [RFC2616].
152.3.2 XHTML Requirements 2_3_2-BF-01.htm
2_3_2-BF-02.mx
2_3_2-BF-02a.mx
2_3_2-BF-03.htm
2_3_2-BF-04.mx
2_3_2-BF-05.htm
3_7-BF-02a.htm
A conforming printer SHALL support all XHTML Modules listed in The XHTML-Print Document Type.
162.3.2 XHTML Requirements2_3_2-BF-06.htm A conforming printer SHALL print a static version of a form using default and selected values as specified in the form.
172.3.2 XHTML Requirements4_3-BF-01.mx
B_2-BF-01.htm
Printers supporting image data SHALL support RFC3391 - The MIME Application/Vnd.pwg-multiplexed Content-Type [MIMEMPX] as described in Appendix B.
182.3.2 XHTML Requirements A conforming printer SHALL identify this datastream by the exact string: "XHTML-Print" (without the quotation marks) in all service discovery records and protocols, device identification records and protocols in ... cases where a list of supported datastreams is to be presented by the printer.
192.3.2 XHTML Requirements Where [XHTML-Print documents]... are identified by a MIME media type, either the string "application/xhtml-print+xml" or "application/vnd.pwg-xhtml-print+xml" SHALL be used
202.4. Enhanced Layout Extension Conformance [For Enhanced layout conforming printers,] the style sheet properties of the Enhanced Layout Extension of the CSS Print Profile ([CSSPP] section 2.1) and image processing (Appendix A.3) SHALL be supported
213.1 Attributes and Attribute CollectionsSee below a conforming printer MUST implement [an] attribute [tagged as a must]
223.1 Attributes and Attribute Collections duplicate of 21a conforming printer MUST implement [an] attribute [tagged as a must]
233.1 Attributes and Attribute Collections2_3_2-BF-01.htm
3_3-BF-02a.htm
3_4-BF-01.htm
3_5-BF-01.htm
3_6-BF-01.htm
3_7-BF-01.htm
3_8-BF-01.htm
3_9-BF-01.htm
3_9-ER-01.htm
3_10-BF-01.htm
3_12-BF-01.htm
3_13-BF-01.htm
3_13-BF-01.htm
3_15-BF-05.mx
A conforming printer MUST NOT treat [an] attribute [marked as should] as an error[: style, (style) media, (style) type, (style) xml:lang="preserve"]..
243.1 Attributes and Attribute Collections 3_2-BF-03.htm
3_2-BF-04.htm
3_2-BF-05.htm
3_2-BF-06.htm
3_2-BF-07.htm
3_3-BF-05.htm
3_4-BF-03.htm
3_5-BF-02.htm
3_6-BF-02.htm
3_7-BF-06.htm
3_8-BF-08.htm
3_8-BF-09.htm
3_9-BF-05.htm
3_10-BF-06.htm
3_10-BF-07.htm
3_12-BF-03.htm
3_15-BF-06.htm
3_15-BF-07.htm
A conforming printer MUST NOT treat [an] attribute [marked as may] as an error[: xml:lang, (head) profile, (td, th) abbr, (object) declare, (link) hreflang ]
253.1 Attributes and Attribute Collections3_2-BF-01.htm
3_2-BF-02.htm
3_3-BF-02.htm
3_3-BF-02a.htm
3_3-BF-03.htm
3_3-BF-04.htm
3_4-BF-01.htm
3_4-BF-02.htm
3_5-BF-01.htm
3_6-BF-01.htm
3_7-BF-01.htm
3_7-BF-05.htm
3_8-BF-01.htm
3_8-BF-07.htm
3_9-BF-01.htm
3_9-BF-04.htm
3_9-ER-01.htm
3_10-BF-01.htm
3_10-BF-05.htm
3_11-BF-01.htm
3_12-BF-01.htm
3_12-BF-02.htm
3_15-BF-01.htm
A conforming printer MUST NOT treat [an] attribute [marked as N/A] as an error[: title, (html) version, (blockquote, q) cite, (a) accesskey, (a) charset, (a) href, (a) hreflang, (a) rel, (a) rev, (a) tabindex, (a) type, (form) action, (form) method, (form) enctype, (input) accesskey, (input) maxlength, (input) name, (input) src, (input) tabindex, (label accesskey, (label) for, (select) multiple, (select) name, (select) tabindex, (textarea) accesskey, (textarea) name, (textarea) tabindex, (table) summary, (td, th) axis, (td, th) scope, (img) londesc, (object) archive, (object) classid, (object) codetype, (object) name, (object) standby, (object) tabindex, (param) id, (param) name, (param) type, (param) value, (param) valuetype, (meta) content, (meta) http-equiv, (meta) name, (meta) scheme, (script) charset, (script) defer, (script) src, (script) type, (style) title, (link) rev].
263.1 Attributes and Attribute Collections 3_2-BF-01.htm
3_3-BF-02.htm
3_3-BF-02a.htm
3_4-BF-01.htm
3_5-BF-01.htm
3_6-BF-01.htm
3_7-BF-01.htm
3_8-BF-01.htm
3_9-BF-01.htm
3_9-ER-01.htm
3_10-BF-01.htm
3_12-BF-01.htm
3_15-BF-01.htm
[must support the class attribute on all elements with CORE attribute set: body, abbr, acronym, address, blockquote, cite, code, dfn, div, em, h1, h2, h3, h4, h5, h6, kbd, p, pre, q, samp, span, strong, var, a, dl, dt, dd, ol, ul, li, b, big, hr, i, small, sub, sup, tt, form, input, label, select, option, textarea, caption, table, td, th, tr, img, object, noscript, link ]
273.1 Attributes and Attribute Collections 3_2-BF-01.htm
3_3-BF-02.htm
3_3-BF-02a.htm
3_4-BF-01.htm
3_5-BF-01.htm
3_6-BF-01.htm
3_7-BF-01.htm
3_8-BF-01.htm
3_9-BF-01.htm
3_9-ER-01.htm
3_10-BF-01.htm
3_12-BF-01.htm
3_15-BF-01.htm
[must support the id attribute on all elements with CORE attribute set: body, abbr, acronym, address, blockquote, cite, code, dfn, div, em, h1, h2, h3, h4, h5, h6, kbd, p, pre, q, samp, span, strong, var, a, dl, dt, dd, ol, ul, li, b, big, hr, i, small, sub, sup, tt, form, input, label, select, option, textarea, caption, table, td, th, tr, img, object, noscript, link]
283.1 Attributes and Attribute Collections Optional If a printer implements processing based on the natural language of the document, that processing SHALL be controlled by the xml:lang attribute.
293.2 Structure Module3_2-BF-01.htm
[must support "http://www.w3.org/1999/xhtml" as a value of the xmlns attribute of the html element]
303.2 Structure ModuleOptional If a printer implements support for meta data then it MUST support the profile attribute of the head element
313.3 Text Module3_3-BF-01.htm[must support "preserve" as a value of the xml:space attribute of the pre element]
323.7 Basic Forms Module 3_7-BF-02.htm[must support the checked="checked" attribute of the input element]
333.7 Basic Forms Module 3_7-BF-02.htm[must support the size attribute of the input element]
343.7 Basic Forms Module3_7-BF-02.htm[must support the type="text" attribute of the input element]
353.7 Basic Forms Module3_7-BF-02.htm[must support the type="password" attribute of the input element]
363.7 Basic Forms Module3_7-BF-02.htm[must support the type="checkbox" attribute of the input element]
373.7 Basic Forms Module3_7-BF-02.htm[must support the type="radio" attribute of the input element]
383.7 Basic Forms Module3_7-BF-02.htm[must support the type="submit" attribute of the input element]
393.7 Basic Forms Module3_7-BF-02.htm[must support the type="reset" attribute of the input element]
403.7 Basic Forms Module3_7-BF-02.htm[must support the type="hidden" attribute of the input element]
413.7 Basic Forms Module3_7-BF-02.htm[must support the value attribute of the input element]
423.7 Basic Forms Module3_7-BF-03.htm[must support the size attribute of the selectt element]
433.7 Basic Forms Module3_7-BF-03.htm[must support the selected="selected" attribute of the option element]
443.7 Basic Forms Module3_7-BF-03.htm[must support the value attribute of the option element]
453.7 Basic Forms Module3_7-BF-04.htm[must support the cols attribute of the textarea element]
463.7 Basic Forms Module3_7-BF-04.htm[must support the rows attribute of the textarea element]
473.7 Basic Forms Module3_7-BF-04.htmThe attribute [rows] MUST be present
483.7 Basic Forms Module3_7-BF-02.htmThe hidden type for the input element MUST be supported even though nothing is printed, so that a printer can correctly recognize and ignore the element.
493.8 Basic Tables Module3_8-BF-02.htm [must support the align attribute of the td and th elements]
503.8 Basic Tables Module3_8-BF-06.htm [must support the colspan attribute of the td and th elements]
513.8 Basic Tables Module3_8-BF-06.htm [must support the rowspan attribute of the td and th elements]
523.8 Basic Tables Module3_8-BF-04.htm [must support the valign attribute of the td and th elements]
533.8 Basic Tables Module3_8-BF-04.htm [must support the align attribute of the tr element]
543.8 Basic Tables Module3_8-BF-04.htm [must support the valign attribute of the tr element]
553.8 Basic Tables Module Optional If a printer implements a feature to truncate the contents of a cell because of space constraints, it MUST support the abbr attribute and print the value of the abbr attribute (if present) instead of the cell's content.
563.8 Basic Tables Module 3_8-BF-05.htmA printer MUST support the values left, right, and center for the align attribute of the td, th, and tr elements
573.8 Basic Tables Module3_8-BF-02.htm
3_8-BF-03.htm
If the align attribute is missing or has an unsupported value a printer MUST act as if the align attribute has the value left.
583.8 Basic Tables Module3_8-BF-04.htmA printer MUST support the values top, middle, and bottom for the valign attribute of the td, th, and tr elements
593.9 Image Module3_9-BF-02.htm[must support the alt attribute of the img element]
603.9 Image Module3_9-BF-03.mx[must support the height attribute of the img element]
613.9 Image Module3_9-BF-03.mx[must support the src attribute of the img element]
623.9 Image Module3_9-BF-03.mx[must support the width attribute of the img element]
633.9 Image Module3_9-BF-03.mxThe [alt and src] attribute[s] MUST be present.
643.10 Object Module3_10-BF-01.htmPrinters MUST support the cid [RFC2392] and http [RFC2616] schemes of a URI [RFC2396]
653.10 Object Module3_10-BF-03.htm[must support the codebase attribute of the object element]
663.10 Object Module3_10-BF-01.htm
3_10-BF-03.htm
[must support the data attribute of the object element]
673.10 Object Module3_10-BF-01.htm
3_10-BF-03.htm
[must support the height attribute of the object element]
683.10 Object Module3_10-BF-01.htm
3_10-BF-03.htm
[must support the type="image/jpeg" attribute of the object element]
693.10 Object Module3_10-BF-01.htm
3_10-BF-03.htm
[must support the width attribute of the object element]
703.10 Object ModuleThe [name] attribute [of the param element] MUST be present.
713.10 Object Module3_10-BF-01.htmPrinters MUST support the cid [RFC2392] and http [RFC2616] schemes of a URI [RFC2396].
723.10 Object Module3_10-BF-01.htm
3_10-BF-03.htm
A printer MUST support resources of type "image/jpeg."
733.10 Object Module3_10-BF-04.htm
A printer MUST process the content of the object element when it does not recognize or support the object type referenced by the value of the type attribute.
743.11 Metainformation Module2_3_2-BF-01.htm The [content] attribute MUST be present.
753.12 Scripting Module3_12-BF-01.htm
The noscript element contains alternate content that MUST be printed in place of the content of the script element.
763.13 Style Sheet Module3_13-BF-01.htm The [type] attribute MUST be present.
773.13 Style Sheet Module3_13-BF-02.htm A printer MUST read and process the content of style elements where the media attribute has the value print or all.
783.13 Style Sheet Module3_13-BF-03.htm
The absence of the media attribute MUST be treated as if the media attribute had the value all.
793.13 Style Sheet Module3_13-BF-04.htm
A printer MUST read and process the content of style elements where the value of the type attribute is "text/css,"
803.13 Style Sheet Module3_13-BF-04.htm
all other values [of the type attribute that are not "text/css"] MUST cause the content to be ignored.
813.15 Link Module3_15-BF-02.mx [must support the charset attribute of the link element]
823.15 Link Module3_15-BF-01.mx
[must support the href attribute of the link element]
833.15 Link Module3_15-BF-03.mx
3_15-BF-04.mx
[must support the media attribute of the link element]
843.15 Link Module3_15-BF-01.mx
[must support the rel="stylesheet" attribute of the link element]
853.15 Link Module3_15-BF-01.mx[must support the type="text/css" attribute of the link element]
863.15 Link Module3_15-BF-01.mx
3_15-BF-05.htm
Printers MUST support the cid [RFC2392] and http [RFC2616] schemes of a URI [RFC2396].
873.15 Link ModuleOptional If the printer implements processing based on the natural language of the document, then the hreflang attribute MUST be supported.
883.15 Link Module3_15-BF-03.mx
3_15-BF-04.mx
A printer MUST read and process the content of external style sheets where the media attribute has the value print or all.
893.15 Link Module3_15-BF-01.mx The absence of the media attribute MUST be treat as if the media attribute had the value all.
903.16 Base Module3_16-BF-01.htm
3_16-BF-02.mx
[must support the href attribute of the base element]
913.16 Base Module3_16-BF-01.htm
3_16-BF-02.mx
The [href] attribute MUST be present
923.16 Base Module3_16-BF-01.htm
3_16-BF-02.mx
Printers MUST support the cid [RFC2392] and http [RFC2616] schemes of a URI [RFC2396].
934.2 Style Sheets4_2-BF-01.mx
printers SHALL support both in-line and referenced style sheets within the style element or link element in the head element of a document
944.2 Style Sheets 3_3-BF-02a.htm
3_4-BF-01.htm
3_5-BF-01.htm
3_6-BF-01.htm
3_7-BF-01.htm
3_8-BF-01.htm
3_9-BF-01.htm
3_9-ER-01.htm
3_10-BF-01.htm
3_12-BF-01.htm
3_15-BF-01.mx
printers SHALL also support the style attribute [on all elements with CORE attribute set: body, abbr, acronym, address, blockquote, cite, code, dfn, div, em, h1, h2, h3, h4, h5, h6, kbd, p, pre, q, samp, span, strong, var, a, dl, dt, dd, ol, ul, li, b, big, hr, i, small, sub, sup, tt, form, input, label, select, option, textarea, caption, table, td, th, tr, img, object, noscript, link ]
954.3 Image Data4_3-BF-01.mx
4_3-BF-02.mx
printers MUST support two document formats: a format that contains both a document and its referenced image data and the traditional format that contains only the document.
964.3 Image Data4_3-BF-01.mx
B_2-BF-01.htm
Appendix B ... the method that SHALL be used to collect both XHTML-Print and associated image data into a single file or data stream
974.4 Side-by-Side Images OptionalPrinters SHALL attempt to preserve content when encountering side-by-side images
98A.2.1 JPEG Processes A JPEG decoder for an XHTML-Print printer SHALL support all baseline JPEG processes as defined in [CCITT], except for 2- and 4-component images
99A.2.2 Handling of APPx Markers A JPEG decoder for a minimal printer SHALL NOT fail as a consequence of encountering an unsupported APPx marker
100A.2.2 Handling of APPx Markers all such [unsupported APPx] markers SHALL be correctly parsed, even if they are ignored
101Grayscale Images Sample values in a grayscale (single-component) JPEG image SHALL be converted to the sRGB color space by setting: Rout= Gout= Bout= Grayin
102Color Images Sample values in 3-component JPEG images SHALL be interpreted as YCbCr samples, as would be obtained by applying the matrices described in ITU BT.601 [BT601.5] to sRGB input data.
103A.3.1 Handling of EXIF APP1 and APP2 Markers any future XHTML elements or CSS properties affecting image orientation SHALL take precedence over these IFDs.
104B.1.1 IntentB_1_1-BF-01.mxIn addition to images, if separate style sheets are to be interleaved with the XHTML-Print data, the same method SHALL be used.
105B.1.2 Objectives B_1_2-BF-01.mximage data SHALL be sent near the related XHTML-Print content, so that layout and printing can occur without extensive data buffering
106B.2 MIME type Application/Vnd.pwg-multiplexedB_2-BF-01.mx
RFC 3391 Test List
All printers MUST support image data using RFC3391[MIMEMPX], See RFC 3391 tests
107B.2 MIME type Application/Vnd.pwg-multiplexedB_2-BF-02.mxThe producer of the compound document MUST assume that the consumer of the compound document has limited memory and therefore include a unique image message for each image reference found in the root document
108B.2 MIME type Application/Vnd.pwg-multiplexedB_2-BF-03.mxIf a ContentID is present in the header of an image message, that ContentID MUST be unique.
109B.2 MIME type Application/Vnd.pwg-multiplexedRFC 2775 Test ListURL references in the root document of the multiplexed document MUST be matched to Content-Location and/or Content-ID fields of the referenced message object according to the rules given by RFC2557 - MIME Encapsulation of Aggregate Documents, such as HTML (MHTML) [RFC2557]. See RFC 2775 Test List