[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] What does "optional" mean?
- From: John Cowan <cowan@mercury.ccil.org>
- To: "Costello, Roger L." <costello@mitre.org>
- Date: Sun, 26 Feb 2012 15:45:10 -0500
Costello, Roger L. scripsit:
> I've listed three possible meanings of "optional":
>
> -- In the first meaning, it indicates: of-lesser-importance.
>
> -- In the second meaning, it indicates: irrelevance.
>
> -- In the third meaning, it indicates: lack-of-knowledge.
In the subset of $EMPLOYER's schemas that I've worked on, known as the
entity schemas, each document represents the state of our knowledge
about a real-world object such as Barack Obama, the U.S. House of
Representatives, or William Kunstler. These documents would be
validated by the GovernmentOfficial, LegislativeBranch, and Attorney
schemas respectively. (Obama might also be represented by an Attorney
document, which would be a separate document but with the same unique
object ID assigned by us.)
There are three use cases for these documents, indicated by an attribute
on the root element: publish, identify, and discrepancy. In publish,
we are sending a customer everything we know. In identify, a customer
is sending us what he knows (for example, a name or an id) and we are
replying with what we know, hopefully a superset of it. In discrepancy,
a customer is sending us what he believes to be right, and we verify it
(manually, not by computer) and adjust the parts we have wrong.
To serve all these use cases, we use schemas in which every element
at every level is optional. In publish, we can only publish what we
have, from which anything (other than the unique object ID, also a
root-element attribute) might be missing. In identify, we cannot say
in advance exactly what information a customer might have that would
suffice for identification (not necessarily unique identification; the
customer might know only a surname, and then we send back all Person
documents with that surname). In discrepancy, we require our unique
object ID to be sent back, along with whatever subset of the information
is asserted to be wrong.
> So what does "optional" really mean?
For the entity schemas, it firmly means your third option, lack of
knowledge. However, in the content schemas which we use for actual
documents, like texts of laws, it means irrelevance: the schema may
allow for subsections, but the document may or may not have them.
--
Henry S. Thompson said, / "Syntactic, structural, John Cowan
Value constraints we / Express on the fly." cowan@ccil.org
Simon St. Laurent: "Your / Incomprehensible http://www.ccil.org/~cowan
Abracadabralike / schemas must die!"
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]