Contenu connexe
Similaire à Xml Schema Structures
Similaire à Xml Schema Structures (6)
Xml Schema Structures
- 1. Content: ( annotation ?, ( simpleType ?, ( minExclusive | minInclusive | name = NCName>
maxExclusive | maxInclusive | totalDigits | fractionDigits | length | minLength | Content: (annotation?, (simpleContent | complexContent | ((group | all | choice |
maxLength | enumeration | whiteSpace | pattern )*)) </restriction> sequence)?, ((attribute | attributeGroup)*, anyAttribute?)))) </complexType>
<list id = ID Complex Content
XML Schema - Structures itemType = QName>
<complexContent id = ID
Content: ( annotation ?, ( simpleType ?)) </list>
mixed = boolean>
Quick Reference <union id = ID Content: (annotation?, (restriction | extension)) </complexContent>
memberTypes = List of QName>
<restriction id = ID
Content: ( annotation ?, ( simpleType *)) </union>
ver 9/01
base = QName>
©2001 D VInt Productions,
Content: (annotation?, (group | all | choice | sequence)?,
Constraining Facets
http://www.xml.dvint.com
((attribute | attributeGroup)*, anyAttribute?)) </restriction>
<length id = ID Content: (annotation?)
fixed = boolean : false </maxInclusive> <extension id = ID
1 Namespaces
value = nonNegativeInteger > base = QName>
• http://www.w3.org/2001/XMLSchema <maxExclusive id = ID
Content: (annotation?) </length> Content: (annotation?, ((group | all | choice | sequence)?,
• http://www.w3.org/2001/XMLSchema-instance fixed = boolean : false
((attribute | attributeGroup)*, anyAttribute?))) </extension>
<minLength id = ID value = anySimpleType>
2 Schema declaration
fixed = boolean : false Content: (annotation?)
<schema id = ID Sim p l e C o n t e n t
value = nonNegativeInteger > </maxExclusive>
attributeFormDefault = (qualified | unqualified) : unqualified
Content: (annotation?) </minLength> <simpleContent id = ID>
<minExclusive id = ID
blockDefault = (#all | List of (extension | restriction | substitution)) : ''
Content: (annotation?, (restriction | extension)) </simpleContent>
<maxLength id = ID fixed = boolean : false
elementFormDefault = (qualified | unqualified) : unqualified
fixed = boolean : false value = anySimpleType> <restriction id = ID
finalDefault = (#all | List of (extension | restriction)) : ''
value = nonNegativeInteger > Content: (annotation?) base = QName>
targetNamespace = anyURI
Content: (annotation?) </maxLength> </minExclusive> Content: (annotation?, (simpleType?, (minExclusive | minInclusive | maxExclusive
version = token
| maxInclusive | totalDigits | fractionDigits | length | minLength | maxLength |
xml:lang = language > <pattern id = ID <minInclusive id = ID
enumeration | whiteSpace | pattern)*)?, ((attribute | attributeGroup)*,
Content: ((include | import | redefine | annotation)*, (((simpleType | complexType | value = anySimpleType fixed = boolean : false
anyAttribute?)) </restriction>
group | attributeGroup) | element | attribute | notation), annotation*)*) </schema> Content: (annotation?) </pattern> value = anySimpleType>
Content: (annotation?) <extension id = ID
<include id = ID <enumeration id = ID
</minInclusive> base = QName>
schemaLocation = anyURI > value = anySimpleType >
Content: (annotation?, ((attribute | attributeGroup)*, anyAttribute?)) </extension>
Content: (annotation?) </include> Content: (annotation?) <totalDigits id = ID
</enumeration> fixed = boolean : false <attributeGroup id = ID
<redefine id = ID
value = positiveInteger > ref = QName>
schemaLocation = anyURI> <whiteSpace id = ID
Content: (annotation?) Content: (annotation?) </attributeGroup>
Content: (annotation | (simpleType | complexType | group | attributeGroup))* fixed = boolean : false
</totalDigits>
</redefine> value = (collapse | preserve | replace)> <anyAttribute id = ID
Content: (annotation?) <fractionDigits id = ID namespace = ((##any | ##other) | List of (anyURI |
<import id = ID
</whiteSpace> fixed = boolean : false (##targetNamespace | ##local)) ) : ##any
namespace = anyURI
value = nonNegativeInteger > processContents = (lax | skip | strict) : strict >
schemaLocation = anyURI> <maxInclusive id = ID
Content: (annotation?) Content: (annotation?)</anyAttribute>
Content: (annotation?) </import> fixed = boolean : false
</fractionDigits>
value = anySimpleType> 5 Model Group Definition
3 Simple Data Type Declaration
<group
<simpleType id = ID 4 Complex Data Type Declaration
name = NCName>
final = (#all | (list | union | restriction)) <complexType id = ID
Content: (annotation?, (all | choice | sequence)) </group>
name = NCName> abstract = boolean : false
Content: ( annotation ?, ( restriction | list | union )) </simpleType> <all id = ID
block = (#all | List of (extension | restriction))
maxOccurs = 1 : 1 minOccurs = (0 | 1) : 1>
final = (#all | List of (extension | restriction))
<restriction id = ID
Content: (annotation?, element*) </all>
mixed = boolean : false
base = QName>
- 2. ref = QName
6 Attribute Group Definition [final]
type = QName
<attributeGroup id = ID A finite-length (possibly empty) sequence of values
list
use = (optional | prohibited | required) : optional >
name = NCName A combination of the of one or more other datatypes.
union
Content: (annotation?, (simpleType?)) </attribute>
ref = QName >
Values for constraining facets are specified to a subset of
restriction
Content: (annotation?, 10 Notation Declaration
those of its base type.
((attribute | attributeGroup)*, anyAttribute?)) </attributeGroup> <notation id = ID
[namespace]
name = NCName
7 Element Declaration
Any namespace (default)
##any
public = anyURI
<element id = ID
system = anyURI }> Any namespace other than target namespace
##other
abstract = boolean : false
Content: (annotation?) </notation> # # t a r g e t N a m e s p a c e Must belong to the target Namespace of schema
block = (#all | List of (extension | restriction | substitution))
default = string 11 Annotation Components Any unqualified XML
##local
final = (#all | List of (extension | restriction)) <annotation id = ID> [processContents]
fixed = string Content: (appinfo | documentation)* </annotation> There must be a top-level declaration for the item available,
strict
form = (qualified | unqualified)
<appinfo or the item must have an xsi:type, and must be valid.
maxOccurs = (nonNegativeInteger | unbounded) : 1
source = anyURI>
minOccurs = nonNegativeInteger : 1 No constraints at all: the item must simply be well-formed.
skip
Content: ({any})* </appinfo>
name = NCName Validate where you can, don't worry when you can't.
lax
nillable = boolean : false <documentation [form]
ref = QName source = anyURI
qualified Namespace qualified
substitutionGroup = QName xml:lang = language>
type = QName> Content: ({any})* </documentation> unqualified No namespace qualification
Content: (annotation?, ((simpleType | complexType)?, [use]
12 Identity-constriant defintions
(unique | key | keyref)*)) </element>
Attribute is optional
optional
<unique id = ID
8 Model Group (content model)
name = NCName > Attribute is prohibited
prohibited
<choice id = ID Content: (annotation?, (selector, field+)) </unique> Attribute is required to have a value
required
maxOccurs = (nonNegativeInteger | unbounded) : 1
<key id = ID [value]
minOccurs = nonNegativeInteger : 1}>
name = NCName >
Content: (annotation?, (element | group | choice | sequence | any)*)</choice> p r e s e r v e The value is the normalized value
Content: (annotation?, (selector, field+)) </key>
All occurrences of tab, line feed and carriage return are
<sequence id = ID replace
<keyref id = ID replaced with space.
maxOccurs = (nonNegativeInteger | unbounded) : 1
name = NCName
minOccurs = nonNegativeInteger : 1}> Contiguous sequences of spaces are collapsed to a single
collapse
refer = QName >
Content: (annotation?, (element | group | choice | sequence | any)*) </sequence> space, and initial and/or final spaces are deleted.
Content: (annotation?, (selector, field+)) </keyref>
<any id = ID 14 Schema Instance Related Markup
<selector id = ID
maxOccurs = (nonNegativeInteger | unbounded) : 1 xsi:type An element in an instance may explicitly assert its type
xpath = a subset of XPath expression, see below >
minOccurs = nonNegativeInteger : 1 using the attribute xsi:type. The value is a QName associ-
Content: (annotation?) </selector>
namespace = ((##any | ##other) | List of (anyURI | ated with a type definition.
(##targetNamespace | ##local)) ) : ##any <field id = ID An element may be valid without content if it has the
xsi:nil
processContents = (lax | skip | strict) : strict> xpath = a subset of XPath expression, see below > attribute xsi:nil with the value true.
Content: (annotation?) </any> Content: (annotation?) </field>
x s i : s c h e m a L o c a t i o n , x s i : n o N a m e s p a c e S c h e m a L o c a t i o n Provide hints
9 Attribute Declaration 13 Defined Values as to the physical location of schema documents.
Any element not part of Shema namespace.
{any}
<attribute id = ID
All of the values listed
#all
default = string
©2001 D Vint Productions
fixed = string A built-in primitive simple type definition
#atomic
xmlhelp@ dvint.com
form = (qualified | unqualified)
http://w w w .xm l.dvint.com
name = NCName