|XML Vs. XHTML|
| 6:22 pm on Jul 14, 2005 (gmt 0)|
I am in the process of reading up on both, and I am looking for some feedback on which one I should put more energy into learning....
| 10:27 pm on Jul 14, 2005 (gmt 0)|
Not knowing your skill level, I would say XML.
This says that should know html/xhtml first... but I say nay. Just plow through it, then move on to other tutorials on the w3schools. Even though I have been doing this stuff for years, I still use the schools for syntax and solutions.
If you go down the path of xslt, focus on xpath first and get that down. XPath is usually the biggest problem in the whole xml->xsl->xslt->xlink->xpath thing.
Once you get going, please use [validator.w3.org...] to validate your xhtml.
| 5:54 pm on Jul 15, 2005 (gmt 0)|
"Learning XML" takes maybe a day. The very basics can be understood in a half hour. The trick is that XML isn't so much of a language as a framework of rules behind a whole family of languages used to describe and manipulate data using markup tags (hence eXtensible Markup Language).
The most common languages used to manipulate XML files are XSLT (which converts an XML document into a different kind of XML document, or into another markup language like HTML, or into text) and XSL-FO (for defining print and PDF layouts). If you're a Firefox user you may have heard of XUL, a language used to create user interfaces. In order to use these, you'll need to understand XPath, and the day is coming when XLink and XQuery will be useful.
XML used to describe data is defined in what is called a "schema," another set of rules which governs what the names of the data elements are, what attributes they have, and how they can be used, and at the present usually defined in DTDs. You've already heard of one of these XML formats: XHTML. XHTML is very similar to HTML, but because it is a kind of XML it follows XML's stricter rules, for instance your "tags" must be all lowercase and all tags must be closed.
Other common kinds of XML for describing data include RSS, RDF, SVG, MathML.