|
|

XMLThe Extensible Markup Language (XML) is a W3C-recommended general-purpose markup language 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 data across different systems, particularly systems connected via the Internet. Languages based on XML (for example, Resource Description Framework, RSS (file format), MathML, XHTML and SVG) are themselves described in a formal way, allowing some programs to modify and validate documents in these languages without prior knowledge of their form. ==Quick Syntax Tour== Here is an example of a simple recipe expressed using XML: <step>"; the end tag consists of the same name surrounded by angle brackets, but with a forward slash preceding the name, like "</step>". The element's content is everything that appears between the start tag and the end tag, including text and other (child) elements. The following is a complete XML element, with start tag, text content, and end tag:
&") and followed by a semicolon (";"). XML has several predeclared entities, such as "lt" (referenced as "<") for the left angle bracket and "amp" (referenced as "&") for the ampersand itself, and it is possible to declare additional ones if desired. Aside from representing individual characters, reproducing chunks of boilerplate text is another common use for entities. Here is an example using a predeclared XML entity to escape the ampersand in the name "AT&T":
<company-name>AT&T</company-name>
The full list of predeclared entities includes & ("&"), < ("<"), > (">"), ' ("'"), and " (""") — the last two are useful for escaping delimiters inside attribute values. If more entities need to be declared, this is done in the document's ''XML#DTD'', which is not demonstrated in this example, for brevity.
Numeric character references look like entities, but instead of a name, they contain the "number sign" character followed by a number between the ampersand and the semicolon. The number (in decimal or hexadecimal) represents a Unicode code point, and is typically used to represent characters that are not directly encodable, such as an Arabic character in an ASCII-encoded document. The ampersand in the "AT&T" example could also be escaped like this (decimal 35 is the Unicode value for "&"):
<company-name>AT#T</company-name>
There are many more rules necessary to be sure of writing well-formed XML documents, such as the exact characters allowed in an XML name, but this quick tour provides the basics necessary to read and understand most XML documents.
==History==
In the mid-90's, some practitioners of SGML had gained experience with the then-new World Wide Web, and believed that SGML offered solutions to some of the problems the Web was likely to face as it grew. Jon Bosak argued that the W3C should sponsor an "SGML on the Web" activity. After some resistance, he was authorized to launch that activity in mid-1996, albeit with little involvement by or support from the W3C leadership. Bosak was well-connected in the small community of people who had experience both in SGML and the Web. He received active support in his efforts from Microsoft.
XML was designed by an eleven-member Working Group supported by an (approximately) 150-member Interest Group. Technical debate took place on the Interest Group mailing list, and issues were resolved by consensus, or when that failed, majority vote, of the Working Group. James Clark served as Technical Lead of the Working Group, notably contributing the empty-element "<IAmEmpty/>. This is equal to <IAmEmpty></IAmEmpty>.
* All attribute values are quoted, either single (') or double (") quotes. Single quotes close a single quote and double quotes close a double quote.
* Tags may be nested but may not overlap. Each non-root element must be completely contained in another element.
* The document complies to its character set definition. The charset is usually defined in the xml declaration but it can be provided by the transport protocol, such as HTTP. If no charset is defined, usage of a Unicode encoding is assumed, defined by the Unicode Byte Order Mark. If the mark does not exist, UTF-8 is the default.
Element names are case-sensitive. For example, the following is a well-formed matching pair
:<Step> ... </Step>
whereas this is not
:<Step> ... </step>
The careful choice of names for XML elements will convey the meaning of the data in the markup (computing). This increases human readability while retaining the rigor needed for software parsing.
Choosing meaningful names implies the semantics of elements and attributes to a human reader without reference to external documentation. However, this can lead to verbosity, which complicates authoring and increases file size.
===Valid documents===
An XML document that complies with a particular schema, in addition to being well-formed, is said to be valid.
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.
Before 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 allow 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 rules for their data, at relatively high levels of abstraction.
Well-tested tools exist to validate an XML document "against" a schema: the tool automatically verifies whether the document conforms to constraints expressed in the schema. Some of these validation tools are included in XML parsers, and some are packaged separately.
Other usages of schemas exist: XML editors, for instance, can use schemas to support the editing process.
====DTD====
The oldest schema format for XML is the Document Type Definition (DTD), 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:
* It has no support for newer features of XML, most importantly namespaces.
* It lacks expressivity. Certain formal aspects of an XML document cannot be captured in a DTD.
* It uses a custom non-XML syntax, inherited from SGML, to describe the schema.
====XML Schema====
A newer XML schema language, described by the W3C as the successor of DTDs, is XML Schema, or more informally referred to in terms of the acronym and initialism for XML Schema instances, XSD (XML Schema Definition). XSDs are far more powerful than DTDs in describing XML languages. They use a rich datatype system, allow for more detailed constraints on an XML document's logical structure, and are required to be processed in a more robust validation framework. Additionally, XSDs use an XML based format, which makes it possible to use ordinary XML tools to help process them, although WXS implementations require much more than just the ability to read XML.
Criticisms of WXS include the following:
*The specification is very large, which makes it difficult to understand and implement.
*The XML-based syntax leads to verbosity in schema description, which makes XSDs harder to read and write.
====RELAX NG====
Another popular schema language for XML is RELAX NG. Initially specified by OASIS_(organization), RELAX NG is now also an ISO international standard (as part of DSDL). It has two formats: an XML based syntax and a non-XML compact syntax. The compact syntax aims to increase readability and writability, but since there is a well-defined way to translate compact syntax to the XML syntax and back again by means of James_Clark_(XML_expert)'s Trang conversion tool, the advantage of using standard XML tools is not lost. Compared to XML Schema, RELAX NG has a simpler definition and validation framework, making it easier to use and implement. It also has the ability to use any datatype framework on a plug-in basis; for example, a RELAX NG schema author can require values in an XML document to conform to definitions in XML Schema Datatypes.
====Other schema languages====
Some schema languages not only describe the structure of a particular XML format but also offer limited facilities to influence processing of individual XML files that conform to this format. DTDs and XSDs both have this ability; they can for instance provide attribute defaults. RELAX NG intentionally does not provide these facilities.
== Displaying XML on the web ==
Extensible Stylesheet Language (XSL) is a supporting technology that describes how to format or transform the data in an XML document. The document is changed to a format suitable for browser display. The process is similar to applying a Cascading Style Sheets to an HTML document for rendering.
Without using CSS or XSL, a generic XML document is rendered differently in different web browsers. Browsers like Internet Explorer and Mozilla allow viewing of generic XML document similar to directory structure, e.g. expanding or collapsing a subtree. In order to allow CSS styling, the XML document must include a special reference to a style sheet:
:<?xml-stylesheet type="text/css" href="myStyleSheet.css"?>
This is different from the HTML way to apply a stylesheet, which uses the <link> element.
For XSL Transformations (XSLT), this is also very similar:
:<?xml-stylesheet type="text/xsl" href="transform.xsl"?>
Client-side XSLT is not supported in Opera (web browser).
While browser-based XML rendering develops, the alternative is conversion into HTML or PDF or other formats ''on the server''. Programs like Cocoon (Program) 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 ==
* XPath It is possible to refer to individual components of an XML document using XPath. This allows stylesheets in (for example) Extensible Stylesheet Language and XSLT to dynamically "cherry-pick" pieces of a document in any sequence needed in order to compose the required output.
*XQuery is to XML what SQL programming language is to relational databases.
*XML namespaces enable the same document to contain XML elements and attributes taken from different vocabularies, without any naming collisions occurring.
*XML Signature defines the syntax and processing rules for creating digital signatures on XML content.
*XML Encryption defines the syntax and processing rules for encryption XML content.
== Processing XML files ==
Simple API for XML and DOM (XML API) are Application programming interfaces widely used to process XML data. 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 contrast to the DOM. Example data binding systems are the Java Architecture for XML Binding (JAXB) [http://java.sun.com/xml/jaxb/] and the Strathclyde Novel Architecture for Querying XML (SNAQue) [http://www.cis.strath.ac.uk/research/snaque/].
A filter in the Extensible Stylesheet Language (XSL) family can transform an XML file for displaying or printing.
* XSL-FO is a declarative, XML-based page layout language. An XSL-FO processor can be used to convert an XSL-FO document into another non-XML format, such as PDF.
* XSLT is a declarative, XML-based document transformation language. An XSLT processor can use an XSLT ''stylesheet'' as a guide for the conversion of the data tree represented by one XML document into another tree that can then be serialized as XML, HTML, plain text, or any other format supported by the processor.
* XQuery[http://www.w3.org/TR/xquery/] is a W3C language for querying, constructing and transforming XML data.
* XPath[http://www.w3.org/TR/xpath] 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), and on June 2, 2005 Microsoft announced that, by late 2006 all the files created by users of its Office suite of software will be formatted with web-centered XML specifications. There are dozens of other XML editors available.
== Versions of XML ==
There are two current versions of XML. The first, ''XML 1.0'', was initially defined in 1998. It has undergone minor revisions since then, without being given a new version number, and is currently in its third edition, as published on February 4, 2004. It is widely implemented and still recommended for general use. The second, ''XML 1.1'', was initially published on the same day as XML 1.0 Third Edition. It contains features — some contentious — that are intended to make XML easier to use for certain classes of users (mainframe programmers, mainly). XML 1.1 is not very widely implemented and is recommended for use only by those who need its unique features.
XML 1.0 and XML 1.1 differ in the requirements of characters used for element names, attribute names etc.: XML 1.0 only allows characters which are defined in Unicode 2.0, which includes most world scripts, but excludes scripts which only entered in a later Unicode version, such as Mongolian language, Cambodian, Amharic, Burmese language, etc..
XML 1.1 only ''disallows'' certain control characters, which means that any other character can be used, even if it is not
defined in the current version of Unicode.
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 element and attribute names 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 Unicode line break characters are included, which must be treated as whitespace.
XML 1.0 documents are well-formed XML 1.1 documents with one exception: XML documents that contain unescaped C1 control characters are now malformed: this is because XML 1.1 requires the C1 control characters to be escaped with numeric character references.
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 (''infoset'') into the base standard.
The World Wide Web Consortium also has a XML Binary Characterization Working Group doing preliminary research into use cases and properties for a binary encoding of the XML infoset. The working group is not chartered to produce any official standards. Since XML is by definition text-based, ITU-T and ISO are using the name ''[http://asn1.elibel.tm.fr/xml/finf.htm Fast Infoset]'' for their own binary infoset to avoid confusion (see ITU-T Rec. X.891 | ISO/IEC 24824-1).
==See also==
*XML schema languages: Document Type Definition, XML Schema, RELAX NG, Document Schema Definition Languages
*XML processing Application programming interfaces: DOM (XML API), Simple API for XML, e4x
*Cascading Style Sheets, Extensible Stylesheet Language
*S-expression, XML query language
*Abstract syntax tree (AST)
*XRI, XDI
*ASN.1
*WBXML
*Serialization
*List of general purpose markup languages
*Comparison of general purpose markup languages
*Comparison of layout engines (XML)
*Single source publishing
==References==
* Tim Gray (February 2005). "A conversation with Tim Bray: Searching for ways to tame the world’s vast stores of information." ''Association for Computing Machinery's Queue''. 3 (1). [http://www.acmqueue.com/modules.php?name=Content&pa=showpage&pid=282 link]
==External links==
*[http://www.w3.org/XML/ World Wide Web Consortium XML homepage]
*[http://www.w3.org/TR/REC-xml The XML 1.0 specification]
*[http://www.w3.org/TR/xml11 The XML 1.1 specification]
*[http://www.xml.com/axml/testaxml.htm Annotated XML Specification]
XML Markup languages W3C standards Technical communication Computer file formats
lv:Valoda XML
XML== Spring 2005 re-write == The whole article is not good enough; it is flabby, poorly organized, and in places misleading. Also some examples would be welcome. I plan to spend the next week or so rebuilding carefully, and will keep progress notes here. The first step is to go and work on Markup language to introduce the notions of presentational, procedural, and descriptive markup. User:TimBray 22:32, 16 Apr 2005 (UTC) == XML + CSS in IE and Mozilla == "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." : Seems fine here with a superficial test. What doesn't work? == Is XSL only for making PDFs? == I am rather suspicious of the claim that "XSL itself is intended for creating PDF files", but I haven't changed it because I don't know much about either XSL or PDF (I came here looking for some information) ... Just wanted to draw this to the attention of someone who might know enough to make any necessary changes. If I'm wrong, sorry! User:Tremolo 01:17, 29 Jan 2004 (UTC) :It is wrong. It should say XSL can be used to genrate any type of file, e.g. PDF files. User:MrJones 08:01, 22 Jun 2004 (UTC) I think this is great stuff. Good job. == Poor terminology in the article == I am finding the use of terminology here a little confusing. You say that Doc Book is an XML language. I would say it is a particular DTD, and a DTD is a possible way of defining the elements of a particular XML language. Alternatively, an XML language can specify its element by a Schema, or simply define its elements within each document itself. Also, one of its main features is its flexibilty compared with HTML. Each user can, indeed, define their own mark-up language by defining each required and optional element for their language. Finally, the entire Doc Book DTD has been made available by O'Reilly online, and I suggest you provide a link to it. RoseParks Yeah, DocBook probably isn't the best example, because it can be implemented in SGML as well. I'll reword to use something better. XML is not itself a markup language; specific applications of XML (defined by a DTD or schema) are. I'm not sure of a better way to word that. == What kind of language is XML? == It has occured to me that one way of thinking about XML is as a specification for the encoding of information. And, as is pointed out above, is not really a language in itself in the sense that it doesn't have its own vocabulary. The RDF (Resource Description Framework) states something to the effect of letting XML handle the issues with globalization (Unicode) and data formatting through the XML element/attribute/text value syntax and through other low-level transport considerations. In most representations of multiple levels of XML applications that I see, it starts looking a lot like the OSI Model for networks. In the same way that applications run on top of TCP or UDP which run on top of IP (I think I got the order right), the DocBook "application" or RDF or any of the zoo of XML-based languages build on top of XML or could be done in SGML, or dozens other forms of data representation. StWeasel : XML is really a language in itself, with its own vocabulary (made up out of < and > and other such characters and groups of characters), its own grammar, et cetera. But it is a language whose sole purpose is to describe another language, which seems to confuse people (just like with HTML); the metalanguage gets mistaken for the languages it describes. : What is stated above is that XML in itself is not a mark-up language, and that is true.--branko ---- While it might be arguable that it has a vocabulary, I can definitely agree on the characterization of XML as a metalanguage. It seems that the distinction I draw is that XML is essentially a mere specification of a syntax (how symbols can be put together to form the primitives of a language), but depends on other specifications as extensions (XHTML, MathML, RDF and the like) to provide a semantics (what can actually be expressed and how this expression is interpreted for meaning). It seems to me very much like saying that ASCII is a language, but from certain viewpoints I can see how this would be a valid statement. -- StWeasel ---- A question for the mathematicians out there: Is XML a formal language? (Or maybe a formal meta-language?) When I'm reading the page, I don't see enough emphasis on XML's strictness. The words are there, certainly, but I'd like to—for example—to move the concepts of ''well-formed'' and ''valid'' up to be more prominent. But I'm wondering, can I call XML "formal"? And when the word "formal" appears in the introduction, should it be linked to formal grammar? User:DanielVonEhren 16:13, 1 Feb 2005 (UTC) == Use of XML in Mac OS X == SHould we mention that Apple's OS X uses XML for most of its stored property settings (ie the equivalent of the weindows registry), the plist files? -- User:Tarquin 12:37 May 8, 2003 (UTC) == Removed text == Deleted following: :* The document must identify itself as an XML document with a preliminary declaration to this effect. This declaration is known as a prolog. It will contain information about the XML version and possibly also information about encoding and whether the XML file is standalone or not. Read the [spec http://w3.org/TR/XML], and see how above is false. ---------- I removed this sentence from the article: ''Also, again unlike HTML, XML tags explain what the data means rather than how simply to display it.'' I don't see how something like this can be said about a purely syntactic specification, also eg. XHTML is a concrete example that this is misleading at best. Maybe something similar but NPOV could be put in as a statement about recommendations and best practices. -- User:Mp 09:31, 27 Aug 2003 (UTC) === Strengths and weaknesses re:n-tier systems and XML === I've just removed the following section from the weaknesses section (and rewrote it in part): ''if one is coding an object-oriented system running on a relational database, then adding an XML front-end involves three different architectural metaphores. Mapping between these layers adds much complexity to design and development. Alternatively keeping information in XML works quite well for storage and messaging, but not for business logic. While XSLT exists as a transformation language it is declarative and not intuitive for procedural programmers. Also because XSLT programs are XML documents they are hard to read and thus to understand. This area of n-tier XML architecture is ripe for innovation.'' I've tried to keep some of this statement, but this is overly long compared to the rest of the section. Part of this weakness is not really inherent to XML; if you're developing an OO system on a relational database it's not the fault of XML that adding XML support adds complexity. That said, I think the article could use a lot more work, and one would be to extend the strength and weaknesses section significantly. The article was definitely POV-biased towards XML previously, and probably still is (and this is coming from someone who likes various XML technologies). There is a huge debate pro and contra XML (and its various technologies) that we could capture. User:Martijn faassen == Should the syntax be described in detail? Should it be complete? == The article shouldn't go into the details of the syntax of XML, especially when not all of it is covered. A definition of well-formedness is given that refers to elements, but "element" is never defined. I think a short example of an XML document is sufficient; anybody wanting more can read the spec. -- User:64.81.99.73 20:20, 1 Sep 2003 (UTC) == What does "Compatibility with web and internet protocols" mean? == "Compatibility with web and internet protocols" - What does this mean, as an advantage? The internet protocols (HTTP, FTP, SMTP/MIME, etc...) appear 'compatible' with anything that's a sequence of bytes and has a MIME type. Is the author referring to the fact that XML looks like HTML? --User:Alaric 14:07, 26 Apr 2004 (UTC) "Also, again unlike HTML, clever choice of XML element names allows the meaning of the data to be retained as part of the markup. This makes it more easily interpreted by software programs." - also strikes me as wrong; how does the choice of element names impact software programs? I can't think of many cases of software programs doing more with element names than passing them on to somewhere else, or identity-comparing them with hardcoded ones it has been told to expect. Did the author mean that good choices of element names makes the markup more easily interpreted by *humans*? --User:Alaric 14:07, 26 Apr 2004 (UTC) Many of the examples of why XML is good, given here, are really applicable to any structured data format - particularly around the recipe example. Most of them look like the reasons why publishing documents as XML is better than publishing them as HTML, to me? --User:Alaric 14:07, 26 Apr 2004 (UTC) 1) The transport method _interent protocols_ receive/present no advantages because XML is used. Actually if XML is used, usually bandwidth is increased. 2) How compatible XML is with the web or whatever porduct out there that accepts XML has to more with the parsing engine and funcitonalty it presents than with the run-of-the-mill web services, read; web browsing. The claim is unfounded (and does not in fact appear anywhere in the article) but was probably somewhat confusedly based in the fact that XML was designed with the Web in mind. Doc. type declarations must use a URL reference for the DTD, for instance. Other than that, the criticism is of course valid, its main advantage is that the syntax it is rigidly defined and therefore tools can automatically validate etc, plus that if everyone uses it, a lot of "synergy effects" should be achievable. -- User:Schnolle 19:59, 2004 Oct 22 (UTC) == Was XML intended as a successor to HTML? == I have a theory that XML was originally designed within the W3C as a replacement to HTML - the logic next step from a CSS-based world, changing <div class="foo"> to just --" being disallowed in comments, and the requirement that element content models be deterministic (see appendix E). I would guess that some would also consider notations, unparsed entities, and public identifiers to be legacy cruft as well. - User:Mjb 01:14, 12 Apr 2005 (UTC)
::I was hoping to be able to add a short list into the article, but they really are obscure, and the list wouldn't do anything more than confuse :P About the only thing that people are likely to come across in "normal" usage of XML is the "--" not being allowed in comments. User:Porge 05:20, Apr 12, 2005 (UTC)
== "No facilities exist for randomly accessing or updating only portions of a document." ==
Does not DOM allow random-access? I'm not sure about others (XQuery, XPath, XUpdate), but some of them may provide either the former or latter parts of the statement as well. User:Porge 02:07, Apr 13, 2005 (UTC)
: Yes, but not on disk. If you're using DOM, you cannot update a document unless you load it into memory, modify it, and write it out again. All of it, that is. There is no way to add or remote stuff in XML documents on disk (at least not that works for arbitrary XML files). Anon 15:50, 22 Jun 2005 (UTC)
::Hmm, then I think the statement should be qualified to refer to a serialized document. — User:Mjb 17:48, 22 Jun 2005 (UTC)
== Remove software links? ==
* I suggest that we eliminate all software links (open or closed source). XML is so widely implemented that it does not make sense to single out individual software packages here, and linking to software is an obvious opportunity for contributors to abuse the article for personal gain. User:Dpm64 00:00, 2005 May 29 (UTC)
** Given the lack of objections, I've gone ahead and drastically simplified the External Links section. There are, literally, thousands of specifications, tutorials, and software packages related to XML, so any list is arbitrary (should the ASCII list include every programming language and OS that supports ASCII?). Simplifying the list also diminishes the temptation to abuse this page for self-promotion of products, projects, specs, etc. User:Dpm64 21:10, 2005 Jun 17 (UTC)
== Don't think this is a correct statement ==
''The basic parsing requirements do not support a very wide array of data types, so parsing sometimes involves additional work in order to extract the desired data from a document. For example, there is no provision in XML for mandating that "3.14159" is a floating-point number rather than a seven-character string.''
XML schema (and the set of basic types that are supplied) support floating point numbers, in addition to decimals (BCD) and double-precision floating point. Type checking is achieved via validation against the schema upon which the document is based. Keith Jun 10 2005.
:XML Schema support and PSVI modeling are most certainly NOT part of the ''basic parsing requirements'' of XML. (Also, sign your name with three or four tildes, like this: XMLMarkup languages Xml#REDIRECT XML See other meanings of words starting from letter: XWords begining with XML: XML XML XML Xml XML-based_programming_languages XML-RPC XMLambda XMLGUI XmlHack XMLHTTP Xmlhttp XMLHTTPRequest XMLHttpRequest XmlHttpRequest Xmlitude Xmlizer XMLLambda XMLNS Xmlns XMLRPC Xmlrpc XMLTerm XMLTV XML_Binary XML_database Xml_database XML_Data_Binding XML_Editor XML_editor XML_feeds XML_Metadata_Interchange XML_Namespace XML_namespace XML_Namespaces XML_Path XML_pipeline XML_pipeline XML_query_language XML_query_language XML_representation_of_EXPRESS_schemas_and_data XML_RPC XML_Schema XML_Schema XML_schema XML_schema XML_Schema_Definition XML_Script XML_Services XML_Shareable_Playlist_Format XML_Signature XML_Specification XML_standards XML_standards XML_transformation_language XML_transformation_languages XML_User_Interface_Language XML_Web_Services |
These materials are based on Wikipedia and licensed under the GNU FDL
YouTube.com videos better site than Turbo Tax 2007 |
|
|