Hello,

I am still looking for a solution, did you have a chance to look at
the schema, is it more an xsi:type issue or an Abstract type issue?
Actually I am not sure I can make the difference, and in any case I
don't know what to do...

Sorry to bother you with my questions...

Cheers,
Frederic

2007/4/2, Fr?d?ric Boone <fredboone at googlemail.com>:
> Ok maybe it's a problem related to xsi:type. Sorry I am not really an
> expert in schemas and it's sometimes hard for me to catch all the
> subtellities.
>
> Here is the schema:
>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
>         elementFormDefault="qualified" targetNamespace="astromodelns"
>         xmlns="astromodelns">
>
>
>         <xs:annotation>
>                 <xs:documentation xml:lang="en">
>                         Author: Frederic Boone Copyright 2005 MPIfR
> and Observatoire
>                         de Paris All rights reserved.
>                 </xs:documentation>
>                 <xs:appinfo>
>
>                 </xs:appinfo>
>
>         </xs:annotation>
>
>         <!-- includes -->
>         <xs:include schemaLocation="general.xsd" />
>         <xs:include schemaLocation="params.xsd" />
>         <xs:include schemaLocation="data.xsd" />
>
>
>         <xs:element name="comment" type="xs:string" />
>
>         <xs:element name="astroModelSchema" type="AstroModelSchemaType" />
>
>         <xs:complexType name="AstroModelSchemaType">
>                 <xs:sequence>
>                         <xs:element name="title" type="xs:string" />
>                         <xs:element name="general" type="General" />
>                         <xs:element name="algorithmParameters"
>                                 type="AlgorithmParameters" minOccurs="0" />
>                         <xs:element name="dataSection"
> type="DataSectionType"
>                                 minOccurs="0" />
>                         <xs:element name="distantParametersRequired"
>                                 type="DistantParametersRequired"
> minOccurs="0" maxOccurs="1
> 0"/>
>
>                         <xs:element name="parametersAttachedToDistantData"
>                                 type="ParametersAttachedToDistantData"
> minOccurs="0" maxOcc
> urs="unbounded"/>
>
>                         <xs:element name="section" type="SectionType"
> minOccurs="1"
>                                 maxOccurs="10" />
>                         <xs:element ref="comment" minOccurs="0" />
>                 </xs:sequence>
>         </xs:complexType>
>
>         <xs:simpleType name="DistantParametersRequired">
>                 <xs:restriction base="xs:string">
>                         <xs:enumeration value="Spectroscopic" />
>                         <xs:enumeration value="Other" />
>                 </xs:restriction>
>         </xs:simpleType>
>
>         <xs:complexType name="ParametersAttachedToDistantData">
>                 <xs:sequence>
>                         <xs:element name="title" type="xs:string" />
>                     <xs:element name="distantDataType"
> type="DistantDataType"/>
>                     <xs:element name="param" type="ParamType" minOccurs="1"
>                                 maxOccurs="unbounded" />
>                 </xs:sequence>
>         </xs:complexType>
>
>         <xs:simpleType name="DistantDataType">
>                 <xs:restriction base="xs:string">
>                         <xs:enumeration value="ChemicalSpecies" />
>                         <xs:enumeration value="SpectralTransitions" />
>                 </xs:restriction>
>         </xs:simpleType>
>
>         <xs:complexType name="AlgorithmParameters">
>                 <xs:sequence>
>                         <xs:element name="Section" type="SectionType"/>
>                         <xs:element ref="comment" minOccurs="0" />
>                 </xs:sequence>
>         </xs:complexType>
>
>
>
>         <xs:complexType name="SectionType">
>                 <xs:sequence>
>                         <xs:element name="title" type="xs:string" />
>                         <xs:element name="subSection" type="SubSectionType"
>                                 minOccurs="1" maxOccurs="10" />
>                         <xs:element ref="comment" minOccurs="0" />
>                 </xs:sequence>
>         </xs:complexType>
>
>
>         <xs:complexType name="SubSectionType">
>                 <xs:sequence>
>                         <xs:element name="title" type="xs:string" />
>                         <xs:choice minOccurs="1" maxOccurs="unbounded">
>                                 <xs:element name="choiceTree"
> type="ChoiceTreeType" />
>                                 <xs:element name="partable" type="TableType"
> />
>                                 <xs:element name="param" type="ParamType"
> />
>                         </xs:choice>
>                         <xs:element ref="comment" minOccurs="0" />
>                 </xs:sequence>
>         </xs:complexType>
>
>
>         <xs:complexType name="ChoiceTreeType">
>                 <xs:sequence>
>                         <xs:element name="name" type="xs:string" />
>                         <xs:element name="varName" type="xs:string" />
>                         <xs:element name="unit" type="xs:string"
> minOccurs="0" />
>                         <xs:element name="description" type="xs:string" />
>                         <xs:element name="choiceGroup"
> type="ChoiceGroupType"
>                                 minOccurs="2" maxOccurs="unbounded" />
>                         <xs:element ref="comment" minOccurs="0" />
>                 </xs:sequence>
>                 <xs:attribute name="defaultchoice" type="xs:int" default="0"
> />
>         </xs:complexType>
>
>         <xs:complexType name="ChoiceGroupType">
>                 <xs:sequence>
>                         <xs:element name="choiceval" type="xs:string" />
>                         <xs:element name="param" type="ParamType"
> minOccurs="0"
>                                 maxOccurs="unbounded" />
>                         <xs:element ref="comment" minOccurs="0" />
>                 </xs:sequence>
>                 <xs:attribute name="implemented" type="xs:boolean"
>                         default="true" />
>         </xs:complexType>
>
>
>         <xs:complexType name="TableType">
>                 <xs:sequence>
>                         <xs:element name="name" type="xs:string" />
>                         <xs:element name="description" type="xs:string" />
>                         <xs:element name="ncolVarName" type="xs:string" />
>                         <xs:element name="colName" type="xs:string" />
>                         <xs:element name="param" type="ParamType"
> minOccurs="1"
>                                 maxOccurs="unbounded" />
>                         <xs:element ref="comment" minOccurs="0" />
>                 </xs:sequence>
>                 <xs:attribute name="wrt_1st" type="xs:boolean"
> default="true" />
>                 <xs:attribute name="allowfunc" type="xs:boolean"
>                         default="false" />
>         </xs:complexType>
>
>
> </xs:schema>
>
>
> 2007/4/2, Hussein Shafie <hussein at xmlmind.com>:
> > Remainder: in my answer, I assume that you are not talking about setting
> > the "xsi:type" attribute of an element.
> >
> >
> >
> > Fr?d?ric Boone wrote:
> > > In fact with the replace button I have access to the abstract type
> > > itself but not to the extensions, ideally I would like to see the
> > > abstract type, only its extensions.
> >
> > The menu displayed by the "Replace" button is automatically built based
> > on the content model you have specified in your schema. That is, it
> > faithfully reflects the reality of your schema. If you are not satisfied
> > with what you see, then the problem lies in your schema.
> >
> >
> >
> > > Maybe my schema is special, I copy
> > > below the part of the schema (in fact it's made of several xsd) that
> > > contains the abstract type ParamType and all its extensions:
> > >
> > > <xs:schema
> > >        xmlns:xs="http://www.w3.org/2001/XMLSchema";
> > >        elementFormDefault="qualified"
> > >        targetNamespace="astromodelns"
> > >        xmlns="astromodelns">
> > >
> > >  <xs:annotation>
> > >    <xs:documentation xml:lang="en">
> > >      Parameters for AstroModelSchemas
> > >      Author: Frederic Boone
> > >      Copyright 2005 All rights reserved.
> > >    </xs:documentation>
> > >  </xs:annotation>
> > >
> > >
> > >  <xs:complexType name="ParamType" abstract="true">
> > >     <xs:sequence>
> > >       <xs:element name="name" type="xs:string"/>
> > >       <xs:element name="varName" type="xs:string"/>
> > >       <xs:element name="unit" type="xs:string"/>
> > >       <xs:element name="description" type="xs:string"/>
> > >     </xs:sequence>
> > >  </xs:complexType>
> > >
> > >  <xs:complexType name="ParamFloat">
> > >    <xs:complexContent>
> > >      <xs:extension base="ParamType">
> > >        <xs:sequence>
> > >           <xs:element name="default" type="xs:float"/>
> > >           <!--element name="min" type="xs:float" minOccurs="0"
> > > default="-INF"/>
> > >           <xs:element name="max" type="xs:float" minOccurs="0"
> > > default="INF"/-->
> > >        </xs:sequence>
> > >      <xs:attribute name="min" type="xs:float" default="-INF"/>
> > >      <xs:attribute name="max" type="xs:float" default="INF"/>
> > >      </xs:extension>
> > >    </xs:complexContent>
> > >  </xs:complexType>
> > >
> > >  <xs:complexType name="ParamInt">
> > >    <xs:complexContent>
> > >      <xs:extension base="ParamType">
> > >        <xs:sequence>
> > >           <xs:element name="default" type="xs:int"/>
> > >        </xs:sequence>
> > >      <xs:attribute name="min" type="xs:int" default="-9999999"/>
> > >      <xs:attribute name="max" type="xs:int" default="9999999"/>
> > >      </xs:extension>
> > >    </xs:complexContent>
> > >  </xs:complexType>
> > >
> > >
> > >  <xs:complexType name="ParamString">
> > >    <xs:complexContent>
> > >      <xs:extension base="ParamType">
> > >        <xs:sequence>
> > >           <xs:element name="default" type="xs:string"/>
> > >        </xs:sequence>
> > >       </xs:extension>
> > >    </xs:complexContent>
> > >  </xs:complexType>
> > >
> > >  <xs:complexType name="ParamCoor">
> > >    <xs:complexContent>
> > >      <xs:extension base="ParamType">
> > >        <xs:sequence>
> > >           <xs:element name="default" type="coordinate"/>
> > >        </xs:sequence>
> > >      <xs:attribute name="min" type="coordinate" default="-90:00:00"/>
> > >      <xs:attribute name="max" type="coordinate" default="90:00:00"/>
> > >      <xs:attribute name="varUnit" type="angleunits" default="degree"/>
> > >      </xs:extension>
> > >    </xs:complexContent>
> > >  </xs:complexType>
> > >
> > > <xs:simpleType name="coordinate">
> > >  <xs:restriction base="xs:string">
> > >    <xs:pattern value="(\+|\-)?\d{2}:\d{2}:\d{2}(\.\d*)?"/>
> > >  </xs:restriction>
> > > </xs:simpleType>
> > >
> > > <xs:simpleType name="angleunits">
> > >  <xs:restriction base="xs:string">
> > >    <xs:enumeration value="degree"/>
> > >    <xs:enumeration value="radian"/>
> > >   </xs:restriction>
> > > </xs:simpleType>
> > >
> > > </xs:schema>
> >
> > [1] Your schema is not special.
> >
> > [2] Where are the *element* (or attribute) *declarations* making use of
> > the ParamFloat, ParamInt, ParamString, etc, types? Types are merely W3C
> > XML Schema syntactic sugar. What counts is the elements and the
> attributes.
> >
> >
> >
>

Reply via email to