Sei sulla pagina 1di 33

Holding Tank

D2L_XML4 Parser Guide


Holding Tank
Contents

Contents
DOCUMENT CHANGE HISTORY ......................................................................................................................... 3
OVERVIEW ........................................................................................................................................................ 3
DATA REQUIREMENTS ...................................................................................................................................... 3
Encoding and file naming conventions ................................................................................................................ 4
SET CONFIGURATION VARIABLE ....................................................................................................................... 4
DEFINING RELATIONSHIPS ................................................................................................................................ 4
ROLE MAPPING ................................................................................................................................................. 5
IMPORTANT DATA VALUES ............................................................................................................................... 5
ORGANIZATIONAL STRUCTURE ......................................................................................................................... 6
TEMPLATE XML TAGS ....................................................................................................................................... 7
XML example for Course Listings ......................................................................................................................... 9
COURSE OFFERINGS XML TAGS ....................................................................................................................... 10
XML example for Course Offerings .................................................................................................................... 12
SECTIONS XML TAGS ....................................................................................................................................... 14
XML example for Sections ................................................................................................................................. 16
USERS XML TAGS ............................................................................................................................................ 17
XML example for Users ...................................................................................................................................... 19
MEMBERSHIPS XML TAGS ............................................................................................................................... 20
XML example for Memberships......................................................................................................................... 22
XSD SCHEMA .................................................................................................................................................. 23
ABOUT D2L ..................................................................................................................................................... 33

2016 by D2L Corporation. All rights reserved. 2


Holding Tank
Document Change History

Document Change History


This version of the document replaces all previous versions. The following table describes the most recent changes to
this document.

Revision Date Summary of Changes

April 7, 2016 Updated topic: Users XML tags.

March 3, 2016 Initial Release

Overview
The D2L_XML4 parser is based on the IMS Enterprise XML Binding. It works for real-time and batch processing.

Using the D2L_XML4 parser, you can import these data sets:

Course Templates

Course Offerings

Course Sections

Users

Memberships

Data requirements
To use the D2L_XML4 parser, you must be able to extract relevant data from the SIS and produce XML files. You must
be able to explicitly define organizational structure relationships in XML files. As well, Departments and Semesters must
be created in Brightspace Learning Environment before initial import.

All files must meet these restrictions:

The files must be well-formed XML, properly encoded, and comply with the D2L_XML4 specification.

All XML files must have an .alldone file for Holding Tank to initiate processing.

Incremental (that is, differential) files are acceptable.

All unenrollments must be explicitly defined.

Duplicates must not exist in the cumulative data of all processed files.

2016 by D2L Corporation. All rights reserved. 3


Holding Tank
Set configuration variable

Org units must have no children before they can be deleted through Holding Tank. The orders to remove child
organization units must come before the orders to remove the parent organization units.

Encoding and file naming conventions


D2L recommends that the XML files are encoded in UTF-8 and have the following XML declaration:
<?xml version="1.0" encoding="UTF-8"?>

This ensures that all non-standard characters are encoded correctly for Holding Tank.

For files to be processed by Holding Tank, an associated .alldone file must accompany each XML dataset. Holding Tank
treats the .alldone file as a signal that the associated XML file transmitted successfully and an indication that the
associated XML file is safe for use. Content in this file is irrelevant and not processed this file can be an empty text file.
D2L recommends that you transfer the .alldone file after the associated XML file.

D2L recommends that you follow these conventions when you name XML files:

Include the word Users in the Users file, Templates in the Course Template file, Offerings in the Course
Offering file, Sections in the Course Section file, and Enrollments in the Enrollments file.

Include a date stamp in the file name.

The XML files must be in alphabetical or numerical order; the order in which they should be processed.

Example:

1-Templates_2015-09-23.xml & 1-Templates_2015-09-23.alldone

2-Offerings_2015-09-23.xml & 2-Offerings_2015-09-23.alldone

3-Sections_2015-09-23.xml & 3-Sections_2015-09-23.alldone

4-Users_2015-09-23.xml & 4-Users_2015-09-23.alldone

5-Enrollments_2015-09-23.xml & 5-Enrollments_2015-09-23.alldone

Set configuration variable


If you intend to use the End Semester Batch process, have your installation admin set the the
d2l.Tools.HoldingTank.Admin.ParserIsXML4 configuration variable to On. This variable is not editable by organization
administrators.

Defining relationships
These rules apply to defining relationships using the D2L_XML4 parser.

All relationships between organization units are explicitly defined. Course templates, offerings, and sections must
have a defined relationship path in the XML file.

2016 by D2L Corporation. All rights reserved. 4


Holding Tank
Role mapping

Multiple relationships can be defined.

Manual mapping is not available.

Role mapping
Holding Tank requires specific mappings of role names between the XML role codes and Brightspace Learning
Environment. Role mappings are managed in Brightspace Learning Environment Course Mappings Interface. See
Holding Tank Administrator Guide for information about Course Mappings Interface.

D2L recommends that you use only non-cascading roles for the Holding Tank integration.

Important data values


XML Tag Type Possible Values Notes

Recstatus Int 2: Create/update Recstatus is used in


D2L_XML4 to denote
3: Delete
creation, update, and
deletion of records.

Status Int 1: Set as active Status can be used


for both users and
0: Set as inactive
enrollments.

2016 by D2L Corporation. All rights reserved. 5


Holding Tank
Organizational structure

Organizational structure
The D2L_XML4 parser uses this organizational structure:

Figure 1: Holding Tank XML4 Parser Org Structure

2016 by D2L Corporation. All rights reserved. 6


Holding Tank
Template XML tags

Template XML tags


XML tag Field in Holding Tank Description Notes

<group> Not applicable. Denotes the Required


beginning and end of
each course listing
entry.

<sourcedid> TemplateCode Populates the org Required


<id> unit code of the
The maximum size of
template in
this field is 50
Brightspace Learning
characters.
Environment if the
useshortdescasorgun
itcode config variable
is set to false.

<grouptype> Not applicable. Information purposes


<scheme> only.

<grouptype> Not applicable. Denotes the group Level=4 defines


<typevalue entry as a course course template
level=4>
template. grouping

<grouptype> Not applicable. Supplements Should be Course


<typevalue> name typevalue level. Template

<description> ShortDesc Identical to Required


<short> sourcedid.
The maximum size of
this field is 50
characters

<description> TemplateName Populates the org Required


<long> unit name of the
The maximum size of
template in
this field is 128
Brightspace Learning
characters.
Environment.

<relationship Not applicable. Internal code that Relation=1 defines


relation=x> identifies table to parental relation.
insert into.

2016 by D2L Corporation. All rights reserved. 7


Holding Tank
Template XML tags

<relationship> CategoryCode Populates the Required


<sourcedid> sourcedid of the
The maximum size of
Parent Department
<id> this field is 50
of the course
characters.
template. Up to 3
departments can be Minimum of 1,
identified for one Maximum of 3 Parent
template. Departments per
Template.

<relationship> Not applicable. Information purposes Maximum length of


<label> only. 128 characters.

<extension> CoursePath Populates the path Should not include


<path> used to place files on /content/
the file server. directory, or leading
Relative to the Base /.
Content Path.
Maximum length of
60 characters.
However, it is
recommended that
the CoursePath be as
short as possible.

Note: If using
enforced content
paths, omit this tag.

2016 by D2L Corporation. All rights reserved. 8


Holding Tank
Template XML tags

XML example for Course Listings


The file can contain more than one Template.
<?xml version="1.0" encoding="utf-8"?>

<enterprise>

<group recstatus="2">

<sourcedid>

<id>MATH_101_TEMP</id>

</sourcedid>

<grouptype>

<scheme>D2L</scheme>

<typevalue level="4">Course Template</typevalue>

</grouptype>

<description>

<short>MATH_101_TEMP</short>

<long>Math 101 Template</long>

</description>

<relationship relation="1">

<sourcedid>

<id>MATH</id>

</sourcedid>

<label>A Parent of MATH_101_TEMP is the Mathematics Department

</label>

</relationship>

<extension>

<path>MATH/templates/MATH_101_TEMP/</path>

</extension>

</group>

</enterprise>

2016 by D2L Corporation. All rights reserved. 9


Holding Tank
Course Offerings XML tags

Course Offerings XML tags


XML tag Field in Holding Tank Description Notes

<group> Not applicable. Denotes the Required


beginning and end of
a course listing entry.

<sourcedid> OfferingCode Populates the org Required


<id> unit code of the
The maximum size of
template in
this field is 50
Brightspace Learning
characters.
Environment if the
useshortdescasorgun
itcode config variable
is set to false.

<grouptype> Not applicable. Information purposes


<scheme> only.

<grouptype> Not applicable. Indicates that the Level=5 defines


<typevalue group entry is a course offering
level=5> Course Offering. grouping.

<grouptype> Not applicable. Supplements Name is "Course


<typevalue>name typevalue level. Offering".

<description> ShortDesc Identical to Required


<short> sourcedid.
The maximum size of
this field is 50
characters.

<description> Name Populates the course Required


<long> offering name of the
The maximum size of
course in Brightspace
this field is 128
Learning
characters.
Environment.

<relationship Not applicable. Internal code that Relation=1 defines


relation=x> identifies the table to parental relation.
insert into.

<timeframe> StartDate Populates the start The format of this

2016 by D2L Corporation. All rights reserved. 10


Holding Tank
Course Offerings XML tags

<begin> date in Brightspace field is yyyy-mm-dd.


Learning
Environment.

<timeframe> EndDate Populates the end The format of this


<end> date in Brightspace field is yyyy-mm-dd.
Learning
Environment.

<sourcedid> TemplateCode or Populates the The maximum size of


<id> SemesterCode sourcedid of the this field is 50
parent template characters.
and/or semester
Maximum of 1
code of the course
Template and 1
offering.
Semester per Course
Offering.

<relationship> Not applicable. Information purposes Maximum length of


<label> only. 128 characters.

<extension> CoursePath Populates the path Should not include


<path> used to place files on /content/
the file server. directory, or leading
Relative to the Base /.
Content Path.
Maximum length of
60 characters.

Note: If using
enforced content
paths, omit this tag.

<extension> IsActive Indicates whether 1: Set as active


<status> the course offering is
0: Set as inactive
active.

2016 by D2L Corporation. All rights reserved. 11


Holding Tank
Course Offerings XML tags

XML example for Course Offerings


The file can contain more than one Course Offering.
<?xml version="1.0" encoding="utf-8"?>

<enterprise>

<group recstatus="2">

<sourcedid>

<id>MATH_101_F2015</id>

</sourcedid>

<grouptype>

<typevalue level="5">Course Offering</typevalue>

</grouptype>

<description>

<short>MATH_101_F2015</short>

<long>Mathematics 101 Fall 2015</long>

</description>

<timeframe>

<begin>2015-09-01</begin>

<end>2015-12-29</end>

</timeframe>

<relationship relation="1">

<sourcedid>

<id>MATH_101_TEMP</id>

</sourcedid>

<label>A Parent of MATH_101_F2015 is the MATH_101_TEMP Course Template

</label>

</relationship>

<relationship relation="1">

<sourcedid>

<id>FA2015</id>

</sourcedid>

<label>A Parent of MATH_101_F2015 is the Fall 2015 Semester

</label>

</relationship>

2016 by D2L Corporation. All rights reserved. 12


Holding Tank
Course Offerings XML tags

<extension>

<path>MATH/F2015/offerings/MATH_101_F2015/</path>

<status>1</status>

</extension>

</group>

</enterprise>

2016 by D2L Corporation. All rights reserved. 13


Holding Tank
Sections XML tags

Sections XML tags


XML tag Field in Holding Description Notes
Tank

<sourcedid> ListingCode Populates the org Required


<id> unit code of the
The maximum size
section in
of this field is 50
Brightspace
characters.
Learning
Environment.

<grouptype> Not applicable. Information


<scheme> purposes only.

<grouptype> Not applicable. Denotes the group Level=6 defines


<typevalue entry as a course course section
level=6>
section. grouping.

<grouptype> Not applicable. Supplements Name is Section.


<typevalue> typevalue level.
name

<description> ShortDesc Identical to Required


<short> sourcedid.
The maximum size
of this field is 50
characters.

<description> ListingName Populates the org Required


<long> unit name of the
The maximum size
template in
of this field is 128
Brightspace
characters.
Learning
Environment.

<relationship Not applicable. Internal code that Relation=1 defines


relation=x> identifies table to parental relation.
insert into.

2016 by D2L Corporation. All rights reserved. 14


Holding Tank
Sections XML tags

XML tag Field in Holding Description Notes


Tank

<relationship> OfferingCode Populates the Required


<sourcedid> sourcedid of the
Must be equal to a
<id> parent offering of
valid parent (Course
the course section.
Offering) value.

Maximum of 1
Parent Course
Offering per unique
Section.

<relationship> Not applicable. Information Maximum length of


<label> purposes only. 128 characters.

2016 by D2L Corporation. All rights reserved. 15


Holding Tank
Sections XML tags

XML example for Sections


This file can contain more than one section.
<?xml version="1.0" encoding="utf-8"?>

<enterprise>

<group recstatus="2">

<sourcedid><id>MATH_101_SEC001_F2015</id></sourcedid>

<grouptype>

<typevalue level="6">Section</typevalue>

</grouptype>

<description>

<short>MATH_101_SEC001_F2015</short>

<long>Mathematics 101 - Section 001 Fall 2015</long>

</description>

<relationship relation="1">

<sourcedid>

<id>MATH_101_FA2015</id>

</sourcedid>

<label>The Parent of this section is MATH_101_F2015 Course Offering

</label>

</relationship>

</group>

</enterprise>

2016 by D2L Corporation. All rights reserved. 16


Holding Tank
Users XML tags

Users XML tags


XML tag Type Field in Holding Tank Description Notes

person Element Not applicable Denotes the Required


beginning and end of
a user entry.

/sourcedid Element

//id Element OrgDefinedId Populates the The maximum size of


OrgDefinedId in this field is 50
Brightspace Learning characters.
Environment.
Required

//userid Element UserName Populates the user The maximum size of


name in Brightspace this field is 50
Learning characters.
Environment.
Required

/name Element

//n Element

///family Element LastName Populates the last The maximum size of


name in Brightspace this field is 64
Learning characters.
Environment.
Required

///given Element FirstName Populates the first The maximum size of


name in Brightspace this field is 64
Learning characters.
Environment.
Required

2016 by D2L Corporation. All rights reserved. 17


Holding Tank
Users XML tags

XML tag Type Field in Holding Tank Description Notes

/email Element Email Populates the email The maximum size of


field in Brightspace this field is 128
Learning characters.
Environment. Note
Emails cannot be
removed. See the
Holding Tank
Administrator Guide
(page 21) for more
details.

/extension Element

//role roletype Attribute RoleCode Assigns the users Maximum size of this
role at the field is 50 characters.
organization level
Must be a valid
only. This role has no
(integrated)
effect on roles for
RoleCode.
individual courses.
Note Only RoleCodes
specified via the
Roles area of the
Course Mappings
Interface will be
accepted.

///status Element IsActive The active status of Valid values are 0


the user. and 1.

1: Set user as active

0: Set user as inactive

2016 by D2L Corporation. All rights reserved. 18


Holding Tank
Users XML tags

XML example for Users


This file can contain more than one user.
<?xml version="1.0" encoding="utf-8"?>

<enterprise>

<person recstatus="2">

<sourcedid>

<id>D2L0001</id>

</sourcedid>

<userid password="MyPassword">Jason.Allison</userid>

<name>

<n>

<family>Allison</family>

<given>Jason</given>

</n>

</name>

<email>Jason.Allison@d2l.ca</email>

<extension>

<role roletype="Sample Role">

<status>1</status>

</role>

</extension>

</person>

</enterprise>

2016 by D2L Corporation. All rights reserved. 19


Holding Tank
Memberships XML tags

Memberships XML tags


XML tag Field in Holding Tank Description Notes

<membership> Not applicable. Denotes the beginning


and end of enrollments
for a course listing.

<sourcedid> ListingCode The ListingCode of the Required.


<id> course being designated
The maximum size of
for enrollment or
this field is 50
unenrollment. This is
characters.
the sourcedid in the
Course Listing XML Must be a valid Section
dataset. <sourcedid><id> value.

<member> OrgDefinedId The OrgDefinedId of the Required.


<sourcedid> user being designated
The maximum size of
for enrollment or
<id> this field is 50
unenrollment (this is the
characters.
sourcedid in the Users
dataset). Must be a valid
(integrated) user
OrgDefinedId.

Note Only users that


exist in Holding Tank
can be enrolled into
courses. Otherwise an
error will be thrown
stating that the user
does not exist (even if
they exist in the
Learning Environment
it is essential for the
users to be in both
places).

2016 by D2L Corporation. All rights reserved. 20


Holding Tank
Memberships XML tags

<member> RoleCode Populates the Required.


<role course-level role for the
Maximum size of this
roletype=RoleCode enrollment or
field is 50 characters.
> unenrollment.
Must be a valid
(integrated) RoleCode.

<member> IsActive Designates the 1: Enroll a User


<role enrollment or
0: Unenroll a User
roletype=RoleCode unenrollment status of
> the entry.
<status>

2016 by D2L Corporation. All rights reserved. 21


Holding Tank
Memberships XML tags

XML example for Memberships


This file can contain more than one membership.
<?xml version="1.0" encoding="utf-8"?>

<enterprise>

<membership recstatus="2">

<sourcedid>

<id>MATH_101_SEC001_F2012</id>

</sourcedid>

<member>

<sourcedid>

<id>D2L0001</id>

</sourcedid>

<role roletype="Sample Role">

<status>1</status>

</role>

</member>

<member>

<sourcedid>

<id>D2L0002</id>

</sourcedid>

<role roletype="Sample Role">

<status>1</status>

</role>

</member>

</membership>

</enterprise>

2016 by D2L Corporation. All rights reserved. 22


Holding Tank
XSD Schema

XSD Schema
Use this schema to validate your import file.
<?xml version="1.0"?>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<xsd:element name="enterprise" type="EnterpriseType" />

<!-- enterprise -->

<xsd:complexType name="EnterpriseType">

<xsd:sequence>

<xsd:element name="comments" type="CommentType" minOccurs="0" maxOccurs="1" />

<xsd:element name="properties" type="PropertiesType" minOccurs="0" maxOccurs="1" />

<xsd:element name="group" type="GroupType" minOccurs="0" maxOccurs="unbounded" />

<xsd:element name="person" type="PersonType" minOccurs="0" maxOccurs="unbounded" />

<xsd:element name="membership" type="MembershipType" minOccurs="0" maxOccurs="unbounded" />

</xsd:sequence>

</xsd:complexType>

<!-- enterprise :: comments -->

<xsd:simpleType name="CommentType">

<xsd:restriction base="xsd:string">

<xsd:maxLength value="2048" />

</xsd:restriction>

</xsd:simpleType>

<!-- enterprise :: properties -->

<xsd:complexType name="PropertiesType">

<xsd:all>

<xsd:element name="datasource" type="xsd:string" minOccurs="0" maxOccurs="1" />

<xsd:element name="target" type="xsd:string" minOccurs="0" maxOccurs="1" />

<xsd:element name="type" type="xsd:string" minOccurs="0" maxOccurs="1" />

<xsd:element name="datetime" type="xsd:string" minOccurs="0" maxOccurs="1" />

</xsd:all>

2016 by D2L Corporation. All rights reserved. 23


Holding Tank
XSD Schema

</xsd:complexType>

<!-- enterprise :: group -->

<xsd:complexType name="GroupType">

<xsd:sequence>

<xsd:element name="sourcedid" type="SourceDIDType" minOccurs="1" maxOccurs="1" />

<xsd:element name="grouptype" type="GroupTypeType" minOccurs="1" maxOccurs="1" />

Role Mapping

<xsd:element name="description" type="GroupDescriptionType" minOccurs="1" maxOccurs="1" />

<xsd:element name="timeframe" type="TimeframeType" minOccurs="0" maxOccurs="1" />

<xsd:element name="relationship" type="GroupRelationshipType" minOccurs="0" maxOccurs="2" />

<xsd:element name="extension" type="GroupExtensionType" minOccurs="0" maxOccurs="1" />

</xsd:sequence>

<xsd:attribute name="recstatus" type="RecStatusType" use="required" />

</xsd:complexType>

<!-- group, person & membership :: sourcedid -->

<xsd:complexType name="SourceDIDType">

<xsd:all>

<xsd:element name="source" type="SourceType" minOccurs="0" maxOccurs="1" />

<xsd:element name="id" type="IDType" minOccurs="1" maxOccurs="1" />

</xsd:all>

</xsd:complexType>

<xsd:simpleType name="SourceType">

<xsd:restriction base="xsd:string">

<xsd:maxLength value="128" />

</xsd:restriction>

</xsd:simpleType>

<xsd:simpleType name="IDType">

<xsd:restriction base="xsd:string">

<xsd:minLength value="1" />

2016 by D2L Corporation. All rights reserved. 24


Holding Tank
XSD Schema

<xsd:maxLength value="50" />

</xsd:restriction>

</xsd:simpleType>

<!-- group :: grouptype -->

<xsd:complexType name="GroupTypeType">

<xsd:sequence>

<xsd:element name="scheme" type="xsd:string" minOccurs="0" maxOccurs="1" default="D2L" />

<xsd:element name="typevalue" type="TypeValueType" minOccurs="1" maxOccurs="1" />

</xsd:sequence>

</xsd:complexType>

<!-- group :: grouptype :: typevalue -->

<xsd:complexType name="TypeValueType">

<xsd:simpleContent>

<xsd:extension base="TypeValuesType">

<xsd:attribute name="level" type="LevelType" use="required" />

</xsd:extension>

</xsd:simpleContent>

</xsd:complexType>

<xsd:simpleType name="TypeValuesType">

<xsd:restriction base="xsd:string">

<xsd:enumeration value="Course Template" />

<xsd:enumeration value="Course Offering" />

<xsd:enumeration value="Section" />

</xsd:restriction>

</xsd:simpleType>

<xsd:simpleType name="LevelType">

<xsd:restriction base="xsd:string">

<xsd:enumeration value="4" /> <xsd:enumeration value="5" />

<xsd:enumeration value="6" />

2016 by D2L Corporation. All rights reserved. 25


Holding Tank
XSD Schema

</xsd:restriction>

</xsd:simpleType>

<!-- group :: description -->

<xsd:complexType name="GroupDescriptionType">

<xsd:sequence>

<xsd:element name="short" type="ShortDescType" minOccurs="1" maxOccurs="1" />

<xsd:element name="long" type="LongDescType" minOccurs="1" maxOccurs="1" />

</xsd:sequence>

</xsd:complexType>

<xsd:simpleType name="ShortDescType">

<xsd:restriction base="xsd:string">

<xsd:minLength value="1" />

<xsd:maxLength value="50" />

</xsd:restriction>

</xsd:simpleType>

<xsd:simpleType name="LongDescType">

<xsd:restriction base="xsd:string">

<xsd:minLength value="1" />

<xsd:maxLength value="128" />

</xsd:restriction>

</xsd:simpleType>

<!-- group :: timeframe -->

<xsd:complexType name="TimeframeType">

<xsd:sequence>

<xsd:element name="begin" type="xsd:date" minOccurs="0" maxOccurs="1" />

<xsd:element name="end" type="xsd:date" minOccurs="0" maxOccurs="1" />

</xsd:sequence>

</xsd:complexType>

2016 by D2L Corporation. All rights reserved. 26


Holding Tank
XSD Schema

<!-- group :: relationship -->

<xsd:complexType name="GroupRelationshipType">

<xsd:sequence>

<xsd:element name="sourcedid" type="SourceDIDType" minOccurs="1" maxOccurs="1" />

<xsd:element name="label" type="LabelType" minOccurs="0" maxOccurs="1" /> </xsd:sequence>

<xsd:attribute name="relation" type="RelationType" use="required" />

</xsd:complexType>

<xsd:simpleType name="LabelType">

<xsd:restriction base="xsd:string">

<xsd:maxLength value="128" />

</xsd:restriction>

</xsd:simpleType>

<xsd:simpleType name="RelationType">

<xsd:restriction base="xsd:string">

<xsd:enumeration value="1" />

</xsd:restriction>

</xsd:simpleType>

<!-- group :: extension -->

<xsd:complexType name="GroupExtensionType">

<xsd:sequence>

<xsd:element name="path" type="PathType" minOccurs="0" maxOccurs="1" />

<xsd:element name="status" type="xsd:boolean" minOccurs="0" maxOccurs="1"/>

</xsd:sequence>

</xsd:complexType>

<xsd:simpleType name="PathType">

<xsd:restriction base="xsd:string">

<xsd:maxLength value="60" />

</xsd:restriction>

2016 by D2L Corporation. All rights reserved. 27


Holding Tank
XSD Schema

</xsd:simpleType>

<!-- group, person & membership :: recstatus -->

<xsd:simpleType name="RecStatusType"> <xsd:restriction base="xsd:string">

<xsd:enumeration value="2" />

<xsd:enumeration value="3" />

</xsd:restriction>

</xsd:simpleType>

<!-- enterprise :: person -->

<xsd:complexType name="PersonType">

<xsd:sequence>

<xsd:element name="sourcedid" type="SourceDIDType" minOccurs="1" maxOccurs="1" />

<xsd:element name="userid" type="UserIDType" minOccurs="1" maxOccurs="1" />

<xsd:element name="name" type="NameType" minOccurs="1" maxOccurs="1" />

<xsd:element name="email" type="EmailType" minOccurs="0" maxOccurs="1" />

<xsd:element name="extension" type="PersonExtensionType" minOccurs="0" maxOccurs="1" />

</xsd:sequence>

<xsd:attribute name="recstatus" type="RecStatusType" use="required" />

</xsd:complexType>

<!-- person :: sourcedid || see shared type above ~ group, person & membership :: sourcedid -->

<!-- person :: userid -->

<xsd:complexType name="UserIDType">

<xsd:simpleContent>

<xsd:extension base="UserIDBaseType">

<xsd:attribute name="password" type="PasswordType" use="optional" />

</xsd:extension>

</xsd:simpleContent>

</xsd:complexType>

<xsd:simpleType name="UserIDBaseType">

<xsd:restriction base="xsd:string">

2016 by D2L Corporation. All rights reserved. 28


Holding Tank
XSD Schema

<xsd:minLength value="1" />

<xsd:maxLength value="128" />

</xsd:restriction>

</xsd:simpleType>

<xsd:simpleType name="PasswordType">

<xsd:restriction base="xsd:string">

<xsd:maxLength value="50" />

</xsd:restriction>

</xsd:simpleType>

<!-- person :: name -->

<xsd:complexType name="NameType">

<xsd:all>

<xsd:element name="n" type="NamesType" minOccurs="1" maxOccurs="1" />

</xsd:all>

</xsd:complexType>

<xsd:complexType name="NamesType">

<xsd:all>

<xsd:element name="family" type="FamilyNameType" minOccurs="1" maxOccurs="1" />

<xsd:element name="given" type="GivenNameType" minOccurs="1" maxOccurs="1" />

<xsd:element name="partname" type="PartNameType" minOccurs="0" maxOccurs="1" />

</xsd:all>

</xsd:complexType>

<xsd:simpleType name="FamilyNameType">

<xsd:restriction base="xsd:string">

<xsd:minLength value="1" />

<xsd:maxLength value="256" />

</xsd:restriction>

</xsd:simpleType>

2016 by D2L Corporation. All rights reserved. 29


Holding Tank
XSD Schema

<xsd:simpleType name="GivenNameType">

<xsd:restriction base="xsd:string">

<xsd:minLength value="1" />

<xsd:maxLength value="256" />

</xsd:restriction>

</xsd:simpleType>

<xsd:simpleType name="PartNameBaseType">

<xsd:restriction base="xsd:string">

<xsd:minLength value="0" />

<xsd:maxLength value="256" />

</xsd:restriction>

</xsd:simpleType>

<xsd:complexType name="PartNameType">

<xsd:simpleContent>

<xsd:extension base="PartNameBaseType">

<xsd:attribute name="partnametype" type="PartNameTypeType" use="required" />

</xsd:extension>

</xsd:simpleContent>

</xsd:complexType>

<xsd:simpleType name="PartNameTypeType">

<xsd:restriction base="xsd:string">

<xsd:enumeration value="Middle" />

</xsd:restriction>

</xsd:simpleType>

<!-- person :: email -->

<xsd:simpleType name="EmailType">

<xsd:restriction base="xsd:string">

<xsd:maxLength value="128" />

2016 by D2L Corporation. All rights reserved. 30


Holding Tank
XSD Schema

</xsd:restriction>

</xsd:simpleType>

<!-- person :: extension -->

<xsd:complexType name="PersonExtensionType">

<xsd:all>

<xsd:element name="role" type="RoleType" minOccurs="0" maxOccurs="1" />

<xsd:element name="ferpa" type="xsd:boolean" minOccurs="0" maxOccurs="1" />

</xsd:all>

</xsd:complexType>

<!-- person :: extension & membership :: role -->

<xsd:complexType name="RoleType">

<xsd:all>

<xsd:element name="status" type="xsd:boolean" minOccurs="0" maxOccurs="1" />

</xsd:all>

<xsd:attribute name="roletype" type="UserRoleType" use="required" />

</xsd:complexType>

<xsd:simpleType name="UserRoleType">

<xsd:restriction base="xsd:string">

<xsd:minLength value="1" />

<xsd:maxLength value="50" />

</xsd:restriction>

</xsd:simpleType>

<!-- person :: recstatus || see shared type above ~ group, person & membership :: recstatus -->

<!-- enterprise :: membership -->

<xsd:complexType name="MembershipType">

<xsd:sequence>

<xsd:element name="sourcedid" type="SourceDIDType" minOccurs="1" maxOccurs="1" />

<xsd:element name="member" type="MemberType" minOccurs="0" maxOccurs="unbounded" />

2016 by D2L Corporation. All rights reserved. 31


Holding Tank
XSD Schema

</xsd:sequence>

<xsd:attribute name="recstatus" type="RecStatusType" use="required" />

</xsd:complexType>

<!-- membership :: sourcedid || see shared type above ~ group, person & membership :: sourcedid -

->

<xsd:complexType name="MemberType">

<xsd:all>

<xsd:element name="sourcedid" type="SourceDIDType" minOccurs="1" maxOccurs="1" />

<xsd:element name="role" type="RoleType" minOccurs="1" maxOccurs="1" />

</xsd:all>

</xsd:complexType>

<!-- member :: sourcedid || see shared type above ~ group, person & membership :: sourcedid -->

<!-- member :: role || see shared type above ~ person :: extention & membership :: role -->

<!-- membership :: recstatus || see shared type above ~ group, person & membership :: recstatus ->

</xsd:schema>

2016 by D2L Corporation. All rights reserved. 32


Holding Tank
About D2L

About D2L
A global leader in EdTech, D2L is the creator of Brightspace, the worlds first integrated learning platform.

The company partners with thought-leading organizations to improve learning through data-driven technology that
helps deliver a personalized experience to every learner, regardless of geography or ability. D2Ls open and extensible
platform is used by more than 1,100 clients and almost 15 million individual learners in higher education, K12,
healthcare, government, and the enterprise sectorincluding Fortune 1000 companies.

The company has operations in the United States, Canada, Europe, Australia, Brazil, and Singapore.
www.brightspace.com (http://www.brightspace.com) | www.D2L.com (http://www.d2l.com)

Contact Us

Phone: 1.519.772.0325 (Worldwide)

Toll Free: 1.888.772.0325 (North America)

0.808.234.4235 (United Kingdom and Europe)

0.800.452.069 (New Zealand)

1.800.656.210 (Australia)

0.800.891.4507 (Brazil)

Fax: 1.519.772.0324

Email: info@brightspace.com

Twitter: @Brightspace

Web: www.brightspace.com
(http://www.brightspace.com) | www.D2L.com
(http://www.d2l.com)

2016 D2L Corporation.


The D2L family of companies includes D2L Corporation, D2L Ltd, D2L Australia Pty Ltd, D2L Europe Ltd, D2L Asia Pte Ltd, and D2L Brasil Solues de
Tecnologia para Educao Ltda.
Brightspace, D2L, and other marks ("D2L marks") are trademarks of D2L Corporation, registered in the U.S. and other countries. Please visit
d2l.com/trademarks for a list of other D2L marks.

2016 by D2L Corporation. All rights reserved. 33

Potrebbero piacerti anche