211 lines
4.4 KiB
Plaintext
211 lines
4.4 KiB
Plaintext
|
head 1.7;
|
||
|
access;
|
||
|
symbols;
|
||
|
locks; strict;
|
||
|
comment @# @;
|
||
|
|
||
|
|
||
|
1.7
|
||
|
date 2009.11.25.03.14.34; author GarryJolleyRogers; state Exp;
|
||
|
branches;
|
||
|
next 1.6;
|
||
|
|
||
|
1.6
|
||
|
date 2009.11.20.02.45.26; author LeeBelbin; state Exp;
|
||
|
branches;
|
||
|
next 1.5;
|
||
|
|
||
|
1.5
|
||
|
date 2007.03.06.17.30.00; author TWikiGuest; state Exp;
|
||
|
branches;
|
||
|
next 1.4;
|
||
|
|
||
|
1.4
|
||
|
date 2006.10.20.15.51.30; author GregorHagedorn; state Exp;
|
||
|
branches;
|
||
|
next 1.3;
|
||
|
|
||
|
1.3
|
||
|
date 2006.10.06.02.56.49; author JacobAsiedu; state Exp;
|
||
|
branches;
|
||
|
next 1.2;
|
||
|
|
||
|
1.2
|
||
|
date 2006.10.06.02.36.04; author BobMorris; state Exp;
|
||
|
branches;
|
||
|
next 1.1;
|
||
|
|
||
|
1.1
|
||
|
date 2006.10.05.19.58.00; author JacobAsiedu; state Exp;
|
||
|
branches;
|
||
|
next ;
|
||
|
|
||
|
|
||
|
desc
|
||
|
@none
|
||
|
@
|
||
|
|
||
|
|
||
|
1.7
|
||
|
log
|
||
|
@none
|
||
|
@
|
||
|
text
|
||
|
@%META:TOPICINFO{author="GarryJolleyRogers" date="1259118874" format="1.1" version="1.7"}%
|
||
|
%META:TOPICPARENT{name="DiscussionFor1dot1RC2"}%
|
||
|
---+!! %TOPIC%
|
||
|
|
||
|
In SDD1.1RC2 the uniqueness constraint(<nop>CharacterStateKey) on <nop>StateDefinition's ensure's that global states cannot be referenced more than once within Characters in a Terminology. This is because of
|
||
|
<verbatim>
|
||
|
<xs:field xpath="@@id|@@ref"/>
|
||
|
</verbatim>
|
||
|
in the identity constraint declaration.
|
||
|
|
||
|
This issue is illustrated with the example below. Attempting to reference 'efg301' more than once results in a validation error.
|
||
|
<verbatim>
|
||
|
...
|
||
|
<ConceptStates>
|
||
|
<StateDefinition id="efg301">
|
||
|
<Representation>
|
||
|
<Label xml:lang="en" audience="efg2">brown</Label>
|
||
|
</Representation>
|
||
|
</StateDefinition>
|
||
|
....
|
||
|
<CategoricalCharacter id="efg458">
|
||
|
<Representation>
|
||
|
<Label xml:lang="en" audience="efg2">Flower Color</Label>
|
||
|
</Representation>
|
||
|
<States>
|
||
|
<StateReference ref="efg301"/>
|
||
|
</States>
|
||
|
</CategoricalCharacter>
|
||
|
<CategoricalCharacter id="efg459">
|
||
|
<Representation>
|
||
|
<Label xml:lang="en" audience="efg2">Leaf Color</Label>
|
||
|
</Representation>
|
||
|
<States>
|
||
|
<StateReference ref="efg301"/>
|
||
|
</States>
|
||
|
</CategoricalCharacter>
|
||
|
</verbatim>
|
||
|
|
||
|
A solution will be to declare both !ConceptStateKey and !CharacterStateKey as follows
|
||
|
<verbatim>
|
||
|
<xs:unique name="SomeUniqueName">
|
||
|
|
||
|
<xs:selector xpath=".//u:StateDefinition"/>
|
||
|
<xs:field xpath="@@id"/>
|
||
|
</xs:unique>
|
||
|
</verbatim>
|
||
|
|
||
|
This ensures that id's on <nop>StateDefinition's are unique throughout a document.
|
||
|
|
||
|
I have implemented this in BDI.SDD_.xsd at rev 39 of the Subversion trunk
|
||
|
|
||
|
-- Main.JacobAsiedu - 05 Oct 2006
|
||
|
|
||
|
The issue seems indeed to be a bug. I believe that the result should make sure that:
|
||
|
* concept state id-values are unique within the entire document (not only within a single concept).
|
||
|
* concept state references are unique within the scope of a single character. If the latter is truly difficult, we could drop the constraint.
|
||
|
|
||
|
Did we have any other intentions? I cannot remember.
|
||
|
|
||
|
At the moment I cannot follow your proposed solution - please check for me whether the constraint above are stated correctly, and whether your solution fullfills them.
|
||
|
|
||
|
Thanks!
|
||
|
|
||
|
-- Main.GregorHagedorn - 20 Oct 2006@
|
||
|
|
||
|
|
||
|
1.6
|
||
|
log
|
||
|
@none
|
||
|
@
|
||
|
text
|
||
|
@d1 1
|
||
|
a1 1
|
||
|
%META:TOPICINFO{author="LeeBelbin" date="1258685126" format="1.1" reprev="1.6" version="1.6"}%
|
||
|
d50 1
|
||
|
a50 1
|
||
|
I have implemented this in BDI.SDD.xsd at rev 39 of the Subversion trunk
|
||
|
d64 1
|
||
|
a64 1
|
||
|
-- Main.GregorHagedorn - 20 Oct 2006
|
||
|
@
|
||
|
|
||
|
|
||
|
1.5
|
||
|
log
|
||
|
@Added topic name via script
|
||
|
@
|
||
|
text
|
||
|
@d1 2
|
||
|
a4 2
|
||
|
%META:TOPICINFO{author="GregorHagedorn" date="1161359490" format="1.1" version="1.4"}%
|
||
|
%META:TOPICPARENT{name="DiscussionFor1dot1RC2"}%
|
||
|
d50 1
|
||
|
a50 1
|
||
|
I have implemented this in SDD.xsd at rev 39 of the Subversion trunk
|
||
|
d64 1
|
||
|
a64 1
|
||
|
-- Main.GregorHagedorn - 20 Oct 2006@
|
||
|
|
||
|
|
||
|
1.4
|
||
|
log
|
||
|
@none
|
||
|
@
|
||
|
text
|
||
|
@d1 2
|
||
|
@
|
||
|
|
||
|
|
||
|
1.3
|
||
|
log
|
||
|
@none
|
||
|
@
|
||
|
text
|
||
|
@d1 1
|
||
|
a1 1
|
||
|
%META:TOPICINFO{author="JacobAsiedu" date="1160103409" format="1.1" version="1.3"}%
|
||
|
d36 1
|
||
|
d48 7
|
||
|
d56 7
|
||
|
a62 2
|
||
|
I have implemented this in SDD.xsd at rev 39 of the Subversion trunk
|
||
|
-- Main.JacobAsiedu - 05 Oct 2006@
|
||
|
|
||
|
|
||
|
1.2
|
||
|
log
|
||
|
@none
|
||
|
@
|
||
|
text
|
||
|
@d1 1
|
||
|
a1 1
|
||
|
%META:TOPICINFO{author="BobMorris" date="1160102164" format="1.1" version="1.2"}%
|
||
|
d48 2
|
||
|
a49 2
|
||
|
|
||
|
-- Main.JacobAsiedu - 05 Oct 2006
|
||
|
@
|
||
|
|
||
|
|
||
|
1.1
|
||
|
log
|
||
|
@none
|
||
|
@
|
||
|
text
|
||
|
@d1 1
|
||
|
a1 1
|
||
|
%META:TOPICINFO{author="JacobAsiedu" date="1160078280" format="1.1" version="1.1"}%
|
||
|
d3 1
|
||
|
a3 1
|
||
|
The uniqueness constraint(<nop>CharacterStateKey) on <nop>StateDefinition's ensure's that global states cannot be referenced more than once within Characters in a Terminology. This is because of
|
||
|
d36 1
|
||
|
a36 1
|
||
|
A solution will be to declare both ConceptStateKey and CharacterStateKey as follows
|
||
|
a49 1
|
||
|
|
||
|
@
|