xml rap sheet specs - ver 2.01xml.coverpages.org/ojp-interstatecriminalhistory.pdf · developed an...

137
DRAFT Interstate Criminal History Transmission Specification XML Version 2.01 Joint Task Force on Rap Sheet Standardization June 2001

Upload: ngodan

Post on 01-Oct-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

DRAFT

Interstate Criminal History Transmission Specification

XML Version 2.01

Joint Task Force on Rap Sheet Standardization

June 2001

DRAFT Table of Contents

Executive Summary ................................................................................................................ 1 1.0 Introduction .................................................................................................................. 4 1.1 Background ............................................................................................................. 4 1.2 Joint Task Force Accomplishments ........................................................................ 4 1.3 Interstate CH Transmission Specification Rel. 1 – ANSI/NIST Implementation .. 5 1.4 Organization of Specification ................................................................................. 5 2.0 Concept of Operations ............................................................................................... 8 2.1 Overview................................................................................................................. 8 2.2 Transition................................................................................................................ 8 2.3 Record Request ....................................................................................................... 9 2.4 Criminal History Transmission to NLETS ........................................................... 11 2.5 Merge Processing.................................................................................................. 11 2.6 Content Merging Rules ......................................................................................... 12 2.6.1 Introduction Element .............................................................................. 13 2.6.2 Identification Element............................................................................ 13 2.6.3 Cycle Element ........................................................................................ 17 2.6.4 Agency Information Element................................................................. 17 2.6.5 Summary Element.................................................................................. 17 2.7 Criminal History Delivery .................................................................................... 18 3.0 Element Dictionary.................................................................................................... 20 3.1 Introduction (<introduction>) ............................................................................... 20 3.2 Identification (<identification>)............................................................................ 21 3.3 Cycle (<cycle>)..................................................................................................... 32 3.4 Agency Index (<agencyIndex>) ........................................................................... 42 3.5 Summary (<summary>)........................................................................................ 43 4.0 Rap Sheet Definition................................................................................................. 46 4.1 Detailed Structure ................................................................................................. 46 4.2 XML Schema ....................................................................................................... 56 5.0 Example Rap Sheet ................................................................................................... 68 Appendices Appendix A - XML Transformation................................................................................. 77 Appendix B - XML Applications ..................................................................................... 80 Appendix C - Example Style Sheet .................................................................................. 82 Appendix D - HTML ...................................................................................................... 120 Appendix E - Reference Documents............................................................................... 131 Appendix F - Joint Task Force on Rap Sheet Standardization Participants ................... 133 Appendix G – Nat’l Task Force on Increasing Utility of CH Record (1993-1995) ....... 134

Interstate Criminal History Transmission Specification 1

DRAFT

Executive Summary

“A number of national-level developments in recent years have demonstrated the need for more uniform and readable State criminal history records. The content and format of such records are of increasing importance…All States having a common understanding that the standard rap sheet is important for criminal justice as well as for authorized noncriminal justice purposes.”1

Technical advances in computers and networks have resulted in vast improvements both in speed of the exchange and the accuracy of the data. The increased use of open standards, such as Internet-like technology, has and will continue to leverage the technical advances to the benefit of both the data providers and end users. Several long-standing problems remain to be solved. They are: ? States and the FBI employ different formats and codes, which make the interstate

exchange and interpretation of criminal history information difficult.??? Criminal records are used for many purposes. The inability to extract only the

information that is needed creates problems for both data providers and the end users of this information.?

?? There is no method of combining or electronically collating criminal records from

multiple sources (i.e., states and the FBI/III) into a single chronological record of events.? A national task force, the Joint Task Force on Rap Sheet Standardization (JTF), composed of members representing the FBI's Criminal Justice Information Services Division (CJIS) and its Advisory Policy Board (CJIS APB), the National Law Enforcement Telecommunications System (NLETS), SEARCH, the National Consortium for Justice Information and Statistics and state and local criminal justice agencies was formed to address these problems.2 The Joint Task Force on Rap Sheet Standardization has accomplished three major objectives: ? Developed an XML based standardized criminal history transmission format? ? Developed a standard presentation format utilizing the XML transmission format?

? Developed a concept of operations which combines criminal histories from multiple

sources into a single criminal history?

1 U.S. Department of Justice, Bureau of Justice Statistics, Increasing the Utility of the Criminal History Record: Report of the National Task Force, Criminal Justice Information Policy Series, by SEARCH Group, Inc. (Washington, D.C.: Government Printing Office, December 1995) hereafter, Utility of the Criminal History Record Task Force 2 Joint Task Force on Rap Sheet Standardization members are listed in Appendix F.

Interstate Criminal History Transmission Specification 2

DRAFT

The Concept of Operations provides that: ? Each state and the FBI transmit requested criminal history records to NLETS in a

standardized transmission format.??? If there are multiple records for an individual, NLETS consolidates them into a single

record before delivery.??? NLETS delivers the consolidated record to the requester in the transmission format or in

a variety of available presentation formats as requested by the state. ??

Implementation of this specification by all states and the FBI benefits the end user of criminal history records by providing information that is more easily understood, more complete and of higher accuracy than was heretofore possible. This is accomplished by ensuring that: ? All delivered records are in the same format, regardless of origin.??? The same format is always received, regardless of the method of request (e.g., fingerprint

submission or terminal request).??? The end user receives a single record, regardless of whether the record is from a single

state or multiple sources, such as a state and the FBI. ??? At the option of the end user, the criminal record may be received in XML format

(transmission format) for use in filling display screens, data entry screens, or databases or for state-created presentation formats.?

?? Upon request, the end user receives the record at an approved destination whether or not

it is served by an intrastate criminal justice network.? For states to respond to non-criminal justice requests with a standardized criminal history record, they must: ? Participate in the Interstate Identification Index (III)?

?? Have a TCP/IP interface to NLETS?

For states to participate for non-criminal justice requests, they must also: ? Be a participant in the National Fingerprint File (NFF) or?

?? Be a signatory to the National Crime Prevention and Privacy Compact?

Simultaneous implementation by all states and the FBI is not required. However, the potential benefit to the national criminal justice community and other criminal history records users will be lessened until all states and the FBI are participants. The detailed technical specification in this Joint Task Force Report provide the states with the necessary information to implement this

Interstate Criminal History Transmission Specification 3

DRAFT capability. Additional information on the National Crime Prevention and Privacy Compact and an electronic version of this Joint Task Force Report – Interstate Criminal History Transmission Specification are available at: WWW.SEARCH.ORG WWW.LEO.GOV WWW.NLETS.ORG

Interstate Criminal History Transmission Specification 4

DRAFT 1.0 Introduction 1.1 Background In 1995, the National Task Force on Increasing the Utility of the Criminal History Record

recommended expanded data content, a presentation format (page layout) for the expanded content, and the creation of a transmission format for the interstate sharing of criminal history information.3 The National Task Force included representatives from the Federal Bureau of Investigation (FBI), FBI Criminal Justice Information Services Advisory Policy Board (CJIS APB), National Law Enforcement Telecommunications System (NLETS), the National Center for State Courts, SEARCH, the National Consortium for Justice and Statistics. Its members were a diverse array of justice practitioners drawn from the judiciary, prosecution, court administration, local, state, and federal law enforcement, juvenile justice pre-trial services and state criminal records repositories.4 In 1996, the Joint Task Force on Rap Sheet Standardization with representation from the FBI CJIS Division, the APB, NLETS, SEARCH and state and local law enforcement agencies, was formed to carry forward the work of the National Task Force by developing a standardized criminal history transmission format. 1.2 Joint Task Force Accomplishments The Joint Task Force on Rap Sheet Standardization has accomplished three major objectives: ??Developed an XML based standardized criminal history transmission format ??Developed a standard presentation format utilizing the XML transmission format

??Developed a concept of operations which combines criminal histories from multiple

sources into a single criminal history The Interstate Criminal History Transmission Specification provides a method by which an authorized user who requests an interstate criminal history record, regardless of the request method: ??Will always5 receive the same set of information

3 See Increasing the Utility of the Criminal History Record: Report of the National Task Force

4 Members of the National Task Force on Increasing the Utility of the Criminal History Record are listed in Appendix G

5 Now, responses to III requests use FBI-held information for non-III states and state data for III and NFF states. Responses to fingerprint submissions use FBI data for both non-III and III state’s data. NFF states provide their data to the FBI for inclusion in responses to fingerprint submissions. This specification calls for use of state data for all responses for data held by III-states. The exception is for non criminal justice purpose codes, where use of state-held data is limited to those states that have signed the interstate National Crime Prevention and Privacy Compact or are III/NFF participants.

Interstate Criminal History Transmission Specification 5

DRAFT ??Will always receive a single record6 for multi-source interstate criminal histories, in

which the criminal justice event cycles are presented in date order ??Upon request will receive the record in computer-readable format7 for use in filling

display screens, data entry screens or databases, or for editing or state-specific presentation formats

??Upon request will receive the record in any of a variety of available presentation formats,

tailored for a specific printer or mobile digital unit, for example. ??Upon request will receive the record at an approved destination whether or not8 it is

served by an intrastate law enforcement network. 1.3 Interstate Criminal History Transmission Specification Release 1

– ANSI/NIST Implementation A concept of operations and specification were produced by the Joint Task Force in July 1998 (Release 1.00), widely circulated to the states for review, and revised in December 1998 (Release 1.01). That specification was based on Data Format for the Interchange of Fingerprint, Facial, & Scar Mark & Tattoo (SMT) Information (ANSI/NIST-CSL 1-1993), a standard originally developed for transmitting fingerprint and related information. To date, no state or the FBI is sending NLETS the ANSI/NIST release of the Interstate Criminal History Transmission Specification. 1.4 Organization of Specification The specification has been divided into an Executive Summary, five sections, and seven appendices. The Executive Summary provides a high level description of the XML national sstandardized rap sheet project. This summary gives the reader an understanding of both the history of the project, the reasons for its creation, and the anticipated benefits. The sections following this detail specifications for the implementation of the XML national rap sheet. A brief description of each section follows:

1.0 Introduction

6 Now, the user receives several criminal history records if III/NFF state repositories are involved. 7 The first computer readable format is the transmission format. Others may be developed in the future. 8 For example, states and/or NLETS may provide facsimile servers and e-mail servers to get the record to the final destination.

Interstate Criminal History Transmission Specification 6

DRAFT This section presents a brief background of the project since its inception. It also provides an abbreviated history regarding an earlier ANSI/NIST version.

2.0 Concept of Operations This section provides a general overview of the project and a detailed description

of the process for using XML to support the exchange of rap sheets. It also describes how criminal records are merged and delivered.

3.0 Element Dictionary This section describes all of the data elements and their XML tags for the national

rap sheet. 4.0 Rap Sheet Definition This section contains the full rap sheet definition including the structure of the rap

sheet and the XML schema definition of the root rap sheet element and all its child elements.

5.0 Example Rap Sheet This section presents an example of an XML rap sheet.

Appendix A XML Transformation

This appendix provides a brief primer of the XML conventions adopted for use in defining the rap sheet.

Appendix B XML Application

This appendix provides a technical description of methods to use the XML rap sheet once it has been received by the state. This may include excerpting data and creating a presentation of a rap sheet for display.

Appendix C Example Style Sheet

This appendix provides an example of an XSLT style sheet that transforms the example rap sheet in Section 5 into HTML.

Appendix D HTML This appendix shows the result of transforming the example rap sheet in Section 5 using the XSLT style sheet in Appendix C.

Appendix E Resource Documents

The final appendix presents a list of the source materials that were used to create this document.

Appendix F Joint Task Force on Rap Sheet Standardization Participants Identifies past and present Joint Task Force members. Appendix G National Task Force on Increasing the Utility of the Criminal History Record

(1993-1995)

Interstate Criminal History Transmission Specification 7

DRAFT The National Task Force developed the concept of a presentation format for an interstate rap sheet. It’s work provided the foundation for the Joint Task Force on Rap Sheet Standardization. This Appendix identifies the members of the National Task Force.

Interstate Criminal History Transmission Specification 8

DRAFT 2.0 Concept of Operations 2.1 Overview A criminal history will be requested by a criminal justice agency, court or other authorized entity whose state or federal service provider will forward the request to the FBI. This request could be in the form of an FBI/Interstate Identification Index (III) QR transaction or via fingerprint submission. After determining the FBI record identification number for the requested information, the FBI will notify each of the states that have III responsibility for a portion (or all) of the criminal history record and NLETS. Each state and the FBI will send their criminal history record to NLETS in transmission format. When NLETS receives a criminal history in transmission format, it will determine if the record is single or multi-source based on the notification received from the FBI. If it is multi-state, NLETS will hold the portion until all portions are received or until a specified time period has elapsed. NLETS will then assemble the portions into a single, national criminal history. That criminal history will contain all of the information each respondent agency has provided and assembled in such a fashion that the same information received from more than one source is displayed only once. Events are ordered from earliest to latest regardless of the state (or federal authority responsible for the event) in which they occurred. For both single-state and multi-state criminal histories, NLETS will create a summary record as defined in this specification. Certain fields have been coded so they can be counted. For example, the Charge Severity field is coded so that separate counts can be kept for misdemeanors and felonies and court dispositions are coded to count convictions and non-convictions. NLETS will then determine the format of the criminal history response. This information may be contained in the original request for the criminal history or may be contained in a preference table maintained by NLETS. Finally, NLETS will send the response. In most cases, this will be to the state that will forward the response to a user on its state network. Other possibilities may include use of the Internet or fax servers. 2.2 Transition All states and the FBI will be participants when this Interstate Criminal History Transmission Specification is fully implemented. This may take several years and the Concept of Operations contemplates a gradual adoption of the specification over a transition period. NLETS will provide the bridge between participating and non-participating states/FBI during the transition period. Throughout the transition period, some states or the FBI may not be ready to send the transmission format and will send a plain text criminal history

Interstate Criminal History Transmission Specification 9

DRAFT instead. When NLETS receives such a criminal history, it will simply pass it through without any processing. NLETS will also provide translation between the transmission format and the presentation format contained in the specification, both during and after the transition period. 2.3 Record Request Requests for rap sheets begin with a message requesting criminal history information to the FBI/III system, or a message to a state criminal history repository or with a fingerprint submission to the FBI. In any case, a national rap sheet may be generated and will be processed by NLETS. A request for a criminal history record is formulated as a QR transaction containing either the FBI number or a SID (State Identification Number). A fingerprint submission sent to the FBI may also generate a standardized rap sheet. Once the request is received by the FBI/III, the state repositories which hold the record portions will be notified electronically via $.A.CHR messages. Each $.A.CHR message describes the record to be retrieved and the destination of the rap sheet. The FBI/III will simultaneously notify NLETS with the same information using the standard notification sent to states, commonly known as the “EL01” and “FL01” messages. These messages contain an index of the state and/or federal records to be merged by NLETS. FBI/III responds to the requester via the National Crime Information Center (NCIC) telecommunications network with a message indicating that the response is being processed and the type of response the requester should expect: ??A message header beginning with “F” indicates that FBI/III will be the sole

respondent or one of multiple respondents, and provides the FBI number and the SID(s) of any state segments. FBI will provide a copy of this message to NLETS.

??A message header beginning with “E” indicates that one or more states will respond but FBI/III will not, and provides the FBI number and the SID(s) of the state segments. FBI will provide a copy of this message to NLETS.

??A message header beginning with “N” indicates that no record matching the QR query terms can be found and processing ceases. There is no need for NLETS to receive this message from the FBI.

An NLETS request for an out-of-state criminal history is triggered by an NLETS IQ or FQ record request transaction, transmitted to the record-holding state via NLETS. Inquiries of this type are inherently single-state queries that do not require response-merging as do multi-state responses. No special handling at the time of inquiry is needed to process such a query. There are other, less common ways of triggering an out-of-state record request. Telephone calls and internet e-mail messages are examples. Inquiries of this type are inherently single-state queries that do not require response-merging as do multi-state

Interstate Criminal History Transmission Specification 10

DRAFT responses. No special handling at the time of inquiry is possible or needed to process such a query. The FBI type “F” response format is shown in the following example. The critical elements of the message, on which successful processing depends, are shown underscored. FL01HEADERXXXX01234 AKAST0100 THIS INTERSTATE IDENTIFICATION INDEX RESPONSE IS THE RESULT OF YOUR RECORD REQUEST FOR FBI/901100. INDIVIDUAL’S RECORD WILL BE COMPLETE WHEN ALL RESPONSES ARE RECEIVED FROM THE FOLLOWING SOURCES EXCEPT FOR THOSE INDICATED AS DECEASED: FBI - FBI/901100 NORTH CAROLINA - STATE ID/NC0142585A - DECEASED TEXAS - STATE ID/TX01346790 END

The FBI type “E” response format is shown in the following example. The critical elements of the message, on which successful processing depends, are shown underscored. EL01HEADERXXXX01234 AKAST0100 THIS INTERSTATE IDENTIFICATION INDEX RESPONSE IS THE RESULT OF YOUR RECORD REQUEST FOR FBI/901100. INDIVIDUAL’S RECORD WILL BE COMPLETE WHEN ALL RESPONSES ARE RECEIVED FROM THE FOLLOWING SOURCES EXCEPT FOR THOSE INDICATED AS DECEASED: NORTH CAROLINA - STATE ID/NC0142585A - DECEASED TEXAS - STATE ID/TX01346790 END For both type “E” and type “F” responses, the critical format items are as follows. The field AKAST0100, which must appear as the first line, is the requester ORI. If an FBI number preceded by FBI/ is in the narrative block, it will be used to determine whether state records received are part of this merge operation. If an SID number preceded by SID/ is in the narrative block, it — along with the other SID numbers in the record — will be used to determine whether state records received are part of the merge operation. The individual state or FBI responses are compared to these numbers to select records for the merge operations. The processing of responder lines depends on the leading space character, the presence of a space-surrounded hyphen, the STATE ID/ or FBI/ tag, and the optional word DECEASED preceded by a space-surrounded hyphen. The requester and FBI or SID numbers comprise the unique key for the merge-tracking entry. For this reason, a requester cannot have more than one request for the same FBI or SID numbers active at any one time. If this restriction is violated, results are somewhat

Interstate Criminal History Transmission Specification 11

DRAFT unpredictable and will probably result in a single response being issued by NLETS and duplicate responder state rap sheets being ignored. 2.4 Criminal History Transmission to NLETS Regardless of the request method, a time comes when a criminal history is generated and prepared for transmission. In cases where the FBI/III holds the entire record, it will transmit the record using the NLETS network. In cases where one or more states hold the record or portions thereof (FBI/III may also hold a part of the record), each holder will transmit its portion to the requester using the NLETS network. If the requesting state also holds a record on the subject, it may opt to send its record to NLETS to be merged with the other records. To facilitate this, the FBI will include, in all EL01 and FL01 messages, a listing of all states that hold a record on the subject rather than just a notification that the requesting state also may have a record on the subject. In these instances, the state of inquiry will also receive a $.A.CHR message. This is necessary so that the state can transmit its response to NLETS so that the record-merge operation described in Section 2.5 can take place. Rap sheets sent by the holder in any format other than the transmission format are sent as normal text-based NLETS messages and go directly to the requester without any merge processing at NLETS. Criminal histories sent in the Interstate Criminal History Transmission Specification format in response to a III QR transaction and IQ or FQ requests carry the transaction type of STDRAP. The notification messages from the FBI/III to NLETS described in this section cause database entries to be made that control merge processing described in Section 2.5. Because of transmission delays, rap sheets may arrive at NLETS prior to the notification message being processed. In this case, the early rap sheets are sent directly to the requesting agency without merging. 2.5 Merge Processing This section describes processing for criminal history responses coming from states as a result of the FBI/III notification. NLETS maintains a Rap-Merge table containing control information regarding national criminal history merge processing. Entries in the table are created when NLETS is notified by FBI/III (via a message with a header starting with “E” or “F”) that it is about to receive multiple rap sheets for further delivery. Each Rap-Merge entry, built from the notification message, shows the SIDs and possibly the FBI number for the various portions, the ORI of the requesting agency, and the time of notification. NLETS also retains information regarding each criminal history responder, including whether it will be in transmission format or presentation format, and what format the receiver desires.

Interstate Criminal History Transmission Specification 12

DRAFT When the criminal history arrives, NLETS checks the Rap-Merge table to determine if it is part of an expected multi-state criminal history. If there is no entry in the Rap-Merge table, NLETS forwards the criminal history directly to the recipient. This can happen if the rap sheet: a) Arrives before the notification message from FBI/III is processed, b) Arrives late and the merged rap sheet has already been sent to the receiving agency,

or c) is a single-state rap sheet. If the criminal history is a portion of a multi-state criminal history, it is merged with previously received portions. Merging means that duplicate items in the Introduction, Identification and Index segments are suppressed, and Event segments (arrests and dispositions) are kept intact but sequenced in date order. The result of the merge is a new composite criminal history in transmission format. The Rap-Merge table is updated to show the merge. Log entries are made for criminal histories merged into the composite result. These entries contain only identifying information, not detailed criminal history contents. If the newly received criminal history portion is the last portion, NLETS will send the merged criminal history to its destination and removes the transaction from the Rap-Merge table. At fixed periods, the Rap-Merge table is checked to determine if a time threshold has been exceeded for any merge in progress. If the time has been exceeded and nothing has been received, the Rap-Merge table is cleared. If the time has been exceeded and some portion of the multi-state criminal history has been received and merged, a caveat is inserted into the Introduction record stating which part is missing. The incomplete rap sheet is then transmitted to its destination and the Rap-Merge table entry is cleared. If a missing record portion arrives later, it is treated as a single-state criminal history. 2.6 Content Merging Rules The contents of a single cycle are never subdivided; cycles are ordered by the Event Date field with the earliest cycle first. For elimination of duplicate data within a merged multi-state criminal history, the general rule is that every subfield of an element must be identical in both versions for the element to be a duplicate. Exceptions are made for those subfields that contain the reporting agency or the reporting date for a field value. For multiple occurrences of data elements within the Identification segment of a merged record, the order of occurrences has no significance.

Interstate Criminal History Transmission Specification 13

DRAFT 2.6.1 Introduction Element Introduction caveats <caveatInfo> may include either a narrative text or a set of codes. Caveat text supplied by different responding states is not checked for duplicates. The order of presentation of the caveat information is determined by the order of receipt of the individual rap sheets. Table 1 details the contents of the <introduction> element.

Field ID Field Name Merge Action

<request> Rap Sheet Request Reference:

? FBI Number

? State Identification Number

? Name

? Purpose Code

? Attention Reference

Each occurrence of this element is checked for duplicates. If found, duplicates are suppressed. All the elements must match exactly to be considered a duplicate. Up to 100 Rap Sheet Request References may be accommodated.

If multiple values of any of the above items exist after merging, they are retained. The FBI Number should never be multi-valued and the State Identification Number should normally be multi-valued. Purpose Code and Attention Reference should not be multi-valued.

<caveatInfo> Record Caveat Information

? State

? Caveat

? Index

This field is not checked for duplicates. Up to 20 Record Caveats may be accommodated. Each Record Caveat consists of two information items, the state reporting the caveat and either a narrative caveat or an index code corresponding to a fixed caveat.

Table 1

2.6.2 Identification Element Fields in this element are merged, with duplicates removed. In some cases, fields that are required to be single-valued (such as eye color) for contributors may take on multiple values in the composite merged criminal history. Table 2 details the contents of the identification element.

Field ID Field Name Merge Action

<subjectName> Subject’s Name:

? Last

? First

? Middle

? Suffix

Each occurrence of this element is checked for duplicates. If found, duplicates are suppressed. All items must match exactly for an element to be considered a duplicate. Up to 100 Names may be accommodated.

<fbiNumber> FBI Number Only one FBI number is specified per criminal history.

Interstate Criminal History Transmission Specification 14

DRAFT <sidNumber> State Identification Number Each occurrence of this element is checked

for duplicates. If found, duplicates are suppressed. Up to 10 State Identification Numbers may be accommodated.

<ssn> Social Security Number Each occurrence of this element is checked for duplicates. If found, duplicates are suppressed. Up to 10 Social Security Numbers may be accommodated

<miscid> Miscellaneous ID Number:

? Type of Number

? Number

Each occurrence of this element is checked for duplicates. If found, duplicates are suppressed. The Number and, if specified, the Type of Number must match to be considered a duplicate. If the Type of Number is specified, it is retained. Up to 20 Miscellaneous ID Numbers may be accommodated.

<driversLicense> Drivers License Number:

? State

? Number

Each occurrence of this element is checked for duplicates. If found, duplicates are suppressed. Both items must match exactly to be considered a duplicate. Up to 5 Drivers License Numbers may be accommodated.

<birthplace> Place of Birth Each occurrence of this element is checked for duplicates. If found, duplicates are suppressed. Up to 20 Places of Birth may be accommodated.

<citizenship> Country of Citizenship Each occurrence of this element is checked for duplicates. If found, duplicates are suppressed. Up to 20 Countries of Citizenship may be accommodated.

<birthdate> Date of Birth Each occurrence of this element is checked for duplicates. If found, duplicates are suppressed. Up to 10 Dates of Birth may be accommodated.

<sex> Sex Each occurrence of this element is checked for duplicates. If found, duplicates are suppressed. Up to 3 Sexes may be accommodated.

<race> Race Each occurrence of this element is checked for duplicates. If found, duplicates are suppressed. Up to 5 Races may be accommodated.

Interstate Criminal History Transmission Specification 15

DRAFT <heightInfo> Height Information:

? Height

? Date

Each occurrence of this element is checked for duplicates. If found, duplicates are suppressed. Only the Height must match to be considered a duplicate. If the Date is specified, it is retained. If the Date conflicts with a duplicate Height, then the most recent Date will be retained. Up to 10 Height Informations may be accommodated.

<weightInfo> Weight Information:

? Weight

? Date

Each occurrence of this element is checked for duplicates. If found, duplicates are suppressed. Only the Weight must match to be considered a duplicate. If the Date is specified, it is retained. If the Date conflicts with a duplicate Weight, then the most recent Date will be retained. Up to 10 Weight Information may be accommodated.

<eyeColorInfo> Eye Color Information:

? Color

? Date

Each occurrence of this element is checked for duplicates. If found, duplicates are suppressed. If either item matches, it is considered a duplicate. Up to 10 Eye Color Informations may be accommodated.

<hairColorInfo> Hair Color Information:

? Color

? Date

Each occurrence of this element is checked for duplicates. If found, duplicates are suppressed. If either item matches, it is considered a duplicate. Up to 10 Hair Color Informations may be accommodated.

<fpPatternClass> FP Pattern Classification Each occurrence of this element is checked for duplicates. If found, duplicates are suppressed. Up to 5 FP Pattern Classifications may be accommodated.

<photo> Photo Available:

? Agency ORI

? Agency Name

? Format

? Date

Each occurrence of this element is checked for duplicates. If found, duplicates are suppressed. Only the Agency ORI or Agency Name must match for this record to be considered a duplicate. If the Date is specified, it is retained. If the Date conflicts with a matching ORI, then the most recent Date will be retained. Up to 10 Photos Available may be accommodated.

Interstate Criminal History Transmission Specification 16

DRAFT <dna> DNA Each occurrence of this element is checked

for duplicates. If found, duplicates are suppressed. Up to 20 DNAs may be accommodated.

<smtInfo> Scars, Marks, Tattoos Information:

? Agency ORI

? Agency Name

? SMT

? Code

? Date

Each occurrence of this element is checked for duplicates. If found, duplicates are suppressed. Both SMT/Text and Agency ORI are used to identify duplicates. If the Date is specified, it is retained. If the Date conflicts with another matching entry, then the most recent Date will be retained. Up to 100 Scars, Marks, Tattoos Informations may be accommodated.

<employment> Employer:

? Occupation

? Employer

? Date

Each occurrence of this element is checked for duplicates. If found, duplicates are suppressed. All items must match to be considered a duplicate. Up to 20 Employments may be accommodated.

<residence> Residence:

? Address

? Date

Each occurrence of this element is checked for duplicates. If found, duplicates are suppressed. The Address and, if provided, the Date are used to identify duplicates. If the Date is specified in only one case, it is retained. Up to 20 Residences may be accommodated.

<cautionInfo> Caution Information:

? Caution

? Date

? State

This field is not checked for duplicates. Up to 5 Caution Informations may be accommodated.

<iffsDisqualified> IFFS Disqualified Each occurrence of this field is merged with other occurrences. Prior to May 13, 2001, the precedence is “F” > “X” > “M”. After May 13, 2001, the precedence is “D”>”X”>”C”.

<offenderNoticeInfo> Offender Caveat or Notice Information:

? Offender Notice

? Index

? State

This field is not checked for duplicates. Up to 20 Offender Notice Informations may be accommodated.

<commentsInfo> Comments Information:

? Comment

? State

This field is not checked for duplicates. Up to 10 Comments Information may be accommodated.

Table 2

Interstate Criminal History Transmission Specification 17

DRAFT 2.6.3 Cycle Element Cycle elements are merged into sorted order by Earliest Event Date <earliestDate>. Elements within a Cycle Element are not merged; therefore, no cycle layouts are provided in this Content Merging Rules section.

2.6.4 Agency Information Element These items are sorted by Agency ORI <agencyORI> and duplicates, identified by Agency ORI, are removed. If the same ORI appears in more than one individual responder’s rap sheet, contact information for the first occurrence is used. Table 3 details the content of Agency Information element element.

Field ID Field Name Merge Action

<agencyInfo> Agency Information:

? Agency ORI

? Agency Name

? Agency Address

? Agency Phone

? Agency Fax

? Agency Internet Address

Each occurrence of this element is checked for duplicates. If found, the duplicate is suppressed. If the mandatory Agency ORI matches exactly, it is considered a duplicate. Up to 100 Agency Informations may be accommodated.

Table 3

2.6.5 Summary Element Since this record is generated by NLETS as a result of delivery processing, no actual merging operation takes place. Table 4 details the contents of summary element.

Field ID Field Name Merge Action

<cautionInfo> Caution Information:

? Caution

? Date

This element contains all of the caution entries for all contributing states.

<iffsDisqualified> IFFS Disqualified This field contains the highest level encountered in Felon Identification in Firearms Sales (FIFS)/Identification for Firearm Sales Disqualifier (IFS) values. Prior to May 13, 2001,“F” if any felony FIFS flags, “X” if no “F” values and at least one “X” reported, “M” if no “F” or “X” values and at least one “M” reported. After May 13, 2001, “D” if any disqualified IFFS flags, “X” if no “D” values and at least one “X” reported and “C” if no “D” or “X” reported and at least one “C” reported.

Interstate Criminal History Transmission Specification 18

DRAFT Field ID Field Name Merge Action

<total Arrests> Total Reported Arrests

This field is set by counting the number of cycles in which an Arresting Agency Segment appears.

<total Charges> Total Reported Charges:

? Felony

? Misdemeanor

? Local Ordinance

? Other

? Unknown

This field is set by accumulating counts by arrest Charge Severity (Felony, Misdemeanor, Local Ordinance, Other and Unknown). This information comes from the Arrest Charge element and Charge Severity element. The charge count does not involve the item called Counts. Thus, a charge on multiple counts is counted as a single charge.

<total Convictions> Total Reported Convictions:

? Felony

? Misdemeanor

? Local Ordinance

? Other

? Unknown

This field is set by accumulating counts by Charge Severity (Felony, Misdemeanor, Local Ordinance, Other and Unknown) where the Court Action Type is “310,” meaning “Convicted”. This information comes from the Court Charge element. Each occurrence of the Court Charge contains a Charge Severity element and a Court Action type element. The conviction count does not involve the item called Counts. Thus, a conviction on multiple counts is counted as a single conviction.

<totalFailuresTo Appear>

Total Reported Failures to Appear

This field is calculated by compiling the number of “401” codes in the Court Action Type element.

<totalRevocations> Total Reported Revocations

This field is calculated by compiling the number of “501” through “”504” codes from the Court Action Type element.

<lastEventDate> Date of Last Reported Event

Set to the most recent Earliest Event Date for all cycles.

<firstEventDate> Date of First Reported Event

Set to the oldest Earliest Event Date for all Cycles.

Table 4

2.7 Criminal History Delivery The criminal history delivery process consists of a well-formed XML document transmitted by NLETS to the receiving state. It is expected that NLETS will develop a wrapper or envelope for the criminal history record. For example, the Simple Object Access Protocol (SOAP) provides this model: <Envelope> <Header> …NLETS-specific message-key, routing and message-identification content </Header> <Body> <rapSheet>

Interstate Criminal History Transmission Specification 19

DRAFT …actual content of the criminal history record </rapSheet> </Body> </Envelope> The criminal history delivery process is the same whether the criminal history is generated as a result of a fingerprint submission, an NLETS query or an FBI/III query. The steps in delivery processing are as follows. ?? If the receiving state has opted to receive in transmission format, the criminal history is sent

to the receiving state in that format. The final record in the transmission is always a summary record created by NLETS. This summary record gives conviction counts of felonies, misdemeanors and violations.

?? If the receiving state has opted to receive in presentation format, the XML criminal history is converted to presentation format and sent to the requester as a standard NLETS text message. A summary of conviction counts is generated as part of the presentation format.

??Delivery of a criminal history is logged by NLETS. These log entries contain only identifying information (originating and destination agency IDs, type of transaction, date/time stamps), not detailed criminal history contents.

The specification does not limit the number of occurrences of any particular data element or complex. Therefore, there is no fixed maximum number of <arrestCycle> elements that can be included in a subject’s record. NLETS may, however, regulate the total maximum size of a transmitted document.

Interstate Criminal History Transmission Specification 20

DRAFT 3.0 Element Dictionary The element dictionary defines the contents of the elements. The <rapSheet> element itself has two attributes. First, a standard XML name space should (but need not) be specified. This gives a reference to the origin of the definition for the <rapSheet> element. The second attribute, which must be present, is the version of the rap sheet definition to which the document conforms. This must have the value “2.00”. Example: <rapSheet xmlns="http://www.nlets.org/formats/rapsheet" version="2.00"> ••• </rapSheet> The first namespace in the above example is coded as a default name space. It applies to all elements within the <rapSheet> element. 3.1 Introduction (<introduction>) The <introduction> element contains reference information gathered from the inquiry transaction (e.g., IQ, FQ, or CHR) and also special caveats relating to use and dissemination of the criminal history record.

Rap Sheet Request Reference (<request>): Information contained in each element is derived from the request transaction (e.g., QR, IQ or FQ) to which the response corresponds.

FBI Number (<fbiNumber>): The FBI Number element is mandatory in the absence of a State Identification Number element. The element contains the subject’s FBI Number. (EFTS 2.014)

State Identification Number (<sidNumber)>): The SID Number element is mandatory in the absence of an FBI Number element. The element contains the subject’s SID from request (e.g., QR, IQ, FQ). (EFTS 2.015)

Name (<name>): This element contains the name of the subject used in the request for the criminal history record. (EFTS 2.018)

Purpose Code (<purposeCode>): The element contains a code identifying the purpose for which the rap sheet will be used. (EFTS 2.XXX) Valid values are:

A – Administrative file maintenance C – Criminal justice D – Domestic violence and stalking, civil and criminal court cases F – Firearms-related background checks H – Public housing background checks I – Interstate approved non-criminal justice licensing and employment

background checks J – criminal justice employment background checks

Interstate Criminal History Transmission Specification 21

DRAFT S – National security background checks V – Visa applications initiated by US Department of State X – Caregiver background checks, exigent circumstances

Attention Reference (<attention>): This element contains identification of the person or entity to whose attention the rap sheet response will be directed.

Example: <request> <fbiNumber>900660</fbiNumber> <sidNumber>CA99999978</sidNumber> <name>Jones, John P</name> <purposeCode>C</purposeCode> <attention>AL 911137</attention> </request> Record Caveat Information (<caveatInfo>): Record Caveat Information elements must specify either a <caveat> or an <index> element but not both.

State (<state>): This element contains the NCIC State two-letter code for the State that supplied the caveat.

Caveat (<caveat>): This element contains a definition of the conditions pertaining to the use and dissemination of the rap sheet being provided.

Index (<index>): The element contains a code corresponding to a fixed caveat. The corresponding caveat will be displayed in the rap sheet. States will be allowed to enter codes and associated caveats into the central Index maintained by NLETS. Valid codes and their corresponding caveats are yet to be determined.

Example: <caveatInfo> <state>CA</state> <caveat>

This record is provided in response to your request. Use of the information contained in this record is governed by state and federal law.

</caveat> </caveatInfo> 3.2 Identification (<identification>) The identification element contains information about the criminal history record subject’s identity.

Subject’s Name (<subjectName>): This element should include all names for the record subject, including all known AKAs.

Last (<last>): This element contains the record subject’s last or surname. The last name must be supplied but the remaining elements are all optional.

First (<first>): This element contains the record subject’s first or given name.

Interstate Criminal History Transmission Specification 22

DRAFT Middle (<middle>): This element contains the record subject’s middle name.

Suffix (<suffix>): This element contains additional components of the record subject’s name and generational suffixes, for example, Jr., Sr., III, etc., corresponding to the record subject.

Example: <subjectName> <last>Jones</last> <first>John</first> <middle>P</middle> <suffix>Jr</suffix> </subjectName> FBI Number (<fbiNumber>): The FBI Number element is mandatory without an SID Number element (<sidNumber>). The field contains the subject’s FBI Number. (EFTS 2.014) Example: <fbiNumber>62660CA12</fbiNumber> State Identification Number (<sidNumber>): The SID Number field is mandatory without an FBI Number field (<fbiNumber>). The element contains the subject’s SID Number assigned by the responding state(s). (EFTS 2.015) Example: <sidNumber>CA99999978</sidNumber> Correctional Number (<correctionalNumber>): This element contains a correctional subject’s identification number for a given state.

Number (<number>): The element contains the subject’s correctional number from the state that issued it. State (<state>): The element contains the NCIC State two-letter code of the state that assigned the correctional number.

Example: <correctionalNumber> <number>IL742786</number> <state>IL</state> </correctionalNumber> Social Security Number (<ssn>): This element contains the subject’s social security number. This number will be entered as nine consecutive numeric characters with no embedded punctuation or special characters. (EFTS 2.016) Example: <ssn>220565860</ssn> Miscellaneous ID Number (<miscId>):

Interstate Criminal History Transmission Specification 23

DRAFT Type of Number (<type>): The element contains a description of the type or origin of the miscellaneous number provided in the second element, for example, “Army Serial Number,” “Passport Number,” or “Canadian Social Insurance.”

Number (<number>): This element contains an identification number, other than social security number, assigned to the record subject, such as a military ID number, or passport number.

Example: <miscId> <type>Army Serial</type> <number>24680357</number> </miscId>

Drivers License Number (<driversLicense>): Number (<number>): The element contains the subject’s driver’s license number from the state that issued it. State (<state>): The element contains the NCIC State two-letter code of the state that issued the license.

Example: <driversLicense> <number>220565860</number> <state>CA</state> </driversLicense>

Place of Birth (<birthplace>): The place of birth will be identified as the state (Mexico, United States), territorial possession, province (Canada), or country of birth. The place of birth must be represented by the appropriate two-letter abbreviations listed in the NCIC 2000 Code Manual or comply with the criteria identified below. (EFTS 2.020)

If the following condition exists: Enter Code:

POB listed as state AND country and

applicable code not contained in Code Table;

OR city can be ascertained as not being located

In the United States;

Or foreign POB and applicable code not contained

in Code Table…………………………………………………………………..Y

POB stated as only city AND city can be

Ascertained as being located in the United States……………………………US

POB is Mexico or any Mexican state or province

Not in Code Table……………………………………………………………MM

Interstate Criminal History Transmission Specification 24

DRAFT POB is “Mexico, Mexico”…………………………………………………….MX

POB is unknown………………………………………………………………XX

Example: <birthplace>CA</birthplace>

Date of Birth (<birthdate>): Each birthdate element contains a date of birth in the eight-digit date format CCYYMMDD associated with the record subject. The element may contain the format attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default. (EFTS 2.022)

Example: <birthdate format=”CCYYMMDD”>19530212</birthdate>

Country of Citizenship (<citizenship>): The element contains the name of the country of which the subject is a citizen.

Example: <citizenship>US</citizenship> Sex (<sex>): This element contains the record subject’ s sex. Valid values are: Male; Female; Unknown.

Example: <sex>Female</sex> Race (<race>): This element contains the record subject’s race. Use the predominant race code from the following table. (Categories are the same as EFTS 2.025, code values are different)

If Subject is Enter Code

Chinese, Japanese, Filipino, Korean, Polynesian, Indian, Indonesian, Asian Indian, Samoan, or any other Pacific Islander

Asian

A person having origins in any of the racial groups of Africa Black

American Indian, Eskimo, or Alaskan native, or a person having origins in any of the 48 contiguous states of the United States or Alaska who maintains cultural identification through tribal affiliation or community recognition

Native American

Of indeterminate race Unknown

Caucasian, Mexican, Puerto Rican, Cuban, Central or South American, or other Spanish culture or origin, regardless of race

White

Example: <race>White</race>

Height Information(<heightInfo>):

Height (<height>): This element contains the record subject’s height. The element may contain the unit attribute giving the measurement units of the height. The legal values of the attribute are “inches” and “feetinches” and the default is “feetinches.” If reported in feet and inches, the first (leftmost) digit is used to show feet while the two rightmost characters are used to show the inches between 00 and 11.

Interstate Criminal History Transmission Specification 25

DRAFT Date (<date>): This element contains the date on which the associated height was reported in the format CCYYMMDD. The element may contain the format attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default.

Example: <heightInfo> <height unit=”feetinches”>601</height> <date>19940704</date> </heightInfo> <heightInfo> <height unit="inches">75</height> <date>19960311</date> </heightInfo>

Weight Information(<weightInfo>):

Weight (<weight>): This element contains the record subject’s weight in pounds as a three-character numeric. If weight is unknown, enter 000. The element may contain the unit attribute giving the measurement units of the weight. The only legal value of the attribute is “pounds” and it is the default. (EFTS 2.029)

Date (<date>): This element contains the date on which the associated weight was reported in the format CCYYMMDD. The element may contain the format attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default.

Example: <weightInfo> <weight unit="pounds">180</weight> <date>19970321</date> </weightInfo> Eye Color Information (<eyeColorInfo>):

Eye Color (<eyeColor>): This element contains the subject's eye color. Use an eye color from the following table.

Eye Color Black Hazel

Blue Maroon

Brown Multicolored Gray Pink

Green Unknown

Date (<date>): This element contains the eight-digit date format on which the associated eye color was reported in the format CCYYMMDD. The element may contain

Interstate Criminal History Transmission Specification 26

DRAFT the format attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default.

Example: <eyeColorInfo> <eyeColor>Blue</eyeColor> <date>19880321</date> </eyeColorInfo> Hair Color Information (<hairColorInfo>):

Hair Color (<hairColor>): This element contains the subject’s hair color. Use a hair color from the following table.

Hair Color

Bald Partially Gray

Black Red

Blonde Auburn

Strawberry Blonde Sandy Brown White

Gray Green

Orange Pink

Purple Unknown

Date (<date>): This element contains the eight-digit date on which the associated hair color was reported in the format CCYYMMDD. The element may contain the format attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default.

Example: <hairColorInfo> <hairColor>Brown</hairColor> <date>19890704</date> </hairColorInfo> Skin Tone (<skinTone>): This element contains the subject’s skin tone (complexion). Use a skin tone from the following table.

Skin Tone

Albino Medium

Black Medium Brown

Interstate Criminal History Transmission Specification 27

DRAFT Dark Olive

Dark Brown Ruddy Fair Sallow

Light Yellow

Light Brown

Example: <skinTone> Albino</skinTone>

FP Pattern Classification (<fpPatternClass>): The element contains the subject’s fingerprint classification, and may include the classification technique employed.

Example: <fpPatternClass>LLLWLAWWRA</fpPatternClass>

Palm Prints Available (<palmPrints>): Entries should only be made in this element if an agency is known to have palm prints corresponding to the record subject.

Agency ORI (<agencyORI>): This element contains the ORI of the Agency that maintains palm prints of the record subject. If the Agency Name element is not transmitted, the Agency ORI is mandatory.

Agency Name (<agencyName>): The entry of an ORI number in the AgencyORI element is preferred over the entry of the Agency Name; however, in the situation that an Agency ORI is not available for entry, the Agency Name is mandatory.

Format (<format>): This element describes the format in which the palm prints are available. (e.g., NIST, HC (for hardcopy), TIFF, etc.)

Link (<link>): This element contains information about how to acquire images of the palm prints. It may be in the form of a Universal Resource Locator (URL) or it may be narrative instructions.

Date (<date>): This element contains the eight-digit date on which the associated palm prints were obtained in the format CCYYMMDD. The element may contain the format attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default.

Example: <palmPrints> <agencyORI>CA0000041</agencyORI> <format>HC</format> <link> http://www.nlets.org/image/123.jpg </link> <date>19920704</date> </palmPrints>

Interstate Criminal History Transmission Specification 28

DRAFT Photo Available (<photo>): Entries should only be made in this element if an Agency is known to have a photograph(s) of the record subject.

Agency ORI (<agencyORI>): This element contains the ORI of the Agency maintaining a photograph of the record subject. If the Agency Name element is not transmitted, the Agency ORI is mandatory.

Agency Name (<agencyName>): The entry of an ORI number in the AgencyORI element is preferred over the entry of the Agency Name; however, in the situation that an Agency ORI is not available for entry, the Agency Name is mandatory.

Format (<format>): This element describes the format in which the palm prints are available. E.g., NIST, HC (for hardcopy), TIFF, etc.

Link (<link>): This element contains information about how to acquire the images. It may be in the form of a URL or it may be narrative instructions.

Date (<date>): This element contains the eight-digit date on which the associated photo was obtained in the format CCYYMMDD. The element may contain the format attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default.

Example: <photo> <agencyORI>CA0000012</agencyORI> <format>NIST</format> <link> Fax request including SID. Indicate photos are requested, and supply name of requester, agency, purpose, and return fax number. </link> <date>19920704</date> </photo>

DNA (<dna>): Entries should only be made in this element if an Agency is known to have a DNA sample of the record subject.

Agency ORI (<agencyORI>): This element contains the ORI of the Agency maintaining DNA of the record subject. If the Agency Name element is not transmitted, the Agency ORI is mandatory.

Agency Name (<agencyName>): The entry of an ORI number in the AgencyORI element is preferred over the entry of the Agency Name; however, in the situation that an Agency ORI is not available for entry, the Agency Name is mandatory.

Format (<format>): This element describes the format in which the DNA samples are available. E.g., NIST, HC (for hardcopy), TIFF, etc.

Link (<link>): This element contains information about how to acquire images of the DNA data. It may be in the form of a URL or it may be narrative instructions.

Date (<date>): This element contains the eight-digit date on which the associated DNA was obtained in the format CCYYMMDD. The element may contain the format

Interstate Criminal History Transmission Specification 29

DRAFT attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default.

Example: <dna> <agencyORI>CA0000012</agencyORI> <format>HC</format> <date>19920704</date> </dna>

Scars, Marks, and Tattoos (<smtInfo>): Specify either an <smt> or an <code>.

Agency ORI (<agencyORI>): This element contains the ORI of the Agency having more specific information associated with the scar, mark or tattoo, possibly a photo or digital image. If the Agency Name element is not transmitted, the Agency ORI is mandatory.

Agency Name (<agencyName>): The entry of an ORI number in the AgencyORI element is preferred over the entry of the Agency Name; however, in the situation that an Agency ORI is not available for entry, the Agency Name is mandatory.

SMT (<smt>): This element contains description of a scar, mark or tattoo present on the subject. The element contains a free-text description.

Code (<code>): This element contains the appropriate NCIC code. (EFTS 2.026)

Format (<format>): This element describes the format in which any SMT images are available. E.g., NIST, HC (for hardcopy), TIFF, etc.

Link (<link>): This element contains information about how to acquire images of the SMT data. It may be in the form of a URL or it may be narrative instructions. Date (<date>): This element contains the eight-digit date on which the scar, mark or tattoo was recorded in the format CCYYMMDD. The element may contain the format attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default.

Example: <smtInfo> <agencyORI>CA0000041</agencyORI>

<smt>TAT RF ARM dragon with blue band around its neck and a rose in background with green stem

</smt> <format>NIST</format> <date>19910111</date> </smtInfo>

Employment (<employment>):

Occupation (<occupation>): This element contains the record subject’s occupation. Occupation may be reported as “Student” if the record subject is a full-time student.

Interstate Criminal History Transmission Specification 30

DRAFT Employer (<employerName>): This element contains the record subject’s employer. As much information as available should be entered concerning the employer’s location and means of contact.

Date (<date>): This element contains the eight-digit date showing the record subject’s employment dates in the format CCYYMMDD. The element may contain the format attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default.

Example: <employment> <occupation>Taxi Driver</occupation> <employerName>Unknown</employerName> <date>19870915</date> </employment>

Residence (<residence>):

Address (<address>): This element contains the record subject’s home address. (EFTS 2.041)

Date (<date>): This element contains the eight-digit date on which the associated home address was reported in the format CCYYMMDD. The element may contain the format attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default.

Example: <residence> <address>105 Fourth St, El Cajon, CA</address> <date>19641128></date> </residence>

Caution Information (<cautionInfo>): This element contains a free-text cautionary message concerning the record subject, and may include the date the cautionary message was originated.

Caution (<caution>): This element contains a cautionary message about the record subject.

Date (<date>): This element contains the eight-digit date the cautionary statement was entered in the format CCYYMMDD. The element may contain the format attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default.

State (<state>): This element contains the NCIC State two-letter code from which the caution statement was issued.

Example: <cautionInfo> <caution>Armed and dangerous</caution> <state>CA</state> <date>19951102</date> </cautionInfo>

Interstate Criminal History Transmission Specification 31

DRAFT IFFS Disqualified (<iffsDisqualified>): This element contains the III flag for Firearm Sales.

Prior to May 13, 2001, this is the Felon Identification in Firearms Sales (FIFS) flag. Acceptable values are: F – used to indicate a subject’s record contains at least one felony conviction; M – used to show a subject’s record contains only misdemeanor convictions and no court action is pending; and X – used to show the status of the record is unknown or that court action is pending. On May 13, 2001, this will be known as the Identification for Firearm Sales Disqualifier. Acceptable values will be: D – Disqualified, C – Cleared, and X – used to show the status of the record is unknown or that court action is pending. Example: <iffsDisqualified>F</iffsDisqualified>

Offender Caveat or Notice Information (<offenderNoticeInfo>): Either an <offenderNotice> or <index> element may appear but not both.

Offender Notice (<offenderNotice>): This element contains a free-text description of additional information associated with the record subject. This element allows for unique caveats or notices to be entered, in contrast to the Offender Caveat Notice index element, which allows a code corresponding to a fixed caveat to be entered and interpreted upon transmission.

Index (<index>): This element contains a code corresponding to a fixed caveat that provides additional information relating to the record subject. The corresponding caveat will be displayed in the rap sheet. States will be allowed to enter codes and associated caveats into the central Index maintained by NLETS. Valid codes and their corresponding caveats are yet to be determined.

State (<state>): This element requires the entry of the NCIC State two-letter code from which the caveat or notice was issued.

Example: <offenderNoticeInfo> <offenderNotice>Authorized Text</offenderNotice> <state>CA</state> </offenderNoticeInfo>

Comments Information (<commentsInfo>):

Comments (<comments>): This element allows for additional, unique information regarding the record subject’s personal characteristics, traits and habits.

State (<state>): This element requires the entry of the NCIC State two-letter code from which the comment originated.

Example: <commentsInfo> <comments>Subject stutters</comments> <state>CA</state> </commentsInfo>

Interstate Criminal History Transmission Specification 32

DRAFT 3.3 Cycle (<cycle>) Each cycle will be based upon a fingerprint submission that either establishes the subject record or positively identifies the current submission to the existing subject record. Ordinarily, a cycle will begin with an arrest and will contain all the reported information that pertains to that arrest. Cycles may be based upon a fingerprint submission taken by other than arresting agencies, such as prosecutors or custodial agencies. All information contained in the cycle must be related to the fingerprint submission that originally created the cycle. In some instances, multiple fingerprint submissions will exist within a cycle (e.g., arrest and custodial), but they must all relate to the original fingerprint submission. Earliest Event Date (<earliestDate>): This element contains the earliest date included in the cycle element. The Earliest Event Date must equal one of the following: Arrest Date (a mandatory element in the Arrest element); Prosecution Action Date (a mandatory element in the Prosecutor Disposition); Court Action Date (a mandatory element in the Court Disposition element or Corrections Action Date (a mandatory element in the Corrections element). The Event Date will be entered in the standard eight-digit date format CCYYMMDD. The element may contain the format attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default.

Example: <earliestDate>19950704</earliestDate>

Case Tracking Number (<trackingNumber>): The element contains a unique identifier assigned to track the event information recorded in the cycle.

Example: <trackingNumber>AD486</trackingNumber>

Arrest segment (<arrest>): When the Arrest element is included, a minimum of one Arrest Charge element is mandatory.

Arrest Agency ORI (<agencyORI>): If the Agency Name element is not transmitted, the Arrest Agency ORI is mandatory.

Agency Name (<agencyName>): The entry of an ORI number in the Arrest Agency element is preferred over the entry of the Agency Name; however, in the situation that an Agency ORI is not available for entry, the Agency Name is mandatory.

Subject’s Name (<subjectName>): This element should include all names for the record subject, including all known AKAs.

Last (<last>): This element contains the record subject’s last or surname. The last name must be supplied but the remaining elements are all optional.

First (<first>): This element contains the record subject’s first or given name.

Middle (<middle>): This element contains the record subject’s middle name.

Suffix (<suffix>): This element contains additional components of the record subject’s name and generational suffixes, for example, Jr., Sr., III, etc., corresponding to the record subject.

Interstate Criminal History Transmission Specification 33

DRAFT Arrest Date (<date>): This element contains the date of arrest in the eight-digit date format of CCYYMMDD. The element may contain the format attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default. (EFTS 2.045)

Arrest Type (<type>): This element contains the guidelines under which it is anticipated the subject will be processed, such as, Adult, Juvenile, Juvenile as Adult, etc.

Arrest Case Number (<arrestCaseNumber>): This element contains the case number assigned by the arresting agency. This element, called the Originating Agency Case number (OCA) in the III, can be used to enter an AFIS or Process Control Number from the arrest fingerprint card.

Arrest Offender Ident Number (<offenderId>): This element contains a unique identification number assigned to an arrest subject by the local arresting agency, much like the SID number assigned at the state level or the FNU assigned at the federal level.

Arrest Comments (<comments>): This element contains information supplemental or ancillary to the other data included in the Arresting Agency element.

Example: <arrest> <agencyORI>CA0000041</agencyORI> <agencyName>Travis County Sheriff</agencyName> <subjectName> <last>Jones</last> <first>John</first> <middle>M</middle> <suffix>Jr</suffix> </subjectName> <date>19950704</date> <type>ADULT</type> <arrestCaseNumber>C4-995207</arrestCaseNumber> <offenderId>987-876543</offenderId> <comments> Resisted arrest. Attempted to flee on foot. </comments> <arrestCharge> ••• </arrestCharge> </arrest>

Arrest Charge (<arrestCharge>): When an Arrest Charge element is included in the record, the Arrest element is mandatory. Also, when an Arrest element is included in the record, at least one Arrest Charge element must be included in the record. Each Arrest Charge element defines a single charge corresponding to the arrest identified in the Arrest element.

Charge Sequence Number (<arrestChargeSequence>): This element contains a sequentially assigned number for charge tracking purposes (for

Interstate Criminal History Transmission Specification 34

DRAFT example, the first charge under the arrest might be assigned Charge Sequence Number 1, the second 2, and so forth).

Charge Case Number (<chargeCaseNumber>): This element contains a unique identifying number assigned to the particular charge for case management purposes.

Charge Offense Date (<offenseDate>): This element contains the eight-digit date of the offense to which the charge corresponds in the format CCYYMMDD. The element may contain the format attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default.

Charge Literal (<literal>): This element contains text describing the charge.

Charge Statute (<statute>): This element contains the particular statute to which the charges relate.

State Offense Code (<offenseCode>): This element contains the offense code from the state.

Charge NCIC Code (<ncicCode>): This element contains the NCIC offense code. NCIC offense codes are listed in the NCIC 2000 Code Manual.

Counts (<counts>): This is an optional, numeric element minimum length one character, maximum length three characters. This element contains the number of counts for which the record subject was charged.

Charge Severity (<severity>): This element contains a code indicating the charge severity. The following are valid codes to be entered in this element: F - felony; M - misdemeanor; L - local ordinance; O - other; U - unknown.

Action Literal (<actionLiteral>): This element contains a free-text description of law enforcement agency action, such as custody only, turned over to another agency, not referred for prosecution, or referred for prosecution. While this and the <actionDate> element are optional, it is recommended that they appear if the action is not referred for prosecution.

Action Date (<actionDate>): This element contains the eight-digit date the action was rendered in the format CCYYMMDD. The element may contain the format attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default.

Charge Comments (<comments>): This element contains free text providing information supplemental or ancillary to the other data included in the Arrest Charge element.

Example: <arrestCharge> <arrestChargeSequence>1</arrestChargeSequence> <chargeCaseNumber>1</chargeCaseNumber> <offenseDate>19960704</offenseDate>

Interstate Criminal History Transmission Specification 35

DRAFT <literal>Disord Conduct</literal> <statute>CA877-3</statute> <offenseCode>876-431</offenseCode> <ncicCode>1304</ncicCode> <counts>1</counts> <severity>M</severity> <actionLiteral> Referred for prosecution </actionLiteral> <actionDate>19960707</actionDate> <comments>

Here is a sample charge comment, which pertains only to this single charge and not to the overall arrest segment

</comments> </arrestCharge>

Prosecutor Disposition segment (<prosecutorDisposition>): When the Prosecutor Disposition segment element is included, a minimum of one Prosecutor Charge element is mandatory.

Prosecuting Agency ORI (<agencyORI>): If the Agency Name element is not transmitted, the Prosecute Agency ORI is mandatory.

Agency Name (<agencyName>): The entry of an ORI number in the Prosecutor element is preferred to the entry of the Agency Name; however, in the situation that a Prosecuting Agency ORI is not available for entry, the Agency Name is mandatory.

Subject’s Name (<subjectName>): This element should include all names for the record subject, including all known AKAs.

Last (<last>): This element contains the record subject’s last or surname. The last name must be supplied but the remaining elements are all optional.

First (<first>): This element contains the record subject’s first or given name.

Middle (<middle>): This element contains the record subject’s middle name.

Suffix (<suffix>): This element contains additional components of the record subject’s name and generational suffixes, for example, Jr., Sr., III, etc., corresponding to the record subject.

Prosecutor Case Number (<prosecutorCaseNumber>): This element contains a unique identifying number assigned by the court to the particular case for case management purposes.

Prosecutor Charge (<prosecutorCharge>): When the Prosecutor Charge element is included, the Prosecutor Disposition segment element is mandatory.

Charge Sequence Number (<arrestChargeSequence>): This element contains a sequentially assigned number (normally beginning with one) for charge

Interstate Criminal History Transmission Specification 36

DRAFT tracking purposes (for example, the first charge under the arrest might be assigned Charge Sequence Number 1, the second 2, and so forth).

Offense Date (<offenseDate>): This element contains the date of the offense to which the charge corresponds in the eight-digit date format of CCYYMMDD. The element may contain the format attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default.

Charge Literal (<literal>): This element contains a free-text description of the charge entered.

Charge Statute (<statute>): This element contains the particular statute to which the charges relate.

State Offense Code (<offenseCode>): This element contains the offense code from the state.

Charge NCIC Code (<ncicCode>): This element contains the NCIC offense code. NCIC offense codes are listed in the NCIC 2000 Code Manual.

Counts (<counts>): This element contains the number of counts for which the record subject was charged.

Charge Severity (<severity>): This element contains a code indicating the charge severity. The following are valid codes to be entered in this sub element: F - felony; M - misdemeanor; L - local ordinance; O - other; U - unknown.

Action Literal (<actionLiteral>): This element contains a free-text description of the prosecutory action, such as filed, declined to file, deferred prosecution, or diverted.

Action Date (<actionDate>): This element contains the eight-digit date the disposition was rendered in the format CCYYMMDD. The element may contain the format attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default. Prosecute Comments (<comments>): This element contains free text providing information supplemental or ancillary to the other data included in the Prosecute Element.

Example: <prosecutorDisposition> <agencyORI>CA0003451</agencyORI> <agencyName>District 7 Prosecutor</agencyName> <subjectName> <last>Jones</last> <first>John</first> <middle>Paul</middle> <suffix>Sr</suffix> </subjectName> <prosecutorCaseNumber>D4661</prosecutorCaseNumber> <prosecutorCharge>

Interstate Criminal History Transmission Specification 37

DRAFT <arrestChargeSequence>01</arrestChargeSequence> <offenseDate>19950814</offenseDate> <literal>Disord Conduct</literal> <statute>PC843-21A</statute> <offenseCode>9961</offenseCode> <ncicCode>1307</ncicCode> <counts>1</counts> <severity>M</severity> <actionLiteral>Charge Filed</actionLiteral> <actionDate>19950920</actionDate> <comments> Prosecution went smoothly </comments> </prosecutorCharge> </prosecutorDisposition>

Court Disposition segment (<courtDisposition>): When the Court Disposition segment element is included, a minimum of one Court Charge element is mandatory.

Reporting Agency ORI (<agencyORI>): If the Agency Name element is not transmitted, the Reporting Agency ORI is mandatory.

Agency Name (<agencyName>): The entry of an ORI number in the Court Disposition element is preferred to the entry of the Agency Name; however, in the situation that a Reporting Agency ORI is not available for entry, the Agency Name is mandatory.

Subject’sName (<subjectName>): This element should include all names for the record subject, including all known AKAs.

Last (<last>): This element contains the record subject’s last or surname. The last name must be supplied but the remaining elements are all optional.

First (<first>): This element contains the record subject’s first or given name.

Middle (<middle>): This element contains the record subject’s middle name.

Suffix (<suffix>): This element contains additional components of the record subject’s name and generational suffixes, for example, Jr., Sr., III, etc., corresponding to the record subject.

Court Case Number (<courtCaseNumber>): This element contains a unique identifying number assigned by the court to the particular case for case management purposes.

Court Charge (<courtCharge>): When the Court Charge element is included, the Court Disposition segment element is mandatory.

Charge Sequence Number (arrestChargeSequence>): This element contains a sequentially assigned number (normally beginning with one) for charge tracking purposes (for example, the first charge under the arrest might be assigned Charge Sequence Number 1, the second 2, and so forth).

Interstate Criminal History Transmission Specification 38

DRAFT Offense Date (<offenseDate>): This element contains the date of the offense to which the charge corresponds in the eight-digit date format of CCYYMMDD. The element may contain the format attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default.

Charge Literal (<literal>): This element contains a free-text description of the charge.

Charge Statute (<statute>): This element contains the particular statute to which the charge relates.

State Offense Code (<offenseCode>): This element contains the offense code from the state.

Charge NCIC Code (<ncicCode>): This element contains the NCIC offense code. NCIC offense codes are listed in the NCIC 2000 Code Manual.

Counts (<counts>): This element contains the number of counts for which the record subject was charged.

Charge Severity (<severity>): This element contains a code indicating the charge severity. The following are valid codes to be entered in this sub-element: F - felony; M - misdemeanor; L - local ordinance; O - other; U - unknown.

Action Literal (<actionLiteral>): This element contains a free-text description of the court disposition.

Court Action Type (<actionType>): This element contains a code representing the court disposition. NLETS or the transmission file recipient can translate the code into its Literal translation. Use valid codes from the following table: Code Literal Code Literal

301 Acquitted 214 Diversion

302 Acquitted by reason of insanity 321 Executive clemency granted

303 Acquitted by reason of mental incompetence

314 Extradited

318 Adjudication withheld 322 Found insane

201 Administrative discharge 323 Found mentally incompetent

391 Appeal denied 204 Granted voluntary departure from U.S.

210 Bail forfeited 393 Judgment affirmed

304 Case continued without finding 394 Judgment reversed

305 Charge dismissed / Nolle Prosequi 320 Mistrial – defendant dis charged

306 Charge dismissed due to insanity 211 No bill returned

307 Charge dismissed due to mental incompetence

315 Pardoned

Interstate Criminal History Transmission Specification 39

DRAFT Code Literal Code Literal

308 Charge still pending due to insanity 316 Probation before conviction

309 Charge still pending due to mental incompetence

317 Sentence commuted

310 Convicted 401 Failure to appear/Warrant action

311 Convicted of lesser offense 501 Revocation – bail

319 Deceased 502 Revocation - probation

312 Deferred disposition 503 Revocation – parole

203 Deported 504 Revocation – other

313 Dismissed - civil action

Action Date (<actionDate>): This element contains the date the disposition was rendered in the eight-digit date format of CCYYMMDD. The element may contain the format attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default.

Court Comments (<comments>): This element contains free text providing information supplemental or ancillary to the other data included in the Disposition element.

Example: <courtDisposition> <agencyORI>CA0002221</agencyORI> <agencyName>County Court at Law # 4</agencyName> <subjectName> <last>Jones</last> <first>John</first> <middle>M</middle> <suffix>Sr</suffix> </subjectName> <courtCaseNumber>JJ949</courtCaseNumber> <courtCharge> <arrestChargeSequence>02</arrestChargeSequence> <offenseDate>19960704</offenseDate> <literal>Assault</literal> <statute>MCL 333.14327A</statute> <offenseCode>9961</offenseCode> <ncicCode>1307</ncicCode> <counts>1</counts> <severity>F</severity> <actionLiteral>Convicted</actionLiteral> <actionType>310</actionType> <actionDate>19950721</actionDate> <comments>None</comments> </courtCharge> </courtDisposition>

Interstate Criminal History Transmission Specification 40

DRAFT Sentencing segment (<sentencing>):

Agency ORI (<agencyORI>): If the Agency Name element is not transmitted, the Agency ORI is mandatory.

Agency Name (<agencyName>): The entry of an ORI number in the Sentencing element is preferred to the entry of the Agency Name; however, in the situation that an Agency ORI is not available for entry, the Agency Name is mandatory.

Court Case Number (<courtCaseNumber>): This is an optional, alphanumeric and special character element, minimum length one character, and maximum length 19 characters. This element contains a unique identifying number assigned by the court to the particular case for case management purposes.

Charge Sequence Number (<arrestChargeSequence>): This element contains a sequentially assigned number (normally beginning with one) for charge tracking purposes (for example, the first charge under the arrest might be assigned Charge Sequence Number 1, the second 2, and so forth).

Sentence (<sentence>): This element contains a literal explanation of the court sentence including time and dollar amounts.

Sentence Date (<date>): This element contains the date of the record subject’s sentencing in the eight-digit date format CCYYMMDD. The element may contain the format attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default.

Sentence Comments (<comments>): This element contains free text providing information supplemental or ancillary to the other data included in the Sentencing element.

Example: <sentencing> <agencyORI>CA0002221</agencyORI> <agencyName>County Court at Law # 4</agencyName> <courtCaseNumber>CD462</courtCaseNumber> <arrestChargeSequence>2</arrestChargeSequence> <sentence> 3Y Prison, $500 fine and costs </sentence> <date>19950312</date> <comments>None</comments> </sentencing>

Corrections segment (<corrections>):

Agency ORI (<agencyORI>): If the Agency Name element is not transmitted, the Agency ORI is mandatory.

Agency Name (<agencyName>): The entry of an ORI number in the Corrections element is preferred to the entry of the Agency Name; however, in the situation that an Agency ORI is not available for entry, the Agency Name is mandatory.

Interstate Criminal History Transmission Specification 41

DRAFT Subject’sName (<subjectName>): This element should include all names for the record subject, including all known AKAs.

Last (<last>): This element contains the record subject’s last or surname. The last name must be supplied but the remaining elements are all optional.

First (<first>): This element contains the record subject’s first or given name.

Middle (<middle>): This element contains the record subject’s middle name.

Suffix (<suffix>): This element contains additional components of the record subject’s name and generational suffixes, for example, Jr., Sr., III, etc., corresponding to the record subject.

Correctional Number (<correctionalNumber>): This element contains a correctional subject’s identification number.

From Court Case Number (<courtCaseNumber>): This element contains the unique identifying number assigned by the court to the case from which the sentencing precipitated.

Action Literal (<actionLiteral>): This element contains a description of the corrections action (such as, receipt, release, transfer, escape, etc.).

Action Date (<actionDate>): This element contains the date the corrections action occurred in the eight-digit date format of CCYYMMDD. The element may contain the format attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default.

Corrections Comments (<comments>): This element contains free text providing information supplemental or ancillary to the other data included in the Corrections element.

Example: <corrections> <agencyORI>CA0000012</agencyORI> <agencyName>CA Dept.of Criminal Justice</agencyName> <subjectName> <last>Jones</last> <first>John</first> <middle>Q</middle> </subjectName> <correctionalNumber>IN48071</correctionalNumber> <courtCaseNumber>CD462</courtCaseNumber> <actionLiteral>Incarcerated</actionLiteral> <actionDate>19961029</actionDate> <comments>None</comments> </corrections>

Interstate Criminal History Transmission Specification 42

DRAFT 3.4 Agency Index (<agencyIndex>) The Index element contains Name, ORI, and contact information for each Agency identified in the rap sheet file.

Agency Information (<agencyInfo>): This is a mandatory, repeating, alphanumeric and special character element.

Agency ORI (<agencyORI>): If the Agency Name element is not transmitted, the Agency ORI is mandatory. It is preferable to include both the Agency Name and Agency ORI in the Agency Index element.

Agency Name (<agencyName>): If the Agency ORI is not available for entry, the Agency Name is mandatory.

Department (<department>): This element contains a department name within an agency (e.g., Records Department).

Agency Phone (<phone>): This element contains the telephone number of the subject agency.

Agency Fax (<fax>): This element contains the telephone number of a facsimile machine monitored by the subject agency.

Agency Internet Address (<internetEmail>): This element contains the E-mail or Internet address at which the subject agency can be contacted.

Contact Person (<contactPerson>): This element contains a contact person’s name for the agency.

Agency Address Information(<addressInfo>): This element contains the address of the subject agency and includes the following elements:

Address (<address>): This element contains the mailing address for the agency. Either this single element or 0 or more of the following elements must appear. The choice of address in a single element of a series of elements is left to the agency creating the entry.

Building Name (<buildingName>): This element contains the name of the building that houses the agency.

Room Number (<roomNumber>): This element contains the room number to which the agency has their mail delivered.

Post Office Box (<postOfficeBox>): This element contains the post office box to which the agency has its mail delivered.

Street Number (<streetNumber>): This element contains the street number for the agency.

Street (<street>): This element contains the street name for the agency.

City (<city>): This element contains the city name for the agency.

Interstate Criminal History Transmission Specification 43

DRAFT State (<state>): This element contains the state two letter postal abbreviation for the agency.

Zip code (<zipcode>): This element contains the zipcode for the agency.

County (<county>): This element contains the county for the agency.

Country (<country>): This element contains the country for the agency.

Foreign Postal Code (<foreignPostalCode>): This element contains the foreign postal code for the agency.

Example: <index> <agencyInfo> <agencyORI>CA0000041</agencyORI> <agencyName>Travis County Sheriff</agencyName> <phone>512-424-2000</phone> <fax>512-424-5911</fax> <internetEmail>[email protected] </internetEmail> <contactPerson>Joe Rap Sheet</contactPerson> </agencyInfo> </index> 3.5 Summary (<summary>) The Summary element contains a brief summary of the Rap Sheet contents.

Caution Statement (<cautionInfo>):

Caution (<caution>): This element contains cautionary statements regarding the record subject, such as “Armed and Dangerous.”

Date (<date>): This element contains the date on which the caution statement was appended to the record in the eight-digit date format of CCYYMMDD. The element may contain the format attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default.

Example: <cautionInfo> <caution>

Known to carry a weapon, has threatened police officer, has fought with fellow inmates while incarcerated.

</caution> <date>19961017</date> </cautionInfo>

Interstate Criminal History Transmission Specification 44

DRAFT IFFS Disqualified (<iffsDisqualified>): This element contains the III flag for Firearm Sales.

Prior to May 13, 2001, this is the Felon Identification in Firearms Sales (FIFS) flag. Acceptable values are: F – used to indicate a subject’s record contains at least one felony conviction; M – used to show a subject’s record contains only misdemeanor convictions and no court action is pending; and X – used to show the status of the record is unknown or that court action is pending.

On May 13, 2001, this will be known as the Identification for Firearm Sales Disqualifier. Acceptable values will be: D – Disqualified, C – Cleared, and X – used to show the status of the record is unknown or that court action is pending. Example: <iffsDisqualified>F</iffsDisqualified>

Total Reported Arrests (<totalArrests>): The element contains the total number of reported arrests for the record subject. Example: <totalArrests>2</totalArrests>

Total Reported Charges (<totalCharges>): This will be used to show the number of reported charges for the record subject.

Felony (<felony>): This element contains the number of felony charges contained in the rap sheet for the record subject.

Misdemeanor (<misdemeanor>): This element contains the number of misdemeanor charges contained in the rap sheet for the record subject.

Local Ordinance (<localOrdinance>): This element contains the number of local ordinance charges contained in the rap sheet for the record subject.

Other (<other>): This element contains the number of charges other than felony, misdemeanor, and local ordinance charges contained in the rap sheet for the record subject.

Unknown (<unknown>): This element contains the number of unknown charges on the rap sheet for the record subject.

Example: <totalCharges> <felony>0</felony> <misdemeanor>1</misdemeanor> <localOrdinance>1</localOrdinance> <other>0</other> <unknown>0</unknown> </totalCharges>

Total Reported Convictions (<totalConvictions>): This will be used to show the number of reported convictions for the record subject.

Felony (<felony>): This element contains the number of felony charges contained in the rap sheet for the record subject.

Interstate Criminal History Transmission Specification 45

DRAFT Misdemeanor (<misdemeanor>): This element contains the number of misdemeanor charges contained in the rap sheet for the record subject.

Local Ordinance (<localOrdinance>): This element contains the number of local ordinance charges contained in the rap sheet for the record subject.

Other (<other>): This element contains the number of charges other than felony, misdemeanor, and local ordinance charges contained in the rap sheet for the record subject. Unknown (<unknown>): This element contains the number of unknown charges on the rap sheet for the record subject.

Example: <totalConvictions> <felony>0</felony> <misdemeanor>1</misdemeanor> <localOrdinance>0</localOrdinance> <other>0</other> <unknown>0</unknown> </totalConvictions>

Total Reported Failures to Appear (<totalFailuresToAppear>): This element contains the number of instances in which the record subject failed to appear for court, hearing, or other judicial situation as reported in the rap sheet. Example: <totalFailuresToAppear>2</totalFailuresToAppear>

Total Reported Revocations (<totalRevocatins>): This element contains the number of reported revocations contained in the rap sheet for the record subject.

Example: <totalRevocations>0</totalRevocations>

Date of First Reported Event (<firstEventDate>): The element contains the earliest date of an update made in the record subject’s cycle in the eight-digit date format of CCYYMMDD. The element may contain the format attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default. Example: <firstEventDate>19970712</firstEventDate>

Date of Last Reported Event (<lastEventDate>): The element contains the most recent date of an update made in the record subject’s arrest cycle in the eight-digit date format of CCYYMMDD. The element may contain the format attribute giving the date format used in the element. The only legal value for the attribute is “CCYYMMDD” and it is the default. Example: <lastEventDate>19970712</lastEventDate>

Interstate Criminal History Transmission Specification 46

DRAFT 4.0 Rap Sheet Definition This section contains the full rap sheet definition. Section 4.1 gives the structure in table form. Section 4.2 gives a formal XML Schema definition of the root <rapSheet> element and all its child elements. 4.1 Detailed Structure The following series of tables show the detailed structure of the rap sheet and the mapping from the ANSI/NIST rap sheet format fields, subfields, and information elements. The third column gives example values for the elements. The top or root element is <rapSheet>. This element encloses all of the second level elements <introduction>, <identification>, <cycle>, <agencyIndex>, and <summary>.

Occurrences Element 1 RapSheet 1 Introduction 1 Identification

1 or more Cycle 0 or 1 Arrest

0 or more prosecutorDisposition 0 or more courtDisposition 0 or more Sentencing 0 or more Corrections

1 AgencyIndex 0 or 1 summary

The structure of each of these enclosed elements is given in the following tables. The first column gives the number of occurrences of the element. In some cases, however, there are additional constraints on occurrences that are documented in the element dictionary in Section 3. For example, elements <agencyORI> and <agencyName> are defined in many elements. These fields are both marked as optional by listing them as “0 or 1” but the element dictionary indicates that at least one of them must be present.

If the occurrences column indicates 1 or 1 or more, the element is mandatory. If the occurrences column indicates 0 or 1 or 0 or more, the element is optional. An element that is listed as occurring 1 time or 1 or more times but that is enclosed within an optional parent must be present if the parent element is present and cannot appear if the parent is not present. . The expression “or more” indicates that there is no limit on the number of occurrences.

Occurs Elements ANSI/NIST Field

Example

1 Introduction 2.903 <introduction> ••• </introduction>

1 or more

Request 2.904 Request Reference

<request>

Interstate Criminal History Transmission Specification 47

DRAFT Occurs Elements ANSI/NIST

Field Example

0 or 1 fbiNumber 0 or 1 sidNumber

1 Name 1 purposeCode 1 attention

Reference <fbiNumber>900660</fbiNumber> <sidNumber>CA99999978</sidNumber> <name>Jones, John P</name> <purposeCode>C</purposeCode> <attention>AL 911137</attention> </request>

0 or more

caveatInfo

1 State 0 or 1 Caveat 0 or 1 Index

2.905 Record Caveat or 2.906 Record Caveat Index

<caveatInfo> <state>CA</state>

<caveat>This record is provided in response to your request. Use of the information contained in this record is governed by state and federal law.

</caveat> </caveatInfo>

Occurs Elements ANSI/NIST

Field Example

1 identification 2.903 <identification> ••• </identification>

1 or more

subjectName

1 last 0 or 1 first 0 or 1 middle 0 or 1 suffix

2.908 Name <subjectName> <last>Jones</last> <first>John</first> <middle>P</middle> <suffix>Jr</suffix> </subjectName>

0 or 1 fbiNumber 2.014 FBI Num <fbiNumber>62660CA12></fbiNumber> 0 or more

sidNumber 2.015 SID <sidNumber>CA12345678</sidNumber>

0 or more

correctionalNumber

1 number 1 state

<correctionalNumber> <number>742786</number> <state>CA</state> </correctionalNumber>

0 or more

Ssn 2.016 SOC <ssn>220565860</ssn>

0 or more

miscId

0 or 1 type 1 number

2.909 Misc Id <miscId> <type>Army Serial</type> <number>24680357</number> </miscId>

0 or more

driversLicense

1 number 1 state

2.910 Driver’s License

<driversLicense> <number>220565860</number> <state>CA</state> </driversLicense>

0 or more

birthplace 2.020 Place of Birth

<birthplace>CA</birthplace>

0 or more

birthdate 2.022 DOB <birthdate format=”CCYYMMDD”> 19530212 </birthdate> <birthdate>19531202</birthdate>

0 or more

citizenship 2.911 Country of Citizenship

<citizenship>US</citizenship>

1 or more

sex 2.912 Gender <sex>Female</sex>

Interstate Criminal History Transmission Specification 48

DRAFT Occurs Elements ANSI/NIST

Field Example

more 1 or more

race 2.025 RAC <race>White</race>

0 or more

heightInfo

1 height 0 or 1 date

2.913 Height Segment

<heightInfo > <height unit=”feetinches”> 601 </height> <date>19940704</date> </heightInfo> <heightInfo> <height unit=”inches”>75</height> <date>19960311</date> </heightInfo>

0 or more

weightInfo

1 weight 0 or 1 date

2.914 Weight Segment

<weightInfo> <weight unit=”pounds”>180</weight> <date>19970321</date> </weightInfo>

0 or more

eyeColorInfo

1 eyeColor 0 or 1 date

2.915 Eye Color Segment

<eyeColorInfo> <eyeColor>Blue</eyeColor> <date>19880321</date> </eyeColorInfo>

0 or more

hairColorInfo

1 hairColor 0 or 1 date

2.916 Hair Color Segment

<hairColorInfo> <hairColor>Brown</hairColor> <date>19890704</date> </hairColorInfo>

0 or more

skinTone <skinTone>Fair</skinTone>

0 or more

fpPatternClass 2.917 FP Pattern Classification

<fpPatternClass> LLLWLAWWRA <fpPatternClass>

0 or more

palmPrints

0 or 1 agencyORI 0 or 1 agencyName 0 or 1 format 0 or 1 link 0 or 1 date

2.918 Palm Prints Available

<palmPrint> <agencyORI>CA0000012</agencyORI> <agencyName> Travis County Sheriff </agencyName> <format>HC</format> <link> http://www.nlets.org/image/123.jpg </link> <date>19920704</date> </palmPrint>

0 or more

photo

0 or 1 agencyORI 0 or 1 agencyName 0 or 1 format 0 or 1 link 0 or 1 date

2.919 Photo Available

<photo> <agencyORI>CA0000012</agencyORI> <format>NIST</format> <link> http://www.nlets.org/image/123.jpg </link> <date>19920704</date> </photo>

Interstate Criminal History Transmission Specification 49

DRAFT 0 or more

dna

0 or 1 agencyORI 0 or 1 agencyName 0 or 1 format 0 or 1 link 0 or 1 date

2.920 DNA <dna> <agencyORI>CA0000012</agencyORI> <format>HC</format> <link> Send Fax request to 602-555-1234

with SID and return Fax number </link> <date>19920704</date> </dna>

0 or more

smtInfo

0 or 1 agencyORI 0 or 1 agencyName 0 or 1 smt 0 or 1 code 0 or 1 format 0 or 1 link 0 or 1 date

2.921 SMT <smtInfo> <agencyORI>CA0000041</agencyORI>

<smt>Dragon with blue band around its neck and a rose in background with green stem</smt>

<format>NIST</format> <date>19910111</date> </smtInfo>

0 or more

employment

0 or 1 occupation 1 employerName

0 or 1 date

2.922 Employer <employment> <occupation>Taxi Driver</occupation> <employerName>Unknown</employerName> <date>19870915</date> </employment>

0 or more

residence

1 address 0 or 1 date

2.923 Residence <residence> <address> 105 Fourth St, El Cajon, CA </address> <date>19641128</date> </residence>

0 or more

cautionInfo

1 caution 1 state

0 or 1 date

2.924 Caution Statement

<cautionInfo> <caution> Armed and dangerous> </caution> <state>CA</state> <date>19951102</date> </cautionInfo>

0 or 1 iffsDisqualified 2.925 FIFS Conviction Flag

<iffsDisqualified>F</iffsDisqualified >

0 or more

offenderNoticeInfo

0 or 1 offenderNotice 0 or 1 index

1 state

2.926 Offender Caveat or Notice

or 2.927 Offender Caveat or Notice Index

<offenderNoticeInfo> <offenderNotice>002</offenderNotice> <state>CA</state> </offenderNoticeInfo>

0 or more

commentsInfo

1 comments 1 state

2.928 Comments - Free Text

<commentsInfo> <comments>Subject stutters</comments> <state>CA</state> </comments>

Interstate Criminal History Transmission Specification 50

DRAFT

Elements ANSI/NIST Field

Example

1 or more

cycle

1 earliestDate 2.933 Event Date 0 or 1 trackingNumber 2.934 Case

Tracking Number

<cycle> <earliestDate>19950704</earliestDate> <trackingNumber>AD486</trackingNumber> <arrest> ••• </arrest> <prosecutorDisposition> ••• </prosecutorDisposition> <courtDisposition> ••• </courtDisposition> <sentencing> ••• </sentencing> <corrections> ••• </corrections> </cycle>

Occurs Elements ANSI/NIST

Field Example

0 or 1 arrest 0 or 1 agencyORI 0 or 1 agencyName 0 or 1 subjectName

1 last 0 or 1 first 0 or 1 middle 0 or 1 suffix

1 date 0 or 1 type 0 or 1 arrestCase

Number 0 or 1 offenderId 0 or 1 comments

2.935 Arresting Agency Segment

<arrest> <agencyORI>CA0000041</agencyORI> <agencyName> Travis County Sheriff </agencyName> <subjectName> <last>Jones</last> <first>John</first> <middle>M</middle> <suffix>Jr</suffix> </subjectName> <date>19950704</date> <type>ADULT</type> <arrestCaseNumber> C4-995207 </arrestCaseNumber> <offenderId>987-876543</offenderId> <comments> Resisted arrest. Attempted to flee on foot </comments> <arrestCharge> ••• </arrestCharge> </arrest>

1 or more

arrestCharge

0 or 1 arrestCharge Sequence

0 or 1 chargeCase Number

0 or 1 offenseDate

2.936 Arrest Charge Segment

<arrestCharge> <arrestChargeSequence> 1 </arrestChargeSequence> <chargeCaseNumber> 1 </chargeCaseNumber>

Interstate Criminal History Transmission Specification 51

DRAFT Occurs Elements ANSI/NIST

Field Example

1 literal 0 or 1 statute 0 or 1 offenseCode 0 or 1 ncicCode 0 or 1 counts

1 severity 1 actionLiteral 1 actionDate

0 or 1 comments

<offenseDate> 19960704 </offenseDate> <literal>Disord Conduct</literal> <statute>CA877-3</statute> <offenseCode> 876-431 </offenseCode> <ncicCode>1304</ncicCode> <counts>1</counts> <severity>M</severity>

<actionLiteral>charge filed </actionLiteral>

<actionDate>19950920</actionDate <comments>

Here is a sample charge comment which pertains only to this single charge and not to the overall arrest segment

</comments> </arrestCharge>

Occurs Elements ANSI/NIST Field

Example

0 or more

prosecutor Disposition

0 or 1 agencyORI 0 or 1 agencyName 0 or 1 subjectName

1 last 0 or 1 first 0 or 1 middle 0 or 1 suffix 0 or 1 prosecutorCase

Number 1 or more

prosecutor Charge

0 or 1 arrestCharge Sequence

0 or 1 offenseDate 1 literal

0 or 1 statute 0 or 1 offenseCode 0 or 1 ncicCode 0 or 1 counts

1 severity 1 actionLiteral 1 actionDate

2.937 Prosecutor Segment

<prosecutorDisposition> <agencyORI>CA0003451</agencyORI> <agencyName> District 7 Prosecutor </agencyName> <subjectName> <last>Jones</last> <first>John</first> <middle>Paul</middle> <suffix>Sr</suffix> </subjectName> <prosecutorCaseNumber> D4661 </prosecutorCaseNumber> <prosecutorCharge> <arrestChargeSequence> 01 </arrestChargeSequence> <offenseDate> 19950814 </offenseDate> <literal>Disord Conduct</literal> <statute>PC843-21A</statute> <offenseCode>9961</offenseCode> <ncicCode>1307</ncicCode> <counts>1</counts>

Interstate Criminal History Transmission Specification 52

DRAFT Occurs Elements ANSI/NIST

Field Example

0 or 1 comments <severity>M</severity> <actionLiteral> Charge Filed </actionLiteral> <actionDate>19950920</actionDate> <comments> Prosecution went smoothly </comments> </prosecutorCharge> </prosecutorDisposition>

Elements ANSI/NIST Field

Example

0 or more

courtDisposition

0 or 1 agencyORI 0 or 1 agencyName 0 or 1 subjectName

1 last 0 or 1 first 0 or 1 middle 0 or 1 suffix 0 or 1 courtCaseNumber 1 or more

courtCharge

0 or 1 arrestCharge Sequence

0 or 1 offenseDate 1 literal

0 or 1 statute 0 or 1 offenseCode 0 or 1 ncicCode 0 or 1 counts

1 severity 1 action

Literal 1 actionType 1 actionDate

0 or 1 comments

2.938 Court Segment

<courtDisposition> <agencyORI>CA0002221</agencyORI> <agencyName> County Court at Law # 4 </agencyName> <subjectName> <last>Jones</last> <first>John</first> <middle>M</middle> <suffix>Sr</suffix> </subjectName> <courtCaseNumber> JJ949 </courtCaseNumber> <courtCharge> <arrestChargeSequence> 02 </arrestChargeSequence> <offenseDate> 19960704 </offenseDate> <literal>Assault</literal> <statute>MCL 333.14327A</statute> <offenseCode>9961</offenseCode> <ncicCode>1307</ncicCode> <counts>1</counts> <severity>F</severity> <actionLiteral> Convicted </actionLiteral> <actionType>310</actionType> <actionDate>19950721</actionDate> <comments>None</comments> </courtCharge> </courtDisposition>

Interstate Criminal History Transmission Specification 53

DRAFT Occurs Elements ANSI/NIST

Field Example

0 or more

sentencing

0 or 1 agencyORI 0 or 1 agencyName 0 or 1 courtCaseNumber 0 or 1 arrestCharge

Sequence 1 sentence 1 date

0 or 1 comments

2.938 Sentence Segment

<sentencing> <agencyORI>CA0002221</agencyORI> <agencyName> County Court at Law # 4 </agencyName> <courtCaseNumber> CD462 </courtCaseNumber> <arrestChargeSequence> 2 </arrestChargeSequence> <sentence> 3Y Prison, $500 fine and costs </sentence> <date>19950312</date> <comments>None</comments> </sentencing>

Occurs Elements ANSI/NIST Field

Example

0 or more

corrections

0 or 1 agencyORI 0 or 1 agencyName 0 or 1 subjectName

1 last 0 or 1 first 0 or 1 middle 0 or 1 suffix 0 or 1 correctional

Number 0 or 1 courtCaseNumber

1 actionLiteral 1 actionDate

0 or 1 comments

2.941 Corrections Segment

<corrections> <agencyORI>CA0000012</agencyORI> <agencyName> California Dept. of Criminal Justice </agencyName> <subjectName> <last>Jones</last> <first>John</first> <middle>Q</middle> </subjectName> <correctionalNumber> IN48071 </correctionalNumber> <courtCaseNumber> CD462 </courtCaseNumber> <actionLiteral> Incarcerated </actionLiteral> <actionDate>19961029</actionDate> <comments>None</comments>

Occurs Elements ANSI/NIST

Field Example

1 agencyIndex 1 or more

agencyInfo

0 or 1 agencyORI 0 or 1 agencyName 0 or 1 department

2.903 2.945 Agency Index

<agencyIndex> <agencyInfo> <agencyORI>CA0000041</agencyORI> <agencyName> Travis County Sheriff </agencyName>

Interstate Criminal History Transmission Specification 54

DRAFT Occurs Elements ANSI/NIST

Field Example

0 or 1 phone 0 or 1 fax 0 or 1 internetEmail 0 or 1 contactPerson 0 or 1 addressInfo 0 or 1 address 0 or 1 building 0 or 1 roomNumber 0 or 1 postOfficeBox 0 or 1 streetNumber 0 or 1 street 0 or 1 city 0 or 1 state 0 or 1 zipcode 0 or 1 county 0 or 1 country 0 or 1 foreignPostal

Code

<phone>512-424-2000</phone> <fax>512-424-5911</fax> <internetEmail> [email protected] </internetEmail> <addressInfo> <address> 5805 N. Lamar Tustin, CA 78765 </address> </addressInfo> </agencyInfo> </agencyIndex>

Occurs Elements ANSI/NIST

Field Example

0 or 1 summary 2.903 <summary> ••• </summary>

O or more

cautionInfo

1 caution 0 or 1 date

2.924 Caution Statement

<cautionInfo> <caution> Known to carry a weapon, has threatened police officer, has fought with fellow inmates while incarcerated. </caution> <date>19961017</date> </cautionInfo>

0 or 1 iffsDisqualified 2.925 FIFS Conviction Flag

<iffsDisqualified>F</iffsDisqualified>

1 totalArrests 2.947 Total Reported Arrests

<totalArrests>2</totalArrests>

1 totalCharges 1 felony 1 misdemeanor 1 localOrdinance 1 other 1 unknown

2.948 Total Reported Charges

<totalCharges> <felony>0</felony> <misdemeanor>1</misdemeanor> <localOrdinance>1</localOrdinance> <other>0</other <unknown>0</unknown> </totalCharges>

1 totalConvictions 1 felony 1 misdemeanor 1 localOrdinance 1 other 1 unknown

2.949 Total Reported Convictions

<totalConvictions> <felony>0</felony> <misdemeanor>1</misdemeanor> <localOrdinance>0</localOrdinance> <other>0</other> <unknown>0</unknown> </totalConvictions>

1 totalFailures ToAppear

2.950 Total Reported Failures

<totalFailuresToAppear>

Interstate Criminal History Transmission Specification 55

DRAFT Occurs Elements ANSI/NIST

Field Example

Reported Failures to Appear

2 </totalFailuresToAppear>

1 totalRevocations 2.951 Total Reported Revocations

<totalRevocations> 0 </totalRevocations>

1 firstEventDate <firstEventDate> 19970712 </firstEventDate>

1 lastEventDate 2.952 Date of Last Reported Event

<lastEventDate> 19970712 </lastEventDate>

Interstate Criminal History Transmission Specification 56

DRAFT 4.2 XML Schema

The following table contains the XML schema for the rap sheet. The schema defines the structure for the XML rap sheet document. The element hierarchy is defined along with information regarding whether the field is mandatory and maximum number of occurrences permitted. This schema is intended for use by a validating parser to validate the structure of an XML rap sheet document.

The example in Section 5 was validated against the following schema using the Xerces 1.3.0 validating parser available from the Apache group (www.apache.org).

<schema xmlns="http://www.w3.org/2000/10/XMLSchema"> <!-- Interstate Rap Sheet XML Schema v 2.00 --> <!-- Name Element --> <complexType name="lfmisfxName"> <sequence> <element name="last" minOccurs="1" maxOccurs="1" type="string"/> <element name="first" minOccurs="0" maxOccurs="1" type="string"/> <element name="middle" minOccurs="0" maxOccurs="1" type="string"/> <element name="suffix" minOccurs="0" maxOccurs="1" type="string"/> </sequence> </complexType> <!-- Date Element --> <complexType name="dateType"> <simpleContent> <extension base="nonNegativeInteger"> <attribute name="format" type="string" use="default" value="CCYYMMDD"/> </extension> </simpleContent> </complexType> <!-- Agency ORI and Name Elements --> <group name="agencyIdGroup"> <choice> <sequence> <element name="agencyORI" minOccurs="1" maxOccurs="1" type="string"/> <element name="agencyName" minOccurs="0" maxOccurs="1" type="string"/> </sequence> <sequence> <element name="agencyORI" minOccurs="0" maxOccurs="1" type="string"/> <element name="agencyName" minOccurs="1" maxOccurs="1" type="string"/> </sequence>

Interstate Criminal History Transmission Specification 57

DRAFT </choice> </group> <!-- Top Level RapSheet Element --> <element name="rapSheet"> <complexType> <sequence> <element name="introduction" type="introductionType" minOccurs="1" maxOccurs="1"/> <element name="identification" type="identificationType" minOccurs="1" maxOccurs="1"/> <element name="cycle" type="cycleType" minOccurs="1" maxOccurs="unbounded"/> <element name="agencyIndex" type="agencyIndexType" minOccurs="1" maxOccurs="1"/> <element name="summary" type="summaryType" minOccurs="0" maxOccurs="1"/> </sequence> <attribute name="version" type="string"/> </complexType> </element> <!-- Rap Sheet Introduction --> <complexType name="introductionType"> <sequence> <element name="request" minOccurs="1" maxOccurs="unbounded"> <complexType> <sequence> <choice> <sequence> <element name="fbiNumber" minOccurs="1" maxOccurs="1" type="string"/> <element name="sidNumber" minOccurs="0" maxOccurs="1" type="string"/> </sequence> <sequence> <element name="fbiNumber" minOccurs="0" maxOccurs="1" type="string"/> <element name="sidNumber" minOccurs="1" maxOccurs="1" type="string"/> </sequence> </choice> <element name="name" minOccurs="1" maxOccurs="1" type="string"/> <element name="purposeCode" minOccurs="1" maxOccurs="1" type="string"/> <element name="attention" minOccurs="1" maxOccurs="1" type="string"/> </sequence> </complexType> </element> <element name="caveatInfo" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <element name="state" minOccurs="1" maxOccurs="1" type="string"/> <choice> <element name="caveat" minOccurs="1" maxOccurs="1"

Interstate Criminal History Transmission Specification 58

DRAFT type="string"/> <element name="index" minOccurs="1" maxOccurs="1" type="nonNegativeInteger"/> </choice> </sequence> </complexType> </element> </sequence> </complexType> <!-- Rap Sheet Identification --> <complexType name="identificationType"> <sequence> <element name="subjectName" type="lfmisfxName" minOccurs="1" maxOccurs="unbounded"/> <choice> <sequence> <element name="fbiNumber" minOccurs="1" maxOccurs="1" type="string"/> <element name="sidNumber" minOccurs="0" maxOccurs="unbounded" type="string"/> </sequence> <sequence> <element name="fbiNumber" minOccurs="0" maxOccurs="1" type="string"/> <element name="sidNumber" minOccurs="1" maxOccurs="unbounded" type="string"/> </sequence> </choice> <element name="correctionalNumber" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <element name="number" minOccurs="1" maxOccurs="1" type="string"/> <element name="state" minOccurs="1" maxOccurs="1" type="string"/> </sequence> </complexType> </element> <element name="ssn" minOccurs="0" maxOccurs="unbounded" type="nonNegativeInteger"/> <element name="miscId" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <element name="type" minOccurs="0" maxOccurs="1" type="string"/> <element name="number" minOccurs="1" maxOccurs="1" type="string"/> </sequence> </complexType> </element> <element name="driversLicense" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <element name="number" minOccurs="1" maxOccurs="1" type="string"/>

Interstate Criminal History Transmission Specification 59

DRAFT <element name="state" minOccurs="1" maxOccurs="1" type="string"/> </sequence> </complexType> </element> <element name="birthplace" minOccurs="0" maxOccurs="unbounded" type="string"/> <element name="birthdate" minOccurs="1" maxOccurs="unbounded" type="dateType"/> <element name="citizenship" minOccurs="0" maxOccurs="unbounded" type="string"/> <element name="sex" minOccurs="1" maxOccurs="unbounded" type="string"/> <element name="race" minOccurs="1" maxOccurs="unbounded" type="string"/> <element name="heightInfo" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <element name="height" minOccurs="1" maxOccurs="1"> <complexType> <simpleContent> <extension base="nonNegativeInteger"> <attribute name="unit" type="string" use="default" value="feetinches"/> </extension> </simpleContent> </complexType> </element> <element name="date" minOccurs="0" maxOccurs="1" type="dateType"/> </sequence> </complexType> </element> <element name="weightInfo" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <element name="weight" minOccurs="1" maxOccurs="1"> <complexType> <simpleContent> <extension base="nonNegativeInteger"> <attribute name="unit" type="string" use="default" value="pounds"/> </extension> </simpleContent> </complexType> </element> <element name="date" minOccurs="0" maxOccurs="1" type="dateType"/> </sequence> </complexType> </element> <element name="eyeColorInfo" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <element name="eyeColor" minOccurs="1" maxOccurs="1" type="string"/> <element name="date" minOccurs="0" maxOccurs="1" type="dateType"/>

Interstate Criminal History Transmission Specification 60

DRAFT </sequence> </complexType> </element> <element name="hairColorInfo" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <element name="hairColor" minOccurs="1" maxOccurs="1" type="string"/> <element name="date" minOccurs="0" maxOccurs="1" type="dateType"/> </sequence> </complexType> </element> <element name="skinTone" minOccurs="0" maxOccurs="unbounded" type="string"/> <element name="fpPatternClass" minOccurs="0" maxOccurs="unbounded" type="string"/> <element name="palmPrints" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <group ref="agencyIdGroup"/> <element name="format" minOccurs="0" maxOccurs="1" type="string"/> <element name="link" minOccurs="0" maxOccurs="1" type="string"/> <element name="date" minOccurs="0" maxOccurs="1" type="dateType"/> </sequence> </complexType> </element> <element name="photo" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <group ref="agencyIdGroup"/> <element name="format" minOccurs="0" maxOccurs="1" type="string"/> <element name="link" minOccurs="0" maxOccurs="1" type="string"/> <element name="date" minOccurs="0" maxOccurs="1" type="dateType"/> </sequence> </complexType> </element> <element name="dna" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <group ref="agencyIdGroup"/> <element name="format" minOccurs="0" maxOccurs="1" type="string"/> <element name="link" minOccurs="0" maxOccurs="1" type="string"/> <element name="date" minOccurs="0" maxOccurs="1" type="dateType"/> </sequence> </complexType> </element> <element name="smtInfo" minOccurs="0" maxOccurs="unbounded"> <complexType>

Interstate Criminal History Transmission Specification 61

DRAFT <sequence> <group ref="agencyIdGroup"/> <choice> <element name="smt" minOccurs="1" maxOccurs="1" type="string"/> <element name="code" minOccurs="1" maxOccurs="1" type="string"/> </choice> <element name="format" minOccurs="0" maxOccurs="1" type="string"/> <element name="link" minOccurs="0" maxOccurs="1" type="string"/> <element name="date" minOccurs="0" maxOccurs="1" type="dateType"/> </sequence> </complexType> </element> <element name="employment" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <element name="occupation" minOccurs="0" maxOccurs="1" type="string"/> <element name="employerName" minOccurs="1" maxOccurs="1" type="string"/> <element name="date" minOccurs="0" maxOccurs="1" type="dateType"/> </sequence> </complexType> </element> <element name="residence" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <element name="address" minOccurs="1" maxOccurs="1" type="string"/> <element name="date" minOccurs="0" maxOccurs="1" type="dateType"/> </sequence> </complexType> </element> <element name="cautionInfo" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <element name="caution" minOccurs="1" maxOccurs="1" type="string"/> <element name="state" minOccurs="1" maxOccurs="1" type="string"/> <element name="date" minOccurs="0" maxOccurs="1" type="dateType"/> </sequence> </complexType> </element> <element name="iffsDisqualified" minOccurs="0" maxOccurs="1" type="string"/> <element name="offenderNoticeInfo" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <choice> <element name="offenderNotice" minOccurs="1" maxOccurs="1"

Interstate Criminal History Transmission Specification 62

DRAFT type="string"/> <element name="index" minOccurs="1" maxOccurs="1" type="string"/> </choice> <element name="state" minOccurs="1" maxOccurs="1" type="string"/> </sequence> </complexType> </element> <element name="commentsInfo" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <element name="comments" minOccurs="1" maxOccurs="1" type="string"/> <element name="state" minOccurs="1" maxOccurs="1" type="string"/> </sequence> </complexType> </element> </sequence> </complexType> <!-- Rap Sheet Cycle --> <complexType name="cycleType"> <sequence> <element name="earliestDate" minOccurs="1" maxOccurs="1" type="dateType"/> <element name="trackingNumber" minOccurs="0" maxOccurs="1" type="string"/> <element name="arrest" minOccurs="0" maxOccurs="1"> <complexType> <sequence> <group ref="agencyIdGroup"/> <element name="subjectName" type="lfmisfxName" minOccurs="0" maxOccurs="1"/> <element name="date" minOccurs="1" maxOccurs="1" type="dateType"/> <element name="type" minOccurs="0" maxOccurs="1" type="string"/> <element name="arrestCaseNumber" minOccurs="0" maxOccurs="1" type="string"/> <element name="offenderId" minOccurs="0" maxOccurs="1" type="string"/> <element name="comments" minOccurs="0" maxOccurs="1" type="string"/> <element name="arrestCharge" minOccurs="1" maxOccurs="unbounded"> <complexType> <sequence> <element name="arrestChargeSequence" minOccurs="0" maxOccurs="1" type="string"/> <element name="chargeCaseNumber" minOccurs="0" maxOccurs="1" type="string"/> <element name="offenseDate" minOccurs="0" maxOccurs="1" type="dateType"/> <element name="literal" minOccurs="1" maxOccurs="1" type="string"/> <element name="statute" minOccurs="0" maxOccurs="1" type="string"/>

Interstate Criminal History Transmission Specification 63

DRAFT <element name="offenseCode" minOccurs="0" maxOccurs="1" type="string"/> <element name="ncicCode" minOccurs="0" maxOccurs="1" type="nonNegativeInteger"/> <element name="counts" minOccurs="0" maxOccurs="1" type="nonNegativeInteger"/> <element name="severity" minOccurs="1" maxOccurs="1" type="string"/> <element name="actionLiteral" minOccurs="0" maxOccurs="1" type="string"/> <element name="actionDate" minOccurs="0" maxOccurs="1" type="dateType"/> <element name="comments" minOccurs="0" maxOccurs="1" type="string"/> </sequence> </complexType> </element> </sequence> </complexType> </element> <element name="prosecutorDisposition" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <group ref="agencyIdGroup"/> <element name="subjectName" type="lfmisfxName" minOccurs="0" maxOccurs="1"/> <element name="prosecutorCaseNumber" minOccurs="0" maxOccurs="1" type="string"/> <element name="prosecutorCharge" minOccurs="1" maxOccurs="unbounded"> <complexType> <sequence> <element name="arrestChargeSequence" minOccurs="0" maxOccurs="1" type="string"/> <element name="offenseDate" minOccurs="0" maxOccurs="1" type="dateType"/> <element name="literal" minOccurs="1" maxOccurs="1" type="string"/> <element name="statute" minOccurs="0" maxOccurs="1" type="string"/> <element name="offenseCode" minOccurs="0" maxOccurs="1" type="string"/> <element name="ncicCode" minOccurs="0" maxOccurs="1" type="nonNegativeInteger"/> <element name="counts" minOccurs="0" maxOccurs="1" type="nonNegativeInteger"/> <element name="severity" minOccurs="1" maxOccurs="1" type="string"/> <element name="actionLiteral" minOccurs="1" maxOccurs="1" type="string"/> <element name="actionDate" minOccurs="1" maxOccurs="1" type="dateType"/> <element name="comments" minOccurs="0" maxOccurs="1" type="string"/> </sequence> </complexType> </element>

Interstate Criminal History Transmission Specification 64

DRAFT </sequence> </complexType> </element> <element name="courtDisposition" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <group ref="agencyIdGroup"/> <element name="subjectName" type="lfmisfxName" minOccurs="0" maxOccurs="1"/> <element name="courtCaseNumber" minOccurs="0" maxOccurs="1" type="string"/> <element name="courtCharge" minOccurs="1" maxOccurs="unbounded"> <complexType> <sequence> <element name="arrestChargeSequence" minOccurs="0" maxOccurs="1" type="string"/> <element name="offenseDate" minOccurs="0" maxOccurs="1" type="dateType"/> <element name="literal" minOccurs="1" maxOccurs="1" type="string"/> <element name="statute" minOccurs="0" maxOccurs="1" type="string"/> <element name="offenseCode" minOccurs="0" maxOccurs="1" type="string"/> <element name="ncicCode" minOccurs="0" maxOccurs="1" type="nonNegativeInteger"/> <element name="counts" minOccurs="0" maxOccurs="1" type="nonNegativeInteger"/> <element name="severity" minOccurs="1" maxOccurs="1" type="string"/> <element name="actionLiteral" minOccurs="1" maxOccurs="1" type="string"/> <element name="actionType" minOccurs="1" maxOccurs="1" type="string"/> <element name="actionDate" minOccurs="1" maxOccurs="1" type="dateType"/> <element name="comments" minOccurs="0" maxOccurs="1" type="string"/> </sequence> </complexType> </element> </sequence> </complexType> </element> <element name="sentencing" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <group ref="agencyIdGroup"/> <element name="courtCaseNumber" minOccurs="0" maxOccurs="1" type="string"/> <element name="arrestChargeSequence" minOccurs="0" maxOccurs="1" type="string"/> <element name="sentence" minOccurs="1" maxOccurs="1" type="string"/> <element name="date" minOccurs="1" maxOccurs="1" type="dateType"/> <element name="comments" minOccurs="0" maxOccurs="1" type="string"/>

Interstate Criminal History Transmission Specification 65

DRAFT </sequence> </complexType> </element> <element name="corrections" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <group ref="agencyIdGroup"/> <element name="subjectName" minOccurs="0" maxOccurs="1" type="lfmisfxName"/> <element name="correctionalNumber" minOccurs="0" maxOccurs="1" type="string"/> <element name="courtCaseNumber" minOccurs="0" maxOccurs="1" type="string"/> <element name="actionLiteral" minOccurs="1" maxOccurs="1" type="string"/> <element name="actionDate" minOccurs="1" maxOccurs="1" type="dateType"/> <element name="comments" minOccurs="0" maxOccurs="1" type="string"/> </sequence> </complexType> </element> </sequence> </complexType> <!-- Rap Sheet Agency Index --> <complexType name="agencyIndexType"> <sequence> <element name="agencyInfo" minOccurs="1" maxOccurs="unbounded"> <complexType> <sequence> <group ref="agencyIdGroup"/> <element name="department" minOccurs="0" maxOccurs="1" type="string"/> <element name="phone" minOccurs="0" maxOccurs="1" type="string"/> <element name="fax" minOccurs="0" maxOccurs="1" type="string"/> <element name="internetEmail" minOccurs="0" maxOccurs="1" type="string"/> <element name="contactPerson" minOccurs="0" maxOccurs="1" type="string"/> <element name="addressInfo" minOccurs="0" maxOccurs="1"> <complexType> <sequence> <choice> <element name="address" type="string" minOccurs="1" maxOccurs="1"/> <sequence> <element name="buildingName" type="string" minOccurs="0" maxOccurs="1"/> <element name="roomNumber" type="string" minOccurs="0" maxOccurs="1"/> <element name="postOfficeBox" type="string" minOccurs="0" maxOccurs="1"/> <element name="streetNumber" type="string" minOccurs="0" maxOccurs="1"/> <element name="street" type="string" minOccurs="0" maxOccurs="1"/>

Interstate Criminal History Transmission Specification 66

DRAFT <element name="city" type="string" minOccurs="0" maxOccurs="1"/> <element name="state" type="string" minOccurs="0" maxOccurs="1"/> <element name="zipcode" type="string" minOccurs="0" maxOccurs="1"/> <element name="county" type="string" minOccurs="0" maxOccurs="1"/> <element name="country" type="string" minOccurs="0" maxOccurs="1"/> <element name="foreignPostalCode" type="string" minOccurs="0" maxOccurs="1"/> </sequence> </choice> </sequence> </complexType> </element> </sequence> </complexType> </element> </sequence> </complexType> <!-- Rap Sheet Summary --> <complexType name="summaryType"> <sequence> <element name="cautionInfo" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <element name="caution" minOccurs="1" maxOccurs="1" type="string"/> <element name="date" minOccurs="0" maxOccurs="1" type="dateType"/> </sequence> </complexType> </element> <element name="iffsDisqualified" minOccurs="0" maxOccurs="1" type="string"/> <element name="totalArrests" minOccurs="1" maxOccurs="1" type="nonNegativeInteger"/> <element name="totalCharges" minOccurs="1" maxOccurs="1"> <complexType> <sequence> <element name="felony" minOccurs="1" maxOccurs="1" type="nonNegativeInteger"/> <element name="misdemeanor" minOccurs="1" maxOccurs="1" type="nonNegativeInteger"/> <element name="localOrdinance" minOccurs="1" maxOccurs="1" type="nonNegativeInteger"/> <element name="other" minOccurs="1" maxOccurs="1" type="nonNegativeInteger"/> <element name="unknown" minOccurs="1" maxOccurs="1" type="nonNegativeInteger"/> </sequence> </complexType> </element> <element name="totalConvictions" minOccurs="1" maxOccurs="1"> <complexType>

Interstate Criminal History Transmission Specification 67

DRAFT <sequence> <element name="felony" minOccurs="1" maxOccurs="1" type="nonNegativeInteger"/> <element name="misdemeanor" minOccurs="1" maxOccurs="1" type="nonNegativeInteger"/> <element name="localOrdinance" minOccurs="1" maxOccurs="1" type="nonNegativeInteger"/> <element name="other" minOccurs="1" maxOccurs="1" type="nonNegativeInteger"/> <element name="unknown" minOccurs="1" maxOccurs="1" type="nonNegativeInteger"/> </sequence> </complexType> </element> <element name="totalFailuresToAppear" minOccurs="1" maxOccurs="1" type="nonNegativeInteger"/> <element name="totalRevocations" minOccurs="1" maxOccurs="1" type="nonNegativeInteger"/> <element name="firstEventDate" minOccurs="1" maxOccurs="1" type="dateType"/> <element name="lastEventDate" minOccurs="1" maxOccurs="1" type="dateType"/> </sequence> </complexType> </schema>

Interstate Criminal History Transmission Specification 68

DRAFT 5.0 Example Rap Sheet

The following example shows a rap sheet encoded in the XML format.

<?xml version="1.0" encoding="UTF-8"?> <rapSheet xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xmlns:rap="http://www.nlets.org/formats/rapsheet" xsi:noNamespaceSchemaLocation="Schema-0200.xsd" version="2.00"> <introduction> <request> <fbiNumber>900660</fbiNumber> <sidNumber>CA99999978</sidNumber> <name>Jones, John P</name> <purposeCode>C</purposeCode> <attention>AL 911137</attention> </request> <caveatInfo> <state>CA</state> <caveat>This record is provided in response to your request. Use of the information contained on this record is governed by state and federal law. </caveat> </caveatInfo> <caveatInfo> <state>CA</state> <caveat>If the request for this information did not include fingerprints, this record may not describe the subject of the inquiry. There may be further information concerning this subject in local files. </caveat> </caveatInfo> <caveatInfo> <state>CA</state> <index>001</index> </caveatInfo> </introduction> <identification> <subjectName> <last>Jones</last> <first>John</first> <middle>P</middle> <suffix>Jr</suffix> </subjectName> <subjectName> <last>Jones</last> <first>John</first> <middle>Quincy</middle> <suffix>Jr</suffix> </subjectName> <fbiNumber>62660CA12</fbiNumber> <sidNumber>CA99999978</sidNumber> <sidNumber>AZ12345678</sidNumber> <correctionalNumber>

Interstate Criminal History Transmission Specification 69

DRAFT <number>742786</number> <state>CA</state> </correctionalNumber> <ssn>220565860</ssn> <miscId> <type>Army Serial</type> <number>24680357</number> </miscId> <miscId> <type>Passport</type> <number>DC297138</number> </miscId> <driversLicense> <number>220565860</number> <state>CA</state> </driversLicense> <birthplace>CA</birthplace> <birthdate format="CCYYMMDD">19530212</birthdate> <birthdate>19531202</birthdate> <citizenship>US</citizenship> <sex>Female</sex> <race>White</race> <race>Asian</race> <heightInfo> <height unit="feetinches">601</height> <date>19940704</date> </heightInfo> <heightInfo> <height unit="inches">75</height> <date>19960311</date> </heightInfo> <weightInfo> <weight unit="pounds">180</weight> <date>19970321</date> </weightInfo> <eyeColorInfo> <eyeColor>Blue</eyeColor> <date>19880321</date> </eyeColorInfo> <hairColorInfo> <hairColor>Brown</hairColor> <date>19890704</date> </hairColorInfo> <hairColorInfo> <hairColor>Black</hairColor> <date>19951204</date> </hairColorInfo> <skinTone>Fair</skinTone> <fpPatternClass>LLLWLAWWRA</fpPatternClass> <palmPrints> <agencyORI>CA0000041</agencyORI> <agencyName>Travis County Sheriff</agencyName> <format>HC</format> <link> http://www.nlets.org/image/123.jpg </link> <date>19920704</date> </palmPrints>

Interstate Criminal History Transmission Specification 70

DRAFT <photo> <agencyORI>CA0000012</agencyORI> <format>NIST</format> <link> http://www.nlets.org/image/123.jpg </link> <date>19920704</date> </photo> <dna> <agencyORI>CA0000012</agencyORI> <format>HC</format> <link> Send Fax request to 602-555-1234 with SID and return Fax number </link> <date>19920704</date> </dna> <smtInfo> <agencyORI>CA0000041</agencyORI> <smt>Dragon with blue band around its neck and a rose in background with green stem </smt> <format>NIST</format> <date>19910111</date> </smtInfo> <smtInfo> <agencyORI>CA0000012</agencyORI> <code>TAT RF ARM</code> <date>19910111</date> </smtInfo> <employment> <occupation>Taxi Driver</occupation> <employerName>Unknown</employerName> <date>19870915</date> </employment> <residence> <address>105 Fourth St, El Cajon, CA</address> <date>19641128</date> </residence> <residence> <address>2920 Old Fork Rd. Los Arboles CA</address> </residence> <cautionInfo> <caution>Armed and dangerous</caution> <state>CA</state> <date>19951102</date> </cautionInfo> <iffsDisqualified>F</iffsDisqualified> <offenderNoticeInfo> <offenderNotice>Authorized Text</offenderNotice> <state>CA</state> </offenderNoticeInfo> <offenderNoticeInfo> <index>002</index> <state>CA</state> </offenderNoticeInfo> <commentsInfo> <comments>Subject stutters</comments> <state>CA</state>

Interstate Criminal History Transmission Specification 71

DRAFT </commentsInfo> </identification> <cycle> <earliestDate>19950704</earliestDate> <trackingNumber>AD486</trackingNumber> <arrest> <agencyORI>CA0000041</agencyORI> <subjectName> <last>Jones</last> <first>John</first> <middle>M</middle> <suffix>Jr</suffix> </subjectName> <date>19950704</date> <type>ADULT</type> <arrestCaseNumber>C4-995207</arrestCaseNumber> <offenderId>987-876543</offenderId> <comments>Resisted arrest. Attempted to flee on foot.</comments> <arrestCharge> <arrestChargeSequence>1</arrestChargeSequence> <chargeCaseNumber>1</chargeCaseNumber> <offenseDate>19960704</offenseDate> <literal>Disord Conduct</literal> <statute>CA877-3</statute> <offenseCode>876-431</offenseCode> <ncicCode>1304</ncicCode> <counts>1</counts> <severity>M</severity> <actionLiteral> Referred for prosecution </actionLiteral> <actionDate>19960707</actionDate> <comments>Here is a sample charge comment which pertains only to this single charge and not to the overall arrest segment </comments> </arrestCharge> <arrestCharge> <arrestChargeSequence>2</arrestChargeSequence> <chargeCaseNumber>2</chargeCaseNumber> <offenseDate>19960704</offenseDate> <literal>Breaking and entering</literal> <statute>CA877-16</statute> <offenseCode>876-889</offenseCode> <ncicCode>1305</ncicCode> <counts>2</counts> <severity>M</severity> <comments>This charge comment also pertains only to this single charge and not to the overall arrest segment </comments> </arrestCharge> </arrest> <prosecutorDisposition> <agencyORI>CA0003451</agencyORI> <agencyName>District 7 Prosecutor</agencyName> <subjectName> <last>Jones</last>

Interstate Criminal History Transmission Specification 72

DRAFT <first>John</first> <middle>Paul</middle> <suffix>Sr</suffix> </subjectName> <prosecutorCaseNumber>D4661</prosecutorCaseNumber> <prosecutorCharge> <arrestChargeSequence>01</arrestChargeSequence> <offenseDate>19950814</offenseDate> <literal>Disord Conduct</literal> <statute>PC843-21A</statute> <offenseCode>9961</offenseCode> <ncicCode>1307</ncicCode> <counts>1</counts> <severity>M</severity> <actionLiteral>Charge Filed</actionLiteral> <actionDate>19950920</actionDate> <comments>Prosecution went smoothly</comments> </prosecutorCharge> </prosecutorDisposition> <courtDisposition> <agencyORI>CA0002221</agencyORI> <agencyName>County Court at Law # 4</agencyName> <subjectName> <last>Jones</last> <first>John</first> <middle>M</middle> <suffix>Sr</suffix> </subjectName> <courtCaseNumber>JJ949</courtCaseNumber> <courtCharge> <arrestChargeSequence>02</arrestChargeSequence> <offenseDate>19960704</offenseDate> <literal>Assault</literal> <statute>MCL 333.14327A</statute> <offenseCode>9961</offenseCode> <ncicCode>1307</ncicCode> <counts>1</counts> <severity>F</severity> <actionLiteral>Convicted</actionLiteral> <actionType>310</actionType> <actionDate>19950721</actionDate> <comments>None</comments> </courtCharge> <courtCharge> <arrestChargeSequence>02</arrestChargeSequence> <offenseDate>19960704</offenseDate> <literal>Assault</literal> <statute>MCL 333.14327A</statute> <offenseCode>9961</offenseCode> <ncicCode>1307</ncicCode> <counts>1</counts> <severity>L</severity> <actionLiteral>Convicted</actionLiteral> <actionType>310</actionType> <actionDate>19950721</actionDate> <comments>None</comments> </courtCharge> </courtDisposition>

Interstate Criminal History Transmission Specification 73

DRAFT <sentencing> <agencyORI>CA0002221</agencyORI> <agencyName>County Court at Law # 4</agencyName> <courtCaseNumber>CD462</courtCaseNumber> <arrestChargeSequence>2</arrestChargeSequence> <sentence>3Y Prison, $500 fine and costs</sentence> <date>19950312</date> <comments>None</comments> </sentencing> <corrections> <agencyORI>CA0000012</agencyORI> <agencyName>California Dept. of Criminal Justice</agencyName> <subjectName> <last>Jones</last> <first>John</first> <middle>Q</middle> </subjectName> <correctionalNumber>CA742786</correctionalNumber> <courtCaseNumber>CD462</courtCaseNumber> <actionLiteral>Incarcerated</actionLiteral> <actionDate>19961029</actionDate> </corrections> <corrections> <agencyORI>CA0000012</agencyORI> <agencyName>California Dept. of Criminal Justice</agencyName> <subjectName> <last>Jones</last> <first>John</first> <middle>Q</middle> </subjectName> <correctionalNumber>CA742786</correctionalNumber> <courtCaseNumber>CD462</courtCaseNumber> <actionLiteral>Released</actionLiteral> <actionDate>19970712</actionDate> <comments>Early release</comments> </corrections> </cycle> <agencyIndex> <agencyInfo> <agencyORI>CA0000041</agencyORI> <agencyName>Travis County Sheriff</agencyName> <phone>512-424-2000</phone> <fax>512-424-5911</fax> <internetEmail>[email protected]</internetEmail> <contactPerson>Joe Rap Sheet</contactPerson> <addressInfo> <buildingName>Rabung Building</buildingName> <roomNumber>4B20</roomNumber> <postOfficeBox></postOfficeBox> <streetNumber>5805</streetNumber> <street>N. Lamar</street> <city>Tustin</city> <state>CA</state> <zipcode>78765</zipcode> <county>Travis</county> <country>US</country> </addressInfo> </agencyInfo>

Interstate Criminal History Transmission Specification 74

DRAFT <agencyInfo> <agencyORI>CA0003451</agencyORI> <agencyName>District 7 Prosecutor</agencyName> <phone>512-505-2000</phone> <addressInfo> <address>1000 S. Alexander St. Logan CA 81002</address> </addressInfo> </agencyInfo> <agencyInfo> <agencyORI>CA0002221</agencyORI> <agencyName>County Court at Law # 4</agencyName> <phone>512-632-8882</phone> <fax>512-632-1999</fax> <addressInfo> <streetNumber>1000</streetNumber> <street>S. Alexander St.</street> <city>Logan</city> <state>CA</state> <zipcode>81002</zipcode> <country>US</country> </addressInfo> </agencyInfo> <agencyInfo> <agencyORI>CA0000012</agencyORI> <agencyName>California Dept. of Criminal Justice</agencyName> <phone>512-424-1003</phone> <internetEmail>[email protected]</internetEmail> <addressInfo> <postOfficeBox>5311</postOfficeBox> <city>Riverdale</city> <state>CA</state> <zipcode>92021</zipcode> <county>River</county> <country>US</country> </addressInfo> </agencyInfo> </agencyIndex> <summary> <cautionInfo> <caution>Known to carry a weapon.</caution> <date>19961017</date> </cautionInfo> <cautionInfo> <caution>Has threatened police officer and fought with fellow inmates while incarcerated. </caution> <date>19961018</date> </cautionInfo> <iffsDisqualified>F</iffsDisqualified> <totalArrests>2</totalArrests> <totalCharges> <felony>0</felony> <misdemeanor>1</misdemeanor> <localOrdinance>1</localOrdinance> <other>0</other> <unknown>0</unknown> </totalCharges> <totalConvictions>

Interstate Criminal History Transmission Specification 75

DRAFT <felony>0</felony> <misdemeanor>1</misdemeanor> <localOrdinance>0</localOrdinance> <other>0</other> <unknown>0</unknown> </totalConvictions> <totalFailuresToAppear>2</totalFailuresToAppear> <totalRevocations>0</totalRevocations> <firstEventDate>19970712</firstEventDate> <lastEventDate>19970712</lastEventDate> </summary> </rapSheet>

Interstate Criminal History Transmission Specification 76

DRAFT Appendices

Interstate Criminal History Transmission Specification 77

DRAFT

Appendix A XML Transformation

XML and ANSI/NIST-CSL 1-1993 XML and ANSI/NIST-CSL 1-1993 both define tagged information structures. XML is derived from both HTML and SGML. XML is predominantly intended for text information although there are ways of including binary information. The ANSI/NIST-CSL 1-1993 standard was designed for fingerprint transactions. It is intended to contain a mixture of text and binary image data. The text information is typically transaction or demographic data and the binary information is typically a set of fingerprint images, one or more facial images, or images of scars, marks, or tattoos. XML has a more elegant nesting structure consisting of elements that have start and end tags enclosing data or other elements. The start and end tags are surrounded by angle brackets. End tags are the same as the matching start tags except that a slash character precedes the element name. There is a fine distinction to be made between an element and its start and end tags. The character string “<date>19920601</date>” is an instance of the date element. The string “<date>” is the start tag, “</date>” is the end tag and 19920601 is the element character data. In this document a date element is written <date> to increase clarity even though this is a slight misuse of terminology. The information from the Type 2 INTRO record in ANSI NIST can be represented in XML as the following: <introduction> <request> <fbiNumber>12345678H8</fbiNumber> <purpose>C</purpose> <attention> Cathy at ILCPD0000 Chicago Police Department </attention> </request> <caveatInfo> <state>TX</state> <index>02</index> </caveatInfo> <caveatInfo> <state>TX</state> <index>05</index> </caveatInfo> </introduction> There is no need in XML for a length field corresponding to ANSI/NIST field id 2.001 or for 2.002 giving a record sequence number.

Interstate Criminal History Transmission Specification 78

DRAFT XML Style There are often several ways in XML to accomplish the same end. The format presented in this specification is based on a set of choices so that the format is consistent. These choices are listed below along with a discussion of the rationale behind the choice. 1. Elements are generalized if appropriate. For example, the <caveatInfo> element in the

introduction is a generalization of both record caveat and record caveat index fields (fields 2.905 and 2.906 from the ANSI/NIST INTRO Type 2 record).

2. The same element name is reused in different contexts if the meaning is clear. For example,

the <state> element is contained in <caveatInfo> and <driversLicense> elements and refers to the state that supplied the information. Elements <date>, <text>, and <index> are other examples of reused elements.

3. XML element tags, attributes, and character data are all case sensitive. All tags and attributes

are defined in lower case because most of the data in a rap sheet is either mixed case or all upper case. This is intended to reduce visual confusion between criminal history data and the XML structure that encloses it. One exception exists for elements with names that are multiple words. These have the second and later words capitalized. For example, subjectName has an upper case N to help visually distinguish the components of the element name.

4. Data is stored in element character data rather than in XML attributes9. For example, the

<subjectName> element is defined with child elements <last>, <first>, <middle>, and <suffix> as in: <subjectName> <last>ADAMS</last> <first>JOHN</first> <middle>QUINCY</middle> <suffix>JR</suffix> </subjectName> rather than as the single “empty” element10 <subjectName last=”ADAMS” first=”JOHN” middle=”QUINCY” suffix=”JR”/> There are recommendations both ways11 (element character data versus XML attributes) but

9 An attribute is a part of the start tag of an element or is contained in a so-called empty element. The attribute is in the form of an assignment of a string to an attribute name. Attributes cannot repeat in a tag or have anything other than a string as a value.

10 An empty element is completely contained in its tag. An example in HTML is the <BR> tag that causes a line break. This would be written in XML as <BR/> to indicate it is both a start and end tag combined.

11 See Professional XML, pages 66-67 and 125-127.

Interstate Criminal History Transmission Specification 79

DRAFT character data is slightly preferred and more general. In particular, an element often is generalized to contain repeated values. Having the data enclosed inside the element rather than as an attribute is more compatible with adding new structure. Also, if a browser does not understand a tag, it is ignored leaving the element’s enclosed character data. If the data is all placed in the attributes, which are part of the tag, everything of value is omitted along with the tag itself. Although using attributes appears to be more compact, the space advantage can be removed by any standard compression algorithm. Using such an algorithm can also reduce the size of the criminal history content as well.

Attributes are used in the XML rap sheet format for control purposes in a few cases.

5. Optional elements may be omitted completely. For example if a name element does not contain a suffix, the suffix element may be omitted completely rather than be coded as an element with a null value. Coding the suffix element with a null value is, however, acceptable.

Interstate Criminal History Transmission Specification 80

DRAFT

Appendix B XML Applications

The XML criminal history can be used in two basic ways:

1. First, a standard scripting language can be used to transform the XML into another form or to extract essential elements from it. The prime example of scripting is using an XSL style sheet.

2. The second approach to using an XML document is through a program written in C, Java, or ECMAScript/Javascript. In this case, information is extracted from the XML document and used by the program. The primary means of accomplishing the data extraction is via a standardized approach such as one of the application programming interfaces (APIs) for the Document Object Model (DOM) or the Simple API for XML (SAX) although there are many others.

Scripting XSL transforms the tree structure of XML documents into another tree structure, typically a tree of HTML tags surrounding the same data content as in the XML file. The final step (although not strictly required) is to linearize the result tree into a sequential format in an output file. In the case of HTML output, this file is displayed in a web browser. An example XSLT transformation style sheet that transforms an XML rap sheet into HTML is shown in Appendix D. The style sheet of Appendix D is available in softcopy form so that it can be customized for local conditions and standards for rap sheets. Direct Use via XML APIs XML parser software has been freely circulated on the internet for a number of years. There are several efforts underway to standardize on one or more APIs. Most XML software is written in the Java programming language. Simple API for XML (SAX) and Java API for SML Parsing (JAXP) The best known API is SAX and a related API from Sun Microsystems called JAXP (Java API for XML Parsing). This is a Java language-based API that uses a technique that calls a Java method (like a function or subprogram) as each XML element is parsed. The called method can then perform any action or build up any data structures that are needed. The SAX approach is simple to understand and program. It is similar to the approach used for graphical user interfaces. Since the SAX approach of invoking methods is under the control of the parser, it is more difficult to control the processing and a two-pass algorithm is often necessary. The first pass parses and records information from the XML document. The second pass then performs whatever action is needed or generates the result document.

Interstate Criminal History Transmission Specification 81

DRAFT Document Object Module (DOM) The DOM approach involves parsing the XML document into an internal data structure. The application program then can query the structure as needed to extract the desired information. The DOM approach is essentially following the two-pass algorithm mentioned in the preceding paragraph. DOM differs from SAX and JAXP in that DOM only specifies what information is made available and generally how the information is organized. There are DOM-compliant APIs for Java, C, JavaScript or ECMAScript that are not part of DOM itself. Other parsers such as Ælfred, XP, and MSXML have been contributed by software developers. There are obvious advantages in using a published API or a widely used parser. Validating and Non-validating Parsers XML parsers can be either validating12 or non-validating. Most parsers in use in applications are non-validating. Non-validating parsers can handle any XML that is well formed, that is, has start and end tags that are legally nested and evenly matched. For example, the document below on the left side is properly nested and the one on the right is not. Nesting is just one basic test of validity for an XML document. <eyeColor> <eyeColor> <value>Blue</value> <value>ADAMS</value> <date>19880321</date> <date>19880321 </eyeColor> </eyeColor></date> A validating parser would make additional checks that certain elements appear and that only defined elements are present. The XML Schema definition provided in Section 4 is intended as a possible basis for validating an XML document. There are rules for criminal histories, however, that cannot be expressed in an XML Schema. For example, it is not possible to validate that a birthdate is more than 13 years in the past. Other examples might involve cross checking between fields such as verification that an <arrestChargeSequence> number in a prosecutor disposition matches an <arrestChargeSequence> number in an <arrestCharge> in the current <arrestCycle> element.

12 Document Type Definitions are a common basis used by validating parsers for validating XML documents. This is primarily because DTDs were inherited from SGML and many early XML parsers were derived from SGML parsers. DTDs are somewhat deficient in specifying value and occurrence constraints. XML Schemas have more capabilities for specifying content and structure of an XML document and are themselves XML documents. It is widely expected that Schemas will replace DTDs in the near future.

Interstate Criminal History Transmission Specification 82

DRAFT

Appendix C Example Style Sheet

The following is an XSLT style sheet that transforms the example rap sheet of Section 5 into HTML. The transformation is similar to the recommended presentation format but differs in some ways. It is intended to demonstrate XSLT capabilities with rap sheet data rather than strict conformance to the presentation format.

Appendix D shows the result of the transformation.

<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- root --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- This template controls formatting of the rap sheet by matching the document root. The second tier of formatting is controlled by the /rapSheet template. --> <xsl:template match="/"> <HTML> <HEAD> <TITLE> <xsl:choose> <xsl:when test="/rapSheet/introduction/request/name!=''"> <xsl:text>Rap Sheet for </xsl:text> <xsl:value-of select="/rapSheet/introduction/request/name"/> </xsl:when> <xsl:otherwise>Rap Sheet for Unnamed Subject</xsl:otherwise> </xsl:choose> </TITLE> </HEAD> <BODY BGCOLOR="#B0C4DE"> <xsl:apply-templates select="/rapSheet"/> </BODY> </HTML> </xsl:template> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- format-subjectName --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - -->

Interstate Criminal History Transmission Specification 83

DRAFT <!-- This template controls formatting of subject names. --> <xsl:template name="format-subjectName"> <xsl:param name="subject" select="."/> <xsl:value-of select="$subject/last"/> <xsl:if test="$subject/first!=''"> <xsl:text>, </xsl:text><xsl:value-of select="$subject/first"/> </xsl:if> <xsl:if test="$subject/middle!=''"> <xsl:text> </xsl:text> <xsl:value-of select="$subject/middle"/> </xsl:if> <xsl:if test="$subject/suffix!=''"> <xsl:text> </xsl:text> <xsl:value-of select="$subject/suffix"/> </xsl:if> </xsl:template> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- format-date --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- The following template does all standard formatting of dates in the stylesheet. The optional parameter date can be used to select which date field to format but the default is to format the field named date with the current element as parent. --> <xsl:template name="format-date"> <xsl:param name="date" select="./date"/> <xsl:choose> <xsl:when test="$date!=''"> <xsl:value-of select="substring($date,7,2)"/> <xsl:text>-</xsl:text> <xsl:value-of select="substring-before(substring-after('01Jan 02Feb 03Mar 04Apr 05May 06Jun 07Jul 08Aug 09Sep 10Oct 11Nov 12Dec ',substring($date,5,2)),' ')"/> <xsl:text>-</xsl:text> <xsl:value-of select="substring($date,1,4)"/> </xsl:when> <xsl:otherwise>No Date Given</xsl:otherwise> </xsl:choose> </xsl:template> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- rapSheet --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- This template controls second tier formatting of the rap sheet by generating the top level headings and then calling next tier templates for format those sections. --> <xsl:template match="/rapSheet"> <CENTER> <H1><FONT COLOR="000080">Criminal History Record</FONT></H1>

Interstate Criminal History Transmission Specification 84

DRAFT </CENTER> <BR/><BR/><H2><A NAME="introduction">Introduction</A></H2> <xsl:apply-templates select="introduction"/> <BR/><BR/><H2><A NAME="identification">Identification</A></H2> <xsl:apply-templates select="identification"/> <BR/><BR/><H2><A NAME="summary">Summary</A></H2> <xsl:choose> <xsl:when test="summary!=''"> <xsl:apply-templates select="summary"/> </xsl:when> <xsl:otherwise> <xsl:call-template name="generate-summary"/> </xsl:otherwise> </xsl:choose> <BR/><BR/><H2><A NAME="arrests">Criminal History</A></H2> <xsl:call-template name="cycle"/> <BR/><BR/><H2><A NAME="index">Index of Agencies</A></H2> <xsl:apply-templates select="agencyIndex"/> </xsl:template> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- navigation-bar --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- This template controls formatting of a navigation bar of hyperlinks to the various sections. This allows easy switching from one part to another. This version is actually null and the real navigation bar is generated in the following template. --> <xsl:template name="navigation-bar"> </xsl:template> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- navigation-bar --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- This template controls formatting of a navigation bar of hyperlinks to the various sections. This allows easy switching from one part to another. --> <xsl:template name="navigation-bar-for-real"> <HR/> <TABLE BORDER="0" CELLPADDING="0" WIDTH="100%"> <TR> <TD><A HREF="#introduction"><strong>Introduction</strong></A></TD> <TD><A HREF="#identification"><strong>Identification</strong></A></TD>

Interstate Criminal History Transmission Specification 85

DRAFT <TD><A HREF="#summary"><strong>Summary</strong></A></TD> <TD><A HREF="#corrections"><strong>Corrections</strong></A></TD> <TD><A HREF="#arrests"><strong>Criminal History</strong></A></TD> <TD><A HREF="#index"><strong>Agencies</strong></A></TD> </TR> </TABLE> <HR/> </xsl:template> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- introduction --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- This template controls formatting of information from the introduction element. It is called from the /rapSheet template. --> <xsl:template match="introduction"> <H4>This rap sheet was produced in response to the following request:</H4> <BLOCKQUOTE> <TABLE BORDER="0" CELLPADDING="0" WIDTH="90%" BGCOLOR="E4E4E4"> <TR> <TD>Subject Name</TD> <TD> <xsl:choose> <xsl:when test="/rapSheet/introduction/request/name!=''"> <xsl:value-of select="/rapSheet/introduction/request/name"/> </xsl:when> <xsl:otherwise>Unnamed Subject</xsl:otherwise> </xsl:choose> </TD> </TR> <xsl:if test="request/fbiNumber!=''"> <TR><TD>FBI Number</TD> <TD><xsl:value-of select="request/fbiNumber"/></TD></TR> </xsl:if> <xsl:if test="request/sidNumber!=''"> <TR><TD>SID Number</TD> <TD><xsl:value-of select="request/sidNumber"/></TD></TR> </xsl:if> <TR> <TD>Attention</TD> <TD><xsl:value-of select="request/attention"/></TD> </TR><TR> <TD>Purpose Code</TD> <TD><xsl:value-of select="request/purposeCode"/></TD> </TR> </TABLE> </BLOCKQUOTE> <H4>The information in this rap sheet is provided subject to the following:</H4> <BLOCKQUOTE> <TABLE BORDER="0" CELLPADDING="3" WIDTH="90%" BGCOLOR="E4E4E4">

Interstate Criminal History Transmission Specification 86

DRAFT <TR><TH ALIGN="LEFT">Source</TH> <TH ALIGN="LEFT">Restriction, Warning, or Notice</TH> </TR> <xsl:for-each select="caveatInfo"> <TR VALIGN="TOP"> <TD WIDTH="10%"><STRONG>(<xsl:value-of select="state"/>)</STRONG></TD> <xsl:if test="caveat!=''"> <TD><xsl:value-of select="caveat"/></TD> </xsl:if> <xsl:if test="index!=''"> <TD>Standard Caveat Number <xsl:value-of select="index"/><BR/> This should be turned into a hyperlink really.</TD> </xsl:if> </TR> </xsl:for-each> </TABLE> </BLOCKQUOTE> <xsl:call-template name="navigation-bar"/> </xsl:template> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- identification --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- This template controls formatting of information from the identification element. It is called from the /rapSheet template. --> <xsl:template match="identification"> <BLOCKQUOTE> <TABLE BORDER="0" CELLPADDING="2" WIDTH="90%"> <TR ALIGN="LEFT"> <TH WIDTH="25%">FBI Number</TH> <TH WIDTH="25%">SID Number</TH> <TH WIDTH="25%">Driver's License</TH> <TH WIDTH="25%">Social Security</TH></TR> <TR VALIGN="TOP"> <TD> <xsl:choose> <xsl:when test="fbiNumber!=''"> <xsl:value-of select="fbiNumber"/> </xsl:when> <xsl:otherwise>Unknown</xsl:otherwise> </xsl:choose> </TD><TD> <xsl:choose> <xsl:when test="sidNumber!=''"> <xsl:for-each select="sidNumber"> <xsl:if test="position()>1"><BR/></xsl:if> <xsl:value-of select="."/> </xsl:for-each> </xsl:when> <xsl:otherwise>Unknown</xsl:otherwise>

Interstate Criminal History Transmission Specification 87

DRAFT </xsl:choose> </TD><TD> <xsl:choose> <xsl:when test="driversLicense!=''"> <xsl:for-each select="driversLicense"> <xsl:if test="position()>1"><BR/></xsl:if> <!--xsl:call-template name="DL-number"/--> <xsl:value-of select="./state"/> <xsl:value-of select="./number"/> </xsl:for-each> </xsl:when> <xsl:otherwise></xsl:otherwise> </xsl:choose> </TD><TD> <xsl:choose> <xsl:when test="ssn!=''"> <xsl:for-each select="ssn"> <xsl:if test="position()>1"><BR/></xsl:if> <xsl:value-of select="."/> </xsl:for-each> </xsl:when> <xsl:otherwise>None</xsl:otherwise> </xsl:choose> </TD> </TR> <TR><TD COLSPAN="4"><HR/></TD></TR> <TR ALIGN="LEFT"> <TH COLSPAN="2">Names Used</TH> <TH>IFFS Disqualified</TH> <TH>Dates of Birth</TH> </TR> <TR VALIGN="TOP"> <TD COLSPAN="2"> <xsl:choose> <xsl:when test="subjectName!=''"> <xsl:for-each select="subjectName"> <xsl:if test="position()>1"><BR/></xsl:if> <xsl:call-template name="format-subjectName"/> </xsl:for-each> </xsl:when> <xsl:otherwise>Unknown</xsl:otherwise> </xsl:choose> </TD> <TD> <xsl:choose> <xsl:when test="iffsDisqualified!=''"> <xsl:call-template name="format-severity"> <xsl:with-param name="severity" select="iffsDisqualified"/> </xsl:call-template> </xsl:when> <xsl:otherwise> None Given </xsl:otherwise> </xsl:choose> </TD>

Interstate Criminal History Transmission Specification 88

DRAFT <TD VALIGN="TOP"> <xsl:choose> <xsl:when test="birthdate!=''"> <xsl:for-each select="birthdate"> <xsl:if test="position()>1"><BR/></xsl:if> <!--xsl:value-of select="."/--> <xsl:call-template name="format-date"> <xsl:with-param name="date" select="."/> </xsl:call-template> </xsl:for-each> </xsl:when> <xsl:otherwise>Unknown</xsl:otherwise> </xsl:choose> </TD> </TR> <TR><TD COLSPAN="4"><HR/></TD></TR> <TR ALIGN="LEFT"> <TH>Sex</TH> <TH>Race</TH> <TH>Height</TH> <TH>Weight</TH></TR> <TR VALIGN="TOP"> <TD> <xsl:choose> <xsl:when test="sex!=''"> <xsl:for-each select="sex"> <xsl:if test="position()>1"><BR/></xsl:if> <xsl:value-of select="."/> </xsl:for-each> </xsl:when> <xsl:otherwise>Unknown</xsl:otherwise> </xsl:choose> </TD><TD> <xsl:choose> <xsl:when test="race!=''"> <xsl:for-each select="race"> <xsl:if test="position()>1"><BR/></xsl:if> <xsl:value-of select="."/> </xsl:for-each> </xsl:when> <xsl:otherwise>Unknown</xsl:otherwise> </xsl:choose> </TD><TD> <xsl:choose> <xsl:when test="heightInfo!=''"> <xsl:for-each select="heightInfo"> <xsl:if test="position()>1"><BR/></xsl:if> <!--xsl:value-of select="./height"/--> <xsl:choose> <xsl:when test="./height/@unit='inches'"> <xsl:value-of select="floor((./height) div 12)"/> <xsl:text>'</xsl:text> <xsl:value-of select="(./height) mod 12"/> <xsl:text>"</xsl:text> </xsl:when> <xsl:otherwise>

Interstate Criminal History Transmission Specification 89

DRAFT <xsl:value-of select="floor((./height) div 100)"/> <xsl:text>'</xsl:text> <xsl:value-of select="(./height) mod 100"/> <xsl:text>"</xsl:text> </xsl:otherwise> </xsl:choose> (<xsl:call-template name="format-date"/>) </xsl:for-each> </xsl:when> <xsl:otherwise>Unknown</xsl:otherwise> </xsl:choose> </TD><TD> <xsl:choose> <xsl:when test="weightInfo!=''"> <xsl:for-each select="weightInfo"> <xsl:if test="position()>1"><BR/></xsl:if> <xsl:value-of select="./weight"/> (<xsl:call-template name="format-date"/>) </xsl:for-each> </xsl:when> <xsl:otherwise>Unknown</xsl:otherwise> </xsl:choose> </TD> </TR> <TR><TD COLSPAN="4"><HR/></TD></TR> <TR ALIGN="LEFT"> <TH>Eye Color</TH> <TH>Hair Color</TH> <TH>Place of Birth</TH> <TH>Citizenship</TH></TR> <TR VALIGN="TOP"> <TD> <xsl:choose> <xsl:when test="eyeColorInfo!=''"> <xsl:for-each select="eyeColorInfo"> <xsl:if test="position()>1"><BR/></xsl:if> <!-- The use of codes is not part of the standard --> <xsl:choose> <xsl:when test="./eyeColor='BLU'">Blue</xsl:when> <xsl:when test="./eyeColor='BRO'">Brown</xsl:when> <xsl:otherwise> <xsl:value-of select="./eyeColor"/> </xsl:otherwise> </xsl:choose> (<xsl:call-template name="format-date"/>) </xsl:for-each> </xsl:when> <xsl:otherwise>Unknown</xsl:otherwise> </xsl:choose> </TD><TD> <xsl:choose> <xsl:when test="hairColorInfo!=''"> <xsl:for-each select="hairColorInfo"> <xsl:if test="position()>1"><BR/></xsl:if> <xsl:choose> <xsl:when test="./hairColor='BLK'">Black</xsl:when>

Interstate Criminal History Transmission Specification 90

DRAFT <xsl:when test="./hairColor='BRO'">Brown</xsl:when> <xsl:otherwise> <xsl:value-of select="./hairColor"/> </xsl:otherwise> </xsl:choose> (<xsl:call-template name="format-date"/>) </xsl:for-each> </xsl:when> <xsl:otherwise>Unknown</xsl:otherwise> </xsl:choose> </TD><TD> <xsl:choose> <xsl:when test="birthplace!=''"> <xsl:for-each select="birthplace"> <xsl:if test="position()>1"><BR/></xsl:if> <xsl:value-of select="."/> </xsl:for-each> </xsl:when> <xsl:otherwise>Unknown</xsl:otherwise> </xsl:choose> </TD><TD> <xsl:choose> <xsl:when test="citizenship!=''"> <xsl:for-each select="citizenship"> <xsl:if test="position()>1"><BR/></xsl:if> <xsl:value-of select="."/> </xsl:for-each> </xsl:when> <xsl:otherwise>Unknown</xsl:otherwise> </xsl:choose> </TD> </TR> <TR><TD COLSPAN="4"><HR/></TD></TR> <TR ALIGN="LEFT"> <TH>Eye Color</TH> <TH>Hair Color</TH> <TH>Place of Birth</TH> <TH>Citizenship</TH></TR> <TR VALIGN="TOP"> <TD> <xsl:choose> <xsl:when test="eyeColorInfo!=''"> <xsl:for-each select="eyeColorInfo"> <xsl:if test="position()>1"><BR/></xsl:if> <!-- The use of codes is not part of the standard --> <xsl:choose> <xsl:when test="./eyeColor='BLU'">Blue</xsl:when> <xsl:when test="./eyeColor='BRO'">Brown</xsl:when> <xsl:otherwise> <xsl:value-of select="./eyeColor"/> </xsl:otherwise> </xsl:choose> (<xsl:call-template name="format-date"/>) </xsl:for-each> </xsl:when> <xsl:otherwise>Unknown</xsl:otherwise>

Interstate Criminal History Transmission Specification 91

DRAFT </xsl:choose> </TD><TD> <xsl:choose> <xsl:when test="hairColorInfo!=''"> <xsl:for-each select="hairColorInfo"> <xsl:if test="position()>1"><BR/></xsl:if> <xsl:choose> <xsl:when test="./hairColor='BLK'">Black</xsl:when> <xsl:when test="./hairColor='BRO'">Brown</xsl:when> <xsl:otherwise> <xsl:value-of select="./hairColor"/> </xsl:otherwise> </xsl:choose> (<xsl:call-template name="format-date"/>) </xsl:for-each> </xsl:when> <xsl:otherwise>Unknown</xsl:otherwise> </xsl:choose> </TD><TD> <xsl:choose> <xsl:when test="birthplace!=''"> <xsl:for-each select="birthplace"> <xsl:if test="position()>1"><BR/></xsl:if> <xsl:value-of select="."/> </xsl:for-each> </xsl:when> <xsl:otherwise>Unknown</xsl:otherwise> </xsl:choose> </TD><TD> <xsl:choose> <xsl:when test="citizenship!=''"> <xsl:for-each select="citizenship"> <xsl:if test="position()>1"><BR/></xsl:if> <xsl:value-of select="."/> </xsl:for-each> </xsl:when> <xsl:otherwise>Unknown</xsl:otherwise> </xsl:choose> </TD> </TR> <TR><TD COLSPAN="4"><HR/></TD></TR> <TR ALIGN="LEFT"> <TH COLSPAN="2">Correctional Number</TH> <TH COLSPAN="2">Skin Tone</TH> </TR> <TR VALIGN="TOP"> <TD COLSPAN="2"> <xsl:choose> <xsl:when test="correctionalNumber!=''"> <xsl:for-each select="correctionalNumber"> <xsl:if test="position()>1"><BR/></xsl:if> (<xsl:value-of select="./state"/>) <xsl:text> </xsl:text> <xsl:value-of select="./number"/> </xsl:for-each> </xsl:when> <xsl:otherwise>None</xsl:otherwise>

Interstate Criminal History Transmission Specification 92

DRAFT </xsl:choose> </TD><TD COLSPAN="2"> <xsl:choose> <xsl:when test="skinTone!=''"> <xsl:for-each select="skinTone"> <xsl:if test="position()>1"><BR/></xsl:if> <xsl:value-of select="."/> </xsl:for-each> </xsl:when> <xsl:otherwise>Unknown</xsl:otherwise> </xsl:choose> </TD> </TR> <TR><TD COLSPAN="4"><HR/></TD></TR> <TR ALIGN="LEFT"> <TH COLSPAN="2">Miscellaneous Ids</TH> <TH COLSPAN="2">Fingerprint Clasification</TH></TR> <TR VALIGN="TOP"> <TD COLSPAN="2"> <xsl:choose> <xsl:when test="miscId!=''"> <xsl:for-each select="miscId"> <xsl:if test="position()>1"><BR/></xsl:if> <xsl:value-of select="./type"/> <xsl:text> </xsl:text> <xsl:value-of select="./number"/> </xsl:for-each> </xsl:when> <xsl:otherwise>None</xsl:otherwise> </xsl:choose> </TD><TD COLSPAN="2"> <xsl:choose> <xsl:when test="fpPatternClass!=''"> <xsl:for-each select="fpPatternClass"> <xsl:if test="position()>1"><BR/></xsl:if> <xsl:value-of select="."/> </xsl:for-each> </xsl:when> <xsl:otherwise>Unknown</xsl:otherwise> </xsl:choose> </TD> </TR> <TR><TD COLSPAN="4"><HR/></TD></TR> <TR ALIGN="LEFT"> <TH COLSPAN="4">Scars, Marks, and Tattoos</TH> </TR> <xsl:choose> <xsl:when test="smtInfo!=''"> <xsl:for-each select="smtInfo"> <TR VALIGN="TOP"> <TD> <xsl:if test="./agencyORI!=''"> <xsl:value-of select="./agencyORI"/> </xsl:if>

Interstate Criminal History Transmission Specification 93

DRAFT <xsl:if test="./agencyName!=''"> <BR/><xsl:value-of select="./agencyName"/> </xsl:if> <xsl:if test="./format!=''"> <BR/><xsl:value-of select="./format"/> </xsl:if> <xsl:if test="./link!=''"> <BR/> <xsl:choose> <xsl:when test="starts-with( normalize-space( translate(./link,'htp', 'HTP')), 'HTTP')"> <A HREF="./link">Image</A> </xsl:when> <xsl:otherwise> <xsl:value-of select="./link"/> </xsl:otherwise> </xsl:choose> </xsl:if> </TD> <TD><xsl:call-template name="format-date"/></TD> <TD COLSPAN="2"> <xsl:if test="./smt!=''"> <xsl:value-of select="./smt"/> </xsl:if> <xsl:if test="./code!=''"> Code <xsl:value-of select="./code"/> </xsl:if> </TD> </TR> </xsl:for-each> </xsl:when> <xsl:otherwise><TR><TD COLSPAN="4">None</TD></TR></xsl:otherwise> </xsl:choose> <TR><TD COLSPAN="4"><HR/></TD></TR> <TR ALIGN="LEFT"> <TH COLSPAN="2">Palm Prints Available</TH> <TH COLSPAN="2">DNA Samples Available</TH></TR> <TR VALIGN="TOP"> <TD COLSPAN="2"> <xsl:choose> <xsl:when test="palmPrints!=''"> <xsl:for-each select="palmPrints"> <xsl:if test="position()>1"><BR/><BR/></xsl:if> <xsl:if test="./agencyORI!=''"> <xsl:value-of select="./agencyORI"/> </xsl:if> <xsl:if test="./agencyName!=''"> <xsl:text> </xsl:text> <xsl:value-of select="./agencyName"/> </xsl:if> <xsl:if test="./format!=''"> <BR/><xsl:value-of select="./format"/> </xsl:if> <xsl:if test="./date!=''">

Interstate Criminal History Transmission Specification 94

DRAFT <xsl:choose> <xsl:when test="./format!=''"> <xsl:text> </xsl:text><xsl:call-template name="format-date"/> </xsl:when> <xsl:otherwise> <BR/><xsl:call-template name="format-date"/> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:if test="./link!=''"> <BR/> <xsl:choose> <xsl:when test="starts-with( normalize-space( translate(./link,'htp', 'HTP')), 'HTTP')"> <A HREF="{normalize-space(./link)}">Image</A> </xsl:when> <xsl:otherwise> <xsl:value-of select="./link"/> </xsl:otherwise> </xsl:choose> </xsl:if> </xsl:for-each> </xsl:when> <xsl:otherwise>None</xsl:otherwise> </xsl:choose> </TD><TD COLSPAN="2"> <xsl:choose> <xsl:when test="dna!=''"> <xsl:for-each select="dna"> <xsl:if test="position()>1"><BR/><BR/></xsl:if> <xsl:if test="./agencyORI!=''"> <xsl:value-of select="./agencyORI"/> </xsl:if> <xsl:if test="./agencyName!=''"> <xsl:text> </xsl:text> <xsl:value-of select="./agencyName"/> </xsl:if> <xsl:if test="./format!=''"> <BR/><xsl:value-of select="./format"/> </xsl:if> <xsl:if test="./date!=''"> <xsl:choose> <xsl:when test="./format!=''"> <xsl:text> </xsl:text><xsl:call-template name="format-date"/> </xsl:when> <xsl:otherwise> <BR/><xsl:call-template name="format-date"/> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:if test="./link!=''"> <BR/> <xsl:choose> <xsl:when test="starts-with(

Interstate Criminal History Transmission Specification 95

DRAFT normalize-space( translate(./link,'htp', 'HTP')), 'HTTP')"> <A HREF="{normalize-space(./link)}">Image</A> </xsl:when> <xsl:otherwise> <xsl:value-of select="./link"/> </xsl:otherwise> </xsl:choose> </xsl:if> </xsl:for-each> </xsl:when> <xsl:otherwise>Unknown</xsl:otherwise> </xsl:choose> </TD> </TR> <TR><TD COLSPAN="4"><HR/></TD></TR> <TR ALIGN="LEFT"> <TH COLSPAN="4">Photos Available</TH> </TR> <xsl:choose> <xsl:when test="photo!=''"> <xsl:for-each select="photo"> <TR VALIGN="TOP"> <TD COLSPAN="4"> <xsl:if test="position()>1"><BR/></xsl:if> <xsl:if test="./agencyORI!=''"> <xsl:value-of select="./agencyORI"/> </xsl:if> <xsl:if test="./agencyName!=''"> <xsl:text> </xsl:text> <xsl:value-of select="./agencyName"/> </xsl:if> <xsl:if test="./format!=''"> <BR/><xsl:value-of select="./format"/> </xsl:if> <xsl:if test="./date!=''"> <xsl:choose> <xsl:when test="./format!=''"> <xsl:text> </xsl:text><xsl:call-template name="format-date"/> </xsl:when> <xsl:otherwise> <BR/><xsl:call-template name="format-date"/> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:if test="./link!=''"> <BR/> <xsl:choose> <xsl:when test="starts-with( normalize-space( translate(./link,'htp', 'HTP')), 'HTTP')"> <A HREF="{normalize-space(./link)}">Image</A> </xsl:when>

Interstate Criminal History Transmission Specification 96

DRAFT <xsl:otherwise> <xsl:value-of select="./link"/> </xsl:otherwise> </xsl:choose> </xsl:if> </TD> </TR> </xsl:for-each> </xsl:when> <xsl:otherwise>None</xsl:otherwise> </xsl:choose> <TR><TD COLSPAN="4"><HR/></TD></TR> <TR ALIGN="LEFT"> <TH COLSPAN="4">Employment</TH> </TR> <xsl:choose> <xsl:when test="employment!=''"> <xsl:for-each select="employment"> <TR VALIGN="TOP"> <TD><xsl:call-template name="format-date"/></TD> <TD COLSPAN="3"> <xsl:if test="./occupation!=''"> <xsl:value-of select="./occupation"/> <xsl:text>, </xsl:text> </xsl:if> <xsl:value-of select="./employerName"/> </TD> </TR> </xsl:for-each> </xsl:when> <xsl:otherwise>Unknown</xsl:otherwise> </xsl:choose> <TR><TD COLSPAN="4"><HR/></TD></TR> <TR ALIGN="LEFT"> <TH COLSPAN="4">Residences</TH> </TR> <xsl:choose> <xsl:when test="residence!=''"> <xsl:for-each select="residence"> <TR VALIGN="TOP"> <TD><xsl:call-template name="format-date"/></TD> <TD COLSPAN="3"><xsl:value-of select="./address"/></TD> </TR> </xsl:for-each> </xsl:when> <xsl:otherwise><TR><TD COLSPAN="4">Unknown</TD></TR></xsl:otherwise> </xsl:choose> <TR><TD COLSPAN="4"><HR/></TD></TR> <TR ALIGN="LEFT"> <TH COLSPAN="4">Offender Caveats, Notices, and Comments</TH> </TR>

Interstate Criminal History Transmission Specification 97

DRAFT <TR VALIGN="TOP"> <TD COLSPAN="4"> <xsl:choose> <xsl:when test="cautionInfo!= '' or offenderNoticeInfo!='' or commentsInfo!=''"> <xsl:if test="cautionInfo!=''"> <xsl:for-each select="cautionInfo"> <xsl:if test="position()>1"><BR/></xsl:if> <xsl:if test="state!=''"> (<xsl:value-of select="state"/>) <xsl:text> </xsl:text> </xsl:if> <xsl:value-of select="caution"/> <xsl:text> </xsl:text> (<xsl:call-template name="format-date"/>) </xsl:for-each> </xsl:if> <xsl:if test="offenderNoticeInfo!=''"> <xsl:for-each select="offenderNoticeInfo"> <xsl:if test="position()>1 or ../cautionInfo!=''"> <BR/> </xsl:if> (<xsl:value-of select="state"/>) <xsl:text> </xsl:text> <xsl:choose> <xsl:when test="offenderNotice!=''"> <xsl:value-of select="offenderNotice"/> </xsl:when> <xsl:otherwise> <xsl:text>Index </xsl:text> <xsl:value-of select="index"/> </xsl:otherwise> </xsl:choose> </xsl:for-each> </xsl:if> <xsl:if test="commentsInfo!=''"> <xsl:for-each select="commentsInfo"> <xsl:if test="position()>1 or ../offenderNoticeInfo!='' or ../cautionInfo!=''"> <BR/> </xsl:if> (<xsl:value-of select="state"/>) <xsl:text> </xsl:text> <xsl:value-of select="comments"/> </xsl:for-each> </xsl:if> </xsl:when> <xsl:otherwise>None</xsl:otherwise> </xsl:choose> </TD> </TR> </TABLE> </BLOCKQUOTE> <xsl:call-template name="navigation-bar"/> </xsl:template>

Interstate Criminal History Transmission Specification 98

DRAFT <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- cycle --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- This template controls formatting of information from cycle elements. It is called from the /rapSheet template. --> <xsl:template name="cycle"> <BLOCKQUOTE> <TABLE BORDER="0" CELLPADDING="2" WIDTH="90%"> <xsl:for-each select="cycle"> <xsl:sort select="earliestDate"/> <TR VALIGN="TOP"> <TD COLSPAN="4"> <xsl:if test="position()>1"> <HR/> </xsl:if> <H3> <xsl:text>Arrest Cycle Tracking Number </xsl:text> <xsl:value-of select="trackingNumber"/> </H3> </TD> </TR> <xsl:call-template name="arrest"/> <TR><TD COLSPAN="4"><HR/></TD></TR> <xsl:for-each select="prosecutorDisposition"> <xsl:call-template name="prosecutorDisposition"/> </xsl:for-each> <!-- prosecutorDisposition --> <TR><TD COLSPAN="4"><HR/></TD></TR> <xsl:for-each select="courtDisposition"> <xsl:call-template name="courtDisposition"/> </xsl:for-each> <!-- courtDisposition --> <TR><TD COLSPAN="4"><HR/></TD></TR> <xsl:for-each select="sentencing"> <xsl:choose> <xsl:when test="position()=1"> <TR ALIGN="LEFT"> <TD COLSPAN="4"><H3>Sentencing</H3></TD> </TR> </xsl:when> <xsl:otherwise> <TR ALIGN="LEFT"><TD COLSPAN="4"><BR/></TD></TR> </xsl:otherwise> </xsl:choose> <xsl:call-template name="sentencing"/> </xsl:for-each> <!-- sentencing --> <TR><TD COLSPAN="4"><HR/></TD></TR> <xsl:for-each select="corrections">

Interstate Criminal History Transmission Specification 99

DRAFT <xsl:choose> <xsl:when test="position()=1"> <TR ALIGN="LEFT"> <TD COLSPAN="4"><H3>Corrections</H3></TD> </TR> </xsl:when> <xsl:otherwise> <TR ALIGN="LEFT"><TD COLSPAN="4"><BR/></TD></TR> </xsl:otherwise> </xsl:choose> <xsl:call-template name="corrections"/> </xsl:for-each> <!-- corrections --> </xsl:for-each> <!-- cycle --> </TABLE> </BLOCKQUOTE> <xsl:call-template name="navigation-bar"/> </xsl:template> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- format-severity --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- This template formats the severity codes into full words. --> <xsl:template name="format-severity"> <xsl:param name="severity" select="./severity"/> <xsl:choose> <xsl:when test="$severity!=''"> <xsl:choose> <xsl:when test="$severity='L'"> <xsl:text>Local Ordinance</xsl:text> </xsl:when> <xsl:when test="$severity='M'"> <xsl:text>Misdemeanor</xsl:text> </xsl:when> <xsl:when test="$severity='F'"> <xsl:text>Felony</xsl:text> </xsl:when> <xsl:when test="$severity='O'"> <xsl:text>Other</xsl:text> </xsl:when> <xsl:when test="$severity='U'"> <xsl:text>Unknown</xsl:text> </xsl:when> <xsl:otherwise> <xsl:value-of select="$severity"/> </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:otherwise> (Missing) </xsl:otherwise> </xsl:choose>

Interstate Criminal History Transmission Specification 100

DRAFT </xsl:template> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- arrest --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- This template formats the arrest information including charges. It presumes that a table with four columns is currently open. --> <xsl:template name="arrest"> <TR ALIGN="LEFT"> <TD COLSPAN="4"><H3>Arrest</H3></TD> </TR> <TR VALIGN="TOP"> <TD><STRONG>Arrest Agency</STRONG></TD> <TD COLSPAN="3"> <xsl:if test="arrest/agencyORI!=''"> <xsl:value-of select="arrest/agencyORI"/> </xsl:if> <xsl:if test="arrest/agencyName!=''"> <xsl:if test="arrest/agencyORI!=''"> <xsl:text> </xsl:text> </xsl:if> <xsl:value-of select="arrest/agencyName"/> </xsl:if> </TD> </TR> <TR> <TD><STRONG>Arrest Name</STRONG></TD> <TD COLSPAN="3"> <xsl:call-template name="format-subjectName"> <xsl:with-param name="subject" select="./arrest/subjectName"/> </xsl:call-template> </TD> </TR> <TR ALIGN="LEFT"> <TH WIDTH="25%">Arrest Date</TH> <TH WIDTH="25%">Arrest Type</TH> <TH WIDTH="25%">Arrest Case Number</TH> <TH WIDTH="25%">Offender Id</TH> </TR> <TR> <TD> <xsl:call-template name="format-date"> <xsl:with-param name="date" select="./arrest/date"/> </xsl:call-template> </TD> <xsl:choose> <xsl:when test="arrest/type!=''"> <TD><xsl:value-of select="arrest/type"/></TD> </xsl:when> <xsl:otherwise> <TD>Unknown</TD> </xsl:otherwise> </xsl:choose>

Interstate Criminal History Transmission Specification 101

DRAFT <xsl:choose> <xsl:when test="arrest/arrestCaseNumber!=''"> <TD><xsl:value-of select="arrest/arrestCaseNumber"/></TD> </xsl:when> <xsl:otherwise> <TD>Unknown</TD> </xsl:otherwise> </xsl:choose> <xsl:choose> <xsl:when test="arrest/offenderId!=''"> <TD><xsl:value-of select="arrest/offenderId"/></TD> </xsl:when> <xsl:otherwise> <TD>Unknown</TD> </xsl:otherwise> </xsl:choose> </TR> <xsl:if test="arrest/comments!=''"> <TR VALIGN="TOP"> <TD><STRONG>Comments</STRONG></TD> <TD COLSPAN="3"><xsl:value-of select="arrest/comments"/></TD> </TR> </xsl:if> <TR><TD COLSPAN="4"><BR/></TD></TR> <TR ALIGN="LEFT"> <TD COLSPAN="4"><H3>Charges</H3></TD> </TR> <xsl:for-each select="arrest/arrestCharge"> <xsl:if test="position()>1"> <TR><TD COLSPAN="4"><BR/></TD></TR> </xsl:if> <TR ALIGN="LEFT"> <TH WIDTH="25%">Sequence Number</TH> <TH WIDTH="25%">Charge Case Number</TH> <TH WIDTH="25%">Offense Date</TH> <TH WIDTH="25%">NCIC Code</TH> </TR> <TR> <xsl:choose> <xsl:when test="arrestChargeSequence!=''"> <TD><xsl:value-of select="arrestChargeSequence"/></TD> </xsl:when> <xsl:otherwise> <TD>None</TD> </xsl:otherwise> </xsl:choose> <xsl:choose> <xsl:when test="chargeCaseNumber!=''"> <TD><xsl:value-of select="chargeCaseNumber"/></TD> </xsl:when> <xsl:otherwise> <TD>None</TD> </xsl:otherwise> </xsl:choose> <TD>

Interstate Criminal History Transmission Specification 102

DRAFT <xsl:call-template name="format-date"> <xsl:with-param name="date" select="offenseDate"/> </xsl:call-template> </TD> <xsl:choose> <xsl:when test="ncicCode!=''"> <TD><xsl:value-of select="ncicCode"/></TD> </xsl:when> <xsl:otherwise> <TD>Unknown</TD> </xsl:otherwise> </xsl:choose> </TR> <TR> <TD><STRONG>Charge</STRONG></TD> <TD COLSPAN="3"> <xsl:choose> <xsl:when test="literal!=''"> <xsl:value-of select="literal"/> </xsl:when> <xsl:otherwise>Missing</xsl:otherwise> </xsl:choose> </TD> </TR> <TR ALIGN="LEFT"> <TH WIDTH="25%">Statute</TH> <TH WIDTH="25%">Offense Code</TH> <TH WIDTH="25%">Counts</TH> <TH WIDTH="25%">Severity</TH> </TR> <TR> <xsl:choose> <xsl:when test="statute!=''"> <TD><xsl:value-of select="statute"/></TD> </xsl:when> <xsl:otherwise> <TD>Unknown</TD> </xsl:otherwise> </xsl:choose> <xsl:choose> <xsl:when test="offenseCode!=''"> <TD><xsl:value-of select="offenseCode"/></TD> </xsl:when> <xsl:otherwise> <TD>Unknown</TD> </xsl:otherwise> </xsl:choose> <xsl:choose> <xsl:when test="counts!=''"> <TD><xsl:value-of select="counts"/></TD> </xsl:when> <xsl:otherwise> <TD>Unknown</TD> </xsl:otherwise> </xsl:choose> <TD><xsl:call-template name="format-severity"/></TD>

Interstate Criminal History Transmission Specification 103

DRAFT </TR> <xsl:if test="actionLiteral!=''"> <TR> <TD><STRONG>Action</STRONG></TD> <TD COLSPAN="3"><xsl:value-of select="actionLiteral"/></TD> </TR> <TR> <TD><STRONG>Action Date</STRONG></TD> <TD> <xsl:call-template name="format-date"> <xsl:with-param name="date" select="actionDate"/> </xsl:call-template> </TD> </TR> </xsl:if> <xsl:if test="comments!=''"> <TR VALIGN="TOP"> <TD><STRONG>Comments</STRONG></TD> <TD COLSPAN="3"><xsl:value-of select="comments"/></TD> </TR> </xsl:if> </xsl:for-each> <!-- arrestCharge --> </xsl:template> <!-- arrest --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- prosecutorDisposition --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- This template formats the prosecutor disposition information. It presumes that a table with four columns is currently open. --> <xsl:template name="prosecutorDisposition"> <TR ALIGN="LEFT"> <TD COLSPAN="4"><H3>Prosecutor Disposition</H3></TD> </TR> <TR VALIGN="TOP"> <TD><STRONG>Prosecuting Agency</STRONG></TD> <TD COLSPAN="3"> <xsl:if test="agencyORI!=''"> <xsl:value-of select="agencyORI"/> </xsl:if> <xsl:if test="agencyName!=''"> <xsl:if test="agencyORI!=''"> <xsl:text> </xsl:text> </xsl:if> <xsl:value-of select="agencyName"/> </xsl:if> </TD> </TR> <TR> <TD><STRONG>Prosecution Name</STRONG></TD>

Interstate Criminal History Transmission Specification 104

DRAFT <TD COLSPAN="3"> <xsl:call-template name="format-subjectName"> <xsl:with-param name="subject" select="./subjectName"/> </xsl:call-template> </TD> </TR> <xsl:if test="prosecutorCaseNumber!=''"> <TR> <TD><STRONG>Prosecutor Case Number</STRONG></TD> <TD COLSPAN="3"><xsl:value-of select="prosecutorCaseNumber"/></TD> </TR> </xsl:if> <TR><TD COLSPAN="4"><BR/></TD></TR> <TR ALIGN="LEFT"> <TD COLSPAN="4"><H3>Charges</H3></TD> </TR> <xsl:for-each select="prosecutorCharge"> <xsl:if test="position()>1"> <TR><TD COLSPAN="4"><BR/></TD></TR> </xsl:if> <TR ALIGN="LEFT"> <TH COLSPAN="2">Arrest Charge Sequence Number</TH> <TH>Offense Date</TH> <TH>NCIC Code</TH> </TR> <TR> <xsl:choose> <xsl:when test="arrestChargeSequence!=''"> <TD COLSPAN="2"><xsl:value-of select="arrestChargeSequence"/></TD> </xsl:when> <xsl:otherwise> <TD>None</TD> </xsl:otherwise> </xsl:choose> <TD> <xsl:call-template name="format-date"> <xsl:with-param name="date" select="offenseDate"/> </xsl:call-template> </TD> <xsl:choose> <xsl:when test="ncicCode!=''"> <TD><xsl:value-of select="ncicCode"/></TD> </xsl:when> <xsl:otherwise> <TD>Unknown</TD> </xsl:otherwise> </xsl:choose> </TR> <TR> <TD><STRONG>Prosecution Charge</STRONG></TD> <TD COLSPAN="3"> <xsl:choose> <xsl:when test="literal!=''">

Interstate Criminal History Transmission Specification 105

DRAFT <xsl:value-of select="literal"/> </xsl:when> <xsl:otherwise>Missing</xsl:otherwise> </xsl:choose> </TD> </TR> <TR ALIGN="LEFT"> <TH WIDTH="25%">Statute</TH> <TH WIDTH="25%">Offense Code</TH> <TH WIDTH="25%">Counts</TH> <TH WIDTH="25%">Severity</TH> </TR> <TR> <xsl:choose> <xsl:when test="statute!=''"> <TD><xsl:value-of select="statute"/></TD> </xsl:when> <xsl:otherwise> <TD>Unknown</TD> </xsl:otherwise> </xsl:choose> <xsl:choose> <xsl:when test="offenseCode!=''"> <TD><xsl:value-of select="offenseCode"/></TD> </xsl:when> <xsl:otherwise> <TD>Unknown</TD> </xsl:otherwise> </xsl:choose> <xsl:choose> <xsl:when test="counts!=''"> <TD><xsl:value-of select="counts"/></TD> </xsl:when> <xsl:otherwise> <TD>Unknown</TD> </xsl:otherwise> </xsl:choose> <TD><xsl:call-template name="format-severity"/></TD> </TR> <TR> <TD><STRONG>Action</STRONG></TD> <TD COLSPAN="3"><xsl:value-of select="actionLiteral"/></TD> </TR> <TR> <TD><STRONG>Action Date</STRONG></TD> <TD> <xsl:call-template name="format-date"> <xsl:with-param name="date" select="actionDate"/> </xsl:call-template> </TD> </TR> <xsl:if test="comments!=''"> <TR VALIGN="TOP"> <TD><STRONG>Comments</STRONG></TD>

Interstate Criminal History Transmission Specification 106

DRAFT <TD COLSPAN="3"><xsl:value-of select="comments"/></TD> </TR> </xsl:if> </xsl:for-each> <!-- prosecutorCharge --> </xsl:template> <!-- prosecutorDisposition --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- courtDisposition --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- This template formats the court disposition information. It presumes that a table with four columns is currently open. --> <xsl:template name="courtDisposition"> <TR ALIGN="LEFT"> <TD COLSPAN="4"><H3>Court Disposition</H3></TD> </TR> <TR VALIGN="TOP"> <TD><STRONG>Court</STRONG></TD> <TD COLSPAN="3"> <xsl:if test="agencyORI!=''"> <xsl:value-of select="agencyORI"/> </xsl:if> <xsl:if test="agencyName!=''"> <xsl:if test="agencyORI!=''"> <xsl:text> </xsl:text> </xsl:if> <xsl:value-of select="agencyName"/> </xsl:if> </TD> </TR> <TR> <TD><STRONG>Subject Name</STRONG></TD> <TD COLSPAN="3"> <xsl:call-template name="format-subjectName"> <xsl:with-param name="subject" select="./subjectName"/> </xsl:call-template> </TD> </TR> <xsl:if test="courtCaseNumber!=''"> <TR> <TD><STRONG>Court Case Number</STRONG></TD> <TD COLSPAN="3"><xsl:value-of select="courtCaseNumber"/></TD> </TR> </xsl:if> <TR><TD COLSPAN="4"><BR/></TD></TR> <TR ALIGN="LEFT"> <TD COLSPAN="4"><H3>Charges</H3></TD> </TR>

Interstate Criminal History Transmission Specification 107

DRAFT <xsl:for-each select="courtCharge"> <xsl:if test="position()>1"> <TR><TD COLSPAN="4"><BR/></TD></TR> </xsl:if> <TR ALIGN="LEFT"> <TH COLSPAN="2">Arrest Charge Sequence Number</TH> <TH>Offense Date</TH> <TH>NCIC Code</TH> </TR> <TR> <xsl:choose> <xsl:when test="arrestChargeSequence!=''"> <TD COLSPAN="2"><xsl:value-of select="arrestChargeSequence"/></TD> </xsl:when> <xsl:otherwise> <TD>None</TD> </xsl:otherwise> </xsl:choose> <TD> <xsl:call-template name="format-date"> <xsl:with-param name="date" select="offenseDate"/> </xsl:call-template> </TD> <xsl:choose> <xsl:when test="ncicCode!=''"> <TD><xsl:value-of select="ncicCode"/></TD> </xsl:when> <xsl:otherwise> <TD>Unknown</TD> </xsl:otherwise> </xsl:choose> </TR> <TR> <TD><STRONG>Court Charge</STRONG></TD> <TD COLSPAN="3"> <xsl:choose> <xsl:when test="literal!=''"> <xsl:value-of select="literal"/> </xsl:when> <xsl:otherwise>Missing</xsl:otherwise> </xsl:choose> </TD> </TR> <TR ALIGN="LEFT"> <TH WIDTH="25%">Statute</TH> <TH WIDTH="25%">Offense Code</TH> <TH WIDTH="25%">Counts</TH> <TH WIDTH="25%">Severity</TH> </TR> <TR> <xsl:choose> <xsl:when test="statute!=''"> <TD><xsl:value-of select="statute"/></TD> </xsl:when> <xsl:otherwise> <TD>Unknown</TD>

Interstate Criminal History Transmission Specification 108

DRAFT </xsl:otherwise> </xsl:choose> <xsl:choose> <xsl:when test="offenseCode!=''"> <TD><xsl:value-of select="offenseCode"/></TD> </xsl:when> <xsl:otherwise> <TD>Unknown</TD> </xsl:otherwise> </xsl:choose> <xsl:choose> <xsl:when test="counts!=''"> <TD><xsl:value-of select="counts"/></TD> </xsl:when> <xsl:otherwise> <TD>Unknown</TD> </xsl:otherwise> </xsl:choose> <TD><xsl:call-template name="format-severity"/></TD> </TR> <TR> <TD><STRONG>Action</STRONG></TD> <TD COLSPAN="3"> (<xsl:value-of select="actionType"/>) <xsl:text> </xsl:text> <xsl:value-of select="actionLiteral"/> </TD> </TR> <TR> <TD><STRONG>Action Date</STRONG></TD> <TD> <xsl:call-template name="format-date"> <xsl:with-param name="date" select="actionDate"/> </xsl:call-template> </TD> </TR> <xsl:if test="comments!=''"> <TR VALIGN="TOP"> <TD><STRONG>Comments</STRONG></TD> <TD COLSPAN="3"><xsl:value-of select="comments"/></TD> </TR> </xsl:if> </xsl:for-each> <!-- courtCharge --> </xsl:template> <!-- courtDisposition --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- sentencing --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- This template formats the sentencing information. It presumes that a table with four columns is currently open. -->

Interstate Criminal History Transmission Specification 109

DRAFT <xsl:template name="sentencing"> <TR VALIGN="TOP"> <TD><STRONG>Sentencing Agency</STRONG></TD> <TD COLSPAN="3"> <xsl:if test="agencyORI!=''"> <xsl:value-of select="agencyORI"/> </xsl:if> <xsl:if test="agencyName!=''"> <xsl:if test="agencyORI!=''"> <xsl:text> </xsl:text> </xsl:if> <xsl:value-of select="agencyName"/> </xsl:if> </TD> </TR> <xsl:if test="courtCaseNumber!=''"> <TR> <TD><STRONG>Court Case Number</STRONG></TD> <TD COLSPAN="3"><xsl:value-of select="courtCaseNumber"/></TD> </TR> </xsl:if> <TR> <TD COLSPAN="2"><STRONG>Arrest Charge Sequence Number</STRONG></TD> <TD COLSPAN="2"><xsl:value-of select="arrestChargeSequence"/></TD> </TR> <TR> <TD><STRONG>Sentence</STRONG></TD> <TD COLSPAN="3"> <xsl:value-of select="sentence"/> </TD> </TR> <TR> <TD><STRONG>Sentence Date</STRONG></TD> <TD><xsl:call-template name="format-date"/></TD> </TR> <xsl:if test="comments!=''"> <TR VALIGN="TOP"> <TD><STRONG>Comments</STRONG></TD> <TD COLSPAN="3"><xsl:value-of select="comments"/></TD> </TR> </xsl:if> </xsl:template> <!-- sentencing --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- corrections --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- This template formats the corrections information. It presumes that a table with four columns is currently open. -->

Interstate Criminal History Transmission Specification 110

DRAFT <xsl:template name="corrections"> <TR VALIGN="TOP"> <TD><STRONG>Corrections Agency</STRONG></TD> <TD COLSPAN="3"> <xsl:if test="agencyORI!=''"> <xsl:value-of select="agencyORI"/> </xsl:if> <xsl:if test="agencyName!=''"> <xsl:if test="agencyORI!=''"> <xsl:text> </xsl:text> </xsl:if> <xsl:value-of select="agencyName"/> </xsl:if> </TD> </TR> <TR> <TD><STRONG>Corrections Name</STRONG></TD> <TD COLSPAN="3"> <xsl:call-template name="format-subjectName"> <xsl:with-param name="subject" select="./subjectName"/> </xsl:call-template> </TD> </TR> <xsl:if test="correctionalNumber!=''"> <TR> <TD><STRONG>Corrections Number</STRONG></TD> <TD COLSPAN="3"><xsl:value-of select="correctionalNumber"/></TD> </TR> </xsl:if> <xsl:if test="courtCaseNumber!=''"> <TR> <TD><STRONG>Court Case Number</STRONG></TD> <TD COLSPAN="3"><xsl:value-of select="courtCaseNumber"/></TD> </TR> </xsl:if> <TR> <TD><STRONG>Corrections Action</STRONG></TD> <TD COLSPAN="3"> <xsl:value-of select="actionLiteral"/> </TD> </TR> <TR> <TD><STRONG>Action Date</STRONG></TD> <TD> <xsl:call-template name="format-date"> <xsl:with-param name="date" select="actionDate"/> </xsl:call-template> </TD> </TR> <xsl:if test="comments!=''"> <TR VALIGN="TOP">

Interstate Criminal History Transmission Specification 111

DRAFT <TD><STRONG>Comments</STRONG></TD> <TD COLSPAN="3"><xsl:value-of select="comments"/></TD> </TR> </xsl:if> </xsl:template> <!-- corrections --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- summary --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- This template controls formatting of information from the summary element. It is called from the /rapSheet template. If the summary element is not present, this template is not used and the generate-template is called instead. --> <xsl:template match="summary"> <BLOCKQUOTE> <TABLE BORDER="0" CELLPADDING="2" WIDTH="90%"> <xsl:for-each select="cautionInfo"> <TR VALIGN="TOP"> <TD><STRONG>Caution</STRONG></TD> <TD><xsl:call-template name="format-date"/></TD> <TD><xsl:value-of select="caution"/></TD> </TR> </xsl:for-each> <TR> <xsl:if test="iffsDisqualified!=''"> <TD><STRONG>IFFS Disqualified</STRONG></TD> <TD COLSPAN="2"> <xsl:call-template name="format-severity"> <xsl:with-param name="severity" select="iffsDisqualified"/> </xsl:call-template> </TD> </xsl:if> </TR> <TR> <TD><STRONG>Total Arrests</STRONG></TD> <TD COLSPAN="2"> <xsl:value-of select="totalArrests"/> </TD> </TR> <TR VALIGN="TOP"> <TD WIDTH="25%"><STRONG>Total Charges</STRONG></TD> <TD WIDTH="25%">Felonies<BR/>Misdemeanors<BR/> Local Ordinances<BR/>Other<BR/>Unknown</TD> <TD WIDTH="50%"> <xsl:value-of select="totalCharges/felony"/><BR/> <xsl:value-of select="totalCharges/misdemeanor"/><BR/> <xsl:value-of select="totalCharges/localOrdinance"/><BR/> <xsl:value-of select="totalCharges/other"/><BR/> <xsl:value-of select="totalCharges/unknown"/> </TD> </TR> <TR VALIGN="TOP">

Interstate Criminal History Transmission Specification 112

DRAFT <TD WIDTH="25%"><STRONG>Total Convictions</STRONG></TD> <TD WIDTH="25%">Felonies<BR/>Misdemeanors<BR/> Local Ordinances<BR/>Other<BR/>Unknown</TD> <TD WIDTH="50%"> <xsl:value-of select="totalConvictions/felony"/><BR/> <xsl:value-of select="totalConvictions/misdemeanor"/><BR/> <xsl:value-of select="totalConvictions/localOrdinance"/><BR/> <xsl:value-of select="totalConvictions/other"/><BR/> <xsl:value-of select="totalConvictions/unknown"/> </TD> </TR> <TR> <TD WIDTH="25%"><STRONG>Failures to Appear</STRONG></TD> <TD COLSPAN="2"> <xsl:value-of select="totalFailuresToAppear"/> </TD> </TR> <TR> <TD><STRONG>Total Revocations</STRONG></TD> <TD COLSPAN="2"> <xsl:value-of select="totalRevocations"/> </TD> </TR> <TR> <TD><STRONG>First Event Date</STRONG></TD> <TD COLSPAN="2"> <xsl:call-template name="format-date"> <xsl:with-param name="date" select="firstEventDate"/> </xsl:call-template> </TD> </TR> <TR> <TD><STRONG>Last Event Date</STRONG></TD> <TD COLSPAN="2"> <xsl:call-template name="format-date"> <xsl:with-param name="date" select="lastEventDate"/> </xsl:call-template> </TD> </TR> </TABLE> </BLOCKQUOTE> <xsl:call-template name="navigation-bar"/> </xsl:template> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- count-items --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- This template generates a count of numeric items from a node set that fall within a given (inclusive) range [low, high]. --> <xsl:template name="count-items"> <xsl:param name="nodes" select="."/> <xsl:param name="low" select="0"/>

Interstate Criminal History Transmission Specification 113

DRAFT <xsl:param name="high" select="0"/> <xsl:choose> <xsl:when test="$nodes"> <xsl:variable name="this" select="$nodes[1]&gt;=$low and $nodes[1]&lt;=$high"/> <xsl:variable name="rest"> <xsl:call-template name="count-items"> <xsl:with-param name="nodes" select="$nodes[position()!=1]"/> <xsl:with-param name="low" select="$low"/> <xsl:with-param name="high" select="$high"/> </xsl:call-template> </xsl:variable> <xsl:value-of select="number($this) + $rest"/> </xsl:when> <xsl:otherwise>0</xsl:otherwise> </xsl:choose> </xsl:template> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- count-charges --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- This template generates a count of charges from a node set that have actionType=310 and the given severity. --> <xsl:template name="count-charges"> <xsl:param name="nodes" select="."/> <xsl:param name="severity" select="F"/> <xsl:choose> <xsl:when test="$nodes"> <xsl:variable name="this"> <xsl:value-of select="number($nodes[1]/severity=$severity)"/> </xsl:variable> <xsl:variable name="rest"> <xsl:call-template name="count-charges"> <xsl:with-param name="nodes" select="$nodes[position()!=1]"/> <xsl:with-param name="severity" select="$severity"/> </xsl:call-template> </xsl:variable> <xsl:value-of select="$this + $rest"/> </xsl:when> <xsl:otherwise>0</xsl:otherwise> </xsl:choose> </xsl:template> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- count-convictions --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- This template generates a count of convictions from a node set that have actionType=310 and the given severity. --> <xsl:template name="count-convictions"> <xsl:param name="nodes" select="."/>

Interstate Criminal History Transmission Specification 114

DRAFT <xsl:param name="severity" select="F"/> <xsl:choose> <xsl:when test="$nodes"> <xsl:variable name="this"> <xsl:value-of select="number($nodes[1]/severity=$severity and $nodes[1]/actionType='310')"/> </xsl:variable> <xsl:variable name="rest"> <xsl:call-template name="count-convictions"> <xsl:with-param name="nodes" select="$nodes[position()!=1]"/> <xsl:with-param name="severity" select="$severity"/> </xsl:call-template> </xsl:variable> <xsl:value-of select="$this + $rest"/> </xsl:when> <xsl:otherwise>0</xsl:otherwise> </xsl:choose> </xsl:template> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- generate-summary --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- This template generates summary information from other elements. It is called from the /rapSheet template when the summary element is not included in the rapSheet. --> <xsl:template name="generate-summary"> <BLOCKQUOTE> <TABLE BORDER="0" CELLPADDING="2" WIDTH="90%"> <xsl:for-each select="identification/caution"> <TR VALIGN="TOP"> <TD><STRONG>Caution</STRONG></TD> <TD><xsl:call-template name="format-date"/></TD> <TD>(<xsl:value-of select="state"/>) <xsl:value-of select="text"/></TD> </TR> </xsl:for-each> <TR> <xsl:if test="identification/fifsSeverity!=''"> <TD><STRONG>IFFS Disqualified</STRONG></TD> <TD COLSPAN="2"> <xsl:call-template name="format-severity"> <xsl:with-param name="severity" select="identification/fifsSeverity"/> </xsl:call-template> </TD> </xsl:if> </TR> <TR> <TD><STRONG>Total Arrests</STRONG></TD> <TD COLSPAN="2"> <xsl:value-of select="count(cycle/arrest)"/> </TD> </TR>

Interstate Criminal History Transmission Specification 115

DRAFT <TR VALIGN="TOP"> <TD WIDTH="25%"><STRONG>Total Charges</STRONG></TD> <TD WIDTH="25%">Felonies<BR/>Misdemeanors<BR/> Local Ordinances<BR/>Other<BR/>Unknown</TD> <TD WIDTH="50%"> <xsl:call-template name="count-charges"> <xsl:with-param name="nodes" select="cycle/arrest/arrestCharge"/> <xsl:with-param name="severity" select="'F'"/> </xsl:call-template><BR/> <xsl:call-template name="count-charges"> <xsl:with-param name="nodes" select="cycle/arrest/arrestCharge"/> <xsl:with-param name="severity" select="'M'"/> </xsl:call-template><BR/> <xsl:call-template name="count-charges"> <xsl:with-param name="nodes" select="cycle/arrest/arrestCharge"/> <xsl:with-param name="severity" select="'L'"/> </xsl:call-template><BR/> <xsl:call-template name="count-charges"> <xsl:with-param name="nodes" select="cycle/arrest/arrestCharge"/> <xsl:with-param name="severity" select="'O'"/> </xsl:call-template><BR/> <xsl:call-template name="count-charges"> <xsl:with-param name="nodes" select="cycle/arrest/arrestCharge"/> <xsl:with-param name="severity" select="'U'"/> </xsl:call-template> </TD> </TR> <TR VALIGN="TOP"> <TD WIDTH="25%"><STRONG>Total Convictions</STRONG></TD> <TD WIDTH="25%">Felonies<BR/>Misdemeanors<BR/> Local Ordinances<BR/>Other<BR/>Unknown</TD> <TD WIDTH="50%"> <xsl:call-template name="count-convictions"> <xsl:with-param name="nodes" select="cycle/courtDisposition/courtCharge"/> <xsl:with-param name="severity" select="'F'"/> </xsl:call-template><BR/> <xsl:call-template name="count-convictions"> <xsl:with-param name="nodes" select="cycle/courtDisposition/courtCharge"/> <xsl:with-param name="severity" select="'M'"/> </xsl:call-template><BR/> <xsl:call-template name="count-convictions"> <xsl:with-param name="nodes" select="cycle/courtDisposition/courtCharge"/> <xsl:with-param name="severity" select="'L'"/> </xsl:call-template><BR/> <xsl:call-template name="count-convictions"> <xsl:with-param name="nodes" select="cycle/courtDisposition/courtCharge"/> <xsl:with-param name="severity" select="'O'"/> </xsl:call-template><BR/> <xsl:call-template name="count-convictions">

Interstate Criminal History Transmission Specification 116

DRAFT <xsl:with-param name="nodes" select="cycle/courtDisposition/courtCharge"/> <xsl:with-param name="severity" select="'U'"/> </xsl:call-template> </TD> </TR> <TR> <TD WIDTH="25%"><STRONG>Failures to Appear</STRONG></TD> <TD COLSPAN="2"> <xsl:call-template name="count-items"> <xsl:with-param name="nodes" select="cycle/courtDisposition/courtCharge/actionType"/> <xsl:with-param name="low" select="401"/> <xsl:with-param name="high" select="401"/> </xsl:call-template> </TD> </TR> <TR> <TD><STRONG>Total Revocations</STRONG></TD> <TD COLSPAN="2"> <xsl:call-template name="count-items"> <xsl:with-param name="nodes" select="cycle/courtDisposition/courtCharge/actionType"/> <xsl:with-param name="low" select="501"/> <xsl:with-param name="high" select="504"/> </xsl:call-template> </TD> </TR> <TR> <TD><STRONG>Last Event Date</STRONG></TD> <TD COLSPAN="2"> <xsl:for-each select="cycle"> <xsl:sort select="earliestDate"/> <xsl:if test="position()=1"> <xsl:call-template name="format-date"> <xsl:with-param name="date" select="earliestDate"/> </xsl:call-template> </xsl:if> </xsl:for-each> </TD> </TR> </TABLE> </BLOCKQUOTE> <xsl:call-template name="navigation-bar"/> </xsl:template> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- index --> <!-- - - - - - - - - - - - - - - - -+- - - - - - - - - - - - - - - - - --> <!-- This template controls formatting of information from index elements. It is called from the /rapSheet template. -->

Interstate Criminal History Transmission Specification 117

DRAFT <xsl:template match="agencyIndex"> <BLOCKQUOTE> <TABLE BORDER="0" CELLPADDING="0" WIDTH="90%"> <xsl:for-each select="agencyInfo"> <xsl:if test="position()>1"> <TR><TD COLSPAN="2"><BR/></TD></TR> </xsl:if> <TR> <TD><STRONG>Agency</STRONG></TD> <TD> <xsl:if test="agencyORI!=''"> <xsl:value-of select="agencyORI"/> <xsl:text> </xsl:text> </xsl:if> <xsl:if test="agencyName!=''"> <xsl:value-of select="agencyName"/> </xsl:if> </TD> </TR> <TR> <xsl:if test="department!=''"> <TD><STRONG>Department</STRONG></TD> <TD> <xsl:value-of select="department"/> </TD> </xsl:if> </TR> <TR> <xsl:if test="phone!=''"> <TD><STRONG>Phone Number</STRONG></TD> <TD> <xsl:value-of select="phone"/> </TD> </xsl:if> </TR> <TR> <xsl:if test="fax!=''"> <TD><STRONG>Fax Number</STRONG></TD> <TD> <xsl:value-of select="fax"/> </TD> </xsl:if> </TR> <TR> <xsl:if test="internetEmail!=''"> <TD><STRONG>Internet Email</STRONG></TD> <TD> <xsl:value-of select="internetEmail"/> </TD> </xsl:if> </TR> <TR> <xsl:if test="contactPerson!=''"> <TD><STRONG>Contact Person</STRONG></TD> <TD> <xsl:value-of select="contactPerson"/> </TD>

Interstate Criminal History Transmission Specification 118

DRAFT </xsl:if> </TR> <TR> <xsl:if test="addressInfo/address!=''"> <TD><STRONG>Address</STRONG></TD> <TD> <xsl:value-of select="addressInfo/address"/> </TD> </xsl:if> </TR> <TR> <xsl:if test="addressInfo/buildingName!=''"> <TD><STRONG>Building and Room Number</STRONG></TD> <TD> <xsl:value-of select="addressInfo/buildingName"/> <xsl:if test="addressInfo/roomNumber!=''"> <xsl:text>, Room </xsl:text> <xsl:value-of select="addressInfo/roomNumber"/> </xsl:if> </TD> </xsl:if> </TR> <TR> <xsl:if test="addressInfo/postOfficeBox!=''"> <TD><STRONG>Post Office Box</STRONG></TD> <TD> <xsl:value-of select="addressInfo/postOfficeBox"/> </TD> </xsl:if> </TR> <TR> <xsl:if test="addressInfo/streetNumber!=''"> <TD><STRONG>Street Address</STRONG></TD> <TD> <xsl:value-of select="addressInfo/streetNumber"/> <xsl:text> </xsl:text> <xsl:value-of select="addressInfo/street"/> </TD> </xsl:if> </TR> <TR> <xsl:if test="addressInfo/city!=''"> <TD><STRONG>City, State, Zipcode </STRONG></TD> <TD> <xsl:value-of select="addressInfo/city"/> <xsl:text>, </xsl:text> <xsl:value-of select="addressInfo/state"/> <xsl:text> </xsl:text> <xsl:value-of select="addressInfo/zipcode"/> </TD> </xsl:if> </TR> <TR> <xsl:if test="addressInfo/county!=''"> <TD><STRONG>County</STRONG></TD> <TD> <xsl:value-of select="addressInfo/county"/> </TD>

Interstate Criminal History Transmission Specification 119

DRAFT </xsl:if> </TR> <TR> <xsl:if test="addressInfo/country!=''"> <TD><STRONG>Country</STRONG></TD> <TD> <xsl:value-of select="addressInfo/country"/> </TD> </xsl:if> </TR> <TR> <xsl:if test="addressInfo/foreignPostalCode!=''"> <TD><STRONG>Foreign Postal Code</STRONG></TD> <TD> <xsl:value-of select="addressInfo/foreignPostalCode"/> </TD> </xsl:if> </TR> </xsl:for-each> </TABLE> </BLOCKQUOTE> <xsl:call-template name="navigation-bar"/> </xsl:template> </xsl:stylesheet>

Interstate Criminal History Transmission Specification 120

DRAFT

Appendix D HTML

This appendix shows the result of transforming the example rap sheet of section 5 using the XSLT style sheet of Appendix C.

Interstate Criminal History Transmission Specification 121

DRAFT

Interstate Criminal History Transmission Specification 122

DRAFT

Interstate Criminal History Transmission Specification 123

DRAFT

Interstate Criminal History Transmission Specification 124

DRAFT

Interstate Criminal History Transmission Specification 125

DRAFT

Interstate Criminal History Transmission Specification 126

DRAFT

Interstate Criminal History Transmission Specification 127

DRAFT

Interstate Criminal History Transmission Specification 128

DRAFT

Interstate Criminal History Transmission Specification 129

DRAFT

Interstate Criminal History Transmission Specification 130

DRAFT

Interstate Criminal History Transmission Specification 131

DRAFT

Appendix E Reference Documents

The following documents provide source material upon which this document was based. 1. Data Format for the Interchange of Fingerprint Information, American National Standards

Institute and National Institute for Standards and Technology, ANSI/NIST-ITL -2000. http://www.itl.nist.gov/iad/894.03

2. Interstate Criminal History Transmission Specification, Version 1.01, 1998, Joint Task Force on Rap Sheet Standardization.

3. Increasing the Utility of the Criminal History Record: Report of the National Task Force, Bureau of Justice Statistics, U. S. Department of Justice, NCJ-156922, December 1995.

4. Interstate Identification Index (III) Operational and Technical Manual, August 1994.

5. Extensible Markup Language (XML) 1.0 Specification, http://www.w3.org/TR/REC-xml, including errata at http://www.w3.org/XML/xml-19980210-errata.

6. Extensible Stylesheet Language (XSL), http://www.w3.org/TR/xsl.

7. Extensible Stylesheet Language: Transformations (XSLT), http://www.w3.org/TR/xslt. 8. NIST: American National Standard for Information Systems – Data Format for the

Interchange of Fingerprint Information, ANSI/NIST-CSL-1-1993.13 9. Task Force Report: Increasing the Utility of the Criminal History Record: Report of the

National Task Force, Bureau of Justice Statistics, U.S. Department of Justice, NCJ-156922, December 1995.

10. Interstate Identification Index (III) Operational and Technical Manual, August 1994. 11. EFTS: Electronic Fingerprint Transmission Specification, CJIS-RS-0010, FBI CJIS Division. 12. National Crime Information Center 2000 Code Manual

The following documents contain background and tutorial material.

1. Professional XML, D. Martin, M. Birbeck, M. Kay, B Loesgren, J. Pinnock, S. Livingstone, P. Stark, K. Williams, R. Anderson, S. Mohr, D. Baliles, B. Peat, N. Ozu.

13ANSI/NIST = American National Standards Institute/National Institute of Standards and Technology.

Interstate Criminal History Transmission Specification 132

DRAFT

2. XSLT Programmer’s Reference, Michael Kay, Wrox Press, Ltd., 2000.

3. XSL Concepts and Practical Use, Paul Grosso and Norman Walsh, http://www.nwalsh.com/docs/tutorials/xsl/xsl/slides.html.

4. XML Namespaces, http://www.w3.org/TR/1999/REC-xml-names-19990114.

5. XML Namespaces, James Clark, http://www.jclark.com/xml/xmlns.htm

6. XML Schema Part 0: Primer, W3C Working Draft, http://www.w3.org/TR/2000/WD-xmlschema-0-20000407.

7. XML Schema Part 1: Structures W3C Working Draft, http://www.w3.org/TR/2000/WD-xmlschema-1-20000407.

8. XML Schema Part 2: Datatypes, W3C Working Draft, http://www.w3.org/TR/2000/WD-xmlschema-2-20000407.

Interstate Criminal History Transmission Specification 133

DRAFT

Appendix F Joint Task Force on Rap Sheet Standardization Participants

Chairman: John Loverude+

Illinois State Police

Participants: William Casey* Boston Police Department Gerry Coleman+

Wisconsin Department of Justice

David Gavin** Administration Division, Texas Department of Public Safety Owen M. Greenspan+ SEARCH, the National Consortium for Justice Information and Statistics Tom Hopper+ CJIS Division, Federal Bureau of Investigation Debra M. Jenkins*** U.S. Marshals Service

Mike Lesko+ Texas Department of Public Safety Jim Martin South Carolina Law Enforcement Division

Robert L. Marx

SEARCH, the National Consortium for Justice Information and Statistics

Tim Sweeney+ National Law Enforcement Telecommunications System

FBI Staff Support: Scott S. Phillips+ Jessica Johnston Emmet Rathbun +Indicates current member of JTF * Bill Casey served on the JTF in his capacity as 1st Vice Chair of the FBI CJIS Advisory Policy Board (APB) **David Gavin served on the JTF in his capacity as Chair of the APB ***Debra Jenkins served as a representative of the FBI CJIS Federal Working Group

Interstate Criminal History Transmission Specification 134

DRAFT

Appendix G National Task Force on Increasing the Utility of

the Criminal History Record (1993-1995)

Chairman: Jack Scheidegger Chief, Bureau of Criminal Identification and Information, California Department of Justice

Participants: Kenneth E. Bischoff Director, Administrative Services, Alaska Department of Public Safety Joseph P. Bonino Chairman, Criminal Justice Information Services Advisory Policy Board: Commanding Officer, Records and Identification Division, Los Angeles, California Police Department

Lt. Larry Copley Commanding Officer, Identification Section, Central Records Division, Michigan Department of State Police Patrick J. Doyle Immediate Past Chairman, National Crime Information Center Advisory Policy Board: Director, Division of Criminal Justice Information Systems, Florida Department of Law Enforcement Owen M. Greenspan Deputy Commissioner, New York State Division of Criminal Justice Services Bruce M. Harvey Milwaukee County, Wisconsin Justice System Coordinator

Dr. Sally Hillsman Vice President, Research and Technical Services, National Center for State Courts Robert R. Hole

Deputy District Attorney, Contra Costa County, California Honorable Michael Hutchings

Utah Third Circuit Court Frank Johnstone Section Chief, Technical Services Section, Information Systems and Technology Division, Virginia Department of Criminal Justice Services Carol G. Kaplan Project Monitor, Assistant Deputy Director, Bureau of Justice Statistics, U.S. Department of Justice

Interstate Criminal History Transmission Specification 135

DRAFT George Klier Bureau Chief, Information Services, Norfolk County, Massachusetts Sheriff’s Office David B. Lodge Special Agent-in-Charge, Crystal City Investigative Field Office, Defense Investigative Service, U.S. Department of Defense

Edward J. Loughran Director, Juvenile Justice Project, Robert F. Kennedy Memorial Clifford H. Marshall

Sheriff, Norfolk County, Massachusetts

Jerome E. McElroy Director, New York City Criminal Justice Agency Judy Metz Chief, Correctional Case Records Services, California Department of Corrections

Matthew Myers Undersheriff, Ingham County, Michigan Rosemarie Pifer

Director, Central Records Division, Michigan Department of State Police Emmet A. Rathbun

Unit Chief, Criminal Justice Information Services Division, Federal Bureau of Investigation Anthony L. Stolz Jr. Director, Personnel Investigations Center, Defense Investigative Service, U.S. Department of Defense

Capt. R. Lewis Vass Records Management Officer, Records Management Division, Virginia State Police Lawrence P. Webster Director, Court Technology Programs, National Center for State Courts

Gene Wriggelsworth Sheriff, Ingham County Michigan Gary T. Yancy

District Attorney, Contra Costa County, California Virgil L. Young Jr. Section Chief, Programs Development Section, Criminal Justice Information Services Division, Federal Bureau of Investigation