# Presentation: 587242

## Federal XML Naming and Design Rules and Guidelines (NDRG) / XML Schema Guidelines (XSG) – An Overview 

- _[Ken Sall](mailto:sallk@saic.com)_, SAIC / _[KC Morris](mailto:kcm@nist.gov)_, NIST
- Presented to the Data Architecture Subcommittee (DAS) of the CIO Council’s _[Architecture and Infrastructure Committee](http://cio.gov/index.cfm?function=eastatement)_ (AIC)
- July 13, 2006

## Agenda

- What/Who:
- NDR is? / Background / Status of NDRG / Participants
- Why:
- Interoperability / Reuse /Sharing / Proliferation of NDRs
- How:
- Approach for Going Forward / Quality of Design (QOD) Tool / XML Schema Guidelines (XSG) / Authoring and Sharing Environment
- Where:
- CORE.gov, NIST, SourceForge

## What is an “NDR”?

- Naming and Design Rules
- Any of a series of rules documents since 2003 that restrict XML Schema flexibility by proscribing which features should, may, may not, should not, must, or must not be used
- Focuses only on XML Schema
- not DTDs, RELAX NG, XSLT, XSL-FO, DOM, SAX, etc.
- Tends to be very specific and integrated; adopt as a whole, not partially – debatable!
- Original impetus was E-Commerce (UN/CEFACT and UBL)

## What is an NDR? — Naming Rules....

- Naming rules:  the names are the [XML] tags used by the exchange file
- Names represent information to be exchanged
- Names vary between the systems being integrated
- A single common name for a given concept is adopted for the integration
- Consistently representing those names helps usability of the XML Schema

**Source: KC Morris (kcm@nist.gov), Boonserm Kulvatunyou, et al, NIST/MSID (Manufacturing Systems Integration Division**

## What is an NDR? –  ... and Design Rules

- Design Rules address how information is structured
- Superstructures:  namespaces
- Microstructures: global vs local elements

**Source: KC Morris (kcm@nist.gov), Boonserm Kulvatunyou, et al, NIST/MSID (Manufacturing Systems Integration Division**

## Why is an NDR needed?

- Many features of XML (in general) and XML Schema are optional, so developers have many choices to make:
- lowercase, camelCase, UpperCamelCase, UPPERCASE?
- Namespaces as URLs or URNs?
- Local or global scope for elements?
- Versioning, modularity, extensions?
- Highly structured, consistent, and clear rules or guidelines promote *reusability, interoperability and information sharing* both within an organization and across organizations.

## Benefits of NDR Encoding

- NDR can be computationally enforced!
- Encoding of rules results in better rules
- The process of encoding tests the rules
- Executing the rules results in better XML Schemas
- The benefits of the NDR are achieved
- Cycle time from requirements for a schema to production XML is reduced
- [Korean group reduced time from 2 weeks to 3 days]

**Source: KC Morris (kcm@nist.gov), Boonserm Kulvatunyou, et al, NIST/MSID (Manufacturing Systems Integration Division**

## NDRG Background and Status [1]

- NDR = (XML) Naming and Design Rules – generic term
- NDRG = (Federal XML) Naming and Design Rules *and Guidelines*
- May 2005: Work initially funded by GSA/OGP, under the _[XML Community of Practice ](http://xml.gov/)_(Owen Ambur, co-chair). LMI: authors/editors. A dozen participants.
- 5 drafts circulated over about 9 months. Many open issues. No code examples until last version.
- Participation varied, only a few agencies represented.
- Mar. 6, 2006: Cease Work Instruction issued by GSA.

## NDRG Background and Status [2]

- Mar. 15, 2006: Going Forward - XML CoP presentations at NIST:
- NIST Quality of Design Tool (QOD)
- Lessons Learned from Encoding the DON NDR
- Potential Next Steps
- Since May 2006 – Bi-weekly telecons hosted by NIST.
- Quality of Design Tool (QOD) progressing nicely
- XML Schema Guidelines (XSG) – outline only
- Using CORE.gov for docs: NDRG/XSG Community
- Using SourceForge for QOD development
- Few participants
- July 19, 2006: KC Morris presenting to DoD Metadata WG

## NDRG / XSG: Participants (partial list)

- Key Current Participants
- KC Morris – kcm@nist.gov
- Serm Kulvatunyou – serm@nist.gov
- Josh Lubell – lubell@nist.gov
- Betty Harvey, ECC, Inc. - harvey@eccnet.com
- Ken Sall, SAIC – sallk@saic.com  (for ODNI CIO/ICEA)
- Joe Pantella, FGM, Inc. - joe@fgm.com (for DISA/DoD Metadata Registry)
- Owen Ambur - Owen_Ambur@ios.doi.gov (XML CoP co-chair)
- New Participants
- Priscilla Walmsley, Datypic – former member, W3C XML Schema and XQuery Working Group (confirmed)
- Webb Roberts, GTRI for NIEM (not yet confirmed)

## NDRG / XSG: Participants (partial list) [2]

- Previous Participants
- Paul Macias and Greg Wilson, LMI (authors of draft NDRG through Mar. 2006)
- Sol Safran, IRS
- Mike Grimley, DoN
- Chris Traver, DoJ
- Joe Chiusano, BAH
- SSgt Rebecca Wilde, USAF
- Winchel "Todd" Vincent III, xmlLegal.org
- Marion Royal, GSA/OGP
- Mark Crawford, SAP (formerly LMI)

## 20 NDRG Rule Categories

| Attribute Declaration |
| --- |
| Attribute Naming |
| Code List |
| ComplexType Definition |
| Data Element Dictionary Entry Names and Definitions |
| Documentation |
| Element Declaration |
| Element Naming |
| General Naming |
| General Type Definition |

| General XML Schema |
| --- |
| Instance Document |
| Modeling Constraints |
| Naming Constraints |
| Namespace |
| Root Element Declaration |
| XML Schema Structure Modularity |
| SimpleType Definition |
| Standards Requirements |
| Versioning |

## One NDR That Rules Them All? [1]

- U.S. Government
- _[EPA Exchange Network XML Design Rules and Conventions](http://xml.coverpages.org/ndr.html#epa)__ _
- _[Federal XML Naming and Design Rules Project](http://xml.coverpages.org/ndr.html#fed-NDR)__ _
- _[Global Justice XML Data Model (GJXDM) Naming and Design Rules](http://xml.coverpages.org/ndr.html#gjxdm)__ _
- _[IRS XML Naming and Design Rules](http://xml.coverpages.org/ndr.html#irs)__ _
- _[US Department of the Navy XML Naming and Design Rules](http://xml.coverpages.org/ndr.html#us-DON)__ _
- Education: Federal Student Aid - XML Registry
- Links from _[Cover Page on NDR](http://xml.coverpages.org/ndr.html)__._
- 					[With apologies to J.R.R. Tolkien.]

## One NDR That Rules Them All? [2]

- International
- _[Danish XML Project: OIOXML Naming and Design Rules](http://xml.coverpages.org/ndr.html#danishOIOXML)_
- _[Hong Kong OGCIO Interoperability Framework for E-Government](http://xml.coverpages.org/ndr.html#HongKongEIF)_
- _[OAGIS Naming and Design Rules (NDR)](http://xml.coverpages.org/ndr.html#oagis)_
- _[OASIS ](http://xml.coverpages.org/ndr.html#mndr)__[LegalXML](http://xml.coverpages.org/ndr.html#mndr)__[ Exchange Document Methodology, Naming, and Design Rules (MNDR) Subcommittee](http://xml.coverpages.org/ndr.html#mndr)_
- _[Universal Business Language (UBL) Naming and Design Rules](http://xml.coverpages.org/ndr.html#ubl-ndr)_
- _[UN/CEFACT XML Naming and Design Rules Technical Specification](http://xml.coverpages.org/ndr.html#un-cefact)_
- AIAG (Automotive Industry Action Group)
- Others?

## NIST Quality of Design Testing Tool (QOD)

- Contains rules based on NDRs from a number of sources
- Stores executable test cases written in Schematron and Java Expert System Shell (JESS)
- Executes tests against user-provided schemas and reports results [i.e., which rules does schema not comply with]
- Used to organize tests into *profiles*

**Source: KC Morris (kcm@nist.gov), Boonserm Kulvatunyou, et al, NIST/MSID (Manufacturing Systems Integration Division**

**Notes:**
Surveyed naming and design rules documents
Coded some of the rules
Developed a harness for executing rules
Available as a web-based service

## Why QOD?

- Addresses proliferation of NDRs
- Overlapping NDR standards
- Supports reusability of rules
- Highlights ambiguous rules
- Provides an explicit structure for rules in NDRs
- [Betty Harvey is developing an XML Schema for NDR rule structure and another for NDR document structure]
- Automates rule enforcement
- Enables versioning and traceability

**Source: KC Morris (kcm@nist.gov), Boonserm Kulvatunyou, et al, NIST/MSID (Manufacturing Systems Integration Division**

## Quality of Design Tool – Testing Environment

**Quality of Design Tool – Testing Environment**

**Common Rule **
**Database**

- QOD

- Rule N, Test N

**Schema Compliance Report**

**Schema to Check**

**Rule Input **
**& Test **
**GUI**

## QOD is a Database of Rules

- Where we are: *QOD as a Testing Tool*
- Tool is available online with an account
- Database contains sampling of rules from DON, UBL, AIAG
- Users may submit others
- Where we are going:  *NDR Authoring and Sharing Environment*
- Tool being developed at NIST
- XML Schema Guidelines (XSG) being developed within XML CoP – *help is needed!*

**Source: KC Morris (kcm@nist.gov), Boonserm Kulvatunyou, et al, NIST/MSID (Manufacturing Systems Integration Division**

## NDR Authoring and Sharing Environment

- Work in progress
- [One] XML Schema for rule [description] and exchange
- [Another] XML Schema for NDR documentation
- XML Schema Guidelines for expansion of rule base
- Reuse of rules by new COIs
- [Clone or Modify]
- Traceability and versioning of rules

**Source: KC Morris (kcm@nist.gov), Boonserm Kulvatunyou, et al, NIST/MSID (Manufacturing Systems Integration Division**

## Quality of Design Tool – w/ Authoring and Sharing Env.

**Quality of Design Tool – w/ Authoring and Sharing Env.**

**Common Rule **
**Database**

- QOD

- Rule N, Test N

**Schema Compliance Report**

**Schema to Check**

**Rule Selection**

**Custom NDRs**

**Sharing **
**GUI**

**Rule Input **
**& Test **
**GUI**

## Benefits of NDR Authoring and Sharing Environment

- Makes an NDR real
- Executable rules are integral to NDR
- Schemas can be tested for consistency with NDR
- Problems in written rules are [uncovered] as they are developed
- Reduce time spent on formatting
- Multiple output [formats] from same source (HTML, PDF, ...)
- Promote reuse
- Make it easier to extract rules from document
- Make it easier to tailor an existing NDR to meet new requirements
- Improve traceability

**Source: KC Morris (kcm@nist.gov), Boonserm Kulvatunyou, et al, NIST/MSID (Manufacturing Systems Integration Division**

## Goals and Objectives of the Current Federal XML NDRG / XSG [1]

- Common source of XML Schema rules that *may* be applied (to varying degrees) across *most* US government XML efforts.
- Derived from UN/CEFACT, ISO, and OASIS “NDR” standards.
*Customizable* for adoption at various organizational levels: federal, department, agency, and project. That is, IRS, DoN, Education, DoJ, EPA, IC, etc. can each have their own NDR derived from (and traceable to) the common source.
- Provides varying *degrees of interoperability* across these levels, proportional to the degree of strictness of rule selection.

## Goals and Objectives of the Current Federal XML NDRG / XSG [2]

- Set guidelines for use of xsd:documentation to facilitate *XML Registry Services* integration.
- Facilitate practical use of the NDRG by *providing tools for customization of the common source*, and for testing how well specific XML Schemas adhere to their respective organization’s NDRs (via the NIST Quality of Design tool).
- Develop QOD NDR Authoring and Sharing Environment at NIST.

## Proposed Action Plan for NDRG/XSG Working Group	

- Write charter based on objectives, goals, and benefits.
- Present charter to DAS for approval.
- Expand QOD Testing Environment to QOD Authoring and Sharing Environment.
- Expand initial rule set and test cases.
- Write documentation explaining how to create a rule and test case.
- Solicit input rules from all (interested) agencies.
- Solicit test cases for these rules from original contributors or work with them to develop test cases.
- Demonstrate creation of an NDR using the QOD Authoring and Sharing Environment, perhaps for the IC.
- Tackle specific problems with TEMs, such as to develop an XML Namespace Recommendation.