These are the questions submitted to gjxdm.workshop@gtri.gatech.edu during the Developer's Workshop 11-13 May 2004. The answers below were prepared by the engineers and practitioners who are members of the XML Structure Task Force (XSTF). All answers have been reviewed and approved by the XSTF.
Questions may have been edited for clarity and/or spelling. Submitter identities have been removed. Requests for updated presentation slides were omitted.
Question:
What is the XML format for the "wantlist?"
Answer:
Question:
Have you considered supplying an Ant task that will generate a subschema if generate a "Wantlist"?
Answer:
An Ant task would be much like a makefile dependency. It would generate files based on input files, and update them when the inputs changed. An Ant task specific to subschema development would depend on some pieces not yet present:
Once steps 1 through 3 are complete, anyone would be able to generate such an Ant task, and we'd be glad to inform people of its existence.
Question:
Have you considered a web service that creates a subschema given a Wantlist?
Answer:
Definitely. We are looking forward to providing WS-based functionality for schema generation.
Question:
When you create a subschema from the generation tool will it still import the full JXDM.XSD?
Answer:
No. The schema subset will be used in place of the full reference schema.
Question:
Please discuss the performance implications of the long XML tag names that result in large data instances, stylesheets and schemas.
The following examples demonstrate the existing, text-based and future, Global JXDM-based method of representing information in a standard NLETS transaction...
[example omitted]
Answer:
There are numerous data representations with higher information densities than XML. There are, within the XML world, other naming methods that would produce higher information densities than Global JXDM.
The goal in Global JXDM was not to maximize information density, but to maximize reuse and understandability. We adapted the Federal XML guidelines, while keeping an eye on RDF and knowledge management methods. Global element definitions allow for increased reuse of terms, and better knowledge exchange. They do increase the size of tag names, however.
The Integrated Justice Information Systems (IJIS) Institute has initiated a project to conduct performance testing with Global JXDM. One aspect of this testing focuses on tagname length and performance. These results will be available when this project has been completed. Contact the IJIS Institute for more current information.
Question:
I have run into a couple of problems with using the JXDD 3.0.0.3 Schema and was curious whether you guys have had to deal with them in the past. The big problem is that several of the elements such as <j:AddressStateCode.ncicLSTA> and most of the date fields are not nillable and will not allow a null string. I need to allow the XML to Validate even if a field is null. How can I do this?
Answer:
Nillable fields are definitely a possibility. We need to take a look at the implications of such a strategy.
Also, please note that version 3.0.0.3 is a prerelease and is no longer supported. You should move to 3.0.
UPDATE: The latest release version 3.0.1 allows nillable fields for all elements. However, note that you cannot simply omit the data values for such elements. The W3C XML Schema specification requires that you explicitly declare that a field is empty in the instance. The following is a simple example taken from the W3C XML Schema Part 0: Primer.
XML schema:
<xsd:element name="shipDate" type="xsd:date" nillable="true"/>
XML instance:
<shipDate xsi:nil="true"></shipDate>
Question:
Can you please talk about why you used 'sequence' in Global JXDM for everything and not 'choice' since order of data elements should not matter when using XML?
Answer:
At the time of the initial design of the Global JXDM schemas, it was thought that fixed-order sequences of sub-elements were the best design. However, there are distinct advantages to variably-ordered sub-elements. Such advantages include better representation of certain types of ordered data, such as interleaved "given name" and "family name" elements.
There are also concerns that must be addressed before adopting this design. How would such structures be represented in languages like Java? (All of a sudden sequence matters, but instance data members have no implied ordering.) How would XSD extension work?
It is an attractive idea, but we have issues to deal with before moving forward with it.
Question:
Why are all the elements defined globally?
Answer:
All elements are defined globally so that they may be reused by
other schemas. Each element is given a single global definition. This
definition may be used by an outside schema by using the
<element ref="j:name"> construct. Were we to
not define them globally, then elements would not be referenceable
from outside.
Question:
I don't feel that you adequately explained why you included the 'reference' elements and why we cannot use the attribute on the main element to reference another instance. I would like to be able to explain to someone else why this was done
Answer:
There were a few main reasons behind splitting the reference elements out from the data elements:
labelled edgefrom one data node to another. Allowing them to contain additional data would complicate matters. Does data in the referring element override data in the referred element? Does it augment it? Since they refer to other IDs and don't have IDs of their own, other links would have difficulty referring to them; unless they also had IDs of their own; but those IDs would have to be different from the referred IDs. So you would have to chain them somehow. It becomes much more complicated.
2004-03-02). For such elements, meaningless or bogus data would have to be constructed to allow the data to validate.
Adding all of these issues together definitely suggests that separation of data (content) and reference elements is preferred.
Question:
How will the linkage between proxy schema, local schema views of external standards, and the evolution of external standards be maintained? Specifically, will the update of an external standard force a revision of the Global JXDM? Are there intellectual property issues that must be resolved to answer this question?
Answer:
The schema generation tool, with its associated want lists, should help with management of schemas. Users will be able to audit their subsets, indicating changes required from one version of the data model to the next. The want lists will also act as a basis for constraint schemas, so patching may be reasonable.
When an external standard is updated, it may be added to a compatible minor revision of the data model. Components of the external standard may be included as additional representations (with new qualifier terms / dot notation).
There will likely be copyright and licensing issues with regard to redistribution of external standards, and we will try to clarify any licensing issues that we are aware of that arise.
Question:
In the data graphs, the same diagramming constructs are used for relationships and properties. Is this just to keep it simple, or could you use something like UML?
Answer:
The same graph constructs are used for relationships and properties because they represent the same data. It is a key concept to keep in mind: the graphs are consistent, regardless of which XML syntax you are using to represent them (inclusion, references, or relationships).
Relationships are properties, with a specific representation. So the data graphs are identical.
We could use UML to represent these, but certain translations would have to be performed. UML is richer (and more complicated) than the simple data graphs we use for this project.
Question:
Is the validate XML API implementation available and for public use? How to get it?
class edu.gatech.gtri.jdm.validateXML.Validate extends Object.
How could this be possible? Would extending from existing XML tool like Xerces be much more efficient? What is the error message like in Validate.validateFile() method's SAXException?
Answer:
The full source for the validation tool is available from the GTRI website. Download the zip file; all source code is included.
The tool adds a command line to the Xerces validation code. Full
documentation for the Xerces XML parser is available from the Apache
website. The required parts of the Xerces library are included in
the jar file used to run the validator.
The error message from the SAXException is generated by Xerces. Give it bad data to see an example.
Question:
Do any of the tools, including the Validation Tool, Subset tool, and Model Viewer, have dependencies on the Microsoft Java Virtual Machine, such that they would not work with the SUN JVM minus the Microsoft extensions? this is a concern because support for the MSJVM, although it has been extended, is still eventually going to end under the SUN-Microsoft agreement.
Answer:
None of the tools created by GTRI have any dependency on Microsoft extension to the Java VM. They are all developed using the Sun SDK.
Question:
Is it true that your root element can be of any type and contain elements of any type? i.e., is there any restriction on which element can contain other elements? For example your app could be based on SubjectType, which contains elements of DocumentType.
Answer:
It is up to the application or document designer to decide what
root element they wish to use for their data instances. I may decide
to use my own root element, or I could use an element from the data
model schemas. The most common model is that I would use a type
derived from DocumentType as my root element, and include
required components within it.
In any case, types in the data model are constrained in their
content. A SubjectType may not contain random elements;
all elements contained in a type are explicitly defined by the data
model schemas.
Question:
About recursion - JXDM has lots of it. My tool - Quovadx can't handle it. Is there a non-recursive version, or will there be?
Question:
Certain aspects of the JXDM make it unusable by any software that fully expands the JXDM tree, yet no one addresses or even seems to admit to the issue. I've tried to get an answer to this for about a year now.
For example: A JudicialOfficer is-a PersonType. PersonType contains PersonBabySitter and PersonBiomedicalDetails. PersonBiomedicalDetails contains things like DNA data, and Xray data, and even PersonCircumscisionIndicator. That means in the expanded Global JXDM tree JudicialOfficer has a PersonCircumscisionIndicator. Even the JudicialOfficer's babysitter has a PersonCircumscisionIndicator. Even the JudicialOfficer's babysitter's common law spouse has a PersonCircumscisionIndicator. There are an infinite number of PersonCircumscisionIndicator in an expanded Global JXDM.
"Infinite" is fundamentally different than "too large" or "too complex." In fact, the problem is not that the Global JXDM is too complex, it is not complex enough! Oversimplifications in the practical meanings and use of these Objects has resulted in a model that cannot be used by some software packages, certainly not XMLSpy and at least one other. If it cannot be used because of the infinite loops, we folks in the field are going to have to invent our own that will work with the software we have.
Answer:
Recursion has been raised as a problem by some users. This is a necessary tool for the data model. In order to represent realistic relationships, we must allow entities to refer to like entities: a person has a friend who is a person.
Any tool that attempts to expand
nested elements (and
thereby discovers the meaning of infinite recursive descent)
should rethink their methods. Should you, given an unbounded sequence
of elements, expand the infinite list? You should not. Likewise, you
should not expand recursive elements.
An alternate strategy might be to design the model such that that the object of the friend may not himself have any relations to persons, and so is a fundamentally different type. Such a definition would require a great amount of work, primarily to avoid the direct representation. Keep in mind that this direct representation helps to give the data model a great deal of power and flexibility.
You may wish to use a subset of the data model schema to omit such contained elements. You could instead use references or relationships to represent those properties, instead of contained elements.
It would not hurt to suggest to your tool vendors that they should properly support recursive schemas.
Question:
What are the internationalization options in Global JXDM? How usable will it be for exchanging information with similar projects initiated in other countries? Is there an international body doing similar efforts?
Answer:
Many of the elements in the data model schemas have references to language codes for internationalization (i18n). Names and types have been modified to accommodate requirements of i18n. However, our primary audience is the U.S. justice community, and this standard has been created appropriately.
We would appreciate similar international efforts being brought to our attention.
Question:
Regarding IDs whose tags are fully self-evident (such as PersonSSNID) - can we not use the IDType for these? As I understand it, today the actual tag for SSN would be ID (under the context of Person, PersonAssignedIDDetails, PersonSSNID) - is that correct? But it seems like ID is superfluous. Also, is it possible to use an element like PersonSSNID (with or without IDTYPE) directly under Person and not include PersonAssignedIDDetails? If all I need is SSN, what value does PersonAssignedIDDetails provide in my schema?
Answer:
This relates back to the joke "What is metadata? --The source of all bar fights between managers at information sharing conferences". In pre-releases of the Global JXDM, IDType was structured so that the ID value was represented as a literal string and other information, such as expiration date, was represented as attributes of IDType. It was determined by our domain experts that some people consider this other information that goes along with IDType to be data rather than metadata, and would thus need to be able to carry its own common metadata. This has required us to change the other information relating to IDs from attributes to elements. This in turn changes IDType from a structure that can carry a simple literal value and attributes to a structure that has sub-elements, including one for the actual ID value itself. We recognize that it is an inconvenience to some, but it is a requirement for others. This is one of the compromises we have had to make.
It is not correct to remove hierarchy from types. Of course it is possible for anyone to create a subset schema or their own schema with PersonSSNID directly under PersonType, but this would be invalid because it would create inconsistencies with the full reference schema. The goal is to make information shareable. If someone uses a modified PersonType that looks different from the common PersonType, then that modified PersonType is only understood locally.
Question:
Would you consider adding more 'code' elements which correspond to some text elements which currently exist in the Global JXDM, but for which you would not have a standard enumeration of values. An example is LocationStreetSuffix (something like that) which is of TextType. We would add LocationStreetSuffixCode and use our own code table for values. If you added these, we would not have to create them locally.
Answer:
We do see benefits in adding commonly used codes to the Global JXDM even if they do not come from a standard authoritative source since it can be better information sharing to have a single well known non-authoritative set rather than many different local non-authoritative sets. However, we would want to add non-authoritative codes carefully, making sure they are vetted before addition to be as stable as possible, requiring little in the way of future modifications.
Question:
The examples of extensions are great and very useful, but we really need to hear definite instructions on how to RESTRICT the content model for local needs. In other words, say I want to use the person type in my local deployment, but it is essential that I can restrict the length of the first name (as an example) to 32 chars max, and only one occurrence of it. I know this requires a nasty and long re-typing of much of the cited schema to obtain this result, but working out a real world example is needed by most people here and we loss credibility not to address it.
Answer:
This question was addressed during the presentation with the discussion of constraint schemas (Day 2 - The Reference Architecture) but here is a brief answer - subset schemas and constraint schemas. Subset schemas can be used not only to pick and choose which elements you want to use but also to set global constraints, such as the number of occurrences of elements within types. For example, it is perfectly valid in subset schemas to change the minimum/maximum occurrence attributes from their default values of 0 to unbounded to a user specified value.
Setting more advanced constraints, like defining one subset for PersonType in a certain context and another subset for PersonType in a different context (e.g., do you want your juvenile to look just like your criminal?) is not possible in a subset, where everything must be defined globally to stay consistent with the reference schema. These kinds of constraints can also not be set in a local namespace because the use of xsd:restriction can cause problems and is not a fool-proof way of validating constraints. To effectively control how Global JXDM components are constrained, you need to be able to control how those components are actually defined, which will have to be done in the Global JXDM namespace.
Constraint schemas are like a user sandbox in the Global JXDM namespace - users can locally define Global JXDM components without affecting actual Global JXDM definitions. In a constraint schema, you can set element PersonGivenName to be of a constrained string type with a maximum length of 32 characters. You can set occurrences here. You can also create local components. This lets you do things like create one PersonType for a juvenile (no identifying information) and a different PersonType for a criminal (lots of identifying information).
The caveats to constraint schemas are multi-pass validation and limited scope. Because constraint schemas have a lot of power and flexibility, they are able to define instances that do not conform to the Global JXDM. To make sure that you have valid Global JXDM data, you must be able to validate against either the full reference schema or a valid subset schema in addition to the constraint schema. Validating in two passes lets you check both Global JXDM conformance and local user constraints. Because of this, you cannot do things in your constraint schema that would cause inconsistencies with the reference schema (e.g., rename elements, remove hierarchy). Finally, constraint schemas are local and solely for the purpose of checking user constraints. Anything you define in this local constraint schema is just that - local. You may do things like create your own JuvenileType and your own CriminalType, but you can't reuse these components outside of the constraint schemas because they are not real Global JXDM components.
Question:
If a "traffic citation" has multiple violations but one "citation number," how would the single number (ID) be represented?
Answer:
The ActivityID property inherited by CitationType from ActivityType should be used as the citation number or citation identifier. One of the PE's asked for a Violation ID (not a Citation ID). CitationViolation is of type IncidentType, and therefore, also inherits an ActivityID from ActivityType (because IncidentType IS-A ActivityType). Therefore, an ActivityID represents a Violation ID within a CitationViolation when required. To make this a little clearer, here are the appropriate extracts from the Global JXDM spreadsheet:
Citation CitationType extends ActivityType CitationFineAmount AmountType CitationDismissalConditionIndicator j-xsd:boolean CitationDismissalConditionText TextType CitationSubject SubjectType CitationIssuedLocation LocationType CitationIssuingOfficial EnforcementOfficialType CitationAgency OrganizationType CitationViolation IncidentType Incident IncidentType extends ActivityType
Question:
If the Justice XML data dictionary is over inclusive and has optional elements, then how can a standard exchange be defined? In other words, two agencies may use the Justice XML data dictionary but not chose the same elements.
Answer:
The Justice XML data dictionary is just one part of the solution to defining standard exchanges. The dictionary contains well-defined pieces to be used in many different justice and public safety exchanges. The dictionary represents requirements from the entire community and must thus be very flexible (e.g., the same pieces are not going to be required by both a sentencing order and a traffic citation).
Having a flexible dictionary for the community is great, but it is not enough to explicitly define standard individual exchanges. This is where reference documents come in. A reference document is a schema for a single information exchange that defines what elements should appear. This could be a standard incident report, a standard traffic citation, a standard sentencing order, and so on. Each reference document may be accompanied by its own subset schema and constraint schema, which will allow the low-level kinds of constraint setting necessary to create a well-defined exchange.
Additional information about reference documents: Although none currently exist, it is expected that work developing them will begin soon. There is a list of about 150 of the most common that are planned to be created. Reference documents themselves may be customized by users by extension.
Question:
Is there a plan to document multiple mapping techniques for a given functional element, or is the intent for this tool to contain only recommended best practices? Has a method to review and approve these definitions been put together yet (for example, would this be derived from approved reference documents?)
Answer:
Context definitions are not another tool. They are simply additional terms (property names) and respective definitions that map to and are represented by a particular Global JXDM component in XML. Global JXDM components are rendered as XML in the Global JXDM schema, context terms and definitions are not. Context definitions are metadata that will exist only to improve searching in the Global JXDM. They are planned additions to the search capabilities of the model viewer and schema subset tools. There is no defined process established for collecting these context definitions. Several techniques are known and a few are obvious (for example, all inherited Global JXDM properties are clear candidates for having associated context terms and definitions) Some context definitions will likely come from reference documents. All will be approved by the XSTF.
Standard mappings are different from context definitions. These are envisioned as pre-defined mappings between commonly known data sets and Global JXDM (for example, between NIBRS and Global JXDM). There is no formal plan as yet for determining what data sets should or will be mapped. However, the intent is to work with data set owners to establish these mappings once and publish them for all to reuse.
Question:
Mapping techniques - I was intrigued by the discussion of the NIBRS mapping exercise. Are there any best practice recommendations about how to handle those "no way to map" elements, such as NIBRS elements 34/35? Is there a more elegant solution than creating local extensions to hold this kind of information?
Answer:
If a business data item can't be mapped to a Global JXDM property, a local extension is the appropriate thing to do - there is nothing more elegant. If the property is of general use within the justice community, it should be submitted for possible addition to the Global JXDM.
Question:
ActivityID vs DocumentID - Could you provide more details about the reasoning behind the decision to use ActivityID instead of DocumentID to represent CitationID? At first glance it seems more intuitive to map these identifiers to DocumentID instead, since these kind of identifiers seem to be closely linked to the paper based report.
Answer:
ActivityID is correct because it is the ID of the citation that is exchanged, and ActivityID is really the Citation ID as inherited from the broader Activity. Some implementations could have a separate and distinct DocumentID as a control number for the document itself, as opposed to the number designating a particular citation activity.
Let's say that a state pre-numbers all of the citations and tracks the IDs to deter officers from tearing up citations for their friends. Now let's say that there is a citation form with ID number C123 that has not been issued yet. C123 is not the identifier of an actual citation. So far it is only the identifier of a citation form - the document ID. Once the citation has been issued, an actual activity has occurred and now has the same value as document ID, C123.
Question:
Is there a place in Global JXDM to capture an academic degree code to indicate the highest education degree a person achieved?
Answer:
There is a text field, PersonEducationLevelText, but no code set. You may create an extension to add this local code set.
Question:
In an example used for inheritance you stated: <j:PersonAquantence xsi.type="local:DoctorType"> <j:FirstName>Bob</j:FirstName> <local:MedicalSchool>Harvard</local:MedicalSchool> </j:PersonAquantence> Is the following also valid because of inheritance? <j:PersonAquantence xsi.type="local:DoctorType"> <local:FirstName>Bob</local:FirstName> <local:MedicalSchool>Harvard</local:MedicalSchool> </j:PersonAquantence>
Answer:
That example would only be valid if you define an element
local:FirstName inside of local:DoctorType.
The element j:FirstName is defined as part of
j:PersonType.
If you change the namespace from j to
local, you lose the meaning of the element. The element
FirstName only has meaning because it is in the
j namespace, and we have defined it a certain way. And
the only reason that it is legal in the first example is because
j:PersonType is defined to contain
j:FirstName.
Question:
It seems that if we want to build constraint schemas (starting at page 35 in the Reference Architecture presentation) for specific data exchange operations, we would want to start with a copy of our organization's subset schema and "customize" from there. I realize that some of these questions may be answered by today's presentation, but...
- Is the approach outlined above reasonable?
- Is there any support in the Subset Generation Tool for generating a subset from a subset? Or for automatically updating a "saved subsetting specification" based on changes to another subset spec?
Answer:
1. Absolutely - building a constraint schema by starting from a subset schema is a great way to get started. 2. Yes, there will be (this feature is currently being developed). When a user uses the subsetter tool and builds a subset, a specification file will be returned along with the subsetted schemas. This specification file can be loaded back into the tool at a later date to make modifications to it or to use as a base for another subset.
Question:
Why is dot notation used for some elements?
Answer:
We allow multiple representations for each property in the data model. Although most properties have only a single representation, there are several that have multiple representations. In such a case, we use that dot notation to separate the property name from the representation. The value after the dot is a qualifier, which identifies the representation.
For example, the property j:BondRevokeDate is alway of
type j-xsd:date, but the property
j:BondIssuer can either be of type
j:PersonType or j:OrganizationType. So we
use the qualifier Person for j:PersonType,
and we use Organization for
j:OrganizationType. This results in two, strongly typed,
elements: j:BondIssuer.Person and
j:BondIssuer.Organization.
Question:
What is the possibility/probability of a non-internet version of the subset schema generator being released? People travel and internet connections go down for various reasons so having the ability to create subsets without needing an internet connection would be nice.
Answer:
Not likely from us. Please understand that we are not trying to build everything. That is why we work closely with the IJIS Institute Industry Working Group. Our intent is to implement a few tools in direct support of Global JXDM as rapidly as we can. We encourage industry to pick up the ball and establish additional tools that can be made commercially available with support. This is a primary reason that the specification for the Schema Subset Tool WantList (when completed) will be open source.
Question:
Is it possible to perform both conformance and constraint validation in one pass? If so, what are the advantages/disadvantages of this?
Answer:
No. The very reason multi-pass validation is used is because it resolves several major issues concerning the need for conformance validation and validation of constraints that are not contained in the basic specification (because it must be optional and over-inclusive to be flexible).
Question:
Why are relationships defined in only one direction? Some are not symmetric.
Answer:
All properties in the Global JXDM are defined to be asymmetric. Each property can be represented as a labelled, directional arc. Each property has a subject, or a thing that has the property, and an object, or value of the property.
An example of a property might be parent We could say that Bart Simpson has a parent of Homer Simpson. In this case, Bart would be the subject, that has the property. The property would be parent. The object, or the value of the property, would be Homer.
In the data model, we do not define higher level properties,
such as the implication that if Bart has parent Homer)
then
Homer has child Bart
. We also do not spell out specifically
symmetrical relationships, such as that of spouse. If we know that
Homer has spouse Marge
, we don't imply that
Marge has spouse Homer
.
Relationships in the data model are a specific representation of these properties. They follow the same model as other properties: all properties have a subject (the thing that has the property) and an object (the value of the property). Such properties may be duplicated if required by the user to represent symmetry.
Higher level understanding of these basic properties is an area for future development.
Question:
Would it be possible to get a list of the tools that Benjamin mentioned, known versions to use, and any known issues?
Answer:
Yes, the list is compiled HERE.
Question:
Will you be willing to suggest a "BOF" (Birds of a Feather) for special interest groups to get together at the end of the workshop? Just suggest that different groups gather in different locations and exchange cards. Some groups would be: Microsoft Visual Studio Developers, Java Developers, Incident Reports, Courts, Sex Offender Tracking, UML Modelers, etc.
Answer:
Unfortunately, the timeliness of this question was overlooked during the workshop. However, the Global JXDM Listserv could be used to organize such groups. Also, recall that all attendees were provided with contact information and email addresses.
Question:
When will we have a standard for exchanging credential information such as a two factor strong authentication? Without this, how can we trust out-of-state users.
Answer:
See answer to question labeled " Agreement on references or relationships" below.
Question:
With all the levels of governments and all the agencies within each level, how will agreement on inclusion, references or relationship be reached so that data can be shared?
Answer:
Interagency agreements among the levels and branches of government, and agencies within each level, provide the critical foundation of any data sharing effort, however, the development of these agreements is outside the scope of this Global JXDM initiative. The OJP has developed a wide variety of resource material to assist justice entities establish appropriate governance policies and instruments to support justice information sharing. These materials are available on the OJP IT Website. One important resource developed by OJP through a cooperative agreement with SEARCH is the Justice Information Exchange Model (JIEM) modeling tool, which can help justice organizations understand and document existing business processes and information exchange, in order to develop data exchanges using the Global JXDM components. JIEM includes four components:
Usually, JIEM analysis is conducted by bringing together a team of business process and technology experts from all the justice disciplines within a state, region, or county. This group performs an enterprise-level analysis of all their information exchanges. The JIEM tool is available at no cost to public entities, and training and technical assistance is provided by SEARCH and the IJIS Institute.
The Reference Architecture and Document Building curriculum, provided during the Developer Workshop, sets out JIEM analysis as the first step of the five step methodology for building exchange schemas using Global JXDM components.
Question:
What qualifies a system as "Justice XML compliant"? Please list some conditions whether it is the use of elements, the use of XML in general, or some other case. Structure level? In other words, does the DoJ anticipate/expect vendors to create databases and products that use Justice XML at the field level and have relationships that reflect Justice XML entities? Before you say that Justice XML is just for system exchanges, let me tell you that many people are interpreting Justice XML as a possible standard for actually structuring the data; not just for system to system exchanges. How many elements, entities, and relationships must be used to [make] a system "Justice XML compliant"? If vendors now design new systems, is the intent of Justice XML to be implemented at ... [question ends here]
Answer:
Exchanges ultimately drive the conformance between two endpoints. The representation of the data within a system is internal to that system and does not affect the conformance.
The Global JXDM is a Reference Model and is not a rigid standard that must be used exactly as it stands in its entirety. It provides the underlying infrastructure (for lack of a better term), from which the data artifacts associated with an exchange can be constructed using local exchange schemas (commonly referred to as reference documents) having local namespaces. Compliance to the Global JXDM means that the data elements used within an exchange will validate against the Global JXDM. However, compliance to the exchange is another layer of compliance that is beyond the scope of the GXJDM and the definition of those exchanges between systems still need to be defined and standardized in many cases. Please refer to the question and answer on References and Agreements for more information on this topic.
From the Management Guidance presentation, the informal rules for conformance are:
Question:
There was initial mention of the use of ebXML as the recommended standard for the exchange of data. Is conformance to ebXML standards a requirement of conducting transactions using JXDM?
Answer:
No. We said that parts of the ebXML specifications were used in Global JXDM. For example, Global JXDM uses the ebXML core component types for representation of its core types.
Question:
Can we see a practical example of translating a subschema generated by using Global JXDM into a database? For example, creating a subschema for police incident data and then implementing into an operational database for a live system.
Answer:
This is a great question! We'd like to see this too! Seriously, this is beyond the scope of our current charter. Global JXDM does not define a database design. In fact, recall that one design criteria for Global JXDM was that it should not be built to any specific system. It was designed to define and model information objects that are exchanged in the justice and public safety community. Database management system vendors are constantly adding and improving their XML interfaces and translational capabilities. Suggest you contact one and ask for a demonstration of this capability. The schema subset rules are published.
Question:
Our work group [identity omitted] is struggling with all the relationship/associated persons. Now after this workshop, we assume we would use either substitution to create our own particular relationships or reference to the person type(?) We capture non U.S. citizen data - we could not find a way to capture the entry into the U.S. method. We assume that the entry date would be the activity date and that the entry place would be from location.
Question:
Can you please explain or provide an example of how you would tag a "hold" on prisoner? Can you also provide an example of a fugitive of justice would be tagged?
Question:
Will you provide rules for creating Citation Schemas?
Answer:
These are domain specific questions that we hear often. They generally relate to the design and creation of reference document schemas for particular purposes. Domain experts have a better understanding of how this should be done. Although, the Global XML Structure Task Force (XSTF) might still be involved. There are already some formal efforts in this regard (e.g., Rap Sheet), and much work remains to be done in many specialized areas. Watch for upcoming events regarding guidance for, help with, and general information about reference document design and construction.
One additional note: The design of Global JXDM was influenced by early versions of reference documents that existed in the justice community while Global JXDM was being implemented. We also anticipate that formal efforts to design and develop additional reference documents with Global JXDM will help us to evolve and possibly expand Global JXDM.