XML
So,guys!in this new post, we'll gonna learn and know what is XML all about.
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. You must define your own tags
- XML is designed to be self-descriptive
- XML is not a replacement for HTML
- XML is everywhere
2) DIFFERENCES BETWEEN XML AND HTML
HTML | XML |
---|---|
Designed to display data, with focus on how data looks | Designed to transport and store data, with focus on what data is |
Displaying information | Carrying information |
3) HOW CAN XML BE USED?
- XML simplifies data sharing
- XML separate data from HTML
XML simplifies data transport
XML simplifies platform changes
XML makes your data more available
- XML is used to create new Internet languages
4) XML TREE
XML documents form a tree structure that starts at "the root" and branches to "the leaves".
- An Example of XML Document
- uses a self-describing and simple syntax
- <?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note> - The first line is the XML declaration. It defines the XML version (1.0) and the encoding used (ISO-8859-1 = Latin-1/West European character set).
- The next line describes the root element of the document (like saying: "this document is a note")
- <note>
- 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>
- XML Document form a Tree Structure
- XML documents must contain a root element. This element is "the parent" of all other elements.
- The elements in an XML document form a document tree. The tree starts at the root and branches to the lowest level of the tree.
- All elements can have sub elements (child elements)
- <root>
<child>
<subchild>.....</subchild>
</child>
</root> - EXAMPLE :
- The image above represents one book in the XML below:
- <bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore> - The root element in the example is <bookstore>. All <book> elements in the document are contained within <bookstore>.
- The <book> element has 4 children: <title>,< author>, <year>, <price>.
5) XML SYNTAX RULE
- All XML Elements Must Have a Closing Tag
- In XML, it is illegal to omit the closing tag. All elements must have a closing tag
- <p>This is a paragraph.</p>
<br />
- XML Tags are Case Sensitive
- XML tags are case sensitive. The tag <Letter> is different from the tag <letter>.
- Opening and closing tags must be written with the same case:
- <Message>This is incorrect</message>
<message>This is correct</message>
- XML Elements Must be Properly Nested
- In XML, all elements must be properly nested within each other:
- <b><i>This text is bold and italic</i></b>
- XML Documents Must Have a Root Element
- XML documents must contain one element that is the parent of all other elements. This element is called the root element.
- <root>
<child>
<subchild>.....</subchild>
</child>
</root>
- XML Attribute Values Must be Quoted
- In XML, the attribute values must always be quoted.
- <note date="12/11/2007">
<to>Tove</to>
<from>Jani</from>
</note>
- Entity References
- There are 5 predefined entity references in XML:
< < less than > > greater than & & ampersand ' ' apostrophe " " quotation mark
6) XML ELEMENTS
An XML element is everything from (incuding) the element's start tag to (including) the element's end tag
An element can contain..
- other elements
- text
- attributes
- or a mix of all of the above...
<bookstore>
<book category="CHILDREN">
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title>Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
In the example above, <bookstore> and <book> have element contents, because they contain other elements. <book> also has an attribute (category="CHILDREN"). <title>, <author>, <year>, and <price> have text content because they contain text.
XML Naming Rules
XML elements must follow these naming rules:- Names can contain letters, numbers, and other characters
- Names cannot start with a number or punctuation character
- Names cannot start with the letters xml (or XML, or Xml, etc)
- Names cannot contain spaces
Best Naming Practices
Make names descriptive. Names with an underscore separator are nice: <first_name>, <last_name>.Names should be short and simple, like this: <book_title> not like this: <the_title_of_the_book>.
Avoid "-" characters. If you name something "first-name," some software may think you want to subtract name from first.
Avoid "." characters. If you name something "first.name," some software may think that "name" is a property of the object "first."
Avoid ":" characters. Colons are reserved to be used for something called namespaces (more later).
XML documents often have a corresponding database. A good 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, but watch out for problems if your software vendor doesn't support them.
XML Elements are Extensible
XML elements can be extended to carry more information.Look at the following XML example:
<note>
<to>Tove</to>
<from>Jani</from>
<body>Don't forget me this weekend!</body>
</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!
7) XML ATTRIBUTES
XML elements can have attributes, just like HTML.
Attributes provide additional information about an element.
In HTML, attributes provide additional information about elements:
<img src="computer.gif">
<a href="demo.asp">
XML Attributes Must be Quotes
Attribute values must always be quoted. Either single or double quotes can be used. For a person's sex, the person element can be written like this:
<person sex="female">
or like this:
<person sex='female'>
<gangster name='George "Shotgun" Ziegler'>
<gangster name="George "Shotgun" Ziegler">
Take a look at these examples:
<person sex="female">
<firstname>Anna</firstname>
<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 an element. Both examples provide the same information
There are no rules about when to use attributes or when to use elements. Attributes are handy in HTML. In XML my advice is to avoid them. Use elements instead.
- attributes cannot contain multiple values (elements can)
- attributes cannot contain tree structures (elements can)
- attributes are not easily expandable (for future changes)
8) 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.
- 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 be quoted
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Valid XML Documents
A "Valid" XML document is a "Well Formed" XML document, which also conforms to the rules of a Document Type Definition (DTD):
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
The DOCTYPE declaration in the example above, is a reference to an external DTD file. The content of the file is shown in the paragraph below
XML DTD
The purpose of a DTD is to define the structure of an XML document. It defines the structure with a list of legal elements:
LINKS :
http://www.xml.com/
http://www.w3schools.com/xml/xml_dtd.asp
http://en.wikipedia.org/wiki/XML
A "Valid" XML document is a "Well Formed" XML document, which also conforms to the rules of a Document Type Definition (DTD):
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
XML DTD
The purpose of a DTD is to define the structure of an XML document. It defines the structure with a list of legal elements:
<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
LINKS :
http://www.xml.com/
http://www.w3schools.com/xml/xml_dtd.asp
http://en.wikipedia.org/wiki/XML
0 comments:
Post a Comment