Presentation is loading. Please wait.

Presentation is loading. Please wait.

ZIG Tutorial, StockholmAugust 1999 Page 1 XML Encoding Rules (XER) Rob Bull

Similar presentations


Presentation on theme: "ZIG Tutorial, StockholmAugust 1999 Page 1 XML Encoding Rules (XER) Rob Bull"— Presentation transcript:

1 ZIG Tutorial, StockholmAugust 1999 Page 1 XML Encoding Rules (XER) Rob Bull bull@crxnet.com

2 ZIG Tutorial, StockholmAugust 1999 Page 2 Original Requirements... zAn immediate need (Nov. 1998): yAn abstract specification of search was needed to respond to the OpenGIS Consortium RFP for Catalog Services - CORBA, COM, Z39.50, SQL, and LDAP) zXML (eXtensible Markup Language) chosen as the notational syntax for the Catalog Services search specification

3 ZIG Tutorial, StockholmAugust 1999 Page 3 Basic Concept of XER zRules to convert between XML and BER (Basic Encoding Rules) for a protocol specified in ASN.1 (Abstract Syntax Notation) zStandardized rules for transforming: yBER encoded structures into equivalent XML structures yXML encoded structures into equivalent BER structures

4 ZIG Tutorial, StockholmAugust 1999 Page 4 Scope... zASN.1 is used in a variety of applications, protocols, and network environments with various encoding rules (e.g., BER, PER, DER) zXML provides a facility for representing character string structures and their markup rules zinitial XER focus is Z39.50-1995 (ISO 23950) Search and Retrieval protocol zIn the Z39.50 community: yASN.1 is used with BER zpotentially applicable to LDAP (lightgweight directory access protocol) and SNMP (simple network management protocol)

5 ZIG Tutorial, StockholmAugust 1999 Page 5 For example... PDU ::= CHOICE{ searchRequest [22] IMPLICIT SearchRequest, searchResponse [23] IMPLICIT SearchResponse, SearchRequest ::= SEQUENCE{ resultSetName [17] IMPLICIT InternationalString, databaseNames [18] IMPLICIT SEQUENCE OF DatabaseName, query [21] Query SearchResponse ::= SEQUENCE{ resultCount [23] IMPLICIT INTEGER, numberOfRecordsReturned [24] IMPLICIT INTEGER, nextResultSetPosition [25] IMPLICIT INTEGER, searchStatus [22] IMPLICIT BOOLEAN, resultSetStatus [26] IMPLICIT INTEGER, records Records OPTIONAL,

6 ZIG Tutorial, StockholmAugust 1999 Page 6 XML Encoding: SearchRequest 1 xxdefault [ query on next slide ]

7 ZIG Tutorial, StockholmAugust 1999 Page 7 XML Encoding: Query Detail BIB1 [operand next slide] [operand next slide] AND

8 ZIG Tutorial, StockholmAugust 1999 Page 8 XML Encoding: Operand Detail CreationDate Greater Than or Equal Date 1995-01-01

9 ZIG Tutorial, StockholmAugust 1999 Page 9 XML Encoding: SearchResponse 76 0 0

10 ZIG Tutorial, StockholmAugust 1999 Page 10 Development Approach... ze-mail list to discuss XER design and issues zParticipants/listeners include: ycommercial (large, small) xdesktop software suppliers, telecoms suppliers xdatabase software suppliers xZ39.50 and ASN.1 toolkit suppliers and consultants yacademic yresearch zXer syntax and rules have been discussed and a draft set of rules created

11 ZIG Tutorial, StockholmAugust 1999 Page 11 Development Approach... zSoftware developed zProfile for Z39.50 over HTTP discussion paper zPresentation to ASN.1 committee at Geneva in June 1999 zhas already spawned interest such as ONE-2 project

12 ZIG Tutorial, StockholmAugust 1999 Page 12 Decisions and Proposals... zThree categories of decisions and proposals: ydecisions where consensus is reached yproposals that generally affect XER yproposals that specifically affect XER and Z39.50

13 ZIG Tutorial, StockholmAugust 1999 Page 13 Consensus Reached... zThe XER generated XML should be readily understandable zXER is generally applicable to ASN.1 zXER requires well-formed XML zNo distinction between explicit, implicit yencode and decode assumes XER is implicit yapplications need to know ASN.1 and can make BER implicit or explicit yASN.1 1994 has concept of automatic tags

14 ZIG Tutorial, StockholmAugust 1999 Page 14 Consensus Reached... znamed values as empty elements, so its not: version-1, version-2 ybut it is: zuses XML namespace attribute to identify particular XML znon-validating ysome aspects of the XML record structure can be inferred from well-formed values ybeyond the inferred structure various methods exist, there is always the base ASN.1 specification for validation

15 ZIG Tutorial, StockholmAugust 1999 Page 15 Proposals... zXML namespace decisions zadding private PDUs zhow to represent tags for OIDs zTestbed yz39.50 client (BER) yBER/XER gateway (XER) yXER/BER gateway (XER) yZ39.50 server (BER)

16 ZIG Tutorial, StockholmAugust 1999 Page 16 Draft XML Encoding Rules 7.1 General rules for encoding 7.2 Encoding of a boolean data value 7.3 Encoding of an integer data value 7.4 Encoding of an enumerated data value 7.5 Encoding of a real data value 7.6 Encoding of a bitstring data value 7.7 Encoding of an octetstring data value 7.8 Encoding of a null data value 7.9 Encoding of a sequence data value 7.10 Encoding of a sequence-of data value 7.11 Encoding of a set data value 7.12 Encoding of a set-of data value

17 ZIG Tutorial, StockholmAugust 1999 Page 17 Draft XML Encoding Rules 7.13 Encoding of a choice data value 7.14 Encoding of a ASN.1 tagged data value 7.15 Encoding of an open type 7.16 Encoding of an instance-of data value 7.17 Encoding of a data value of the embedded-pdv type 7.18 Encoding of an object identifier data value 7.19 Encoding of a data value of the external type 7.20 Encoding for data values of the restricted character string types 7.21 Encoding for data values of the unrestricted character string type 7.22 Encoding for data values of the any character string type 7.23 Encoding for data values of the general string type 7.24 Encoding for data values of the visible character string type

18 ZIG Tutorial, StockholmAugust 1999 Page 18 Profile for Z39.50 over HTTP zDiscussion paper, second draft, April 1999 zArchitectural Issues: yZ39.50 is described in ASN.1 but encoding is via XER yrequirement for stateful/stateless applications xstateless - single HTTP request/response sequence comprises an entire Z-association xstateful - a Z-association is maintained across multiple TCP/IP sessions yZ39.50 PDUs will be encapsulated within HTTP protocol messages using the “Search” method

19 ZIG Tutorial, StockholmAugust 1999 Page 19 Profile for Z39.50 over HTTP zproposed approaches to mapping HTTP requests and responses to Z39.50 requests and responses zconsiderations for: ystateful, stateless yZ39.50 state-machine yhow do we handle “trickier” services such as access control, resource control, segmentation, trigger resource control

20 ZIG Tutorial, StockholmAugust 1999 Page 20 Software Developed so far... zEuropean Commission, Joint Research Centre, Ispra, Italy: yOn http://perlz.jrc.it/ a library for handling XER encoded packets with Perl is available yThe Z39.50 library contains, as an example, a gateway from XER to BER and back zBER to XML conversion library (Warnock/ Gamiel) ydemonstration utility, software description

21 ZIG Tutorial, StockholmAugust 1999 Page 21 Opportunities…. zXML developers yleverage investments in ASN.1-based applications already interoperable zASN.1 developers yleverage investments in XML-based applications coming up on the Internet

22 ZIG Tutorial, StockholmAugust 1999 Page 22 Further information... zXER home page http://asf.gils.net/xer with pointers to: ydocumentation on XER concept ydetails on rules defined ysoftware yexample PDUs ydecisions and proposals yXER discussion list and the list archive zProfile for Z39.50 over HTTP: yhttp://lcweb.loc.gov/z3950/agency/zhttp.html

23 ZIG Tutorial, StockholmAugust 1999 Page 23 Credits... This presentation incorporates content from a presentation to the ASN.1 Committee Geneva, June 9, 1999 by Eliot Christian, U.S. Geological Survey and Nick Hibma, E.C. Joint Research Commission


Download ppt "ZIG Tutorial, StockholmAugust 1999 Page 1 XML Encoding Rules (XER) Rob Bull"

Similar presentations


Ads by Google