Скачать презентацию SP 2001 XML Technologies and Applications Cheng-Chia Chen Скачать презентацию SP 2001 XML Technologies and Applications Cheng-Chia Chen

b98fe7b2904e7735ba3dea424f2c4435.ppt

  • Количество слайдов: 84

SP 2001 XML Technologies and Applications Cheng-Chia Chen Feb. 2002 Transparency No. 1 SP 2001 XML Technologies and Applications Cheng-Chia Chen Feb. 2002 Transparency No. 1

XML Introduction contents l What is XML ? l Where does XML come from? XML Introduction contents l What is XML ? l Where does XML come from? What is its status? l Why do we need XML ? l XML v. s Other formats l Core XML Specifications and APIs l How can we do with XML? l XML sites l A partial list of XML applications and industry initiatives l a sketch of XML documents Transparency No. 2

XML Introduction What is XML ? l The e. Xtensible Markup Language a data-structure XML Introduction What is XML ? l The e. Xtensible Markup Language a data-structure definition language : let you define the structure and format of your own data. a data format (syntax) used for the representation, storage and transmission of data whose format it defined. Text-based markup Language, let you define your own HTML-like markup languages. Recommended by World Web Consortium (W 3 C) in Feb 1998. intended to be used a new message format over the Internet to complement the inadequacy of HTML. a subset of SGML l is now very popular and becomes the dominating interchange format of information over the internet Transparency No. 3

XML Introduction A Glimpse of a simple XML document l HTML source code for XML Introduction A Glimpse of a simple XML document l HTML source code for a product catalog:

Product ID Description Price
12345678 -Q Mitac 5339 -1 NT$60, 000
Transparency No. 4

XML Introduction A glimpse of a simple XML document (cont’d) l XML uses markup XML Introduction A glimpse of a simple XML document (cont’d) l XML uses markup tags as well, but, describe the content, rather than the presentation of that content. l the same example coded in XML: 12345678 -Q Mitac 5339 plus NT$60, 000 Notes: 1. Only contents are encoded in the XML text. 2. All data are annotated by markups indicating their roles or functions in the message. Transparency No. 5

XML Introduction Where does XML come from ? l a simplified subset of the XML Introduction Where does XML come from ? l a simplified subset of the Standard Generalized Markup Language (SGML) standardized in 1986, based on the Generalized Markup Language invented by IBM in 1969 l simplified for more general use on the Web and as a data interchange format. without losing extensibility, easier for anyone to write valid XML. easier to write a parser easier for the parser to quickly verify that documents are well-formed and/or valid. l Recommended by W 3 c at Feb. 1998. Transparency No. 6

XML Introduction What is the status of XML? l embraced by all of the XML Introduction What is the status of XML? l embraced by all of the leaders in the computer industry. many vertical industries are embracing XML for its ability to expedite the availability of their domain-specific information for internal and external use. IBM, Microsoft, Sun, Oracle, HP, … l There are many W 3 C-proposed extensions to XML. Most use the XML language, which minimizes the differences in syntax that must be learned. Transparency No. 7

XML Introduction Sun’s java API support for XML (skipped) l JAXP (java API for XML Introduction Sun’s java API support for XML (skipped) l JAXP (java API for XML Parsing; 1. 0; 1. 1) enables Java applications to read, manipulate, and generate XML documents. 1. 1 supports (DOM) Level 2. l JAXM (Java API for XML messaging) enables packaging, routing, and transport of XML and other messages using HTTP, SMTP, and FTP, useful to programmers building robust, secure e-commerce applications. l JAXB (Java API for XML Data Binding ) intended to help develop and maintain XML-enabled applications with a minimum of effort. JAXB maps XML documents to Java objects. include a compiler automatically generating Java classes from XML schemas. Transparency No. 8

XML Introduction Why do we need XML ? l Old three-tier WWW architecture : XML Introduction Why do we need XML ? l Old three-tier WWW architecture : l Major information flows (for human information retrieval): (human) -->client browser --(http)--> web. Server --> CGI(query) --> databases -->wrap result into html or other MIME formats --(http) ---> browser ---(data rendering) --> human l major interactions and interchanged data formats: application type: information retrieval Man ---(html/MIME)--- machine(browser+web server) web server ----(machine dependent)--- backend system (databases) Transparency No. 9

XML Introduction client browser query(post, get) http IE 5, 6 client browser NETSCAPE html/text XML Introduction client browser query(post, get) http IE 5, 6 client browser NETSCAPE html/text gif/jpeg video/audio web server the internet . . . client browser . . . web server apache file system databases web server IIS file system result tables file system query databases Transparency No. 10

XML Introduction The other major WWW applications: business applications Transparency No. 11 XML Introduction The other major WWW applications: business applications Transparency No. 11

XML Introduction Additional Interactions for WWW business applications l New application type : web XML Introduction Additional Interactions for WWW business applications l New application type : web service l additional interactions backend business system <---> webserver <---> backend business system l Problem: Too many data format exist among the systems and web servers understanding all kinds of data formats are hard to implement. l Solution: define a universal or a small set of universal data formats and require all systems to transmit data using such formats. l but the existing HTML + MIME formats not enough ? NO!! HTML, while amendable to human via browsers, is not easy for machine to understand/retrieve data. Transparency No. 12

XML Introduction Advantages of XML over HTML l XML can define your own tags. XML Introduction Advantages of XML over HTML l XML can define your own tags. l XML tags describe the content, rather than the presentation of that content easier for content search. easier for page development (separating content from view) easy for devices to render the contents depending on its environments (single model/multiple views) l Notes for the next figure: searches can be applied to XML data more easily, and the result can be rendered differently, depending on the destination device. the XML processor can exist on the server, the client, or both. Transparency No. 13

XML Introduction work done by the XML processor in response to a client request: XML Introduction work done by the XML processor in response to a client request: 1. collect data from related data sources 2. merge sources into a unifying content 3. rendering data depending on the client’s environment. Transparency No. 14

XML Introduction Business area benefited from XML use l e-commerce there are now many XML Introduction Business area benefited from XML use l e-commerce there are now many specific XML languages to describe orders, transactions, inventory, and billing. These open XML languages will allow manufacturers, retailers, and consumers, even banking and accounting systems to share the same data. l Meaningful searches, platform independence If Web data (contents) is encoded in XML, customers can find your product or service, and purchase it, without regard for the used (server/client) platforms. l Data accessibility XML schema allow XML documents to encode the datatype information and relationships in existing databases. Transparency No. 15

XML Introduction Business area benefited from XML use XML extensions such as XQuery can XML Introduction Business area benefited from XML use XML extensions such as XQuery can be used to specify queries within XML. Database information can be immediately accessible as XML on corporate intranets or the Web. µ XML views provided now by most venders Transparency No. 16

XML Introduction Business area benefited from XML use l Application simplification Today's applications suffer XML Introduction Business area benefited from XML use l Application simplification Today's applications suffer from file-format bloat. XML's open and extensible nature allows us to represent all of the functionality of different existing formats in one XML domain-specific grammar. enable the sharing of data over the Internet. µSince the actual data but not its presentation is encoded, it may be presented on any output device from the PC with a browser to the cell-phone and small PDA. Transparency No. 17

XML Introduction Comparison of XML and Other formats l HTML l Text-based non-markup formats XML Introduction Comparison of XML and Other formats l HTML l Text-based non-markup formats . cpp . java . ini … l Binary formats . dll . exe. o . swf . class . png. jpeg … Transparency No. 18

XML Introduction Advantage of XML over text formats Ex: Java. ML v. s Java; XML Introduction Advantage of XML over text formats Ex: Java. ML v. s Java; Cpp. ML v. s Cpp XMI v. s rational’s proprietary format web. xml v. s ***. ini (for configuration) l advantage: structure explicitly represented in the XML format. (free and) standard tools (and API) exists for quick parsing of the XML format. => front-end processing avoided/reduced l disadvantage: too verbose. for storage and transmission. µ can be overcome by compression for human generation; (not a problem for machine generation) µ require smarter editor for human reading/comprehension: µ a real problem!! Transparency No. 19

XML Introduction Advantage of XML over binary formats l Example: class. ML v. s. XML Introduction Advantage of XML over binary formats l Example: class. ML v. s. clss file format. swlml v. s swf (Flash file format) l advantage: readable; editable (free and) open software and APIs available l disadvantage: take longer time to parse. The trend: one data model/ multi representation formats + converters among the formats. Transparency No. 20

XML Introduction Core specifications for XML l l XML 1. 0 XML Namespace XML XML Introduction Core specifications for XML l l XML 1. 0 XML Namespace XML Path language (XPath) XML Stylesheet Langugae (XSL) XSL Transformation language (XSLT) XSL formating Objects (XSLFO) l l l l XML Linking language (XLink) XML Pointer Langugae (XPointer) XML schemas (; Relax. NG) XHTML XML signatures/canonicalization XML protocols XMLForm XQuery (XML language for Querying XML Documents) Transparency No. 21

XML Introduction Core Specifications for XML l XML document type definition (DTD) : a XML Introduction Core Specifications for XML l XML document type definition (DTD) : a utility used to define the formats and contents of valid XML documents. a specification to define what kinds of texts are well-formed XML document l XML namespace Define a mechanism to avoid collision of elements and/or attribute names in documents using multiple sets of DTDs. l Xlink Define the mechanism for linking to web resources from an XML document. l Xpointer Define a mechanism for linking to inside an XML document. l XPath Define a mechanism to refer to part of an XML document Transparency No. 22

XML Introduction XSL ( XML Stylesheet Language) l a language for expressing stylesheets. l XML Introduction XSL ( XML Stylesheet Language) l a language for expressing stylesheets. l consists of two parts: XSLT : a language (in XML format) used to describe how to transform an XML document into one in XML or non. XML format. XSLFO: an XML vocabulary for specifying formatting semantics. l An XSL stylesheet specifies the presentation of a class of XML documents by describing how an instance of the class is transformed into an XML document that uses the formatting vocabulary. Transparency No. 23

XML Introduction Transparency No. 24 XML Introduction Transparency No. 24

XML Introduction l XML Schema A planned replacement of DTD. used to define the XML Introduction l XML Schema A planned replacement of DTD. used to define the structures and formats of various messages encoded in XML format. l consists of three documents: Part 0: a primer µ an easy-to-understand introcuction Part 2: Datatypes µ define tens of frequently used bulit-in datatypes Part 3: structures µ specifies the XML Schema definition language, offers facilities for describing the structure and constraining the contents of XML documents Transparency No. 25

XML Introduction API for XML documents l DOM (level 1 & 2) : Document XML Introduction API for XML documents l DOM (level 1 & 2) : Document Object Model Tree-based XML API language independent l SAX (version 1 & 2) : Simple API for XML Document, Event-based XML API l JDOM, dom 4 j (XML APIs for Java) DOM for Java Tree-based, simpler version of DOM easier to use than DOM, suitable for Java only Transparency No. 26

XML Introduction How can XML be used ? l XML was designed to store, XML Introduction How can XML be used ? l XML was designed to store, carry and exchange data. It was not designed to display data. l XML is used to Exchange Data With XML, data can be exchanged between incompatible systems. XML and B 2 B : With XML, financial information can be exchanged over the Internet. l XML can be used to Share Data With XML, plain text files can be used to share data. l XML can be used to Store Data With XML, plain text files can be used to store data. l XML can be used to Create new Languages XML is the mother of WAP and WML. Transparency No. 27

XML Introduction l XML can make your Data more Useful With XML, your data XML Introduction l XML can make your Data more Useful With XML, your data is available to more users. l For sensible developers All sensible developers should have all their future applications exchange data in XML. Transparency No. 28

XML Introduction What can we do about XML l XML document design/application development XMLize XML Introduction What can we do about XML l XML document design/application development XMLize legacy system data/database µ 一般企業: 之 人事 庫存 客戶 產品 產品使用手冊 公文 µ 醫院 學校 政府機關(戶政 地政 稅捐. . . ) : 病例 藥品 課程 戶籍 地籍 稅務 Design standard XML format for various domains µ order, transaction, billing, product for business domain µ mathematical formula, chemical formula in science µ Graph/graphics markup language ; Others: l XML processing tools: XML parser; XML editors; XML-existing format converter XML 2 HTML; DTD 2 DCD ; DCDeditor Various Domain-specific XML rendering tools µ graphical XML --> Graphic DTD manager, schema tools, soap processor, web service tools/IDE/system l XML-enabled services/applications: make your application software capable of serving request from internet (without special prerequisite) and requesting other internet on-line service. Transparency No. 29

XML Introduction XML information l Java Sun’s java site: (http: //java. sun. com/) The XML Introduction XML information l Java Sun’s java site: (http: //java. sun. com/) The java tutorial (http: //java. sun. com/docs/books/tutorial/) is a nice book to begin with. l Information sources on XML: W 3 C site: http: //www. w 3. org/TR/ SGML/XML home page: http: //www. oasis-open. org/cover/ XML com: http: //www. xml. com/ XML university: http: //www. xmlu. com/ XML page of leading computer companies µ Microsoft: http: //www. microsoft. com/xml/ µ IBM: http: //www. software. com/xml/ sun: . . See the course page for more. Transparency No. 30

XML Introduction XML applications l XML as an alternative representation format (SVG) Scalar Vector XML Introduction XML applications l XML as an alternative representation format (SVG) Scalar Vector Graph : for vector graph (Math. ML) : for mathematical expressions SMIL (Synchronized Multimedium Integration language): Resource Description Framework (RDF) : an XML language for describing web resources and their relationship CML (Chemical Markup Language) : for chemical molecule JCML : XML format for java bytecodes (object code) Java. ML : for java programs Ant : a replacement of make for java OOML : a OO PL in XML UIML : user interface Markup language WAP WML (Wireless Markup Langugae) Transparency No. 31

XML Introduction A partial list of XML applications and industry initiatives l l l XML Introduction A partial list of XML applications and industry initiatives l l l l l l W 3 C Specifications Documentation Text Encoding Initiative (TEI) XCES: Corpus Encoding Standard for XML Encoding and Markup for Texts of the Ancient Near East Electronic Text Corpus of Sumerian Literature (ETCSL) Perseus Project Channel Definition Format, CDF (Based on XML) RDF Rich Site Summary (RSS) Open Content Syndication (OCS) Web Modeling Language (Web. ML) Portable Site Information (PSI) XHTML and 'XML-Based' HTML Modules W 3 C Document Object Model (DOM), Level 1 Specification Web Collections using XML Meta Content Framework Using XML (MCF) XML-Data Namespaces in XML Resource Description Framework (RDF) Ontology Interchange Language (OIL) The Australia New Zealand Land Information Council (ANZLIC) - Metadata Alexandria Digital Library Project ATLA Serials Project (ATLAS) Transparency No. 32

XML Introduction XML in law l l l l l Biblio. ML - XML XML Introduction XML in law l l l l l Biblio. ML - XML for UNIMARC Bibliographic Records Medlane XMLMARC Experiment - MARC to XML e-Government Interoperability Framework (e-GIF) US Federal CIO Council XML Working Group XML Metadata Interchange Format (XMI) - Object Management Group (OMG) OMG Common Warehouse Metadata Interchange (CWMI) Specification Object Management Group XML/Value RFP MDC Open Information Model (OIM) Dublin Core Metadata Initiative (DCMI) Open Archives Metadata Set (OAMS) Publishing Requirements for Industry Standard Metadata (PRISM) Platform for Internet Content Selection (PICS) XML and Petri Nets Outline Processor Markup Language (OPML) Parl. ML: A Common Vocabulary for Parliamentary Language Legal XML Working Group COSCA/NACM JTC XML Court Filing Project New Mexico District Court XML Interface (XCI) Transparency No. 33

XML Introduction XML and multimedia l l l l Synchronized Multimedia Integration Language (SMIL) XML Introduction XML and multimedia l l l l Synchronized Multimedia Integration Language (SMIL) Multimodal Presentation Markup Language (MPML) Moving Picture Experts Group: MPEG-7 Standard DIG 35: Metadata Standard for Digital Images W 3 C Scalable Vector Graphics (SVG) Precision Graphics Markup Language (PGML) Vector Markup Language (VML) Image Markup Language (IML) VRML (Virtual Reality Modeling Language) and X 3 D Extensible Graph Markup and Modeling Language (XGMML) Structured Graph Format (SGF) Graph Exchange Language (GXL) Petri Net Markup Language (PNML) Transparency No. 34

XML Introduction XML in chemistry and biochemistry l l l l l Georgia State XML Introduction XML in chemistry and biochemistry l l l l l Georgia State University Electronic Court Filing Project Web Standards Project (WSP) Open Software Description Format (OSD) XLF (Extensible Log Format) Initiative ALURe (Aggregation and Logging of User Requests) XML Specification Apache XML Project WAP Wireless Markup Language Specification The Sync. ML Initiative Materials Property Data Markup Language (Mat. ML) Measurement Units Markup Language XML-Based 'e. Standard' for the Chemical Industry Chemical Markup Language Molecular Dynamics [Markup] Language (Mo. DL) Star. DOM - Transforming Scientific Data into XML Bioinformatic Sequence Markup Language (BSML) BIOpolymer Markup Language (BIOML) Cell. ML Gene Expression Markup Language (GEML) Genome Annotation Markup Elements (GAME) Transparency No. 35

XML Introduction XML and Finance l l l l l Microarray Markup Language (MAML) XML Introduction XML and Finance l l l l l Microarray Markup Language (MAML) XML for Multiple Sequence Alignments (MSAML) Systems Biology Markup Language (SBML) OMG Gene Expression RFP Taxonomic Markup Language XDELTA: XML Format for Taxonomic Information Virtual Hyperglossary (VHG) Weather Observation Definition Format (OMF) Open Philanthropy Exchange (OPX) Open Financial Exchange (OFX/OFE) Interactive Financial Exchange (IFX) Fin. XML - 'The Digital Language for Capital Markets' Investment Research Markup Language (IRML) Extensible Financial Reporting Markup Language (XFRML) Extensible Business Reporting Language (XBRL) XMLPay Specification Trading Partner Agreement Markup Language (tpa. ML) Internet Open Trading Protocol (IOTP) Financial Products Markup Language (Fp. ML) Transparency No. 36

XML Introduction XML messaging ( or XML Protocols) l l l l XML Mail XML Introduction XML messaging ( or XML Protocols) l l l l XML Mail Transport Protocol (XMTP) for XML SMTP and MIME Representation HTML Threading - Use of HTML in Email XML Messaging (IETF) Jabber XML Protocol XML Messaging Specification (XMSG) M Project: Java XML-Based Messaging System HTTP Distribution and Replication Protocol (DRP) Information and Content Exchange (ICE) Transparency No. 37

XML Introduction l l l l l FAML DTD for Financial Research Documents Mortgage XML Introduction l l l l l FAML DTD for Financial Research Documents Mortgage Bankers Association of America MISMO Standard Digital Property Rights Language (DPRL) Extensible Rights Markup Language (Xr. ML) Open Digital Rights Language (ODRL) Research Information Exchange Markup Language (RIXML) Data Link for Intermediaries Markup Language (dali. ML) XML-MP: XML Mortgage Partners Framework Eco. Know. MICS ML Electronic Book Exchange (EBX) Working Group FIXML - A Markup Language for the FIX Application Message Layer l Bank Internet Payment System (BIPS) l smart. X ['Smart. Card'] Markup Language (SML) Transparency No. 38

XML Introduction Secure XML l l l l l XML and Encryption XML Digital XML Introduction Secure XML l l l l l XML and Encryption XML Digital Signature (Signed XML - IETF/W 3 C) XML Key Management Specification (XKMS) Security Services Markup Language (S 2 ML) Auth. XML Standard for Web Security Digital Signatures for Internet Open Trading Protocol (IOTP) XML Encoding of SPKI Certificates Digital Receipt Infrastructure Initiative Digest Values for DOM (DOMHASH) Signed Document Markup Language (SDML) Transparency No. 39

XML Introduction l l l l l l Real Estate Transaction Markup Language (RETML) XML Introduction l l l l l l Real Estate Transaction Markup Language (RETML) Open. MLS and RELML (Real Estate Listing Markup Language) Data Consortium (Real Estate Standards) Comprehensive Real Estate Transaction Markup Language (CRTML) ACORD - XML for the Insurance Industry i. Lingo XML Schemas for Insurance Customer Profile Exchange (CPEX) Working Group Customer Support Consortium XML for the Automotive Industry - SAE J 2008 Spacecraft Markup Language (SML) XML. ORG - The XML Industry Portal X-ACT - XML Active Content Technologies Council Electronic Business XML Initiative (eb. XML) BASDA e. BIS-XML Portal Markup Language (PML) EDGARspace Portal DII Common Operating Environment (COE) XML Registry Star. Office XML File Format Open e. Book Initiative ONIX International XML DTD NISO Digital Talking Books (DTB) Transparency No. 40

XML Introduction l l l l Open. Math Standard OMDoc: A Standard for Mathematical XML Introduction l l l l Open. Math Standard OMDoc: A Standard for Mathematical Documents Mathematical Markup Language Re-Useable Data Language (RDL)" Open. Tag Markup Metadata - PICS MIX - Mediation of Information Using XML CDIF XML-Based Transfer Format Covad x. Link API (XML-Based DSL Provisioning) Web. Broker: Distributed Object Communication on the Web Interface Definition Language (WIDL) Global Engineering Networking Initiative (GEN) XML/EDI - Electronic Data Interchange XML/EDI Repository Working Group Transparency No. 41

XML Introduction l l l l Global Uniform Interoperable Data Exchange (GUIDE) Biz. Codes XML Introduction l l l l Global Uniform Interoperable Data Exchange (GUIDE) Biz. Codes Initiative Universal Data Element Framework (UDEF) European XML/EDI Workshop EEMA EDI/EC Work Group - XML/EDI ANSI ASC X 12/XML and DISA Open. Travel Alliance (OTA) Hospitality Industry Technology Integration Standards (HITIS) Project Open Catalog Protocol (OCP) e. Catalog XML (e. CX) v. Card Electronic Business Card Customer Identity / Name and Address Markup Language (CIML, NAML) AND Global Address XML Definition Historical Event Markup and Linking i. Calendar XML DTD Transparency No. 42

XML Introduction EC Frame. Works l l l l Commerce. Net Industry Initiative e. XML Introduction EC Frame. Works l l l l Commerce. Net Industry Initiative e. Co Interoperability Framework Specification Biz. Talk Framework e. Co Framework Project and Working Group Commerce XML (c. XML) SMBXML: An Open Standard for Small to Medium Sized Businesses Rosetta. Net Transparency No. 43

XML Introduction l l l l l l XML Encoded Form Values Capability Card: XML Introduction l l l l l l XML Encoded Form Values Capability Card: An Attribute Certificate in XML Telecommunications Interchange Markup (TIM, TCIF/IPI) aec. XML Working Group - Architecture, Engineering and Construction Building Construction Extensible Markup Language (bc. XML) Master. Builder Construction Management and Accounting Green Building XML (gb. XML) Product Data Markup Language (PDML) Product Definition Exchange (PDX) Electronic Component Information Exchange (ECIX) and Pinnacles Component Information Standard (PCIS) ECIX Quick. Data Specifications ECIX Component Information Dictionary Standard (CIDS) ECIX Timing Diagram Markup Language (TDML) XML and Electronic Design Automation (EDA) Encoded Archival Description (EAD) UML e. Xchange Format (UXF) XML Data Binding Specification Translation Memory e. Xchange (TMX) P 3 P Specification: Platform for Privacy Preferences Extensible Name Service (XNS) Dialogue Moves Markup Language (DMML) Transparency No. 44

XML Introduction l Scripting News in XML l Inter. X. org Initiative l Document XML Introduction l Scripting News in XML l Inter. X. org Initiative l Document Encoding and Structuring Specification for Electronic Recipe Transfer (DESSERT) l Nu. Doc Technology l Coins: Tightly Coupled Java. Beans and XML Elements l DMTF Common Information Model (CIM) l Universal Plug and Play Forum l XML Transition Network Definition (XTND) l Process Interchange Format XML (PIF-XML) l (XML) Topic Maps l DARPA Agent Mark Up Language (DAML) l Rule Markup Language (Rule. ML) l Relational-Functional Markup Language (RFML) l Ontology and Conceptual Knowledge Markup Languages l Information Flow Framework Language (IFF) l Simple HTML Ontology Extensions (SHOE) l XOL - XML-Based Ontology Exchange Language l Description Logics Markup Language (DLML) l Case Based Markup Language (CBML) l Artificial Intelligence Markup Language (AIML) l Physics Markup Language (Physics. ML) Transparency No. 45

XML Introduction l Procedural Markup Language (PML) l QAML - The Q&A Markup Language XML Introduction l Procedural Markup Language (PML) l QAML - The Q&A Markup Language l LACITO Projet Archivage de données linguistiques sonores et textuelles [Linguistic Data Archiving Project] l Geography Markup Language (GML) l Land. XML l Navigation Markup Language (NVML) l Extensible Data Format (XDF) l Gemini Observatory Project l NASA Goddard Astronomical Data Center (ADC) 'Scientific Dataset' XML l Extensible Scientific Interchange Language (XSIL) l Object Oriented Data Technology (OODT) and XML l Astronomical Markup Language l Astronomical Instrument Markup Language (AIML) l Ged. ML: [GEDCOM] Genealogical Data in XML l ad. XML. org: XML for Advertising l Newspaper Association of America (NAA) - Standard for Classified Advertising Data l News Industry Text Format (NITF) l XMLNews: XMLNews-Story and XMLNews-Meta l News. ML and IPTC 2000 l News Markup Language (NML) l Notes Flat File Format (NFF) Transparency No. 46

XML Introduction l l l l l Java Help API Cold Fusion Markup Language XML Introduction l l l l l Java Help API Cold Fusion Markup Language (CFML) Document Content Description for XML (DCD) XSchema Document Definition Markup Language (DDML) Character Mapping Markup Language (Char. Map. ML) WEBDAV (IETF 'Extensions for Distributed Authoring and Versioning on the World Wide Web') DAV Searching and Locating (DASL) Graphic Communications Association - GCA 'Paper' DTD Doc. Book XML DTD Apache Cocoon Java. Documentation in XML JDox: XML Format for Sun Javadoc XML for Publishers and Printers (XPP) Job Definition Format (JDF) Printing Industry Markup Language (Print. ML) PML: Markup Language for Paper and Printing Print. Talk Consortium printcafe e. Production e. Commerce e. Xchange (PCX) IEEE LTSC XML Ad Hoc Group Universal Learning Format Technical Specification Transparency No. 47

XML Introduction l l l l l l Educom Instructional Management Systems Project (IMS) XML Introduction l l l l l l Educom Instructional Management Systems Project (IMS) Metadata Specification Learning Material Markup Language (LMML) Tutorial Markup Language (TML) International Development Markup Language (IDML) Call Processing Language (CPL) Call Policy Markup Language (CPML) Voice. XML Forum (Voice Extensible Markup Language Forum) Vox. ML Markup Language Telephony Markup Language (TML) DARPA Communicator Project and XML Log Standard Multilevel Annotation, Tools Engineering (MATE) Computing Environment for Linguistic, Literary, and Anthropological Research (CELLAR) Architecture and Tools for Linguistic Analysis Systems (ATLAS) Talk. Bank and the Codon XML-Based Annotation Framework ACE Pilot Format DTDs Transcriber - Speech Segmentation and Annotation DTD Natural Language Semantics Markup Language Extensible Telephony Markup Language (XTML) SABLE: A Standard for Text-to-Speech Synthesis Markup Language Specification for the Speech Interface Framework Java Speech Markup Language (JSML/JSpeech) Speech. ML Transparency No. 48

XML Introduction l l l l l l Talk. ML Project Management XML Schema XML Introduction l l l l l l Talk. ML Project Management XML Schema XML for Workflow Management [NIST] SWAP - Simple Workflow Access Protocol XML-Based Workflow [Process Management] Standard: Wf-XML Exchangeable Routing Language (XRL) Architecture Description Markup Language (ADML) Theological Markup Language (Th. ML) Lit. ML: A Liturgical Markup Language XML-F ('XML for FAX') XML and Forms XHTML-FML: Forms Markup Language Extensible Forms Description Language (XFDL) XML Forms Architecture (XFA)Electronic Form System (EFS) Broadcast Hypertext Markup Language (BHTML) IEEE Standard DTD Open Settlement Protocol (OSP) - ETSI/TIPHON Directory Services Markup Language (DSML) DIF Directory Interoperability Proposal XML DTD for ACAP - ACAP Data Interchange Format WDDX - Web Distributed Data Exchange XIOP - XML Corba Environment-Specific Inter-ORB Protocol Transparency No. 49

XML Introduction l l l l l l XML-RPC Blocks e. Xtensible e. Xchange XML Introduction l l l l l l XML-RPC Blocks e. Xtensible e. Xchange Protocol Framework (BEEP) Layered Object Transport Protocol (LOTP) XML for Exchange of Structure and Identification of Management Information (SMI) World. OS Business Process Modeling Language (BPML) Business Rules Markup Language (BRML) Common Business Library (CBL) Universal Commerce Language and Protocol (UCLP) VISA XML Invoice Specification First Retail Mark-up Language Open Applications Group - OAGIS Schema for Object-oriented XML (SOX) XMLTP. Org - XML Transfer Protocol The XML Bookmark Exchange Language (XBEL) Simple Object Definition Language (SODL) and XMOP Service Simple Object Access Protocol (SOAP) Universal Description, Discovery, and Integration (UDDI) Web Services Description Language (WSDL) Extensible Provisioning Protocol (EPP) Transaction Authority Markup Language (XAML) XML Encoding Rules for ASN. 1 (XER) Transparency No. 50

XML Introduction l l l l l l Object-Oriented Programing Meta-Language (OOPML) XML and XML Introduction l l l l l l Object-Oriented Programing Meta-Language (OOPML) XML and Music Flow. ML: A Format for Virtual Orchestras Clinical Data Interchange Standards Consortium National Library of Medicine (NLM) XML Data Formats ISIS European XML/EDI Healthcare Pilot Project (XMLEPR) Open Healthcare Group 'XChart' Doc. Scope: Open Source XML Healthcare Project Health Level Seven XML Patient Record Architecture ASTM XML Document Type Definitions (DTDs) for Health Care The CISTERN Project - Standard XML Templates for Healthcare Template Definition Language (TDL) Human Resource Management Markup Language (HRMML) HR-XML Consortium XML-HR Initiative - Human Resources Rosetta Group XML Résumé Library ECMData - Electronic Component Manufacturer Data Sheet Inventory Specification Bean Markup Language (BML) The Koala Bean Markup Language (KBML) Jigsaw XML Format (Jig. XML) Chinese XML Now! MOS-X (Media Object Server - XML) Transparency No. 51

XML Introduction l l l l l l FLBC (Formal Language for Business Communication) XML Introduction l l l l l l FLBC (Formal Language for Business Communication) and KQML ISO 12083 XML DTDs Electronic Thesis and Dissertation Markup Language (ETD-ML) Extensible User Interface Language (XUL) The Extensible Bindings Language (XBL) User Interface Markup Language (UIML) Process Specification Language (PSL) and XML Steel Markup Language (SML) Energy Trading Standards Group (ETSG) Petrotechnical Open Software Corporation (POSC) XML Related Projects Petro. XML Initiative Partner Interface Process for Energy (PIPE) Marine Trading Markup Language (MTML) Navy CALS Initiatives XML e. First XML for Scholarly Articles XML DTD for Phone Books Using XML for RFCs Schools Interoperability Framework (SIF) Guideline XML (g. XML) Extensible Protocol XML Belief Network File Format (Bayesian Networks) Transparency No. 52

XML Introduction l l l l l Predictive Model Markup Language (PMML) Data Documentation XML Introduction l l l l l Predictive Model Markup Language (PMML) Data Documentation Initiative: A Project of the Social Science Community XML and 'The Semantic Web' XML and Attribute Grammars XML and Databases SODA 2 - An XML Semistructured Database System RAX - Record API for XML and CORBA Chess Markup Language (Chess. ML) Mind Reading Markup Language (MRML) Transparency No. 53

XML Introduction XML in EDA (Electric Design Automation) Transparency No. 54 XML Introduction XML in EDA (Electric Design Automation) Transparency No. 54

XML Introduction A sketch of the XML Syntax XML is a simple data format XML Introduction A sketch of the XML Syntax XML is a simple data format that balances the needs of people to read/write data with the needs of machines to read/write data. -- Dan Connolly, W 3 C Transparency No. 55

XML Introduction A sketch of XML Syntax l An example XML document: <? xml XML Introduction A sketch of XML Syntax l An example XML document: Cheng Chen Reminder Don't forget me this weekend! Notes: 1. The XML declaration should always be included. 2. … is the root element which has 4 children. Transparency No. 56

" src="https://present5.com/presentation/b98fe7b2904e7735ba3dea424f2c4435/image-57.jpg" alt="XML Introduction " /> XML Introduction John Doe Transparency No. 57

XML Introduction <!– the structure of the document element --> Element type (or name) XML Introduction Element type (or name) start tag Attributes child element John Doe end-tag The root or document element Transparency No. 58

XML Introduction All XML elements must have a closing tag l In HTML some XML Introduction All XML elements must have a closing tag l In HTML some elements do not have to have a closing tag. The following code is legal in HTML:

This is a paragraph

This is another paragraph l In XML all elements must have a closing tag like this:

This is a paragraph

This is another paragraph

Transparency No. 59

XML Introduction XML tags are case sensitive l XML tags are case sensitive. The XML Introduction XML tags are case sensitive l XML tags are case sensitive. The tag is different from the tag . l Opening and closing tags must be written with the same case: This is incorrect This is correct Transparency No. 60

XML Introduction All XML elements must be properly nested l In HTML some elements XML Introduction All XML elements must be properly nested l In HTML some elements can be improperly nested within each other like this: This text is bold and italic l In XML all elements must be properly nested within each other like this This text is bold and italic Transparency No. 61

XML Introduction All XML documents must have a root tag l All XML documents XML Introduction All XML documents must have a root tag l All XML documents must contain a single tag pair to define the root element. All other elements must be nested within the root element. All elements can have sub (children) elements. Sub elements must be in pairs and correctly nested within their parent element: Transparency No. 62

XML Introduction Attribute values must always be quoted l XML elements can have attributes XML Introduction Attribute values must always be quoted l XML elements can have attributes in name/value pairs just like in HTML. In XML the attribute value must always be quoted. Study the two XML documents below. The first one is incorrect, the second is correct: l ToveJani Reminder Don't forget me this weekend! l ToveJani Reminder Don't forget me this weekend! Transparency No. 63

XML Introduction XML Attributes l normally used to describe XML elements, or l to XML Introduction XML Attributes l normally used to describe XML elements, or l to provide additional information about elements. l From HTML you can remember this construct: l In this HTML example: SRC is an attribute to the IMG element. he SRC attribute provides additional information about the element. Transparency No. 64

XML Introduction Use of Elements vs. Attributes l Examples: l Using an Attribute for XML Introduction Use of Elements vs. Attributes l Examples: l Using an Attribute for sex: Anna Smith l Using an Element for sex: female Anna Smith Transparency No. 66

XML Introduction XML Validation l Well-Formed XML documents l A Well-Formed XML document is XML Introduction XML Validation l Well-Formed XML documents l A Well-Formed XML document is a document that conforms to the XML syntax rules that we have described. l The following is a Well-Formed XML document: Tove Jani Reminder Don't forget me this weekend! Transparency No. 67

XML Introduction Valid XML documents l A Valid XML document is a Well-Formed XML XML Introduction Valid XML documents l A Valid XML document is a Well-Formed XML document which conforms to the rules of a Document Type Definition (DTD). l The following is the same document as above but with an added reference to a DTD: Tove Jani Reminder Don't forget me this weekend! Transparency No. 68

XML Introduction DTD - Table of Contents l Introduction to DTD An introduction to XML Introduction DTD - Table of Contents l Introduction to DTD An introduction to the XML Document Type Definition. l DTD - XML Building Blocks What XML building blocks are defined in a DTD. l DTD Elements How to define the elements of an XML document using DTD. l DTD Attributes How to define the legal attributes of XML elements using DTD. l DTD Entities How to define XML entities using DTD. l DTD Validation How to test for DTD errors while loading XML documents. l DTD Examples Some DTD examples. Transparency No. 69

XML Introduction to DTD l The purpose of a DTD is to define the XML Introduction to DTD l The purpose of a DTD is to define the legal building blocks of an XML document. l It defines the document structure with a list of legal elements. l A DTD can be declared inline in your XML document, or as an external reference. Transparency No. 70

XML Introduction Internal DTD l This is an XML document with a Document Type XML Introduction Internal DTD l This is an XML document with a Document Type Definition: (Open it in IE 5, and select view source) ]> Tove Jani Reminder Don't forget me this weekend! l The DTD is interpreted like this: !ELEMENT note (in line 2) defines the element "note" as having four elements: "to, from, heading, body". and so on. . . Transparency No. 71

XML Introduction External DTD l This is the same XML document with an external XML Introduction External DTD l This is the same XML document with an external DTD: (Open it in IE 5, and select view source) Tove Jani Reminder Don't forget me this weekend! Transparency No. 72

XML Introduction note. dtd l This is a copy of the file XML Introduction note. dtd l This is a copy of the file "note. dtd" containing the Document Type Definition: Transparency No. 73

XML Introduction Why use a DTD? l XML provides an application independent way of XML Introduction Why use a DTD? l XML provides an application independent way of sharing data. l With a DTD, independent groups of people can agree to use a common DTD for interchanging data. l Your application can use a standard DTD to verify that data that you receive from the outside world is valid. You can also use a DTD to verify your own data. l A lot of forums are emerging to define standard DTDs for almost everything in the areas of data exchange. Take a look at: Commerce. Net's XML exchange and http: //www. schema. net. Transparency No. 74

XML Introduction DTD - XML building blocks l The building blocks of XML documents XML Introduction DTD - XML building blocks l The building blocks of XML documents l XML documents (and HTML documents) are made up by the following building blocks: Elements, Tags, Attributes, Entities, PCDATA, and CDATA l This is a brief explanation of each of the building blocks: Transparency No. 75

XML Introduction Elements l Elements are the main building blocks of both XML and XML Introduction Elements l Elements are the main building blocks of both XML and HTML documents. l Examples of HTML elements are "body" and "table". l Examples of XML elements could be "note" and "message". l Elements can contain text, other elements, or be empty. l Examples of empty HTML elements are "hr", "br" and "img". Transparency No. 76

XML Introduction Tags l Tags are used to markup elements. l A starting tag XML Introduction Tags l Tags are used to markup elements. l A starting tag like mark up the beginning of an element, and l an ending tag like mark up the end of an element. l Examples: A body element: body text in between. A message element: some message in between Transparency No. 77

XML Introduction Attributes l Attributes provide extra information about elements. l Attributes are placed XML Introduction Attributes l Attributes provide extra information about elements. l Attributes are placed inside the start tag of an element. l Attributes come in name/value pairs. l The following "img" element has an additional information about a source file: Notes: The name of the element is "img". The name of the attribute is "src". The value of the attribute is "computer. gif". Since the element itself is empty it is closed by a " /". Transparency No. 78

XML Introduction PCDATA l PCDATA means parsed character data. l Think of character data XML Introduction PCDATA l PCDATA means parsed character data. l Think of character data as the text found between the start tag and the end tag of an XML element. l PCDATA is text that will be parsed by a parser. l Tags inside the text will be treated as markup and entities will be expanded. Transparency No. 79

XML Introduction CDATA l CDATA also means character data. l CDATA is text that XML Introduction CDATA l CDATA also means character data. l CDATA is text that will NOT be parsed by a parser. l Tags inside the text will NOT be treated as markup and entities will not be expanded. Transparency No. 80

XML Introduction Entities l Entities as variables used to define common text. l Entity XML Introduction Entities l Entities as variables used to define common text. l Entity references are references to entities. l Most of you will known the HTML entity reference: "  " that is used to insert an extra space in an HTML document. l Entities are expanded when a document is parsed by an XML parser. l The following entities are predefined in XML: l Entity References Character < < > > & & " " ' ' Transparency No. 81

XML Introduction DTD - Elements l Declaring an Element l In the DTD, XML XML Introduction DTD - Elements l Declaring an Element l In the DTD, XML elements are declared with an element declaration. l An element declaration has the following syntax: Transparency No. 82

XML Introduction Empty elements l Empty elements are declared with the keyword EMPTY inside XML Introduction Empty elements l Empty elements are declared with the keyword EMPTY inside the parentheses: example: Transparency No. 83

XML Introduction Elements with data l Elements with data are declared with the data XML Introduction Elements with data l Elements with data are declared with the data type inside parentheses: or or l Example: 1. #CDATA means the element contains character data that is not supposed to be parsed by a parser. 2. #PCDATA means that the element contains data that IS going to be parsed by a parser. 3. The keyword ANY declares an element with any content. 4. If a #PCDATA section contains elements, these elements must also be declared. Transparency No. 84