210 likes | 322 Views
Intro. to XML & XML DB. Bun Yue Professor, CS/CIS UHCL. Intro. To XML. XML stands for eXtensible Markup Language . XML is a system for defining, validating, and sharing documents. Main standard organization: World Wide Web Consortium (W3C), http://www.w3.org/XML/. Background: SGML.
E N D
Intro. to XML & XML DB Bun Yue Professor, CS/CIS UHCL
Intro. To XML • XML stands for eXtensible Markup Language. • XML is a system for defining, validating, and sharing documents. • Main standard organization: World Wide Web Consortium (W3C), http://www.w3.org/XML/.
Background: SGML • XML is a simplified version of the Standard Generalized Markup Language (SGML). • Both XML and SGML may be considered as meta-languages for creating markup languages. • A valid XML document is also a SGML document.
Background: HTML • XML uses: • Elements for document structures • Attributes to describe their properties • Unlike HTML, authors use XML to define and share vocabularies. • As a comparison, HTML has a fixed set of elements: <p>, <body>, <li>, etc, but not <chapter> or <bun> • HTML can be defined using XML: XHTML.
HTML Examples memo.xml: <?xml version="1.0"?> <memo priority="very high"> <from>Bun Yue</from> <to>Everybody</to> <body> Hello, welcome! </body> </memo>
Issues with HTML • No meaning on document structures. • Hard to support a Semantic Web • Example: human vs machine in: <h2>Bun Yue</h2> <h2>Introduction to XML</h2> vs <instructor>Bun Yue</instructor> <course>Introduction to XML</course> • HTML Scalping is hard!
Issues in HTML • A traditional HTML files put the following three major components in one document: • Data contents • Presentation design • Programming logic • However, it may be desirable to have three different development teams to create the three components. • Results: difficult to create and maintain.
XML in Web Applications • XML assists in the separation of data from presentation. • Can database be used for the same purpose? Discuss!
Advantages of XML • Strict syntax with unambiguous structures for simpler and more meaningful processing. • Better modeling of application domain. • Validation for early error checking. • Extensible to fit requirements of different domains. • Human readable. • Abundance of tools.
Some Disadvantages of XML • Verbose • Text-based • Tree-based structures • … • This is not a complete list. We will revisit this issue later.
Core XML Standards • XML Specification: XML syntax. • XML Namespace: defining address spaces to avoid naming conflicts. • DTD (Document Type Definition): specifying grammars of XML vocabularies. • XML Schema: a newer and more powerful way to define XML grammars that is itself in XML format.
Core XML Standards • XLink: linking between XML documents. • XPointer: referring to parts of an XML document. • XPath: searching an XML document. • XQuery: XML query language in the line of SQL.
Core XML Standards • CSS (Cascading Stylesheet): a style sheet standard for viewing XML and HTML. • XSL (eXtensible Stylesheet Language): for displaying and transforming XML documents: • XSLT: the XSL part for XML transformation. • FO: formatting object, the display part of XSL.
Core XML Standards • DOM (Document Object Model): W3C standard for object and interface collections for manipulating XML documents (and HTML, etc).
Tools and Technology • XML Editors: • XML Parsers: • DOM: create a document object (tree based) • SAX: event driven • Querying: • XPath • XSLT • XQuery
Tools and Technology • XML Server: serve XML • Data source management • Transformation • Consumption support, e.g. • RESTful (Representational state transfer) • XQJ API (XQuery API for Java) • Content and subscription management • XML DB: storage of collection of XML documents.
XML DB • Persistence and efficient access of collections of XML documents. • XML Enabled DB: • DB provides features for production and consumption of XML. • Underlying storage may not be in XML format: e.g. relations.
Native XML DB • XML document as the basic data model. • XML document as a fundamental storage unit. • Standalone or not. E.g. Oracle 11g XML DB native but part of 11g.
Querying • XQuery support