A Tool Kit for Implementing XML Schema Naming and Design Rules OASIS Symposium: The Meaning of Interoperability May 9, 2006 Josh Lubell,

Slides:



Advertisements
Similar presentations
What is proper format for the XDW document. In its first year, XDW has been exposed to feedback, and this public comment phase –to allow clarifications.
Advertisements

Metadata vocabularies and ontologies Dr. Manjula Patel Technical Research and Development
XML: Extensible Markup Language
XML 6.7 XForms 6. Motivation HTML forms deliver the interactive WWW Forms are what make electronic transactions possible HTML forms are long overdue for.
SRDC Ltd. 1. Problem  Solutions  Various standardization efforts ◦ Document models addressing a broad range of requirements vs Industry Specific Document.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Object-Oriented Analysis and Design
TC3 Meeting in Montreal (Montreal/Secretariat)6 page 1 of 10 Structure and purpose of IEC ISO - IEC Specifications for Document Management.
Automatic Data Ramon Lawrence University of Manitoba
IRS XML Standards & Tax Return Data Strategy For External Discussion June 30, 2010.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
Introduction to XML This material is based heavily on the tutorial by the same name at
International User Group Information Delivery Manuals: General Overview Courtesy:This presentation is based on material provided by AEC3 and AEC Infosystems.
BIS310: Week 7 BIS310: Structured Analysis and Design Data Modeling and Database Design.
4/20/2017.
Metadata Standards and Applications 4. Metadata Syntaxes and Containers.
GJXDM Information Exchange Package Methodology Naming & Design Rules (MNDR) John Ruegg County of Los Angeles Information Systems Advisory Body GJXDM User.
National Institute of Standards and Technology Lessons Learned from Encoding the DON NDR March 15, 2006 US/DoC/NIST/MEL/MSID.
XP New Perspectives on XML Tutorial 4 1 XML Schema Tutorial – Carey ISBN Working with Namespaces and Schemas.
Pemrograman Berbasis WEB XML part 2 -Aurelio Rahmadian- Sumber: w3cschools.com.
Customization Discussion Revised 29 August Guidelines for Customization Introduction Design For conformance For compatibility Specification Using.
ULI101 – XHTML Basics (Part II) What is Markup Language? XHTML vs. HTML General XHTML Rules Block Level XHTML Tags XHTML Validation.
National Institute of Standards and Technology 1 Testing and Validating OAGi NDRs Puja Goyal Salifou Sidi Presented to OAGi April 30 th, 2008.
Why XML ? Problems with HTML HTML design - HTML is intended for presentation of information as Web pages. - HTML contains a fixed set of markup tags. This.
XP 1 CREATING AN XML DOCUMENT. XP 2 INTRODUCING XML XML stands for Extensible Markup Language. A markup language specifies the structure and content of.
Profiling Metadata Specifications David Massart, EUN Budapest, Hungary – Nov. 2, 2009.
1 © Netskills Quality Internet Training, University of Newcastle Introducing XML © Netskills, Quality Internet Training University.
1 XML as a preservation strategy Experiences with the DiVA document format Eva Müller, Uwe Klosa Electronic Publishing Centre Uppsala University Library,
A Z Approach in Validating ORA-SS Data Models Scott Uk-Jin Lee Jing Sun Gillian Dobbie Yuan Fang Li.
XML 1 Enterprise Applications CE00465-M XML. 2 Enterprise Applications CE00465-M XML Overview Extensible Mark-up Language (XML) is a meta-language that.
UN/CEFACT Forum Wednesday, 16 March 2005 Lunch & Learn ATG XML NDR Mark Crawford ATG2 Chair U NITED N ATIONS C ENTRE F OR T RADE F ACILITATION A ND E LECTRONIC.
TEXT ENCODING INITIATIVE (TEI) Inf 384C Block II, Module C.
What is XML?  XML stands for EXtensible Markup Language  XML is a markup language much like HTML  XML was designed to carry data, not to display data.
XML – Tools and Trends Schematron Tim Bornholtz Session 55.
Developing a common set of federal NDR’s Mark Crawford Draft April 28, 2005.
Processing of structured documents Spring 2002, Part 2 Helena Ahonen-Myka.
Federal XML Naming and Design Rules and Guidelines (NDRG) / XML Schema Guidelines (XSG) – An Overview Ken SallKen Sall, SAIC / KC Morris, NISTKC Morris.
UKOLN is supported by: Approaches to Metadata Quality Marieke Guy QA Focus A centre of expertise in digital information management
XML A web enabled data description language 4/22/2001 By Mark Lawson & Edward Ryan L’Herault.
Federal XML Naming and Design Rules and Guidelines Mark Crawford.
Manufacturing Systems Integration Division A Development Process for Content Standards KC Morris, Boonserm (Serm) Kulvatunyou, Josh Lubell, and Puja Goyal.
Development Process and Testing Tools for Content Standards OASIS Symposium: The Meaning of Interoperability May 9, 2006 Simon Frechette, NIST.
SDPL 2005Notes 2.5: XML Schemas1 2.5 XML Schemas n Short introduction to XML Schema –W3C Recommendation, 1 st Ed. May, 2001; 2 nd Ed. Oct, 2004: »XML Schema.
Global Justice XML Data Model Naming and Design Rules 17 August 2005.
New Perspectives on XML, 2nd Edition
SE: CHAPTER 7 Writing The Program
Overview of the DON XML Vision, Policy, and Governance Bob Green & Stephanie Gernert Office of the Dept. of Navy Chief Information Officer (DON CIO)
Web Architecture: Extensible Language Tim Berners-Lee, Dan Connolly World Wide Web Consortium 元智資工所 系統實驗室 楊錫謦 1999/9/15.
1 Metadata –Information about information – Different objects, different forms – e.g. Library catalogue record Property:Value: Author Ian Beardwell Publisher.
An Introduction to XML Sandeep Bhattaram
XML 2nd EDITION Tutorial 4 Working With Schemas. XP Schemas A schema is an XML document that defines the content and structure of one or more XML documents.
1 Tutorial 14 Validating Documents with Schemas Exploring the XML Schema Vocabulary.
Schematron Tim Bornholtz. Schema languages Many people turn to schema languages when they want to be sure that an XML instance follows certain rules –DTD.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
The future of the Web: Semantic Web 9/30/2004 Xiangming Mu.
1 herbert van de sompel CS 502 Computing Methods for Digital Libraries Cornell University – Computer Science Herbert Van de Sompel
Dictionary based interchanges for iSURF -An Interoperability Service Utility for Collaborative Supply Chain Planning across Multiple Domains David Webber.
Leveraging UBL for Developing Justice XML (GJXDM) Reference Documents John Ruegg County of Los Angeles Information Systems Advisory Body GJXDM User Conference.
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
Metadata ESA Workshop. In this session we will discuss…  Metadata: what are they? and why should they be created?  Metadata standards  Creating metadata.
Manufacturing Systems Integration Division Development Process and Testing Tools for Content Standards Simon Frechette National Institute of Standards.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
EbXML Semantic Content Management Mark Crawford Logistics Management Institute
OWL Web Ontology Language Summary IHan HSIAO (Sharon)
PART 1 XML Basics. Slide 2 Why XML Here? You need to understand the basics of XML to do much with Android All of they layout and configuration files are.
Advanced Accounting Information Systems Day 34 XBRL Instance Documents and Taxonomies November 13, 2009.
Experiences and Status
Information Delivery Manuals: Functional Parts
Information Systems Advisory Body GJXDM User Conference - June, 2005
New Perspectives on XML
Presentation transcript:

A Tool Kit for Implementing XML Schema Naming and Design Rules OASIS Symposium: The Meaning of Interoperability May 9, 2006 Josh Lubell, National Institute of Standards and Technology Manufacturing Systems Integration Division

XML Exchange Schemas are Bridges

But Bridges Must Be Designed Properly

A Solution: Naming and Design Rules n Encode XML schema best practices n Enforce a particular modeling methodology n Ensure common naming conventions l Use of camel case l Allowable acronyms l … n But NDRs can be difficult to apply

Barriers to NDR Usefulness n Proliferation l How do I decide which NDR set to adopt? l Should I develop my own NDR? n Lack of structure l NDR documents usually in proprietary word processor formats l Inhibits rule reuse l Limited versioning and traceability n Ambiguity l Rules written in English rather than computer- interpretable language l NDR enforcement not automatic

Schematron as an NDR Implementation Method n Advantages l XML-native (based on XPath) l Rule-based l Can test for co-occurrence constraints l User-configurable diagnostic messages l ISO standard n Disadvantage l Less versatile than a general purpose programming language

Example from Universal Business Language NDR [ELD1] Each UBL:DocumentSchema MUST identify one and only one global element declaration that defines the document ccts:AggregateBusinessInformationEntity being conveyed in the Schema expression. That global element MUST include an xsd:annotation child element which MUST further contain an xsd:documentation child element that declares “This element MUST be conveyed as the root element in any instance document based on this Schema expression.”

Implementation Observations [ELD1] Each UBL:DocumentSchema MUST identify one and only one global element declaration that defines the document ccts:AggregateBusinessInformationEntity being conveyed in the Schema expression. That global element MUST include an xsd:annotation child element which MUST further contain an xsd:documentation child element that declares “This element MUST be conveyed as the root element in any instance document based on this Schema expression.” Rule label Namespace dependence Subrule 1 Context 1 Subrule 2 Context 2

UBL Lessons Learned n Implementation non-trivial even for a seemingly simple rule n Some rules require a general purpose programming language for implementation l [GNR1] UBL XML element, attribute and type names MUST be in the English language, using the primary English spellings provided in the Oxford English Dictionary. l [GNR7] UBL XML element, attribute and type names MUST be in singular form unless the concept itself is plural. n Some rules cannot be implemented at all l [NMS6] UBL published namespaces MUST never be changed. l [VER10] UBL Schema and schema module minor version changes MUST not break semantic compatibility with prior versions. n MUST versus SHOULD versus MAY l More on MAY later…

Dept. of Navy (DON) NDR Case Study n 128 rules n Based on UBL NDR n Why choose the DON NDR? l Help developers write better schemas for Federal government applications l Gain insight into best practices for NDR development (particularly reuse of existing NDRs) l Publicly available l A Navy standard

DON NDR Testability (using Schematron)

Issue: Use of MAY n A rule saying that something MAY occur, strictly speaking, will always pass l But this may not be the rule creator’s intent n Example: [CTD8] Code and ID ccts:BBIE Property complex types MAY use the xsd:choice element to reference global elements defined in standardized ID Scheme or Code List Schema modules. n Approaches l Consider rule as guidance only (don’t implement) l Interpret MAY as discouragement, e.g. “warning: referencing global element using xsd:choice”

Issue: Requirement for External Resources [GNR1] UBL XML element, attribute and type names MUST be in the English language, using the primary English spellings provided in the Oxford English Dictionary. n Implementation requires access to electronic OED n And the DON adaptation of this rule has additional requirements: [GNR1] XML element, attribute, and type names MUST be in the English language, using the Oxford English Dictionary for Writers and Editors (Latest Ed.). Where both American and English spellings of the same word are provided, the American spelling MUST be used. l Electronic OED must be fully up to date

n Illustrated by UBL rule GNR1 versus DON rule GNR1 n DON rule same as UBL rule, but with added contraints l American spelling favored l Latest OED edition required n But no explicit relationship specified in DON NDR! n Both rules have same ID, even though they are different rules n Improved traceability and reusability would reduce the confusion Issue: Rule Proliferation

Issue: Ambiguous Terminology n More rigor needed in NDR definitions n Example: “xsd:SchemaExpression” l Not defined in W3C XML Schema recommendation l Used but not defined in DON NDR l Defined in UBL NDR to mean “a concept”

Issue: Mixed Content n Essential for representing semi-structured data n But allowing it makes the NDR more complicated n UBL NDR forbids mixed content n DON NDR allows it, but only if defined by a namespace from a Navy-approved standard (e.g. XHTML) l But XHTML element and attribute names violate rule GNR1!

Quality of Design (QoD) Tool Contains rules based on naming and design guidelines (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 Rules grouped into test profiles

Why QoD? n Addresses proliferation of NDRs l Overlapping NDR standards l Supports reusability of rules n Highlights ambiguous rules n Provides an explicit structure for rules in NDRs n Automates rule enforcement n Enables versioning and traceability of rules

Candidate NDRs n OASIS Universal Business Language (UBL) n US Department of the Navy (DON) n Korean Institute for Electronic Commerce n Open Applications Group (OAGIS) n US Air Force n US Federal CIO Council XML Working Group n ASC X12 (CICA) n FIATECH (capital facilities industry)

Architecture of QoD Web Application

Characteristics of Rules n Coverage: full, partial, none n Applicability: indicates type of schema (document, low, or aggregate) the rule applies to n Rationale: reason for rule from a list of justifications n Requirement: text from the NDR document n Implementation File: URI of the file containing the implementation of the rule

Example XML Description of a Rule using QoD Exchange Schema OASIS Universal Business Language (UBL) Naming and Design Rules Element Declaration Rules full D structural clarity Each UBL:DocumentSchema MUST identify one and......

QoD Test Profile Exchange

Application to Developing XML Schemas n Currently a limited set of rules are implemented n Recently implemented subset of DON NDR in Schematron n Tested with a small but varied set of sample schemas l Navy – IETM Schema Q70:IETM (Interactive Electronic Technical Manual) l Grants.gov l AEX (building and construction industry) l US Dept. of Defense n Provided meaningful results to schema developers

Examples of types of warnings found in developing XML Schemas n Global elements declared in non-desirable places n Anonymous/local types defined in non- desirable places n “Global” schemas that do not declare a default namespace n Document/Transaction level schemas that define multiple global elements n Re-declaration of elements and types (e.g. programType) in different namespaces

Lesson Learned in coding NDRs n NDR documents need to be regarded as rigorous technical documentation l More review needed l Better authoring tools needed n Rules that cannot be implemented are non- enforceable n Definition of NDRs is non-trivial l Many rules cannot be tested l Many rules are more difficult to implement than thought l Difficult to reuse rules due to namespace definitions l Often rules are ambiguous or unclear n Implementation of rules is non-trivial l Testing of rules is complex l All boundary conditions need to be thought of and covered n Legacy data and 3 rd party schemas need to be addressed in NDRs

What’s Next n Continue to expand our NDR rule-base n Continue to enhance software based on user requirements n Produce a tool kit for NDR developers l Enhance QoD schema to represent entire NDR document l Provide authoring templates n Identify collaborators for future work l If interested, contact me!

Summary n A process for XML schema development is necessary n Tools can automate the process, thereby reducing labor and deployment time n Definition and implementation of NDRs is non-trivial but necessary to support reuse of schemas n Enforcing NDRs will ultimately make XML schemas more interoperable

For More Information n Lubell, et al., Implementing XML Schema Naming and Design Rules, submitted to Extreme Markup Languages 2006 n QoD information page: n QoD SourceForge project: