]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - doc/help/man-ipptoolfile.html
Update ipp documentation to reflect the behavior of configuring WiFi on IPP USB printers.
[thirdparty/cups.git] / doc / help / man-ipptoolfile.html
index e655bec978aa2f551265d90b485fe6ea38ecad6c..95d4a5660d6f8e9ff2cc5531deade7b4fdd1358a 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML>
 <html>
 <!-- SECTION: Man Pages -->
 <head>
@@ -9,38 +9,58 @@
 <h1 class="title">ipptoolfile(5)</h1>
 <h2 class="title"><a name="NAME">Name</a></h2>
 ipptoolfile - ipptool file format
-
 <h2 class="title"><a name="DESCRIPTION">Description</a></h2>
-The <a href='man-ipptool.html?TOPIC=Man+Pages'>ipptool(1)</a> program accepts free-form plain text files that describe one or more IPP requests. Comments start with the "#" character and continue to the end of the line. Each request is enclosed by curly braces, for example:
-<pre>
+The
+<b>ipptool</b>(1)
+program accepts free-form plain text files that describe one or more IPP requests.
+Comments start with the "#" character and continue to the end of the line.
+Each request is enclosed by curly braces, for example:
+<pre class="man">
 
     # This is a comment
     {
       # The name of the test
-      NAME "Print PostScript Job"
+      NAME "Print PDF File"
 
       # The request to send
       OPERATION Print-Job
+
       GROUP operation-attributes-tag
       ATTR charset attributes-charset utf-8
       ATTR language attributes-natural-language en
       ATTR uri printer-uri $uri
       ATTR name requesting-user-name $user
-      FILE testfile.ps
+      ATTR mimeMediaType document-format application/pdf
+
+      GROUP job-attributes-tag
+      ATTR collection media-col {
+        # US Letter plain paper from the "main" tray
+        MEMBER collection media-size {
+          MEMBER integer x-dimension 21590
+          MEMBER integer y-dimension 27940
+        }
+        MEMBER integer media-top-margin 423
+        MEMBER integer media-bottom-margin 423
+        MEMBER integer media-left-margin 423
+        MEMBER integer media-right-margin 423
+        MEMBER keyword media-source "main"
+        MEMBER keyword media-type "stationery"
+      }
+
+      FILE testfile.pdf
 
       # The response to expect
       STATUS successful-ok
-      EXPECT attributes-charset OF-TYPE charset
-      EXPECT attributes-natural-language OF-TYPE naturalLanguage
-      EXPECT job-id OF-TYPE integer
+      EXPECT job-id OF-TYPE integer WITH-VALUE >0
       EXPECT job-uri OF-TYPE uri
     }
     {
       # The name of the test
-      NAME "Get Attributes of PostScript Job"
+      NAME "Wait for Job to Complete"
 
       # The request to send
       OPERATION Get-Job-Attributes
+
       GROUP operation-attributes-tag
       ATTR charset attributes-charset utf-8
       ATTR language attributes-natural-language en
@@ -50,462 +70,259 @@ The <a href='man-ipptool.html?TOPIC=Man+Pages'>ipptool(1)</a> program accepts fr
 
       # The response to expect
       STATUS successful-ok
-      EXPECT attributes-charset OF-TYPE charset
-      EXPECT attributes-natural-language OF-TYPE naturalLanguage
-      EXPECT job-id OF-TYPE integer
+      EXPECT job-id OF-TYPE integer WITH-VALUE $job-id
       EXPECT job-uri OF-TYPE uri
-      EXPECT job-state OF-TYPE enum
+      EXPECT job-state OF-TYPE enum WITH-VALUE >5 REPEAT-NO-MATCH
       EXPECT job-originating-user-name OF-TYPE name WITH-VALUE "$user"
+
+      # Show the job state until completed...
+      DISPLAY job-state
+      DISPLAY job-state-reasons
     }
 </pre>
-
-<h2 class="title"><a name="TOP-LEVEL_DIRECTIVES">Top-level Directives</a></h2>
-The following directives can be used outside of a test:
-<dl>
-<dt>{ test }
-</dt>
-<dd>Defines a test.
-</dd>
-<dt>DEFINE variable-name value
-</dt>
-<dd>Defines the named variable to the given value. This is equivalent to specifying
-"-d variable-name=value" on the <i>ipptool</i> command-line.
-</dd>
-<dt>DEFINE-DEFAULT variable-name value
-</dt>
-<dd>Defines the named variable to the given value if it does not already have a
-value.
-</dd>
-<dt>FILE-ID "identifier"
-</dt>
-<dd>Specifies an identifier string for the current file.
-</dd>
-<dt>IGNORE-ERRORS yes
-</dt>
-<dd></dd>
-<dt>IGNORE-ERRORS no
-</dt>
-<dd>Specifies whether, by default, <i>ipptool</i> will ignore errors and continue with
-subsequent tests.
-</dd>
-<dt>INCLUDE "filename"
-</dt>
-<dd></dd>
-<dt>INCLUDE &lt;filename>
-</dt>
-<dd>Includes another test file. The first form includes a file relative to the
-current test file, while the second form includes a file from the <i>ipptool</i>
+<h3><a name="TOP_LEVEL_DIRECTIVES">Top-level Directives</a></h3>
+The following directives can be used outside of a <i>test</i>:
+<dl class="man">
+<dt><b>{ </b><i>test </i><b>}</b>
+<dd style="margin-left: 5.0em">Defines a test.
+<dt><b>DEFINE </b><i>variable-name value</i>
+<dd style="margin-left: 5.0em">Defines the named variable to the given value. This is equivalent to specifying <i>-d variable-name=value</i> on the
+<b>ipptool</b>(8)
+command-line.
+<dt><b>DEFINE-DEFAULT </b><i>variable-name value</i>
+<dd style="margin-left: 5.0em">Defines the named variable to the given value if it does not already have a value.
+<dt><b>FILE-ID "</b><i>identifier</i><b>"</b>
+<dd style="margin-left: 5.0em">Specifies an identifier string for the current file.
+<dt><b>IGNORE-ERRORS yes</b>
+<dd style="margin-left: 5.0em"><dt><b>IGNORE-ERRORS no</b>
+<dd style="margin-left: 5.0em">Specifies whether, by default,
+<b>ipptool</b>(8)
+will ignore errors and continue with subsequent tests.
+<dt><b>INCLUDE "</b><i>filename</i><b>"</b>
+<dd style="margin-left: 5.0em"><dt><b>INCLUDE &lt;</b><i>filename</i><b>></b>
+<dd style="margin-left: 5.0em">Includes another test file. The first form includes a file relative to the current test file, while the second form includes a file from the
+<b>ipptool</b>(8)
 include directory.
-</dd>
-<dt>INCLUDE-IF-DEFINED name "filename"
-</dt>
-<dd></dd>
-<dt>INCLUDE-IF-DEFINED name &lt;filename>
-</dt>
-<dd>Includes another test file if the named variable is defined. The first form
-includes a file relative to the current test file, while the second form
-includes a file from the <i>ipptool</i> include directory.
-</dd>
-<dt>INCLUDE-IF-NOT-DEFINED name "filename"
-</dt>
-<dd></dd>
-<dt>INCLUDE-IF-NOT-DEFINED name &lt;filename>
-</dt>
-<dd>Includes another test file if the named variable is not defined. The first form
-includes a file relative to the current test file, while the second form
-includes a file from the <i>ipptool</i> include directory.
-</dd>
-<dt>SKIP-IF-DEFINED variable-name
-</dt>
-<dd></dd>
-<dt>SKIP-IF-NOT-DEFINED variable-name
-</dt>
-<dd>Specifies that the remainder of the test file should be skipped when the
-variable is or is not defined.
-</dd>
-<dt>STOP-AFTER-INCLUDE-ERROR no
-</dt>
-<dd></dd>
-<dt>STOP-AFTER-INCLUDE-ERROR yes
-</dt>
-<dd>Specifies whether tests will be stopped after an error in an included file.
-</dd>
-<dt>TRANSFER auto
-</dt>
-<dd>Specifies that tests will, by default, use "Transfer-Encoding: chunked" for
-requests with attached files and "Content-Length:" for requests without attached
-files.
-</dd>
-<dt>TRANSFER chunked
-</dt>
-<dd>Specifies that tests will, by default, use the HTTP/1.1 "Transfer-Encoding:
-chunked" header. This is the default and is equivalent to specifying "-c" on the
-<i>ipptool</i> command-line. Support for chunked requests is required for
-conformance with all versions of IPP.
-</dd>
-<dt>TRANSFER length
-</dt>
-<dd>Specifies that tests will, by default, use the HTTP/1.0 "Content-Length:"
-header. This is equivalent to specifying "-l" on the <i>ipptool</i> command-line.
-Support for content length requests is required for conformance with all
-versions of IPP.
-</dd>
-<dt>VERSION 1.0
-</dt>
-<dd></dd>
-<dt>VERSION 1.1
-</dt>
-<dd></dd>
-<dt>VERSION 2.0
-</dt>
-<dd></dd>
-<dt>VERSION 2.1
-</dt>
-<dd></dd>
-<dt>VERSION 2.2
-</dt>
-<dd>Specifies the default IPP version number to use for the tests that follow.
-
-</dd>
+<dt><b>INCLUDE-IF-DEFINED </b><i>name </i><b>"</b><i>filename</i><b>"</b>
+<dd style="margin-left: 5.0em"><dt><b>INCLUDE-IF-DEFINED </b><i>name </i><b>&lt;</b><i>filename</i><b>></b>
+<dd style="margin-left: 5.0em">Includes another test file if the named variable is defined. The first form includes a file relative to the current test file, while the second form includes a file from the
+<b>ipptool</b>(8)
+include directory.
+<dt><b>INCLUDE-IF-NOT-DEFINED </b><i>name </i><b>"</b><i>filename</i><b>"</b>
+<dd style="margin-left: 5.0em"><dt><b>INCLUDE-IF-NOT-DEFINED </b><i>name </i><b>&lt;</b><i>filename</i><b>></b>
+<dd style="margin-left: 5.0em">Includes another test file if the named variable is not defined. The first form includes a file relative to the current test file, while the second form includes a file from the
+<b>ipptool</b>(8)
+include directory.
+<dt><b>SKIP-IF-DEFINED </b><i>variable-name</i>
+<dd style="margin-left: 5.0em"><dt><b>SKIP-IF-NOT-DEFINED </b><i>variable-name</i>
+<dd style="margin-left: 5.0em">Specifies that the remainder of the test file should be skipped when the variable is or is not defined.
+<dt><b>STOP-AFTER-INCLUDE-ERROR no</b>
+<dd style="margin-left: 5.0em"><dt><b>STOP-AFTER-INCLUDE-ERROR yes</b>
+<dd style="margin-left: 5.0em">Specifies whether tests will be stopped after an error in an included file.
+<dt><b>TRANSFER auto</b>
+<dd style="margin-left: 5.0em">Specifies that tests will, by default, use "Transfer-Encoding: chunked" for requests with attached files and "Content-Length:" for requests without attached files.
+<dt><b>TRANSFER chunked</b>
+<dd style="margin-left: 5.0em">Specifies that tests will, by default, use the HTTP/1.1 "Transfer-Encoding: chunked" header. This is the default and is equivalent to specifying <i>-c</i> on the
+<b>ipptool</b>(8)
+command-line. Support for chunked requests is required for conformance with all versions of IPP.
+<dt><b>TRANSFER length</b>
+<dd style="margin-left: 5.0em">Specifies that tests will, by default, use the HTTP/1.0 "Content-Length:" header. This is equivalent to specifying <i>-l</i> on the
+<b>ipptool</b>(8)
+command-line. Support for content length requests is required for conformance with all versions of IPP.
+<dt><b>VERSION 1.0</b>
+<dd style="margin-left: 5.0em"><dt><b>VERSION 1.1</b>
+<dd style="margin-left: 5.0em"><dt><b>VERSION 2.0</b>
+<dd style="margin-left: 5.0em"><dt><b>VERSION 2.1</b>
+<dd style="margin-left: 5.0em"><dt><b>VERSION 2.2</b>
+<dd style="margin-left: 5.0em">Specifies the default IPP version number to use for the tests that follow.
 </dl>
-<h2 class="title"><a name="TEST_DIRECTIVES">Test Directives</a></h2>
-The following directives are understood in a test:
-<dl>
-<dt>ATTR tag attribute-name value(s)
-</dt>
-<dd>Adds an attribute to the test request. Values are separated by the comma (",")
-character - escape commas using the "" character. Common attributes and values are listed in the IANA IPP registry - see references below.
-</dd>
-<dt>ATTR collection attribute-name { MEMBER tag member-name value(s) ... } [ ... { ... } ]
-</dt>
-<dd>Adds a collection attribute to the test request. Member attributes follow the
-same syntax as regular attributes and can themselves be nested collections.
-Multiple collection values can be supplied as needed.
-</dd>
-<dt>COMPRESSION deflate
-</dt>
-<dd></dd>
-<dt>COMPRESSION gzip
-</dt>
-<dd></dd>
-<dt>COMPRESSION none
-</dt>
-<dd></dd>
-<dd>Uses the specified compression on the document data following the attributes in
-a Print-Job or Send-Document request.
-</dd>
-<dt>DELAY seconds
-</dt>
-<dd>Specifies a delay before this test will be run.
-</dd>
-<dt>DISPLAY attribute-name
-</dt>
-<dd>Specifies that value of the named attribute should be output as part of the
+<h3><a name="TEST_DIRECTIVES">Test Directives</a></h3>
+The following directives are understood within a <i>test</i>:
+<dl class="man">
+<dt><b>ATTR </b><i>out-of-band-tag attribute-name</i>
+<dd style="margin-left: 5.0em"><dt><b>ATTR </b><i>tag attribute-name value(s)</i>
+<dd style="margin-left: 5.0em">Adds an attribute to the test request.
+Out-of-band tags (admin-define, delete-attribute, no-value, not-settable, unknown, unsupported) have no value.
+Values for other tags are delimited by the comma (",") character - escape commas using the "\" character.
+Common attributes and values are listed in the IANA IPP registry - see references below.
+<dt><b>ATTR collection </b><i>attribute-name </i><b>{ MEMBER </b><i>tag member-name value(s) ... </i><b>}</b> [ <i>... </i><b>,{ </b><i>... </i><b>} </b>]
+<dd style="margin-left: 5.0em">Adds a collection attribute to the test request.
+Member attributes follow the same syntax as regular attributes and can themselves be nested collections.
+Multiple collection values can be supplied as needed, separated by commas.
+<dt><b>COMPRESSION deflate</b>
+<dd style="margin-left: 5.0em"><dt><b>COMPRESSION gzip</b>
+<dd style="margin-left: 5.0em"><dt><b>COMPRESSION none</b>
+<dd style="margin-left: 5.0em">Uses the specified compression on the document data following the attributes in a Print-Job or Send-Document request.
+<dt><b>DELAY </b><i>seconds</i>[<i>,repeat-seconds</i>]
+<dd style="margin-left: 5.0em">Specifies a delay in seconds before this test will be run.
+If two values are specified, the second value is used as the delay between repeated tests.
+<dt><b>DISPLAY </b><i>attribute-name</i>
+<dd style="margin-left: 5.0em">Specifies that value of the named attribute should be output as part of the
 test report.
-</dd>
-<dt>EXPECT attribute-name [ predicate(s) ]
-</dt>
-<dd></dd>
-<dt>EXPECT ?attribute-name predicate(s)
-</dt>
-<dd></dd>
-<dt>EXPECT !attribute-name
-</dt>
-<dd>Specifies that the response must/may/must not include the named attribute.
-Additional requirements can be added as predicates - see the "EXPECT PREDICATES"
-section for more information on predicates.
-</dd>
-<dt>FILE filename
-</dt>
-<dd>Specifies a file to include at the end of the request. This is typically used
-when sending a test print file.
-</dd>
-<dt>GROUP tag
-</dt>
-<dd>Specifies the group tag for subsequent attributes in the request.
-</dd>
-<dt>IGNORE-ERRORS yes
-</dt>
-<dd></dd>
-<dt>IGNORE-ERRORS no
-</dt>
-<dd>Specifies whether <i>ipptool</i> will ignore errors and continue with subsequent
-tests.
-</dd>
-<dt>NAME "literal string"
-</dt>
-<dd>Specifies the human-readable name of the test.
-</dd>
-<dt>OPERATION operation-code
-</dt>
-<dd>Specifies the operation to be performed.
-</dd>
-<dt>REQUEST-ID number
-</dt>
-<dd></dd>
-<dt>REQUEST-ID random
-</dt>
-<dd>Specifies the request-id value to use in the request, either an integer or the
-word "random" to use a randomly generated value (the default).
-</dd>
-<dt>RESOURCE path
-</dt>
-<dd>Specifies an alternate resource path that is used for the HTTP POST request.
-The default is the resource from the URI provided to the <i>ipptool</i> program.
-</dd>
-<dt>SKIP-IF-DEFINED variable-name
-</dt>
-<dd></dd>
-<dt>SKIP-IF-NOT-DEFINED variable-name
-</dt>
-<dd>Specifies that the current test should be skipped when the variable is or is not
-defined.
-</dd>
-<dt>SKIP-PREVIOUS-ERROR yes
-</dt>
-<dd></dd>
-<dt>SKIP-PREVIOUS-ERROR no
-</dt>
-<dd>Specifies whether <i>ipptool</i> will skip the current test if the previous test
-resulted in an error/failure.
-</dd>
-<dt>STATUS status-code [ predicate ]
-</dt>
-<dd>Specifies an expected response status-code value. Additional requirements can be
-added as predicates - see the "STATUS PREDICATES" section for more information
-on predicates.
-</dd>
-<dt>TEST-ID "identifier"
-</dt>
-<dd>Specifies an identifier string for the current test.
-</dd>
-<dt>TRANSFER auto
-</dt>
-<dd>Specifies that this test will use "Transfer-Encoding: chunked" if it has an
-attached file or "Content-Length:" otherwise.
-</dd>
-<dt>TRANSFER chunked
-</dt>
-<dd>Specifies that this test will use the HTTP/1.1 "Transfer-Encoding: chunked"
-header.
-</dd>
-<dt>TRANSFER length
-</dt>
-<dd>Specifies that this test will use the HTTP/1.0 "Content-Length:" header.
-</dd>
-<dt>VERSION 1.0
-</dt>
-<dd></dd>
-<dt>VERSION 1.1
-</dt>
-<dd></dd>
-<dt>VERSION 2.0
-</dt>
-<dd></dd>
-<dt>VERSION 2.1
-</dt>
-<dd></dd>
-<dt>VERSION 2.2
-</dt>
-<dd>Specifies the IPP version number to use for this test.
-
-</dd>
+<dt><b>EXPECT </b><i>attribute-name </i>[ <i>predicate(s) </i>]
+<dd style="margin-left: 5.0em"><dt><b>EXPECT ?</b><i>attribute-name predicate(s)</i>
+<dd style="margin-left: 5.0em"><dt><b>EXPECT !</b><i>attribute-name</i>
+<dd style="margin-left: 5.0em">Specifies that the response must/may/must not include the named attribute. Additional requirements can be added as predicates - see the "EXPECT PREDICATES" section for more information on predicates. Attribute names can specify member attributes by separating the attribute and member names with the forward slash, for example "media-col/media-size/x-dimension".
+<dt><b>EXPECT-ALL </b><i>attribute-name </i>[ <i>predicate(s) </i>]
+<dd style="margin-left: 5.0em"><dt><b>EXPECT-ALL ?</b><i>attribute-name predicate(s)</i>
+<dd style="margin-left: 5.0em">Specifies that the response must/may include the named attribute and that all occurrences of that attribute must match the given predicates.
+<dt><b>FILE filename</b>
+<dd style="margin-left: 5.0em">Specifies a file to include at the end of the request. This is typically used when sending a test print file.
+<dt><b>GROUP tag</b>
+<dd style="margin-left: 5.0em">Specifies the group tag for subsequent attributes in the request.
+<dt><b>IGNORE-ERRORS yes</b>
+<dd style="margin-left: 5.0em"><dt><b>IGNORE-ERRORS no</b>
+<dd style="margin-left: 5.0em">Specifies whether
+<b>ipptool</b>(8)
+will ignore errors and continue with subsequent tests.
+<dt><b>MONITOR-PRINTER-STATE </b>[ <i>printer-uri </i>] <b>{ EXPECT </b><i>attribute-name </i>[ <i>predicate(s) </i>] <b>}</b>
+<dd style="margin-left: 5.0em">Specifies printer state monitoring tests to run in parallel with the test operation.
+The monitoring tests will run until all of the <b>EXPECT</b> conditions are satisfied or the primary test operation has completed, whichever occurs first.
+<dt><b>NAME "</b><i>literal string</i><b>"</b>
+<dd style="margin-left: 5.0em">Specifies the human-readable name of the test.
+<dt><b>OPERATION </b><i>operation-code</i>
+<dd style="margin-left: 5.0em">Specifies the operation to be performed.
+<dt><b>PAUSE "</b><i>message</i><b>"</b>
+<dd style="margin-left: 5.0em">Displays the provided message and waits for the user to press a key to continue.
+<dt><b>REQUEST-ID </b><i>number</i>
+<dd style="margin-left: 5.0em"><dt><b>REQUEST-ID random</b>
+<dd style="margin-left: 5.0em">Specifies the request-id value to use in the request, either an integer or the word "random" to use a randomly generated value (the default).
+<dt><b>RESOURCE </b><i>path</i>
+<dd style="margin-left: 5.0em">Specifies an alternate resource path that is used for the HTTP POST request. The default is the resource from the URI provided to the
+<b>ipptool</b>(8)
+program.
+<dt><b>SKIP-IF-DEFINED </b><i>variable-name</i>
+<dd style="margin-left: 5.0em"><dt><b>SKIP-IF-NOT-DEFINED </b><i>variable-name</i>
+<dd style="margin-left: 5.0em">Specifies that the current test should be skipped when the variable is or is not defined.
+<dt><b>SKIP-PREVIOUS-ERROR yes</b>
+<dd style="margin-left: 5.0em"><dt><b>SKIP-PREVIOUS-ERROR no</b>
+<dd style="margin-left: 5.0em">Specifies whether
+<b>ipptool</b>(8)
+will skip the current test if the previous test resulted in an error/failure.
+<dt><b>STATUS </b><i>status-code </i>[ <i>predicate</i> ]
+<dd style="margin-left: 5.0em">Specifies an expected response status-code value. Additional requirements can be added as predicates - see the "STATUS PREDICATES" section for more information on predicates.
+<dt><b>TEST-ID "</b><i>identifier</i>"
+<dd style="margin-left: 5.0em">Specifies an identifier string for the current test.
+<dt><b>TRANSFER auto</b>
+<dd style="margin-left: 5.0em">Specifies that this test will use "Transfer-Encoding: chunked" if it has an attached file or "Content-Length:" otherwise.
+<dt><b>TRANSFER chunked</b>
+<dd style="margin-left: 5.0em">Specifies that this test will use the HTTP/1.1 "Transfer-Encoding: chunked" header.
+<dt><b>TRANSFER length</b>
+<dd style="margin-left: 5.0em">Specifies that this test will use the HTTP/1.0 "Content-Length:" header.
+<dt><b>VERSION 1.0</b>
+<dd style="margin-left: 5.0em"><dt><b>VERSION 1.1</b>
+<dd style="margin-left: 5.0em"><dt><b>VERSION 2.0</b>
+<dd style="margin-left: 5.0em"><dt><b>VERSION 2.1</b>
+<dd style="margin-left: 5.0em"><dt><b>VERSION 2.2</b>
+<dd style="margin-left: 5.0em">Specifies the IPP version number to use for this test.
 </dl>
-<h2 class="title"><a name="EXPECT_PREDICATES">Expect Predicates</a></h2>
-The following predicates are understood following the EXPECT test directive:
-<dl>
-<dt>COUNT number
-</dt>
-<dd>Requires the EXPECT attribute to have the specified number of values.
-</dd>
-<dt>DEFINE-MATCH variable-name
-</dt>
-<dd>Defines the variable to "1" when the EXPECT condition matches. A side-effect of
-this predicate is that this EXPECT will never fail a test.
-</dd>
-<dt>DEFINE-NO-MATCH variable-name
-</dt>
-<dd>Defines the variable to "1" when the EXPECT condition does not match. A side-
-effect of this predicate is that this EXPECT will never fail a test.
-</dd>
-<dt>DEFINE-VALUE variable-name
-</dt>
-<dd>Defines the variable to the value of the attribute when the EXPECT condition
-matches. A side-effect of this predicate is that this EXPECT will never fail a test.
-</dd>
-<dt>IF-DEFINED variable-name
-</dt>
-<dd>Makes the EXPECT conditions apply only if the specified variable is defined.
-</dd>
-<dt>IF-NOT-DEFINED variable-name
-</dt>
-<dd>Makes the EXPECT conditions apply only if the specified variable is not
-defined.
-</dd>
-<dt>IN-GROUP tag
-</dt>
-<dd>Requires the EXPECT attribute to be in the specified group tag.
-</dd>
-<dt>OF-TYPE tag[,tag,...]
-</dt>
-<dd>Requires the EXPECT attribute to use the specified value tag(s).
-</dd>
-<dt>REPEAT-LIMIT number
-</dt>
-<dd></dd>
-<dd>Specifies the maximum number of times to repeat. The default value is 1000.
-</dd>
-<dt>REPEAT-MATCH
-</dt>
-<dd></dd>
-<dt>REPEAT-NO-MATCH
-</dt>
-<dd>Specifies that the current test should be repeated when the EXPECT condition
-matches or does not match.
-</dd>
-<dt>SAME-COUNT-AS attribute-name
-</dt>
-<dd>Requires the EXPECT attribute to have the same number of values as the specified
-parallel attribute.
-</dd>
-<dt>WITH-ALL-HOSTNAMES "literal string"
-</dt>
-<dd></dd>
-<dt>WITH-ALL-HOSTNAMES "/regular expression/"
-</dt>
-<dd>Requires that all URI values contain a matching hostname.
-</dd>
-<dt>WITH-ALL-RESOURCES "literal string"
-</dt>
-<dd></dd>
-<dt>WITH-ALL-RESOURCES "/regular expression/"
-</dt>
-<dd>Requires that all URI values contain a matching resource (including leading /).
-</dd>
-<dt>WITH-ALL-SCHEMES "literal string"
-</dt>
-<dd></dd>
-<dt>WITH-ALL-SCHEMES "/regular expression/"
-</dt>
-<dd>Requires that all URI values contain a matching scheme.
-</dd>
-<dt>WITH-ALL-VALUES "literal string"
-</dt>
-<dd>Requires that all values of the EXPECT attribute match the literal string. Comparisons are case-sensitive.
-</dd>
-<dt>WITH-ALL-VALUES &lt;number
-</dt>
-<dd></dd>
-<dt>WITH-ALL-VALUES =number
-</dt>
-<dd></dd>
-<dt>WITH-ALL-VALUES >number
-</dt>
-<dd></dd>
-<dt>WITH-ALL-VALUES number[,number,...]
-</dt>
-<dd>Requires that all values of the EXPECT attribute match the number(s) or numeric comparison. When comparing rangeOfInteger values, the "&lt;" and ">" operators only check the upper bound of the range.
-</dd>
-<dt>WITH-ALL-VALUES "false"
-</dt>
-<dd></dd>
-<dt>WITH-ALL-VALUES "true"
-</dt>
-<dd>Requires that all values of the EXPECT attribute match the boolean value given.
-</dd>
-<dt>WITH-ALL-VALUES "/regular expression/"
-</dt>
-<dd>Requires that all values of the EXPECT attribute match the regular expression, which must conform to the POSIX regular expression syntax. Comparisons are case-sensitive.
-</dd>
-<dt>WITH-HOSTNAME "literal string"
-</dt>
-<dd></dd>
-<dt>WITH-HOSTNAME "/regular expression/"
-</dt>
-<dd>Requires that at least one URI value contains a matching hostname.
-</dd>
-<dt>WITH-RESOURCE "literal string"
-</dt>
-<dd></dd>
-<dt>WITH-RESOURCE "/regular expression/"
-</dt>
-<dd>Requires that at least one URI value contains a matching resource (including leading /).
-</dd>
-<dt>WITH-SCHEME "literal string"
-</dt>
-<dd></dd>
-<dt>WITH-SCHEME "/regular expression/"
-</dt>
-<dd>Requires that at least one URI value contains a matching scheme.
-</dd>
-<dt>WITH-VALUE "literal string"
-</dt>
-<dd>Requires that at least one value of the EXPECT attribute matches the literal string. Comparisons are case-sensitive.
-</dd>
-<dt>WITH-VALUE &lt;number
-</dt>
-<dd></dd>
-<dt>WITH-VALUE =number
-</dt>
-<dd></dd>
-<dt>WITH-VALUE >number
-</dt>
-<dd></dd>
-<dt>WITH-VALUE number[,number,...]
-</dt>
-<dd>Requires that at least one value of the EXPECT attribute matches the number(s) or numeric comparison. When comparing rangeOfInteger values, the "&lt;" and ">" operators only check the upper bound of the range.
-</dd>
-<dt>WITH-VALUE "false"
-</dt>
-<dd></dd>
-<dt>WITH-VALUE "true"
-</dt>
-<dd>Requires that at least one value of the EXPECT attribute matches the boolean value given.
-</dd>
-<dt>WITH-VALUE "/regular expression/"
-</dt>
-<dd>Requires that at least one value of the EXPECT attribute matches the regular expression, which must conform to the POSIX regular expression syntax. Comparisons are case-sensitive.
-
-</dd>
+<h3><a name="EXPECT_PREDICATES">Expect Predicates</a></h3>
+The following predicates are understood following the <b>EXPECT</b> test directive:
+<dl class="man">
+<dt><b>COUNT </b><i>number</i>
+<dd style="margin-left: 5.0em">Requires the <b>EXPECT</b> attribute to have the specified number of values.
+<dt><b>DEFINE-MATCH </b><i>variable-name</i>
+<dd style="margin-left: 5.0em">Defines the variable to "1" when the <b>EXPECT</b> condition matches.
+A side-effect of this predicate is that this <b>EXPECT</b> will never fail a test.
+<dt><b>DEFINE-NO-MATCH </b><i>variable-name</i>
+<dd style="margin-left: 5.0em">Defines the variable to "1" when the <b>EXPECT</b> condition does not match.
+A side-effect of this predicate is that this <b>EXPECT</b> will never fail a test.
+<dt><b>DEFINE-VALUE </b><i>variable-name</i>
+<dd style="margin-left: 5.0em">Defines the variable to the value of the attribute when the <b>EXPECT</b> condition matches.
+A side-effect of this predicate is that this <b>EXPECT</b> will never fail a test.
+<dt><b>DISPLAY-MATCH </b><i>"message"</i>
+<dd style="margin-left: 5.0em">Displays the specified message when the <b>EXPECT</b> condition matches.
+<dt><b>IF-DEFINED </b><i>variable-name</i>
+<dd style="margin-left: 5.0em">Makes the <b>EXPECT</b> conditions apply only if the specified variable is defined.
+<dt><b>IF-NOT-DEFINED </b><i>variable-name</i>
+<dd style="margin-left: 5.0em">Makes the <b>EXPECT</b> conditions apply only if the specified variable is not defined.
+<dt><b>IN-GROUP </b><i>tag</i>
+<dd style="margin-left: 5.0em">Requires the <b>EXPECT</b> attribute to be in the specified group tag.
+<dt><b>OF-TYPE </b><i>tag[(limits)|tag|...]</i>
+<dd style="margin-left: 5.0em">Requires the <b>EXPECT</b> attribute to use one of the specified value tag(s).
+Most value tags also support the specification of limits in parenthesis, for example "name(42)" would allow nameWith/WithoutLanguage strings up to 42 octets in length, "name(4:MAX)" would allow nameWith/WithoutLanguage strings between 4 and 255 octets in length, and "integer(-273:MAX)" would allow integers between -273 and 2147483647.
+<dt><b>REPEAT-LIMIT </b><i>number</i>
+<dd style="margin-left: 5.0em"><br>
+Specifies the maximum number of times to repeat if the <b>REPEAT-MATCH</b> or <b>REPEAT-NO-MATCH</b> predicate is specified. The default value is 1000.
+<dt><b>REPEAT-MATCH</b>
+<dd style="margin-left: 5.0em"><dt><b>REPEAT-NO-MATCH</b>
+<dd style="margin-left: 5.0em">Specifies that the current test should be repeated when the <b>EXPECT</b> condition matches or does not match.
+<dt><b>SAME-COUNT-AS </b><i>attribute-name</i>
+<dd style="margin-left: 5.0em">Requires the <b>EXPECT</b> attribute to have the same number of values as the specified parallel attribute.
+<dt><b>WITH-ALL-HOSTNAMES "</b><i>literal string</i><b>"</b>
+<dd style="margin-left: 5.0em"><dt><b>WITH-ALL-HOSTNAMES "/</b><i>regular expression</i><b>/"</b>
+<dd style="margin-left: 5.0em">Requires that all URI values contain a matching hostname.
+<dt><b>WITH-ALL-RESOURCES "</b><i>literal string</i><b>"</b>
+<dd style="margin-left: 5.0em"><dt><b>WITH-ALL-RESOURCES "/</b><i>regular expression</i><b>/"</b>
+<dd style="margin-left: 5.0em">Requires that all URI values contain a matching resource (including leading /).
+<dt><b>WITH-ALL-SCHEMES "</b><i>literal string</i><b>"</b>
+<dd style="margin-left: 5.0em"><dt><b>WITH-ALL-SCHEMES "/</b><i>regular expression</i><b>/"</b>
+<dd style="margin-left: 5.0em">Requires that all URI values contain a matching scheme.
+<dt><b>WITH-ALL-VALUES "</b><i>literal string</i><b>"</b>
+<dd style="margin-left: 5.0em">Requires that all values of the <b>EXPECT</b> attribute match the literal string. Comparisons are case-sensitive.
+<dt><b>WITH-ALL-VALUES &lt;</b><i>number</i>
+<dd style="margin-left: 5.0em"><dt><b>WITH-ALL-VALUES =</b><i>number</i>
+<dd style="margin-left: 5.0em"><dt><b>WITH-ALL-VALUES ></b><i>number</i>
+<dd style="margin-left: 5.0em"><dt><b>WITH-ALL-VALUES </b><i>number</i>[<i>,...,number</i>]
+<dd style="margin-left: 5.0em">Requires that all values of the <b>EXPECT</b> attribute match the number(s) or numeric comparison. When comparing rangeOfInteger values, the "&lt;" and ">" operators only check the upper bound of the range.
+<dt><b>WITH-ALL-VALUES "false"</b>
+<dd style="margin-left: 5.0em"><dt><b>WITH-ALL-VALUES "true"</b>
+<dd style="margin-left: 5.0em">Requires that all values of the <b>EXPECT</b> attribute match the boolean value given.
+<dt><b>WITH-ALL-VALUES "/</b><i>regular expression</i><b>/"</b>
+<dd style="margin-left: 5.0em">Requires that all values of the <b>EXPECT</b> attribute match the regular expression, which must conform to the POSIX regular expression syntax.
+Comparisons are case-sensitive.
+<dt><b>WITH-DISTINCT-VALUES</b>
+<dd style="margin-left: 5.0em">Requires that all values of the <b>EXPECT</b> attribute are unique.
+Comparisons are case-sensitive.
+Only charset, collection, enum, integer, keyword, mimeMediaType, naturalLanguage, rangeOfInteger, resolution, uriScheme attributes support this predicate.
+<dt><b>WITH-HOSTNAME "</b><i>literal string</i><b>"</b>
+<dd style="margin-left: 5.0em"><dt><b>WITH-HOSTNAME "/</b><i>regular expression</i><b>/"</b>
+<dd style="margin-left: 5.0em">Requires that at least one URI value contains a matching hostname.
+<dt><b>WITH-RESOURCE "</b><i>literal string</i><b>"</b>
+<dd style="margin-left: 5.0em"><dt><b>WITH-RESOURCE "/</b><i>regular expression</i><b>/"</b>
+<dd style="margin-left: 5.0em">Requires that at least one URI value contains a matching resource (including leading /).
+<dt><b>WITH-SCHEME "</b><i>literal string</i><b>"</b>
+<dd style="margin-left: 5.0em"><dt><b>WITH-SCHEME "/</b><i>regular expression</i><b>/"</b>
+<dd style="margin-left: 5.0em">Requires that at least one URI value contains a matching scheme.
+<dt><b>WITH-VALUE "</b><i>literal string</i><b>"</b>
+<dd style="margin-left: 5.0em">Requires that at least one value of the <b>EXPECT</b> attribute matches the literal string. Comparisons are case-sensitive.
+<dt><b>WITH-VALUE &lt;</b><i>number</i>
+<dd style="margin-left: 5.0em"><dt><b>WITH-VALUE =</b><i>number</i>
+<dd style="margin-left: 5.0em"><dt><b>WITH-VALUE ></b><i>number</i>
+<dd style="margin-left: 5.0em"><dt><b>WITH-VALUE </b><i>number</i>[<i>,...,number</i>]
+<dd style="margin-left: 5.0em">Requires that at least one value of the <b>EXPECT</b> attribute matches the number(s) or numeric comparison. When comparing rangeOfInteger values, the "&lt;" and ">" operators only check the upper bound of the range.
+<dt><b>WITH-VALUE "false"</b>
+<dd style="margin-left: 5.0em"><dt><b>WITH-VALUE "true"</b>
+<dd style="margin-left: 5.0em">Requires that at least one value of the <b>EXPECT</b> attribute matches the boolean value given.
+<dt><b>WITH-VALUE "/</b><i>regular expression</i><b>/"</b>
+<dd style="margin-left: 5.0em">Requires that at least one value of the <b>EXPECT</b> attribute matches the regular expression, which must conform to the POSIX regular expression syntax. Comparisons are case-sensitive.
+<dt><b>WITH-VALUE-FROM </b><i>attribute-name</i>
+<dd style="margin-left: 5.0em">Requires that the value(s) of the <b>EXPECT</b> attribute matches the value(s) in the specified attribute.
+For example, "EXPECT job-sheets WITH-VALUE-FROM job-sheets-supported" requires that the "job-sheets" value is listed as a value of the "job-sheets-supported" attribute.
 </dl>
-<h2 class="title"><a name="STATUS_PREDICATES">Status Predicates</a></h2>
-The following predicates are understood following the STATUS test directive:
-<dl>
-<dt>DEFINE-MATCH variable-name
-</dt>
-<dd>Defines the variable to "1" when the STATUS matches. A side-effect of this predicate is that this STATUS will never fail a test.
-</dd>
-<dt>DEFINE-NO-MATCH variable-name
-</dt>
-<dd>Defines the variable to "1" when the STATUS does not match. A side-effect of this predicate is that this STATUS will never fail a test.
-</dd>
-<dt>IF-DEFINED variable-name
-</dt>
-<dd>Makes the STATUS apply only if the specified variable is defined.
-</dd>
-<dt>IF-NOT-DEFINED variable-name
-</dt>
-<dd>Makes the STATUS apply only if the specified variable is not defined.
-</dd>
-<dt>REPEAT-LIMIT number
-</dt>
-<dd></dd>
-<dd>Specifies the maximum number of times to repeat. The default value is 1000.
-</dd>
-<dt>REPEAT-MATCH
-</dt>
-<dd></dd>
-<dt>REPEAT-NO-MATCH
-</dt>
-<dd>Specifies that the current test should be repeated when the response status-code
-matches or does not match the value specified by the STATUS directive.
-
-</dd>
+<h3><a name="STATUS_PREDICATES">Status Predicates</a></h3>
+The following predicates are understood following the <b>STATUS</b> test directive:
+<dl class="man">
+<dt><b>DEFINE-MATCH </b><i>variable-name</i>
+<dd style="margin-left: 5.0em">Defines the variable to "1" when the <b>STATUS</b> matches. A side-effect of this predicate is that this <b>STATUS</b> will never fail a test.
+<dt><b>DEFINE-NO-MATCH </b><i>variable-name</i>
+<dd style="margin-left: 5.0em">Defines the variable to "1" when the <b>STATUS</b> does not match. A side-effect of this predicate is that this <b>STATUS</b> will never fail a test.
+<dt><b>IF-DEFINED </b><i>variable-name</i>
+<dd style="margin-left: 5.0em">Makes the <b>STATUS</b> apply only if the specified variable is defined.
+<dt><b>IF-NOT-DEFINED </b><i>variable-name</i>
+<dd style="margin-left: 5.0em">Makes the <b>STATUS</b> apply only if the specified variable is not defined.
+<dt><b>REPEAT-LIMIT </b><i>number</i>
+<dd style="margin-left: 5.0em"><br>
+Specifies the maximum number of times to repeat. The default value is 1000.
+<dt><b>REPEAT-MATCH</b>
+<dd style="margin-left: 5.0em"><dt><b>REPEAT-NO-MATCH</b>
+<dd style="margin-left: 5.0em">Specifies that the current test should be repeated when the response status-code matches or does not match the value specified by the STATUS directive.
 </dl>
-<h2 class="title"><a name="OPERATION_CODES">Operation Codes</a></h2>
-Operation codes correspond to the hexadecimal numbers (0xHHHH) and names from
-RFC 2911 and other IPP extension specifications. Here is a complete list:
-<pre>
+<h3><a name="OPERATION_CODES">Operation Codes</a></h3>
+Operation codes correspond to the hexadecimal numbers (0xHHHH) and names from RFC 8011 and other IPP extension specifications. Here is a complete list of names supported by
+<b>ipptool</b>(8):
+<pre class="man">
+
     Activate-Printer
     CUPS-Accept-Jobs
     CUPS-Add-Modify-Class
@@ -530,8 +347,8 @@ RFC 2911 and other IPP extension specifications. Here is a complete list:
     Cancel-Subscription
     Close-Job
     Create-Job
-    Create-Job-Subscription
-    Create-Printer-Subscription
+    Create-Job-Subscriptions
+    Create-Printer-Subscriptions
     Deactivate-Printer
     Disable-Printer
     Enable-Printer
@@ -574,11 +391,15 @@ RFC 2911 and other IPP extension specifications. Here is a complete list:
     Validate-Document
     Validate-Job
 </pre>
+<h3><a name="STATUS_CODES">Status Codes</a></h3>
+Status codes correspond to the hexadecimal numbers (0xHHHH) and names from RFC 8011 and other IPP extension specifications. Here is a complete list of the names supported by
+<b>ipptool</b>(8):
+<pre class="man">
 
-<h2 class="title"><a name="STATUS_CODES">Status Codes</a></h2>
-Status codes correspond to the hexadecimal numbers (0xHHHH) and names from RFC
-2911 and other IPP extension specifications. Here is a complete list:
-<pre>
+    client-error-account-authorization-failed
+    client-error-account-closed
+    client-error-account-info-needed
+    client-error-account-limit-reached
     client-error-attributes-not-settable
     client-error-attributes-or-values-not-supported
     client-error-bad-request
@@ -607,6 +428,10 @@ Status codes correspond to the hexadecimal numbers (0xHHHH) and names from RFC
     client-error-timeout
     client-error-too-many-subscriptions
     client-error-uri-scheme-not-supported
+    cups-error-account-authorization-failed
+    cups-error-account-closed
+    cups-error-account-info-needed
+    cups-error-account-limit-reached
     cups-see-other
     redirection-other-site
     server-error-busy
@@ -629,11 +454,11 @@ Status codes correspond to the hexadecimal numbers (0xHHHH) and names from RFC
     successful-ok-ignored-subscriptions
     successful-ok-too-many-events
 </pre>
+<h3><a name="TAGS">Tags</a></h3>
+Value and group tags correspond to the names from RFC 8011 and other IPP extension specifications. Here are the group tags:
+<pre class="man">
 
-<h2 class="title"><a name="TAGS">Tags</a></h2>
-Value and group tags correspond to the names from RFC 2911 and other IPP
-extension specifications. Here are the group tags:
-<pre>
+    document-attributes-tag
     event-notification-attributes-tag
     job-attributes-tag
     operation-attributes-tag
@@ -642,7 +467,8 @@ extension specifications. Here are the group tags:
     unsupported-attributes-tag
 </pre>
 <p>Here are the value tags:
-<pre>
+<pre class="man">
+
     admin-define
     boolean
     charset
@@ -669,81 +495,62 @@ extension specifications. Here are the group tags:
     uri
     uriScheme
 </pre>
-
-<h2 class="title"><a name="VARIABLES">Variables</a></h2>
-The <i>ipptool</i> program maintains a list of variables that can be used in any
-literal string or attribute value by specifying "$variable-name". Aside from
-variables defined using the "-d" option or "DEFINE" directive, the following
-pre-defined variables are available:
-<dl>
-<dt>$$
-</dt>
-<dd>Inserts a single "$" character.
-</dd>
-<dt>$ENV[name]
-</dt>
-<dd>Inserts the value of the named environment variable, or an empty string if the
-environment variable is not defined.
-</dd>
-<dt>$filename
-</dt>
-<dd>Inserts the filename provided to <i>ipptool</i> with the "-f" option.
-</dd>
-<dt>$hostname
-</dt>
-<dd>Inserts the hostname from the URI provided to <i>ipptool</i>.
-</dd>
-<dt>$job-id
-</dt>
-<dd>Inserts the last job-id value returned in a test response or 0 if no job-id has
-been seen.
-</dd>
-<dt>$job-uri
-</dt>
-<dd>Inserts the last job-uri value returned in a test response or an empty string if
-no job-uri has been seen.
-</dd>
-<dt>$scheme
-</dt>
-<dd>Inserts the scheme from the URI provided to <i>ipptool</i>.
-</dd>
-<dt>$notify-subscription-id
-</dt>
-<dd>Inserts the last notify-subscription-id value returned in a test response or 0 if
-no notify-subscription-id has been seen.
-</dd>
-<dt>$port
-</dt>
-<dd>Inserts the port number from the URI provided to <i>ipptool</i>.
-</dd>
-<dt>$resource
-</dt>
-<dd>Inserts the resource path from the URI provided to <i>ipptool</i>.
-</dd>
-<dt>$uri
-</dt>
-<dd>Inserts the URI provided to <i>ipptool</i>.
-</dd>
-<dt>$user
-</dt>
-<dd>Inserts the current user's login name.
-</dd>
-<dt>$username
-</dt>
-<dd>Inserts the username from the URI provided to <i>ipptool</i>, if any.
-
-</dd>
+<h3><a name="VARIABLES">Variables</a></h3>
+The
+<b>ipptool</b>(8)
+program maintains a list of variables that can be used in any literal string or attribute value by specifying "<i>$variable-name</i>". Aside from variables defined using the <i>-d</i> option or <b>DEFINE</b> directive, the following pre-defined variables are available:
+<dl class="man">
+<dt><b>$$</b>
+<dd style="margin-left: 5.0em">Inserts a single "$" character.
+<dt><b>$ENV[</b><i>name</i><b>]</b>
+<dd style="margin-left: 5.0em">Inserts the value of the named environment variable, or an empty string if the environment variable is not defined.
+<dt><b>$date-current</b>
+<dd style="margin-left: 5.0em">Inserts the current date and time using the ISO-8601 format ("yyyy-mm-ddThh:mm:ssZ").
+<dt><b>$date-start</b>
+<dd style="margin-left: 5.0em">Inserts the starting date and time using the ISO-8601 format ("yyyy-mm-ddThh:mm:ssZ").
+<dt><b>$filename</b>
+<dd style="margin-left: 5.0em">Inserts the filename provided to
+<b>ipptool</b>(8)
+with the <i>-f</i> option.
+<dt><b>$filetype</b>
+<dd style="margin-left: 5.0em">Inserts the MIME media type for the filename provided to
+<b>ipptool</b>(8)
+with the <i>-f</i> option.
+<dt><b>$hostname</b>
+<dd style="margin-left: 5.0em">Inserts the hostname from the URI provided to
+<b>ipptool</b>(8).
+<dt><b>$job-id</b>
+<dd style="margin-left: 5.0em">Inserts the last "job-id" attribute value returned in a test response or 0 if no "job-id" attribute has been seen.
+<dt><b>$job-uri</b>
+<dd style="margin-left: 5.0em">Inserts the last "job-uri" attribute value returned in a test response or an empty string if no "job-uri" attribute has been seen.
+<dt><b>$notify-subscription-id</b>
+<dd style="margin-left: 5.0em">Inserts the last "notify-subscription-id" attribute value returned in a test response or 0 if no "notify-subscription-id" attribute has been seen.
+<dt><b>$port</b>
+<dd style="margin-left: 5.0em">Inserts the port number from the URI provided to
+<b>ipptool</b>(8).
+<dt><b>$resource</b>
+<dd style="margin-left: 5.0em">Inserts the resource path from the URI provided to
+<b>ipptool</b>(8).
+<dt><b>$scheme</b>
+<dd style="margin-left: 5.0em">Inserts the scheme from the URI provided to
+<b>ipptool</b>(8).
+<dt><b>$uri</b>
+<dd style="margin-left: 5.0em">Inserts the URI provided to
+<b>ipptool</b>(8).
+<dt><b>$uriuser</b>
+<dd style="margin-left: 5.0em">Inserts the username from the URI provided to
+<b>ipptool</b>(8),
+if any.
+<dt><b>$user</b>
+<dd style="margin-left: 5.0em">Inserts the current user's login name.
 </dl>
 <h2 class="title"><a name="SEE_ALSO">See Also</a></h2>
-<a href='man-ipptool.html?TOPIC=Man+Pages'>ipptool(1)</a>, RFC 2911,
-<br>
-<a href='http://localhost:631/help'>http://localhost:631/help</a>
-<br>
-<a href='http://www.iana.org/assignments/ipp-registrations'>http://www.iana.org/assignments/ipp-registrations</a>
-<br>
-<a href='http://www.pwg.org/ipp'>http://www.pwg.org/ipp</a>
+<b>ipptool</b>(1),
+IANA IPP Registry (<a href="http://www.iana.org/assignments/ipp-registrations)">http://www.iana.org/assignments/ipp-registrations)</a>,
+PWG Internet Printing Protocol Workgroup (<a href="http://www.pwg.org/ipp)">http://www.pwg.org/ipp)</a>,
+RFC 8011 (<a href="http://tools.ietf.org/html/rfc8011">http://tools.ietf.org/html/rfc8011</a>)
 <h2 class="title"><a name="COPYRIGHT">Copyright</a></h2>
-Copyright 2007-2014 by Apple Inc.
+Copyright &copy; 2007-2021 by Apple Inc.
 
 </body>
 </html>