SCWD home | SCJP home | XML books
SCWD home | SCJP home | XML books
Advantages of XML Schema
- Support for data-types
- Uses XML syntax
- Support for content model ( mixed content, exact number of occurences of elements, named group of elements)
- Self documenting
- Schema components is a generic term for the blocks that make up the abstract data model of the schema
3 groups of components : Primary, Secondary, Helper
- Primary components:
- Element declaration
- Simple type definition:
Built-in types: Primitive, Derived
3 varieties of data-types: Atomic, List, Union
User derived types
- Complex type definition
- Attribute Declaration
- Default value of minOccurs and maxOccurs is 1
- Element declaration can be local or global. Global - child of the "schema" element. Local - nested inside schema structure and not direct child of schema element
- MinOccurs and maxOccurs cant be used with global element declaration
- Any globally defined element can be used as the root element of a document
- Attribute values are always simple types
- Attributes are unordered.
- Attributes can be global or local
- "use" attribute cannot be used in globally declared attributes
- It does not matter whether complex type is defined before or after the element declaration as long as it is present in the schema document
- Simple type can not have any child elements or carry attributes.
- Simple types are the atoms of information considered distinct to XML Schema and they cannot be split up.
- Primitive data types are data types in their own right and they are not defined in terms of other types
- Derived typed are built from the definitions of other data-types
- User derived types are derived by the author of the schema and are particular to that schema.
- Atomic data type is one that has a value that cannot be divided atleast not in the context of XML Schema. Atomic data type is not analogous to primitive type. Atomic type can be primitive or derived.
- Built-in list types are: IDREFS, ENTITIES, NMTOKENS
- Named complex type is created when the content model is to be reused, otherwise anonymous types can be created.
- "schema" is the root element of the Schema document.
Attributes are to be defined as part of the complex type because simple types can only hold atomic values and not carry attributes or have child elements.
- Content models - ANY, EMPTY, Element only, Mixed
- ANY is the default content model
- EMPTY- for this, define a complex type and restrict it from anyType so that it can only carry attributes.
- Secondary components:
- Model group definition
- Attribute groups
- Notation declaration
- Identity constraints
Key and KeyRef
Default or Fixed element content
Specifying null values
- Notation declaration - associates a name with an identifier for an application used to view that sort of a notation.
- Key and KeyRef - primary and foreign key respectively.
- XML Schema data types are composed of three parts: Value space, Lexical space, Set of facets.
- Value spaces have certain facets: order, bound, cardinality, equality, numeric or non-numeric dichotomy.
- Default data-type for any element is "string"
- "all", "sequence" and "choice" are three compositors
- all - all the elements can occur in any order. Elements can occur only once or not at all
- choice - any one of the elements can occur, but only one
- sequence - elements occur in the specified order
- minOccurs and maxOccurs can't be set to more than 1 in "all" compositor
- sequence and choice compositors can be combined whereas "all" cannot be combined with any other compositor