Michael's comment on the difference between constraints on a document and constraints over a system is acute, but I think it puts the cart before the horse: people are forced to represent their information as a single document because that is the artificial boundary of common schema languages, not the other way around.
They are not web languages, as such. They come from a pre-URL, pre-xml-in-zip mentality, suited for Unix pipes. On the web, it should be more natural to spread our data around, to have chunks available from URLs rather than big fat documents.
Technical constraints that cannot be traced to business requirements are often an extra cost or source if complexity or hindrance or inagility or risk. A schema language that can test constraints beyond the boundaries of the single document forces an extra technical constraint on the documents that cannot be traced to a business requirement. By the time this seeps downtown developers consciousness, it is perceived as xml not being a good fit, being too hard. It inhibits integrity checking, QA, QC, validation and verification: it retards the progress of the web by excluding webs of data from the sweet spot in favour of single large documents.
Rick
A quick google for "XML Constraint Specification Language" first found this:
http://www.clei.cl/cleiej/papers/v6i1p3.pdf
which is yet another attempt to define constraints on document instances, that is, a schema language. But I think you are looking for something different; a vocabulary for describing constraints in systems, not in documents. Something more like the language here:
http://eprints.eemcs.utwente.nl/10681/01/Meyer_Weigand_Wieringa_-_A_specification_language_for_static,_dynamic_and_deontic_integrity_constraints.pdf
I think you'll find this stuff in the literature on knowledge bases, expert systems, constraint-based programming etc.
Once you find a constraint language that has the kind of capabilities you are after, re-expressing it in XML syntax should be a mechanical exercise.
Michael Kay
Saxonica
On 10 Dec 2013, at 14:59, Costello, Roger L. <costello@mitre.org> wrote:
> Hi Folks,
>
> When I fly from Boston to Washington D.C. on Southwest airlines, I sure hope the airlines have coordinated with each other and there isn't, say, a United airplane that will be at the same route point at the same time as my Southwest airplane.
>
> Identifying conflicts is important.
>
> My example is one of identifying conflicts among geometric shapes: we can represent the route of the Southwest airplane as a set of shapes (cylinders, spheres, points, etc.) and we can similarly represent the route of the United airplane. Then we can do some math and determine if there are any conflicts among the shapes.
>
> 3-D shapes are not the only things that can have conflicts. Suppose Southwest has an airplane available from 0800 to 1600 on Friday and someone needs an airplane on Friday between 1000 to 1300. That's an example of a conflict: is there an overlap between an airplane's availability and the need for an airplane. However, unlike the previous example, there are no geometric shapes involved in identifying this conflict. (Also, in this example conflict is a desired thing whereas in the previous example conflict is an undesired thing.)
>
> So the two examples seem to be quite different: the first involves identifying conflicts among geometric shapes and the second involves identifying conflicts among resource availability and resource need.
>
> But surely there is a common thread that ties them together? After all, they both involve identifying conflicts. So what is the common thread that ties them together?
>
> ...... I have learned that what I describe above are instances of Constraint Satisfaction Problems (CSP).
>
> So, I would like to express my constraints in XML and feed the XML into a CSP tool. Has anyone created an XML vocabulary for expressing constraints?
>
> Thanks!
>
> /Roger
>
> _______________________________________________________________________
>
> XML-DEV is a publicly archived, unmoderated list hosted by OASIS
> to support XML implementation and development. To minimize
> spam in the archives, you must subscribe before posting.
>
> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
> subscribe: xml-dev-subscribe@lists.xml.org
> List archive: http://lists.xml.org/archives/xml-dev/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
_______________________________________________________________________
XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.
[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
subscribe: xml-dev-subscribe@lists.xml.org
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php