attachment
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi there,<div class=""><br class=""></div><div class="">I'm reviewing some of the Linux Open Printing GSoC contributions, and one of them is a test suite for PWG 5100.7. In reviewing that, I came across how to test for the support of "document-charset". It seems awkward to me, and I wonder if there is an attribute design lesson here to be learned.</div><div class=""><br class=""></div><div class="">PWG 5100.7-2019 includes this:</div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class="">
<div class="page" title="Page 38">
<div class="layoutArea">
<div class="column"><p class=""><span style="font-size: 12.000000pt; font-family: 'Arial'; font-weight: 700" class="">5.5.1 document-charset-default (charset)
</span></p><p class=""><span style="font-size: 12.000000pt; font-family: 'ArialMT'" class="">This CONDITIONALLY REQUIRED attribute specifies the default charset that the Printer
will assume for charset-ambiguous Document formats when the Client </span><span style="font-size: 12.000000pt; font-family: 'ArialMT'" class="">omits the “document</span><span style="font-size: 12.000000pt; font-family: 'ArialMT'" class="">-
</span><span style="font-size: 12.000000pt; font-family: 'ArialMT'" class="">charset” </span><span style="font-size: 12.000000pt; font-family: 'ArialMT'" class="">operation attribute [PWG5100.5]. Printers that support the "document-charset"
operation attribute MUST support this attribute.
</span></p><p class=""><span style="font-size: 12.000000pt; font-family: 'Arial'; font-weight: 700" class="">5.5.2 document-charset-supported (1setOf charset)
</span></p><p class=""><span style="font-size: 12.000000pt; font-family: 'ArialMT'" class="">This CONDITIONALLY REQUIRED attribute lists the charsets that the Printer supports for
charset-ambiguous Document formats. Printers that support the "document-charset"
operation attribute [PWG5100.5] MUST support this attribute.</span></p></div></div></div></div></blockquote><div class="">And PWG 5100.5 has this:</div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class="">
<div class="page" title="Page 27">
<div class="section">
<div class="layoutArea">
<div class="column"><span style="font-family: Arial; font-size: 12pt; font-weight: 700;" class=""><br class=""></span></div><div class="column">
<span style="font-family: Arial; font-size: 12pt; font-weight: 700;" class="">6.4.1 document-charset (charset)</span><ol start="536" style="list-style-type: none" class="">
</ol>
</div>
</div>
<div class="layoutArea">
<div class="column">
<span style="font-size: 12pt; font-family: ArialMT;" class="">This RECOMMENDED operation attribute specifies the character set used by the Document </span><span style="font-family: ArialMT; font-size: 12pt;" class="">data. </span><ol start="538" style="list-style-type: none" class="">
</ol>
</div>
</div>
</div>
</div></blockquote><div class="">This is kind of a chicken-and-egg problem from a normative language / testability point of view. If the former two are CONDITIONALLY REQUIRED depending on whether the Printer supports the latter, how does one determine whether the Printer supports it? (Of course it is kind of a bummer that these are spread across two specs...). It seems to me that the document-charset-default and document-charset-supported should be RECOMMENDED and the document-charset should be CONDITIONALLY REQUIRED depending on whether the document-charset-default and document-charset-supported attributes are supported.</div><div class=""><br class=""></div><div class="">The more general design pattern or principle would be to mandate that the definitions of the Printer Description attribute(s) indicating attribute feature support to be the "primary" normative indicators.</div><div class=""><br class=""></div><div class="">(All that said, I am not sure we want to twiddle the normative language in 5100.5 / 5100.7 to resolve this. But now might be an opportune time to do so.) </div><div class=""><br class=""></div><div class=""><div class="">Smith<br class=""><br class="">/**<br class=""> Smith Kennedy<br class=""> HP Inc.<br class="">*/</div><br class=""></div></body></html>