FAQs
An XML parser is the piece of software that reads XML files and makes the information from those files available to applications and programming languages, usually through a known interface like the DOM. The XML parser is responsible for testing whether a document is well-formed and, if given a DTD or XML schema, it will also check for validity (i.e., it determines if the document follows the rules of the DTD or schema). It is a programming library that improves programmers' access to the contents of an XML document. There are two main categories of XML parsers: Document Object Model (DOM) parsers, and Simple API for XML (SAX) parsers. DOM parsers take the approach of creating an in-memory representation of the XML document, which the developer can then "walk" to find the information desired. SAX parsers take a different approach that does not store the entire document in memory; rather, as elements are encountered in the XML document, an event is generated to inform the programmer's code of the fact. The programmer's code then does whatever is appropriate at that point in the document.
Other tools, like XSLT transform engines and XML-object binding toolkits, are built on top of XML parsers and offer enhanced functionality in processing XML.
All parsers will produce parse errors upon encountering non-well-formed XML. Many parsers will also validate the XML instance against a schema, if one is available. (Often this requires setting an option on the parser before parsing takes place.)
Most development platforms and programming languages have at least one XML parser available. XML parsing capabilities are built-in to the Java and Microsoft .NET platforms. In Java, the programmer can use the default library that ships with the Java 2 Standard Edition (J2SE) environment; alternatively, the programmer can "plug in" any compliant parser, such as the Xerces parser from the Apache Foundation.
The alternative to using a parser is to program the processing of an XML document "by hand" (i.e., by reading the XML text, processing XML tags, etc.) While seemingly an easy task, implementing the full XML specification (in addition to schema validation) is complicated. Absent a very good reason, developers should use an off-the-shelf XML parser.
In the instance when two different sub-schemas are created with the subset generation tool, and data in the XML instances of these schemas is dynamic and manipulated extensively, XMLBeans 1.0.3 should be used for Java-XML Binding. XMLBeans is a great light-weight framework that creates an object model of XML schemas. When a schema is ''compiled,'' the XMLBeans schema compiler generates the source code and classes, as well as schema snippets. By default, the code and classes are stored in packages that are derived using the namespaces provided within the schema, which can be very convenient.
However, there is a major downside. The whole reason for the subset generation tool is to provide a way to create a schema that contains only the types, elements, and attributes that are needed. Which means it is possible, and quite likely, the similar types between schemas will be different. For example, the ArrestType in one schema may contain an ArrestCharge element, where as the ArrestType may not have that element defined in different schema. The typical XSL transformation is not sufficient.
When moving and manipulating data between instances of these two schemas programmatically, driven by rules, JAX-B makes sense (for example, if similar types are defined in the schemas which differ in structure.) The namespace for the classes is the same. At runtime, the Class loader will search the class path for class definitions. When the class loader finds a class definition for the class requested, qualified by its namespace or package name, it loads it into the Java Virtual Machine (JVM) and allows the program to use it. The question is, "Which definition of ArrestType did the loader find?" There are two ways to solve the problem. First, one could generate an XMLBeans model for the entire GJXDM or NIEM, and use that library for deployment at runtime. There are pluses and minuses. The upside: one does not have to worry about having all the methods available at runtime. The object will support all of them. The downside(s): Who wants to see ''all'' of the available methods while developing the code? And, there is a bit of a performance hit as the JVM scans the library for ClassDefs.
The best way to solve the problem is to use the facility within XMLBeans to map target namespaces to Java packages. There is one more issue that is a little harder to work around. XMLBeans generates class files with the same name as the types and elements defined within the schema. So, reading the code can be a little challenging. The best suggestion here is to make your variable names meaningful and descriptive, which is a best practice anyway.
XML documents allow the use of a standard which makes it easier to produce, receive, and archive any kind of information across different hardware, software, and programming languages. Generally, electronic justice data exchange is accomplished via documents, queries, responses, and other messages or transactions. In XML Schema terminology, all of these are considered XML documents.
In the GJXDM and NIEM, XML documents refer to standard business exchange containers (i.e. Rap Sheet, Arrest Warrant, or Incident Report) that are usually persistent. This means that they are archived, maintained, or reused intact by the sender or receiver. XML documents can also be transactional. For example, queries, responses, or messages can be structured as XML documents. A document can be defined as ". . . something which brings together strongly related objects for a well defined business purpose or context . . ." or ". . . that bundle of data that is passed from one agency to another as part of an exchange . . ." [Gerry Coleman, Wisconsin Crime Information Bureau]. So, the term XML document can refer to a message or other form of information, as well as what we traditionally recognize as a document.
Stylus Studio Enterprise Edition 2010 is the leading world-class XML Editor, with intuitive XML editing views and integrated XML troubleshooting utilities, designed to make working with XML documents as easy as possible. Stylus Studio Enterprise Edition brings powerful, best-in-class XML Editing coupled with an intuitive, simple user interface that allow you to rapidly create advanced XML applications and documents. Stylus Studio offers numerous synchronized, visual XML Editing views: Tree View, and of course Text View, a robust XML-aware editor.
Stylus Studio Website: http://www.stylusstudio.com/xml-editor.html
The following USDO groups are part of the Global XML Structure Task Force (XSTF): Global Justice Information Sharing Initiative (Global) The Global Justice Information Sharing Initiative (Global) operates under the auspices of the Office of Justice Programs (OJP), U.S. Department of Justice. Global advises the federal government, specifically through the Assistant Attorney General, OJP, and the U.S. Attorney General, on justice information sharing and integration initiatives.
Since the initiation of justice systems integration in the United States, practitioners have generally worked with vendors to develop unique and proprietary solutions to their individual information-sharing needs, either within one agency or within a specific jurisdiction. These technical solutions, while solving immediate information-sharing objectives, created many independent systems and limited their ability to share information among other systems throughout the nation.
In 2001, a formal effort was undertaken to reconcile several of the XML specifications developed by justice practitioners. The U.S. Department of Justice (DOJ) funded meetings of the following organizational representatives:
• The Joint Task Force on Rap Sheet Standardization, which developed an Interstate Criminal History Transmission Specification using XML.
• The Institute for Intergovernmental Research (IIR), which developed the Regional Information Sharing System.
• The LegalXML Court Filing Workgroup, which developed an Electronic Court Filing Standard using XML.
• The American Association of Motor Vehicle Administrators, which was working to develop Driver and Vehicle transactions in XML.
These meetings resulted in a reconciliation of these various XML data standards into a common Justice XML Data Dictionary (JXDD). The first JXDD (Version 1.0) depicted the elements in a Microsoft Access database. Subsequent versions (2.0 and 2.1) of JXDD represented the 1.0 elements as XML schema.
These early efforts were critical to the development of the current GJXDM—an effort undertaken as part of the DOJ’s Global Justice Information Sharing Initiative supported by the XML Structure Task Force
The development of the Global Justice XML Data Model (GJXDM), which incorporates a comprehensive Global Justice XML Data Dictionary, represents a significant change in the way practitioners will develop their information-sharing systems. GJXDM provides a common language with which justice entities can describe, structure, and share information on criminal justice matters and offenders within a locality, the state, among the states, or with federal or tribal entities.
In early 2002, DOJ formed a group called the XML Structure Task Force (XSTF) under Global's Infrastructure/Standards Working Group to develop an object-oriented XML data model for justice information sharing.
XSTF is comprised of justice practitioners and industry representatives from various justice communities of interest. They include representation from local, state, and federal law enforcement, courts, corrections, probation and parole, and transportation agencies; the Federal Bureau of Investigation; SEARCH, The National Consortium for Justice Information and Statistics; the U.S. Chief Information Officers Council; and the Integrated Justice Information Systems (IJIS) Institute (a consortium of private-sector companies involved in justice and public safety).
XSTF's contribution has been supported by development staff, notably research scientists from Georgia Tech Research Institute (GTRI) and the National Telecommunication and Information Administration (NTIA). GTRI developed the technical concepts, using XML best practices and standards in the design and implementation of GJXDM.
This XSTF effort has provided a framework within which a productive relationship has developed among practitioners, industry, and development staff.
The primary goal of XSTF in designing for the Data Model is to develop a common set of reusable, extendible XML data components that could be combined in justice documents, transactions, and messages that are consistently structured to support interoperability among justice and public safety systems nationwide.
In GJXDM and NIEM, the composition of data entities and the relationships between them have been defined precisely and flexibly using two kinds of components: types and properties. An understanding of the concept of types and properties is the baseline for developing an understanding of the models. Types and properties are maintained as distinct entities.
A type is a structure which carries values associated with a real-world entity. Types represent real-world entities, such as persons or vehicles and can also be defined as an independently insatiable collection of properties. When an object is created, it is described as being instantiated.
A property associates specific characteristics with an instance of a type. Every property in the data dictionary is given a definition which outlines how the property is to be used, and what it means.
There are three components to a property:
1. The property name is a unique label applied to the property (property names are unique within the data dictionary).
2. The subject type is the type to which the property applies. For example, with the property “Name”, if a person has a name, then the subject type of the property “Name” would be “PersonType”.
3. The object type is the type of the value of the property. For example, if a name is a string, then the object type of the property “Name” would be “StringType”.
The Global Infrastructure/Standards Working Group (GISWG) recommended that OJP form the XML Structure Task Force (XSTF) to identify data requirements, explore XML concepts, and apply XML best practices to the design and implementation of the Global Justice XML Data Model (GJXDM). This recommendation was accepted and today the XSTF is composed of government and industry domain experts (law enforcement, courts, and corrections), technical managers, and engineers.
XSTF works closely with Georgia Tech Research Institute (GTRI) on each GJXDM version. Its vision is to significantly advance justice information sharing by providing a common language and vocabulary that reduces cost and technical barriers. GXSTF has developed a consistent, extendable, and maintainable XML schema reference specification for data elements and types that represent the data requirements of the general justice and public safety communities.
XSTF conducts evaluations, solicits feedback from technical experts and practitioners, and authorizes changes based on this feedback. XSTF is heavily involved in the GJXDM release process and approves all fixes, additions, deletions, and modifications to each implementation, all of which are applied to future releases with a cumulative change log published along with each release. When a reasonable number of updates are approved by the XSTF, a new version is released.
XSTF is also responsible for GJXDM guidance, review, and issue resolution.
800 Megahertz (MHz). 800 MHz refers to public safety radio systems using channels located in or near the 800 MHz band. Approximately 300 channels located in the 800 MHz spectrum band have been assigned for use by state and local public safety entities. The disadvantage is that this higher frequency has less range and so a greater infrastructure is needed to cover the same range as lower frequencies.
Access. To interact with a system entity in order to manipulate, use, gain knowledge of, and/or obtain a representation of some or all of a system entity’s resources.
Access control. Protection of resources against unauthorized access; a process by which use of resources is regulated according to a security policy and is permitted by only authorized system entities according to that policy.
Access control information. Any information used for access control purposes, including contextual information. Contextual information might include source Internet Protocol (IP) address, encryption strength, the type of operation being requested, time of day, etc. Portions of access control information may be specific to the request itself, some may be associated with the connection via which the request is transmitted, and others (for example, time of day) may be “environmental.”
Access rights. A description of the type of authorized interactions a person or system can have with a resource. Examples include read, write, execute, add, modify, and delete.
AFIS (Automated Fingerprint Identification System). AFIS is a database of digitized offender fingerprint files. A user can enter a fingerprint and a computer will generate a list of possible matches within minutes. The matches are then examined and verified by a fingerprint expert.
Architecture. Architecture refers to the design of a system. It may refer to either hardware or software, or a combination of both. The software architecture of a program or computing system is the structure or structures of the system. This structure includes software components, the externally visible properties of those components, the relationships among them, and the constraints on their use.
Artifact. A piece of digital information. An artifact may be any size and may be composed of other artifacts. Examples of artifacts: a message, a URI, an XML document, a Portable Network Graphics (PNG) image.
Asynchronous. An interaction is said to be asynchronous when the associated messages are chronologically and procedurally decoupled. For example, in a request-response interaction, the client agent can process the response at some indeterminate point in the future when its existence is discovered. Mechanisms to do this include polling, notification by receipt of another message, etc.
Attribute. A characteristic of an object or entity. An object’s attributes are said to describe the object. Objects’ attributes are often specified in terms of their physical traits, such as size, shape, weight, and color, etc., for real-world objects. Objects in cyberspace might have attributes describing size, type of encoding, network address, etc.
Authentication. Authentication is the process of verifying that a potential partner in a conversation (or data exchange) is capable of representing a person or organization.
Authorization. The process of determining, by evaluating applicable access control information, whether a subject is allowed to have the specified types of access to a particular resource. Usually, authorization is in the context of authentication. Once a subject is authenticated, it may be authorized to perform different types of access.
AVL (Automatic Vehicle Locator). AVL uses Global Positioning System technology to locate the position of patrol cars on a digital map. This information assists the dispatcher in knowing which calls should be assigned to which officers.
Binding. An association between an interface, a transmission protocol, and a data format. A binding specifies the protocol and data format to be used in transmitting messages defined by the associated interface. See also SOAP binding.
BIOS (Basic Input/Output System). BIOS controls the startup of the machines or computers and other functions, such as the keyboard, display, and disk drive. BIOS is stored on read-only memory and is not erased when the computer is turned off. BIOS on newer machines is stored on flash read-only memory, allowing it to be erased and rewritten to update BIOS.
CAD (Computer Aided Dispatch). A computer system that assists 911 operators and dispatch personnel in handling and prioritizing calls. Enhanced 911 will send the location of the call to the CAD system, which will automatically display the address of the 911 caller on a screen in front of the operator. Complaint information is then entered into the computer and is easily retrievable. The system may be linked to mobile data terminals (MDTs) in patrol cars, thereby allowing dispatchers and officers to communicate without using voice. The system may also be interfaced with NCIC, AVL, or a number of other programs.
Cardinality. The number of instances of an entity in relation to another entity, e.g., one-to-one, one-to-many, many-to-many
CDPD (Cellular Digit Packet Data). A data transmission technology that uses unused cellular phone channels to transmit data in packets.
Class. A description of a set of objects that share the same attributes, operations, methods, relationships, and semantics
Client/Server architecture. A network model that a computer or process server uses to provide services to the workstations (clients) connected to that computer (server). This architecture allows the client to share resources such as files, printers, and processing power with other clients.
Community of interest. A group of professionals informally bound to one another through exposure to a common class of problems, and common pursuit of solutions, and thereby embodying a store of knowledge. The justice and public safety domain is considered a community of interest.
Compliant. Hardware and software capable of satisfying a particular requirement, such as manipulation of four-digit dates, is deemed ‘‘compliant.’’
Component. A component is a software object, meant to interact with other components, encapsulating certain functionality or a set of functionalities. A component has a clearly defined interface and conforms to a prescribed behavior common to all components within an architecture.
Computer crime mapping. Computer crime mapping allows a department to display calls for service on a computerized pin map that aids in crime analysis efforts.
Conceptual data model (CDM). A data model that defines the real-world entities, and the relationships between these entities, in a business context. A CDM is typically constructed as an Entity Relationship Diagram (ERD), e.g., Unified Modeling Language (UML) class diagram.
Confidentiality. Assuring information will be kept secret, with access limited to appropriate persons.
Connection. A transport layer virtual circuit established between two programs for the purpose of communication.
Conversion. Conversion is the translation of valid values into another format on a permanent basis; for example, translating two-digit years to four-digit year values.
Core data type. Basic business data items that describe common concepts used in general business activities.
Data. Facts represented in a readable language (such as numbers, characters, images, or other methods of recording) on a durable medium. Data on its own carries no meaning. Empirical data are facts originating in or based on observations or experiences. A database is a store of data concerning a particular domain. Data in a database may be less structured or have weaker semantics (built-in meaning) than knowledge in a knowledge base. Compare data with Information.
Data architecture. A component of the design architecture, the data architecture consists of among others, data entities, which have attributes and relationships with other data entities. These entities are related to the business functions.
Data class. A set of data objects that share a common structure and a common behavior. The terms “class” and “type” are usually (but not always) interchangeable; a class is a slightly different concept than a type, in that it emphasizes the classifications of structure and behavior.
Data dictionary. A file that defines the basic organization of a database. It will contain a list of all files in the database, the number of records in each file, and the names and types of each field.
Data element. A basic unit of data having a meaning and distinct units and values. A uniquely named and defined component of data definition; a data “cell” into which data items (actual values) can be placed; the lowest level of physical representation of data.
Data element [Federal Enterprise Architecture (FEA) Data Reference Model]. Physical description of the data used within an Information Exchange Package. A representation of a data object, a data property, and a data representation.
Data mart. A collection of data that is organized to support a specific application. The data is sometimes optimized for this application.
Data model. A graphical and/or lexical representation of data, specifying their properties, structure, and inter-relationships
Data object. A basic definition of the data element. Anything that exists in storage and on which operations can be performed, such as files, programs, or arrays. A collection of data elements that are aggregated for or by a specific application.
Data property. Description of the data element in context of the data object.
Data Reference Model (DRM). One of the five models in the FEA Reference Model framework, to aid in describing the types of interaction and exchanges that occur between the federal government and its various customers, constituencies, and business partners.
Data representation. Describes how data is described within the property and object layers.
Data standards. Data standards are agreed-upon terms for defining and sharing data.
Data type. A specification of the permissible content for a class of objects, where the content can be comprised of one or more literal values, i.e., positive integer, or any complex data structure, i.e., hierarchy of child elements within an XML core component.
Data warehouse. An implementation of an informational database used to store sharable data sourced from an operational database-of-record. It is typically a subject database that allows users to tap into a company’s vast store of operational data to track and respond to business trends and facilitate forecasting and planning efforts.
Database. A data structure that stores metadata, i.e., data about data. In general, it is an organized collection of information.
Digital signature. A value computed with a cryptographic algorithm and appended to a data object in such a way that any recipient of the data can use the signature to verify the data’s origin and integrity.
Discovery. The act of locating a machine-processable description of a web service-related resource that may have been previously unknown and that meets certain functional criteria. It involves matching a set of functional and other criteria with a set of resource descriptions. The goal is to find an appropriate Web service-related resource.
Discovery service. A service that enables agents to retrieve web services-related resource description.
Document. Any data that can be represented in a digital form.
Document Type Definition (DTD). World Wide Web Consortium (W3C) Recommendation. A document-centric XML schema language.
DublinCore Metadata Initiative (DCMI). Dublin Core is an open forum engaged in the development of interoperable online metadata standards that support a broad range of purposes and business models. DCMI’s activities include consensus-driven working groups, global conferences and workshops, standards liaison, and educational efforts to promote widespread acceptance of metadata standards and practices.
Electronic Data Interchange (EDI). The automated exchange of any predefined and structured data for business among information systems of two or more organizations.
Element [XML]. The fundamental building block of an XML document. XML elements can contain other elements and/or text data. XML elements are composed of a start tag, content, and end tag.
Encryption. A process that translates plain text into a code. The reader of an encrypted file must have a key to decrypt the file. This involves cryptographic transformation of data (called “plaintext”) into a form (called “ciphertext”) that conceals the data’s original meaning to prevent it from being known or used. If the transformation is reversible, the corresponding reversal process is called “decryption,” which is a transformation that restores encrypted data to its original state.
End point. An association between a binding and a network address, specified by a URI, that may be used to communicate with an instance of a service. An end point indicates a specific location for accessing a service using a specific protocol and data format.
Entity [XML]. An information-sharing unit. All agencies are entities; so are courts and legislative bodies. Private organizations that share governmental information are also entities, as are private persons.
Firewall. A system designed to prevent unauthorized access to or from a private network. Firewalls are often used to prevent Internet users from accessing private networks connected to the Internet.
Functional specifications. Formal descriptions of a software system used as a blueprint for implementation. Specifications should state the purposes of the program, provide implementation details, and describe the specific functions of the software from the user’s perspective.
Gap analysis. The difference between projected outcomes and desired outcomes.
Gateway. An agent that terminates a message on an inbound interface with the intent of presenting it through an outbound interface as a new message. Unlike a proxy, a gateway receives messages as if it were the final receiver for the message. Due to possible mismatches between the inbound and outbound interfaces, a message may be modified and may have some or all of its meaning lost during the conversion process. For example, an HTTP PUT has no equivalent in SMTP.
GPS (Global Positioning System). A satellite navigation system operated by the U.S. Department of Defense. It provides coded satellite signals that can be processed by a GPS receiver, enabling the receiver to compute position, velocity, and time.
GUI (Graphical User Interface). GUI (often pronounced “gooey”) is a program interface that uses a computer’s graphic systems to make a program more user-friendly. GUI may include standard formats for representing text and graphics, making it easier to share data between programs running on the same GUI.
Hardware. Objects used to store and run software, such as a computer, monitor, keyboard, disk, and printer.
HTML (Hypertext Markup Language). A language that allows one to tag a document, primarily with markup used for presentation, for example, font size, typeface, headings, paragraphs, tables, etc.
IAFIS (Integrated Automated Fingerprint Identification System). A new (July 1999) national online fingerprint and criminal history database run by the FBI. Justice agencies that submit urgent electronic requests for identification will receive a response within two hours.
Identifier. An identifier is an unambiguous name for a resource.
III (Interstate Identification Index). Designed and run by the FBI, III is part of IAFIS and contains criminal history records for almost 30 million offenders and can be queried using a name, birth date, and other information.
Information. Contextual meaning associated with, or derived from, data.
Information Exchange Package (IEP). An IEP represents a set of data that is transmitted for a specific business purpose. It is the actual XML instance that delivers the payload or information. (The word “package” as used here refers to a package of the actual data, not a package of artifacts documenting the structure and content of the data.) An IEP can be prefixed with “GJXDM” to indicate or highlight that the IEP is conformant to the Global Justice XML Data Model, as in “GJXDM Information Exchange Package.” The fact that an IEP is GJXDM-conformant may be readily apparent from the context, so it is not absolutely necessary to use the word “GJXDM” even if the IEP is GJXDM-conformant. (See also Reference.)
Information Exchange Package documentation. A collection of artifacts that describe the structure and content of an IEP. It does not specify other interface layers (such as Web services). It can optionally be prefixed with “GJXDM” to indicate or highlight that a resulting IEP is GJXDM-conformant. This term replaces “Exchange Document.” (See also Reference.)
Instance [XML]. Representation of the values of all the XML items.
Integrity. Assuring information will not be accidentally or maliciously altered or destroyed.
Interface. A program or device that connects programs and/or devices.
Internet. A decentralized global network connecting millions of computers.
Interoperable [Data]. Interoperable means to be functionally equivalent or interchangeable components of the system or process in which they are used.
Intranet. A secure private network that uses TCP/IP protocols.
LAN (Local Area Network). A computer network that connects workstations and personal computers and allows them to access data and devices anywhere on the LAN. A LAN is usually contained within one building.
Laptop. A computer that has capabilities beyond that of the mobile data computer. It may contain report writing and accident reconstruction programs.
LAWN (Local Area Wireless Network). A LAN that uses high-frequency radio waves rather than wires to communicate between nodes.
Legacy system. Older software and hardware systems still in use and generally proprietary.
Lexicon. Provides a glossary and cross-reference for words that may have multiple meanings. The purpose is to create common definitions to allow for clearer understanding.
Live scan. A machine that replaces ink-and-roll fingerprints. Fingers are rolled across a platen, scanned into a computer, and converted to a digital form of storage. Fingerprint cards are then printed out on a laser printer. The machine will immediately reject low-quality prints.
Logical data model. A model of the logical representation of objects about which the enterprise records information, in either automated or nonautomated form. It would be represented as a fully attributed, keyed, normalized entity relationship model reflecting the intent of the semantic model.
Loose coupling. Coupling is the dependency between interacting systems. This dependency can be decomposed into real dependency and artificial dependency:
• Real dependency is the set of features or services that a system consumes from other systems. The real dependency always exists and cannot be reduced.
• Artificial dependency is the set of factors that a system has to comply with in order to consume the features or services provided by other systems. Typical artificial dependency factors are language dependency, platform dependency, application programming interface (API) dependency, etc. Artificial dependency always exists, but it or its cost can be reduced.
Loose coupling describes the configuration in which artificial dependency has been reduced to the minimum.
MDC (Mobile Data Computer). A microcomputer used by public safety agencies to access databases for information on persons and property. The MDC uses wireless communication and allows an officer to exchange information with the dispatcher and other officers without using voice channels.
Message. The basic unit of communication between a requester and a provider. In the context of a web service, the message contains the data to be communicated to or from a web service as a single logical transmission. See also SOAP message.
Message correlation. The association of a message with a context. Message correlation ensures that the requester can match the reply with the request, especially when multiple replies may be possible.
Message Exchange Pattern (MEP). A template, devoid of application semantics, that describes a generic pattern for the exchange of messages between exchange partners. It describes the relationships (e.g., temporal, causal, sequential, etc.) of multiple messages exchanged in conformance with the pattern, as well as the normal and abnormal termination of any message exchange conforming to the pattern.
Message receiver. An exchange partner that receives a message.
Message reliability. The degree of certainty that a message will be delivered and that sender and receiver will both have the same understanding of the delivery status.
Message sender. The exchange partner that transmits a message.
Message transport. A mechanism that may be used by exchange partners to deliver messages.
Metadata. Represents information about the data and could include value constraints, naming rule, etc.
Metadata registry. An information system for registering metadata
Namespace. Namespaces are the solution to naming conflicts in XML. Using XML namespaces can help alleviate issues that arise where XML elements and attributes use identical names. XML namespaces help to identify and resolve conflicts between elements that have the same name but mean different things. A namespace is a domain that contains a set of XML element names.
NCIC or NCIC 2000 (National Crime Information Center). NCIC is a computer system maintained by the FBI that can be queried by local agencies via state computer systems known as ‘‘control terminal agencies.’’ NCIC contains 17 files with over 10 million records, plus 24 million criminal history records contained within the Interstate Identification Index (one of the 17 files). Files include the III, the Missing Persons File, the Unidentified Persons File, the U.S. Secret Service Protective File, and the Violent Gang/Terrorist File.
Network. A network is created when two or more computers are joined by some type of transmission media allowing them to communicate directly, or to share storage devices and peripherals. Transmission media can include cable lines, telephone lines, or satellite systems.
NIBRS (National Incident-Based Reporting System). An incident-based crime reporting system, run by the FBI, through which data is collected on each single crime occurrence. NIBRS data is designed to be generated as a byproduct of local, state, and federal automated records systems. NIBRS collects data on each single incident and arrest within 22 offense categories made up of 46 specific crimes called Group A offenses. Specific facts are collected for each of the offenses coming to the attention of public safety agencies. In addition to Group A offenses, there are 11 group B offense categories that only report arrest data. NIBRS is expected to eventually replace UCR.
NLETS. NLETS–the International Justice and Public Safety Information Sharing Network, formerly known as the National Law Enforcement Telecommunications System, is a high-speed communications network and message switch that connects almost every public safety agency in the country. It allows local agencies to make inquiries into state databases to access criminal history records, vehicle registration records, driver’s license files, etc. NLETS also interfaces with NCIC and other national files and allows states to exchange information with each other.
Node. A node can be a computer or some other device such as a printer. Every node has a unique network address.
Nonrepudiation. Method by which the sender of data is provided with proof of delivery and the recipient is assured of the sender’s identity, so that neither can later deny having processed the data.
OASIS (Organization for the Advancement of Structured Information). A not-for-profit consortium that advances electronic business by promoting open, collaborative development of interoperability specifications.
Object. Anything perceivable or conceivable; a real-world entity.
Object-oriented programming (OOP). OOP combines data structures and functions (computer directions) to create ‘‘objects,’’ making it easier to maintain and modify software.
OMG (Object Management Group). The industry group dedicated to promoting object-oriented technology and its standardization.
Ontology. An explicit formal specification of how to represent the objects, concepts, and other entities that are assumed to exist in some area of interest and the relationships that hold among them. In computer science, an ontology is the attempt to formulate an exhaustive and rigorous conceptual schema within a given domain, a typically hierarchical data structure containing all the relevant entities and their relationships and rules (theorems, regulations) within that domain.
Open architecture. Open architecture systems are designed to allow system components to be easily connected to devices and programs made by other manufacturers.
Operating system. The basic program used by a computer to run other programs. An operating system recognizes input from the keyboard, sends output to the display screen, and keeps track of files and directories on the disk and controlling peripheral devices such as disk drives and printers. It provides a platform for other software applications.
OWL (Web Ontology Language). OWL is intended to be used when the information contained in documents needs to be processed by applications, as opposed to situations where the content only needs to be presented to humans. OWL can be used to explicitly represent the meaning of terms in vocabularies and the relationships between those terms. This representation of terms and their interrelationships is called an ontology. OWL has more facilities for expressing meaning and semantics than XML, RDF, and RDF-S, and thus OWL goes beyond these languages in its ability to represent machine-interpretable content on the Web.
Permission. A policy that prescribes the allowed actions of an agent and/or resource.
Person or organization. A person or organization may be the owner or agents that provide or request Web services.
Physical data model. A physical representation of the objects of the enterprise. The representation style of this model would depend on the technology chosen for implementation. If relational technology is chosen, this would be a model of the table structure required to support the logical data model in a relational-style model. In an object-oriented notation, this would be a class-hierarchy/association-style model.
Platform. The underlying hardware or software for a system. The term is often used as a synonym for operating system
Policy. A constraint on the behavior of agents, persons, or organizations.
Primitive types. Primitive types, as distinct from composite types, are datatypes provided by a programming language as basic building blocks. Typical primitive types include:
• Character.
• Integer (with a variety of precisions).
• Floating-point number with binary representation usually conforming to the Institute of Electrical and Electronics Engineers (IEEE) standards for floating point representation.
• Fixed-point with a variety of precisions and a programmer-selected scale.
• Boolean, having the values “true” and “false.”
• String, a sequence of characters.
• Reference (also called a “pointer” or “handle”), a small value referring to another object, possibly a much larger one.
Privacy policy. A set of rules and practices that specify or regulate how a person or organization collects, processes (uses), and discloses another party’s personal data as a result of an interaction.
Property. A characteristic common to all members of an object class.
Proprietary. The term ‘‘proprietary’’ generally refers to a system whose manufacturer will not divulge specifications that would allow other companies to duplicate the product. It is also known as a closed architecture.
Protocol. A set of formal rules describing how to transmit data, especially across a network. Low-level protocols define the electrical and physical standards to be observed, bit- and byte-ordering, and the transmission and error detection and correction of the bit stream. High-level protocols deal with the data formatting, including the syntax of messages, the terminal-to-computer dialogue, character sets, sequencing of messages, etc.
Proxy. An agent that relays a message between a requester agent and a provider agent, appearing to the Web service to be the requester.
Quality of service. An obligation accepted and advertised by a provider entity to service consumers.
RMS (Records Management System). An RMS stores computerized records of crime incident reports and other data. It may automatically compile information for UCR or NIBRS reporting. Can perform greater functions when integrated with other systems such as CAD and GPS.
Reference. Information Exchange Package Documentation may have the word “Reference” in its title if it has been mandated, approved, endorsed, recommended, or acknowledged by a cognizant organization, e.g., “GJXDM Information Exchange Package Documentation for a Reference Incident Report.” Reference IEP Documentation often may be used as the basis for IEP Documentation meeting the specific business needs of an information-sharing enterprise. This term replaces “Reference Exchange Document” and “Reference Document.”
Reference architecture. The generalized architecture of several end systems that share one or more common domains. The reference architecture defines the infrastructure common to the end systems and the interfaces of components that will be included in the end systems. The reference architecture is then instantiated to create a software architecture of a specific system. The definition of the reference architecture facilitates deriving and extending new software architectures for classes of systems. A reference architecture, therefore, plays a dual role with regard to specific target software architectures. First, it generalizes and extracts common functions and configurations. Second, it provides a base for instantiating target systems that use that common base more reliably and cost effectively
Regression test. A regression test is performed before production to identify and prevent errors and verify that unchanged software will continue to function as designed.
Relational Database Management System. A type of database management system that stores data in related tables. New types of data can more easily be added, and the user can view the data in multiple ways.
Repository. An information system used to store and access architectural information, relationships among the information elements, and work products.
Resource Description Framework (RDF). A Semantic web standard that provides a framework for asset management, enterprise integration, and the sharing and reuse of data on the Web.
Scaleable. A term that describes how well a system can be adapted and expanded to meet increased demands.
Schema. Specification of the characteristics and relationships of a class of objects.
Schema [XML]. A specification to define the structure of XML documents and to specify datatypes for attribute values and element content. In addition to the DTD, there are several XML schema languages, including XML Schema (W3C), Schematron, and RELAX NG.
Scope creep. The slow and continuous expansion of the scope of a project, such as data type or routine, resulting in a broad, unfocused, and unmanageable scope and usually leading to cost-overruns, missed deadlines, and loss of original goals.
Security architecture. A plan and set of principles for an administrative domain and its security domains that describe the security services that a system is required to provide to meet the needs of its users, the system elements required to implement the services, and the performance levels required in the elements to deal with the threat environment. A complete security architecture for a system addresses administrative security, communication security, computer security, emanations security, personnel security, and physical security, and prescribes security policies for each. A complete security architecture needs to deal with both intentional, intelligent threats and accidental threats. A security architecture should explicitly evolve over time as an integral part of the evolution of its administrative domain.
Security policy. A set of rules and practices that specify or regulate how a system or organization provides security services to protect resources. Security policies are components of security architectures. Significant portions of security policies are implemented via security services, using security policy expressions.
Security service. A processing or communication service that is provided by a system to give a specific kind of protection to resources, where said resources may reside with said system or reside with other systems, for example, an authentication service or a public key infrastructure (PKI)-based document attribution and authentication service. A security service is a superset of AAA (authentication, authorization, accounting) services. Security services typically implement portions of security policies and are implemented via security mechanisms.
Semantic model. A model of the actual enterprise objects (i.e., things, assets) that is significant to the enterprise. Typically, the semantic model would be represented as an entity/relationship model and would be at a level of definition expressing concepts (i.e., terms and facts) used in the significant business objectives/strategies implemented later as business rules.
Semantic web. The Semantic web provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries. It is based on the RDF, which integrates a variety of applications using XML for syntax and URIs for naming.
Server. The program in the client/server architecture that answers client’s requests. The term ‘‘server’’ is also used to designate the computer that makes resources available to the workstations (clients) on the network.
Service. An abstract resource that represents a capability of performing tasks that form a coherent functionality from the point of view of data providers and requesters.
Service description. A set of documents that describe the interface to and semantics of a service.
Service interface. The abstract boundary that a service exposes. It defines the types of messages and the message exchange patterns that are involved in interacting with the service, together with any conditions implied by those messages.
Service semantics. The semantics of a service is the behavior expected when interacting with the service. The semantics expresses a contract (not necessarily a legal contract) between the provider entity and the requester entity. It expresses the effect of invoking the service. Service semantics may be formally described in a machine-readable form; identified but not formally defined; or informally defined via an agreement between the provider and the requester.
Service-oriented Architecture (SOA). An architectural style whose goal is to achieve loose coupling among interacting software agents. A service is a unit of work done by a service provider to achieve desired end results for a service consumer. Both service provider and service consumer are roles played by software agents/brokers on behalf of their owners. The communication can involve either simple data exchange or it could involve two or more services coordinating some activity. Some means of connecting services to each other is needed.
SOAP (Simple Object Access Protocol). The formal set of conventions governing the format and processing rules of a SOAP message.
SOAP application. A software entity that produces, consumes, or otherwise acts upon SOAP messages in a manner conforming to the SOAP processing model.
SOAP binding. The formal set of rules for carrying a SOAP message within or on top of another protocol (underlying protocol) for the purpose of exchange. Examples of SOAP bindings include carrying a SOAP message within an HTTP entity-body, or over a TCP stream.
SOAP body. A collection of zero or more element information items targeted at an ultimate SOAP receiver in the SOAP message path.
SOAP envelope. The outermost element information item of a SOAP message.
SOAP feature. An extension of the SOAP messaging framework typically associated with the exchange of messages between communicating SOAP nodes. Examples of features include “reliability,” “security,” “correlation,” “routing,” and the concept of message exchange patterns.
SOAP header. A collection of zero or more SOAP header blocks, each of which might be targeted at any SOAP receiver within the SOAP message path.
SOAP header block. An element information item used to delimit data that logically constitutes a single computational unit within the SOAP header. The type of a SOAP header block is identified by the fully qualified name of the header block element information item.
SOAP intermediary. A SOAP intermediary is both a SOAP receiver and a SOAP sender and is targetable from within a SOAP message. It processes the SOAP header blocks targeted at it and acts to forward a SOAP message toward an ultimate SOAP receiver.
SOAP message. The basic unit of communication between SOAP nodes.
SOAP message exchange pattern (MEP). A template for the exchange of SOAP messages between SOAP nodes enabled by one or more underlying SOAP protocol bindings. A SOAP MEP is an example of a SOAP feature.
SOAP message path. The set of SOAP nodes through which a single SOAP message passes. This includes the initial SOAP sender, zero or more SOAP intermediaries, and an ultimate SOAP receiver.
SOAP node. The embodiment of the processing logic necessary to transmit, receive, process, and/or relay a SOAP message, according to the set of conventions defined by this recommendation. A SOAP node is responsible for enforcing the rules that govern the exchange of SOAP messages. It accesses the services provided by the underlying protocols through one or more SOAP bindings.
SOAP receiver. A SOAP node that accepts a SOAP message.
SOAP role. A SOAP node’s expected function in processing a message. A SOAP node can act in multiple roles.
SOAP sender. A SOAP node that transmits a SOAP message.
Software. A set of computer instructions or data stored in an electronic format.
Spectrum. The array of channels, like the channels on a television, available for communications transmissions. Commonly referred to as a spectrum, these channels are a finite natural resource; they cannot be created, purchased, or discovered.
SQL (Structured Query Language). A language used specifically by a relational database to query, modify, and manage information.
State. A set of attributes representing the properties of a component at some point in time.
Synchronous. An interaction is said to be synchronous when the participating agents must be available to receive and process the associated messages from the time the interaction is initiated until all messages are actually received or some failure condition is determined. The exact meaning of “available to receive the message” depends on the characteristics of the participating agents (including the transfer protocol it uses); it may, but does not necessarily, imply tight time synchronization.
Systems software. Systems software consists of the operating system and all utilities that enable the computer to function.
Taxonomy. A hierarchical classification or categorization of a set of things
TCP/IP (Transmission Control Protocol/Internet Protocol). TCP/IP is standard transmission protocol used to connect hosts on the Internet.
Transaction. Transaction is a feature of the architecture that supports the coordination of results or operations in a multiple-step interaction. The fundamental characteristic of a transaction is the ability to join multiple actions into the same unit of work, such that the actions either succeed or fail as a unit.
Type. A description of a class of objects that share the same operations, abstract attributes and relationships, and semantics.
UCR (Uniform Crime Reports). UCR is a city, county, and state public safety program operated by the FBI that provides a nationwide view of crime based on the submission of statistics by public safety agencies throughout the country. The following offenses are recorded: murder and nonnegligent manslaughter; forcible rape; robbery; aggravated assault; burglary; larceny theft; motor vehicle theft; arson; and hate crimes.
Unified Resource Identifier (URI). A URI points to an external file that defines the namespace. The URI may either be a URL (Universal Resource Locator) that points to a web server or a URN (Universal Resource Name) that names a resource, but which does not specify a de-referenceable network object.
Validation. The evaluation of a system during development or at the time of completion to determine if it satisfies all the requirements.
WAN (Wide Area Network). A WAN consists of two or more LANs connected via telephone lines or radio waves.
Web browser. A software application used to locate and display web pages. It may be able to display graphics, sound, and video in addition to text.
Web service. A web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the web service in a manner prescribed by its description using SOAP-messages, typically conveyed using HTTP with an XML serialization in conjunction with other web-related standards.
Web Services Description Language (WSDL). An XML format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. The operations and messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint. Related concrete endpoints are combined into abstract endpoints (services). WSDL is extensible to allow description of endpoints and their messages regardless of what message formats or network protocols are used to communicate.
World Wide Web. A system of Internet servers that support HTML-formatted documents.
World Wide Web Consortium (W3C). The World Wide Web Consortium is the international standards body for interoperable technologies (specifications, guidelines, software, and tools) that support the development of the World Wide Web to its full potential, including XML. W3C is a collaborative forum for information, commerce, communication, and collective understanding.
XML (eXtensible Markup Language). XML is a structured language for describing information being sent electronically by one entity to another. XML Schema defines the rules and constraints for the characteristics of the data, such as structure, relationships, allowable values, and data types.
XML Namespace. A simple method for qualifying element and attribute names used in XML documents by associating them with namespaces identified by URI references
XML Schema Language (XSD). W3C Recommendation. Specification for defining the structure, content, and semantics of XML documents. Defines a richer set of datatypes than the DTD. XML schemas support namespaces.
Source: https://bja.ojp.gov/sites/g/files/xyckuh186/files/media/document/GJXDMU…
Checkboxes are most often used in justice agency forms to select either “Yes” or “No.” In Information Technology a check box is a graphical user interface element that permits the user to make multiple selections from a number of options. Normally, check boxes are shown on the screen as a square box that can contain white space (for false) or a tick mark or X (for true). Adjacent to the check box is normally shown a caption describing the meaning of the check box. The initial value of a checkbox can be defined to be checked or not.
In XML, the representation of a checkbox is as a Boolean type, which is one of the primitive types provided by programming languages as basic building blocks. Typical primitive types include:
· Character
· Integer (with a variety of precisions)
· Floating-point number with binary representation usually conforming to the IEEE standards for floating point representation;
· Fixed-point with a variety of precisions and a programmer-selected scale.
· Boolean, having the values true and false.
· String, a sequence of characters
· Reference (also called a "pointer" or "handle"), a small value referring to another object, possibly a much larger one.
XML Schema language allows addition of annotations to schema components through an 'annotation' element (<xsd:annotation>) which must contain either a documentation element (<xsd:documentation>) or appInfo element (<xsd:appInfo>). A source attribute may be added to either element to provide a URL reference to the source of the annotation. Annotations provide a way to provide documentation and application information that may be parsed and accessed by applications via an application program interface (API).
The appInfo element can be used to provide information for tools, StyleSheets and other applications. Both documentation and appInfo appear as sub-elements of annotation, which usually is placed at the beginning of most schema constructions.
The appinfo
element is subject to the same rules for appearing in an XML Schema as the documentation
element, as they are both contained in the annotation
element. This means that it can be used within most schema constructs. In the following example we have nested some script inside the appinfo
element, which is intended to indicate to an application what action to take, depending upon which of a choice of two elements a document instance contains:
<xs:group name="CreditOrDebitGroup">
<xs:annotation>
<xs:appinfo>
if (currentNode.firstChild != "Credit")
docParser.load(debitURL);
else
document.write("Your account will be credited within 24
hours.");
</xs:appinfo>
</xs:annotation>
<xs:choice>
<xs:element name = "Credit" type = "CreditType" />
<xs:element name = "Debit" type = "DebitType" />
</xs:choice>
</xs:group>
Some useful XML resources:
Useful Websites
World Wide Web Consortium
http://www.w3.org
XML.com
http://www.xml.com
W3 Schools
http://www.w3schools.com/xml/default.asp
XML Cover Pages
http://xml.coverpages.org/
Organization for Advancement of Structured Information Standards (OASIS)
http://www.oasis-open.org/
Introductions to XML
The following list of introductory and tutorial articles on XML is extracted from the complete chronological listing of articles collected for the XML Cover Pages.
"Extending Your Markup: An XML Tutorial." By André Bergholz (Stanford University). From IEEE Computer. July/August 2000.
"Media-Independent Publishing: Four Myths About XML. [The W3C's Working Group Chair Dispels Some Myths About XML.]" By Jon Bosak. First appeared in IEEE Computer Volume 31, Number 10 (October 1998), pages 120-122.
"XML, Java, and the Future of the Web." By Jon Bosak.
"XML - Questions & Answers." By Jon Bosak (Sun Microsystems).
"Microsoft's Vision for XML." By Adam Bosworth (General Manager, Microsoft Corporation).
[Tutorial Introduction]: "Declaring Elements and Attributes in an XML DTD." By Ronald Bourret.
"SGML and Meta-information: From SGML DTDs to XML-DATA." By François Chahuneau.
"The Evolution of Web Documents: The Ascent of XML." By Dan Connolly, Rohit Khare, and Adam Rifkin.
"Introduction to XML." By Lars Marius Garshol.
"Markup and Core Concepts." By Erik T. Ray. Chapter 2 in Learning XML: Creating Self-Describing Data (O'Reilly, 2001; ISBN: 0-596-00046-4).
"SGML and XML Concepts." From the Society of American Archivists and the Library of Congress. Chapter 6 from the EAD Application Guidelines for Version 1.0. EAD Overview, useful generally as an SGML/XML tutorial.
"A Gentle Introduction to XML" from the Text Encoding Initiative (TEI) Guidelines [XML version] Chapter 2.
"A Technical Introduction to XML." By Norm Walsh. 1998.
XML Basics Quick Start From ZVON.org: The Guide to the XML Galaxy
Any enumerated type with more than ~2000 values fails in XMLBeans. The warnings generally received are:
[java] warning: SchemaType Enumeration found with too many enumeration values to create a Java enumeration. The base SchemaType T=VMACodeSimpleType@http://niem.gov/niem/fbi/2.0" will be used instead
The user must break each oversize table into parts of a size the tool can handle. These partial tables are then "Unioned" together through XML Schema. The "union" technique is essentially a work-around that requires modifying the type definition (in the reference schemas) for any enumerated type that exceeds the limit.
Example:
VMACodeSimpleType and/or VMOCodeSimpleType are usually the tables that cause these warnings to be generated in XML Beans.
Here is the technique applied to VMA:
- Split the VMACodeSimpleType into four even pieces.
- Four worked;
- Three will also work and;
- Two might also work.
Keep the number of parts to the absolute minimum that works.
- Then union the pieces in the VMACodeSimpleType definition as follow:
<xsd:simpleType name="VMACodeSimpleType">
<xsd:union memberTypes="ncic:VMA1CodeSimpleType ncic:VMA2CodeSimpleType ncic:VMA3CodeSimpleType ncic:VMA4CodeSimpleType"/>
</xsd:simpleType>
Note:
While this technique modifies the NIEM simple type structure, it is effectively a form of constraint to accommodate tool limitations. Because the simple type name is not affected by the workaround, an IEPD using the modified code table will still validate against the NIEM and will therefore be conformant.
The National Information Exchange Model (NIEM) is rapidly becoming the most important XML exchange standard for the U.S. government and its information partners. This article by Priscilla Walmsley, a four-part series, provides an overview of the process for defining a NIEM information exchange. It then takes one through the first step—modeling an exchange using UML, through the last step - assembling the schemas, documentation, and all the other artifacts of an exchange into a complete NIEM-conformant IEPD. The last article in these series, also describes the process of validating and publishing an IEPD.
For more details on this, please click on the links below:
Part 1 - Model your NIEM exchange
Part 2 - Map and subset NIEM
Part 3 - Extend NIEM
Part 4 - Assemble the IEPD
Source: Creating a NIEM IEPD