document content description for xml, version 1.0
DESCRIPTION
Document Content Description for XML, Version 1.0. By Tim Bray, Charles Frankston and Ashok Malhotra. EECS 684 Presentation by Calvin Ang. Introduction. Presentation Scope Design Principles DCD Framework DCD Vocabulary Datatypes Examples Conclusion. Document Abstract. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/1.jpg)
Document Content Description for XML, Version 1.0
By Tim Bray, Charles Frankston and Ashok Malhotra
EECS 684 Presentation by Calvin Ang
![Page 2: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/2.jpg)
Slide 2
Introduction
Presentation Scope– Design Principles– DCD Framework– DCD Vocabulary– Datatypes– Examples– Conclusion
![Page 3: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/3.jpg)
Slide 3
Document Abstract
Submission to World Wide Web Consortium proposes structural schema facility,
Document Content Description (DCD) rules covering structure & content of XML
documents consistent with ongoing W3C Resource
Description Framework (RDF) effort
DCD is in many respects similar to an XML DTD, although it hopes to achieve more
![Page 4: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/4.jpg)
Slide 4
Sample DCD Code: Airline Booking
DCD code provides constraints for an airline booking
<DCD>
<ElementDef Type="Booking" Model="Elements” Content="Closed">
<Description>Describes an airline reservation</Description>
<Group RDF:Order="Seq">
<Element>LastName</Element>
<Element>FirstInitial</Element>
<Element>SeatRow</Element> <Element>SeatLetter</Element>
<Element>Departure</Element> <Element>Class</Element>
</Group>
</ElementDef>
<!-- example omits boring field declarations -->
<ElementDef Type="SeatRow" Model="Data" Datatype="i1" Min="1" Max="72" />
<ElementDef Type="SeatLetter" Model="Data" Datatype="char" Min="A" Max="K"/>
<ElementDef Type="Class" Model="Data" Datatype="char" Default="1"/>
</DCD>
![Page 5: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/5.jpg)
Slide 5
Sample DCD Code: Airline Booking
Booking record that conforms to the schema
<Booking>
<LastName>Bray</LastName><FirstInitial>T</FirstInitial>
<SeatRow>33</SeatRow><SeatLetter>B</SeatLetter>
<Departure>1997-05-24T07:55:00+1</Departure>
</Booking>
![Page 6: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/6.jpg)
Slide 6
Design Principles
DCD is based on the following design principles:
1. DCD semantics is superset of those provided by XML DTDs
2. DCD data model & syntax conformant with RDF
3. Constraints in DCD are usable by authoring tools and other applications retrieving information
about document’s content and structure4. DCD to use mechanisms from other W3C
working groups wherever appropriate & efficient
5. DCDs should be human-readable and reasonably clear
![Page 7: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/7.jpg)
Slide 7
DCD Framework
Syntax– Conformant to RDF Model & Syntax Specification– Assumes certain simplifications– Syntax only adopted if ratified by RDF working
group
![Page 8: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/8.jpg)
Slide 8
DCD Framework
DCD Nodes and Resource Types– namespace which describes DCD properties and
resources is identified by the URI http://w3.org/Schemas/DCD
– URI contains the following types: DCD, ElementDef, Group, AttributeDef, ExternalEntityDef and InternalEntityDef
– DCD is a document structure description– XML document can fall under the constraints of
more than one DCD• Benefit 1 - single DCD used to provide constraints for
large numbers of separate documents• Benefit 2 - DCD object provides convenient level of
granularity for applying namespace mechanisms
![Page 9: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/9.jpg)
Slide 9
DCD Framework
Resource Types– ElementDef & AttributeDef are more detailed
structure descriptors– provide constraints governing elements &
attributes in the XML document
![Page 10: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/10.jpg)
Slide 10
DCD Framework
Referring to Elements– DCD declarations constrain the content &
attributes of elements in document instances– done by assigning properties to objects of type ElementDef
– Elements may have other elements as children, or have attributes provided with certain names and properties
– Child elements must be collected together into Groups which have Order and Occurs properties
– Each ElementDef must have a unique Type property within the DCD
![Page 11: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/11.jpg)
Slide 11
DCD Framework
Referring to Elements – attributes & elements referred to in a particular
DCD may come from the same DCD or from other DCDs identified by namespaces
– if element definition comes from another namespace, the value of the Type property may be a qualified name, where the prefix identifies the namespace
![Page 12: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/12.jpg)
Slide 12
Sample DCD Code: Namespace
Element definition comes from another namespace FirstName, MI and LastName are defined elsewhere in the DCD but
Address comes from a namespace declared with a common prefix
<ElementDef Type="person" Model="Elements">
<Group RDF:Order="Seq">
<Element>FirstName</Element>
<Group Occurs="Optional">
<Element>MI</Element>
</Group>
<Element>LastName</Element>
<Element>common:Address</Element>
</Group>
</ElementDef>
![Page 13: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/13.jpg)
Slide 13
DCD Framework
Referring to Attributes– Attributes are defined in DCDs using objects of
type AttributeDef– Attribute property
• occur on its own as a property of the DCD, or• occur within an element definition
– Global property whose value may be True or False (default)
• If value of Global property True, the name property must be unique in the DCD
– Global attributes can be referred to by their names in any element definition within the DCD
![Page 14: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/14.jpg)
Slide 14
Sample DCD Code: Global Attributes
Hidden is a global attribute in the DCD, while schemas:CLASS is a global attribute from another namespace
<DCD>
<AttributeDef Name="Hidden" Default="False" Global="True" />
<ElementDef Type="MyType" />
<Attribute>Hidden</Attribute>
<Attribute>schemas:CLASS</Attribute>
</ElementDef>
</DCD>
![Page 15: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/15.jpg)
Slide 15
DCD Vocabulary
Properties Which Apply to DCDs– AttributeDef
• declares an attribute type which may be provided for one or more elements in such documents
• property does not assert that the attribute is provided for any individual element type
– Description• provides a presumably human-readable description of
the semantics and usage of this DCD• Value of this property must match the Content under
the XML specification
![Page 16: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/16.jpg)
Slide 16
DCD Vocabulary
Properties Which Apply to DCDs– InternalEntityDef & ExternalEntityDef
• identify an entity which may be invoked via reference within such documents
• value of these properties must be a Node (in RDF terms)• resource which is the property value must be identified
by the class mechanism as an InternalEntityDef or ExternalEntityDef
– Contents• signals where elements of types not explicitly declared
via ElementDef properties may appear in such documents
• value of property must be a string whose value is Open or Closed
![Page 17: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/17.jpg)
Slide 17
DCD Vocabulary
Properties Which Apply to DCDs– Namespace
• provides the namespace of DCD• value of this property must be a URI which identifies a
namespace• this property is required to exist for every DCD• applies to all elements & attributes attached by
properties to the DCD
<DCD>
<?DCD syntax="explicit"?>
<Description>about HTML</Description>
<Namespace>http://www.w3.org/TR/REC-html40</Namespace>
<ElementDef Type="B" Model="Data"/>
</DCD>
![Page 18: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/18.jpg)
Slide 18
DCD Vocabulary
Properties Which Apply to Element Definitions– Attribute & AttributeDef
• identifies attributes which may be provided for elements of this type
• no element definition may have two Attribute or AttributeDef properties referencing attributes that have the same name
– Contents• signals whether elements of types not explicitly declared
via the Group property may appear as children of elements of this type
• value of this property must be a string whose value is Open or Closed
![Page 19: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/19.jpg)
Slide 19
DCD Vocabulary
Properties Which Apply to Element Definitions– Datatype
• identifies a specific datatype which constrains the content of elements of this type
• value of property must be a string which matches one of an enumerated list of datatypes
• property is only meaningful if the value of the Model property is Data
![Page 20: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/20.jpg)
Slide 20
DCD Vocabulary
Properties Which Apply to Element Definitions– Default & Fixed
• provides default values for the content of elements of this type
• signals whether any value other than the default is allowed• value of default property must be a string• only allowed values of the Fixed property are the strings True & False
• default property is only meaningful if value of the Model property is Data
![Page 21: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/21.jpg)
Slide 21
DCD Vocabulary
Properties Which Apply to Element Definitions– Description
• provides presumably human-readable description of semantics and usage of elements of this type
• value of property must match production labeled Content in the XML specification
![Page 22: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/22.jpg)
Slide 22
DCD Vocabulary
Properties Which Apply to Element Definitions– Groups, Occurs & Order
• an ElementDef whose Model property has the value Elements must also have a single property named Group, containing specification of the elements and groups which can appear as children of elements of this type
• Occurs can take one of 4 values– Required (occurs exactly once)… default value– Optional (occurs zero or only once)– OneOrMore (occurs one or more times)– ZeroOrMore (occurs zero or more times)
• Order– Seq (children must occur in specified order… default value)– Alt (only one of specified children may appear)
![Page 23: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/23.jpg)
Slide 23
DCD Vocabulary
Properties Which Apply to Element Definitions– Max, Min, MaxExclusive, MinExclusive
• provide upper & lower bounds on the content of elements of this type
• Max and Min allow values upto and including the bound• MaxExclusive and MinExclusive allow value less than and
greater than the bound, respectively• properties are only meaningful if value of Model property
is Data
– Model• indicates which of 5 broad classes of constraints apply to
the content of elements of this type• value of this property must be a string whose value is one
of Empty, Any, Data*, Elements, or Mixed (*default)
![Page 24: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/24.jpg)
Slide 24
DCD Vocabulary
Properties Which Apply to Element Definitions– Root
• element definitions can have a root property that indicates whether an element of that type can serve as the root of a conforming document
• allowed values are True and False (default)
– Type• gives the type of the element• property required for every Element resource in DCD• may not contain a prefix or a colon
![Page 25: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/25.jpg)
Slide 25
DCD Vocabulary
Properties Which Apply to Attribute Definitions– Global
• indicates whether name property of this attribute must be unique in the DCD
• can serve as an address for this attribute definition• possible values are True and False (default)
– ID-Role• signals that attribute has unique identifier or unique ID
pointer semantics• value of property must be a string whose value is one of ID, IDREF, or IDREFS
![Page 26: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/26.jpg)
Slide 26
DCD Vocabulary
Properties Which Apply to Attribute Definitions– Name
• gives name of the attribute• property required for every Attribute resource in DCD• may not contain a prefix or a colon
– Occurs• indicates whether the presence of the Attribute is
required• can take one of two values
– Required
– Optional
![Page 27: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/27.jpg)
Slide 27
DCD Vocabulary
Properties Which Apply to Internal Entity Definitions– Name
• name by which the entity may be invoked• property is required for every InternalEntity definition
resource in DCD
– Value• provides replacement text for the internal entity• value of this property must match the production labeled Content in the XML specification
• may contain markup and is well-formed
![Page 28: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/28.jpg)
Slide 28
DCD Vocabulary
Properties Which Apply to External Entity Definitions– Name
• name by which the entity may be invoked
• required to be present for every ExternalEntity definition resource in DCD
– PublicID• provides a public identifier for the entity
• a string with syntax and semantics similar to XML specifications
– SystemID• provides system identifier for the entity
• must be provided for every ExternalEntity resource in DCD
![Page 29: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/29.jpg)
Slide 29
Datatypes
Datatype Specifications– modeled after datatypes supported by SQL &
other modern programming languages– purpose
• specify maximum values on certain datatypes• specify syntax to constrain value of particular
element/attribute within these maximum values• specify acceptable formats for specification of such
datatypes
– referenced from datatype namespace– some require additional properties to be specified
![Page 30: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/30.jpg)
Slide 30
Datatypes
Datatypes in Instances– provides benefit of datatype support to well-formed
documents that may not have an associated DTD or DCD
– XML parsers expected to provide assistance in encoding & decoding these datatypes
![Page 31: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/31.jpg)
Slide 31
Datatypes
Picture Constraints– picture is an alphanumeric string consisting of
character symbols – each symbol usually one character– may be two characters– can be used to constrain format of strings– in some cases control their conversion to numbers
![Page 32: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/32.jpg)
Slide 32
Examples : Picture Constraints
Used to constrain the format of strings & in some cases control their conversion to numbers
A A single alphabetic character.
B A single blank character.
E The character E, used to indicate floating point numbers.
S The leftmost character of a picture indicating a signed number. The characters "+” or "-" may appear in the S position.
V An implied decimal sign. The input 1234 validated by a picture 99V99 is converted into 12.34.
X Any character.
Z The leftmost leading numeric character that can be replaced by a space character when the content of that content position is a zero.
9 Any numeric character.
1 Any boolean character (0 or 1).
0,/,-,., and , Represent themselves.
cs The currency symbol.
![Page 33: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/33.jpg)
Slide 33
Examples : Picture Constraints
Used to constrain the format of strings & in some cases control their conversion to numbers
$123,45.90 satisfies picture $999,99.99
$123,45.90 satisfies picture XXXX,XX.XX
123-45-5678 satisfies picture 999-99-9999
(Social Security Number)
24E80 satisfies picture 99E99 (floating point)
23.45 satisfies picture 99.99
2345 satisfies picture 99V99 (translates to 23.45)
![Page 34: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/34.jpg)
Slide 34
Conclusion
Future Work– DCD’s full potential– requests from database community– several types of constraints required beyond those
described• Subclassing and Inheritance• Database Interface• The &-Connector
![Page 35: Document Content Description for XML, Version 1.0](https://reader035.vdocuments.site/reader035/viewer/2022062322/56814f0a550346895dbc9e06/html5/thumbnails/35.jpg)
Slide 35
References
Document Content Description for XML– http://www.w3.org/TR/NOTE-dcd
Namespaces in XML– http://www.w3.org/TR/REC-xml-names/
Resource Description Framework Model & Syntax Specification– http://www.w3.org/TR/PR-rdf-syntax/