附属書A プロトコル例

A.1 Print-Job要求

表A.1に,ジョブ名,コピー部数及び両面片面の指定をもつPrint-Job要求の例を示す。 "ipp-attribute-fidelity"属性は,'true'に設定されている。その結果として,"copies"属性若しくは"sides"属性がサポートされない場合,又はそれらの値がサポートされない場合,印刷要求は,失敗する。

表A.1 Print-Job要求

オクテット シンボル値 プロトコルフィールド
0x0101 1.1 version-number
0x0002 Print-Job operation-id
0x00000001 1 request-id
0x01 start operation-attributes operation-attributes-tag
0x47 charset type value-tag
0x0012   name-length
attributes-charset attributes-charset name
0x0008   value-length
us-ascii US-ASCII value
0x48 natural-language type value-tag
0x001B   name-length
attributes-natural-language attributes-natural-language name
0x0005   value-length
en-us en-US value
0x45 uri type value-tag
0x000B   name-length
printer-uri printer-uri name
0x0015   value-length
ipp://forest/pinetree printer pinetree value
0x42 nameWithoutLanguage type value-tag
0x0008   name-length
job-name job-name name
0x0006   value-length
foobar foobar value
0x22 boolean type value-tag
0x0016   name-length
ipp-attribute-fidelity ipp-attribute-fidelity name
0x0001   value-length
0x01 true value
0x02 start job-attributes job-attributes-tag
0x21 integer type value-tag
0x0006   name-length
copies copies name
0x0004   value-length
0x00000014 20 value
0x44 keyword type value-tag
0x0005   name-length
sides sides name
0x0013   value-length
two-sided-long-edge two-sided-long-edge value
0x03 end-of-attributes end-of-attributes-tag
%!PS...   data

A.2 Print-Job応答(成功)

表A.2に,A.1のPrint-Job要求への成功したPrint-Job応答の例を示す。プリンタは,"copies"属性及び"sides"属性,並びにそれらの提供する値をサポートする。返却される状態コードは,'successful-ok'である。

表A.2 Print-Job応答(成功)

オクテット シンボル値 プロトコルフィールド
0x0101 1.1 version-number
0x0000 successful-ok status-code
0x00000001 1 request-id
0x01 start operation-attributes operation-attributes-tag
0x47 charset type value-tag
0x0012   name-length
attributes-charset attributes-charset name
0x0008   value-length
us-ascii US-ASCII value
0x48 natural-language type value-tag
0x001B   name-length
attributes-natural-language attributes-natural-language name
0x0005   value-length
en-us en-US value
0x41 textWithoutLanguage type value-tag
0x000E   name-length
status-message status-message name
0x000D   value-length
successful-ok successful-ok value
0x02 start job-attributes job-attributes-tag
0x21 integer value-tag
0x0006   name-length
job-id job-id name
0x0004   value-length
147 147 value
0x45 uri type value-tag
0x0007   name-length
job-uri job-uri name
0x0019   value-length
ipp://forest/pinetree/123 job 123 on pinetree value
0x23 nameWithoutLanguage type value-tag
0x0009   name-length
job-state job-state name
0x0004   value-length
0x0003 pending value
0x03 end-of-attributes end-of-attributes-tag

A.3 Print-Job応答(失敗)

表A.3に,A.1のPrint-Job要求への失敗したPrint-Job応答の例を示す。この失敗は,プリンタが"sides"属性をサポートしてなく,"copies"属性の値'20'をサポートしていないことによる。したがって,ジョブは生成されないだけでなく,"job-id"操作属性も"job-uri"操作属性も返されない。返されるエラーコードは,'client-error-attributes-or-values-not-supported' (0x040B)である。

表A.3 Print-Job応答(失敗)

オクテット シンボル値 プロトコルフィールド
0x0101 1.1 version-number
0x040B client-error-attributes-or-values-not-supported status-code
0x00000001 1 request-id
0x01 start operation-attributes operation-attribute tag
0x47 charset type value-tag
0x0012   name-length
attributes-charset attributes-charset name
0x0008   value-length
us-ascii US-ASCII value
0x48 natural-language type value-tag
0x001B   name-length
attributes-natural-language attributes-natural-language name
0x0005   value-length
en-us en-US value
0x41 textWithoutLanguage type value-tag
0x000E   name-length
status-message status-message name
0x002F   value-length
client-error-attributes-or-values-not-supported client-error-attributes-or-values-not-supported value
0x05 start unsupported-attributes unsupported-attributes tag
0x21 integer type value-tag
0x0006   name-length
copies copies name
0x0004   value-length
0x00000014 20 value
0x10 unsupported (type) value-tag
0x0005   name-length
sides sides name
0x0000   value-length
0x03 end-of-attributes end-of-attributes-tag

A.4 Print-Job応答(属性無視を用いた成功)

表A.4に,'ipp-attribute-fidelity'の値が'false'であることを除いて,A.1のPrint-Job要求と類似した要求への成功したPrint-Job応答の例を示す。この印刷要求は,この場合には,プリンタが"sides"属性も"copies"属性に対する値'20'もサポートしていないにも拘わらず,成功する。したがって,ジョブが生成され,"job-id"操作属性及び"job-uri"操作属性の両方が返される。未サポート属性も,Unsupported Attributes Groupに返される。返されるエラーコードは,'successful-ok-ignored-or-substituted-attributes' (0x0001)である。

表A.4 Print-Job応答(属性無視を用いた成功)

オクテット シンボル値 プロトコルフィールド
0x0101 1.1 version-number
0x0001 successful-ok-ignored-or-substituted-attributes status-code
0x00000001 1 request-id
0x01 start operation-attributes operation-attributes-tag
0x47 charset type value-tag
0x0012   name-length
attributes-charset attributes-charset name
0x0008   value-length
us-ascii US-ASCII value
0x48 natural-language type value-tag
0x001B   name-length
attributes-natural-language attributes-natural-language name
0x0005   value-length
en-us en-US value
0x41 textWithoutLanguage type value-tag
0x000E   name-length
status-message status-message name
0x002F   value-length
successful-ok-ignored-or-substituted-attributes successful-ok-ignored-or-substituted-attributes value
0x05 start unsupported-attributes unsupported-attributes tag
0x21 integer type value-tag
0x0006   name-length
copies copies name
0x0004   value-length
0x00000014 20 value
0x10 unsupported (type) value-tag
0x0005   name-length
sides sides name
0x0000   value-length
0x02 start job-attributes job-attributes-tag
0x21 integer value-tag
0x0006   name-length
job-id job-id name
0x0004   value-length
147 147 value
0x45 uri type
0x0007   name-length
job-uri job-uri name
0x0019   value-length
ipp://forest/pinetree/123 job 123 on pinetree value
0x23 enum type value-tag
0x0009   name-length
job-state job-state name
0x0004   value-length
0x0003 pending value
0x03 end-of-attributes end-of-attributes-tag

A.5 Print-URI要求

表A.5に,コピー部数及びジョブ名のパラメタをもつPrint-URI要求の例を示す。

表A.5 Print-URI要求

オクテット シンボル値 プロトコルフィールド
0x0101 1.1 version-number
0x0003 Print-URI operation-id
0x00000001 1 request-id
0x01 start operation-attributes operation-attributes-tag
0x47 charset type value-tag
0x0012   name-length
attributes-charset attributes-charset name
0x0008   value-length
us-ascii US-ASCII value
0x48 natural-language type value-tag
0x001B   name-length
attributes-natural-language attributes-natural-language name
0x0005   value-length
en-us en-US value
0x45 uri type value-tag
0x000B   name-length
printer-uri printer-uri name
0x0015   value-length
ipp://forest/pinetree printer pinetree value
0x45 uri type value-tag
0x000C   name-length
document-uri document-uri name
0x0011   value-length
ftp://foo.com/foo ftp://foo.com/foo value
0x42 nameWithoutLanguage type value-tag
0x0008   name-length
job-name job-name name
0x0006   value-length
foobar foobar value
0x02 start job-attributes job-attributes-tag
0x21 integer type value-tag
0x0006   name-length
copies copies name
0x0004   value-length
0x00000001 1 value
0x03 end-of-attributes end-of-attributes-tag

A.6 Create-Job要求

表A.6に,パラメタも属性ももたないCreate-Job要求の例を示す。

表A.6 Create-Job要求

オクテット シンボル値 プロトコルフィールド
0x0101 1.1 version-number
0x0005 Create-Job operation-id
0x00000001 1 request-id
0x01 start operation-attributes operation-attributes-tag
0x47 charset type value-tag
0x0012   name-length
attributes-charset attributes-charset name
0x0008   value-length
us-ascii US-ASCII value
0x48 natural-language type value-tag
0x001B   name-length
attributes-natural-language attributes-natural-language name
0x0005   value-length
en-us en-US value
0x45 uri type value-tag
0x000B   name-length
printer-uri printer-uri name
0x0015   value-length
ipp://forest/pinetree printer pinetree value
0x03 end-of-attributes end-of-attributes-tag

A.7 Get-Jobs要求

表A.7に,パラメタをもつが属性をもたないGet-Jobs要求の例を示す。

表A.7 Get-Jobs要求

オクテット シンボル値 プロトコルフィールド
0x0101 1.1 version-number
0x000A Get-Jobs operation-id
0x00000123 0x123 request-id
0x01 start operation-attributes operation-attributes-tag
0x47 charset type value-tag
0x0012   name-length
attributes-charset attributes-charset name
0x0008   value-length
us-ascii US-ASCII value
0x48 natural-language type value-tag
0x001B   name-length
attributes-natural-language attributes-natural-language name
0x0005   value-length
en-us en-US value
0x45 uri type value-tag
0x000B   name-length
printer-uri printer-uri name
0x0015   value-length
ipp://forest/pinetree printer pinetree value
0x21 integer type value-tag
0x0005   name-length
limit limit name
0x0004   value-length
0x00000032 50 value
0x44 keyword type value-tag
0x0014   name-length
requested-attributes requested-attributes name
0x0006   value-length
job-id job-id value
0x44 keyword type value-tag
0x0000> additional value name-length
0x0008   value-length
job-name job-name value
0x44 keyword type value-tag
0x0000 additional value name-length
0x000F   value-length
document-format document-format value
0x03 end-of-attributes end-of-attributes-tag

A.8 Get-Jobs応答

表A.8に,三つのジョブをもつ要求からのGet-Jobs応答の例を示す。プリンタは,2番目のジョブについて(セキュリティ上の理由で)情報を返さない。

表A.8 Get-Jobs応答

オクテット シンボル値 プロトコルフィールド
0x0101 1.1 version-number
0x0000 successful-ok status-code
0x00000123 0x123 request-id (echoed back)
0x01 start operation-attributes operation-attribute-tag
0x47 charset type value-tag
0x0012   name-length
attributes-charset attributes-charset name
0x000A   value-length
ISO-8859-1 ISO-8859-1 value
0x48 natural-language type value-tag
0x001B   name-length
attributes-natural-language attributes-natural-language name
0x0005  : value-length
en-us en-US value
0x41 textWithoutLanguage type value-tag
0x000E   name-length
status-message status-message name
0x000D   value-length
successful-ok successful-ok value
0x02 start job-attributes (1st object) job-attributes-tag
0x21 integer type value-tag
0x0006   name-length
job-id job-id name
0x0004   value-length
147 147 value
0x36 nameWithoutLanguage value-tag
0x0008   name-length
job-name job-name name
0x000C   value-length
0x0005   sub-value-length
fr-ca fr-CA value
0x0003   name-length
fou fou name
0x02 start job-attributes (2nd object) job-attributes-tag
0x02 start job-attributes (3rd object) job-attributes-tag
0x21 integer type value-tag
0x0006   name-length
job-id job-id name
0x0004   value-length
148 148 value
0x36 nameWithLanguage value-tag
0x0008  : name-length
job-name job-name name
0x0012   value-length
0x0005   sub-value-length
de-CH de-CH value
0x0009   sub-value-length
isch guet isch guet name
0x03 end-of-attributes end-of-attributes-tag