Arvola, Thank you for helping me understand the issues. This design is elegant in that you nicely cover the gambit with two attributes, but perhaps it is difficult to understand because the flag attribute is dual-purpose. Sometimes flag provides a fixed value, sometimes it provides a default. This makes me a bit uneasy for two reasons: 1) if a value is a default, then for readability the attribute name ought to indicate such (for example, perMessageDefault ); and 2) without annotated documentation, this dual-purpose concept can not be expressed in a schema. There are at least two other alternatives: 1) <DuplicateElimination inForce= perMessage perMessageDefault= false /> 2) Use element presence for boolean conditions. For example: a) if duplicate elimination false: <DuplicateElimination> absent b) if duplicate elimination true: <DuplicationElimination> present c) if duplicate elimination perMessage: <DuplicateElimination perMessageDefault= true /> All 3 seem to me to have pros and cons. My preference is for alternative (1). My fellow hp developers prefer alternative (2). If you go with your original proposal, careful documentation may be important. Bruce ============================================ Bruce Pedretti Hewlett-Packard Company Software Developer 6000 Irwin Road (856) 638-6060 Mt. Laurel, NJ 08054
http://www.hp.com/ ============================================