310 likes | 437 Views
XML Standards & Tools for Detector Description. Frank Olken Lawrence Berkeley National Laboratory presented to ATLAS Collaboration May 8, 2000. Outline to Talk. XML Standards Family XML, XML Namespaces, XML Schema, XSLT, SVG, … Express to XML mappings (ISO TC 184 STEP) XML Tools
E N D
XML Standards & Toolsfor Detector Description Frank Olken Lawrence Berkeley National Laboratory presented to ATLAS Collaboration May 8, 2000 ATLAS Collaboration
Outline to Talk • XML Standards Family • XML, XML Namespaces, XML Schema, XSLT, SVG, … • Express to XML mappings • (ISO TC 184 STEP) • XML Tools • Parsers, editors, DB load/unload, … ATLAS Collaboration
Purposes of XML • Intended for document structure mark up • Intended for data exchange • Mediocre data modeling facilities • Not intended for data storage representation • Portability paramount • Tends to be verbose (due to mnemonic tags) ATLAS Collaboration
Significance of XML • Modest technical improvements over prior art • Major advantage: industry consensus • IBM, Oracle, Microsoft, Sun, Informix, ... • Implication: lots of tools, portability ATLAS Collaboration
XML 1.0 • Simplified version of SGML (like HTML) • Markup metalanguage • Application specific tag sets • Uses DTDs (Document Type Defn) to specify document structure • No built-in semantics • Standard approved several years ago ATLAS Collaboration
XML Namespaces • Provides segmented address space • Avoids collisions of tag names • Full namespaces are URI references (URLs) • Abbreviated namespace references are “<abbrev:tagname>” • Hot debate of usage as values (references) • Approved as W3C recommendation (tags) • usage as data values still being debated ATLAS Collaboration
XML Schema Language • Will replace DTDs (Doc. Type Def’n.) • Uses XML syntax • hence can be created and processed with XML tools • Has basic datatypes: • integer, float, double, datetime, string, URIref • Currently in last call, candidate rec. in June ATLAS Collaboration
XML Schema Language (cont.) • Deficiencies: • Lacks collection types (set, bag, sequence) • Lacks vector, array types • Lacks complex number types • Lacks measurement units • Lacks multiple inheritance • Lacks versioning • Limited extensibility mechanisms ATLAS Collaboration
XML Schema Language (cont.) • New standards should use XML Schema instead of DTDs !!! • Advantages: • more, better tools • schema-driven validating parsers can check basic data types • new tools are emerging now, throughout summer and fall ATLAS Collaboration
XSLT • Extensible Style Language (Translation) • Language to describe XML to XML mappings (or to HTML, or to text) • Uses XML syntax • Useful for styling XML (e.g., to HTML) • Useful for message format translation, etc. • Standard is in last call. ATLAS Collaboration
DSSSL: Document Style Semantics and Specification Language • Developed for formatting SGML • Can be used with XML • Based on Scheme (a LISP dialect) • See Jade (James Clark’s DSSSL Engine) • See Open Jade project ATLAS Collaboration
Scalable Vector Graphics • Standard for encoding 2D vector graphics • Browser plug-ins available now to render • e.g., Adobe, ... • Allows browser to pan/zoom • Standard is in last call • Ugly syntax ATLAS Collaboration
XMI = XML Metadata Interchange Format • Originally, encoding of UML models in XML • For exchange of UML models and data stored in UML specified • Developed by Object Management Group • Now in version 1.1 (uses namespaces) • V 1.2 (XML Schema based) in development ATLAS Collaboration
STEP to XML Mappings • Standard for the Exchange of Product Data • Includes several geometry representations • EXPRESS = modeling language • (extended entity relationship model) • STEP Part 28 • maps STEP datasets/schemas into XML • Currently being drafted by ISO TC 184 ATLAS Collaboration
STEP to XML Mappings (cont.) • XML encoding of EXPRESS schemas • Multiple encodings of STEP data to XML • Late binding STEP data to XML • generic XML DTD, not schema specific • limited utility • Early Binding STEP to XML • attribute-based encoding (poor) • element-based encoding (preferred) ATLAS Collaboration
STEP to XML Mappings (cont.) • EXPRESS to UML mapping • UML = Unified Modeling Language • UML popular modeling methdology • UML to XML mapping • Called XMI by Object Mgt. Group • Hence: EXPRESS -> UML -> XMI • Advantage: exploits UML to XMI tools • Disadvantage: complex, verbose XML ATLAS Collaboration
XML Tools • XML Schema editors • Structured XML document editors • XSLT Stylesheet editors/debuggers • XML Parsers • XSLT engines • Storage/query engines ATLAS Collaboration
XML DTD / Schema Editors • Structured editors for XML DTDs, Schemas • Used to create document structure specs • XML Authority schema editor • from Extensibility • handles multiple DTD/schema languages • IBM’s alphaWorks Schema Editor • XML Spy, et al. … ATLAS Collaboration
XML Structured Document Editors • DTD / schema based editors • Used for word processing, data entry, ... • Context constrained tag generation • Automatic generation of closing tags • Immediate datatype checking (if schemas) • Xmetal, Adept, XML Pro, … ATLAS Collaboration
XML Stylesheet Editors • Structure-based editor for XSLT stylesheets • Multi-window user interface • (XML source, XSLT stylesheet, output) • XSLT Debugging tools • single step execution • identification of which rule fired ATLAS Collaboration
XML Parsers • Parsers process XML input files for applications programs • Non-validating parsers only check for well formedness • (matching opening and closing tags) • Validating parsers check syntax • (conformance to DTD/schema) • Use validating parsers - catch errors early ATLAS Collaboration
XML Parser API’s • SAX 1.0 and 2.0 • event-based, • suitable for stream processing - e.g. querying • DOM API • based on Document Object Model (parse tree) • requires entire DOM in memory • suitable for sorting portions of document, restructuring documents, etc. ATLAS Collaboration
XML Parsers (cont.) • Many good free parsers available • Available in C, C++, Java, Python, Perl • XP (J. Clark), RXP (R. Tobin), ... • IBM, Sun, Microsoft, Oracle, ... • IBM + Sun donated to Apache • Schema support this spring or summer ATLAS Collaboration
XSLT Processors • XSLT = XSL Transformation Language • XML to XML or HTML (or text) • Suitable for most message reformatting • Also for XML to XSL formatting objects • XT (James Clark) • Saxon (Windows xx only) • Lotus XSL (Java Bean from IBM ) ATLAS Collaboration
Browser support of XML • IE 5.0 (now) has (nonstd.) XML support • directly renders XML • Netscape 6.0 (April) may render XML(?) • Opera 4.0 (alpha now) supports XML • Alternatives: • server side translation to HTML • plug-ins (e.g. transcode to HTML) ATLAS Collaboration
XML Storage • Alternative approaches: • relational DBMS • hybrid object/relational DBMS • object oriented DBMS • How finely to decompose document? • Vendors: • Excelon, IBM, Oracle, Software AG, Informix, Infoshark ATLAS Collaboration
XML Query Engines • W3C XML Query Language WG at work • XML QL will permit direct query of XML • synthesis of XML encoded query results • Proposals: • IBM, Microsoft, ATT, Software AG, … • Products: • Nimble.com ATLAS Collaboration
Conclusions • XML Schema Lang. v.1.0 is nearly done • Use XML Schema Language not DTDs • Use schema-driven validating parsers • Use SVG for 2D Vector Graphics • Many schema driven document editors available shortly (XML Spy, Xmetal, …) ATLAS Collaboration
Acknowledgements • This work has been supported entirely by the U.S. Environmental Protection Agency. • Program managers: Bruce Bargmeyer and Mike Cullen. ATLAS Collaboration
XML Information Sources • w3c.org (World Wide Consortium - XML stds) • xml.com (O’Reilly web site) • Robin Cover’s XML Web Page at OASIS • oasis-open.org (XML DTD/Schema Registry) • ebxml.org (e-commerce architecture) • biztalk.org (Microsoft) • xml.apache.org (XML in Apache webserver) ATLAS Collaboration
XML Information Sources • wfmc.org (Workflow Mgt. Coalition - now AIIM) • XML Journal, XML Magazine, ... • gca.org • XTECH Conference (February in San Jose) • XML Europe Conference (June in Paris) • Extreme Markup Conference (August in Montreal) • XML 2000 (Washington, DC in December) • Inside DTDs (book on scientific MLs) ATLAS Collaboration