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.