1EdTech Content Packaging XML Binding Version 1.1.2 Final Specification |
Copyright © 2001 1EdTech Consortium, Inc. All Rights Reserved. The 1EdTech Logo is a trademark of 1EdTech Consortium, Inc. Document Name: 1EdTech Content Packaging XML Binding Revision: 8 August 2001
IPR and Distribution Notices Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the specification set forth in this document, and to provide supporting documentation. 1EdTech takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on 1EdTech's procedures with respect to rights in 1EdTech specifications can be found at the 1EdTech Intellectual Property Rights web page: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf. Copyright © 2001 1EdTech Consortium. All Rights Reserved. Permission is granted to all parties to use excerpts from this document as needed in producing requests for proposals. Use of this specification to develop products or services is governed by the license with 1EdTech found on the 1EdTech website: http://www.imsglobal.org/license.html. The limited permissions granted above are perpetual and will not be revoked by 1EdTech or its successors or assigns. THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTER'S OWN RISK, AND NEITHER THE CONSORTIUM, NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION. |
Table of Contents
1. Introduction
1.1 Overview
This document describes the XML binding for the 1EdTech Content Packaging specification. This document specifies the binding of the Content Packaging specification in the W3C XML 1.0 Specification.
There are some specific rules that have guided the creation of this XML binding document:
- The XML binding will adhere to the XML 1.0 Specification of the W3C.
- It must maintain the definitional structure of the specification.
- It must permit extensions.
1.2 Scope & Content
This document is the 1EdTech Content Packaging XML Binding specification. As such it will be used as the basis for the production of the following documents:
This binding has been derived from the agreed 1EdTech Content Packaging Information Model and conforms to the XML 1.0 Specification [XML, 98] of the W3C.
1.3 Structure of this Document
The structure of this document is:
1.4 Nomenclature
CDATA | Character Data |
CPI | Content & Packaging Interchange |
DTD | Document Type Definition |
PCDATA | Parsed Character Data |
W3C | World Wide Web Consortium |
XML | Extensible Mark-up Language |
1.5 References
[ISO/IEC10646] | ISO (International Organization for Standardization). ISO/IEC 10646-1993 (E). Information technology - Universal Multiple-Octet Coded Character Set (UCS) - Part 1: Architecture and Basic Multilingual Plane. [Geneva]: International Organization for Standardization, 1993 (plus amendments AM 1 through AM 7). |
[Unicode, 96] | The Unicode Consortium. The Unicode Standard, Version 2.0. Reading, Mass.: Addison-Wesley Developers Press, 1996. |
[XML, 98] | XML 1.0 Specification of the W3C: http://www.w3.org/TR/1998/REC-xml-19980210. |
[XML, 99] | XML Namespace Recommendation of W3C: http://www.w3.org/TR/1999/REC-xml-names-19990114. |
XML Schema Recommendation of W3C: http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/. |
2. XML Basics
The Content Packaging data model can be defined as a hierarchy. Hierarchical models are convenient for representing data consisting of many elements and sub-elements. XML is perfectly suited for representing hierarchical models. An XML document is a hierarchy comprised of elements that have contents and attributes.
2.1 Elements
An element is a component of a document that has been identified in a way a computer can understand. Each element has a tag name. When a tag name is shown as "<TAGNAME>", with less-than and greater-than symbols before and after the tag name, it serves as the start-tag to mark the beginning of an element. When that same tag name has a forward slash "/" added, it serves as an end-tag such as "</TAGNAME>". An element may have contents between its start and end-tags, and may have one or more attributes. When an XML element has a start and end-tag (also called an opening and closing tag) with a common name, it is considered to be "well-formed" XML. The contents of an element are placed between the start and end-tags as shown below:
<TAGNAME>contents</TAGNAME>
2.1.1 Element Contents
An element may contain other elements, Parsed Character Data (PCDATA), Character Data (CDATA), or a mixture of PCDATA and elements. The allowable contents of an element are its content model. PCDATA really means any character string that does not contain elements. PCDATA is what the bulk of elements will use between their start and end-tags. CDATA is different in that it is a method for adding any character data that should not be processed. For example, you could add some JavaScript code instructions using a CDATA section. A CDATA section tells the parser not to look for any mark-up until after it locates the end of the CDATA section.
2.1.2 Element Attributes
An attribute provides additional information about an element. Attributes are a way of attaching characteristics or properties to the elements of a document. An element may have more than one attribute. Attributes are contained within the start tag of an element. Attributes are represented by an attribute name followed by an equal sign and the attribute value in quotation marks:
<timeframe> <begin restrict="1"> 1999-07-23 </begin> </timeframe>
In this example, the timeframe element contains another element: the begin element. The begin element has one attribute "restrict", with the value "1". The value for the element BEGIN is "1999-07-23". These two elements then make up a timeframe begin date.
2.1.3 Element Names
Each element has a unique name, referred to as the tag name. XML is case-sensitive in its processing of tag names. The 1EdTech Content Packaging XML Binding adheres to the following tag name rules:
- All tag names will conform to the rules for element naming as given within the XML 1.0 Specification.
- Names beginning in XML in any case or mix of cases are not permitted.
- The 1EdTech binding will use only lowercase tag and element names.
- Element names may not include words reserved by the XML specification. These include:
DOCTYPE
ELEMENT
ATTLIST
ENTITY
2.2 Document Type Definitions
The tag name, content model, and attributes of elements are defined in a Document Type Definition (DTD) statement. This may exist as an external file or a block of text internal to an XML document. Internal DTDs are used to override elements defined in external DTD files, so an internal DTD should be used with care. The DTD defines the elements that may be used and may define the contents of the elements.
This specification defines a DTD (imscp_rootv1p1.dtd) as a non-normative reference. Some XML editors may make use of a DTD to help guide the developer in creating the proper elements at the proper locations in an XML file. Other developers will make use of DTDs to validate their XML documents to ensure their document is consistent with all of the element names and locations defined in the DTD. Details of the construction of DTDs are outside the scope of this document, but links to the XML 1.0 Specification are included in section 1.5 of this document.
2.3 XML Schemas
A schema is a formal specification of element names that indicates which elements are allowed in an XML document, and in which combinations. New schema languages, such as those defined in the XML-Schemas Working Group, provide the same baseline functionality as a DTD. However, because these schema languages are extensible, developers can augment them with additional information, such as data types, inheritance, and presentation rules. This makes these new schema languages far more powerful than DTDs. For more information about XML schemas, there is a link to the W3C XML Schema Recommendation in section 1.5.
This specification defines a W3C XML Schema as a non-normative reference. Some XML editors may make use of schemas to help guide the developer in creating the proper elements at the proper locations in an XML file. Other developers will make use of schemas to validate their XML documents and/or to define extensions to the 1EdTech Content Packaging Binding. Details of the construction of schemas are outside the scope of this document.
2.4 Valid Character Sets
A Content Packaging record must use UTF-8 or UTF-16 encoding of the character sets as defined in ISO 10646. See the XML Version 1.0 for more details on the specification of well-formed XML.
2.5 Special Handling Requirements
2.5.1 XML Reserved Characters
Some characters used in XML must be escaped when used outside of their XML-defined usage as found in section 2.4 of the XML 1.0 Specification. These characters are ampersand (&), less than (<), greater than (>), apostrophe ('), and the double-quote character (").
These characters may be represented using either numeric character references or the strings "&", "<", ">", "'", and """.
Below is a more complete quote from the W3C XML standards:
Quote from Extensible Markup Language (XML) 1.0
W3C Recommendation 10-February-1998
2.4 Character Data and Markup
"Text consists of intermingled character data and markup. Markup takes the form of start-tags, end-tags, empty-element tags, entity references, character references, comments, CDATA section delimiters, document type declarations, and processing instructions.
"All text that is not markup constitutes the character data of the document.
"The ampersand character (&) and the left angle bracket (<) may appear in their literal form only when used as markup delimiters, or within a comment, a processing instruction, or a CDATA section. They are also legal within the literal entity value of an internal entity declaration; see "4.3.2 Well-Formed Parsed Entities". If they are needed elsewhere, they must be escaped using either numeric character references or the strings "&" and "<" respectively. The right angle bracket (>) may be represented using the string ">", and must, for compatibility, be escaped using ">" or a character reference when it appears in the string "]]>" in content, when that string is not marking the end of a CDATA section.
"In the content of elements, character data is any string of characters, which does not contain the start-delimiter of any markup. In a CDATA section, character data is any string of characters not including the CDATA-section-close delimiter, "]]>".
"To allow attribute values to contain both single and double quotes, the apostrophe or single-quote character (') may be represented as "'", and the double-quote character (") as """."
2.5.2 White Space Handling
Questions often arise as to whether web-based data transmission tools might inadvertently strip off or transform some of the white space characters embedded in data transmitted between systems using XML. To eliminate concern about this issue, refer to the following quote from the W3C XML standards, which indicate that all white space must be preserved where it is part of the data.
Quote from Extensible Markup Language (XML) 1.0
W3C Recommendation 10-February-1998
2.10 White Space Handling
"In editing XML documents, it is often convenient to use "white space" (spaces, tabs, and blank lines, denoted by the non-terminal S in this specification) to set apart the mark-up for greater readability. Such white space is typically not intended for inclusion in the delivered version of the document. On the other hand, "significant" white space that should be preserved in the delivered version is common, for example in poetry and source code.
"An XML processor must always pass all characters in a document that are not mark-up through to the application. A validating XML processor must also inform the application which of these characters constitute white space appearing in element content.
"A special attribute named xml:space may be attached to an element to signal an intention that in that element, white space should be preserved by applications. In valid documents, this attribute, like any other, must be declared if it is used. When declared, it must be given as an enumerated type whose only possible values are "default" and "preserve". For example:
"<!ATTLIST poem xml:space (default|preserve) 'preserve'>
"The value "default" signals that applications' default white-space processing modes are acceptable for this element; the value "preserve" indicates the intent that applications preserve all the white space. This declared intent is considered to apply to all elements within the content of the element where it is specified, unless overridden with another instance of the xml:space attribute. "
3. Narrative Description of XML Binding
This specification defines the XML format using narrative. XML DTDs and XML Schemas that implement this abstract format are referenced as non-normative parts of this specification.
3.1 <manifest> Elements
Description. The first, top-level <manifest> element in the Manifest encloses all the reference data. Subsequent occurrences of the <manifest> elements inside the top-level <manifest> are used to compartmentalize files, meta-data, and organization structure for aggregation, disaggregation, and reuse. The best-practice use of the 1EdTech Content Packaging specification will result in each "learning object" or "atomic unit of learning" being placed within its own <manifest> element.
Multiplicity. The top-level <manifest> occurs once and only once within the 1EdTech Manifest file.
Attributes
- identifier (required). An identifier, provided by an author or authoring tool, that is unique within the Manifest. Data type = string.
- version (optional). Identifies the version of the Manifest. Is used to distinguish between manifests with the same identifier. Data type = string.
Elements
3.1.1 <metadata>
Multiplicity. Occurs zero or once within a <manifest> element.
Elements
- <schema>
- <schemaversion>
- 1EdTech Meta-Data: Implementers are free to choose from any of the meta-data elements defined in the 1EdTech Meta-Data specification.
Example
<metadata> <schema>1EdTech Content</schema> <schemaversion>1.1</schemaversion> <imsmd:record> <imsmd:general> <imsmd:title> <imsmd:langstring xml:lang="en-US">Simple Manifest</imsmd:langstring> </imsmd:title> </imsmd:general> </imsmd:record> </metadata>
3.1.2 <organizations>
Description. Describes zero, one, or more structures or organizations for this package.
Multiplicity. Occurs zero, once, or more within a <manifest> element.
Attributes
Elements
Example
<organizations default="TOC1"> <organization identifier="TOC1" structure="hierarchical"> <title>default</title> <item identifier="ITEM1" identifierref="RESOURCE1" isvisible="true"> <title>Lesson 1</title> <item identifier="ITEM2" identifierref="RESOURCE2" isvisible="true"> <title>Introduction 1</title> </item> <item identifier="ITEM3" identifierref="RESOURCE3" isvisible="true"> <title>Content 1</title> </item> <item identifier="ITEM4" identifierref="RESOURCE4" isvisible="true"> <title>Summary 1</title> </item> </item> <item identifier="ITEM5" identifierref="RESOURCE5" isvisible="false"> <title>Lesson 2</title> <item identifier="ITEM6" identifierref="RESOURCE6" isvisible="false"> <title>Introduction 2</title> </item> <item identifier="ITEM7" identifierref="RESOURCE7" isvisible="false"> <title>Content 2</title> </item> <item identifier="ITEM8" identifierref="RESOURCE8" isvisible="false"> <title>Summary 2</title> </item> </item> <item identifier="ITEM9" identifierref="RESOURCE9" isvisible="true"> <title>Lesson 3</title> <item identifier="ITEM10" identifierref="RESOURCE10" isvisible="true" parameters="foo"> <title>Introduction 3</title> </item> <item identifier="ITEM11" identifierref="RESOURCE11" isvisible="true"> <title>Content 3</title> </item> <item identifier="ITEM12" identifierref="RESOURCE12" isvisible="true"> <title>Summary 3</title> </item> </item> </organization> </organizations>
3.1.3 <resources>
Description. This element identifies a collection of physical content files.
Multiplicity. Occurs once and only once within a <manifest> element.
Attributes
- xml:base (optional). This provides a relative path offset for the content file(s). The usage of this element is defined in the XML Base Working Draft from the W3C. Data type = string.
Elements
Example
<resources> <resource identifier="RESOURCE1" type="webcontent" href="lesson1.htm"> <file href="lesson1.htm"/> </resource> <resource identifier="RESOURCE2" type="webcontent" href="intro1.htm"> <file href="intro1.htm"/> </resource> <resource identifier="RESOURCE3" type="webcontent" href="content1.htm"> <file href="content1.htm"/> </resource> <resource identifier="RESOURCE4" type="webcontent" href="summary1.htm"> <file href="summary1.htm"/> </resource> </resources>
3.2 <metadata> Elements
3.2.1 <schema>
Description. Describes the schema used (e.g., 1EdTech Content). If no schema element is present, it is assumed to be "1EdTech Content". Data type = string.
Multiplicity. Occurs zero or once within <metadata>.
Example
<schema>1EdTech Content</schema>
3.2.2 <schemaversion>
Description. Describes version of the above schema (e.g., 1,0, 1.1). If no version is present, it is assumed to be "1.1". Data type = string.
Multiplicity. Occurs zero or once within <metadata>.
Example
<schemaversion>1.1</schemaversion>
3.2.3 1EdTech Meta-data
Description. See the 1EdTech Meta-Data specification for more detail on the meta-data that are available for describing and cataloguing content packages.
Multiplicity. Defined in the 1EdTech Meta-Data specification.
Example: In-line meta-data
<metadata> <imsmd:record> <imsmd:general> <imsmd:title> <imsmd:langstring xml:lang="en-US">Simple Manifest</imsmd:langstring> </imsmd:title> </imsmd:general> </imsmd:record> </metadata>
3.3 <organizations> Elements
3.3.1 <organization>
Description. This element describes a particular, passive organization of the material.
Multiplicity. Occurs zero or more times within <organizations>.
Attributes
- identifier (required). An identifier, provided by an author or authoring tool, that is unique within the Manifest. Data type = id.
- structure (optional). Assumes a default value of "hierarchical", such as is common with a tree view or structural representation of data. Data type = string.
Elements
Example
<organization identifier="TOC1"> <title>default</title> <item identifier="ITEM1" identifierref="RESOURCE1" isvisible="true"> <title>Lesson 1</title> </item> <item identifier="ITEM2" identifierref="RESOURCE2" isvisible="true"> <title>Introduction 1</title> </item> </organization>
3.3.2 <title>
Description. This element describes the title of an <item>.
Multiplicity. Occurs zero or more times within <item>.
3.3.3 <item>
Description. This element describes a node within a structure.
Multiplicity. Occurs zero or more times within <organization> and zero or more times within <item>.
Attributes
- identifier (required). An identifier that is unique within the Manifest . Data type = id.
- identifierref (optional). A reference to a <resource> identifier (within the same package) or a (sub)Manifest that is used to resolve the ultimate location of the file. If no identifierref is supplied, it is assumed that there is no content associated with this entry in the organization. Data type = string.
- isvisible (optional). Indicates whether or not this resource is displayed when the unit of instruction is rendered. If not present, value is assumed to be 1. Data type = boolean.
- parameters (optional). Static parameters to be passed to the content file at launch time. Data type = string.
Elements
<item identifier="ITEM3" identifierref="RESOURCE3" isvisible="true"> <title>Content 1</title> </item>
3.3.4 <metadata>
Description. This element contains meta-data that describes the resource. Implementers are free to choose from any of the meta-data elements defined in the 1EdTech Meta-Data specification or to define their own meta-data schema.
Multiplicity. Occurs zero or once within <organization>.
Example
<organization identifier="TOC1"> <metadata> <!-- schema and schemaversion not given as they apply at manifest level --> <imsmd:record> <imsmd:educational> <imsmd:interactivitylevel>1</imsmd:interactivitylevel> </imsmd:educational> </imsmd:record> </metadata> </organization>
3.4 <resources> Elements
A collection of references to resources. There is no assumption of order or hierarchy. Resources can be described in-line or externally.
3.4.1 <resource>
Description. This element describes a specific content file.
Multiplicity. Occurs zero or more times within <resources>.
Attributes
- identifier (required). An identifier, provided by the author or authoring tool, that is unique within the Manifest.
- type (required). A string that identifies the type of resource. This specification defines only type "webcontent".
- xml:base (optional). This provides a relative path offset for the content file(s). The usage of this element is defined in the XML Base Working Draft from the W3C. Data type = string.
- href (optional). A reference to the "entry point" of this resource. External fully-qualified URIs are also permitted.
Elements
Example: In-line resource
<resource identifier="RESOURCE2" type="webcontent" href="topics/index.htm"> <file href="topics/index.htm"/> <file href="images/pic1.gif"/> <file href="images/pic2.gif"/> </resource>
3.4.1.1 <metadata>
Description. This element contains meta-data that describes the resource. Implementers are free to choose from any of the meta-data elements defined in the 1EdTech Meta-Data specification or to define their own meta-data schema.
Multiplicity. Occurs zero or once within <resource>.
3.4.1.2 <file>
Description. Identifies one or more local files that this resource is dependent on. This includes the resource being referenced in the href attribute of <resource>. If the resource references an absolute URL (using href), <file> element(s) are not required.
Multiplicity. Occurs zero or more times within <resource>.
Attributes
Element
Example
<file href="topics/index.htm"/>
3.4.1.3 <dependency>
Description. This element identifies a single resource which can act as a container for multiple files that this resource depends upon.
Multiplicity. Occurs zero or more times within <resource>.
Attributes
Example
<resources> <resource identifier="R_A2" type="webcontent" href="sco1.html"> <metadata/> <file href="sco1.html"/> <dependency indentiferref="R_A5"/> </resource> <resource identifier="R_A5" type="webcontent" href="pics\distress_sigs_add.jpg"> <metadata/> <file href="pics\distress_sigs_add.jpg"/> </resource> </resources>
3.5 Extensibility
The 1EdTech Content Packaging XML Binding is extensible through the use of XML Namespaces and XML Schemas. It is expected that the extensibility mechanism will be used to describe additional types of meta-data, organizations, and resources. More information and examples of extensibility are contained in the 1EdTech Content Packaging Best Practice Guide.
4. Samples
The samples referenced by the 1EdTech Content Packaging specification are available for download at http://www.imsglobal.org/content/packaging/. The following are brief descriptions of the samples available:
Appendix A - Additional Resources
1EdTech Content Documents
1EdTech Content Packaging Information Model:
http://www.imsglobal.org/content/packaging/
1EdTech Content Packaging Best Practice Guide:
http://www.imsglobal.org/content/packaging/
1EdTech Meta-data Documents
The 1EdTech Meta-Data Best Practice and Implementation Guide:
http://www.imsglobal.org/metadata/
The 1EdTech Learning Resource Meta-Data Information Model:
http://www.imsglobal.org/metadata/
ADL/AICC Documents
Sharable Content Object Reference Model (SCORMtm): http://www.adlnet.org/
Aviation Industry CBT Committee (AICC) API for Web Implementation: http://www.aicc.org/
XML
XML Version 1.0 specification of the W3C: http://www.w3.org/TR/1998/REC-xml-19980210
XML Namespace Recommendation of W3C: http://www.w3.org/TR/1999/REC-xml-names-19990114
XML Inclusion Technical Report: http://www.w3.org/TR/xinclude
XML Schema specification of the W3C: http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/
Appendix B - List of Contributors
The following individuals contributed to the development of this specification:
About This Document
Title | 1EdTech Content Packaging XML Binding |
Editors | Thor Anderson, Mark McKell |
Team Co-Lead | Adam Cooper (Fretwell-Downing) |
Version | 1.1.2 |
Version Date | August 2001 |
Status | Final Specification |
Summary | This document describes the 1EdTech Content Packaging XML Binding that implements the 1EdTech Content Packaging Information Model. The XML encoding is based on the W3C XML Specification 1.0. |
Revision Information | 8 August 2001 |
Purpose | Defines the Content Packaging XML Binding |
Document Location | http://www.imsglobal.org/content/packaging/ |
Revision History
Index
D
DTD 1
E
Editors 1
Elements 1
dependency 1
file 1
1EdTech Meta-data 1
item 1
manifest 1
metadata 1, 2, 3, 4
organization 1
organizations 1, 2
resource 1
resources 1, 2
schema 1
schemaversion 1
title 1
Extensibility 1
I
ISO 1
N
Names 1
P
PCDATA 1
S
Schema 1
Schemas 1
sub-Manifest 1
T
Team Co-Leads 1
U
Unicode 1
1EdTech Consortium, Inc. ("1EdTech") is publishing the information contained in this 1EdTech Content Packaging XML Binding ("Specification") for purposes of scientific, experimental, and scholarly collaboration only.
1EdTech makes no warranty or representation regarding the accuracy or completeness of the Specification.
This material is provided on an "As Is" and "As Available" basis.
The Specification is at all times subject to change and revision without notice.
It is your sole responsibility to evaluate the usefulness, accuracy, and completeness of the Specification as it relates to you.
1EdTech would appreciate receiving your comments and suggestions.
Please contact 1EdTech through our website at http://www.imsglobal.org
Please refer to Document Name: 1EdTech Content Packaging XML Binding Revision: 8 August 2001