210 likes | 330 Views
This introduction to XML covers its fundamentals, including its role as a meta-language derived from SGML and HTML, alongside key elements like namespaces, DTDs, and XML Schema. It highlights XML's advantages, such as strict syntax and extensibility, while addressing its challenges, including verbosity and complexity. The discussion also extends to XML databases, exploring features for managing XML documents, querying capabilities with XQuery, and the comparison with traditional RDBMS. Gain insights into tools, standards, and the evolution of web applications through XML.
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