I wrote this article in an attempt to help disambiguate "XML Schema" from the more general "XML schema"; there was at least one article (schema) that was using a general reference but linked to the W3C XML Schema article. I moved that article to "W3C XML Schema" for now.

Sadly, when I wrote this article, I was unaware that there is a lengthy section in the article on XML that covers XML schema languages. The concept of a schema and the language used to express that concept are two separate things, so I don't see any harm in having separate articles. However, I don't like the duplication, either, so I'll see what I can do to eliminate overlap ASAP.

Also, I'm really not sure whether it is better to do it this way (a long description of an XML schema, with links to W3C XML Schema), or if it is more Wikipedia-ish to have something like this:

Thoughts? - mjb 06:48, 21 Jul 2004 (UTC)

Yes I prefer this other approach you are suggesting. I think it's too confusing having capitalisation of the letter 'S' as the only difference between the titles (XML Schema & XML schema) -- Nojer2 09:34, 8 August 2006 (UTC)Reply[reply]
I agree that the article on the W3C XML Schema needs to have a more substantial name difference than just a capital letter. How do we go about making this change? Korval 20:57, 6 December 2006 (UTC)Reply[reply]


The section on criticism relates to XSD in particular, not to XML schema languages in general. It should be moved to the XSD article. However, I'm reluctant to do this while the list is still in its current state. Although the bullet points are all valid criticisms, they are a "point of view" and therefore need to be presented very carefully, and with cited authority, to justify their place here.

Mhkay (talk) 21:37, 23 October 2008 (UTC)Reply[reply]

Example of C-to-XSD API[edit]

I have again deleted the example C application which someone has added (and re-added after my first deletion).

This article covers multiple schema languages, so why you think it's relevant to include an example of using one host language API to validate a document using one particular schema language, I really can't imagine. It might *just* be appropriate for the XSD article (where you have also added it), but it's questionable even there, since the article is information about the schema language and not a user manual on how to run particular products.

Mhkay (talk) 18:09, 27 May 2009 (UTC)Reply[reply]


The "metamodel" section added by user Ottomachin flagrantly violates WP:NOR and WP:NPOV. It is extremely opinionated and unsourced. The single source he has added appears unreliable.

The leader of the original XML team admits that they did not begin with a data model. "In the interests of time, XML 1.0 did not define its own data model" [1]

The only sourced statement, which does not seem to be relevant to anything except the opinions of the editor, and has a very weak looking source as well.

They developed a specification for data structures without themselves defining their own data model. A number of people "co-operated" by email over a short time period to create the original spec.

Neutral enough, except for the quotation marks around cooperated, but unsourced.

The result is therefore unsurprisingly a very good example of "design-by-committee" but that it is also a master piece of incomprehensibility is not quite so obvious a result, though true.

"Masterpiece of incomprehensibility"? Says who? Your personal opinions do not belong here.

The following diagram

The image includes extremely biased statements, including foul language.

is an (the only existent) Entity-Relationship (though in UML format) metamodel of the information elements of XSD. The so-called "conceptual model" (in the specification) of "components" is incoherent therefore this model addresses only the actual information elements themselves.

"Incoherent"? Says who? It is complex, but not incoherent.

It is perhaps worth mentioning that the ER metamodel (a well known and accepted system of knowledge represention with a theoretical and philosophic background extending back to at least Socrates) reqires only approx. 10 entities whereas this monstrosity of modern day neo-something-or-other obfuscation contains more than 50.

Needs sources, except that the statement is irrelevant and biased.

Sahuagin (talk) 00:12, 31 July 2011 (UTC)Reply[reply]

Deletion of criticisms section[edit]

Well, I spent my time 'refactoring' the criticisms, only to realize that not only were they originally heavily biased, but they are also not addressing the topic. The criticisms refer to the WC3 XML Schema, whereas this page is for XML schema in general. The WC3 XML Schema page already has a sufficient criticisms section. Sahuagin (talk) 06:21, 29 April 2012 (UTC)Reply[reply]

Merge prop[edit]

I don't know why someone decided to write a separate article on a so-called comparison, when xe could have expanded this one. Tijfo098 (talk) 04:06, 23 November 2012 (UTC)Reply[reply]

From my prospective, XML schema is not a big deal to have a separate article. Definition could be found in XML article and XML schema languages (talk) 17:11, 25 February 2013 (UTC) MSReply[reply]

Let's vote (to merge or not XML schema with XML schema languages)? --Krauss (talk) 14:05, 25 September 2014 (UTC)Reply[reply]

Ok, nobody voted but we can understand that me, Tijfo098 and voted YES. I merged


Content moved from old Talk:XML schema languages. Please continue here.

Initial Creation[edit]

This page was created from a section in the RelaxNG page, detailing the differences between RelaxNG and W3C XML Schema. Korval 20:24, 4 December 2006 (UTC)Reply[reply]

NPOV suggestion[edit]

The section of claimed advantages of XSD over RNG is not exactly adhering to the NPOV. All the advantages claimed could be considered misfeatures of XSD and, therefore, the lack of those features in RNG could be considered RNG's advantages over XSD. Hsivonen 09:13, 19 December 2006 (UTC)Reply[reply]

I disagree. While it is possible to consider some of WXS's features to be misfeatures, that should only apply where there is a good faith reason for it. I'll take the advantages one by one:
PSVI, for example, is a reasonable feature, even if one might think that such shouldn't be applied to a schema language. It has uses, and these uses are objectively useful. Where PSVI breaks down is that, to make it happen, some of WXS's potential specificity had to be sacrificed. Since the RelaxNG section speaks to RelaxNG's greater ability to define patterns, there is no need to point out that PSVI is one of the reasons for the disparity in specificity between the two.
As another example, it was cited on the original article in RelaxNG that RelaxNG's inability to specify specific lengths of sequences could be considered a feature. I fail to see the significance of it, for two reasons. One, the Zero-One-or-Infinity "rule" is, while a nice thing in theory, isn't always wise in practice. Two, you can still write WXS schema's under the ZOI rule; just don't use that greater specificity. RelaxNG schemas must operate under ZOI, whether it is reasonable or not.
I specifically mentioned that the WXS ability to specify default data was a double-edged sword in the disadvantages of WXS section. I saw no need to repeat that in the RelaxNG section (which should be about what RelaxNG does, rather than what it does not do).
As far as data types are concerned, I mentioned that most RelaxNG implementations support the standard WXS-defined types. And as for having a way to bind a WXS to an XML file... I fail to see any negative consequences of that. It is still up to the parser to deal with it.
So, in conclusion, I would say that if anyone isn't adhering to NPOV, it's probably more you than the article. I have a strong dislike for WXS, but I did give it reasonable consideration in this article. You may want to verify that some of what you consider misfeatures comes from whether they are misfeatures or what you personally think of these features.Korval 10:49, 21 December 2006 (UTC)Reply[reply]
Regardless of good faith reasons for feature existence, some experts definitely hold views that the purported advantages of XSD are misfeatures. I went ahead and presented the other point of view so that the article shows both points of view.Hsivonen (talk) 21:23, 9 December 2007 (UTC)Reply[reply]
I have some concerns with most of your edits, and I'll be modifying them appropriately. First of all, most of your additions were already mentioned in the WXS section under its disadvantages. As an example, you mention the dangers of default data; this was already in the WXS disadvantages section. The commentary on data type extensibility was likewise mentioned as both an advantage of RNG and a disadvantage of WXS.
While your section on the Zero/One/Infinity rule is not repetitious, I see it as a false negative. I'm not a big fan of rules of thumb, and ZOI isn't one of my favorites. I understand where it comes from, but I prefer flexibility over hard-and-fast rules. So I'm finding it rather difficult to see how an explicit restriction is an advantage. It's no different from how RNG's ability to combine elements and attributes arbitrarily is more powerful than WXS's, even though WXS had specific reasons for limiting this construct.
I'm still not clear on what the problem with PSVI is. I know what the problem with infoset augmentation with default arguments is; I mentioned it earlier. The problem cited in Tim's post with PSVI doesn't seem to be specific. He basically just says, "there's nothing wrong with a Type-Augmented Infoset (TAI), but why link it to validation?" Effectively, he's saying that coupling infoset building with validation is wrong, but there is no justification as to why it is wrong. Simply saying that putting two things together wrong does not make it wrong.
The other arguments mentioned on Tim's thread are largely meaningless today. XQuery, XPath 2.0, and XSLT 2.0 are not defined in terms of PSVI; they use the standard XML infoset. PSVI's intended use is clearly conversion between XML and objects in a programming language; it has not spread to "infect" the rest of XML's core. Korval (talk) 02:31, 10 December 2007 (UTC)Reply[reply]

Timeline Talk[edit]

Please address which schema languages are the most recent. It is quite confusing to read about XML schema validation methods, tools, frameworks, etc since they usually are stuck with whatever schema validation language existed at their initial development. This can lead one to select an obsolete or soon to be obsolete technology (e.g., DTD) for XML validation.

I agree with the suggestion for some discussion about tool availability. I'm not sure how the timeline with regard to creating each of these schema languages matters.Korval 00:30, 26 January 2007 (UTC)Reply[reply]

CFeet77's changes[edit]

Your changes removed information about RELAX NG's compact syntax. If you wished to consider the greater specificity to be more important, then remove the statement about the importance of the compact syntax. Furthermore, everything you discussed was mentioned, in far greater detail, below your comment. As such, it was entirely redundant and unnecessary.Korval 19:53, 26 January 2007 (UTC)Reply[reply]


"XML Schema Definition" and "XSD" don't appear in the document. —Preceding unsigned comment added by (talk) 14:44, 1 July 2008 (UTC)Reply[reply]


Some of the statements made in the article are technically inaccurate (e.g., no method to add additional data types in W3C Schema, no way to convert between XML Schema and RelaxNG [1]). (talk) 16:09, 18 August 2009 (UTC)Reply[reply]

If there are statements that are technically inaccurate, please fix them (I, for one, would like to know the mechanism to add new data types to W3C Schema). However, I checked the converter you linked to. And it specifically says, "That XSLT conversion may be less "exact" than a conversion performed by a Java API like Sun Multi-Schema Validator." A converter you can't trust isn't particularly useful, but if you feel it counts, add it in. Korval (talk) 19:42, 19 August 2009 (UTC)Reply[reply]

OR concerns[edit]

I've looked briefly at the two main references and they don't have this advantages/disadvantages approach but rather use more objective criteria. So I conclude the decision to classify features as advantages or disadvantages was mostly what is called WP:OR. Tijfo098 (talk) 04:23, 23 November 2012 (UTC)Reply[reply]

This might be a good source to cite for the kind of comparison that's actually done in this article. Tijfo098 (talk) 05:40, 23 November 2012 (UTC)Reply[reply]


"Despite being the ideal, the inclusion of RDF assumptions is very pour and not is a recommendation in the schema development frameworks." -- should that be "very poor" instead of "very pour"? I'm not sure that "very poor" actually makes sense (or is justified without a citation), or I would have fixed it myself, but "very pour" definitely doesn't make sense. Can anyone guess what the intended word actually was, or track down the original author and ask them, please? Xardox (talk) 15:03, 18 February 2015 (UTC)Reply[reply]

External links modified[edit]

Hello fellow Wikipedians,

I have just modified one external link on XML schema. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:

When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at ((Sourcecheck))).

This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template ((source check)) (last update: 18 January 2022).

Cheers.—InternetArchiveBot (Report bug) 17:55, 20 July 2016 (UTC)Reply[reply]


Is it worthwhile including content relating to SGML schema here, given DTDs for example are directly derived from it? Gsnedders (talk) 09:03, 18 September 2016 (UTC)Reply[reply]