1 / 0

Databases and XML The black sheep of databases… no relations… get it..? black sheep… no relations… ha ha …

INFO100 and CSE100. Fluency with Information Technology. Databases and XML The black sheep of databases… no relations… get it..? black sheep… no relations… ha ha …. Katherine Deibel. Announcements. Course Evaluations You will do evaluations for your TA on Wednesday/Thursday this week

orenda
Download Presentation

Databases and XML The black sheep of databases… no relations… get it..? black sheep… no relations… ha ha …

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. INFO100 and CSE100 Fluency with Information Technology

    Databases and XMLThe black sheep of databases… no relations… get it..? black sheep… no relations… ha ha…

    Katherine Deibel Katherine Deibel, Fluency in Information Technology
  2. Announcements Course Evaluations You will do evaluations for your TA on Wednesday/Thursday this week You will evaluate me on Friday Week 10 GoPost Discussions Due by next Wednesday Bring clickers to class on Friday Yes, there will be a quiz (an easy one) Katherine Deibel, Fluency in Information Technology
  3. An XML Database We have mentioned XML several times in class An extremely versatile tool Commonly used for representing metadata in databases Today, we show how to use XML for managing your own data without having to use a DBMS Katherine Deibel, Fluency in Information Technology
  4. Overall Idea We will build a flat-file database using XML of personally interesting data Chapter 17 shows the iDiary We will then stylize the data by developing an XSL description We will end by displaying the XML using a only a web browser Katherine Deibel, Fluency in Information Technology
  5. A Travelogue Chapter 17 presents the iDiary We will do something much simpler:a travelogue of places I've visited Katherine Deibel, Fluency in Information Technology
  6. Decide On The Data The travel log will give data for each country visited as Country Name Country’s Flag Cities and Sights visited That series of countries forms a list What was toured form a sublist inside each country Katherine Deibel, Fluency in Information Technology
  7. Building with XML Tags XML does not have a fixed set of tags You create your own: <travels> <country> <name> <tour> <city> <sight> Katherine Deibel, Fluency in Information Technology
  8. A Closer Look attribute root tag <travels> <country> <name countryid="hungary">Hungary</name> <tour> <city>Budapest</city> <sight>Buda Castle</sight> <sight>Vajdahunyad Castle</sight> <sight>Statue of Anonymus</sight> </tour> </country> </travels> mixed tags Katherine Deibel, Fluency in Information Technology
  9. Display Without XSL Tag If we display an XML file without any style information, we just get the “tree” of our data Good check that all of the tags are right You get the same view if you look at a raw RSS feed Katherine Deibel, Fluency in Information Technology
  10. XSL: eXtensible Style Language Like CSS, XSL gives style information, but it does it using XML! The process XML Database Browser rendering engine Transformer appliesXSL Templates BrowserWindow XML Stylesheet Katherine Deibel, Fluency in Information Technology
  11. For Building the XSL Plan the page as if it were XHTML, because it is going to be a list of items in a table: Black background, sans serif font, gray text, white border Katherine Deibel, Fluency in Information Technology
  12. The Basic XHTML <html > <head> <title>Travelogue</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <style type="text/css"> body {background-color: black; color: gray; font-family: arial; } table {border: solid white 3px; } </style> </head> <body> <h1>Places I've Traveled</h1> <table> XML magic happens here </table> </body> </html> Katherine Deibel, Fluency in Information Technology
  13. XHTML with XSL template tags <xsl:template match="travels"> <html > <head> <title>Travelogue</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <style type="text/css"> body {background-color: black; color: lightgray; font-family: arial; } table {border: solid white 3px; } </style> </head> <body> <h1>Places I've Traveled</h1> <table> XML magic happens here </table> </body> </html> </xsl:template> This is creating a template for how the browser should render the <travels></travels> tag in the XML file. Since <travels></travels> is the root element, its styling makes the overall HTML page. Katherine Deibel, Fluency in Information Technology
  14. XHTML with XSL apply tag <xsl:template match="travels"> <html > <head> <title>Travelogue</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <style type="text/css"> body {background-color: black; color: lightgray; font-family: arial; } table {border: solid white 3px; } </style> </head> <body> <h1>Places I've Traveled</h1> <table> <xsl:apply-templates/> XML data goes here </table> </body> </html> </xsl:template> <xsl:apply-templates/> tells the browser to apply stylings to any XML tags within the current one (i.e., <travels>) Katherine Deibel, Fluency in Information Technology
  15. Tell the Browser It's Really XML <?xml version="1.0" encoding="utf-8" ?> <xsl:stylesheet version="1.0” xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="travels"> <html > <head> <title>Travelogue</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <style type="text/css"> body {background-color: black; color: lightgray; font-family: arial; } table {border: solid white 3px; } </style> </head> <body> <h1>Places I've Traveled</h1> <table> <xsl:apply-templates/> XML magic happens here </table> </body> </html> </xsl:template> Katherine Deibel, Fluency in Information Technology
  16. Fill In Other Templates One template for every tag used Country (table row) Name (second-level header) Sight (one per line) City (third-level header) <xsl:apply-templates/>Means fill in the contents of that XML tag <xsl:template match="country"> <tr> <xsl:apply-templates/> </tr> </xsl:template> <xsl:template match="name"> <td style="text-align: center"> <h2><xsl:apply-templates/></h2> </td> </xsl:template> <xsl:template match="tour"> <td> <xsl:apply-templates/> </td> </xsl:template> <xsl:template match="sight"> <xsl:apply-templates/><br/> </xsl:template> <xsl:template match="sight"> <h3><xsl:apply-templates/></h3> </xsl:template> Katherine Deibel, Fluency in Information Technology
  17. Linking XML and XSL Have to add one line to the XML file <?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/xsl" href="travelSS.xsl"?> Katherine Deibel, Fluency in Information Technology
  18. What it produces We see the Basic HTML structure Table format Text styling All of this was from an XML file!!! Katherine Deibel, Fluency in Information Technology
  19. We forgot the image We use the country id attribute to create the filename and alt tag To access the value of an attribute, we Use the @ symbol <xsl:template match="name"> <td style="text-align: center"> <h2><xsl:apply-templates/></h2> <imgsrc="{concat(@countryid,'-flag.png')}" alt="{concat('flag of ',@countryid)}"/> </td> </xsl:template> Katherine Deibel, Fluency in Information Technology
  20. The final product Of course, the image files are found where the paths indicate Katherine Deibel, Fluency in Information Technology
  21. Was all that work worth it? If we want to update the travelogue, we need only to update the XML file I've also visited Canada Let's add that now What we just saw We only entered information We did not have to put in the style Katherine Deibel, Fluency in Information Technology
  22. Summary XML is extremely versatile for organizing your data however you like with tags you make up Using XSL you can format your database as if it were a Web page familiar and easy Once an organization is setup it is trivial to add new information Katherine Deibel, Fluency in Information Technology
More Related