<div dir="ltr"><div class="gmail_signature" data-smartmail="gmail_signature">Dear colleagues,</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature"><div class="gmail_signature" data-smartmail="gmail_signature">Inspired by Caroline, I studied Annex H again. I</div><div class="gmail_signature" data-smartmail="gmail_signature">tried to be more thorough than before.</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">I propose to remove Annex H and introduce a new</div><div class="gmail_signature" data-smartmail="gmail_signature">informative Annex "Guidelines for Format Designers".</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">Here is my reasoning.</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">1) Annex H covers about 30% only</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">Let me demonstrate that Annex H only covers about 30%</div><div class="gmail_signature" data-smartmail="gmail_signature">of what it should cover.</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">I constructed KWIC indexes by applying the following</div><div class="gmail_signature" data-smartmail="gmail_signature">regular expression to the 2011 edition of OPC.</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">/(should|shall|may|might)/</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">There are 396 matches preceding Annex H.</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">But there are 120 entries of the form [Mx.xx] in the</div><div class="gmail_signature" data-smartmail="gmail_signature">2011 edition of OPC. A lot of requirements are simply</div><div class="gmail_signature" data-smartmail="gmail_signature">looked over in Annex H.</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">2) Requirements on format designers</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">There are 17 matches of</div><div class="gmail_signature" data-smartmail="gmail_signature">/[Ff]ormat designers? (should|shall|may|might)/.</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">I think that they should be put in a new informative</div><div class="gmail_signature" data-smartmail="gmail_signature">Aneex for "Guidelines for OPC-based formats". </div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">Specifications of such formats should provide</div><div class="gmail_signature" data-smartmail="gmail_signature">- a list of media types</div><div class="gmail_signature" data-smartmail="gmail_signature">- a list of relationship types</div><div class="gmail_signature" data-smartmail="gmail_signature">- restrictions on fragment identifiers and parameters for each media type</div><div class="gmail_signature" data-smartmail="gmail_signature">- additional requirements on processing</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">I think that such an annex is more useful than</div><div class="gmail_signature" data-smartmail="gmail_signature">Annex H.</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">3) Requirements on producers and package implementors</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">I believe that almost all of the requirements matching</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature"> /[Pp]roducers? (should|shall|may|might)/</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">should be rewritten as conformance requirements on</div><div class="gmail_signature" data-smartmail="gmail_signature">data. Data conformance requirements can be easily</div><div class="gmail_signature" data-smartmail="gmail_signature">checked and are thus much better than requirements on</div><div class="gmail_signature" data-smartmail="gmail_signature">producers. I believe that the latest draft has been</div><div class="gmail_signature" data-smartmail="gmail_signature">improved significantly about this.</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">I guess that quite a few requirements matching </div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature"> /[Pp]ackage [Ii]mplementers? (should|shall|may|might)/</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">should also be rewritten as data conformance requirements.</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">3) Unnecessary requirements on consumers</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">Among the 43 requirements on consumers, 23 of them are</div><div class="gmail_signature" data-smartmail="gmail_signature">of the from "consider ... error". However, "error" is</div><div class="gmail_signature" data-smartmail="gmail_signature">never defined in 29500-2.</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">Q1: Are consumers required to report errors?</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">I don't think so, since user would be at a loss. Or,</div><div class="gmail_signature" data-smartmail="gmail_signature">do OPC libraries of Microsoft use Mx.XX as error</div><div class="gmail_signature" data-smartmail="gmail_signature">numbers? If so, please let me know.</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">Q2: Are consumers required to stop normal processing?</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">I don't think so, since MS Word tries to recover from</div><div class="gmail_signature" data-smartmail="gmail_signature">errors in many cases.</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">If consumers are allowed to do anything when there is</div><div class="gmail_signature" data-smartmail="gmail_signature">an error, all requirements of the form "consumer</div><div class="gmail_signature" data-smartmail="gmail_signature">... consider ... error" are useless and can be safely</div><div class="gmail_signature" data-smartmail="gmail_signature">dropped.</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">There are 20 other requirements on consumers. I took</div><div class="gmail_signature" data-smartmail="gmail_signature">a quick look at them. I think that most of them can</div><div class="gmail_signature" data-smartmail="gmail_signature">be reworded as data semantics. But there might be</div><div class="gmail_signature" data-smartmail="gmail_signature">some special cases. In particular, we might want to</div><div class="gmail_signature" data-smartmail="gmail_signature">differences between OPC digital signature validation</div><div class="gmail_signature" data-smartmail="gmail_signature">and XML Dsig validation. This needs further work.</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">Appendix: Query regular expressions and results</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">All results are available at</div><div class="gmail_signature" data-smartmail="gmail_signature"><a href="https://www.assembla.com/spaces/IS29500/documents?folder=80101133">https://www.assembla.com/spaces/IS29500/documents?folder=80101133</a></div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">1) All requirements</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">/(should|shall|may|might)/</div><div class="gmail_signature" data-smartmail="gmail_signature">397 matches</div><div class="gmail_signature" data-smartmail="gmail_signature">modalVerb.tsv and modalVerb.txt</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">2) Requirements on format designers</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">/[Ff]ormat designers? (should|shall|may|might)/</div><div class="gmail_signature" data-smartmail="gmail_signature">17 matches</div><div class="gmail_signature" data-smartmail="gmail_signature">formatDesigner.tsv and formatDesigner.txt</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">3) Requirements on package implementors</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">/[Pp]ackage [Ii]mplementers? (should|shall|may|might)/</div><div class="gmail_signature" data-smartmail="gmail_signature">136 matches</div><div class="gmail_signature" data-smartmail="gmail_signature">packageImplementor.tsv and packageImplementor.txt</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">4) Requirements on producers</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">/[Pp]roducers? (should|shall|may|might)/</div><div class="gmail_signature" data-smartmail="gmail_signature">43 matches</div><div class="gmail_signature" data-smartmail="gmail_signature">producer.tsv and producer.txt</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">5) Requirements on consumers</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">/[Cc]onsumers? (should|shall|may|might)/</div><div class="gmail_signature" data-smartmail="gmail_signature">43 matchese</div><div class="gmail_signature" data-smartmail="gmail_signature">consumer.tsv and consumer.txt</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">6) ... consider ... error</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">consider NEAR error</div><div class="gmail_signature" data-smartmail="gmail_signature">22 matches</div><div class="gmail_signature" data-smartmail="gmail_signature">considerError.tsv and considerError.txt</div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature"><br></div><div class="gmail_signature" data-smartmail="gmail_signature">Regards,</div>Makoto</div>
</div>