none
<?xml version='1.1' . . .

    Question

  • ...and .NET Framework?>

    Well, I'll BEA monkey's uncle. 

    It's a deceptively short grammatically incorrect question with an exceedingly short answer.

    Try it in IE7/FIrefox/VS2005, the answer is apparently "no."   Nothing in MSXML 6.0 about XML Schema 1.1

    Opinions, gripes, thoughts, theories, and even, "w.t.f.?" appreciated.

    I've read the rationale here.  Check.  Fresh ink.

    I understand the burning desire...to break competitor's code.  Check.

    But why would someone in the same company do this now to break their own code?  That's my current "w.t.f.?"

     

     

     

     

     

     

     

     

     

     

     

     

    Tuesday, November 21, 2006 3:15 AM

Answers

  • I think you're asking about XML 1.1, XSD 1.1, and why the Microsoft XML components don't support them.  For XSD 1.1 it's easy - this is a *draft* spec that is still rapidly evolving.  We (and I'm sure the authors as well)  wouldn't recommend that be used for anything but experimental purposes at this point.  We are open minded on eventual support, but the EARLIEST that will happen is when it is an official W3C Recommendation.

    XML 1.1 is another matter. XML 1.1 addresses a couple of problems - a bug in the XML 1.0 spec that doesn't treat the IBM mainframe line termination character properly, and a general desire to align better with the evolving Unicode standard.  While these seemed reasonable initially, it became very clear to the XML team (and most of the XML industry) that XML 1.1 adds much interoperability pain for little practical gain.  See for example Elliotte Harold :

    http://www.cafeconleche.org/slides/xmlone/london2002/advancedxml/54.html

    " Rule 1: Don't use it.

     

    Rule 2: (For experts only) If you speak Khmer, Amharic, Ge'ez, Thaana, Cherokee, or Burmese, and the developers who need to read and edit the markup are all fluent in one of these languages, then you may want to use XML 1.1. Otherwise, refer to rule 1"

     

    Norm Walsh of Sun sums it up: " XML 1.1: Dead on Arrival"

     http://norman.walsh.name/2004/09/30/xml11

     

     Presumably you're colleagues are not fluent Khmer, Amharic, etc. and have a compelling business need to write markup in those languages, so we'd have to recommend Rule 1. 

     

    What's worse, the current revision of the XML 1.0 spec *forbids* implementers from quietly ignoring an XML version other than 1.0.  That is, however, the only practical means of dealing with someone who ships you text purporting to be XML 1.1 - assume it is really XML 1.0, and the parser will report an error if the document really uses one of XML 1.1's breaking changes.

    That said, if anyone really has a compelling need to use XML 1.1, we will revisit this question.  Please let us know!

    Tuesday, November 21, 2006 4:06 PM

All replies

  • Why put off tomorrow what you can put off today? 

    I mean, why break code today, when you can break it tomorrow?

    System.IO.StreamReader sr = new System.IO.StreamReader(@"..\..\XMLFILE11.XML");
    sr.ReadLine();
    // skip past <?xml version="1.1">
    DataSet ds = new DataSet();
    ds.ReadXmlSchema(sr);
    sr.BaseStream.Seek(0,System.IO.
    SeekOrigin.Begin);
    sr.ReadLine();
    // skip past <?xml version="1.1">
    ds.ReadXml(sr);
    ds.WriteXml(
    @"..\..\XMLFILE10.XML");

    There: my very own , wildly reckless, XmlTextReader.Settings.OmitXmlDeclaration 

    this beats "$exception {"Version number '1.1' is invalid. Line 1, position 16."} System.Exception {System.Xml.XmlException}",

    ...but not for long.  Long enough, maybe, until the BEA religious zealots down the hall figure out the next way to break the company's NET apps, by pumping out objects that actually reek of anything the least bit uniquely XML 1.1-ish.  I just won't tell them.  I'll let them think all the NET apps are forever broken, and we really will replace everything with java stacks.  That might even slow them down.

    But when they wise up, and next attack, then what? XERCES.NET.REDUX?  NET 4.0?  MSXML 7.0?

     

     

     

     


    Tuesday, November 21, 2006 4:53 AM
  •  Frediano wrote:
    ...and .NET Framework?>

    Well, I'll BEA monkey's uncle. 

    It's a deceptively short grammatically incorrect question with an exceedingly short answer.

    Try it in IE7/FIrefox/VS2005, the answer is apparently "no."   Nothing in MSXML 6.0 about XML Schema 1.1

    Opinions, gripes, thoughts, theories, and even, "w.t.f.?" appreciated.

    I've read the rationale here.  Check.  Fresh ink.

    I understand the burning desire...to break competitor's code.  Check.

    But why would someone in the same company do this now to break their own code?  That's my current "w.t.f.?"

    Uh... speaking of "w.t.f.", would you mind explaining what the heck  you're talking about?

    Tuesday, November 21, 2006 2:22 PM
  • I think you're asking about XML 1.1, XSD 1.1, and why the Microsoft XML components don't support them.  For XSD 1.1 it's easy - this is a *draft* spec that is still rapidly evolving.  We (and I'm sure the authors as well)  wouldn't recommend that be used for anything but experimental purposes at this point.  We are open minded on eventual support, but the EARLIEST that will happen is when it is an official W3C Recommendation.

    XML 1.1 is another matter. XML 1.1 addresses a couple of problems - a bug in the XML 1.0 spec that doesn't treat the IBM mainframe line termination character properly, and a general desire to align better with the evolving Unicode standard.  While these seemed reasonable initially, it became very clear to the XML team (and most of the XML industry) that XML 1.1 adds much interoperability pain for little practical gain.  See for example Elliotte Harold :

    http://www.cafeconleche.org/slides/xmlone/london2002/advancedxml/54.html

    " Rule 1: Don't use it.

     

    Rule 2: (For experts only) If you speak Khmer, Amharic, Ge'ez, Thaana, Cherokee, or Burmese, and the developers who need to read and edit the markup are all fluent in one of these languages, then you may want to use XML 1.1. Otherwise, refer to rule 1"

     

    Norm Walsh of Sun sums it up: " XML 1.1: Dead on Arrival"

     http://norman.walsh.name/2004/09/30/xml11

     

     Presumably you're colleagues are not fluent Khmer, Amharic, etc. and have a compelling business need to write markup in those languages, so we'd have to recommend Rule 1. 

     

    What's worse, the current revision of the XML 1.0 spec *forbids* implementers from quietly ignoring an XML version other than 1.0.  That is, however, the only practical means of dealing with someone who ships you text purporting to be XML 1.1 - assume it is really XML 1.0, and the parser will report an error if the document really uses one of XML 1.1's breaking changes.

    That said, if anyone really has a compelling need to use XML 1.1, we will revisit this question.  Please let us know!

    Tuesday, November 21, 2006 4:06 PM
  • 6 years past, how about now? It is still draft? does .net 4.0/.net 4.5 support it?
    Thursday, July 26, 2012 2:53 AM