170 likes | 379 Views
XML. BIS4430 – unit 10. XML Origins. Extensible Markup Language (XML) 1998 Inspired by Standard Generalized Markup Language (SGML) and HTML. SGML defines how any given markup language can be formally specified HTML combines markup from several categories: Text Structuring Tags <H1>,
E N D
XML BIS4430 – unit 10
XML Origins • Extensible Markup Language (XML) 1998 • Inspired by Standard Generalized Markup Language (SGML) and HTML. • SGML defines how any given markup language can be formally specified • HTML combines markup from several categories: Text Structuring Tags <H1>, • Formatting Tags <B>, Linking <A>, <IMG>, and Data Input Tags <FORM>,<INPUT>
The key benefits of XML are: · Readable by both humans and computers · Facilitates the optimal structuring of data · Free and/or inexpensive · Widely available · Easy to learn · Supported by all major software vendors
XML vs HTML <P>Book</P><P>Title: XML by Example</P><P>Author: Sean McGrath</P><P>Publisher: Prentice Hall, Inc.</P> <P>Date Published: 1999</P><P>Description: Building E-commerce Applications </P> <book><title>XML by Example</title><author>Sean McGrath</author><publisher>Prentice Hall, Inc.</publisher><publish_date>1999</publish_date><description>Building E-commerce Applications with XML</description></book>
Namespaces • Namespaces resolve ambiguous element tag names, in order to associate correct elements in an XML document.
Namespaces OrderInfo.xml <Order_Info> <Name>John Dow</Name> <Address>19 Footlong Court</Address> <City>Tallwood</City> <Order>Cigars</Order> <Date>31-12-02</Date> </Order_Info> BillingInfo.xml <Billing_Info> <Name>Angela Dow</Name> <Payment>Visa</Payment> <Number>12344</Number> </Billing_Info>
Namespaces: Explicit <order: Order_Info xmlns:order =”http://www.mdx.ac.uk/~ariel/order” xmlns:bill=“http://www.mdx.ac.uk/~ariel/bill” > <order:Name >John Dow</order:Name> < order:Address>19 Footlong Court</ order:Address> < order:City>Tallwood</ order:City> < order:Order>Cigars</ order:Order> < order:Date>31-12-02</ order:Date> <bill:Billing_Info > < bill:Name >Angela Dow</bill:Name> < bill:Payment>Visa</ bill:Payment> < bill:Number>12344</ bill:Number> </ bill:Billing_Info> </ order:Order_Info>
XML Parsers • XML processor is used to read XML documents and provide access to their content and structure • It is assumed that an XML processor is doing its work on behalf of another module, called the application
Parsers • Nonvalidating – they simply verify if the document adheres to rules of the XML syntax i.e. whether the XML document is well formed • Validating – these parsers read in XML documents, check if they are well formed and verify their compliance with a specified XML schema or other validation set, i.e. they verify if the XML document is valid.
Converting XML with XSLT • XSL technologies allow to transform XML documents into various formats, such as PDF( Adobe Acrobat Reader), WML for wireless devices, and into HTML.
Retrieve the element content • <xsl:value-of select="element name goes here"/> • <xsl:if test= "boolean-expression-goes here">....</xsl:if> <xsl:for-each select="element name goes here"> <!--processing instructions go here--> </xsl:for-each>
Example xsl:for-each select="student_list/student"> <b>Name: </b><xsl:value-of select="name"/><p/><b>ID: </b><xsl:value-of select="student_ID"/><p/><b>Studying : </b><xsl:value-of select="major"/> </xsl:for-each>
Database Integration • XML Database Mapping • More description on next slide • Using Native XML Databases • Store XML data in XML document • Data is serialised
XML Database Mapping • Associate elements in an XML document with the relational database fields. • Query the database with SQL • Convert results into an XML document • Popular solution: Java & JDBC
XML Web Services • Advantages of Web Services • Component independence • Component based • XML based interfaces