Comments: New version of TMCL specification, 2.2
Dmitry <[email protected]> Thu, 28 Oct 2004 19:41:07 -0400
| Newsgroups | gmane.text.xml.xtm.tmcl |
|---|---|
| Message-ID | <[email protected]> |
On Oct 27, 2004, at 9:03 AM, Lars Marius Garshol wrote: > > 2.2: NOTE 1: Robert Barta's AsTMa! can be used to filter topic maps so > that only the constructs that would be valid according to the schema > are included in the output. I think this is a really valuable > function, and it would be nice if TMCL could specify this as an > alternative way to apply the TMCL schema. > Thanks for comments! I think it is an interesting use case, but it is out of scope of 2.2. We try to define basic operation (operator) "validate" in 2.2 with well defined result. Purpose of ConflictItem is to provide reference to elements which are reason for a conflict (when it is possible to identify these elements). "Filtering" sounds for me as an example of conflict resolution strategy. But not all conflicts can be resolved this way. For example, let's say that we have a constraint: "Each type topic should have not more than 7 sub types". I am not sure that idea of filtering works well in this case. I also think that in general conflict resolution is a non monotonic operation in a sense that conflict state can be resolved by moving to various (often mutually inconsistent) states. TMCL-Rule allows also do define DiagnosticItem which can be used to provide advice about different conflict resolution strategies. There is BTW missing piece now in TM-Schema - explanation of how it generates ConflictItem and NotificationItem in consistent with TMCL-Rule manner. In real life I am thinking about some "software wizards" (implemented as operators on top of basic "validate" operator) which help users to analyze and resolve conflicts and try different conflict resolution strategies. What I think is missing now in 2.2 is a more general definition of validate operator which can handle following use cases: 1) Schema is attached to topic map. Operator validates against internal schema. (and for attached schemas we have well defined schema merging process) 2) We allow do specify external schema in validate operator 3) We allow some combination of external schemas such as (SC1 and SC2) or SC3 in validate operator Dmitry