XMLXML (Extensible Markup Language) is a W3C recommendation for creating special-purpose markup languages. It is a simplified subset of SGML, capable of describing many different kinds of data. Its primary purpose is to facilitate the sharing of structured text and information across the Internet. Languages based on XML (for example, RDF, SMIL, MathML, XSIL and SVG) are themselves described in a formal way, allowing programs to modify and validate documents in these languages without prior knowledge of their form.
\nIdentifying information accurately enables programs to manipulate it easily: in this example, it is now easy to convert the quantities to other measuring systems, or to print the ingredients as icons for those with low reading skills (or different native language), or to refer to the individual ingredients or steps from elsewhere (another recipe, for example). An XML document that meets certain other criteria in addition to being\nwell-formed (such as complying with an associated\nDTD) is said to be "valid". XML schema languagesBefore the advent of generalised data description languages such as SGML and XML, software designers had to define special file formats or small languages to share data between programs. This required writing detailed specifications and special-purpose parsers and writers. XML's regular structure and strict parsing rules allows software designers to leave parsing to standard tools, and since XML provides a general, data model-oriented framework for the development of application-specific languages, software designers need only concentrate on the development of schemas for their data, at relatively high levels of abstraction. An XML schema is a description of a type of XML document, typically expressed in terms of constraints on the structure and content of documents of that type, above and beyond the basic constraints imposed by XML itself. A number of standard and proprietary XML schema languages have emerged for the purpose of formally expressing such schemas, and some of these languages are XML-based, themselves. Well-tested tools exist to validate XML files against a schema in order to automatically verify whether the document conforms to constraints expressed in the schema. Other usages of schemas exist: XML editors, for instance, can use schemas to support the editing process. The oldest XML schema format is the DTD, which is inherited from SGML. While DTD support is ubiquitous due to its inclusion in the XML 1.0 standard, it is seen as limited for the following reasons:
Displaying XML on the webExtensible stylesheet language (XSL) is a further adjunct to XML that allows users to describe visual properties and transformations of XML data without embedding those instructions into the data itself. The resulting document is then an HTML document which uses CSS for rendering. An XML document may also be rendered directly in some browsers such as e.g. Internet Explorer 5 or Mozilla with the stylesheet language CSS. This process is still not yet stable as of March 2004 in those browsers, in other browsers such as the Opera web browser this works very well. In order to allow CSS styling, the XML document must include a special reference to a style sheet:\n \nNote that this differs greatly from the standard HTML way to call a stylesheet, where it is usually done by the tag or through a HTTP header. While browser-based XML rendering develops, the alternative is conversion into HTML or PDF or other formats on the server. Programs like Cocoon process an XML file against a stylesheet (and can perform other processing as well) and send the output back to the user's browser without the user needing to be aware of what has been going on in the background.XML extensions
Processing XML filesThe APIs widely used in processing XML data by programming languages are SAX and DOM. SAX is used for serial processing whereas DOM is used for random-access processing. Another form of XML Processing API is data binding, where XML data is made available as a strongly typed programming language data structure, in constrast to the DOM. Example data binding systems are the Java Architecture for XML Binding (JAXB)[1] and the Strathclyde Novel Architecture for Querying XML (SNAQue) [1]. An XSL processor may be used to render an XML file for displaying or printing. XSL itself is intended for creating PDF files. XSLT is for transforming to other formats, including HTML, other vocabularies of XML, and any other plain-text format. XQuery [1]is a W3C language for querying, constructing and transforming XML data. XPath [1] is a path expression language for selecting data within an XML file. XPath is a sublanguage of both XQuery and XSLT. The native file format of OpenOffice.org and AbiWord is XML. Some parts of Microsoft Office 11 will also be able to edit XML files with a user-supplied schema (but not a DTD). There are dozens of other XML editors available.Versions of XMLThe current version of XML is 1.1 (as of February 4, 2004). The first version XML 1.0 currently exists in its third revision.\nXML 1.0 and XML 1.1 differ in the requirements of characters used for element names, attribute names etc.: \nXML 1.0 only allows characters which are valid Unicode 2.0, which includes most world scripts, but excludes scripts which only entered in a later Unicode version, such as Mongolian, Cambodian, Amharic, Burmese, etc..\nXML 1.1 only disallows certain control characters, which means that any other character can be used, even if the Unicode standard grows exponentially. It should be noted here that the restriction present in XML 1.0 only applies to element/attribute names: both XML 1.0 and XML 1.1 allow for the use of full Unicode in the content itself. Thus XML 1.1 is only needed if in addition to using a script added after Unicode 2.0 you also wish to write the elements in that script. Other minor changes between XML 1.0 and XML 1.1 are that control characters are now allowed to be included but only when escaped, and two special 'form-feed' characters are included, which must be treated as whitespace. All XML 1.0 documents will be valid XML 1.1 documents, with one exception: XML documents declaring themselves as being ISO-8859-1 encoded which are actually CP1252 encoded may now be invalid: this is because CP1252 uses the control characters block of ISO-8859-1 for special glyphs like €, Œ, and ™. XML 1.0 documents which declare CP1252 encoding will remain valid. There are also discussions on an XML 2.0, although it remains to be seen if such will ever come about. XML-SW (SW for skunk works), written by one of the original developers of XML, contains some proposals for what an XML 2.0 might look like: elimination of DTDs from syntax, integration of namespaces, XML Base and XML Information Set into the base standard.See alsoExternal links\n* XML specification\n**World Wide Web Consortium website\n**World Wide Web Consortium XML homepage\n**The XML 1.1 specification\n**The XML 1.0 specification\n* Related standards\n**Relax NG homepage\n* Software\n**Open XML Editor\n**Open XML Library for Delphi/Kylix\n**Online XML validator\n* Developer resources\n**The XML FAQ\n**xml.com development and resources\n**Cafe con Leche - XML news and resources\n**XML On Target - popular XML weblog\n**IBM's developerworks XML webpage\n**XMLHack - a news site for XML developers\n**The XML-L Mailing List\n**XMLPatterns.com - Develop effective DTDs and XML Schema documents for your XML using structural design patternss.\n**Xml Sucks - perceived problems with XML\n**XML: A Language To Manage the World Wide Web Category:W3C standards\nCategory:TLAs \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n |
||
"Research is what I'm doing when I don't know what I'm doing." - Wernher Von Braun (1912-1977) |
