Project Index | Documentation | Relax NG | Sample XML File
A <roster> consists of a <school-info> element followed by a <course-info> element followed by a <instructor-info> element followed by the <students> element.
The <school-info> contains a <school-name> element followed by a <school-address> element followed by a <school-phone> element.
The <school-name> element
can contain one of two names:
Foothill or
De Anza.
The <school-address>
element will contain
Address Information (see below).
The <school-phone> element
will contain Phone Information
(see below).
The <course-info> contains a <course-code> element, a <course-section> element, a <course-desc> element, a <term> element, a <term-length> element and a <year> element.
The <course-code> element
contains 3 uppercase alpha characters followed by 3 digits and
an optional lowercase alpha (ie. CIS089a or CIS032).
The <course-section> element
contains 2 digits followed by an optional uppercase alpha
(ie. 01 or 65Z).
The <course-desc>
element contains
Mixed Text (see below).
The <term> element
can contain one of four values:
Fall,
Winter,
Spring, or
Summer.
The <term-length> element gives
the term length in weeks, and contains one of four values: 6, 8, 11, or 15.
The <year> element contains
a 4 digit year.
The <instructor-info> element contains an <instructor-name> element, an <instructor-address> element, an <instructor-phone> element and a <instructor-ssn> element.
The <instructor-name>
element contains Name Information (see below).
The <instructor-address>
element contains Address Information (see below).
The <instructor-phone>
element contains Phone Information (see below).
The <instructor-ssn> element
contains a Social Security Number which is composed of 3 digits
followed by a dash followed by 2 digits followed by a dash followed
by 4 digits (ie. 123-45-6789).
The <students> element contains one or more <student-info> elements.
A <student-info> element contains a <student-name> element, a <student-id> element, one or more <student-phone> elements, one or more <email> elements, an optional <nt-username> element, a <unix-username> element, a <password-info> element, an <attendance> element and a <grades> element.
The <student-name>
element contains Name
Information (see below).
The <student-id>
element contains a sequence of 9 digits (ie. 123456789).
A <student-phone> element
contains Phone Information
(see below) and a type attribute which may contain
one of three values: Home,
Work, or
Mobile.
An <email> element may contain a qualified
email address which consists of a username followed by the @ symbol
followed by a fully qualified domain (ie.
marie.taylor.harper@hoohoo.com, and
marie_taylor-harper@email-reader.yahoo.com).
Both the <nt-username> and
<unix-username> elements contain text
without spaces.
A <password-info> element contains
a <class-id> element, a
<password> element, and a
<mothers-maiden-name> element.
The <class-id> element contains
a unique 4 digit number.
The <password> element contains
a user selected password.
The <mothers-maiden-name>
element contains text.
An <attendance> element contains
one or more <period> elements.
The <period> element contains
a <date> element and a
<tardiness> element.
The <date> element contains
Date Information
(see below).
The <tardiness> element contains
one of four values including
Present,
Late,
Absent, and
Excused.
A <grades> element contains zero or
more <assignment> elements, zero or more
<midterm> elements and an optional
<final> element, in any order.
An <assignment> element contains
a <date> element, an
<assignment-num> element, a
<description> element, a
<summary> element and a
<grade> element.
An <assignment-num> is a
number between 0 and 19.
<description> and
<summary> elements contain
Mixed Text
(see below).
Both <midterm> and
<final> elements contain a
<date> element, a
<start-time> element, an
<end-time> element and a
<grade> element. The
<start-time> and
<end-time> elements contain
Time Information
(see below).
A <date> element contains
Date Information
(see below).
A <grade> element contains a
<percentage> element, and a choice of either a
<letter-grade> element or a
<passfail-grade> element. A
<percentage> element contains a 3 digit number.
A <letter-grade> element contains one of five
values: A,
B,
C,
D or
F.
A <passfail-grade> element contains one of
two values: P or
NP.
Address Information
contains an <address> element, a
<city> element, a <state>
element, an optional <zipcode> element and a
<country> element. The
<address>, <city>,
<zipcode>, <country> elements
contain plain text. The <state> element contains
two uppercase alphas (ie. CA).
Date Information
contains a <date> element and an optional late
attribute. The <date> element contains a date in
the format of MM-DD-YYYY where the month and day can be
one or two digits and the year is 4 digits. The optional
late attribute may contain one of two values: Yes or No.
Name Information contains
a <first-name> element, an optional
<initial> element, and a
<last-name> element. The
<first-name> and <last-name>
element are composed of upper and lower case alphas and hyphens so you
can have names like Mary-Ann, Marie, St-Eves, etc. The
<initial> element contains one uppercase
alpha.
Phone Information contains a phone number which follows the format of 3 digits followed by a period followed by 3 digits followed by a period followed by 4 digits (ie. 123.123.1234).
Time Information contains a time which follows the format of 1-2 digits followed by a : followed by another 2 digits followed by another : followed by 2 digits.
Mixed Text is composed of
text and optional inline elements (<strong> and
<em>) in any order.