Open Standard Voting Localization with CAM - Localization Mechanisms - Publishing Localizations - Leveraging Open Standards - XSD ingesting David RR Webber.

Slides:



Advertisements
Similar presentations
EML Alchemy NIST Voting Data Formats Workshop Gaithersburg October, 2009 David RR Webber Technical Editor OASIS Election Services TC
Advertisements

IEEE P1622 Meeting, Oct 2011 IEEE P1622 Meeting October 24-25, 2011 Guide to using OASIS EML v7.0 for UOCAVA Implementations David RR Webber Information.
Microsoft Excel 2003 Illustrated Complete Excel Files and Incorporating Web Information Sharing.
Quick Guide to CAM Blueprints
Student Manager Catalog Builder An ACEware Webinar.
Ch. 5 Web Page Design – Templates and Style Sheets Mr. Ursone.
Advanced Microsoft Word Hosted by Jared Hoffman Topics Keyboard Shortcuts Customizing Toolbars and Menus Auto Format & Auto Correct Tabs Inserting Pictures.
NIEM, CAM and the 7 “D’s” David Webber - Public Sector NIEM Team, November 2011 NIEM Test Model Data Deploy Requirements Build Exchange Generate Dictionary.
Semantics and Information Exchanges Overview – Public Sector NIEM Team, June 2011 CAM Test Model Data Deploy Requirements Build Exchange Generate Dictionary.
Intermediate Level Course. Text Format The text styles, bold, italics, underlining, superscript and subscript, can be easily added to selected text. Text.
1 of 5 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
1 of 5 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2006 Microsoft Corporation.
Exchange Interoperability Tutorial - Interoperability Mechanisms - Exchange Management - Leveraging Open Standards - XSD ingesting David RR Webber Chair.
Tutorial 11: Connecting to External Data
FIRST COURSE Creating Web Pages with Microsoft Office 2007.
XSD and jCAM tutorial - Leveraging Open Standards - XSD ingesting - Interoperability for SOA / WSDL - Exchange Management David RR Webber Chair OASIS CAM.
XML Exchange Development CAM Technology Tutorial – Public Sector NIEM Team, June 2011 CAM Test Model Data Deploy Requirements Build Exchange Generate Dictionary.
Open Standard Voting Localization with CAM - Localization Mechanisms - Publishing Localizations - Leveraging Open Standards - XSD ingesting David RR Webber.
Exploring Microsoft® Office Grauer and Barber 1 Committed to Shaping the Next Generation of IT Experts. Robert Grauer and Maryann Barber Using.
1 1 Roadmap to an IEPD What do developers need to do?
With Alex Conger – President of Webmajik.com FrontPage 2002 Level I (Intro & Training) FrontPage 2002 Level I (Intro & Training)
Microsoft Office Word 2013 Expert Microsoft Office Word 2013 Expert Courseware # 3251 Lesson 4: Working with Forms.
1 of 5 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
WYNN Reader/Wizard Training Module Karie Lawrence Cypress-Fairbanks I.S.D.
Copyright © Texas Education Agency, All rights reserved. 1 Web Technologies Website Development with Dreamweaver.
Copyright OASIS, 2005 / 2007 CAM Technology Introduction David Webber Chair OASIS CAM TC Presentation February 9 th, 2007 Bethesda MD.
OFC304 Excel 2003 Overview: XML Support Joseph Chirilov Program Manager.
® IBM Software Group © 2009 IBM Corporation Rational Publishing Engine RQM Multi Level Report Tutorial David Rennie, IBM Rational Services A/NZ
1 1 Roadmap to an IEPD What do developers need to do?
XP New Perspectives on XML Tutorial 6 1 TUTORIAL 6 XSLT Tutorial – Carey ISBN
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.
WORKING WITH XSLT AND XPATH
NIEM, CAM and the 8 “D’s” David Webber - Public Sector NIEM Team, December 2011 NIEM Test Model Data Deploy Requirements Build Exchange Generate Dictionary.
IE 411/511: Visual Programming for Industrial Applications
NIEM Blue Team Presentation April 20, 2010 Phil Letowt, Mini Kanwal, Ken Sall, David Webber ICE OCIO / Task ASAS ICE Information Exchange Reuse with NIEM.
11 MANAGING AND DISTRIBUTING SOFTWARE BY USING GROUP POLICY Chapter 5.
Chapter 6 Generating Form Letters, Mailing Labels, and a Directory
1 Quick Guide to CAM Dictionaries Building and using Canonical XML dictionaries for CAM (CAM – Content Assembly Mechanism Specification) Author: David.
David Webber, NIEM Team, Oracle Public Sector Rapid NIEM XML Exchange Design, Semantics and UML Models NIEM Test Model Data Deploy Requirements Build Exchange.
MICROSOFT WORD 2007 INTERMEDIATE/ADVANCED. CREATE A NEW STYLE BASED ON A SELECTED TEXT HOME tab > STYLES group dialog launcher > at the bottom of the.
FireRMS NEMSIS (Part 2) Presented by Laura Small FireRMS Quality Assurance.
1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector.
XP 1 Microsoft Word 2002 Tutorial 1 – Creating a Document.
© 2012 The McGraw-Hill Companies, Inc. All rights reserved. word 2010 Chapter 5 Working with References and Mailings.
Productivity Programs Common Features and Commands.
Training Guide for Inzalo SOP Users. This guide has been prepared to demonstrate the use of the Inzalo Intranet based SOP applications. The scope of this.
Salt Suite User Guide (Copyright Salt ).
Microsoft Office Outlook 2013 Microsoft Office Outlook 2013 Courseware # 3252 Lesson 6: Organizing Information.
1 Quick Guide to CAM Blueprints Using blueprints to develop XML exchange templates and schema (CAM – Content Assembly Mechanism Specification) Author:
1 NORMA Lab. 5 Duplicating Object Type and Predicate Shapes Finding Displayed Shapes Using the Diagram Spy Using Multiple Windows Using the Context Window.
1 1 CAM Toolkit for NIEM IEPD Development Phil Letowt – DHS/ICE David Webber – ICE Data Architect.
Leveraging SET, OWL, CAM and Dictionary based tools to enabled automated cross-dictionary domain translations David Webber OASIS SET TC / CAM TC (with.
Microsoft ® Office Excel 2003 Training Using XML in Excel SynAppSys Educational Services presents:
Leveraging SET, OWL, CAM and Dictionary based tools to enabled automated cross-dictionary domain translations David Webber OASIS SET TC / CAM TC (with.
Darek Sady - Respondus - 3/19/2003 Using Respondus Beginner to Basic By: Darek Sady.
McGraw-Hill/Irwin The Interactive Computing Series © 2002 The McGraw-Hill Companies, Inc. All rights reserved. Microsoft Excel 2002 Working with Data Lists.
Dictionary based interchanges for iSURF -An Interoperability Service Utility for Collaborative Supply Chain Planning across Multiple Domains David Webber.
IT533 Lectures ASP.NET AJAX.
Word Create a basic TOC. Course contents Overview: table of contents basics Lesson 1: About tables of contents Lesson 2: Format your table of contents.
Silverstein Group Presenter Moshe Silverstein A Content Assembly Mechanism Technology Overview Context & Integration A Content Assembly Mechanism Technology.
Chapter 29. Copyright 2003, Paradigm Publishing Inc. CHAPTER 29 BACKNEXTEND 29-2 LINKS TO OBJECTIVES Attach an XML Schema Attach an XML Schema Load XML.
IE 411/511: Visual Programming for Industrial Applications Lecture Notes #2 Introduction to the Visual Basic Express 2010 Integrated Development Environment.
Word and the Writing Process. To create a document 1.On the Start menu, point to Programs, and then click Microsoft Word. A new document opens in Normal.
Rendering XML Documents ©NIITeXtensible Markup Language/Lesson 5/Slide 1 of 46 Objectives In this session, you will learn to: * Define rendering * Identify.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
Product Training Program
Chapter 2: The Visual Studio .NET Development Environment
IBM Rational Rhapsody Advanced Systems Training v7.5
Exploring Microsoft® Access® 2016 Series Editor Mary Anne Poatsy
Presentation transcript:

Open Standard Voting Localization with CAM - Localization Mechanisms - Publishing Localizations - Leveraging Open Standards - XSD ingesting David RR Webber Chair OASIS CAM TC (Content Assembly Mechanism)

slide 2 Overview Goal is to promote the use of open public standards for voting systems Develop in-country localizations from standard international base set Provide common open public lexicon for elections management and verification Leverage XML and open standards approach, including NIEM* Provide developers with tools to aid delivery, documenting and testing of solutions *NIEM – National Information Exchange Model

slide 3 Approach Voting Localizations built from OASIS EML  EML has 29 pre-built components (schema) for voting processes Use desktop visual editor to pick components  Trim and select only what you need from each standard schema  Desktop toolkit makes templates for the XML required Generate localization details  Automatically build XML components to use  Build your own dictionary, compare to EML standard  Create readable documentation of details Test, Package and Publish  The CAM desktop toolkit environment supports NIEM IEPD approach Available as Open Source on SourceForge.net  Implementation of the public OASIS CAM standard for schema templates (camprocessor)

Localization Mechanisms Creating a Country Voting Localization Package

slide 5 Localization Key Components XML Schema Documentation Readable information use details ( HTML ), EML cross-reference Spreadsheet XML artifacts The localized schema and picklist.xml Examples & Test Cases Realistic test XML instances for conformance and interoperability testing     Key components (aka IEPD*) EML Schema XSD aligns voting information model, processes and domain dictionary *IEPD – Information Exchange Package Documentation

slide 6 Localization Approach Steps EML XML XSD XML XSD Voting Exchange Manage develop 1 1 ingest 2 2 Base CAM Template Base CAM Template localize 3 3 Revised CAM Template Revised CAM Template Generate 4 4 Local XML XSD Local XML XSD Compare 5 5 EML Dictionary EML Dictionary Steps: 1.OASIS develops standard international XSD schema  Implements the voting process, management and information exchange needs 2.Ingest the standard XSD into base CAM template 3.Apply localizations to CAM template  Exclude unwanted optional components  Align local exchange needs to standard  Extend for local needs 4.Generate new localized XSD schema that conform to EML standard 5.Build dictionary cross-reference of localization usage 6.Publish documentation and examples Publish 6 6 Documentation + Examples Documentation + Examples

slide 7 Creating a Package for Localization Step 1 - Ingest EML XSD – rules, structure, annotations Step 2 - Select & mark out your use model in visual editor - Save your “pick list” selections - Compress template to desired structure Step 3 - Generate your localized use XSD schema subset Step 4 - Generate and test rich concrete data examples (complete with content hints / pass / fail / random options) - Run rules engine - Verify operation and outcomes Step 5 - Build localization documentation of structure elements, usage, rules and cross-reference map Step 6 – Package, Publish and Share (IEPD)

slide 8 Challenge: XSD schema has limitations! The schema contains the superset of voting exchange component variations for every country XSD syntax does not have direct context mechanisms Hence people make everything in schema optional Dependencies are not clear It is difficult to understand the constructs and to document the rules clearly for election authorities to verify It is hard to create test cases and instances (the “pick list” tough to visualize) These are all limitations inherent in W3C Schema language itself

slide 9 Completing Localization Picture:  Base EML XSD schema structure model  CAM template + rules / refinements  Documentation of use patterns (aka “pick list” + subset XSD)  Test cases and examples  Content hinting (localization use data)  Validation engine for unit and regression testing  Open standard, open platform and open source allows consistent agreements between participants

slide 10 Localization Package Use Scenario Testing, Agreement / Alignment. Validate Templates Report Developer Uses & Creates Results Test Pass / Fail XML html Test Cases XML Package Structure Rules Context Examples Documentation Publish 1 Verify Result Outcomes XML Localization Content Hints

slide 11 Tutorial Base CAM templates – (ingesting XSD schema )  step by step example Documenting the Localization Patterns  Creating “pick list” selections  Compressing template structure  Subset XSD generation Publishing Localization package  Cross-reference spreadsheet  Documentation reporting options  Generate use dictionary Testing and Conformance  Creating Test Case examples  Content Hinting  Running Test Cases Advanced Techniques

Base CAM Templates (ingesting XSD Schema) Using jCAM editor Wizard (

slide 13 EML V6.0 provides base CAM templates Templates come pre-packaged in the EML V6 download However, for completeness we show how to generate one…

slide 14 Ingesting XSD to CAM template format EML xml EML xsd Localization Common xsd Namespace XML Schema Components CIQ xsd INGEST Structure Rules Documentation XSLT tools process entire EML XSD collection XSLT tools process entire EML XSD collection CAM = Content Assembly Mechanism OASIS EML XSD Collection

slide 15 Step 1 & 2 – Pick the XSD schema to ingest 1 Choose File / New Template First location is the root folder for the XSD collection. Typically this is the same as the location for the XSD schema you want to ingest. (Complex XSD can have this in separate folder; hence need for option) 2 Pick XSD Specify XSD Location root directory

slide 16 Step 3 – Choose the XSD parent element From the dropdown list pick the correct root element you wish to use (EML). XSD’s may have more than one collection in them (as shown here) or may not have the parent node element cleanly defined. The Wizard shows you the list of all possible ones it finds – so you can select and confirm the right one. 3 Choose XSD parent element Confirm and start the XSD ingesting

slide 17 Step 4 – Ingesting complete – Save Results 4 Completed template is loaded and save dialogue appears Processing usually takes a few seconds, some larger EML XSD can take a few minutes to process. Tip: jCAM runs the ingesting as a background task – so you can continue to use the computer while such long ingesting is proceeding. 4

slide 18 Step 5 – Review ingested structure 5 Completed template is shown in the structure navigator panel for review and editing Template contains all the default content model and structure rules ingested from the XSD. All annotations and documentation from XSD also ingested (show as “paperclip” symbol). Code lists and typical content values inserted for easy visual reference.

Documenting the Localization Patterns “Pick lists”, documentation and XSD subset generation

slide 20 Building a pick list MARK WHAT IS NOT NEEDED MARK WHAT IS NOT NEEDED Structure Rules Documentation Make pick list DESIRED RESULTS excluded items EML structure is all inclusive!!!

slide 21 Marking Items for exclude - pick list Can exclude at all levels within the structure  excludeTree()  excludeElement()  excludeAttribute() Use XPath operators to control scope:  Specific node  Group of nodes  Anywhere occurs in structure  Contextually based on condition Can add new domain elements with own namespace to EML template

slide 22 Using Editor to mark Exclude items Structure Editor Tools Select focus on item Invoke action menu (right mouse click) Pick action Tip: exclude rule display is context sensitive and only available on optional items Tip: use “Add New Rule” mode to specify different XPath for exclude (quick mode assumes “current path”)

slide 23 Export and Save completed pick list File Menu Option Select Export / Pick List and then specify filename of destination. Excluded items are designated with red “dot” in structure editor and italics font with no bold highlight

slide 24 Pick List Details EXCLUDE FLAG VALUE Exported Example Pick lists provide a handy way to catalogue the localization model and can be re-used later by importing into other templates

slide 25 Compress Operation File Menu Option Select option and specify filename for new copy of your template. Compress process removes all rules and structure items marked with an exclude statement. Note: ignores excludes that have a conditional context expression (advanced section technique). Note: You can retain both original and new compressed templates

slide 26 Extending the base EML schema In addition to excluding existing optional components you may need to add new pieces New pieces should be assigned their own extension namespace prefix – to identify them from the base EML components Typically the OASIS EML committee will review new pieces as candidates for adding to future versions of the standard Send comments and suggestions to

slide 27 Adding New Domain Elements Select root element node in structure; right mouse click for context menu; select “Add Namespace”; then enter prefix and URI 1 Select element node in structure; right mouse click for context menu; select “Add Child Attribute / Element”; then enter prefix and name 2

slide 28 Generating your EML use schema Once your localization details are completed you are ready to complete the remainder of the process This starts with generating your own new subset schema Then once schema details are OK – creating test cases, cross-reference spreadsheet and documentation

slide 29 Generating subset use schema Select Export CAM as XSD menu option 1 File Menu Option Confirm the location and filename, and namespace mode. Select ‘default’ for Mode to write a regular import set of XSD schema for each namespace 2

slide 30 Schema subset generated Set of XSD files with filename and namespace suffix Each namespace file is import for those specific type definitions Reviewing XSD results in a schema visual editor tool

slide 31 Information Restriction Considerations The CAM template allows full use of XPath conditional expressions and a rich set of over 30 functions including:  setNumberRange(), setLength(), setLimit(), setDateMask(), setNumberMask(), restrictValues(), lookup()  Those that are compatible with XSD constraints will cause constraint schema assertions to be written out when exporting to schema In the advanced topics section we will look at cross field validations using XPath conditional rules

Generating Testing and Conformance Examples Generating base examples Customizing content with Hints Selecting valid and invalid modes Running rules validation check

slide 33 Test Case Generation Quick Start File Menu Option Default directory to write examples into Name to be used for the examples How many examples to create Repeating elements count for Quick Test – just click “OK” to use default settings

slide 34 Test Case Results Active links to view the generated examples

slide 35 Advanced Generation Options How to handle optional items: all | random | none If you want deliberate errors for fail testing; (will give variety of data and structure errors) Use namespaces or not; if ‘false’ is selected – then XML instances are created with minimized namespace usage. Optional content hints (explained next ) Use slider to pick a specific seed value – or leave blank for random seed Optional schema file validation link; use this to have example validate with EML schema or local subset schema Use content type or item name (name is useful for checking backend transform processing)

slide 36 Test Case Generator Feature Summary Make both Pass / Fail testing examples Content hinting so examples use real not fake data Test optional item logic with: all / random / none Uses exclude() assertions so does not include those items – makes realistic examples of your use pattern Can pass in seed value – use when adding and testing hints (each test case is labelled with its seed value) Make hundreds of test cases without manual editing Can link test case to XSD schema for structure tests You can modify XSLT tool for own testing needs

slide 37 Run CAM Rules Check on Examples Pick Test Case Example to VALIDATE; click Finish to run validation rules Review validation results Run Menu Option 1 3 2

slide 38 Content Hinting Mechanisms Designed to create realistic data examples Hints can be provided in two ways Firstly - using ‘Value’ notes in annotations on specific items in the structure editor Second – create your own Hints XML file and add matching rules to globally apply across your template(s) – e.g. FirstName, LastName, Address, BirthDate, etc. Can export from one template, import into another

slide 39 First Approach: annotation Value Hints Select focus on structure item Invoke action menu (right mouse click) Choose “Edit Annotations”

slide 40 Then add Value annotation item Click on “Add New”, then enter “Value” as Type and confirm “OK” Select “Value” tab Enter values terminated with “|” character Re-run Example export to see results

slide 41 Second: Hints File Mechanism (XML file) like / with partial name matching key matching on tag name key / parent path matching use when same name occurs within different parents – e.g. Country and Person / NameElement with different content and context use for exact match of items use for component match on items – e.g. first with name matches Note: matching is case sensitive but ignores namespaces TIP: can use Export Hints to create initial XML file for editing

slide 42 A- Using Examples Generator with Hints Select XML hints file to be used here

slide 43 B- Import Hints into Annotations (merge) set and select as needed Option to auto- reload new anno file into current template

Documentation Cross-Reference Spreadsheet Default reporting options

slide 45 Generating Cross-Reference Spreadsheet Use Compare to Dictionary tool  Compare to default EML-V6-dictionary Drag and Drop XML file into Microsoft Excel Review and save spreadsheet workbook

slide 46 Dictionary Compare Tool Select compare tool menu option Browse and choose EML dictionary

slide 47 Drag and Drop to Excel Spreadsheet Click OK

slide 48 Documentation Layouts Five options  Source XML  Component details (XML)  Tabular format (HTML)  Interactive web page (wiki)  Code list Tabular format page layout for data analyst use and designed to make rules and use patterns clear Each documentation layout XSLT script can be customized as desired

slide 49 Tabular Documentation Documentation Menu Option Select Format, resulting HTML opens in browser viewer

slide 50 Tabular HTML Content Details Enhanced Data type Logic Extended Code list handling Clear use pattern XPath references and functions Annotations

Summary Ingesting XSD Creating use pattern (aka pick list) Generating test examples Hints system Generate XSD schema subset Running tests

slide 52 Localization Checklist Review XML Schema Documentation Readable information use details ( HTML ), EML cross-reference Spreadsheet XML artifacts The localized schema and picklist.xml Examples & Test Cases Realistic test XML instances for conformance and interoperability testing     EML Schema XSD aligns voting information model, processes and domain dictionary

slide 53 Summary Capabilities covered  Ingesting XSD to Template  Creating use pattern (aka pick list)  Generating test examples  Hints system  Generate local use XSD schema subset  Running tests  Generating documentation and spreadsheets Allows rapid localization development Enables consistent implementations Documentation provides clear details on structures, content, rules and definitions Cross-reference to EML standard

Advanced Techniques Extending rules for actual use cases Using XPath selector wizard Handling ingestion recursion issues SourceForge XSLT repository

slide 55 Importing pick list operation File Menu Option Select Import and specify filename of your existing pick list xml. Import process matches the path expressions in your pick list to the XPath expressions in the template. Exclude statements generated for matching items. Makes it easy to re-apply a pick list on new versions of schemas, or on similar schemas with same blocks of content – address, company, person, etc.

slide 56 Illustrative EML requirements When Ballot type > 0 - AND Language code > 1 Require Ballot State = CA, NV, NM When Registered Voters Total < AND Ballots > 1000 Audit alerting Resource Matching Region Restriction

slide 57 Template rules syntax ‘1000’ and( // RegisteredVoters /Total

slide 58 XPath selector wizard Check boxes allow user to select scope of rule action Conditional context rules can be optionally used Documentation notes can be added here XPath syntax is automatically generated for you

slide 59 “CAM Kit” of XSLT tools used XSD 2 CAM  extracts structure and rules and builds template from schema XML 2 pick list  builds pick list from any XML instance (uses Level Depth setting) CAM 2 Examples  Generates a collection of XML instance test cases Import/Export Hints  Manage and apply content hinting across CAM templates CAM 2 XSD export  Creates a subset XSD from CAM template

slide 60 SourceForge XSLT svn repository Using any svn client the XSLT scripts can be retrieved from:  camed/uk.org.jcam.camed/trunk/xsl/

Resources Selection of useful links and additional technical details

slide 62 Simple EML 440 Example Example using the EML 440 cast vote schema Simplified to minimum requirements Example can be downloaded here: 

slide 63 docs.oasis-open.org/election wiki.oasis-open.org/cam docs.oasis-open.org/cam Resources: