Upload
kana
View
36
Download
0
Embed Size (px)
DESCRIPTION
XML Data Reduced Schema. Eugenia Fernandez IUPUI. Problems with DTDs. Not expressed in XML syntax – must learn new language Little control over data types Not easily extensible Does not support XML namespaces, thus cannot mix elements from multiple sources. History of XDR. - PowerPoint PPT Presentation
Citation preview
XML Data Reduced Schema
Eugenia Fernandez
IUPUI
Problems with DTDs
Not expressed in XML syntax – must learn new language
Little control over data typesNot easily extensibleDoes not support XML namespaces, thus
cannot mix elements from multiple sources
History of XDR
Based on a submission to the W3CSubset of Microsoft’s full XML-Data
recommendationProposal submitted in January 1998 before
XML 1.0 standard was doneIntegral part of BizTalk, an XML
vocabulary used for e-commerce
XDR Schema
Root element is always SchemaRoot element always contains
– a name attribute that specifies the name of the schema
– an xmlns attribute that specifies the default namespace for the Schema element and its child elements
XDR Schema Element
<Schema name="myschema"
xmlns="urn:schemas-microsoft.com:xml-data"
xmlns:dt="urn:schemas-microsoft.com:datatypes">
.
.
.
</Schema>
XDR Element Syntax
<ElementType
content="{empty | textOnly | eltOnly | mixed}"
dt:type="datatype"
model="{open | closed}"
name="idref"
order="{one | seq | many}">
ElementType Content
empty textOnly eltOnly
– only other elementsmixed
– mixed content model
Linking an XDR Schema to an XML DocumentAdd xmlns attribute to root element
<root_element xmlns = x-schema:filename.xdr">
</root_element>
Element Datatypes
boolean chardatedateTime float intnumber
string time fixed.14.4 i1, i2, i4, i8 r4, r8ui1, ui2, ui4, ui8uri
For a complete list, go to http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/htm/xsd_xdrref_5s8j.asp
ElementType Model
Open– can contain other elements & attributes not
specified in the schema
Closed– cannot include elements or other content not
specified in the schema
ElementType Name
name="idref"– required,– identifies the element
ElementType Order
Establishes the order of the child elementsOne
– only one element of the set can be included
Seq– elements must appear in the specified sequential
order
Many– elements may appear, or not, in any order
Declaring Child Elements
use element tag nested within ElementType tag with name of child element contained in type attribute
a matching ElementType must exist for the child element
<ElementType name="parent" model="closed" content="eltonly">
<element type="child"/></ElementType>
<ElementType name="child" model="closed" content="textOnly"/>
Declaring Attributes
Add AttributeType element as a child of the element to which the attribute belongs– declares a type of attribute
Pair it with an attribute element – defines an attribute for that particular
element
AttributeType Syntax
<AttributeType
default="default_value"
dt:type="primitive-type"
dt:values="enumerated-values"
name="idref"
required="{yes | no}">
AttributeType dt:types
entity entities enumeration id idref idrefs
nmtokennmtokensnotation string
Attribute Element Syntax
<attributedefault="default_value"type="attribute-type"[required="{yes | no}"] >
overrides any default provided in AttributeType
must match name attribute of previously declared AttributeType
optional if required attribute used in AttributeType
Occurrence Indicators
via child elements of the element tag<element
type="element-type"
[minOccurs="{0 | 1}"]
[maxOccurs="{1 | *}"] >
optionalrequired
only once many times
Attribute Length Constraints
for attributes with dt:type of string or number
via attribute of AttributeType element– dt:minLength="positive-integer"
– dt:maxLength="positive-integer"
Content Groups
Establishes constraints on a group of child elements within an ElementType element<group order="{one | seq | many}"
minOccurs="{0|1}" maxOccurs="{1|*}"
<element type="ElementType"/>
<element type="ElementType"/>
<element type="ElementType"/>
</group>
References
Day 5 in Sams Teach Yourself XML in 21 Days, Second Edition (Sams Publishing, 2001)