XML Schema Documentation xaal-graphics.xsd

Schema Document Properties

Target Namespace http://www.cs.hut.fi/Research/SVG/XAAL
Version 0.1
Element and Attribute Namespaces
  • Global element and attribute declarations belong to this schema's target namespace.
  • By default, local element declarations belong to this schema's target namespace.
  • By default, local attribute declarations have no namespace.
Schema Composition
Documentation Graphical primitives in XAAL.

Declared Namespaces

Prefix Namespace
Default namespace http://www.cs.hut.fi/Research/SVG/XAAL
xml http://www.w3.org/XML/1998/namespace
xs http://www.w3.org/2001/XMLSchema
html http://www.w3.org/1999/xhtml

Schema Component Representation

<xs:schema targetNamespace="http://www.cs.hut.fi/Research/SVG/XAAL" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.1">
<xs:include schemaLocation="xaal-common.xsd"/>
<xs:include schemaLocation="xaal-datatypes.xsd"/>
...
</xs:schema>

Global Definitions

Attribute Group: font-attributes

Name font-attributes
Documentation
document

XML Instance Representation
family=" xs:token (value comes from list: {'Serif'|'SansSerif'|'Monospaced'}) [0..1]"
size=" xs:positiveInteger [0..1]"
bold=" xs:boolean [0..1]"
italic=" xs:boolean [0..1]"

Schema Component Representation

<xs:attributeGroup name="font-attributes">
<xs:attribute name="family" use="optional">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="Serif"/>
<xs:enumeration value="SansSerif"/>
<xs:enumeration value="Monospaced"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="size" type="xs:positiveInteger" use="optional"/>
<xs:attribute name="bold" type="xs:boolean" default="false"/>
<xs:attribute name="italic" type="xs:boolean" default="false"/>
</xs:attributeGroup>

Attribute Group: general-attributes

Name general-attributes
Documentation
document

XML Instance Representation
id=" xs:ID [0..1]"
hidden=" xs:boolean [0..1]"
opacity=" opacity [0..1]"
style=" xs:IDREF [0..1]"

Schema Component Representation

<xs:attributeGroup name="general-attributes">
<xs:attribute name="id" type="xs:ID" use="optional"/>
<xs:attribute name="hidden" type="xs:boolean" default="false"/>
<xs:attribute name="opacity" type="opacity" default="1"/>
<xs:attribute name="style" type="xs:IDREF" use="optional"/>
</xs:attributeGroup>

Attribute Group: location-attributes

Name location-attributes

XML Instance Representation
x=" xs:int [0..1]"
y=" xs:int [0..1]"

Schema Component Representation

<xs:attributeGroup name="location-attributes">
<xs:attribute name="x" type="xs:int" use="optional"/>
<xs:attribute name="y" type="xs:int" use="optional"/>
</xs:attributeGroup>

Attribute Group: stroke-attributes

Name stroke-attributes
Documentation The attributes of the stroke-attributes group specify properties affecting the way graphical elements are painted.

XML Instance Representation
type=" stroke-type [0..1]"
width=" xs:positiveInteger [0..1]"

Schema Component Representation

<xs:attributeGroup name="stroke-attributes">
<xs:attribute name="type" type="stroke-type" use="optional" default="solid"/>
<xs:attribute name="width" type="xs:positiveInteger" use="optional" default="1"/>
</xs:attributeGroup>

Complex Type: alignment

Super-types: None
Sub-types: None
Name alignment
Abstract no

XML Instance Representation

<...
value=" xs:token (value comes from list: {'left'|'right'|'centered'}) [0..1]"/>

Schema Component Representation

<xs:complexType name="alignment">
<xs:attribute name="value" default="left">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="left"/>
<xs:enumeration value="right"/>
<xs:enumeration value="centered"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>

Complex Type: angle

Super-types: None
Sub-types: None
Name angle
Abstract no

XML Instance Representation

<...
total=" xs:int [1]"
start=" xs:int [1]"/>

Schema Component Representation

<xs:complexType name="angle">
<xs:attribute name="total" type="xs:int" use="required"/>
<xs:attribute name="start" type="xs:int" use="required"/>
</xs:complexType>

Complex Type: arc

Super-types: None
Sub-types: None
Name arc
Abstract no

XML Instance Representation

<...
id=" xs:ID [0..1]"
hidden=" xs:boolean [0..1]"
opacity=" opacity [0..1]"
style=" xs:IDREF [0..1]">
<center> center </center> [1]
<radius> radius </radius> [1]
<angle> angle </angle> [1]
<depth> depth </depth> [0..1]
<style> style </style> [0..1]
</...>

Schema Component Representation

<xs:complexType name="arc">
<xs:sequence>
<xs:element name="center" type="center"/>
<xs:element name="radius" type="radius"/>
<xs:element name="angle" type="angle"/>
<xs:element name="depth" type="depth" minOccurs="0"/>
<xs:element name="style" type="style" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="general-attributes"/>
</xs:complexType>

Complex Type: arrow

Super-types: None
Sub-types: None
Name arrow
Abstract no

XML Instance Representation

<...
forward=" xs:boolean [0..1]"
backward=" xs:boolean [0..1]"/>

Schema Component Representation

<xs:complexType name="arrow">
<xs:attribute name="forward" type="xs:boolean" default="false"/>
<xs:attribute name="backward" type="xs:boolean" default="false"/>
</xs:complexType>

Complex Type: boolean-value

Super-types: None
Sub-types: None
Name boolean-value
Abstract no

XML Instance Representation

<...
value=" xs:boolean [0..1]"/>

Schema Component Representation

<xs:complexType name="boolean-value">
<xs:attribute name="value" type="xs:boolean" default="false"/>
</xs:complexType>

Complex Type: center

Super-types: coordinate < center (by extension)
Sub-types:
Name center
Abstract no

XML Instance Representation

<...
x=" xs:int [0..1]"
y=" xs:int [0..1]"
id=" xs:ID [0..1]">
<offset> offset </offset> [0..1]
</...>

Schema Component Representation

<xs:complexType name="center">
<xs:complexContent>
<xs:extension base="coordinate"/>
</xs:complexContent>
</xs:complexType>

Complex Type: circle

Super-types: None
Sub-types: None
Name circle
Abstract no
Documentation The element circle represents a graphical primitive circle. The center of the circle is positioned to the given coordinates. Circle segments can be drawn by specifying the attributes angle and start-angle.

XML Instance Representation

<...
id=" xs:ID [0..1]"
hidden=" xs:boolean [0..1]"
opacity=" opacity [0..1]"
style=" xs:IDREF [0..1]">
<center> center </center> [1]
<radius> radius </radius> [1]
<depth> depth </depth> [0..1]
<style> style </style> [0..1]
</...>

Schema Component Representation

<xs:complexType name="circle">
<xs:sequence>
<xs:element name="center" type="center"/>
<xs:element name="radius" type="radius"/>
<xs:element name="depth" type="depth" minOccurs="0"/>
<xs:element name="style" type="style" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="general-attributes"/>
</xs:complexType>

Complex Type: circle-segment

Super-types: None
Sub-types: None
Name circle-segment
Abstract no

XML Instance Representation

<...
id=" xs:ID [0..1]"
hidden=" xs:boolean [0..1]"
opacity=" opacity [0..1]"
style=" xs:IDREF [0..1]">
<center> center </center> [1]
<radius> radius </radius> [1]
<angle> angle </angle> [1]
<depth> depth </depth> [0..1]
<style> style </style> [0..1]
</...>

Schema Component Representation

<xs:complexType name="circle-segment">
<xs:sequence>
<xs:element name="center" type="center"/>
<xs:element name="radius" type="radius"/>
<xs:element name="angle" type="angle"/>
<xs:element name="depth" type="depth" minOccurs="0"/>
<xs:element name="style" type="style" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="general-attributes"/>
</xs:complexType>

Complex Type: color

Super-types: None
Sub-types: None
Name color
Abstract no
Documentation If both name and RGB values are set, name takes precedence.

XML Instance Representation

<...
red=" rgb-value [0..1]"
green=" rgb-value [0..1]"
blue=" rgb-value [0..1]"
name=" color-name [0..1]"/>

Schema Component Representation

<xs:complexType name="color">
<xs:attribute name="red" type="rgb-value" use="optional"/>
<xs:attribute name="green" type="rgb-value" use="optional"/>
<xs:attribute name="blue" type="rgb-value" use="optional"/>
<xs:attribute name="name" type="color-name" use="optional"/>
</xs:complexType>

Complex Type: coordinate

Super-types: None
Sub-types:
Name coordinate
Abstract no

XML Instance Representation

<...
x=" xs:int [0..1]"
y=" xs:int [0..1]"
id=" xs:ID [0..1]">
<offset> offset </offset> [0..1]
</...>

Schema Component Representation

<xs:complexType name="coordinate">
<xs:sequence>
<xs:element name="offset" type="offset" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="location-attributes"/>
<xs:attribute name="id" type="xs:ID" use="optional"/>
</xs:complexType>

Complex Type: define-shape

Super-types: None
Sub-types: None
Name define-shape
Abstract no

XML Instance Representation

<...
name=" xs:ID [0..1]">
Start Sequence [1..*]
Start Choice [1]
<arc> arc </arc> [0..1]
<circle> circle </circle> [0..1]
<circle-segment> circle-segment </circle-segment> [0..1]
<ellipse> ellipse </ellipse> [0..1]
<line> line </line> [0..1]
<point> point </point> [0..1]
<polyline> polyline </polyline> [0..1]
<polygon> polygon </polygon> [0..1]
<rectangle> rectangle </rectangle> [0..1]
<square> square </square> [0..1]
<text> text </text> [0..1]
<triangle> triangle </triangle> [0..1]
<shape> shape </shape> [0..1]
End Choice
End Sequence
</...>

Schema Component Representation

<xs:complexType name="define-shape">
<xs:sequence maxOccurs="unbounded">
<xs:group ref="all-graphics"/>
</xs:sequence>
<xs:attribute name="name" type="xs:ID"/>
</xs:complexType>

Complex Type: depth

Super-types: None
Sub-types: None
Name depth
Abstract no

XML Instance Representation

<...
value=" xs:nonNegativeInteger [1]"/>

Schema Component Representation

<xs:complexType name="depth">
<xs:attribute name="value" type="xs:nonNegativeInteger" use="required"/>
</xs:complexType>

Complex Type: ellipse

Super-types: None
Sub-types: None
Name ellipse
Abstract no
Documentation The element ellipse represents a graphical primitive ellipse. The drawing of the element is based on the given point and two radii. The ellipse is centered on the given point. Ellipse segments can be drawn by specifying the attributes angle and start-angle.

XML Instance Representation

<...
id=" xs:ID [0..1]"
hidden=" xs:boolean [0..1]"
opacity=" opacity [0..1]"
style=" xs:IDREF [0..1]">
<center> center </center> [1]
<radius> radius </radius> [1]
<depth> depth </depth> [0..1]
<style> style </style> [0..1]
</...>

Schema Component Representation

<xs:complexType name="ellipse">
<xs:sequence>
<xs:element name="center" type="center"/>
<xs:element name="radius" type="radius"/>
<xs:element name="depth" type="depth" minOccurs="0"/>
<xs:element name="style" type="style" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="general-attributes"/>
</xs:complexType>

Complex Type: font

Super-types: None
Sub-types: None
Name font
Abstract no

XML Instance Representation

<...
family=" xs:token (value comes from list: {'Serif'|'SansSerif'|'Monospaced'}) [0..1]"
size=" xs:positiveInteger [0..1]"
bold=" xs:boolean [0..1]"
italic=" xs:boolean [0..1]"/>

Schema Component Representation

<xs:complexType name="font">
<xs:attributeGroup ref="font-attributes"/>
</xs:complexType>

Complex Type: length

Super-types: None
Sub-types: None
Name length
Abstract no

XML Instance Representation

<...
value=" xs:int [1]"/>

Schema Component Representation

<xs:complexType name="length">
<xs:attribute name="value" type="xs:int" use="required"/>
</xs:complexType>

Complex Type: line

Super-types: None
Sub-types: None
Name line
Abstract no
Documentation
documentation<br/>arrows at the start/end of the line??

XML Instance Representation

<...
id=" xs:ID [0..1]"
hidden=" xs:boolean [0..1]"
opacity=" opacity [0..1]"
style=" xs:IDREF [0..1]">
<coordinate> coordinate </coordinate> [2..*]
<depth> depth </depth> [0..1]
<style> style </style> [0..1]
</...>

Schema Component Representation

<xs:complexType name="line">
<xs:sequence>
<xs:element name="coordinate" type="coordinate" minOccurs="2" maxOccurs="unbounded"/>
<xs:element name="depth" type="depth" minOccurs="0"/>
<xs:element name="style" type="style" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="general-attributes"/>
</xs:complexType>

Complex Type: offset

Super-types: None
Sub-types: None
Name offset
Abstract no
Documentation An offset can be:
  1. The offset will be from a point on the bounding box of the referred object, and the base-object and anchor attributes should be used.
  2. An offset from a specific node in a polygon/polyline and in this case the base-object and node attributes are used.
  3. An offset from a coordinate location, specified using the base-location attribute.
  4. Offset form the baseline of a text component referred using the baseline-of attribute and the mode attribute.
See also the examples.

XML Instance Representation

<...
x=" xs:int [1]"
y=" xs:int [1]"
base-object=" xs:IDREF [0..1]"
node=" xs:positiveInteger [0..1]"
anchor=" anchor [0..1]"
base-location=" xs:IDREF [0..1]"
baseline-of=" xs:IDREF [0..1]"
mode=" xs:token (value comes from list: {'start'|'end'|'center'}) [0..1]"/>

Schema Component Representation

<xs:complexType name="offset">
<xs:attribute name="x" type="xs:int" use="required"/>
<xs:attribute name="y" type="xs:int" use="required"/>
<xs:attribute name="base-object" type="xs:IDREF" use="optional"/>
<xs:attribute name="node" type="xs:positiveInteger" use="optional"/>
<xs:attribute name="anchor" type="anchor" default="C" use="optional"/>
<xs:attribute name="base-location" type="xs:IDREF" use="optional"/>
<xs:attribute name="baseline-of" type="xs:IDREF" use="optional"/>
<xs:attribute name="mode" use="optional" default="center">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="start"/>
<xs:enumeration value="end"/>
<xs:enumeration value="center"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>

Complex Type: point

Super-types: None
Sub-types: None
Name point
Abstract no

XML Instance Representation

<...
id=" xs:ID [0..1]"
hidden=" xs:boolean [0..1]"
opacity=" opacity [0..1]"
style=" xs:IDREF [0..1]">
<coordinate> coordinate </coordinate> [1]
<depth> depth </depth> [0..1]
<style> style </style> [0..1]
</...>

Schema Component Representation

<xs:complexType name="point">
<xs:sequence>
<xs:element name="coordinate" type="coordinate"/>
<xs:element name="depth" type="depth" minOccurs="0"/>
<xs:element name="style" type="style" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="general-attributes"/>
</xs:complexType>

Complex Type: polygon

Super-types: None
Sub-types: None
Name polygon
Abstract no

XML Instance Representation

<...
id=" xs:ID [0..1]"
hidden=" xs:boolean [0..1]"
opacity=" opacity [0..1]"
style=" xs:IDREF [0..1]">
<coordinate> coordinate </coordinate> [2..*]
<depth> depth </depth> [0..1]
<style> style </style> [0..1]
</...>

Schema Component Representation

<xs:complexType name="polygon">
<xs:sequence>
<xs:element name="coordinate" type="coordinate" minOccurs="2" maxOccurs="unbounded"/>
<xs:element name="depth" type="depth" minOccurs="0"/>
<xs:element name="style" type="style" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="general-attributes"/>
</xs:complexType>

Complex Type: polyline

Super-types: None
Sub-types: None
Name polyline
Abstract no

XML Instance Representation

<...
id=" xs:ID [0..1]"
hidden=" xs:boolean [0..1]"
opacity=" opacity [0..1]"
style=" xs:IDREF [0..1]">
<coordinate> coordinate </coordinate> [2..*]
<closed> boolean-value </closed> [1]
<depth> depth </depth> [0..1]
<style> style </style> [0..1]
</...>

Schema Component Representation

<xs:complexType name="polyline">
<xs:sequence>
<xs:element name="coordinate" type="coordinate" minOccurs="2" maxOccurs="unbounded"/>
<xs:element name="closed" type="boolean-value" minOccurs="1" maxOccurs="1"/>
<xs:element name="depth" type="depth" minOccurs="0"/>
<xs:element name="style" type="style" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="general-attributes"/>
</xs:complexType>

Complex Type: radius

Super-types: coordinate < center (by extension) < radius (by extension)
Sub-types: None
Name radius
Abstract no
Documentation Element used to represent the radius of all ellipse types. Note, that if the length attribute is set, the value of x and y are ignored.

XML Instance Representation

<...
x=" xs:int [0..1]"
y=" xs:int [0..1]"
id=" xs:ID [0..1]"
length=" xs:int [0..1]">
<offset> offset </offset> [0..1]
</...>

Schema Component Representation

<xs:complexType name="radius">
<xs:complexContent>
<xs:extension base="center">
<xs:attribute name="length" type="xs:int" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>

Complex Type: rectangle

Super-types: None
Sub-types: None
Name rectangle
Abstract no
Documentation The element rect represents a graphical primitive rectangle. The edges of the rectangle are parallel to the coordinate axis. Rectangles with rounded edges can be specified by setting the rx and ry attributes.

XML Instance Representation

<...
id=" xs:ID [0..1]"
hidden=" xs:boolean [0..1]"
opacity=" opacity [0..1]"
style=" xs:IDREF [0..1]">
<coordinate> coordinate </coordinate> [2..2]
<round> round </round> [0..1]
<depth> depth </depth> [0..1]
<style> style </style> [0..1]
</...>

Schema Component Representation

<xs:complexType name="rectangle">
<xs:sequence>
<xs:element name="coordinate" type="coordinate" minOccurs="2" maxOccurs="2"/>
<xs:element name="round" type="round" minOccurs="0"/>
<xs:element name="depth" type="depth" minOccurs="0"/>
<xs:element name="style" type="style" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="general-attributes"/>
</xs:complexType>

Complex Type: round

Super-types: None
Sub-types: None
Name round
Abstract no
Documentation Allows specifying roundness of the corners of a graphical primitive, namely the rectangle. If only one of the values x or y is specified, the value of the existing attribute will be used for both of them.

XML Instance Representation

<...
x=" xs:int [0..1]"
y=" xs:int [0..1]"/>

Schema Component Representation

<xs:complexType name="round">
<xs:attributeGroup ref="location-attributes"/>
</xs:complexType>

Complex Type: shape

Super-types: None
Sub-types: None
Name shape
Abstract no

XML Instance Representation

<...
uses=" xs:IDREF [1]">
<coordinate> coordinate </coordinate> [1]
<shape-scale> shape-scale </shape-scale> [0..1]
</...>

Schema Component Representation

<xs:complexType name="shape">
<xs:sequence>
<xs:element name="coordinate" type="coordinate"/>
<xs:element name="shape-scale" type="shape-scale" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="uses" type="xs:IDREF" use="required"/>
</xs:complexType>

Complex Type: shape-scale

Super-types: None
Sub-types: None
Name shape-scale
Abstract no

XML Instance Representation

<...
value=" xs:double [1]"/>

Schema Component Representation

<xs:complexType name="shape-scale">
<xs:attribute name="value" type="xs:double" use="required"/>
</xs:complexType>

Complex Type: square

Super-types: None
Sub-types: None
Name square
Abstract no

XML Instance Representation

<...
id=" xs:ID [0..1]"
hidden=" xs:boolean [0..1]"
opacity=" opacity [0..1]"
style=" xs:IDREF [0..1]">
<coordinate> coordinate </coordinate> [1]
<length> length </length> [1]
<round> round </round> [0..1]
<depth> depth </depth> [0..1]
<style> style </style> [0..1]
</...>

Schema Component Representation

<xs:complexType name="square">
<xs:sequence>
<xs:element name="coordinate" type="coordinate"/>
<xs:element name="length" type="length"/>
<xs:element name="round" type="round" minOccurs="0"/>
<xs:element name="depth" type="depth" minOccurs="0"/>
<xs:element name="style" type="style" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="general-attributes"/>
</xs:complexType>

Complex Type: stroke

Super-types: None
Sub-types: None
Name stroke
Abstract no

XML Instance Representation

<...
type=" stroke-type [0..1]"
width=" xs:positiveInteger [0..1]"/>

Schema Component Representation

<xs:complexType name="stroke">
<xs:attributeGroup ref="stroke-attributes"/>
</xs:complexType>

Complex Type: style

Super-types: None
Sub-types: None
Name style
Abstract no
Documentation Style element is used to specify the style of either a graphical primitive or a data structure. They can be specified either in the defs section of the Xaal document or as a child of a graphical primitive or a data structure. In either case, if the style has an id, it can be referenced from other objects. Styles with an id can also be extended by other styles using the uses attribute. In this case, all the properties from the extended style are inherited and the properties specified in the extending style override the styling.

XML Instance Representation

<...
id=" xs:ID [0..1]"
uses=" xs:IDREF [0..1]">
<arrow> arrow </arrow> [0..1]
<color> color </color> [0..1]
<fill-color> color </fill-color> [0..1]
<stroke> stroke </stroke> [0..1]
<font> font </font> [0..1]
</...>

Schema Component Representation

<xs:complexType name="style">
<xs:sequence>
<xs:element name="arrow" type="arrow" minOccurs="0"/>
<xs:element name="color" type="color" minOccurs="0"/>
<xs:element name="fill-color" type="color" minOccurs="0"/>
<xs:element name="stroke" type="stroke" minOccurs="0"/>
<xs:element name="font" type="font" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="id" type="xs:ID" use="optional"/>
<xs:attribute name="uses" type="xs:IDREF" use="optional"/>
</xs:complexType>

Complex Type: text

Super-types: None
Sub-types: None
Name text
Abstract no
Documentation
A text primitive that can be used to specify textual contents. The contents can be included in multiple languages by specifying different values (ISO language codes) for the lang attribute of the contents element.
Properties that can be changed using change-property element:
  • contents change this property to change the contents of this text
  • contents-<lang> change these properties to change the contents of this text in the given language

XML Instance Representation

<...
id=" xs:ID [0..1]"
hidden=" xs:boolean [0..1]"
opacity=" opacity [0..1]"
style=" xs:IDREF [0..1]">
<coordinate> coordinate </coordinate> [1]
<alignment> alignment </alignment> [1]
<boxed> boolean-value </boxed> [1]
<contents> contents </contents> [1..*]
<depth> depth </depth> [0..1]
<style> style </style> [0..1]
</...>

Schema Component Representation

<xs:complexType name="text">
<xs:sequence>
<xs:element name="coordinate" type="coordinate"/>
<xs:element name="alignment" type="alignment"/>
<xs:element name="boxed" type="boolean-value"/>
<xs:element name="contents" type="contents" maxOccurs="unbounded"/>
<xs:element name="depth" type="depth" minOccurs="0"/>
<xs:element name="style" type="style" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="general-attributes"/>
</xs:complexType>

Complex Type: triangle

Super-types: None
Sub-types: None
Name triangle
Abstract no

XML Instance Representation

<...
id=" xs:ID [0..1]"
hidden=" xs:boolean [0..1]"
opacity=" opacity [0..1]"
style=" xs:IDREF [0..1]">
<coordinate> coordinate </coordinate> [3..3]
<depth> depth </depth> [0..1]
<style> style </style> [0..1]
</...>

Schema Component Representation

<xs:complexType name="triangle">
<xs:sequence>
<xs:element name="coordinate" type="coordinate" minOccurs="3" maxOccurs="3"/>
<xs:element name="depth" type="depth" minOccurs="0"/>
<xs:element name="style" type="style" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="general-attributes"/>
</xs:complexType>

Model Group: all-graphics

Name all-graphics

XML Instance Representation
Start Choice [1]

<arc> arc </arc> [0..1]
<circle> circle </circle> [0..1]
<circle-segment> circle-segment </circle-segment> [0..1]
<ellipse> ellipse </ellipse> [0..1]
<line> line </line> [0..1]
<point> point </point> [0..1]
<polyline> polyline </polyline> [0..1]
<polygon> polygon </polygon> [0..1]
<rectangle> rectangle </rectangle> [0..1]
<square> square </square> [0..1]
<text> text </text> [0..1]
<triangle> triangle </triangle> [0..1]
<shape> shape </shape> [0..1]
End Choice

Schema Component Representation

<xs:group name="all-graphics">
<xs:choice>
<xs:element name="arc" type="arc" minOccurs="0"/>
<xs:element name="circle" type="circle" minOccurs="0"/>
<xs:element name="circle-segment" type="circle-segment" minOccurs="0"/>
<xs:element name="ellipse" type="ellipse" minOccurs="0"/>
<xs:element name="line" type="line" minOccurs="0"/>
<xs:element name="point" type="point" minOccurs="0"/>
<xs:element name="polyline" type="polyline" minOccurs="0"/>
<xs:element name="polygon" type="polygon" minOccurs="0"/>
<xs:element name="rectangle" type="rectangle" minOccurs="0"/>
<xs:element name="square" type="square" minOccurs="0"/>
<xs:element name="text" type="text" minOccurs="0"/>
<xs:element name="triangle" type="triangle" minOccurs="0"/>
<xs:element name="shape" type="shape" minOccurs="0"/>
</xs:choice>
</xs:group>

Legend

Complex Type:

Schema Component Type

AusAddress

Schema Component Name
Super-types: Address < AusAddress (by extension)
Sub-types:
  • QLDAddress (by restriction)
If this schema component is a type definition, its type hierarchy is shown in a gray-bordered box.
Name AusAddress
Abstract no
The table above displays the properties of this schema component.
XML Instance Representation
<... country="Australia" >
<unitNo> string </unitNo> [0..1]
<houseNo> string </houseNo> [1]
<street> string </street> [1]
Start Choice [1]
<city> string </city> [1]
<town> string </town> [1]
End Choice
<state> AusStates </state> [1]
<postcode> string <<pattern = [1-9][0-9]{3}>> </postcode> [1]
</...>

The XML Instance Representation table above shows the schema component's content as an XML instance.

  • The minimum and maximum occurrence of elements and attributes are provided in square brackets, e.g. [0..1].
  • Model group information are shown in gray, e.g. Start Choice ... End Choice.
  • For type derivations, the elements and attributes that have been added to or changed from the base type's content are shown in bold.
  • If an element/attribute has a fixed value, the fixed value is shown in green, e.g. country="Australia".
  • Otherwise, the type of the element/attribute is displayed.
    • If the element/attribute's type is in the schema, a link is provided to it.
    • For local simple type definitions, the constraints are displayed in angle brackets, e.g. <<pattern = [1-9][0-9]{3}>>.

Schema Component Representation
<complexType name="AusAddress">
<complexContent>
<extension base=" Address ">
<sequence>
<element name="state" type=" AusStates "/>
<element name="postcode">
<simpleType>
<restriction base=" string ">
<pattern value="[1-9][0-9]{3}"/>
</restriction>
</simpleType>
</element>
</sequence>
<attribute name="country" type=" string " fixed="Australia"/>
</extension>
</complexContent>
</complexType>

The Schema Component Representation table above displays the underlying XML representation of the schema component. (Annotations are not shown.)

Glossary

Term Description
Abstract (Applies to complex type definitions and element declarations). An abstract element or complex type cannot used to validate an element instance. If there is a reference to an abstract element, only element declarations that can substitute the abstract element can be used to validate the instance. For references to abstract type definitions, only derived types can be used.
All Model Group Child elements can be provided in any order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-all.
Choice Model Group Only one from the list of child elements and model groups can be provided in instances. See: http://www.w3.org/TR/xmlschema-1/#element-choice.
Collapse Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32). Then, collapse contiguous sequences of space characters into single space character, and remove leading and trailing space characters.
Disallowed Substitutions (Applies to element declarations). If substitution is specified, then substitution group members cannot be used in place of the given element declaration to validate element instances. If derivation methods, e.g. extension, restriction, are specified, then the given element declaration will not validate element instances that have types derived from the element declaration's type using the specified derivation methods. Normally, element instances can override their declaration's type by specifying an xsi:type attribute.
Key Constraint Like Uniqueness Constraint, but additionally requires that the specified value(s) must be provided. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.
Key Reference Constraint Ensures that the specified value(s) must match value(s) from a Key Constraint or Uniqueness Constraint. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.
Model Group Groups together element content, specifying the order in which the element content can occur and the number of times the group of element content may be repeated. See: http://www.w3.org/TR/xmlschema-1/#Model_Groups.
Nillable (Applies to element declarations). If an element declaration is nillable, instances can use the xsi:nil attribute. The xsi:nil attribute is the boolean attribute, nil, from the http://www.w3.org/2001/XMLSchema-instance namespace. If an element instance has an xsi:nil attribute set to true, it can be left empty, even though its element declaration may have required content.
Notation A notation is used to identify the format of a piece of data. Values of elements and attributes that are of type, NOTATION, must come from the names of declared notations. See: http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations.
Preserve Whitespace Policy Preserve whitespaces exactly as they appear in instances.
Prohibited Derivations (Applies to type definitions). Derivation methods that cannot be used to create sub-types from a given type definition.
Prohibited Substitutions (Applies to complex type definitions). Prevents sub-types that have been derived using the specified derivation methods from validating element instances in place of the given type definition.
Replace Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32).
Sequence Model Group Child elements and model groups must be provided in the specified order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-sequence.
Substitution Group Elements that are members of a substitution group can be used wherever the head element of the substitution group is referenced.
Substitution Group Exclusions (Applies to element declarations). Prohibits element declarations from nominating themselves as being able to substitute a given element declaration, if they have types that are derived from the original element's type using the specified derivation methods.
Target Namespace The target namespace identifies the namespace that components in this schema belongs to. If no target namespace is provided, then the schema components do not belong to any namespace.
Uniqueness Constraint Ensures uniqueness of an element/attribute value, or a combination of values, within a specified scope. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.
Generated by xs3p.