W3C home > Mailing lists > Public > xmlschema-dev@w3.org > December 2004

not a complete functional mapping - help

From: Lars Geldner <geldner.list.reg@gmx.net>
Date: Mon, 27 Dec 2004 23:53:34 +0100 (MET)
To: xmlschema-dev@w3.org
Message-ID: <4634.1104188014@www68.gmx.net>

Hello list,

I'm working for a few days on this problem:
I'm searching for a possibility to define a complex type that can only be
derived by restriction. The sub-complex type should have a content model
that only contains elements which have types that are a derivation of the
element types in the super-complex type.
For example here are two types that should be derived:

<xsd:element name="CurrKomp" abstract="true" type="CurrType"/>
<xsd:element name="DidaktKomp" abstract="true" type="DidaktType"/>
<xsd:complexType name="CurrType">
   <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element ref="CurrKomp" minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="DidaktKomp" minOccurs="0" maxOccurs="1"/>	          
<xsd:complexType name="DidaktType">
   <xsd:choice minOccurs="1" maxOccurs="unbounded">
      <xsd:element ref="DidaktKomp" minOccurs="0" maxOccurs="1"/>

In type "CurrType" the model is only one possibility. The goal is that
"CurrKomp" and "DidaktKomp" can appear in any order.
Now I want to restrict the two types:

<xsd:element name="KURS" substitutionGroup="CurrKomp" type="KURSType"/>
<xsd:element name="MODUL" substitutionGroup="CurrKomp" type="MODULType"/>
<xsd:element name="LERNZIEL" substitutionGroup="DidaktKomp" type="LZType"/>
<xsd:complexType name="KURSType">
      <xsd:restriction base="CurrType">
            <xsd:element ref="LERNZIEL"/>
            <xsd:choice maxOccurs="unbounded">                            
               <xsd:element ref="MODUL"/>
<xsd:complexType name="MODULType">
<!--no error-->
<xsd:complexType name="LZType">
       <xsd:restriction base="DidaktType"/>

Xerces says:
rcase-MapAndSum.1: There is not a complete functional mapping between the
particles. [30] 
derivation-ok-restriction.5.4.2: Error for type 'KURSType'. The particle of
the type is not a valid restriction of the particle of the base. [30] 

Why is KURSType not a valid restriction of CurrType?
If I remove the line
<xsd:element ref="LERNZIEL"/>
there are no errors.
I can't face it.
Can anybody help me defining a type that behaves like a meta-type pretending
all types in the content model?

Thanks in advance!!!

Lars Geldner 

Psssst! Mit GMX Handyrechnung senken: http://www.gmx.net/de/go/mail
100 FreeSMS/Monat (GMX TopMail), 50 (GMX ProMail), 10 (GMX FreeMail)
Received on Tuesday, 28 December 2004 01:25:22 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:56:07 UTC