Localization Design Approaches

Slides:



Advertisements
Similar presentations
MS-Access XP Lesson 1. Introduction to MS-Access Database Management System Software (DBMS) Store data in databases Database is a collection of table.
Advertisements

1 Web Data Management XML Schema. 2 In this lecture XML Schemas Elements v. Types Regular expressions Expressive power Resources W3C Draft:
Kentucky Transportation Cabinet: Materials Testing Web Application.
SRDC Ltd. 1. Problem  Solutions  Various standardization efforts ◦ Document models addressing a broad range of requirements vs Industry Specific Document.
Achieving Distributed Extensibility and Versioning in XML Dave Orchard W3C Lead BEA Systems.
System Integration Week 7 – Lecture 1. For a successful client/server request We need –To identify the host and process that can provide the service –To.
1 Substitution Groups in XML Schemas Tomer Shiran Winter 2003/4 Semester.
4/16/2007Declare a Schema File I1. 4/16/2007Declare a Schema File I2 Declare a Schema File A collection of semantic validation rules designed to constrain.
Integration case study Week 8 – Lecture 1. Enrolment request (Workstation) Application server Database server Database New University Student Record System.
The Information School at the University of Washington LIS 549 U/TU: Intro to Content Management Fall 2003 * Bob Boiko * MSIM Associate Chair XML Schemas.
 ACORD ACORD’s Experiences using W3C Schemas Dan Vint Senior Architect
1 ADVANCED MICROSOFT WORD Lesson 15 – Creating Forms and Working with Web Documents Microsoft Office 2003: Advanced.
REFACTORING Lecture 4. Definition Refactoring is a process of changing the internal structure of the program, not affecting its external behavior and.
National Institute of Standards and Technology 1 Testing and Validating OAGi NDRs Puja Goyal Salifou Sidi Presented to OAGi April 30 th, 2008.
NHS CFH Approach to HL7 CDA Rik Smithies Chair HL7 UK NProgram Ltd.
XML Schema Vinod Kumar Kayartaya. What is XML Schema?  XML Schema is an XML based alternative to DTD  An XML schema describes the structure of an XML.
Dr. Azeddine Chikh IS446: Internet Software Development.
Concepts and Terminology Introduction to Database.
Microsoft Access Data Base Application. A Few Terms Database – A collection of related information. Database – A collection of related information. Field.
XML – Tools and Trends Schematron Tim Bornholtz Session 55.
XRules An XML Business Rules Language Introduction Copyright © Waleed Abdulla All rights reserved. August 2004.
 Whether using paper forms or forms on the web, forms are used for gathering information. User enter information into designated areas, or fields. Forms.
XML Schema. Why Schema? To define a class of XML documents Serve same purpose as DTD “Instance document" used for XML document conforming to schema.
1 Introduction  Extensible Markup Language (XML) –Uses tags to describe the structure of a document –Simplifies the process of sharing information –Extensible.
An OO schema language for XML SOX W3C Note 30 July 1999.
XML – Part III. The Element … This type of element either has the element content or the mixed content (child element and data) The attributes of the.
An Introduction to XML Sandeep Bhattaram
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.
6 th Annual Focus Users’ Conference 6 th Annual Focus Users’ Conference Import Testing Data Presented by: Adrian Ruiz Presented by: Adrian Ruiz.
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
Introduction to XML Schema John Arnett, MSc Standards Modeller Information and Statistics Division NHSScotland Tel: (x2073)
David Orchard W3C Lead BEA Systems Web service and XML Extensibility and Versioning.
Business Rules for MeF By Greg Martinez & Donna Mucilli.
Deriving Complex Types In XML Schema By: Roy Navon.
1 Exchange Network Shared Schema Components. 2 Shared Schema Components Topics: Introduction to Shared Schema Components Purpose/value of using Shared.
Page 1 of 42 To the ETS – Create Client Account & Maintenance Online Training Course Individual accounts (called a Client Account) are subsets of the Site.
Technical Steering Committee La Jolla, January 2003 Paul Kiel, HR-XML.
#N14 Pattern Value (aka Substring attribute) SDD 1.1 Initial Discussion XXX = [Proposal | Initial Discussion | General Direction Proposal]
#SummitNow Building a Quick Solution with Alfresco Workdesk 13. November 2013 Richard McKnight - Alfresco Christian Finzel - Alfresco.
Text2PTO: Modernizing Patent Application Filing A Proposal for Submitting Text Applications to the USPTO.
Click on “My Courses”. Please note that only summative assignments can be uploaded on the new virtual campus. Formative assignments are now available online.
Ecampus Training Session Trainer: Siddhesh Krishnan.
XML Schemas Dr. Awad Khalil Computer Science Department AUC.
YANG Roque Gagliano.
Welcome POS Synchronize Concept 08 Sept 2015.
JavaScript, Sixth Edition
This is the cover slide..
Project Management: Messages
Presenter: Chris Blake, Associate Director
Welcome! To the ETS – Create Client Account & Maintenance
David Adams Brookhaven National Laboratory September 28, 2006
Programming the Web Using Visual Studio .NET
Unit 16 – Database Systems
CWA3 Standardized roll-out package Part 2: XBRL Handbook for Declarers
Get Started with Pearson’s MasteringGeography / MasteringMeteorology™
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004
Tools for reporting on MSFD Art 11 monitoring programmes
Remark Exam-Grading Instructions
Updating GML datasets S-100 WG TSM September 2017
Common Origination and Disbursement (COD) System Update
$, $$, $$$ API testing Edition
HR Data Dictionary Overview Dallas, October 2003
Tim Farlow, CPO Work Group Leader
Get Started with Pearson’s MasteringGeography / MasteringMeteorology™
I’m thinking of a number. I plus 5 and I got 11. What was my number?
WP 4 - Revision of Natura 2000 dataflow
HR-XML: Competencies Update Chuck Allen, Director, HR-XML Consortium
Chapter 10: Compilers and Language Translation
NIEM Tool Strategy Next Steps for Movement
New Applications Modeled
Presentation transcript:

Localization Design Approaches Paul Kiel Chief Architect Localization Design Approaches Heidelberg, July 2003 Welcome, introductions.

Localization Topics Localization – what do we mean? How to localize - at design time How to localize - after design time Subsetting – using only the parts you need Adding requirements – living life in an optional world Passing regional taxonomies

Localization Topics Localization – what do we mean? How to localize - at design time How to localize - after design time Subsetting – using only the parts you need Adding requirements – living life in an optional world Passing regional taxonomies

Localization – addition Adding data blocks to the standard, based on region or jurisdiction Assumptions: 1) an international “base” standard 2) Can be for region (i.e. jurisdiction) or my implementation

Localization – subtraction (a.k.a. subsetting) Omitting data blocks that are not applicable in a given region or jurisdiction Assumptions: 1) an international “base” standard 2) Can be for region (i.e. jurisdiction) or my implementation

Localization Topics Localization – what do we mean? How to localize - at design time How to localize - after design time Subsetting – using only the parts you need Adding requirements – living life in an optional world Passing regional taxonomies

Adding data blocks Q: How do we design a schema to allow the addition of regional data (using simple techniques)? A: Using a “union” or a “choice”. Some examples ….

Payroll example – a union

Payroll example - a union Let’s see the code …. Look at BenefitDeductionCategoryType.xsd, USbenefit.xsd, and xml instance

Enrollment example - a choice

Enrollment example - a choice Let’s see the code …. Look at coveragetypes.xsd, UScoveragetypes.xsd, and xml instance.

Localization Benefits of this design: Simple Future proof TPA friendly

Localization Topics Localization – what do we mean? How to localize - at design time How to localize - after design time Subsetting – using only the parts you need Adding requirements – living life in an optional world Passing regional taxonomies

Adding data blocks Q: How do we add regional data after the standard is complete? A: UserArea extension. An example …. Look at resume instance example (with resume MYCO.xsd doc)

Localization Topics Localization – what do we mean? How to localize - at design time How to localize - after design time Subsetting – using only the parts you need Adding requirements – living life in an optional world Passing regional taxonomies

Subtracting data blocks (a.k.a. subsetting) Reasons for subsetting: Reducing bloat Regulation (i.e. collecting age, gender, race data) Applicability of data to region (tighten up the spec)

Subsetting – adding additional constraints 1) Use xsd:restriction Considered broken in XML Schema Code is duplicated for the most part – little code savings 2) Edit the schema Cannot be auto-generated (ok you can … but you don’t want to!) High potential for error Keeping in sync with standard requires vigilance 3) Add additional constraints or requirements in a second step Requires two-step validation

Localization Topics Localization – what do we mean? How to localize - at design time How to localize - after design time Subsetting – using only the parts you need Adding requirements – living life in an optional world Passing regional taxonomies

Editing the schema for local needs Remove optional elements not needed For regional data or TPA-specific local data Replace string elements with enumerated lists in my implementation Add database field lengths to data elements For TPA-specific local data

Editing the schema for local needs – an example Q: How do I communicate my database field lengths for HR-XML elements like <FamilyName> or <IdValue> to my business partner? A1: Edit the schema A2: Leave schemas alone and add second step

Editing the schema Change this: <FamilyName><!– any length string --></FamilyName> <element name="FamilyName" type="string"/> To this: <FamilyName><!– 15 characters or less --></FamilyName> <element name="FamilyName"> <simpleType> <restriction base="string"> <maxLength value="15"/> </restriction> </simpleType> </element>

Editing the schema for local data Problem: What about Ids which may have different values in different contexts? Changes cannot be globally done Requires extensive editing of the original schema to “undo” the reusable modularization we benefit from at design time

Editing the schema for local data Plus: easy to understand Plus: one-stage validation Minus: requires editing of the original schema (perhaps extensive) Minus: maintenance requires highly duplicative replicas of schemas Minus: Cannot be auto-generated (ok you can … but you don’t want to!) Minus: High potential for error Minus: Keeping in sync with standard requires vigilance

Adding constraints in a second step <PersonName> <FamilyName><!– 15 characters or less --></FamilyName> </PersonName> First we create an XML file which lists constraints: <rule context="PersonName"> <assert test="string-length(FamilyName) < 15"> Error message: FamilyName must not exceed 15</assert> </rule> Then validate the instance using any XSLT processor.

Adding constraints in a second step Even better – unique contexts: <rule context=“Person/GovernmentId"> <assert test="string-length(IdValue) < 10"> Error message: IdValue must not exceed 10</assert> </rule> <rule context=“Company/BenefitPlanId"> <assert test="string-length(IdValue) < 6"> Error message: IdValue must not exceed 6</assert>

Adding constraints in a second step

Adding constraints in a second step Let’s see an example …. Show son of monkey tool for creating xslt. Then web service to validate an instance.

Adding constraints in a second step Plus: no editing of schema (nor duplicative replicas) Plus: addition of new constraints is easy (and easily communicated) for regional or TPA-specific local data Minus: requires two-stage validation Minus: not as intuitive to implement as editing of schemas

Localization Topics Localization – what do we mean? How to localize - at design time How to localize - after design time Subsetting – using only the parts you need Adding requirements – living life in an optional world Passing regional taxonomies

Passing Taxonomies Q: How can I communicate my taxonomies to my business partner?

Passing Taxonomies – Job classification example Why sure ! May I have your job classes? <CodeList> <CodeA>123</CodeA> <CodeB>456</CodeB> ….. </CodeList>

Passing Taxonomies – Job classification example Posting, please. Thank you ! <JobPosting> <ClassId>123</ClassId> … </JobPosting>

Passing Taxonomies – SIDES StaffingAction action types enums No problem ! May I have your Staffing Action types? <ActionList> <Action>RequestInt</Action> <Action>RejectInt</Action> ….. </ActionList>

Passing Taxonomies – SIDES StaffingAction action types enums Staffing Action, please. Thank you ! <StaffingAction> … <ActionType>RequestInt </ActionType> </StaffingAction>

Passing Taxonomies – the problem All these taxon-omies ! Most cumbersome ! <ActionList> ….. <Action>RequestInt</Action> <Action>RejectInt</Action> </ActionList> <CodeList> <CodeA>123</CodeA> <CodeB>456</CodeB> ….. </CodeList>

Questions for you What are my localization needs? Were my needs addressed in the presentation? Will these localization techniques work for me?

www.hr-xml.org Questions? paul@hr-xml.org