ISO/TC 211 WG4 WI 18 Encoding Foil no. 1 Encoding CD 1.0 Vienna, Austria David Skogan Project leader work item 18 Encoding SINTEF Telecom and Informatics
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 2 Content Presentation of Encoding (pre) CD (WG4-N ) Demonstration
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 3 Design requirements ISO CD Encoding Unified Modeling Language (UML) XML Metadata Interchange (XMI) Extensible Markup Language (XML) Modeling and naming requirements Character set requirements
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 4 Contents 1 Scope, 2 Conformance, 3 Normative references, 4 Term(s) and definition(s), 5 Symbols (and abbreviated terms) 6 Fundamental concepts and assumptionsModule 1 7 Character repertoireModule 2 8 Application schema specific data structureModule 3 9 Output data structureModule 4 10Encoding service Module 5 Annex A (n) Abstract Test Suite Annex B (n) Required DTD elements Annex C (i) Extensible Markup Language (XML) Annex D (i) Character Repertoire (ISO/IEC 10646) Annex E (i) Examples
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 5 1 Scope This part of ISO specifies the encoding rule that shall be used for data interchange purposes. The encoding rule allows geographic information defined in an application schema to be coded into a system independent data structure suitable for transport or storage.... The encoding rule requires that an application schema shall exist and that it shall have been defined using the standardised conceptual schema language specified in part 3 – Conceptual Schema Language and that it shall be in conformance with the rules mandated in part 9 – Rules for Application schemas. The encoding rule shall be compatible with the Universal Modelling Language (UML). Since there are no encoding rules associated with UML for data interchange this part of ISO defines an encoding rule based on the Extensible Markup Language (XML). The choice of one international encoding rule does not exclude application domains and national countries to define and use their own encoding rules...
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 6 Data interchange Application schema I Defines Data flow System A Internal database Internal schema A File system Transfer services Encoding service R M AI i d System B Internal database Internal schema B File system Transfer services Encoding service R -1 M IB i d Data transfer System boundary Module 1
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 7 Encoding service Application schema I Conceptual schema language C Data structure schema D Encoding rule R DefinesData flow inputoutput Relationship Conceptual schema language D Instances Schema language id
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 8 7 Character repertoire This standard adopts the following international character set standards: ISO/IEC ISO/IEC Encodings: UTF-8, UTF-16, UCS-2, UCS-4 These standards define an international recognised repertoire of characters and their encodings. Additional requirements Composite characters deprecated Language tagging mechanism required Module 2
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 9 8 Application schema specific data structure 8.1 General 8.2 Attributes and data types 8.3 Associations and association ends 8.4 Schema model 8.5 Instance model Module 3
ISO/TC 211 WG4 WI 18 Encoding CD Foil no Attributes and data types A data type specifies a legal value domain and the operations on values of that domain Four categories a) Basic data types b) Collection data types c) Enumerated data types d) Model types
ISO/TC 211 WG4 WI 18 Encoding CD Foil no Basic data types Integer 23995, -532, 0 Real , -1.23E-4 Binary FEA22A59 Boolean TRUE or FALSE String “Årlig” Date Time 18:30:59+01:00 DateTime T18:30:01 DirectPosition (123, 514, 150)
ISO/TC 211 WG4 WI 18 Encoding CD Foil no Collection types A template type that indicates multiple occurrences of instances of a specific type Types Set points : Set ( GM_Point ) Bag occurrences : Bag ( Integer ) Sequence (List) points : Sequence ( GM_Point ) Dictionary named_points: Dictionary( String, GM_Point )
ISO/TC 211 WG4 WI 18 Encoding CD Foil no Associations and association ends class1class2 A association-end r1r * class1class4 C r4 1..* class1class3 B r3 1..* aggregation composition association
ISO/TC 211 WG4 WI 18 Encoding CD Foil no Schema model
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 15 Schema Model vs. UML Package Class cPropertyBasic types cAssociationAssociation and aggregations cCompositionComposition and model types Road road_no : Integer segment : GM_Curve Intersection pos : GM_Point intersect 2
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 16 Structure Level 0 – Complete schema Level 1 – Application schema package, name "RoadMap" Class and Association declarations Level 2 - Subpackages Level 1 – Standardised schema package, name "Spatial" Class and Association declarations Level 2 - Subpackages Level 1 – Standardised schema package, name "Quality” Class and Association declarations Level 2 - Subpackages
ISO/TC 211 WG4 WI 18 Encoding CD Foil no Instance model
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 18 Structure Level 0 – Top package Level 1 – Application schema package, name "RoadMap" Level 1 – Standardised schema package, name "Spatial" Level 1 – Standardised schema package, name "Quality"
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 19 Modeling requirements (UML) Naming policy Start with letter, no space within names Applies to: package, class, attribute, and role names Inheritance No redeclarations, no derived attributes! Attributes Use the basic data types and template types defined in clause 8 Associations Use the three association types of UML consistently Define role names and multiplicities at both association ends whenever needed, if only one way association are needed use one-way navigation State All attributes and associations necessary for abstract state shall be defined in application schemas and standardised schemas
ISO/TC 211 WG4 WI 18 Encoding CD Foil no Output data structure 9.1 Conversion rules 9.2 XML DTD production 9.3 XML document production 9.4 Character coding Module 4
ISO/TC 211 WG4 WI 18 Encoding CD Foil no Conversion rules Application schema Standardised schemas c Instance model i Schema conversion rules Instance conversion rules Encoding Service DTD D XML document d UMLXML Schema model I “XMI”
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 22 DTD structure An XML version processing instruction and optional encoding declaration. Example: The required DTD declarations. Declarations for the application schema. Declarations for any of the standardised schemas used by the application schema.
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 23 Required DTD declarations Element declarations GI GI.header GI.documentation GI.applicationSchema GI.lookupTable GI.content GI.difference GI.add GI.delete GI.update Entity declarations GI.element.att GI.link.att GI.Integer.cont GI.Real.cont GI.Binary.cont GI.Binary.att GI.String.cont GI.String.att GI.Date.cont GI.Time.cont GI.DateTime.cont GI.Boolean.cont GI.Boolean.att GI.DirectPosition.cont GI.Enum.cont GI.Integer GI.Real GI.Binary GI.String GI.Date GI.Time GI.DateTime GI.Boolean GI.DirectPosition
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 24 Schema conversion rules Schema modelDTD declarations Package package element declaration Class object element declaration cProperty property element declaration cAssociation association element declaration cComposition composition element declaration
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 25 Example c0 + a1 : Integer + a2 : Real > + a3 : Binary + a4 : String + a5 : Date + a6 : Boolean + a7 : EnumType + a8 : Dictionary(Real, String) + a9 : DirectPosition + a10 : Sequence(Integer) c1 + a1 : Integer 1..* +r1 c2 + a2 : Integer + a3 : Date c3 + no_items : Integer + pos : GM_Point 0..* +r1 1..* 0..*
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 26 Package General Example
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 27 Class <!ATTLIST c %GI.element.att; %GI.link.att; >
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 28 Property a1: Integer a2: Real a3: Binary a4: String... Property entity <!ELEMENT % p.c0Properties ‘p.c0.a1, p.c0.a2, p.c0.a3?, p.c0.a4... c0 + a1 : Integer + a2 : Real > + a3 : Binary + a4 : String + a5 : Date + a6 : Boolean + a7 : EnumType + a8 : Dictionary(Real, String) + a9 : DirectPosition + a10 : Sequence(Integer)
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 29 Association and composition r1 Association entity c0’s object element declaration <!ATTLIST p.c0 %GI.element.att; %GI.link.att; >
ISO/TC 211 WG4 WI 18 Encoding CD Foil no XML document production An XML version processing instruction and optional encoding declaration. Example: A mandatory reference to an external DTD subset containing the DTD declarations for the application schema and for the standardised schemas used by the application schema. Example: Any XML element that conform to the external DTD declaration and to the application schema
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 31 Instance conversion rules Instance modelXML document Package package element Object object element oProperty property element oAssociation association element oComposition composition element
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 32 Choices Identification idlocal to XML document labeluser defined label uuidunique id Naming policy Qualified name“Package.SubPackage.Class.Property” Tag name“cpty” Containment model (compositions) FlatObjects in appropriate packages Mixed NestedObjects within objects
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 33 Referencing object elements object element ... XML IDREF mechanism: Uuidref mechanism: Simple link (local): Simple link (external):
ISO/TC 211 WG4 WI 18 Encoding CD Foil no Character coding Example: Legal encodings: default UTF-8 or UTF-16 “UTF-8”, “UTF-16” “ISO UCS2”, “ISO UCS-4”
ISO/TC 211 WG4 WI 18 Encoding CD Foil no Encoding service Module 4
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 36 E.2 Example
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 37 Data RoadMap i01: Road road_no (p): "66" intersection (a): { i05, i06 } situation (c): { i02, i03, i04 } segment (c): i09 i02: RoadSituation type (p): "gravel" length (p): "159.5" i03: RoadSituation type (p): "asphalt" length (p): "30.5" i04: RoadSituation type (p): "concrete" length (p): "160.0" i05: Intersection pos (c): i07 i06: Intersection pos (c): i08 Spatial i07: GM_Point position (p): " " SRS (a): i11 i08: GM_Point position (p): " " SRS (a): i11 i09: GM_Curve SRS (a) : i11 segment (c): { i10 } i10: GM_CurveSegment controlPoint (p): { " ", " ", " " } controlParameter (p): { "1.0", "1.0", "1.0" } interpolationMethod (p): "Linear" Position i11: SpatialReferenceSystem type (p): "UTM"
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 38 RoadMap DTD %GI.fixed.elements;
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 39 RoadMap DTD cont. <!ELEMENT RoadMap.Road ( %RoadMap.RoadProperties;, %RoadMap.RoadAssociations;, %RoadMap.RoadCompositions; )? > <!ATTLIST RoadMap.Road %GI.element.att; %GI.link.att; >...
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 40 RoadMap data <GI.applicationSchema xml:link="simple" href=" gi.name="RoadMap" gi.version="1.2">Additional text 66...
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 41 RoadMap cont Add to c1 linear
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 42 Tag-based naming policy RM RoadMap rRoadMap.Road rnoRoadMap.Road.road_no rinRoadMap.Road.intersection rsiRoadMap.Road.situation rsgRoadMap.Road.segment rsRoadMap.RoadSituation rstRoadMap.RoadSituation.type rslRoadMap.RoadSituation.length iRoadMap.Intersection ipoRoadMap.Intersection.pos SPSpatial pSpatial.GM_Point osrSpatial.GM_Object.SRS ppSpatial.GM_Point.position csSpatial.GM_CurveSegment cspSpatial.GM_CurveSegment.controlPoint csaSpatial.GM_CurveSegment.controlParameter csiSpatial.GM_CurveSegment.interpolation cSpatial.GM_Curve csgSpatial.GM_Curve.segment POPosition srsPosition.SpatialReferenceSystem lookup table
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 43 Tag-based data <!DOCTYPE GI SYSTEM "roadmap-tag.dtd" [ <GI.applicationSchema xml:link="simple" href=" gi.name="RM" gi.version="1.2">Additional text &lookup.table; 66
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 44 Tag-based data cont Add to c1 linear
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 45 Demonstration Java Application (applet) Model Browser and Editor Schema Model and Instance Model Encoding Service Implementation XML read/write DTD generation Browser and Editor + Encoding Service “XMI Light” DTD XML doc. Appl. Schema Std. Schemas Application data DISGIS Esprit project Taskon, INESC, SINTEF, Iona, DIKAS, GISDK, NMA UML
ISO/TC 211 WG4 WI 18 Encoding CD Foil no. 46 Summary Inspired by XMI and based on UML and XML M1: Data interchange (requirements) M2: Character repertoire (requirements) M3: Schema and instance data structures Data types, associations Schema Model and Instance Model M4: Output data structure (Conversion rules) DTD and XML document production Two alternative naming policies Three identification mechanisms Choice of containment model M5: Encoding Service