wiki-archive/twiki/data/TAPIR/ProposedChangesToOutputMode...

253 lines
5.6 KiB
Plaintext

head 1.7;
access;
symbols;
locks; strict;
comment @# @;
1.7
date 2007.01.09.00.00.00; author MoinMoin; state Exp;
branches;
next 1.6;
1.6
date 2007.01.09.00.00.00; author MoinMoin; state Exp;
branches;
next 1.5;
1.5
date 2007.01.09.00.00.00; author MoinMoin; state Exp;
branches;
next 1.4;
1.4
date 2007.01.09.00.00.00; author MoinMoin; state Exp;
branches;
next 1.3;
1.3
date 2007.01.09.00.00.00; author MoinMoin; state Exp;
branches;
next 1.2;
1.2
date 2007.01.09.00.00.00; author MoinMoin; state Exp;
branches;
next 1.1;
1.1
date 2007.01.09.00.00.00; author MoinMoin; state Exp;
branches;
next ;
desc
@Initial revision
@
1.7
log
@Revision 7
@
text
@Currently, output model mapping uses the following piece of XML Schema:
<verbatim>
<xsd:element name="mapping">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="node" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element ref="concept"/>
<xsd:element ref="literal"/>
<xsd:element ref="variable"/>
</xsd:choice>
<xsd:attribute name="path" type="simpleXPathType" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="automapping" type="xsd:boolean" use="optional" default="false"/>
</xsd:complexType>
</xsd:element>
</verbatim>
The suggested changes would require this new schema:
<verbatim>
<xsd:element name="mapping">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="node" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element ref="interrelatableClass"/>
<xsd:element ref="property"/>
<xsd:element ref="literal"/>
<xsd:element ref="variable"/>
</xsd:choice>
<xsd:attribute name="path" type="simpleXPathType" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</verbatim>
Where the new element references are defined as:
<verbatim>
<xsd:element name="property" type="propertyType" substitutionGroup="simpleExpression"/>
<xsd:complexType name="propertyType">
<xsd:complexContent>
<xsd:extension base="qualifiedConceptReferenceType">
<xsd:attribute name="class" type="xsd:String" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="class" type="classType"/>
<xsd:complexType name="classType">
<xsd:complexContent>
<xsd:extension base="qualifiedConceptReferenceType">
<xsd:attribute name="alias" type="xsd:String" use="optional"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="interrelatableClass" type="interrelatableClassType" ProposedChangesToOutputModelMapping>
<xsd:complexType name="interrelatableClassType">
<xsd:complexContent>
<xsd:extension base="classType">
<xsd:sequence>
<xsd:element ref="relationshipLink" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="relationshipLink" type="relationshipLinkType" ProposedChangesToOutputModelMapping>
<xsd:complexType name="relationshipLinkType">
<xsd:complexContent>
<xsd:extension base="qualifiedConceptReferenceType">
<xsd:sequence>
<xsd:element ref="interrelatableClass" minOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="myRole" type="xsd:String" use="required"/>
<xsd:attribute name="othersRole" type="xsd:String" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</verbatim>
Notes:
* The substitutionGroup attribute in the property element is related to its use in filters.
* The class element is not directly used by the output model mapping, but it's a convenient definition that can be used by other parts of the protocol.
@
1.6
log
@Revision 6
@
text
@d58 10
d72 1
a72 1
<xsd:extension base="qualifiedConceptReferenceType">
d74 1
a74 1
<xsd:element ref="relationship" maxOccurs="unbounded"/>
a75 1
<xsd:attribute name="alias" type="xsd:String" use="optional"/>
d80 1
a80 1
<xsd:element name="relationship" type="relationshipType" ProposedChangesToOutputModelMapping>
d82 1
a82 1
<xsd:complexType name="relationshipType">
d96 4
a99 1
Note: the substitutionGroup attribute in the property element is related to its use in filters.
@
1.5
log
@Revision 5
@
text
@d48 1
a48 1
<xsd:element name="property" type="propertyType" ProposedChangesToOutputModelMapping>
d86 2
@
1.4
log
@Revision 4
@
text
@d45 1
a45 1
Where the element references are defined as:
@
1.3
log
@Revision 3
@
text
@d77 1
a77 1
<xsd:element ref="interrelatableClass"/>
@
1.2
log
@Revision 2
@
text
@d51 5
a55 3
<xsd:extension base="qualifiedConceptReferenceType">
<xsd:attribute name="class" type="xsd:String" use="required"/>
</xsd:extension>
d61 8
a68 6
<xsd:extension base="qualifiedConceptReferenceType">
<xsd:sequence>
<xsd:element ref="relationship" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="alias" type="xsd:String" use="optional"/>
</xsd:extension>
d74 9
a82 7
<xsd:extension base="qualifiedConceptReferenceType">
<xsd:sequence>
<xsd:element ref="interrelatableClass"/>
</xsd:sequence>
<xsd:attribute name="myRole" type="xsd:String" use="required"/>
<xsd:attribute name="othersRole" type="xsd:String" use="required"/>
</xsd:extension>
@
1.1
log
@Initial revision
@
text
@d44 36
@