From (Copyright Refsnes Data) XML stands for EXtensible Markup Language.

Size: px
Start display at page:

Download "From (Copyright Refsnes Data) XML stands for EXtensible Markup Language."

Transcription

1 of 4 10/05/ :09 A XML Tutorial XML Tutorial XML Tutorial XML stands for EXtensible Markup Language. XML is designed to describe data and to focus on what data is. In our XML tutorial you will learn about XML and the difference between XML and HTML. You will also learn how to start using XML in your applications. Start learning XML! XML Examples Learn by examples! With our editor, you can edit XML and click on a test button to view the result. Try-It-Yourself! XML Quiz Test Test your XML skills at W3Schools! Start the XML Quiz!

2 of 4 10/05/ :09 A XML Tutorial Table of Contents XML Basic Introduction to XML What is XML, and how does it differ from HTML? How XML can be used Some of the different ways XML can be used. XML Syntax The strict and very simple syntax rules of XML. XML Elements XML Elements, relationships, content and naming rules. XML Attributes How XML attributes can be used to describe elements or provide additional information about elements. XML Validation The difference between a well-formed and a valid XML document, and how a DTD is used to define the structure of an XML document. XML Validator A simple on-line tool for syntax-checking XML. XML Browser support About the XML-support in the most common browsers. Viewing XML in Browsers How to view XML files. Displaying XML with CSS How to use CSS to display an XML file. Displaying XML with XSL How to use XSL to display an XML file.

3 of 4 10/05/ :09 A XML Tutorial XML embedded in HTML How to embed XML inside HTML documents. XML in Real Life A real-life example of how XML can be used to carry information. XML Parser To read and update, create and manipulate an XML document, you will need an XML parser. XML Advanced XML Namespaces How to avoid element name conflicts using XML namespaces. XML CDATA How to tell an XML parser not to parse the text. XML Encoding How to encode your XML documents. XML Server How to generate XML on the server. XML Applications How to use IE to navigate in an XML file and how to create a complete XML application. XML HTTP Requests By using the XMLHttpRequest object, a web developer can change a page with data from the server after the page has loaded. XML Save Data to an XML File Usually, we save data in databases. However, if we want to make the data more portable, we can store the data in an XML file. Behaviors for HTML and XML How the CSS behavior selector can be used to create dynamic content.

4 of 4 10/05/ :09 A XML Tutorial XML Technologies XML-related technologies. XML Editor Why you should use an XML editor when you edit XML documents. XML Summary This chapter contains a summary on what you have learned in this tutorial and a recommendation on what subject you should study next. XML Examples/Quiz XML Examples Lots of XML Examples!! XML Quiz! Test your XML skills at W3Schools!

5 1 of 4 10/05/ :11 A XML Introduction - What is XML? Introduction to XML XML was designed to describe data and to focus on what data is. HTML was designed to display data and to focus on how data looks. What You Should Already Know Before you continue you should have a basic understanding of the following: HTML / XHTML JavaScript or VBScript If you want to study these subjects first, find the tutorials on our Home page. What is XML? XML stands for EXtensible Markup Language XML is a markup language much like HTML XML was designed to describe data XML tags are not predefined. You must define your own tags XML uses a Document Type Definition (DTD) or an XML Schema to describe the data XML with a DTD or XML Schema is designed to be self-descriptive XML is a W3C Recommendation

6 2 of 4 10/05/ :11 A XML Introduction - What is XML? XML is a W3C Recommendation The Extensible Markup Language (XML) became a W3C Recommendation 10. February You can read more about XML standards in our W3C tutorial. The Main Difference Between XML and HTML XML was designed to carry data. XML is not a replacement for HTML. XML and HTML were designed with different goals: XML was designed to describe data and to focus on what data is. HTML was designed to display data and to focus on how data looks. HTML is about displaying information, while XML is about describing information. XML Does not DO Anything XML was not designed to DO anything. Maybe it is a little hard to understand, but XML does not DO anything. XML was created to structure, store and to send information. The following example is a note to Tove from Jani, stored as XML: <note> <to>tove</to> <from>jani</from> <heading>reminder</heading>

7 3 of 4 10/05/ :11 A XML Introduction - What is XML? <body>don't forget me this weekend!</body> </note> The note has a header and a message body. It also has sender and receiver information. But still, this XML document does not DO anything. It is just pure information wrapped in XML tags. Someone must write a piece of software to send, receive or display it. XML is Free and Extensible XML tags are not predefined. You must "invent" your own tags. The tags used to mark up HTML documents and the structure of HTML documents are predefined. The author of HTML documents can only use tags that are defined in the HTML standard (like <p>, <h1>, etc.). XML allows the author to define his own tags and his own document structure. The tags in the example above (like <to> and <from>) are not defined in any XML standard. These tags are "invented" by the author of the XML document. XML is a Complement to HTML XML is not a replacement for HTML. It is important to understand that XML is not a replacement for HTML. In future Web development it is most likely that XML will be used to describe the data, while HTML will be used to format and display the same data. My best description of XML is this: XML is a cross-platform,

8 4 of 4 10/05/ :11 A XML Introduction - What is XML? software and hardware independent tool for transmitting information. XML in Future Web Development XML is going to be everywhere. We have been participating in XML development since its creation. It has been amazing to see how quickly the XML standard has been developed and how quickly a large number of software vendors have adopted the standard. We strongly believe that XML will be as important to the future of the Web as HTML has been to the foundation of the Web and that XML will be the most common tool for all data manipulation and data transmission.

9 of 4 10/05/ :12 A XML Usage How can XML be Used? It is important to understand that XML was designed to store, carry, and exchange data. XML was not designed to display data. XML can Separate Data from HTML With XML, your data is stored outside your HTML. When HTML is used to display data, the data is stored inside your HTML. With XML, data can be stored in separate XML files. This way you can concentrate on using HTML for data layout and display, and be sure that changes in the underlying data will not require any changes to your HTML. XML data can also be stored inside HTML pages as "Data Islands". You can still concentrate on using HTML only for formatting and displaying the data. XML is Used to Exchange Data With XML, data can be exchanged between incompatible systems. In the real world, computer systems and databases contain data in incompatible formats. One of the most time-consuming challenges for developers has been to exchange data between such systems over the Internet. Converting the data to XML can greatly reduce this complexity and

10 of 4 10/05/ :12 A XML Usage create data that can be read by many different types of applications. XML and B2B With XML, financial information can be exchanged over the Internet. Expect to see a lot about XML and B2B (Business To Business) in the near future. XML is going to be the main language for exchanging financial information between businesses over the Internet. A lot of interesting B2B applications are under development. XML Can be Used to Share Data With XML, plain text files can be used to share data. Since XML data is stored in plain text format, XML provides a software- and hardware-independent way of sharing data. This makes it much easier to create data that different applications can work with. It also makes it easier to expand or upgrade a system to new operating systems, servers, applications, and new browsers. XML Can be Used to Store Data With XML, plain text files can be used to store data. XML can also be used to store data in files or in databases. Applications can be written to store and retrieve information from the store, and generic applications can be used to display the data.

11 of 4 10/05/ :12 A XML Usage XML Can Make your Data More Useful With XML, your data is available to more users. Since XML is independent of hardware, software and application, you can make your data available to other than only standard HTML browsers. Other clients and applications can access your XML files as data sources, like they are accessing databases. Your data can be made available to all kinds of "reading machines" (agents), and it is easier to make your data available for blind people, or people with other disabilities. XML Can be Used to Create New Languages XML is the mother of WAP and WML. The Wireless Markup Language (WML), used to markup Internet applications for handheld devices like mobile phones, is written in XML. You can read more about WML in our WML tutorial. If Developers Have Sense If they DO have sense, all future applications will exchange their data in XML. The future might give us word processors, spreadsheet applications and databases that can read each other's data in a pure text format, without any conversion utilities in between. We can only pray that Microsoft and all the other software vendors

12 of 4 10/05/ :12 A XML Usage will agree.

13 of 6 10/05/ :14 A XML Syntax XML Syntax Rules The syntax rules of XML are very simple and very strict. The rules are very easy to learn, and very easy to use. Because of this, creating software that can read and manipulate XML is very easy. An Example XML Document XML documents use a self-describing and simple syntax. <?xml version="1.0" encoding="iso "?> <note> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note> The first line in the document - the XML declaration - defines the XML version and the character encoding used in the document. In this case the document conforms to the 1.0 specification of XML and uses the ISO (Latin-1/West European) character set. The next line describes the root element of the document (like it was saying: "this document is a note"): <note>

14 of 6 10/05/ :14 A XML Syntax The next 4 lines describe 4 child elements of the root (to, from, heading, and body): <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> And finally the last line defines the end of the root element: </note> Can you detect from this example that the XML document contains a Note to Tove from Jani? Don't you agree that XML is pretty self-descriptive? All XML Elements Must Have a Closing Tag With XML, it is illegal to omit the closing tag. In HTML some elements do not have to have a closing tag. The following code is legal in HTML: <p>this is a paragraph <p>this is another paragraph In XML all elements must have a closing tag, like this: <p>this is a paragraph</p> <p>this is another paragraph</p>

15 of 6 10/05/ :14 A XML Syntax Note: You might have noticed from the previous example that the XML declaration did not have a closing tag. This is not an error. The declaration is not a part of the XML document itself. It is not an XML element, and it should not have a closing tag. XML Tags are Case Sensitive Unlike HTML, XML tags are case sensitive. With XML, the tag <Letter> is different from the tag <letter>. Opening and closing tags must therefore be written with the same case: <Message>This is incorrect</message> <message>this is correct</message> XML Elements Must be Properly Nested Improper nesting of tags makes no sense to XML. In HTML some elements can be improperly nested within each other like this: <b><i>this text is bold and italic</b></i> In XML all elements must be properly nested within each other like this: <b><i>this text is bold and italic</i></b>

16 of 6 10/05/ :14 A XML Syntax XML Documents Must Have a Root Element All XML documents must contain a single tag pair to define a root element. All other elements must be within this root element. All elements can have sub elements (child elements). Sub elements must be correctly nested within their parent element: <root> <child> <subchild>...</subchild> </child> </root> XML Attribute Values Must be Quoted With XML, it is illegal to omit quotation marks around attribute values. 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: <?xml version="1.0" encoding="iso "?> <note date=12/11/2002> <to>tove</to> <from>jani</from> </note>

17 of 6 10/05/ :14 A XML Syntax <?xml version="1.0" encoding="iso "?> <note date="12/11/2002"> <to>tove</to> <from>jani</from> </note> The error in the first document is that the date attribute in the note element is not quoted. This is correct: date="12/11/2002". This is incorrect: date=12/11/2002. With XML, White Space is Preserved With XML, the white space in your document is not truncated. This is unlike HTML. With HTML, a sentence like this: Hello my name is Tove, will be displayed like this: Hello my name is Tove, because HTML reduces multiple, consecutive white space characters to a single white space. With XML, CR / LF is Converted to LF With XML, a new line is always stored as LF. Do you know what a typewriter is? Well, a typewriter is a mechanical device which was used last century to produce printed documents. :-)

18 of 6 10/05/ :14 A XML Syntax After you have typed one line of text on a typewriter, you have to manually return the printing carriage to the left margin position and manually feed the paper up one line. In Windows applications, a new line is normally stored as a pair of characters: carriage return (CR) and line feed (LF). The character pair bears some resemblance to the typewriter actions of setting a new line. In Unix applications, a new line is normally stored as a LF character. Macintosh applications use only a CR character to store a new line. Comments in XML The syntax for writing comments in XML is similar to that of HTML. <!-- This is a comment --> There is Nothing Special About XML There is nothing special about XML. It is just plain text with the addition of some XML tags enclosed in angle brackets. Software that can handle plain text can also handle XML. In a simple text editor, the XML tags will be visible and will not be handled specially. In an XML-aware application however, the XML tags can be handled specially. The tags may or may not be visible, or have a functional meaning, depending on the nature of the application.

19 of 5 10/05/ :15 A XML Elements XML Elements XML Elements are extensible and they have relationships. XML Elements have simple naming rules. XML Elements are Extensible XML documents can be extended to carry more information. Look at the following XML NOTE example: <note> <to>tove</to> <from>jani</from> <body>don't forget me this weekend!</body> </note> Let's imagine that we created an application that extracted the <to>, <from>, and <body> elements from the XML document to produce this output: MESSAGE To: Tove From: Jani Don't forget me this weekend! Imagine that the author of the XML document added some extra

20 of 5 10/05/ :15 A XML Elements information to it: <note> <date> </date> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note> Should the application break or crash? No. The application should still be able to find the <to>, <from>, and <body> elements in the XML document and produce the same output. XML documents are Extensible. XML Elements have Relationships Elements are related as parents and children. To understand XML terminology, you have to know how relationships between XML elements are named, and how element content is described. Imagine that this is a description of a book: My First XML Introduction to XML What is HTML What is XML XML Syntax

21 of 5 10/05/ :15 A XML Elements Elements must have a closing tag Elements must be properly nested Imagine that this XML document describes the book: <book> <title>my First XML</title> <prod id="33-657" media="paper"></prod> <chapter>introduction to XML <para>what is HTML</para> <para>what is XML</para> </chapter> <chapter>xml Syntax <para>elements must have a closing tag</para> <para>elements must be properly nested</para> </chapter> </book> Book is the root element. Title, prod, and chapter are child elements of book. Book is the parent element of title, prod, and chapter. Title, prod, and chapter are siblings (or sister elements) because they have the same parent. Elements have Content Elements can have different content types. An XML element is everything from (including) the element's start tag to (including) the element's end tag. An element can have element content, mixed content, simple content, or empty content. An element can also have attributes. In the example above, book has element content, because it

22 of 5 10/05/ :15 A XML Elements contains other elements. Chapter has mixed content because it contains both text and other elements. Para has simple content (or text content) because it contains only text. Prod has empty content, because it carries no information. In the example above only the prod element has attributes. The attribute named id has the value "33-657". The attribute named media has the value "paper". Element Naming XML elements must follow these naming rules: Names can contain letters, numbers, and other characters Names must not start with a number or punctuation character Names must not start with the letters xml (or XML, or Xml, etc) Names cannot contain spaces Take care when you "invent" element names and follow these simple rules: Any name can be used, no words are reserved, but the idea is to make names descriptive. Names with an underscore separator are nice. Examples: <first_name>, <last_name>. Avoid "-" and "." in names. For example, if you name something "first-name," it could be a mess if your software tries to subtract name from first. Or if you name something "first.name," your software may think that "name" is a property of the object "first." Element names can be as long as you like, but don't exaggerate. Names should be short and simple, like this: <book_title> not like this: <the_title_of_the_book>. XML documents often have a corresponding database, in which fields exist corresponding to elements in the XML document. A good

23 of 5 10/05/ :15 A XML Elements practice is to use the naming rules of your database for the elements in the XML documents. Non-English letters like éòá are perfectly legal in XML element names, but watch out for problems if your software vendor doesn't support them. The ":" should not be used in element names because it is reserved to be used for something called namespaces (more later).

24 of 6 10/05/ :15 A XML Attributes XML Attributes XML elements can have attributes in the start tag, just like HTML. Attributes are used to provide additional information about elements. XML Attributes XML elements can have attributes. From HTML you will remember this: <IMG SRC="computer.gif">. The SRC attribute provides additional information about the IMG element. In HTML (and in XML) attributes provide additional information about elements: <img src="computer.gif"> <a href="demo.asp"> Attributes often provide information that is not a part of the data. In the example below, the file type is irrelevant to the data, but important to the software that wants to manipulate the element: <file type="gif">computer.gif</file>

25 of 6 10/05/ :15 A XML Attributes Quote Styles, "female" or 'female'? Attribute values must always be enclosed in quotes, but either single or double quotes can be used. For a person's sex, the person tag can be written like this: <person sex="female"> or like this: <person sex='female'> Note: If the attribute value itself contains double quotes it is necessary to use single quotes, like in this example: <gangster name='george "Shotgun" Ziegler'> Note: If the attribute value itself contains single quotes it is necessary to use double quotes, like in this example: <gangster name="george 'Shotgun' Ziegler"> Use of Elements vs. Attributes Data can be stored in child elements or in attributes. Take a look at these examples: <person sex="female"> <firstname>anna</firstname>

26 of 6 10/05/ :15 A XML Attributes <lastname>smith</lastname> </person> <person> <sex>female</sex> <firstname>anna</firstname> <lastname>smith</lastname> </person> In the first example sex is an attribute. In the last, sex is a child element. Both examples provide the same information. There are no rules about when to use attributes, and when to use child elements. My experience is that attributes are handy in HTML, but in XML you should try to avoid them. Use child elements if the information feels like data. My Favorite Way I like to store data in child elements. The following three XML documents contain exactly the same information: A date attribute is used in the first example: <note date="12/11/2002"> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note> A date element is used in the second example:

27 of 6 10/05/ :15 A XML Attributes <note> <date>12/11/2002</date> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note> An expanded date element is used in the third: (THIS IS MY FAVORITE): <note> <date> <day>12</day> <month>11</month> <year>2002</year> </date> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note> Avoid using attributes? Should you avoid using attributes? Some of the problems with using attributes are: attributes cannot contain multiple values (child elements can) attributes are not easily expandable (for future changes) attributes cannot describe structures (child elements can) attributes are more difficult to manipulate by program code attribute values are not easy to test against a Document Type Definition (DTD) - which is used to define the legal elements of an XML document

28 of 6 10/05/ :15 A XML Attributes If you use attributes as containers for data, you end up with documents that are difficult to read and maintain. Try to use elements to describe data. Use attributes only to provide information that is not relevant to the data. Don't end up like this (this is not how XML should be used): <note day="12" month="11" year="2002" to="tove" from="jani" heading="reminder" body="don't forget me this weekend!"> </note> An Exception to my Attribute Rule Rules always have exceptions. My rule about attributes has one exception: Sometimes I assign ID references to elements. These ID references can be used to access XML elements in much the same way as the NAME or ID attributes in HTML. This example demonstrates this: <messages> <note id="p501"> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note> <note id="p502"> <to>jani</to> <from>tove</from> <heading>re: Reminder</heading> <body>i will not!</body> </note> </messages>

29 of 6 10/05/ :15 A XML Attributes The ID in these examples is just a counter, or a unique identifier, to identify the different notes in the XML file, and not a part of the note data. What I am trying to say here is that metadata (data about data) should be stored as attributes, and that data itself should be stored as elements.

30 of 3 10/05/ :16 A XML DTD XML Validation XML with correct syntax is Well Formed XML. XML validated against a DTD is Valid XML. Well Formed XML Documents A "Well Formed" XML document has correct XML syntax. A "Well Formed" XML document is a document that conforms to the XML syntax rules that were described in the previous chapters: XML documents must have a root element XML elements must have a closing tag XML tags are case sensitive XML elements must be properly nested XML attribute values must always be quoted <?xml version="1.0" encoding="iso "?> <note> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note> Valid XML Documents

31 of 3 10/05/ :16 A XML DTD A "Valid" XML document also conforms to a DTD. A "Valid" XML document is a "Well Formed" XML document, which also conforms to the rules of a Document Type Definition (DTD): <?xml version="1.0" encoding="iso "?> <!DOCTYPE note SYSTEM "InternalNote.dtd"> <note> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note> XML DTD A DTD defines the legal elements of an XML document. The purpose of a DTD is to define the legal building blocks of an XML document. It defines the document structure with a list of legal elements. You can read more about DTD, and how to validate your XML documents in our DTD tutorial. XML Schema XML Schema is an XML based alternative to DTD. W3C supports an alternative to DTD called XML Schema. You can read more about XML Schema in our Schema tutorial. A General XML Validator To help you check the syntax of your xml files, we have created this link so that you can syntax-check any XML file.

32 of 3 10/05/ :16 A XML DTD

33 of 2 10/05/ :17 A XML Validator XML Validator XML Errors will Stop you Errors in XML documents will stop your XML program. The W3C XML specification states that a program should not continue to process an XML document if it finds an error. The reason is that XML software should be easy to write, and that all XML documents should be compatible. With HTML it was possible to create documents with lots of errors (like when you forget an end tag). One of the main reasons that HTML browsers are so big and incompatible, is that they have their own ways to figure out what a document should look like when they encounter an HTML error. With XML this should not be possible. Syntax-check your XML - IE Only To help you syntax-check your xml, we have used Microsoft's XML parser to create an XML validator. Paste your XML in the text area below, and syntax-check it by pressing the "Validate" button.

34 of 2 10/05/ :17 A XML Validator <?xml version="1.0"?> <note> <to>tove</to> <from>jani</ffrom> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note> Validate Syntax-check your XML File - IE Only You can also syntax-check your XML file by typing the URL of your file into the input field below, and then press the "Validate" button Filename: Validate If you want to syntax-check an error-free XML file, you can paste the following address into the filename field: Note: If you get the error "Access denied" when accessing this file, it is because your Internet Explorer security settings do not allow access across domains!

35 1 of 2 10/05/ :18 A XML Browser Support XML Browser Support Nearly all major browsers have support for XML and XSLT. Mozilla Firefox As of version 1.0.2, Firefox has support for XML and XSLT (and CSS). Mozilla Mozilla includes Expat for XML parsing and has support to display XML + CSS. Mozilla also has some support for Namespaces. Mozilla is available with an XSLT implementation. Netscape As of version 8, Netscape uses the Mozilla engine, and therefore it has the same XML / XSLT support as Mozilla. Opera As of version 9, Opera has support for XML and XSLT (and CSS). Version 8 supports only XML + CSS.

36 2 of 2 10/05/ :18 A XML Browser Support Internet Explorer As of version 6, Internet Explorer supports XML, Namespaces, CSS, XSLT, and XPath. Note: Internet Explorer 5 also has XML support, but the XSL part is NOT compatible with the official W3C XSL Recommendation!

37 of 3 10/05/ :20 A Viewing XML files Viewing XML Files Raw XML files can be viewed in Mozilla, Firefox, Opera, Internet Explorer, and Netscape 6+. However, to make XML documents display as nice web pages, you will have to add some display information. Viewing XML Files In Firefox and Internet Explorer: Open the XML file (typically by clicking on a link) - The XML document will be displayed with color-coded root and child elements. A plus (+) or minus sign (-) to the left of the elements can be clicked to expand or collapse the element structure. To view the raw XML source (without the + and - signs), select "View Page Source" or "View Source" from the browser menu. In Netscape 6: Open the XML file, then right-click in XML file and select "View Page Source". The XML document will then be displayed with color-coded root and child elements. In Opera 7 and 8: In Opera 7: Open the XML file, then right-click in XML file and select "Frame" / "View Source". The XML document will be displayed as plain text. In Opera 8: Open the XML file, then right-click in XML file and select "Source". The XML document will

38 of 3 10/05/ :20 A Viewing XML files be displayed as plain text. Look at this XML file: note.xml Note: Do not expect XML files to be formatted like HTML documents! Viewing an Invalid XML File If an erroneous XML file is opened, the browser will report the error. Look at this XML file: note_error.xml Other XML Examples Viewing some XML documents will help you get the XML feeling. An XML CD catalog This is my father's CD collection, stored as XML data (old and boring titles I guess... :-)). An XML plant catalog This is a plant catalog from a plant shop, stored as XML data. A Simple Food Menu This is a breakfast food menu from a restaurant, stored as XML data. Why Does XML Display Like This? XML documents do not carry information about how to display the data. Since XML tags are "invented" by the author of the XML document,

39 of 3 10/05/ :20 A Viewing XML files browsers do not know if a tag like <table> describes an HTML table or a dining table. Without any information about how to display the data, most browsers will just display the XML document as it is. In the next chapters, we will take a look at different solutions to the display problem, using CSS, XSL, JavaScript, and XML Data Islands.

40 1 of 2 10/05/ :21 A XML and CSS Displaying XML with CSS With CSS (Cascading Style Sheets) you can add display information to an XML document. Displaying your XML Files with CSS? It is possible to use CSS to format an XML document. Below is an example of how to use a CSS style sheet to format an XML document: Take a look at this XML file: The CD catalog Then look at this style sheet: The CSS file Finally, view: The CD catalog formatted with the CSS file Below is a fraction of the XML file. The second line, <?xml-stylesheet type="text/css" href="cd_catalog.css"?>, links the XML file to the CSS file: <?xml version="1.0" encoding="iso "?> <?xml-stylesheet type="text/css" href="cd_catalog.css"?> <CATALOG> <CD> <TITLE>Empire Burlesque</TITLE> <ARTIST>Bob Dylan</ARTIST> <COUNTRY>USA</COUNTRY> <COMPANY>Columbia</COMPANY> <PRICE>10.90</PRICE> <YEAR>1985</YEAR> </CD>

41 2 of 2 10/05/ :21 A XML and CSS <CD> <TITLE>Hide your heart</title> <ARTIST>Bonnie Tyler</ARTIST> <COUNTRY>UK</COUNTRY> <COMPANY>CBS Records</COMPANY> <PRICE>9.90</PRICE> <YEAR>1988</YEAR> </CD>.... </CATALOG> Note: Formatting XML with CSS is NOT the future of how to style XML documents. XML document should be styled by using the W3C's XSL standard!

42 1 of 2 10/05/ :22 A XML and XSL Displaying XML with XSL With XSL you can add display information to your XML document. Displaying XML with XSL XSL is the preferred style sheet language of XML. XSL (the extensible Stylesheet Language) is far more sophisticated than CSS. One way to use XSL is to transform XML into HTML before it is displayed by the browser as demonstrated in these examples: View the XML file, the XSL style sheet, and View the result. Below is a fraction of the XML file. The second line, <?xml-stylesheet type="text/xsl" href="simple.xsl"?>, links the XML file to the XSL file: <?xml version="1.0" encoding="iso "?> <?xml-stylesheet type="text/xsl" href="simple.xsl"?> <breakfast_menu> <food> <name>belgian Waffles</name> <price>$5.95</price> <description> two of our famous Belgian Waffles </description> <calories>650</calories> </food> </breakfast_menu>

43 2 of 2 10/05/ :22 A XML and XSL If you want to learn more about XSL, please visit our XSL tutorial.

44 of 3 10/05/ :22 A XML Data Islands XML Data Island With Internet Explorer, the unofficial <xml> tag can be used to create an XML data island. XML Data Embedded in HTML An XML data island is XML data embedded into an HTML page. Here is how it works; assume we have the following XML document ("note.xml"): <?xml version="1.0" encoding="iso "?> <note> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note> Then, in an HTML document, you can embed the XML file above with the <xml> tag. The id attribute of the <xml> tag defines an ID for the data island, and the src attribute points to the XML file to embed: <html> <body> <xml id="note" src="note.xml"></xml> </body>

45 of 3 10/05/ :22 A XML Data Islands </html> However, the embedded XML data is, up to this point, not visible for the user. The next step is to format and display the data in the data island by binding it to HTML elements. Bind Data Island to HTML Elements In the next example, we will embed an XML file called "cd_catalog.xml" into an HTML file. View "cd_catalog.xml". The HTML file looks like this: <html> <body> <xml id="cdcat" src="cd_catalog.xml"></xml> <table border="1" datasrc="#cdcat"> <tr> <td><span datafld="artist"></span></td> <td><span datafld="title"></span></td> </tr> </table> </body> </html> Example explained: The datasrc attribute of the <table> tag binds the HTML table element to the XML data island. The datasrc attribute refers to the id attribute of the data island.

46 of 3 10/05/ :22 A XML Data Islands <td> tags cannot be bound to data, so we are using <span> tags. The <span> tag allows the datafld attribute to refer to the XML element to be displayed. In this case, it is datafld="artist" for the <ARTIST> element and datafld="title" for the <TITLE> element in the XML file. As the XML is read, additional rows are created for each <CD> element. If you are running IE 5.0 or higher, you can try it yourself. Also try this example, demonstrating <thead>, <tbody>, and <tfoot>.

47 of 2 10/05/ :23 A XML in Real Life XML in Real Life A real-life example of how XML can be used to carry information. Example: XML News XMLNews is a specification for exchanging news and other information. Using such a standard makes it easier for both news producers and news consumers to produce, receive, and archive any kind of news information across different hardware, software, and programming languages. An example XMLNews document: <?xml version="1.0" encoding="iso "?> <nitf> <head> <title>colombia Earthquake</title> </head> <body> <headline> <hl1>143 Dead in Colombia Earthquake</hl1> </headline> <byline> <bytag>by Jared Kotler, Associated Press Writer</bytag> </byline> <dateline> <location>bogota, Colombia</location>

48 of 2 10/05/ :23 A XML in Real Life <date>monday January :28 ET</date> </dateline> </body> </nitf>

49 of 6 10/05/ :24 A XML Parser XML Parser To read and update, create and manipulate an XML document, you will need an XML parser. Examples Parse an XML file - Crossbrowser example This example is a cross-browser example that loads an existing XML document ("note.xml") into the XML parser. Parse an XML string - Crossbrowser example This example is a cross-browser example on how to load and parse an XML string. Parsing XML Documents To manipulate an XML document, you need an XML parser. The parser loads the document into your computer's memory. Once the document is loaded, its data can be manipulated using the DOM. The DOM treats the XML document as a tree. To learn more about the XML DOM, please read our XML DOM tutorial. There are some differences between Microsoft's XML parser and the XML parser used in Mozilla browsers. In this tutorial we will show you how to create cross browser scripts that will work in both Internet Explorer and Mozilla browsers. Microsoft's XML Parser Microsoft's XML parser is a COM component that comes with Internet

50 of 6 10/05/ :24 A XML Parser Explorer 5 and higher. Once you have installed Internet Explorer, the parser is available to scripts. Microsoft's XML parser supports all the necessary functions to traverse the node tree, access the nodes and their attribute values, insert and delete nodes, and convert the node tree back to XML. To create an instance of Microsoft's XML parser, use the following code: JavaScript: var xmldoc=new ActiveXObject("Microsoft.XMLDOM"); VBScript: set xmldoc=createobject("microsoft.xmldom") ASP: set xmldoc=server.createobject("microsoft.xmldom") The following code fragment loads an existing XML document ("note.xml") into Microsoft's XML parser: var xmldoc=new ActiveXObject("Microsoft.XMLDOM"); xmldoc.async="false"; xmldoc.load("note.xml"); The first line of the script above creates an instance of the XML parser. The second line turns off asynchronized loading, to make sure that the parser will not continue execution of the script before the document is fully loaded. The third line tells the parser to load an XML document called "note.xml". XML Parser in Mozilla, Firefox, and Opera

51 of 6 10/05/ :24 A XML Parser Mozilla's XML parser supports all the necessary functions to traverse the node tree, access the nodes and their attribute values, insert and delete nodes, and convert the node tree back to XML. To create an instance of the XML parser in Mozilla browsers, use the following code: JavaScript: var xmldoc=document.implementation.createdocument("ns","root",nu The first parameter, ns, defines the namespace used for the XML document. The second parameter, root, is the XML root element in the XML file. The third parameter, null, is always null because it is not implemented yet. The following code fragment loads an existing XML document ("note.xml") into Mozillas' XML parser: var xmldoc=document.implementation.createdocument("","",null); xmldoc.load("note.xml"); The first line of the script above creates an instance of the XML parser. The second line tells the parser to load an XML document called "note.xml". Parsing an XML File - A Cross browser Example The following example is a cross browser example that loads an existing XML document ("note.xml") into the XML parser: <html> <head> <script type="text/javascript"> var xmldoc; function loadxml() {

52 of 6 10/05/ :24 A XML Parser // code for IE if (window.activexobject) { xmldoc=new ActiveXObject("Microsoft.XMLDOM"); xmldoc.async=false; xmldoc.load("note.xml"); getmessage(); } // code for Mozilla, Firefox, Opera, etc. else if (document.implementation && document.implementation.createdocument) { xmldoc=document.implementation.createdocument("","",null); xmldoc.load("note.xml"); xmldoc.onload=getmessage; } else { alert('your browser cannot handle this script'); } } function getmessage() { document.getelementbyid("to").innerhtml= xmldoc.getelementsbytagname("to")[0].childnodes[0].nodevalue; document.getelementbyid("from").innerhtml= xmldoc.getelementsbytagname("from")[0].childnodes[0].nodevalue; document.getelementbyid("message").innerhtml= xmldoc.getelementsbytagname("body")[0].childnodes[0].nodevalue; } </script> </head> <body onload="loadxml()"> <h1>w3schools Internal Note</h1> <p><b>to:</b> <span id="to"></span><br /> <b>from:</b> <span id="from"></span><br /> <b>message:</b> <span id="message"></span> </p> </body> </html> Output: W3Schools Internal Note

53 of 6 10/05/ :24 A XML Parser To: Tove From: Jani Message: Don't forget me this weekend! Important Note To extract the text (Jani) from an XML element like: <from>jani</from>, the correct syntax is: getelementsbytagname("from")[0].childnodes[0].nodevalue IMPORTANT: getelementsbytagname returns an array of nodes. The array contains all elements with the specified name within the XML document. In this case there is only one "from" element, but you still have to specify the array index ( [0] ). Parsing an XML String - A Cross browser Example The following code is a cross-browser example on how to load and parse an XML string: <html> <body> <script type="text/javascript"> var text="<note>"; text=text+"<to>tove</to>"; text=text+"<from>jani</from>"; text=text+"<heading>reminder</heading>"; text=text+"<body>don't forget me this weekend!</body>"; text=text+"</note>"; // code for IE if (window.activexobject)

54 of 6 10/05/ :24 A XML Parser { var doc=new ActiveXObject("Microsoft.XMLDOM"); doc.async="false"; doc.loadxml(text); } // code for Mozilla, Firefox, Opera, etc. else { var parser=new DOMParser(); var doc=parser.parsefromstring(text,"text/xml"); } // documentelement always represents the root node var x=doc.documentelement; document.write("text of first child element: "); document.write(x.childnodes[0].childnodes[0].nodevalue); document.write("<br />"); document.write("text of second child element: "); document.write(x.childnodes[1].childnodes[0].nodevalue); </script> </body> </html> Output: Text of first child element: Tove Text of second child element: Jani Note: Internet Explorer uses the loadxml() method to parse an XML string, while Mozilla browsers uses the DOMParser object.

55 of 6 10/05/ :25 A XML Namespaces XML Namespaces XML Namespaces provide a method to avoid element name conflicts. Name Conflicts Since element names in XML are not predefined, a name conflict will occur when two different documents use the same element names. This XML document carries information in a table: <table> <tr> <td>apples</td> <td>bananas</td> </tr> </table> This XML document carries information about a table (a piece of furniture): <table> <name>african Coffee Table</name> <width>80</width> <length>120</length> </table> If these two XML documents were added together, there would be

56 of 6 10/05/ :25 A XML Namespaces an element name conflict because both documents contain a <table> element with different content and definition. Solving Name Conflicts Using a Prefix This XML document carries information in a table: <h:table> <h:tr> <h:td>apples</h:td> <h:td>bananas</h:td> </h:tr> </h:table> This XML document carries information about a piece of furniture: <f:table> <f:name>african Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> Now there will be no name conflict because the two documents use a different name for their <table> element (<h:table> and <f:table>). By using a prefix, we have created two different types of <table> elements. Using Namespaces This XML document carries information in a table: <h:table xmlns:h="

57 of 6 10/05/ :25 A XML Namespaces <h:tr> <h:td>apples</h:td> <h:td>bananas</h:td> </h:tr> </h:table> This XML document carries information about a piece of furniture: <f:table xmlns:f=" <f:name>african Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> Instead of using only prefixes, we have added an xmlns attribute to the <table> tag to give the prefix a qualified name associated with a namespace. The XML Namespace (xmlns) Attribute The XML namespace attribute is placed in the start tag of an element and has the following syntax: xmlns:namespace-prefix="namespaceuri" When a namespace is defined in the start tag of an element, all child elements with the same prefix are associated with the same namespace. Note that the address used to identify the namespace is not used by the parser to look up information. The only purpose is to give the namespace a unique name. However, very often companies use the namespace as a pointer to a real Web page containing information about the namespace. Try to go to

58 of 6 10/05/ :25 A XML Namespaces Uniform Resource Identifier (URI) A Uniform Resource Identifier (URI) is a string of characters which identifies an Internet Resource. The most common URI is the Uniform Resource Locator (URL) which identifies an Internet domain address. Another, not so common type of URI is the Universal Resource Name (URN). In our examples we will only use URLs. Default Namespaces Defining a default namespace for an element saves us from using prefixes in all the child elements. It has the following syntax: xmlns="namespaceuri" This XML document carries information in a table: <table xmlns=" <tr> <td>apples</td> <td>bananas</td> </tr> </table> This XML document carries information about a piece of furniture: <table xmlns=" <name>african Coffee Table</name> <width>80</width> <length>120</length> </table>

59 of 6 10/05/ :25 A XML Namespaces Namespaces in Real Use When you start using XSL, you will soon see namespaces in real use. XSL style sheets are used to transform XML documents into other formats, like HTML. If you take a close look at the XSL document below, you will see that most of the tags are HTML tags. The tags that are not HTML tags have the prefix xsl, identified by the namespace " <?xml version="1.0" encoding="iso "?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:template match="/"> <html> <body> <h2>my CD Collection</h2> <table border="1"> <tr> <th align="left">title</th> <th align="left">artist</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>

60 of 6 10/05/ :25 A XML Namespaces

61 of 3 10/05/ :26 A XML CDATA XML CDATA All text in an XML document will be parsed by the parser. Only text inside a CDATA section will be ignored by the parser. Parsed Data XML parsers normally parse all the text in an XML document. When an XML element is parsed, the text between the XML tags is also parsed: <message>this text is also parsed</message> The parser does this because XML elements can contain other elements, as in this example, where the <name> element contains two other elements (first and last): <name><first>bill</first><last>gates</last></name> and the parser will break it up into sub-elements like this: <name> <first>bill</first> <last>gates</last> </name>

EXtensible Markup Language XML

EXtensible Markup Language XML EXtensible Markup Language XML 1 What is XML? XML stands for EXtensible Markup Language XML is a markup language much like HTML XML was designed to carry data, not to display data XML tags are not predefined.

More information

EXtensible Markup Language XML

EXtensible Markup Language XML EXtensible Markup Language XML Main source: W3C School tutorials 1 Mark-up Languages A way of describing information in a document. Standard Generalized Mark-Up Language (SGML) - a specification for a

More information

INTERNET PROGRAMMING XML

INTERNET PROGRAMMING XML INTERNET PROGRAMMING XML Software Engineering Branch / 4 th Class Computer Engineering Department University of Technology OUTLINES XML Basic XML Advanced 2 HTML & CSS & JAVASCRIPT & XML DOCUMENTS HTML

More information

Start learning XML! Learn by examples! With our editor, you can edit XML and click on a test button to view the result.

Start learning XML! Learn by examples! With our editor, you can edit XML and click on a test button to view the result. file://i:\dokume~1\admini~1\lokale~1\temp\bczz0emh.htm Seite 1 von 3 HOME XML Basic XML HOME XML Introduction XML How to use XML Syntax XML Elements XML Attributes XML Validation XML Browsers XML Viewing

More information

XML (Extensible Markup Language)

XML (Extensible Markup Language) Basics of XML: What is XML? XML (Extensible Markup Language) XML stands for Extensible Markup Language XML was designed to carry data, not to display data XML tags are not predefined. You must define your

More information

XML. Presented by : Guerreiro João Thanh Truong Cong

XML. Presented by : Guerreiro João Thanh Truong Cong XML Presented by : Guerreiro João Thanh Truong Cong XML : Definitions XML = Extensible Markup Language. Other Markup Language : HTML. XML HTML XML describes a Markup Language. XML is a Meta-Language. Users

More information

Introduction to XML. M2 MIA, Grenoble Université. François Faure

Introduction to XML. M2 MIA, Grenoble Université. François Faure M2 MIA, Grenoble Université Example tove jani reminder dont forget me this weekend!

More information

markup language carry data define your own tags self-descriptive W3C Recommendation

markup language carry data define your own tags self-descriptive W3C Recommendation XML intro What is XML? XML stands for EXtensible Markup Language XML is a markup language much like HTML XML was designed to carry data, not to display data XML tags are not predefined. You must define

More information

The components of a basic XML system.

The components of a basic XML system. XML XML stands for EXtensible Markup Language. XML is a markup language much like HTML XML is a software- and hardware-independent tool for carrying information. XML is easy to learn. XML was designed

More information

XSL Languages. Adding styles to HTML elements are simple. Telling a browser to display an element in a special font or color, is easy with CSS.

XSL Languages. Adding styles to HTML elements are simple. Telling a browser to display an element in a special font or color, is easy with CSS. XSL Languages It started with XSL and ended up with XSLT, XPath, and XSL-FO. It Started with XSL XSL stands for EXtensible Stylesheet Language. The World Wide Web Consortium (W3C) started to develop XSL

More information

Web Services Part I. XML Web Services. Instructor: Dr. Wei Ding Fall 2009

Web Services Part I. XML Web Services. Instructor: Dr. Wei Ding Fall 2009 Web Services Part I Instructor: Dr. Wei Ding Fall 2009 CS 437/637 Database-Backed Web Sites and Web Services 1 XML Web Services XML Web Services = Web Services A Web service is a different kind of Web

More information

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering COMP9321 Web Application Engineering Semester 2, 2017 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 4 http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid= 2465 1

More information

What is XML? XML is designed to transport and store data.

What is XML? XML is designed to transport and store data. What is XML? XML stands for extensible Markup Language. XML is designed to transport and store data. HTML was designed to display data. XML is a markup language much like HTML XML was designed to carry

More information

Module 1-XML 1 INTRODUCTION. Browser s/w (Mozilla, IE, Netscape, etc)

Module 1-XML 1 INTRODUCTION. Browser s/w (Mozilla, IE, Netscape, etc) Module 1-XML 1 INTRODUCTION [HTML files and XML files cannot do anything. If we have a HTML file say f1.html we need browser software like Internet Explorer, mozilla etc to display that file. So to display

More information

Data formats. { "firstname": "John", "lastname" : "Smith", "age" : 25, "address" : { "streetaddress": "21 2nd Street",

Data formats. { firstname: John, lastname : Smith, age : 25, address : { streetaddress: 21 2nd Street, Data formats { "firstname": "John", "lastname" : "Smith", "age" : 25, "address" : { "streetaddress": "21 2nd Street", "city" : "New York", "state" : "NY", "postalcode" : "10021" }, CSCI 470: Web Science

More information

but XML goes far beyond HTML: it describes data

but XML goes far beyond HTML: it describes data The XML Meta-Language 1 Introduction to XML The father of markup languages: XML = EXtensible Markup Language is a simplified version of SGML Originally created to overcome the limitations of HTML the HTML

More information

User Interaction: XML and JSON

User Interaction: XML and JSON User Interaction: XML and JSON Asst. Professor Donald J. Patterson INF 133 Fall 2011 1 What might a design notebook be like? Cooler What does a design notebook entry look like? HTML and XML 1989: Tim Berners-Lee

More information

<?xml version = 1.0 encoding= windows-874?> <?xml-stylesheet type= text/css href= #xmldocs?> <style id= xmldocs > element-name{ } </style>

<?xml version = 1.0 encoding= windows-874?> <?xml-stylesheet type= text/css href= #xmldocs?> <style id= xmldocs > element-name{ } </style> XML Displaying Displaying XML: CSS A modern web browser and a cascading style sheet (CSS) may be used to view XML as if it were HTML A style must be defined for every XML tag, or the browser displays it

More information

CS6501 IP Unit IV Page 1

CS6501 IP Unit IV Page 1 CS6501 Internet Programming Unit IV Part - A 1. What is PHP? PHP - Hypertext Preprocessor -one of the most popular server-side scripting languages for creating dynamic Web pages. - an open-source technology

More information

Web Publishing with HTML

Web Publishing with HTML Web Publishing with HTML MSc Induction Tutorials Athena Eftychiou PhD Student Department of Computing 1 Objectives Provide a foundation on Web Publishing by introducing basic notations and techniques like

More information

11. EXTENSIBLE MARKUP LANGUAGE (XML)

11. EXTENSIBLE MARKUP LANGUAGE (XML) 11. EXTENSIBLE MARKUP LANGUAGE (XML) Introduction Extensible Markup Language is a Meta language that describes the contents of the document. So these tags can be called as self-describing data tags. XML

More information

EXtensible Markup Language (XML) a W3C standard to complement HTML A markup language much like HTML

EXtensible Markup Language (XML)   a W3C standard to complement HTML A markup language much like HTML XML and XPath EXtensible Markup Language (XML) a W3C standard to complement HTML A markup language much like HTML origins: structured text SGML motivation: HTML describes presentation XML describes content

More information

Web Programming Paper Solution (Chapter wise)

Web Programming Paper Solution (Chapter wise) What is valid XML document? Design an XML document for address book If in XML document All tags are properly closed All tags are properly nested They have a single root element XML document forms XML tree

More information

The main Topics in this lecture are:

The main Topics in this lecture are: Lecture 15: Working with Extensible Markup Language (XML) The main Topics in this lecture are: - Brief introduction to XML - Some advantages of XML - XML Structure: elements, attributes, entities - What

More information

XML: Introduction. !important Declaration... 9:11 #FIXED... 7:5 #IMPLIED... 7:5 #REQUIRED... Directive... 9:11

XML: Introduction. !important Declaration... 9:11 #FIXED... 7:5 #IMPLIED... 7:5 #REQUIRED... Directive... 9:11 !important Declaration... 9:11 #FIXED... 7:5 #IMPLIED... 7:5 #REQUIRED... 7:4 @import Directive... 9:11 A Absolute Units of Length... 9:14 Addressing the First Line... 9:6 Assigning Meaning to XML Tags...

More information

XML Introduction 1. XML Stands for EXtensible Mark-up Language (XML). 2. SGML Electronic Publishing challenges -1986 3. HTML Web Presentation challenges -1991 4. XML Data Representation challenges -1996

More information

CSI 3140 WWW Structures, Techniques and Standards. Representing Web Data: XML

CSI 3140 WWW Structures, Techniques and Standards. Representing Web Data: XML CSI 3140 WWW Structures, Techniques and Standards Representing Web Data: XML XML Example XML document: An XML document is one that follows certain syntax rules (most of which we followed for XHTML) Guy-Vincent

More information

HTML. Mohammed Alhessi M.Sc. Geomatics Engineering. Internet GIS Technologies كلية اآلداب - قسم الجغرافيا نظم المعلومات الجغرافية

HTML. Mohammed Alhessi M.Sc. Geomatics Engineering. Internet GIS Technologies كلية اآلداب - قسم الجغرافيا نظم المعلومات الجغرافية HTML Mohammed Alhessi M.Sc. Geomatics Engineering Wednesday, February 18, 2015 Eng. Mohammed Alhessi 1 W3Schools Main Reference: http://www.w3schools.com/ 2 What is HTML? HTML is a markup language for

More information

INTRODUCTION TO WEB USING HTML What is HTML?

INTRODUCTION TO WEB USING HTML What is HTML? Geoinformation and Sectoral Statistics Section (GiSS) INTRODUCTION TO WEB USING HTML What is HTML? HTML is the standard markup language for creating Web pages. HTML stands for Hyper Text Markup Language

More information

Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 7 XML

Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 7 XML Chapter 7 XML 7.1 Introduction extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML Lax syntactical rules Many complex features that are rarely used HTML

More information

CSC Web Technologies, Spring Web Data Exchange Formats

CSC Web Technologies, Spring Web Data Exchange Formats CSC 342 - Web Technologies, Spring 2017 Web Data Exchange Formats Web Data Exchange Data exchange is the process of transforming structured data from one format to another to facilitate data sharing between

More information

W3C XML XML Overview

W3C XML XML Overview Overview Jaroslav Porubän 2008 References Tutorials, http://www.w3schools.com Specifications, World Wide Web Consortium, http://www.w3.org David Hunter, et al.: Beginning, 4th Edition, Wrox, 2007, 1080

More information

Introduction to XML. Chapter 133

Introduction to XML. Chapter 133 Chapter 133 Introduction to XML A. Multiple choice questions: 1. Attributes in XML should be enclosed within. a. single quotes b. double quotes c. both a and b d. none of these c. both a and b 2. Which

More information

XML. Marie Dubremetz Uppsala, April 2014

XML. Marie Dubremetz Uppsala, April 2014 XML Marie Dubremetz marie.dubremetz@lingfil.uu.se Uppsala, April 2014 Presentation Plan 1 Introduction 2 XML Specificities and Motivations 3 XML: Vocabulary and Techniques Uppsala May 2015 2/37 Table of

More information

Comp 336/436 - Markup Languages. Fall Semester Week 4. Dr Nick Hayward

Comp 336/436 - Markup Languages. Fall Semester Week 4. Dr Nick Hayward Comp 336/436 - Markup Languages Fall Semester 2018 - Week 4 Dr Nick Hayward XML - recap first version of XML became a W3C Recommendation in 1998 a useful format for data storage and exchange config files,

More information

Comp 336/436 - Markup Languages. Fall Semester Week 4. Dr Nick Hayward

Comp 336/436 - Markup Languages. Fall Semester Week 4. Dr Nick Hayward Comp 336/436 - Markup Languages Fall Semester 2017 - Week 4 Dr Nick Hayward XML - recap first version of XML became a W3C Recommendation in 1998 a useful format for data storage and exchange config files,

More information

Chapter 1: Getting Started. You will learn:

Chapter 1: Getting Started. You will learn: Chapter 1: Getting Started SGML and SGML document components. What XML is. XML as compared to SGML and HTML. XML format. XML specifications. XML architecture. Data structure namespaces. Data delivery,

More information

XML. Objectives. Duration. Audience. Pre-Requisites

XML. Objectives. Duration. Audience. Pre-Requisites XML XML - extensible Markup Language is a family of standardized data formats. XML is used for data transmission and storage. Common applications of XML include business to business transactions, web services

More information

7.1 Introduction. extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML

7.1 Introduction. extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML 7.1 Introduction extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML Lax syntactical rules Many complex features that are rarely used HTML is a markup language,

More information

INTERNET & WEB APPLICATION DEVELOPMENT SWE 444. Fall Semester (081) Module 4 (VII): XML DOM

INTERNET & WEB APPLICATION DEVELOPMENT SWE 444. Fall Semester (081) Module 4 (VII): XML DOM INTERNET & WEB APPLICATION DEVELOPMENT SWE 444 Fall Semester 2008-2009 (081) Module 4 (VII): XML DOM Dr. El-Sayed El-Alfy Computer Science Department King Fahd University of Petroleum and Minerals alfy@kfupm.edu.sa

More information

XML Extensible Markup Language

XML Extensible Markup Language XML Extensible Markup Language Generic format for structured representation of data. DD1335 (Lecture 9) Basic Internet Programming Spring 2010 1 / 34 XML Extensible Markup Language Generic format for structured

More information

User Interaction: XML and JSON

User Interaction: XML and JSON User Interaction: XML and JSON Assoc. Professor Donald J. Patterson INF 133 Fall 2012 1 XML w3schools.com bookstore book book book title author year price title author year price title author year price

More information

Extensible Markup Stylesheet Transformation (XSLT)

Extensible Markup Stylesheet Transformation (XSLT) Extensible Markup Stylesheet Transformation (XSLT) Asst. Prof. Dr. Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Dept. of Computer Engineering Khon Kaen University 1 Overview Terms: XSL, XSLT, XSL-FO Value

More information

COMP9321 Web Application Engineering. Extensible Markup Language (XML)

COMP9321 Web Application Engineering. Extensible Markup Language (XML) COMP9321 Web Application Engineering Extensible Markup Language (XML) Dr. Basem Suleiman Service Oriented Computing Group, CSE, UNSW Australia Semester 1, 2016, Week 4 http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2442

More information

XML extensible Markup Language

XML extensible Markup Language extensible Markup Language Eshcar Hillel Sources: http://www.w3schools.com http://java.sun.com/webservices/jaxp/ learning/tutorial/index.html Tutorial Outline What is? syntax rules Schema Document Object

More information

Software Engineering Methods, XML extensible Markup Language. Tutorial Outline. An Example File: Note.xml XML 1

Software Engineering Methods, XML extensible Markup Language. Tutorial Outline. An Example File: Note.xml XML 1 extensible Markup Language Eshcar Hillel Sources: http://www.w3schools.com http://java.sun.com/webservices/jaxp/ learning/tutorial/index.html Tutorial Outline What is? syntax rules Schema Document Object

More information

XML (Extensible Markup Language

XML (Extensible Markup Language XML (Extensible Markup Language XML is a markup language. XML stands for extensible Markup Language. The XML standard was created by W3C to provide an easy to use and standardized way to store self describing

More information

Web Programming Pre-01A Web Programming Technologies. Aryo Pinandito, ST, M.MT

Web Programming Pre-01A Web Programming Technologies. Aryo Pinandito, ST, M.MT Web Programming Pre-01A Web Programming Technologies Aryo Pinandito, ST, M.MT Document Formats: The evolution of HTML HTML HyperText Markup Language Primary document type for the web Transmitted using

More information

xmlns:gu="http://www.gu.au/empdtd" xmlns:uky="http://www.uky.edu/empdtd">

xmlns:gu=http://www.gu.au/empdtd xmlns:uky=http://www.uky.edu/empdtd> Namespaces Namespaces An XML document may use more than one DTD or schema Since each structuring document was developed independently, name clashes may appear The solution is to use a different prefix

More information

8/1/2016. XSL stands for EXtensible Stylesheet Language. CSS = Style Sheets for HTML XSL = Style Sheets for XML. XSL consists of four parts:

8/1/2016. XSL stands for EXtensible Stylesheet Language. CSS = Style Sheets for HTML XSL = Style Sheets for XML. XSL consists of four parts: XSL stands for EXtensible Stylesheet Language. CSS = Style Sheets for HTML XSL = Style Sheets for XML http://www.w3schools.com/xsl/ kasunkosala@yahoo.com 1 2 XSL consists of four parts: XSLT - a language

More information

INLS 760 Web Databases Lecture 12 XML, XPATH, XSLT

INLS 760 Web Databases Lecture 12 XML, XPATH, XSLT INLS 760 Web Databases Lecture 12 XML, XPATH, XSLT Robert Capra Spring 2013 Note: These lecture notes are based on the tutorials on XML, XPath, and XSLT at W3Schools: http://www.w3schools.com/ and from

More information

Structured documents

Structured documents Structured documents An overview of XML Structured documents Michael Houghton 15/11/2000 Unstructured documents Broadly speaking, text and multimedia document formats can be structured or unstructured.

More information

XML 2 APPLICATION. Chapter SYS-ED/ COMPUTER EDUCATION TECHNIQUES, INC.

XML 2 APPLICATION. Chapter SYS-ED/ COMPUTER EDUCATION TECHNIQUES, INC. XML 2 APPLIATION hapter SYS-ED/ OMPUTER EDUATION TEHNIQUES, IN. Objectives You will learn: How to create an XML document. The role of the document map, prolog, and XML declarations. Standalone declarations.

More information

Create web pages in HTML with a text editor, following the rules of XHTML syntax and using appropriate HTML tags Create a web page that includes

Create web pages in HTML with a text editor, following the rules of XHTML syntax and using appropriate HTML tags Create a web page that includes CMPT 165 INTRODUCTION TO THE INTERNET AND THE WORLD WIDE WEB By Hassan S. Shavarani UNIT2: MARKUP AND HTML 1 IN THIS UNIT YOU WILL LEARN THE FOLLOWING Create web pages in HTML with a text editor, following

More information

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance.

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance. XML Programming Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject to GST/HST Delivery Options: Attend face-to-face in the classroom or

More information

CHAPTER 2 MARKUP LANGUAGES: XHTML 1.0

CHAPTER 2 MARKUP LANGUAGES: XHTML 1.0 WEB TECHNOLOGIES A COMPUTER SCIENCE PERSPECTIVE CHAPTER 2 MARKUP LANGUAGES: XHTML 1.0 Modified by Ahmed Sallam Based on original slides by Jeffrey C. Jackson reserved. 0-13-185603-0 HTML HELLO WORLD! Document

More information

Intro to XML. Borrowed, with author s permission, from:

Intro to XML. Borrowed, with author s permission, from: Intro to XML Borrowed, with author s permission, from: http://business.unr.edu/faculty/ekedahl/is389/topic3a ndroidintroduction/is389androidbasics.aspx Part 1: XML Basics Why XML Here? You need to understand

More information

Languages in WEB. E-Business Technologies. Summer Semester Submitted to. Prof. Dr. Eduard Heindl. Prepared by

Languages in WEB. E-Business Technologies. Summer Semester Submitted to. Prof. Dr. Eduard Heindl. Prepared by Languages in WEB E-Business Technologies Summer Semester 2009 Submitted to Prof. Dr. Eduard Heindl Prepared by Jenisha Kshatriya (Mat no. 232521) Fakultät Wirtschaftsinformatik Hochshule Furtwangen University

More information

Introduction to XML. An Example XML Document. The following is a very simple XML document.

Introduction to XML. An Example XML Document. The following is a very simple XML document. Introduction to XML Extensible Markup Language (XML) was standardized in 1998 after 2 years of work. However, it developed out of SGML (Standard Generalized Markup Language), a product of the 1970s and

More information

extensible Markup Language

extensible Markup Language What is XML? The acronym means extensible Markup Language It is used to describe data in a way which is simple, structured and (usually) readable also by humans Developed at the end of the ninenties by

More information

Web Programming. Meta-markup Languages

Web Programming. Meta-markup Languages Web Programming Lecture 6 Introduction to XML Meta-markup Languages A markup language allows the user to identify individual elements of a document, e.g., what is a paragraph, a heading, or an unordered

More information

XML. Jonathan Geisler. April 18, 2008

XML. Jonathan Geisler. April 18, 2008 April 18, 2008 What is? IS... What is? IS... Text (portable) What is? IS... Text (portable) Markup (human readable) What is? IS... Text (portable) Markup (human readable) Extensible (valuable for future)

More information

c122jan2714.notebook January 27, 2014

c122jan2714.notebook January 27, 2014 Internet Developer 1 Start here! 2 3 Right click on screen and select View page source if you are in Firefox tells the browser you are using html. Next we have the tag and at the

More information

Chapter 2 XML, XML Schema, XSLT, and XPath

Chapter 2 XML, XML Schema, XSLT, and XPath Summary Chapter 2 XML, XML Schema, XSLT, and XPath Ryan McAlister XML stands for Extensible Markup Language, meaning it uses tags to denote data much like HTML. Unlike HTML though it was designed to carry

More information

Extensible Markup Language (XML) Hamid Zarrabi-Zadeh Web Programming Fall 2013

Extensible Markup Language (XML) Hamid Zarrabi-Zadeh Web Programming Fall 2013 Extensible Markup Language (XML) Hamid Zarrabi-Zadeh Web Programming Fall 2013 2 Outline Introduction XML Structure Document Type Definition (DTD) XHMTL Formatting XML CSS Formatting XSLT Transformations

More information

Programmazione Web a.a. 2017/2018 HTML5

Programmazione Web a.a. 2017/2018 HTML5 Programmazione Web a.a. 2017/2018 HTML5 PhD Ing.Antonino Raucea antonino.raucea@dieei.unict.it 1 Introduzione HTML HTML is the standard markup language for creating Web pages. HTML stands for Hyper Text

More information

Delivery Options: Attend face-to-face in the classroom or remote-live attendance.

Delivery Options: Attend face-to-face in the classroom or remote-live attendance. XML Programming Duration: 5 Days Price: $2795 *California residents and government employees call for pricing. Discounts: We offer multiple discount options. Click here for more info. Delivery Options:

More information

Introduction to XML. XML: basic elements

Introduction to XML. XML: basic elements Introduction to XML XML: basic elements XML Trying to wrap your brain around XML is sort of like trying to put an octopus in a bottle. Every time you think you have it under control, a new tentacle shows

More information

Web scraping and crawling, open data, markup languages and data shaping. Paolo Boldi Dipartimento di Informatica Università degli Studi di Milano

Web scraping and crawling, open data, markup languages and data shaping. Paolo Boldi Dipartimento di Informatica Università degli Studi di Milano Web scraping and crawling, open data, markup languages and data shaping Paolo Boldi Dipartimento di Informatica Università degli Studi di Milano Data Analysis Three steps Data Analysis Three steps In every

More information

XML and XSLT. XML and XSLT 10 February

XML and XSLT. XML and XSLT 10 February XML and XSLT XML (Extensible Markup Language) has the following features. Not used to generate layout but to describe data. Uses tags to describe different items just as HTML, No predefined tags, just

More information

extensible Markup Language

extensible Markup Language What is XML? The acronym means extensible Markup Language It is used to describe data in a way which is simple, structured and (usually) readable also by humans Developed at the end of the ninenties by

More information

XML Document Object Model. - English version -

XML Document Object Model. - English version - XML Document Object Model - English version - The Document Object Model A programming interface for HTML and XML documents. It defines the way a document can be accessed and manipulated. Using a DOM, a

More information

Internet Technologies 11-XML. F. Ricci 2010/2011

Internet Technologies 11-XML. F. Ricci 2010/2011 Internet Technologies 11-XML F. Ricci 2010/2011 Content Motivation Examples Applications Elements, Prologue, Document Type Definition Attributes Well-formedness XML and CSS Document Type Definition and

More information

Bioinforma)cs Resources XML / Web Access

Bioinforma)cs Resources XML / Web Access Bioinforma)cs Resources XML / Web Access Lecture & Exercises Prof. B. Rost, Dr. L. Richter, J. Reeb Ins)tut für Informa)k I12 XML Infusion (in 10 sec) compila)on from hkp://www.w3schools.com/xml/default.asp

More information

A tutorial report for SENG Agent Based Software Engineering. Course Instructor: Dr. Behrouz H. Far. XML Tutorial.

A tutorial report for SENG Agent Based Software Engineering. Course Instructor: Dr. Behrouz H. Far. XML Tutorial. A tutorial report for SENG 609.22 Agent Based Software Engineering Course Instructor: Dr. Behrouz H. Far XML Tutorial Yanan Zhang Department of Electrical and Computer Engineering University of Calgary

More information

IT2353 WEB TECHNOLOGY Question Bank UNIT I 1. What is the difference between node and host? 2. What is the purpose of routers? 3. Define protocol. 4.

IT2353 WEB TECHNOLOGY Question Bank UNIT I 1. What is the difference between node and host? 2. What is the purpose of routers? 3. Define protocol. 4. IT2353 WEB TECHNOLOGY Question Bank UNIT I 1. What is the difference between node and host? 2. What is the purpose of routers? 3. Define protocol. 4. Why are the protocols layered? 5. Define encapsulation.

More information

Hypertext Markup Language, or HTML, is a markup

Hypertext Markup Language, or HTML, is a markup Introduction to HTML Hypertext Markup Language, or HTML, is a markup language that enables you to structure and display content such as text, images, and links in Web pages. HTML is a very fast and efficient

More information

CSI 3140 WWW Structures, Techniques and Standards. Markup Languages: XHTML 1.0

CSI 3140 WWW Structures, Techniques and Standards. Markup Languages: XHTML 1.0 CSI 3140 WWW Structures, Techniques and Standards Markup Languages: XHTML 1.0 HTML Hello World! Document Type Declaration Document Instance Guy-Vincent Jourdan :: CSI 3140 :: based on Jeffrey C. Jackson

More information

The main problem of DTD s...

The main problem of DTD s... The main problem of DTD s... They are not written in XML! Solution: Another XML-based standard: XML Schema For more info see: http://www.w3.org/xml/schema XML Schema (W3C) Thanks to Jussi Pohjolainen TAMK

More information

Solutions. a. Yes b. No c. Cannot be determined without the DTD. d. Schema. 9. Explain the term extensible. 10. What is an attribute?

Solutions. a. Yes b. No c. Cannot be determined without the DTD. d. Schema. 9. Explain the term extensible. 10. What is an attribute? Chapter 7: Information Representation Method XML Solutions Summative Assessment Multiple-Choice Questions (MCQs) 1. XML was developed to overcome the limitations of the markup language. a. EDI b. SGML

More information

XML for Java Developers G Session 2 - Sub-Topic 1 Beginning XML. Dr. Jean-Claude Franchitti

XML for Java Developers G Session 2 - Sub-Topic 1 Beginning XML. Dr. Jean-Claude Franchitti XML for Java Developers G22.3033-002 Session 2 - Sub-Topic 1 Beginning XML Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences Objectives

More information

HTML and CSS COURSE SYLLABUS

HTML and CSS COURSE SYLLABUS HTML and CSS COURSE SYLLABUS Overview: HTML and CSS go hand in hand for developing flexible, attractively and user friendly websites. HTML (Hyper Text Markup Language) is used to show content on the page

More information

Semantic Web. XML and XML Schema. Morteza Amini. Sharif University of Technology Fall 94-95

Semantic Web. XML and XML Schema. Morteza Amini. Sharif University of Technology Fall 94-95 ه عا ی Semantic Web XML and XML Schema Morteza Amini Sharif University of Technology Fall 94-95 Outline Markup Languages XML Building Blocks XML Applications Namespaces XML Schema 2 Outline Markup Languages

More information

Presentation 19: XML technologies part 2: XSL, XSLT, XSL-FO, XPath & XML Programming

Presentation 19: XML technologies part 2: XSL, XSLT, XSL-FO, XPath & XML Programming Presentation 19: XML technologies part 2: XSL, XSLT, XSL-FO, XPath & XML Programming Outline XML recap Formatting CSS or XSL? XPath XSL/XSLT XSL-FO XML Programming Slide 2 XML markup recap XML based on

More information

5/19/2015. Objectives. JavaScript, Sixth Edition. Introduction to the World Wide Web (cont d.) Introduction to the World Wide Web

5/19/2015. Objectives. JavaScript, Sixth Edition. Introduction to the World Wide Web (cont d.) Introduction to the World Wide Web Objectives JavaScript, Sixth Edition Chapter 1 Introduction to JavaScript When you complete this chapter, you will be able to: Explain the history of the World Wide Web Describe the difference between

More information

XML 2 APPLICATION. Chapter SYS-ED/ COMPUTER EDUCATION TECHNIQUES, INC.

XML 2 APPLICATION. Chapter SYS-ED/ COMPUTER EDUCATION TECHNIQUES, INC. XML 2 APPLIATION hapter SYS-ED/ OMPUTER EDUATION TEHNIQUES, IN. Objectives You will learn: How to create an XML document. The role of the document map, prolog, and XML declarations. Standalone declarations.

More information

Make a Website. A complex guide to building a website through continuing the fundamentals of HTML & CSS. Created by Michael Parekh 1

Make a Website. A complex guide to building a website through continuing the fundamentals of HTML & CSS. Created by Michael Parekh 1 Make a Website A complex guide to building a website through continuing the fundamentals of HTML & CSS. Created by Michael Parekh 1 Overview Course outcome: You'll build four simple websites using web

More information

Study Guide 2 - HTML and CSS - Chap. 6,8,10,11,12 Name - Alexia Bernardo

Study Guide 2 - HTML and CSS - Chap. 6,8,10,11,12 Name - Alexia Bernardo Study Guide 2 - HTML and CSS - Chap. 6,8,10,11,12 Name - Alexia Bernardo Note: We skipped Study Guide 1. If you d like to review it, I place a copy here: https:// people.rit.edu/~nbbigm/studyguides/sg-1.docx

More information

Well-formed XML Documents

Well-formed XML Documents Well-formed XML Documents Asst. Prof. Dr. Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Dept. of Computer Engineering Khon Kaen University 1 Agenda Types of XML documents Why Well-formed XML Documents

More information

extensible Markup Language (XML) Basic Concepts

extensible Markup Language (XML) Basic Concepts (XML) Basic Concepts Giuseppe Della Penna Università degli Studi di L Aquila dellapenna@univaq.it http://www.di.univaq.it/gdellape This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

More information

Question No: 2 ( Marks: 1 ) - Please choose one Which of these is the correct HTML code for creating a reset button?

Question No: 2 ( Marks: 1 ) - Please choose one Which of these is the correct HTML code for creating a reset button? Question No: 1 ( Marks: 1 ) - Please choose one In datalink layer, data packets are placed inside > Data frames page 6 > Data boxes > Data streams > None of these Question No: 2 ( Marks: 1 ) - Please choose

More information

Displaying XML Documents

Displaying XML Documents Displaying XML Documents XML documents can be displayed within a browser using Cascading Stylesheets (CSS) using data binding with the Data Source Object (DSO) using the Document Object Model (DOM) using

More information

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 4 http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2411 1 Extensible

More information

INTRODUCTION TO HTML5! HTML5 Page Structure!

INTRODUCTION TO HTML5! HTML5 Page Structure! INTRODUCTION TO HTML5! HTML5 Page Structure! What is HTML5? HTML5 will be the new standard for HTML, XHTML, and the HTML DOM. The previous version of HTML came in 1999. The web has changed a lot since

More information

XML. Rodrigo García Carmona Universidad San Pablo-CEU Escuela Politécnica Superior

XML. Rodrigo García Carmona Universidad San Pablo-CEU Escuela Politécnica Superior XML Rodrigo García Carmona Universidad San Pablo-CEU Escuela Politécnica Superior XML INTRODUCTION 2 THE XML LANGUAGE XML: Extensible Markup Language Standard for the presentation and transmission of information.

More information

XML: Managing with the Java Platform

XML: Managing with the Java Platform In order to learn which questions have been answered correctly: 1. Print these pages. 2. Answer the questions. 3. Send this assessment with the answers via: a. FAX to (212) 967-3498. Or b. Mail the answers

More information

By Ryan Stevenson. Guidebook #2 HTML

By Ryan Stevenson. Guidebook #2 HTML By Ryan Stevenson Guidebook #2 HTML Table of Contents 1. HTML Terminology & Links 2. HTML Image Tags 3. HTML Lists 4. Text Styling 5. Inline & Block Elements 6. HTML Tables 7. HTML Forms HTML Terminology

More information

XML, XPath, and XSLT. Jim Fawcett Software Modeling Copyright

XML, XPath, and XSLT. Jim Fawcett Software Modeling Copyright XML, XPath, and XSLT Jim Fawcett Software Modeling Copyright 1999-2017 Topics XML is an acronym for extensible Markup Language. Its purpose is to describe structured data. XPath is a language for navigating

More information

CSS, Cascading Style Sheets

CSS, Cascading Style Sheets CSS, Cascading Style Sheets HTML was intended to define the content of a document This is a heading This is a paragraph This is a table element Not how they look (aka style)

More information