XML : Schema Design (Second Edition) 

Course Specifications 
Course number: 077953
Software Version Number: 1.0
Course length: 1 day

Course Description

Overview:  This course introduces XML Schemas, the new and preferred way to design and validate XML documents and data. The XML Schemas specification is maintained by the W3C (World Wide Web Consortium) and achieved full Recommendation status in the spring of 2001. It is a core part of the growing family of XML technologies, and is set to replace the XDR (XML Data Reduced) and various other schema recommendations that had been used while the industry waited for the final recommendation. Students in this course will learn all the basic components of the XML Schemas recommendation, including its elements, attributes, data types, and facets. They will also learn techniques for XML document and data modeling, an essential aspect of Schema design. The MSXML 4.0 parser is used for document validation. A simple text editor, such as Notepad, is used for editing.

Prerequisites:   This course was designed for the student who already has a general knowledge of the concepts and technologies involved in XML programming. To ensure your success, we recommend you first take the Element K course or have equivalent knowledge:
•	XML: An Introduction (Second Edition)
  Prior knowledge of XML DTDs is very helpful for this course. The following Element K course is recommended, but not required: 
•	XML: DTD Design (Second Edition)
  Prior knowledge of traditional Web development technologies, such as HTML and Web scripting, is helpful but not required.

Delivery Method:  Instructor-led, group-paced, classroom-delivery learning model with structured hands-on activities.

Benefits:  Students will learn the basics of the XML Schemas recommendation, as well as techniques for XML document and data modeling.

Target student:  This course is for anyone already introduced to the basics of XML and its related technologies, and who is interested in XML programming and data/document modeling. Knowledge of and experience with XML DTD design is preferable.

What’s Next:  This course is a part of a series of courses that provide the foundation of XML technologies. After having learned about DTDs and Schemas, XSL/XSLT, XML DOM, and XLink/XPointer/XPath, students will be well-poised to start integrating XML support into their Web applications using ASP, ADO, Java, various database management systems, ColdFusion, JSP, and so on.

Hardware/Software Requirements: You will need: 
•	A Pentium-based PC, 300 MHz or higher.
•	32 MB RAM minimum (64 MB RAM recommended).
•	Windows 98/ME/NT/2000/XP.
•	A text editor; for example, Notepad.
•	MS Internet Explorer 5.0 or higher.
•	MSXML 4.0 Parser (Preview Release or more recent).

Performance-Based Objectives
Lesson objectives help students become comfortable with the course, and also provide a means to evaluate learning. Upon successful completion of this course, students will be able to:
•	Analyze the role of schemas in XML validation and their strengths over alternatives and use the MSXML parser to validate documents using two earlier validation methods (DTDs and XDR schemas).
•	Plan and model information from diverse sources by creating an ontology, and then mapping that ontology to XML components.
•	Create element and attribute declarations, complex type definitions, and annotation information in writing your first schema.
•	Increase the control that a schema has by using restrictions based on occurrence and identity constraints.
•	Use data types, derived simple types, and facets to add more power to a schema.
•	Provide additional modularity to your XML by importing, including, and redefining schemas and definitions.

Course Content

Lesson 1: XML and the Rise of Schemas
          Topic 1A: The World of XML
          Topic 1B: DTDs and the Role of Validation
          Topic 1C: The Rise of XML Schemas

Lesson 2: XML Document and Data Modeling
          Topic 2A: The Planning Stage
          Topic 2B: Modeling Documents, Data, and the World

Lesson 3: Elements, Attributes, and Complex Types
          Topic 3A: Schema Namespaces and Documentation
          Topic 3B: Complex Type Definitions
          Topic 3C: Element Declarations
          Topic 3D: Attribute Declarations

Lesson 4: Occurrence and Identity Constraints
          Topic 4A: Minimum and Maximum Occurrence Constraints
          Topic 4B: Schema Keys and Data Uniqueness

Lesson 5: Data Types and Facets
          Topic 5A: Data Typing and its Importance
          Topic 5B: Explicit Simple Type Definitions
          Topic 5C: XSD Facets

Lesson 6: Schema Modularity
          Topic 6A: Schema Modularity

Appendix A: XSD Schemas Reference
    Elements