35
Document Content Description for XML, Version 1.0 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

Document Content Description for XML, Version 1.0 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Document Content Description for XML, Version 1.0 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

Slide 2

Introduction

Presentation Scope– Design Principles– DCD Framework– DCD Vocabulary– Datatypes– Examples– Conclusion

Page 3: Document Content Description for XML, Version 1.0 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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 By Tim Bray, Charles Frankston and Ashok Malhotra EECS 684 Presentation by Calvin Ang

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/