Skip to main content

XML Elements

What is an XML Element?

An XML element is everything from (including) 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
Any name can be used, no words are reserved.

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>
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 information to it:
<note>
<date>2008-01-10</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.
One of the beauties of XML, is that it can be extended without breaking applications.

Comments

Popular posts from this blog

Tropical storm Beryl makes landfall on US coast

The weather system was expected to continue dumping rain over parts of Florida and Georgia. Tropical Storm Beryl made landfall early Monday in northeast Florida, bringing drenching rains and driving winds to the southeastern U.S. coast, forecasters said. The National Hurricane Center in Miami reported that Beryl made landfall over Duval and northern St. John s counties, with near-hurricane-strength winds of 70 mph (113 kph). "There are strong rain bands that are rotating around the center of the storm..." forecaster Al Sandrik said in an audio statement on the NHC website. The weather system was expected to continue dumping rain over parts of Florida and Georgia on Monday. It was expected to weaken as it moves inland and become a tropical depression by Monday night. Tropical storm warnings were in effect for the entire Georgia coastline, as well as parts of Florida and South Carolina. Florida Gov. Rick Scott urged Florida residents in the affected areas to "stay alert ...

Toshiba Canada enters all-in-one PC market

Toshiba of Canada has thrown its hat into the all-in-one personal computer (PC) ring with the launch this week of the Toshiba DX730, a 23” all-in-one machine designed for users who want a large display and multimedia features in an environment where space is at a premium. It's Toshiba's first foray into this form factor, said Mini Saluja, national training manager with Toshiba of Canada, building on its experience in the laptop market. The DX730 has a 23” full HD multitouch display with a glossy black finish on an aluminum stand. It comes with a matching Bluetooth keyboard and mouse, and boasts Onkyo stereo speakers with Waves MaxxAudio sound processing. Two models of the DX730 will initially be available. The $899 model features a second-generation Intel Core i3 processor with 4GB of DDR3 memory, a 1TB 7200 RPM hard drive, a DVD SuperMulti Drive and HDMI in. For $1,049, you can move up to a model with an NVIDIA Geforce GT 540M processor and Intel Core i5, as we...

Don't count on Russia to force out Assad: US senator

"This administration has a feckless foreign policy which abandons American leadership," McCain said. The U.S. can t count on Russia a major arms supplier to Syria to force President Bashar Assad from power, a U.S. senator said Sunday, blaming President Barack Obama for embracing a "feckless" foreign policy and punting tough decisions until after the November election. It was a particularly sharp rebuke for Sen. John McCain, who as a longtime critic of Obama s foreign policy hasn t pulled many punches. As the top Republican on the Senate Armed Services Committee, McCain s viewpoint on complex world events often finds its way into Republican election-year talking points. "This administration has a feckless foreign policy which abandons American leadership," McCain told "Fox News Sunday." "What the conclusion you can draw is that this president wants to kick the can down the road on all of these issues until after the election ... it s really...