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. > > > > > > >

