• No results found

XML Schema - Structures Quick Reference

N/A
N/A
Protected

Academic year: 2021

Share "XML Schema - Structures Quick Reference"

Copied!
2
0
0

Loading.... (view fulltext now)

Full text

(1)

XML Schema - S tructures Q u ick Reference

Note: All schema components allow attributes from non-schema namespaces.

1 N a m e s p a c e s § 2 . 6 p t 1

• http://www.w3.org/2001/XMLSchema

• http://www.w3.org/2001/XMLSchema-instance

2 S c h e m a D e c l a r a t i o n § 3 . 1 5 . 2 p t 1

<schema id = ID

attributeFormDefault = ( ‘qualified’ | ‘unqualified’ ) : ‘unqualified’’

blockDefault = ( ‘#al’l | List of ( ‘extension’ | ‘restriction’ | ‘substitution’ )) : '' elementFormDefault = ( ‘qualified’ | ‘unqualified’ ) : ‘unqualified’

finalDefault = ( ‘#all’ | List of ( ‘extension’ | ‘restriction’ )) : '' targetNamespace = anyURI

version = token xml:lang = language >

Content: ((include | import | redefine | annotation)*, (((simpleType | complexType | group | attributeGroup) | element | attribute | notation), annotation*)*)

</schema>

3 S c h e m a M a n a g e m e n t §4.2.1, 4.2.2, 4.2.3 pt1

<include id = ID

schemaLocation = anyURI >

Content: (annotation?) </include>

<redefine id = ID

schemaLocation = anyURI>

Content: (annotation | (simpleType | complexType | group | attributeGroup))* </redefine>

<import id = ID namespace = anyURI schemaLocation = anyURI>

Content: (annotation?) </import>

4 S i m p l e D a t a T y p e D e c l a r a t i o n § 3 . 1 4 . 2 p t 1 a n d § 4 . 1 . 2 p t 2

<simpleType id = ID

final = ( ‘#all’ | ( ‘list’ | ‘union’ | ‘restriction’ )) name = NCName>

Content: ( annotation ?, ( restriction | list | union )) </simpleType>

<list id = ID

itemType = QName>

Content: ( annotation ?, ( simpleType ?)) </list>

<union id = ID

memberTypes = List of QName>

Content: ( annotation ?, ( simpleType *)) </union>

<restriction id = ID base = QName>

Content: ( annotation ?, ( simpleType ?, ( minExclusive | minInclusive |

maxExclusive | maxInclusive | totalDigits | fractionDigits | length | minLength | maxLength | enumeration | whiteSpace | pattern )*)) </restriction>

C o n s t r a i n i n g F a c e t s § 4 . 3 p t 2

5 C o m p l e x D a t a T y p e D e c l a r a t i o n §3.4.2 pt1

<complexType id = ID abstract = boolean : ‘false’

block = ( ‘#all’ | List of ( ‘extension’ | ‘restriction’ )) final = ( ‘#all’ | List of ( ‘extension’ | ‘ restriction’ )) mixed = boolean : ‘false’

name = NCName >

Content: (annotation?, (simpleContent | complexContent | ((group | all | choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?)))) </complexType>

S i m p l e C o n t e n t §3.4.2 pt1

<simpleContent id = ID>

Content: (annotation?, (restriction | extension)) </simpleContent>

<restriction id = ID base = QName>

Content: (annotation?, (simpleType?, (minExclusive | minInclusive | maxExclusive | maxInclusive | totalDigits | fractionDigits | length | minLength | maxLength | enumeration | whiteSpace | pattern)*)?, ((attribute | attributeGroup)*, anyAttribute?)) </restriction>

<extension id = ID base = QName>

Content: (annotation?, ((attribute | attributeGroup)*, anyAttribute?)) </extension>

C o m p l e x C o n t e n t § 3 . 4 . 2 p t 1

<complexContent id = ID mixed = boolean>

Content: (annotation?, (restriction | extension)) </complexContent>

<restriction id = ID base = QName>

Content: (annotation?, (group | all | choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?)) </restriction>

<extension id = ID base = QName>

Content: (annotation?, ((group | all | choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?))) </extension>

6 E l e m e n t D e c l a r a t i o n § 3 . 3 . 2 p t 1

<element id = ID

abstract = boolean : ‘false’

block = ( ‘#all’ | List of ( ‘extension’ | ‘restriction’ | ‘substitution’ )) default = string

final = ( ‘#all’ | List of ( ‘extension’ | ‘restriction’ )) fixed = string

form = ( ‘qualified’ | ‘unqualified’ )

maxOccurs = (nonNegativeInteger | ‘unbounded’ ) : 1 minOccurs = nonNegativeInteger : 1

name = NCName nillable = boolean : ‘false’

ref = QName

substitutionGroup = QName type = QName >

Content: (annotation?, ((simpleType | complexType)?, (unique | key | keyref)*)) </element>

7 C o n t e n t M o d e l § 3 . 8 . 2 p t 1

<choice id = ID

maxOccurs = (nonNegativeInteger | ‘unbounded’ ) : 1 minOccurs = nonNegativeInteger : 1}>

Content: (annotation?, (element | group | choice | sequence | any)*) </choice>

<sequence id = ID

maxOccurs = (nonNegativeInteger | ‘unbounded’ ) : 1 minOccurs = nonNegativeInteger : 1}>

Content: (annotation?, (element | group | choice | sequence | any)*) </sequence>

<all id = ID

maxOccurs = 1 : 1 minOccurs = (0 | 1) : 1>

Content: (annotation?, element*) </all>

8 W i l d c a r d S c h e m a C o m p o n e n t § 3 . 1 0 . 2 p t 1

<any id = ID

maxOccurs = ( nonNegativeInteger | ‘unbounded’ ) : 1 minOccurs = nonNegativeInteger : 1

namespace = (( ‘##any’ | ‘##other’ ) | List of (anyURI | ( ‘##targetNamespace’ | ‘##local’ )) ) : ‘##any’

processContents = ( ‘lax’ | ‘skip’ | ‘strict’ ) : ‘strict’ >

Content: (annotation?) </any>

§ 3 . 4 . 2 p t 1

<anyAttribute id = ID

namespace = (( ‘##any’ | ‘##other’ ) | List of ( anyURI | ( ‘##targetNamespace’ | ‘##local’ )) ) : ‘##any’

processContents = ( ‘lax’ | ‘skip’ | ‘strict’ ) : ‘stric’t >

Content: (annotation?) </anyAttribute>

9 A t t r i b u t e D e c l a r a t i o n § 3 . 2 . 2 p t 1

<attribute id = ID default = string fixed = string

form = ( ‘qualified’ | ‘unqualified’ ) name = NCName

ref = QName type = QName

use = ( ‘optional’ | ‘prohibited’ |’ required’ ) : ‘optional’ >

Content: (annotation?, (simpleType?)) </attribute>

© 2 0 0 2 , 2 0 0 3 D V i n t P r o d u c t i o n s x m l h e l p @ d v i n t . c o m

http://w w w .xm l . d v i n t . c o m ver 1/03

<length id = ID fixed = boolean : false value = nonNegativeInteger >

Content: (annotation?) </length>

<minLength id = ID fixed = boolean : false value = nonNegativeInteger >

Content: (annotation?) </minLength>

<maxLength id = ID fixed = boolean : false value = nonNegativeInteger >

Content: (annotation?) </maxLength>

<pattern id = ID

value = anySimpleType >

Content: (annotation?) </pattern>

<enumeration id = ID value = anySimpleType >

Content: (annotation?) </enumeration>

<whiteSpace id = ID fixed = boolean : false

value = ( ‘collapse’ | ‘preserve’ |

‘replace’ ) >

Content: (annotation?) </whitespace>

<maxInclusive id = ID fixed = boolean : false value = anySimpleType >

Content: (annotation?) </maxInclusive>

<maxExclusive id = ID fixed = boolean : false value = anySimpleType >

Content: (annotation?) </maxExclusive>

<minInclusive id = ID fixed = boolean : false value = anySimpleType />

Content: (annotation?) </minInclusive>

<minExclusive id = ID fixed = boolean : false value = anySimpleType >

Content: (annotation?) </minExclusive>

<totalDigits id = ID fixed = boolean : false value = positiveInteger >

Content: (annotation?) </totalDigits>

<fractionDigits id = ID fixed = boolean : false value = nonNegativeInteger >

Content: (annotation?) </fractionDigits>

(2)

1 0 E l e m e n t G r o u p D e c l a r a t i o n (parameter entity like) § 3 . 7 . 2 p t 1

<group id = ID

maxOccurs = (nonNegativeInteger | ‘unbounded’ ) : 1 minOccurs = nonNegativeInteger : 1

name = NCName ref = QName >

Content: (annotation?, (all | choice | sequence)?

)

</group>

1 1 A t t r i b u t e G r o u p D e c l a r a t i o n (parameter entity like) § 3 . 6 . 2 p t 1

<attributeGroup id = ID name = NCName ref = QName >

Content: (annotation?, ((attribute | attributeGroup)*, anyAttribute?)) </attributeGroup>

1 2 Identity-constraint Definitions § 3 . 1 1 . 2 p t 1

<unique id = ID name = NCName >

Content: (annotation?, (selector, field+)) </unique>

<key id = ID name = NCName >

Content: (annotation?, (selector, field+)) </key>

<keyref id = ID name = NCName refer = QName >

Content: (annotation?, (selector, field+)) </keyref>

<selector id = ID

xpath = a subset of XPath expression >

Content: (annotation?) </selector>

<field id = ID

xpath = a subset of XPath expression >

Content: (annotation?) </field>

1 3 S c h e m a D o c u m e n t a t i o n C o m p o n e n t s § 3 . 1 3 . 2 p t 1

<annotation id = ID>

Content: (appinfo | documentation)* </annotation>

<appinfo

source = anyURI>

Content: ({any})* </appinfo>

<documentation source = anyURI xml:lang = language>

Content: ({any})* </documentation>

1 4 N o t a t i o n D e c l a r a t i o n § 3 . 1 2 . 2 p t 1

<notation id = ID name = NCName public = anyURI system = anyURI >

Content: (annotation?) </notation>

1 5 D e f i n e d A t t r i b u t e V a l u e s

{ a n y } Any element not part of Schema namespace.

#all All of the values listed

[final attribute] controls further derivation §3.4.1 pt1

list A finite-length (possibly empty) sequence of values

u n i o n A combination of the of one or more other datatypes.

restriction Values for constraining facets are specified to a subset of those

of its base type.

[namespace attribute] controls use of namespaces §3.4.2 pt1

# # a n y Any namespace (default)

# # o t h e r Any namespace other than target namespace

# # t a r g e t N a m e s p a c e Must belong to the target namespace of schema

##local Any unqualified XML from local namespace

[processContents attribute] specify how contents

should be processed for validation §3.10.1 pt1

strict There must be a top-level declaration for the item available, or

the item must have an xsi:type, and must be valid.

s k i p No constraints at all: the item must simply be well-formed.

lax Validate where you can, don't worry when you can't.

[form attribute] controls namespace qualifying §3.2.2 pt1

qualified Namespace qualified

u n q u a l i f i e d No namespace qualification

[use attribute] specifies the use of an attribute §3.2.2 pt1

optional Attribute is optional

p r o h i b i t e d Attribute is prohibited

r e q u i r e d Attribute is required to have a value

[whitespace attribute] specifies whitespace handling §3.1.4 pt 1, §4.3.6 pt 2

p r e s e r v e The value is the normalized value

r e p l a c e All occurrences of tab, line feed and carriage return are replaced

with space.

c o l l a p s e Contiguous sequences of spaces are collapsed to a single space,

and initial and/or final spaces are deleted.

1 6 B u i l t - i n T y p e s

a n y T y p e Built-in Complex type definition of Ur-Type. §3.4.7 pt1

a n y S i m p l e T y p e Built-in Simple type definition of Ur-Type. §3.14.7 pt1

1 7 S c h e m a I n s t a n c e R e l a t e d M a r k u p § 2 . 6 p t 1 a n d § 3 . 2 . 7 p t 1

x s i : t y p e An element in an instance may explicitly assert its type using the

attribute xsi:type. The value is a QName associated with a type definition. §2.6.1 pt1

xsi:nil An element may be valid without content if it has the attribute

xsi:nil with the value true. §2.6.2 pt1 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 ,

x s i : s c h e m a L o c a t i o n Provide hints as to the physical location of schema documents §2.6.3 pt1

1 8

S i m p l e D a t a T y p e s a n d C o n s t r a i n i n g F a c e t s

ver 1/03 S i m p l e D a t a T y p e

a n y U R I u u u u u u

b a s e 6 4 B i n a r y u u u u u u

b o o l e a n u u

b y t e - 1 2 7 t o - 1 2 8 u u u u u u u u u

d a t e - C C Y Y - M M - D D u u u u u u u

length minLength maxLength pattern enumeration whiteSpace maxInclusive maxExclusive minExclusive minInclusive totalDigits fractionDigits

d a t e T i m e - C C Y Y - M M - D D T h h : m m : s s u u u u u u u

d e c i m a l - A r b i t r a r y p r e c i s i o n d e c i m a l

n u m b e r s u u u u u u u u u

d o u b l e - D o u b l e - p r e c i s i o n 6 4 - b i t f l o a t i n g

point u u u u u u u

d u r a t i o n - P n Y n M n D T n H n M n S u u u u u u u

E N T I T I E S u u u u u

E N T I T Y u u u u u u

float - 32-bit floating point type u u u u u u u

g D a y u u u u u u u

g M o n t h u u u u u u u

g M o n t h D a y u u u u u u u

g Y e a r u u u u u u u

g Y e a r M o n t h u u u u u u u

h e x B i n a r y u u u u u u

ID u u u u u u

I D R E F u u u u u u

I D R E F S u u u u u

i n t - 2 1 4 7 4 8 3 6 4 7 t o - 2 1 4 7 4 8 3 6 4 8 . u u u u u u u u u

integer u u u u u u u u u

l a n g u a g e - R F C 1 7 6 6 ] E x a m p l e : e n , f r u u u u u u

list u u u u u u

l o n g - 9 2 2 3 3 7 2 0 3 6 8 5 4 7 7 5 8 0 7 t o -

9 2 2 3 3 7 2 0 3 6 8 5 4 7 7 5 8 0 8 u u u u u u u u u

N a m e u u u u u u

N C N a m e u u u u u u

n e g a t i v e I n t e g e r u u u u u u u u u

N M T O K E N u u u u u u

N M T O K E N S u u u u u

n o n N e g a t i v e I n t e g e r u u u u u u u u u

n o n P o s i t i v e I n t e g e r u u u u u u u u u

n o r m a l i z e d S t r i n g u u u u u u

N O T A T I O N u u u u u u

positiveInteger u u u u u u u u u

Q N a m e u u u u u u

s h o r t - 3 2 7 6 7 t o - 3 2 7 6 8 u u u u u u u u u

string u u u u u u

tim e - h h : m m : s s u u u u u u u

t o k e n u u u u u u

u n i o n u u

u n s i g n e d B y t e - 0 t o 2 5 5 u u u u u u u u u

u n s i g n e d I n t - 0 t o 4 2 9 4 9 6 7 2 9 5 u u u u u u u u u

u n s i g n e d L o n g - 0 t o

1 8 4 4 6 7 4 4 0 7 3 7 0 9 5 5 1 6 1 5 u u u u u u u u u

u n s i g n e d S h o r t - 0 t o 6 5 5 3 5 u u u u u u u u u

S i m p l e D a t a T y p e

length minLength maxLength pattern enumeration whiteSpace maxInclusive maxExclusive minExclusive minInclusive totalDigits fractionDigits

© 2 0 0 2 , 2 0 0 2 D V i n t P r o d u c t i o n s x m l h e l p @ d v i n t . c o m

http://w w w .xm l . d v i n t . c o m

References

Related documents

Previously the insulin used for treatment was isolated from pancreatic insulin producing cells from pigs, today the insulin used for treatment is human insulin and synthesised

Keywords: oral lichen planus, oral mucosal lesion, epidemiology, levothyroxine sodium, thyroid disease, hypothyroidism, autoimmune thyroid disease, antithyroid antibodies,

Access control file Access control file Boot loader configuration file TTY interfaces that allow root logins Users permitted to ctrl-alt-del System access security policy files

sub(pattern, repl, string[, count=0]) Returns string obtained by replacing the (count first) leftmost non- overlapping occurrences of pattern (a string or a RE object) in string

A system wide aliases file (/etc/aliases) provides alternate names for individual users, forwarding of mail to other hosts and mailing lists. This is a

• An instance variable growthRate (type double) for the rate at which the population increases every year (with a negative value if the population is decreasing).. A rate of increase

• a method public int getKerbWeight() that returns the vehicle’s kerb weight in kg;.. • a method public int getMaxLoad() that returns the vehicle’s maximum load

Using analysis of germline DNA from family members affected with SI-NETs and sporadic SI-NET patients, we identified a monoallelic mutation causing an amino acid