Graphical Representation of PET XSD
PET XML Schema Definition (XSD)
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" id="PIDEnrollmentTracking">
<xs:element name="PETExtract">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="PETRecord">
<xs:complexType>
<xs:sequence>
<xs:element name="StudentID">
<xs:annotation>
<xs:documentation>E0001 STUDENT-ID</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[S0-8][0-9]{8}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TXUniqueStudentID">
<xs:annotation>
<xs:documentation>E1523 TX-UNIQUE-STUDENT-ID</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{10}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FirstName">
<xs:annotation>
<xs:documentation>E0703 FIRST-NAME</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="17"/>
<xs:whiteSpace value="preserve"/>
<xs:pattern value="['A-Z0-9 -]{1,}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="MiddleName" minOccurs="0">
<xs:annotation>
<xs:documentation>E0704 MIDDLE-NAME</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0"/>
<xs:maxLength value="14"/>
<xs:whiteSpace value="preserve"/>
<xs:pattern value="['A-Z=0-9 -]{0,}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LastName">
<xs:annotation>
<xs:documentation>E0705 LAST-NAME</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="25"/>
<xs:whiteSpace value="preserve"/>
<xs:pattern value="['A-Z0-9 -]{1,}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="BirthDate">
<xs:annotation>
<xs:documentation>E0006P DATE-OF-BIRTH</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:date"/>
</xs:simpleType>
</xs:element>
<xs:element name="SexCode">
<xs:annotation>
<xs:documentation>E0004 SEX-CODE</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[M|F]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="GenerationCode" minOccurs="0">
<xs:annotation>
<xs:documentation>E0706 GENERATION-CODE</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1"/>
<xs:pattern value="([1-9 A-C])*"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="AmericanIndianAlaskanNativeCd">
<xs:annotation>
<xs:documentation>E1059 AMERICAN-INDIAN-OR-ALASKAN-NATIVE-CODE</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[01]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="AsianCd">
<xs:annotation>
<xs:documentation>E1060 ASIAN-CODE</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[01]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="BlackAfricanAmericanCd">
<xs:annotation>
<xs:documentation>E1061 BLACK-OR-AFRICAN AMERICAN-CODE</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[01]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="NativeHawaiianPacificIslandCd">
<xs:annotation>
<xs:documentation>E1062 NATIVE-HAWAIIAN-PACIFIC-ISLANDER-CODE</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[01]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="WhiteCd">
<xs:annotation>
<xs:documentation>E1063 WHITE-CODE</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[01]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="HispanicLatinoCd">
<xs:annotation>
<xs:documentation>E1064 HISPANIC-LATINO-CODE</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[01]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PETData">
<xs:complexType>
<xs:sequence>
<xs:element name="CampusData" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="CampusIDofEnrollment">
<xs:annotation>
<xs:documentation>E0782 CAMPUS-ID-OF-ENROLLMENT</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{9}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LocalID" minOccurs="0">
<xs:annotation>
<xs:documentation>E0923 LOCAL-STUDENT-ID</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0"/>
<xs:maxLength value="9"/>
<xs:pattern value="([A-Z0-9 ~!@#$%&*()+=:;",./<>?'^_ -])*"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="GradeLevelCode">
<xs:annotation>
<xs:documentation>E0017 GRADE-LEVEL-CODE</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="EE"/>
<xs:enumeration value="PK"/>
<xs:enumeration value="KG"/>
<xs:enumeration value="01"/>
<xs:enumeration value="02"/>
<xs:enumeration value="03"/>
<xs:enumeration value="04"/>
<xs:enumeration value="05"/>
<xs:enumeration value="06"/>
<xs:enumeration value="07"/>
<xs:enumeration value="08"/>
<xs:enumeration value="09"/>
<xs:enumeration value="10"/>
<xs:enumeration value="11"/>
<xs:enumeration value="12"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PETEventSet" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="EnrollDate">
<xs:annotation>
<xs:documentation>E1050P ENROLL-DATE</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:date">
<xs:minInclusive value="2013-06-01"/>
<xs:maxInclusive value="2014-08-31"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="WithdrawDate" minOccurs="0">
<xs:annotation>
<xs:documentation>E1051P WITHDRAW-DATE</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:date">
<xs:minInclusive value="2013-06-01" fixed="false"/>
<xs:maxInclusive value="2014-08-31"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:key name="PETKey">
<xs:selector xpath="PETRecord"/>
<xs:field xpath="StudentID"/>
</xs:key>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
PET XSD Data Types and Restrictions
PET supports built-in data types. Restrictions control acceptable values for XML elements. Restrictions also used in the XSD validation process validate both the structure of the XML file and the data values against the XML Schema Definition.
Note: In constructing a PET XML file, for each StudentID, all EnrollDate elements are clustered together followed by all WithdrawDate elements clustered together.
PET XSD Data Types and Restrictions
Element Name |
Data Type |
Restriction |
---|---|---|
StudentID |
String |
• The only acceptable value for the first position is an ‘S’ or a character in the range of 0 to 8. • For positions two through nine, the only acceptable value is eight characters in a sequence with each character in a range from 0 to 9. |
TXUniqueStudentID |
String |
• The TX-UNIQUE-STUDENT-ID is issued to schools by the TSDS TX Unique ID Application. The TX-UNIQUE-STUDENT-ID cannot be generated by a Local Education Agency (LEA). |
FirstName |
String |
• The minimum length is 1 and the maximum length is 17 characters. • White space is preserved. • The only acceptable value is a sequence of at least 1 to 17 characters with each character either an upper case A through Z, an apostrophe, a hyphen, a 0 through 9, or a space. |
MiddleName |
String |
• The minimum length is 0 and the maximum length is 14 characters. • White space is preserved. • The only acceptable value is a sequence 0 to 14 characters with each character either an upper case A through Z, an apostrophe, a hyphen, a 0 through 9, a space, or an equal sign. |
LastName |
String |
• The minimum length is 1 and the maximum length is 25 characters. • White space is preserved. • The only acceptable value is a sequence of at least 1 to 25 characters with each character either an upper case A through Z, an apostrophe, a hyphen, a 0 through 9, or a space. |
BirthDate |
Date |
• This data type implements an International Standards Organization (ISO) data type in the form of yyyy-mm-dd. • BirthDate must be a valid date. |
SexCode |
String |
• Limited to a single character. • The only acceptable value is one of the following letters: “M” or “F”. |
GenerationCode |
String |
• Optional element. • Minimum length of 0 and a maximum length of a single character. • If provided, the only acceptable value is a single character in a range from 1 to 9. |
AmericanIndianAlaskanNativeCd |
String |
• Limited to a single character. • The only acceptable values are single characters 0 and 1. |
AsianCd |
String |
• Limited to a single character. • The only acceptable values are single characters 0 and 1. |
BlackAfricanAmericanCd |
String |
• Limited to a single character. • The only acceptable values are single characters 0 and 1. |
NativeHawaiianPacificIslandCd |
String |
• Limited to a single character. • The only acceptable values are single characters 0 and 1. |
WhiteCd |
String |
• Limited to a single character. • The only acceptable values are single characters 0 and 1. |
HispanicLatinoCd |
String |
• Limited to a single character. • The only acceptable values are single characters 0 and 1. |
PETData |
N/A |
• Section of the XML file that contains all of the PET events for a given student organized by Campus ID of Enrollment. |
CampusData |
N/A |
• Section of the XML file that contains all of the PET events for a given student for a single Campus ID of Enrollment organized into one or more PET Event Sets. • A PET Event Set is comprised of one and only one enrollment event and one withdrawal event, if available. If the withdrawal event is available, it must be reported in the PET Event Set. • For a given student, there should be one PET Event Set for each occurrence of a ‘real’ or physical enrollment and withdrawal from the Campus ID of Enrollment. Enrollment and withdrawal events created internally in support of a program or eligibility change should not be reported. |
CampusIDofEnrollment |
String |
• Declared as a string data type in order to allow for zeros in the first position. • The only acceptable value is nine characters in a sequence with each character in a range from 0 to 9. |
LocalID |
String |
• LocalID is an optional element from the point of view of the PET XSD. If provided, it has been declared as a string data type with a minimum length of 0 and a maximum length of 9. • Consistent with the PEIMS Data Standards’ Name Field pattern, any of the following characters, in addition to the space character, are valid: ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ~ ! @ # $ % ^ & * ( ) - _ + = : ; " ' , . / < > ? |
GradeLevelCode |
String |
• GRADE-LEVEL-CODE indicates the current grade level of the student. • The only acceptable value is one of the following: EE, PK, KG, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12 |
PETEventSet |
N/A |
• Section of the XML file that contains the PET events for a single PET Event Set. This set must contain one enrollment event and one withdrawal event, if available. • At most, a given PET Event Set will contain one enrollment event and one withdrawal event. |
EnrollDate |
Date |
• Required data element. • A PET Event Set must contain one enrollment event. • The only acceptable value is a valid date with a minimum value greater than or equal to 2013-06-01 and less than or equal to 2014-08-31. |
WithdrawDate |
Date |
• Required data element and must be reported when available. • A PET Event Set may contain one withdrawal event. • The only acceptable value is a valid date with a minimum value greater than or equal to 2013-06-01 and less than or equal to 2014-08-31. |