How abstract components are created when reading a schema – an animation in 9 slides
-- complexType

July 26, 2002 5:00pm

This presentation will probably involve audience discussion, which will create action items. Use PowerPoint to keep track of these action items during your presentation

In Slide Show, click on the right mouse button

Select “Meeting Minder”

Select the “Action Items” tab

Type in action items as they come up

Click OK to dismiss this box

This will automatically create an Action Item slide at the end of your presentation with your points entered.

org.eclipse.xsd

XML Schema Infoset Model

If viewing in OpenOffice, hit F9 to begin.

If viewing in a browser, animations will only show final states.

© 2002 by IBM Corporation

Parse of a complexType definition and construction of the abstract schema components.

<xs:complexType name="ct02">

<xs:sequence>

<xs:element ref="refed"/>

<xs:sequence minOccurs="0" maxOccurs="3">

<xs:element name="e1" type="xs:string"/>

<xs:element name="e2" type="xs:string"/>

</xs:sequence>

</xs:sequence>

</xs:complexType>

And elsewhere there is a global element declaration with the name “refed”

Now let’s follow how the abstract schema components

are built, by getting “blank” objects from XSDFactory,

We’ll follow this example:

setting their properties,

and linking them to each other…

Parse of <xs:complexType name=“ct02”>

XSDComplexTypeDefinition

name:

targetNamespace:

baseType:

XSDFactory

ct02

content:

Parse of <xs:sequence>

XSDComplexTypeDefinition

name:

targetNamespace:

baseType:

XSDFactory

ct02

XSDParticle

term:

minOccurs:

maxOccurs:

content:

XSDModelGroup

compositor:

particles: list

XSDCompositor

compositor: XSDCompositor.SEQUENCE

Parse of <xs:element ref=“refed”/> 1

XSDComplexTypeDefinition

name:

targetNamespace:

baseType:

XSDFactory

ct02

XSDParticle

term:

minOccurs:

maxOccurs:

content:

XSDModelGroup

compositor:

particles: list

XSDCompositor

compositor: XSDCompositor.SEQUENCE

refed

Ask

the

schema

object

where the

Element

Declaration

named

refed is

XSDSchema

contents: list

Parse of <xs:element ref=“refed”/> 2

XSDComplexTypeDefinition

name:

targetNamespace:

baseType:

XSDFactory

ct02

XSDParticle

term:

minOccurs:

maxOccurs:

content:

XSDModelGroup

compositor:

particles: list

XSDCompositor

compositor: XSDCompositor.SEQUENCE

XSDParticle

term:

content:

minOccurs:

maxOccurs:

XSDElementDeclaration

resolvedElementDeclaration:

isElementDeclarationReference: true

refed

Parse of <xs:sequence minOccurs=“0” maxOccurs=“3”/>

XSDComplexTypeDefinition

name:

targetNamespace:

baseType:

XSDFactory

ct02

XSDParticle

term:

minOccurs:

maxOccurs:

content:

XSDModelGroup

compositor:

particles: list

XSDCompositor

compositor: XSDCompositor.SEQUENCE

XSDParticle

term:

content:

minOccurs:

maxOccurs:

XSDElementDeclaration

resolvedElementDeclaration:

isElementDeclarationReference: true

XSDParticle

term:

minOccurs:

maxOccurs:

XSDModelGroup

compositor:

particles: list

0

3

refed

Parse of <xs:element name=“e1” type=“xs:string”/>

XSDComplexTypeDefinition

name:

targetNamespace:

baseType:

XSDFactory

ct02

XSDParticle

term:

minOccurs:

maxOccurs:

content:

XSDModelGroup

compositor:

particles: list

XSDCompositor

compositor: XSDCompositor.SEQUENCE

XSDParticle

term:

content:

minOccurs:

maxOccurs:

XSDElementDeclaration

resolvedElementDeclaration:

isElementDeclarationReference: true

XSDParticle

term:

minOccurs:

maxOccurs:

XSDModelGroup

compositor:

particles: list

0

3

XSDParticle

term:

minOccurs:

maxOccurs:

XSDElementDeclaration

name:

targetNamespace:

typeDefinition:

isSetAnonymousTypeDefinition: false

e1

XSDSimpleType

name: string targetNamespace: http://www.w3.org/2001/XMLSchema

refed

Parse of <xs:element name=“e2” type=“xs:string”/>

XSDComplexTypeDefinition

name:

targetNamespace:

baseType:

XSDFactory

ct02

XSDParticle

term:

minOccurs:

maxOccurs:

content:

XSDModelGroup

compositor:

particles: list

XSDCompositor

compositor: XSDCompositor.SEQUENCE

XSDParticle

term:

content:

minOccurs:

maxOccurs:

XSDElementDeclaration

resolvedElementDeclaration:

isElementDeclarationReference: true

XSDParticle

term:

minOccurs:

maxOccurs:

XSDModelGroup

compositor:

particles: list

0

3

XSDParticle

term:

minOccurs:

maxOccurs:

XSDElementDeclaration

name:

targetNamespace:

typeDefinition:

isSetAnonymousTypeDefinition: false

e1

XSDParticle

term: minOccurs: maxOccurs:

XSDElementDeclaration

name:

targetNamespace:

typeDefinition:

isSetAnonymousTypeDefinition: false

XSDSimpleType

name: string targetNamespace: http://www.w3.org/2001/XMLSchema

e2

refed

Parse of </xs:complexType>

XSDComplexTypeDefinition

name:

targetNamespace:

baseType:

ct02

XSDParticle

term:

minOccurs:

maxOccurs:

content:

XSDModelGroup

compositor:

particles: list

XSDCompositor

compositor: XSDCompositor.SEQUENCE

XSDParticle

term:

Content:

minOccurs:

maxOccurs:

XSDElementDeclaration

resolvedElementDeclaration:

isElementDeclarationReference: true

XSDParticle

term:

minOccurs:

maxOccurs:

XSDModelGroup

compositor:

particles: list

0

3

XSDParticle

term:

minOccurs:

maxOccurs:

XSDElementDeclaration

name:

targetNamespace:

typeDefinition:

isSetAnonymousTypeDefinition: false

e1

XSDParticle

term: minOccurs: maxOccurs:

XSDElementDeclaration

name:

targetNamespace:

typeDefinition:

isSetAnonymousTypeDefinition: false

XSDSimpleType

name: string targetNamespace: http://www.w3.org/2001/XMLSchema

e2

XSDSchema

contents: list

refed

now including ct02

Project Status

Robert Schloss

2002-04-23T16:54:51