Slashdot Mirror


XML 1.1 Spec Hits Some Snags

oever writes "News.com reports that the new XML 1.1 specification defines a new newline character, making it incompatible with the 1.0 specifiation. Apparently, IBM has been pushing the new character to avoid having to modify their software, thereby invalidating everybody else's XML software."

134 of 257 comments (clear)

  1. It's only a candidate specification. by tomhudson · · Score: 5, Insightful
    This specification is being put forth as a W3C Candidate Recommendation of XML 1.1.

    If you don't like it, keep in mind that you CAN bitch about it and help change this.

  2. What? No newline? by Distinguished+Hero · · Score: 3, Funny

    That explains why my website was one long paragraph.

    --
    Uttering logically derived and empirically supported truths to the disciples of the orthodox establishment.
    1. Re:What? No newline? by dossen · · Score: 5, Informative
      Where did you get that awful idea of using />? The proper way is to inclose the paragraph in p-tags like so:
      <p> Your text here</p>

      Using the paragraph tags as large linebreaks is a very bad habit from the bad old days of the web. Please head to W3C and study the recent standards, and validate your documents before publishing (using a validator, not a browser).
      Ohh... And this is actually an issue about XML 1.1 unicode support, so worrying about HTML is quite premature (XHTML is still XML 1.0, and will remain so untill XML 1.1 becomes a standard (or recommendation in W3C-speak).
    2. Re:What? No newline? by PainKilleR-CE · · Score: 4, Informative

      Before XHTML, the p tag had no closing tag. The end of a paragraph was defined by the beginning of the next one. So that wasn't necessarily a "bad habit" back then.

      This is not correct. The P tag ALWAYS had a closing tag, but it was not REQUIRED. Here's the P tag section for HTML 2.0:
      http://www.w3.org/MarkUp/html-spec/L2index.html# P


      was still allowed, but all it did was start a new paragraph.


      Actually, it just ends the current paragraph. You can't use the closing tag without the beginning tag and still have well-formed HTML. Since it wasn't required, though, there are probably many different methods of handling it as far as HTML parsers/browsers are concerned. The only reason it would start a new paragraph is because it designates the end of the current paragraph, and another paragraph is what typically follows the end of a paragraph within a document.

      --
      -PainKilleR-[CE]
  3. Simple Solution by Anonymous Coward · · Score: 3, Interesting

    Why don't they make new-lines overridable? Then IBM can put the override at the beginning of their files.

  4. Read the Unicode spec.... by vidarh · · Score: 5, Informative

    Unicode 3.2 define 0x85 as a newline character. This change just make XML follow the Unicode spec, which isn't unreasonable considering that the parser is expected to use Unicode internally (or to act as if it does).

    1. Re:Read the Unicode spec.... by Anonymous Coward · · Score: 5, Insightful

      Like the man says, read the Unicode specification! Unicode defines a far wider range of characters than simple 7 or 8bit ASCII text can cover, and the à is simply mapped into another Unicode byte pair. You won't loose the ability to use à in your XML documents, you just use Unicode.

    2. Re:Read the Unicode spec.... by gorilla · · Score: 5, Informative

      It's more complicated than that. Unicode has
      2029 - paragraph seperator
      2028 - line seperator
      000D - CR
      000A - LF
      0085 - NEL (Next Line)
      Any of these could be interpeted as the end of a logical line.

    3. Re:Read the Unicode spec.... by FooBarWidget · · Score: 3, Interesting

      Doesn't make this XML files uneditable with most editors, like vi, pico and gedit? They all use \n (byte 10) as newline character.

    4. Re:Read the Unicode spec.... by vidarh · · Score: 5, Informative

      And if you read the XML 1.1 spec you'll see that all of the characters you've listed above except for 0x2029 are interpreted by XML 1.0 as the end of a logical line.

    5. Re:Read the Unicode spec.... by khuber · · Score: 3, Funny
      Yes, it's true. Unicode omits French. They couldn't find anything worthwhile to read in French so they just dropped it.

      -Kevin

    6. Re:Read the Unicode spec.... by gorilla · · Score: 2

      Yup, but the original posting suggested that 0085 was the only correct encoding in Unicode, when it's actually one of many possible correct encodings.

    7. Re:Read the Unicode spec.... by Anonymous Coward · · Score: 2, Informative

      Ah, dude, the newline is the least of your problems. 2-byte Unicode characters are not exactly backwards compatible with 1-byte (or, pedantically, 7-bit) ASCII.

    8. Re:Read the Unicode spec.... by vidarh · · Score: 2

      No, I didn't. I specifically wrote that Unicode define 0x85 as a newline character, not the newline character.

    9. Re:Read the Unicode spec.... by julesh · · Score: 5, Informative

      No, not really. It means that *some* XML files can't be edited with these editors. But then that was true already; some might have used \r or some other of the list of characters.

      What it *does* mean is that editors on other systems than Unix are able to edit XML files. It means I can create an XML file in DOS 'edit' which uses \r\n, or on a mac with an editor that might use \r, or on (apparently) an IBM system where the standard text editors use \u85.

      This is absolutely essential. It does however mean that in order to support *all* XML files, you need to recognise *all* of those line endings. As always, its easier to support a subset, but harder to support everything. However the fact that existing software works at all is very important, so I think they're moving in the right direction.

    10. Re:Read the Unicode spec.... by innate · · Score: 5, Informative

      There are no 2-byte Unicode characters, only encodings (such as UTF-16) which use two or more bytes to represent each character. Some Unicode characters, those not in the Basic Multilingual Plane (BMP), require more than two bytes to represent in UTF-16.

      And 7-bit ASCII is a strict subset of UTF-8 encoding. UTF-8 encodes each character to one or more bytes, with characters up to 127 defined the same as in ASCII. If your text is strict 7-bit ASCII, it is also a UTF-8 file.

      You could also use UTF-32 (UCS-4), which represents each character as 4 bytes, but that is overkill for most applications.

      The main problem with multibyte encodings such as Shift-JIS and Big 5 was lead-byte detection: you couldn't jump into the middle of a string and determine if you were looking at the only, first, or second byte of a character. You had to start parsing at the beginning of the string in order to synchronize your character detection. Unicode has done away with this by strictly defining the lead byte ranges in such a way that there is never any ambiguity.

      --
      No, I don't want to explore the Recycle Bin.
    11. Re:Read the Unicode spec.... by kalidasa · · Score: 3, Informative

      Uh, dude, Unicode characters are not necessarily 2-byte. UTF-8 characters are 1 byte if ASCII (real ASCII, the "pedantic" 128-character set), 2 byte or more (up to 6 or 8 bytes, iirc) if not. UTF-16 characters are either 2 bytes or 4 bytes. UTF-32 characters are all 4 bytes. Read the spec.

    12. Re:Read the Unicode spec.... by smallpaul · · Score: 2

      There are all kinds of funny characters that XML does not support. You can't use zero-width or non-breakingspaces as whitespace either. You can't use circled numerals as numbers. etc. NEL is only special because IBM is a big enough company to get attention paid to its legacy software. "Legacy software" and "unicode" seem like an odd mix to me anyhow. Couldn't NEL problems be fixed in a transcoder?

  5. So? by Anonymous Coward · · Score: 5, Informative
    1.0 : To simplify the tasks of applications, the characters passed to an application by the XML processor must be as if the XML processor normalized all line breaks in external parsed entities (including the document entity) on input, before parsing, by translating both the two-character sequence #xD #xA and any #xD that is not followed by #xA to a single #xA character.

    1.1 : To simplify the tasks of applications, the characters passed to an application by the XML processor must be as if the XML processor normalized all line breaks in external parsed entities (including the document entity) on input, before parsing, by translating all of the following to a single #xA character:

    • the two-character sequence #xD #xA
    • the two-character sequence #xD #x85
    • the single character #x85
    • the single character #x2028
    • any #xD character that is not immediately followed by #xA or #x85.


    I don't get it, whats the problem here? Surely the 1.1 spec simply extends the available EOL characters. It certainly doesn't remove any existing characters that are present in the 1.0 spec. How does it break backwards compatability?
    1. Re:So? by Trusty+Penfold · · Score: 2, Insightful

      If you used those characters for something in a 1.0 compatible file, they will be trashed with a 1.1 compliant processor.

    2. Re:So? by Anonymous Coward · · Score: 2, Interesting

      Fair point, but how many people do you think have actually used those characters in an XML1.0 document?

      IBM would appear to be right, too, when they note that an application should look at the version identifier which is present at the top of the XML stream.

    3. Re:So? by vidarh · · Score: 5, Informative

      In which character set? Certainly not in Unicode, so if anyone used 0x85 as à in XML documents using any Unicode encoding they've messed up. à (latin letter a with grave) is 0xE0, and À (lating chapital letter a with grave) is 0xC0.

    4. Re:So? by vidarh · · Score: 5, Informative
      To expand on that, in ISO-Latin in general and certainly ISO-Latin-1, and thus by extension Unicode (which maps to ISO-Latin-1 for code points in the range 0x00 to 0xff), the area 0x80 to 0x9f was on purpose not used for displayable glyphs in order not to cause interoperability problems with 7bit systems if an 8bit text was moved between systems and the 8bit was stripped off.

      So unless you are using a non-Unicode, non-ISO-Latin encoding there are no printable characters in that range, and if you're using another character you will need to remap the characters before considering any of the rules in the XML spec anyway, since those rules refer to the unicode codepoints.

    5. Re:So? by Sir+Tristam · · Score: 5, Informative
      0x85 is à (a grave). So everyone in France?
      No, you're looking at the extended ASCII chart. What this is talking about is Unicode. A Unicode 0x0085 is the control character NEL (http://www.unicode.org/charts/PDF/U0080.pdf, page 3) NEL is NExt Line.

      Chris Beckenbach

    6. Re:So? by greenius · · Score: 4, Informative

      Hex dump of this message:

      30 78 38 35 20 69 73 20 e0 20 20 28 61 20 67 72 : 0x85 is à (a gr
      61 76 65 29 2e 20 20 53 6f 20 65 76 65 72 79 6f : ave). So everyo
      6e 65 20 69 6e 20 46 72 61 6e 63 65 3f 0a 09 09 : ne in France?...

      --
      I copied this sig from someone else (but where did they get it from?)
    7. Re:So? by Citizen+of+Earth · · Score: 2

      the area 0x80 to 0x9f was on purpose not used for displayable glyphs in order not to cause interoperability problems

      So what about MS-ISO-8859-1? What character did MS put at 0x85?

    8. Re:So? by spitzak · · Score: 2
      The MicroSoft assignemnts should be made official, in my opinion.

      The idea of protecting systems from the high bit being stripped is obsolete. UTF-8 (and also all 16 or 32 bit encodings) will cause exactly the same havoc with such systems because they will use bytes that when the high bit is stripped produce C0 control characters. Therefore the idea of protecting the C1 range is irrelevant as soon as you talk about any encoding with more than 256 characters.

      These slots must be filled in and MicroSoft's assignments are quite a reasonable selection of punctuation marks and symbols that are in very common use. The euro symbol is particularily important today. Even if the assignments are not ideal, these assignments are used so much that it is impossible to argue for any other assignments.

  6. version naming by tomzyk · · Score: 3, Insightful

    Typically, don't version-naming schemes imply something along the lines of: versions x.0, x.1, x.2, etc... are all compatible. And if the next version is NOT compatible, then it should be labeled as "(x+1).0"?

    I guess there's no law stating that this must always be the case, but if these two specifications are NOT compatible, then it would make sense that they would name the new one XML2.0 no?

    --
    Karma: NaN
    1. Re:version naming by Fweeky · · Score: 4, Interesting
      if these two specifications are NOT compatible, then it would make sense that they would name the new one XML2.0 no?

      Not really. The change isn't exactly huge; it makes XML a bit more consistant with regard to UTF, but I don't see it breaking anything other than for those who both:
      • Failed to specify a prologue (and hence charset, meaning they accepted the default utf-8), and;
      • Actually used #x85 or #x2028 to encode anything useful other than newline.

      TBH if you were that lax in specifying your XML version and characterset, and then made use of non-printable characters that actually had known uses in the default charset, you deserve everything you get.
  7. End of Line by notestein · · Score: 3, Funny

    If we don't allow the IBM EOL in XML 1.1 ...
    How will we ever communicate with Master Control Program?

    End Of Line

    1. Re:End of Line by AJWM · · Score: 2

      Not to worry. Master Control Program (MCP) is a Burroughs operating system, not IBM.

      --
      -- Alastair
  8. One tiny little update ??? by Dave21212 · · Score: 5, Interesting

    Considering what some other vendors have done to standards, one tiny addition (which is an improvement) proposed by IBM shouldn't be a big deal. Sure, it feeds the news hounds, but seriously, compare the scale of the impact of one desirable change to all the suffering caused by other such changes in emerging standards (Microsoft's in particular).

    IBM has contributed so much, it's only natural that some changes might be characterized in the news as benefitting them more than other parties. Is anyone that worried about adding a new EOL character in 1.1 that XML 1.0 "chokes" on ?

    --
    "Whoever would overthrow the liberty of a nation must begin by subduing the freeness of speech."--Benjamin Franklin
    1. Re:One tiny little update ??? by PainKilleR-CE · · Score: 5, Insightful

      IBM has contributed so much, it's only natural that some changes might be characterized in the news as benefitting them more than other parties. Is anyone that worried about adding a new EOL character in 1.1 that XML 1.0 "chokes" on ?

      and, as an IBM rep pointed out in the article, XML documents are supposed to specify what version they're using at the top of the document. Any proper XML parser should read that it's 1.0 and interpret the newline character as 1.0 would.

      --
      -PainKilleR-[CE]
    2. Re:One tiny little update ??? by smallpaul · · Score: 3, Insightful

      Considering what some other vendors have done to standards, one tiny addition (which is an improvement) proposed by IBM shouldn't be a big deal.

      Two wrongs make a right?

      IBM has contributed so much, it's only natural that some changes might be characterized in the news as benefitting them more than other parties.

      I don't know what that means. This change was requested by IBM and only IBM. As far as I know, no IBM customers have even stood up and asked for it publically (I could be wrong).

      Is anyone that worried about adding a new EOL character in 1.1 that XML 1.0 "chokes" on ?

      Obviously some people are. Let's keep in mind that there are millions of XML parsers out there and they work together in large part because there is only one version of XML. Now there are two and it will take years to roll out the new parsers universally.

    3. Re:One tiny little update ??? by smallpaul · · Score: 3, Interesting

      And what will an XML 1.0 parser ("millions served") do with an XML 1.1 document? When your IBM mainframe serves up 1.1 data with NEL to my Windows 98 with IE 5.5, IE will complain that the document is not well-formed. This means that there is a period of time where the XML world is split. It will be a LONG time before these mainframe users will be able to use NEL and confidently send the data to anyone else. It might have been cheaper to just fix the software.

    4. Re:One tiny little update ??? by PainKilleR-CE · · Score: 5, Informative

      The problem is that the data with the NEL character already exists, and is already generating these types of errors when it's translated into XML (or when XML is generated on these mainframes). From the original change proposal by IBM:

      Problem areas include:

      * Processing XML documents or DTDs generated on OS/390 systems, with XML 1.0 compliant parsers.
      * Processing XML documents or DTDs, using native OS/390 system tools.
      * Processing XML documents or DTDs retrieved from OS/390 database or file systems, in non-OS/390 environments.

      XML documents that contain [NEL] characters are declared invalid or not well-formed by XML 1.0 compliant parsers.


      Essentially 'just fix the software' involves operating system-level changes as well as possibly changes to most software that interprets NEL characters on that OS. As it stands, they're going to have a problem anyway, and it's probably best to simply add the change to the XML standard to fix what was essentially an osmission in the 1.0 standard.

      --
      -PainKilleR-[CE]
    5. Re:One tiny little update ??? by p3d0 · · Score: 2

      Where did you get the idea that the software is broken?

      --
      Patrick Doyle
      I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
    6. Re:One tiny little update ??? by p3d0 · · Score: 3, Informative
      Now there are two and it will take years to roll out the new parsers universally.
      You can't blame this on the NEL issue. XML 1.1 will arrive sooner or later regardless of now the NEL issue ends up.
      --
      Patrick Doyle
      I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
    7. Re:One tiny little update ??? by poot_rootbeer · · Score: 3, Insightful

      And what will an XML 1.0 parser ("millions served") do with an XML 1.1 document?

      It should reject it as unsupported, and you should upgrade your parser to one that supports the 1.1 standard.

      I think everyone agrees that the XML standards should be backwards-compatible, but you seem to be asserting the idea that it should be FORWARD-compatible and that a parser written today must correctly handle all future revisions that might ever be made, which is ludicrous.

    8. Re:One tiny little update ??? by smallpaul · · Score: 2

      I think everyone agrees that the XML standards should be backwards-compatible, but you seem to be asserting the idea that it should be FORWARD-compatible and that a parser written today must correctly handle all future revisions that might ever be made, which is ludicrous.

      No, I'm not saying that parsers should be forwards-compatible. I'm saying that there is very little call by any actual users for a new version of XML with these features. I'll defer to Rusty for details.

    9. Re:One tiny little update ??? by smallpaul · · Score: 2

      Essentially 'just fix the software' involves operating system-level changes as well as possibly changes to most software that interprets NEL characters on that OS.

      That is certainly not true. Producing XML is always a process undertaken by either a human being (creating it by hand) or a computer (generating it). In the former case, one can change NELs to \n's with the mainframe equivalent of sed. You could build this into the text editor or make it a one-line postprocess. In the latter case, you ALREADY have to do all kinds of character escaping and transcoding to get your data into XML in the first place. Do it there. You certainly don't have to change the OS kernel.

    10. Re:One tiny little update ??? by smallpaul · · Score: 2

      Where did you get the idea that the software is broken?

      The software is broken because it purports to generate XML but does not conform to the XML standard. Or perhaps it is a human being generating the XML. In which case, they should run the equivalent of "dos2unix": "mainframe2XML" and they'll have XML they can share with everyone else.

    11. Re:One tiny little update ??? by mikemulvaney · · Score: 2
      I think everyone agrees that the XML standards should be backwards-compatible

      Except IBM, and the people writing the standards, apparently.

      -Mike

    12. Re:One tiny little update ??? by smallpaul · · Score: 2

      Just FYI, I don't really care much about this issue. XML 1.1 will cause someone out there pain but probably not me. I just wanted to see both sides of the argument represented.

    13. Re:One tiny little update ??? by xigxag · · Score: 2

      And what will an XML 1.0 parser ("millions served") do with an XML 1.1 document?

      Really, that question isn't as insightful as you were thinking it was. Does a 2.0 browser know what to do with modern HTML4/CSS/XHTML? Does your BIOS from 1999 consider an 80GB partition on a 200GB HD to be "well-formed"? Point is that improvements are inevitable and they nearly always break forwards-compatibility to a greater or lesser extent. When XML 1.1 final appears, people will be directed to upgrade their browsers. End of story.

      --
      There are two kinds of people: 1) those who start arrays with one and 1) those who start them with zero.
    14. Re:One tiny little update ??? by smallpaul · · Score: 2

      Can you make the case that XML 1.1 is a sufficient "improvement" to require millions of people to upgrade their browsers, and other XML-consuming applications? Do you really think anyone cares about NEL or Mongolian tag names that much?

    15. Re:One tiny little update ??? by xigxag · · Score: 2

      There is no case to be made because there's no requirement that millions upgrade their browsers. The beauty of the various *ML standards is that you don't have to use 'em if they aren't important to you. For example, even though XHTML has superseded HTML4 as a stamdard. it hasn't obsoleted it. In fact, the XML 1.1 Candidate Recommendation page itself is still written in HTML 4.01, (although the W3C's homepage has been revised to XHTML.) And Slashdot gets by with still using HTML 3.2. Those people (e.g. Mongolians) who need to use XML 1.1 or to access it will find themselves upgrading sooner, the rest of us will eventually receive an upgrade along with the latest Security Update Of The Week.

      --
      There are two kinds of people: 1) those who start arrays with one and 1) those who start them with zero.
    16. Re:One tiny little update ??? by rodgerd · · Score: 2

      Actually, a well-formed HTML 4.0 page will be parsable and can be rendered by old browsers; XHTML possibly even more so (except for those stupid
      tags). HTML isn't too bad on that front.

  9. XML rant. by Anonymous Coward · · Score: 2, Funny

    <rant about="IBM" why="'FOR BREAKING COMPATIBILLITY">IBM SUCKS</rant>

    1. Re:XML rant. by russellh · · Score: 5, Funny

      parse error, line 1: no trailing '

      --
      must... stay... awake...
  10. What about poor old Acorn users? by PhilHibbs · · Score: 3, Informative

    I don't know if it's still the same in RiscOS, but the BBC Micro used 0x0A+0x0D as it's end-of-line marker. Why doesn't XML support this? If 1.1 is going to modify the end-of-line specification, then this is the perfect time to correct this glaring omission.

    1. Re:What about poor old Acorn users? by gorilla · · Score: 4, Insightful

      The Atom, which the BBC was based upon came out in 1979.. At that time there wasn't an IBM PC, and the world was very diverse. You could choose Apples (0D), CP/M (0D,0A), Unix (0A), Primos (8A), VMS - which is either records or 0D. Also, it was quite rare for files to be shared amongst different systems - a file created on an Apple would stay on an Apple forever. A decision which looks strange in 2002 looks as sensible as any other option in 1979.

    2. Re:What about poor old Acorn users? by ErroneousBee · · Score: 2, Funny

      And what about old telex machine users that used x0A0A0D (CRCRLF) in case the carrige got stuck?

      You may think this is funny. but there is still some software out there that assumes a mechanical teletype at the far end, sending weather bulletins to Africa, football scores to the Beeb, etc.

      --
      **TODO** Steal someone elses sig.
    3. Re:What about poor old Acorn users? by gorilla · · Score: 2

      Mainly BBS's were for the same OS user. You'd have an Apple BBS or a CP/M BBS or whatever.

    4. Re:What about poor old Acorn users? by spitzak · · Score: 2
      I think the standard should read that a sequence containing a single 0x0a preceeded and followed by any number of 0x0d's should count as a single newline. A 0x0a or a 0x0d by itself also counts as a newline. This should handle all the possibilities listed.

      I used to think 0x0d could be treated as whitespace but it sounds like older Macintoshes messed up that idea.

    5. Re:What about poor old Acorn users? by david+duncan+scott · · Score: 2
      Yes, of course I've used a manual typewriter (or maybe not "of course", but then, I used to dial the telephone and wind my watch, too, and I don't suppose most Slashdotters would say that.) Wish I still had my old Underwood, or even the little Olivetti. Thing is, I don't think any computer has ever used a manual typewriter, and I think that the 0D-0A sequence was that used by teletypes (I'm not sure about Decwriters.)

      However, I have neither a TTY nor a TTY manual around here anywhere. Anybody?

      --

      This next song is very sad. Please clap along. -- Robin Zander

  11. Here's A Good Point by LISNews · · Score: 5, Interesting
    From the article, which kind of put it into perspective for me:


    "The truth is that there are a lot of IBM mainframe systems out there, and they're very important," said Ronald Schmelzer, an analyst with ZapThink. "The truth is that this is not really for IBM's benefit, it's for IBM's customers' benefit. And I think that's fair. An international standard shouldn't change for the benefit of a company's future project, but it's clear that end-of-line characters are not a strategic business strategy for IBM."

    1. Re:Here's A Good Point by Fnkmaster · · Score: 3, Funny

      [/me raises hand]
      Ummm, sir, could you explain to me exactly what a "strategic business strategy" is?

    2. Re:Here's A Good Point by curunir · · Score: 2

      The uninformed would probably be saying that. But people who actually follow the XML specs would realize that MS has contributed a lot to the development of XML. IIRC, XSDs were Microsoft's idea and they're a big improvement over DTDs.

      I would prefer that Microsoft participate in *more* standards decisions. I only have problems with Microsoft are when they decide to create their own proprietary and closed standard (SMB, Exchange, etc).

      If standards are public, then everyone is free to compete on the implementations of those standards. If Microsoft ends up being the best at implementing the standard, then more power to them (and I would hope that people would buy their products). It's only when Microsoft prevents others from creating a competing implementation that I take issue.

      --
      "Don't blame me, I voted for Kodos!"
    3. Re:Here's A Good Point by SpaceLifeForm · · Score: 2

      \n, meet \r

      --
      You are being MICROattacked, from various angles, in a SOFT manner.
  12. Considering ... by DigitalDreg · · Score: 5, Insightful

    That IBM gave the world SGML and XML by derivative ....

    That a lot of useful data exists on IBM mainframes ....

    That EBCDIC doesn't "cleanly" map into Unicode by design like ASCII/UTF-8 does ...

    That this benefits IBM users and customers, not IBM because there is no strategic market position related to new-line characters ...

    That this was a recommendation reached by a group ...

    Let it live and get a life.

  13. 2 line summary by Shagg · · Score: 5, Insightful

    1) XML 1.0 does not follow the Unicode spec
    3) XML 1.1 makes a change so that it does follow the spec

    What's the complaint again?

    --
    Unix is user friendly, it's just selective about who its friends are.
  14. News?? by ceeam · · Score: 2, Funny

    In other news - Julius Caesar stabbed and died.
    Anyway - for how long 1.1 draft has been out?

  15. What do they mean, "XML 1.0 chokes"? by st.+augustine · · Score: 5, Insightful

    Does anyone have a link to a page explaining what's really going on? Last I heard, XML doesn't even have a concept of newlines -- most of the time all white space gets normalized (collapsed). The only problem that I could see is if the character wasn't part of the spec for white space. Now, people may have written XML software that chokes, but I think that's a slightly different story. So is the problem that the new character shows up as bogus text content in elements? And is that true for all XML processing software, or does software that relies on a proper Unicode engine not have the problem? What's the deal?

    --

    -- Some things are to be believed, though not susceptible to rational proof.
    1. Re:What do they mean, "XML 1.0 chokes"? by Dapnant · · Score: 2, Informative

      Actually your understanding of whitespace in XML is almost completely incorrect.

      Many XML applications ignore whitespace (after parsing). XML parsers are prohibited from deleting any whitespace that might be part of the data in a document. The xml:space attribute allows a document to indicate places where the author or encoder encourages normalization of space in some way.

      This is all clearly explained in the standard itself (W3c XML pages).

    2. Re:What do they mean, "XML 1.0 chokes"? by Fastolfe · · Score: 2

      XML 1.0 and XML 1.1 require that parsers normalize what they consider "new lines" to a standard 0x0a newline character. For those applications where whitespace and newlines are somewhat significant, on those platforms that use a native newline other than what XML 1.0 allowed as a newline character, you had to create a hacked up "binary" file. In other words, you could not create this file as a text file on that platform, because the newlines would be treated as arbitrary binary data in the actual XML document and would not get normalized.

      All this change does is tells XML 1.1 parsers to recognize this Unicode newline as another valid newline, so that when it normalizes newlines in the XML data, it knows to honor this one as well. This lets people on those IBM mainframe platforms store XML as a native text document instead of trying to hack up something that is unmaintainable except through specialized tools. Unless people are doing stupid/incorrect stuff with their character sets and encodings, this should not affect anyone else.

    3. Re:What do they mean, "XML 1.0 chokes"? by st.+augustine · · Score: 2

      Actually your understanding of whitespace in XML is almost completely incorrect.
      Actually it's not, but I'll admit that my "most of the time" was -- I was mixing thinking about attribute values with thinking about element content. Outside attribute values, though, I repeat, I don't understand what the problem is supposed to be. If you've got a Unicode NEL in your UTF-8 encoded XML document, by and large the parser's going to pass it through to to your application. What will happen is that it'll fail to get marked as white space. I'm sure there are people for whom that's hugely relevant, but I bet for the majority of XML applications it's not. If I'm wrong, somebody post a link.

      This comment about external parsed entities is much more relevant. I don't use them in any of my XML applications, but I suppose they could get someone in trouble. However, I still don't see how this qualifies as choking.

      This is all clearly explained in the standard itself (W3c XML pages).
      Dude, you can't just say "it's clearly explained" and point to an enormous mountain of documents. Why didn't you point to the relevant part of the spec?
      --

      -- Some things are to be believed, though not susceptible to rational proof.
  16. Complain by almeida · · Score: 3, Informative

    Don't like it? Complain. Comments can be viewed here.

  17. CRLF in EBCDIC by spacefight · · Score: 4, Interesting

    is 0x156C in my programming area, 'nough said. EBCDIC is still live. Did you know that about 90% of todays enterprise data is stored in EBCDIC chars? You better update the XML specs :)

    1. Re:CRLF in EBCDIC by Waffle+Iron · · Score: 2
      Did you know that about 90% of todays enterprise data is stored in EBCDIC chars?

      That sounds like a tautology, because I bet you define "enterprise data" as any data that is stored in a mainframe.

    2. Re:CRLF in EBCDIC by njdj · · Score: 2

      Did you know that about 90% of todays enterprise data is stored in EBCDIC

      Nearly right. Did you know that about 90% of enterprise data is out of date?

    3. Re:CRLF in EBCDIC by Mittermeyer · · Score: 2

      Spaceflight, let's do a parade of dinosaurs up and down right in front of all these penguin serverheads. Then we'll eat THEIR eggs.

      --
      ________________________________________ History Must Not Fall Into The Wrong Hands ___________________________________
  18. New Newline Character? by RAMMS+EIN · · Score: 4, Interesting

    Anybody care to explain to me _why_ we need so many different newline characters | sequences? I see a point in having a single \x0a character, because a newline is one character. I see a point in having \x0a\x0d and \x0d\x0a, because they represent more accurately how a typewriter does it (and conform better to the original ASCII standard, I think). However, one of these is kind of redundant, and history seems to have decided that this is \x0a\x0d. But why, for goodness's sake, do we need all those others??? Why is it that people always do things their own way instead of following standards that work fine???

    --
    Please correct me if I got my facts wrong.
    1. Re:New Newline Character? by PainKilleR-CE · · Score: 2, Interesting

      I see a point in having \x0a\x0d and \x0d\x0a, because they represent more accurately how a typewriter does it (and conform better to the original ASCII standard, I think). However, one of these is kind of redundant, and history seems to have decided that this is \x0a\x0d. But why, for goodness's sake, do we need all those others??? Why is it that people always do things their own way instead of following standards that work fine???

      Because ASCII doesn't work for the character sets that over 50% of the world's (literate) population reads and writes. Hence the Unicode standard, which of course tries to make it's overlap with ASCII compatible when possible.

      --
      -PainKilleR-[CE]
    2. Re:New Newline Character? by RAMMS+EIN · · Score: 2

      ``Because ASCII doesn't work for the character sets that over 50% of the world's (literate) population reads and writes. Hence the Unicode standard, which of course tries to make it's overlap with ASCII compatible when possible.''
      Note that I said ``standards that work fine''. ASCII doesn't work fine, because it can only represent languages that use the latin alphabet with no accents decently. However, the newline/LF and CR in ASCII work fine, no matter what language, as far as I can see. So my question remains...why add to that? Does this new newline character server another function besides indicating a newline, so that it is semantically different from the old newline?

      ---
      Know Your Sysadmin

      --
      Please correct me if I got my facts wrong.
    3. Re:New Newline Character? by gorilla · · Score: 5, Informative

      Each of them has a different function. 000A and 000D are for compatability with ASCII. 0085 is for a unified character to replace the 000D 000A pair used on some OS's. However, some programs (eg notepad) use line breaks when they really mean paragraph seperators, so Unicode defined two codes which mean REAL line seperator, and REAL paragraph seperator. This report explains it quite clearly.

    4. Re:New Newline Character? by Lucas+Membrane · · Score: 2
      The excess of characters exists because these were thought up to control hardware, ie printers. The 0A character is a linefeed. It tells the printer to advance the paper vertically one line. On some printers, it did not change the print position (ie the column), The 0D character is the carriage return. It tells the printer to return the print position to the left margin (what it does for right-to-left languages, IDK). The CR could be used to overstrike print, because it does not cause vertical motion of the print position or paper.

      0D + 0A equals what has to happen at the end of a normal line when printing on one of these character printers. Why is the 0D usually first? Because it often took longer for the print head to move all the way across to the left margin than it did to advance the paper one line. Printers could do the linefeed (0A) while the carriage return was already in progress without waiting for the carriage return to complete -- producing a net increase of speed on slow printers. Mechanical typewriters did the linefeed first, so that you could save time by interrupting the carriage return before it was completed when you wanted to print indented text.

  19. Karma, please by p3d0 · · Score: 2, Redundant
    --
    Patrick Doyle
    I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
  20. The whole thing seems silly by streak · · Score: 3, Insightful

    As has been pointed out by many people, this whole issue is stilly since 1.1 actually follows the Unicode spec more closely...
    (so who's code is broken now? huh?)

    Personally I don't see the big deal over XML itself. Its just a way of organizing data hierarchially and expressing it in a nice format (aka a TREE)

    I still don't know how people manage to write 500+ page books on it.
    Maybe I"m just completely stupid -- please, someone enlighten me to the great wonder that is XML.

    1. Re:The whole thing seems silly by dossen · · Score: 2, Insightful

      The great thing about XML is all the other stuff (XSL,XPath...) that comes with it. And all the implementations for various languages, leaving you free to code your application, instead of having to deal with data formats.

      As an example take programX versions 1.x and 2.x, and suppose they use different file-formats (perhaps a feature in 2.x revealed something profoundly broken in the 1.x format).
      Now the customers need to convert their data (perhaps even both ways, while they change their installations (and their customers/partners/suppliers/... do the same)).
      For that end you must write a conversion, and a program to execute the conversion.
      In XML the conversion would be an XSL-stylesheet and the program would be mostely of-the-shelf, saving you the trouble of writing your own conversion program (you would of cause combine the conversion and the "driver" program, right? There will never be a 3.x, right? And validating that your conversion is correct? Naaahhh... Real men trust their code, right?).

      Stuff like that is the reason why XML is nice for a data-format.

    2. Re:The whole thing seems silly by kalidasa · · Score: 2

      Read the XSLT spec. That gives you some idea of the wonder that is XML.

  21. W3C still meeting over IBM resolutions by spoonyfork · · Score: 5, Funny

    World Wide Web Consortium still meeting over IBM resolutions

    Posted: Sat, 19 Oct 2002 0:18 AEST

    The five permanent members of the World Wide Web Consortium are meeting overnight in an attempt to agree on a resolution on IBM. W3C diplomats say there are signs HP and Sun are now moving towards a compromise, after weeks of wrangling over the XML issue.

    HP wants clear instructions given to Microsoft that it return to the World Wide Web Consortium before taking legal action, while the Microsoft wants more leeway for itself and its allies. Meanwhile, the HP CEO, Carly Fiorina, has given another strong warning against the use of force against IBM.

    Speaking at the opening of a summit of XML using companies in the Silicon Valley, Mrs Fiorina said legal force must only be used as a last resort. She called for all conflicts to be resolved in ways respecting international law, as this was the only guarantee against what she described as "adventurist" policies.

    --
    Speak truth to power.
  22. choke? by Ender+Ryan · · Score: 2
    I don't understand why XML 1.0 should choke on this character, should it just see it as any other data?

    The article doesn't explain the technical problems in any depth at all.

    --
    Sticking feathers up your butt does not make you a chicken - Tyler Durden
  23. Screw Unicode.. by grub · · Score: 2


    ... 8 bits should be enough for anybody.

    to paraphrase Bill G.

    --
    Trolling is a art,
  24. *Shrug* by Fweeky · · Score: 5, Insightful
    If you're using the XML prologue like you're supposed to, your XML 1.0 documents will have:
    <?xml version="1.0" ?>
    At the top. The parsers will then parse using the XML 1.0 specification and you won't notice a thing.

    If you don't use it, tough luck, you should have followed the original recommendation more closely. Lucky for you it's not exactly difficult to automatically process XML documents and add the prologe later.
    1. Re:*Shrug* by greenhide · · Score: 2


      Believe it or not as you will, adding the declaration frequently will cause bad behavior -- if it's XHTML on a browser. Often I've had clients call in, complaining about a site displaying bizarrely, or not at all. The thing that has fixed it has been taking out the XML declaration which, according all the specs that I've seen, is optional.

      The DOCTYPE declaration often causes problems too. Why, I don't know. I just wish all these vendors would get their acts together and get all of the browsers to respond the same for XHTML-compliant pages.
      </gripe>

      --
      Karma: Chevy Kavalierma.
    2. Re:*Shrug* by catfood · · Score: 2

      Non-compliant browser.

    3. Re:*Shrug* by greenhide · · Score: 2

      Widely used browser.

      The truth is, you can never just tell a client that a browser is non-compliant and leave it at that. They are using that browser, and the website must match what they should be getting.

      One of our clients had, for some god-forsaken reason, a font named "Georgia" which was some form of Cyrillic. He thought his whole website was gibberish, because in the style sheet we had defined that font as the default font for body text. Even though it was only the case on his computer which had this bizarre font, we had to change it to Times New Roman so that it would display correctly on his browser.

      Not to get on another rant but I have to say, I am a little sick of people who talk about standards and how it's more important to follow the standards than to create solutions that do what clients want, even if they don't comply. Have these people ever created websites for others for money? If so, they must have discovered by now that the mantra "The customer always thinks they're right" applies in their line of work, too. I don't have the luxory of telling some client to "shove off" if they don't want to comply with my standards-following ideals. I have to give them what they want.

      --
      Karma: Chevy Kavalierma.
    4. Re:*Shrug* by catfood · · Score: 2

      Which is all fine.

      But it doesn't make the browser any more compliant.

      Credit where credit's due, that's all I'm saying.

    5. Re:*Shrug* by greenhide · · Score: 2

      It was delivering the mime type text/html and, yes, it was on an IE browser. One of the problems had been whitespace before the XML declaration, although even when I removed the whitespace, I still had problems.

      Also, as it was a dynamic site, I also did not have total control over the content put in by the client. Since they frequently used an & standing alone, that made it a badly formed XML which made the whole page unviewable. It would have been difficult to escape entites *everywhere* they appeared (links, page titles, page content, meta keywords and description and more were all editable by the client), just allowing Internet Explorer to think that it *wasn't* dealing with a stretch of XML even when it was seemed to fix that problem...

      --
      Karma: Chevy Kavalierma.
    6. Re:*Shrug* by Nathaniel · · Score: 2
      "I also did not have total control over the content put in by the client. Since they frequently used an & standing alone, that made it a badly formed XML...."

      Well, yeah. If it wasn't compliant XML, it is hardly surprising that the browsers refused to display the page when you claimed it was valid XML. That's what they are supposed to do.

      Removing the XML claim, as you found, was perfectly appropriate.

  25. XML 1.1 - Problem? by Plud · · Score: 5, Informative

    A newline character should have no impact on with respect to backwards compatibility. The only negative impact with regards to a newline character should be contained to poorly written DOM code that parses out all nodes instead of just relavent nodes. Similar issue with SAX. Even if there were a backwards compatibility issue with a new XML spec, most people define their version number in their documents so the parser knows which spec to follow while parsing it.

    1. Re:XML 1.1 - Problem? by J.+Random+Software · · Score: 2

      XML allows line breaks inside tags, but since EBCDIC platforms are likely to embed NEL characters when you do this, XML 1.0 parsers should reject such documents--even though what you typed would have been well-formed if you had been working in US-ASCII. Parsers are backward compatible, but documents are not.

  26. Full Details by Matts · · Score: 5, Informative

    Full details of why this has the potential to break things are on the XML news site Cafe Con Leche.

    Please read that before making uninformed comments - news.com isn't where you'll find technical information about this problem.

    --

    Matt. Want XML + Apache + Stylesheets? Get AxKit.
    1. Re:Full Details by Anonymous Coward · · Score: 5, Interesting

      So I want off and read it (Or at least, what appears to be it. There is a rant someway down the page you link to. Is that it?)

      So anyway, I read it. Surprise the surprise, the guy doesn't actually offer any actual examples of where this change would actually cause a break in itself. All he basically does is cry that 0x85 is designated as a new line character, and how dare IBM do such a thing! Then he goes into a rant about IBM, monopolies and patents. Uh huh.

      The fact is that 0x0085 is designated as NEL (NEw Line) as part of the Unicode specification. XML 1.1 allows the use of Unicode, which XML 1.0 did not. Therefore, if you are using XML 1.1, and you are using 0x85 and expect to see a grave a, your document isn't a Unicode compliant document anyway, and you shouldn't be complaining that a non compliant document doesn't work with a compliant parser.

      If all these people want to use 0x85 in their XML 1.1 documents, then they'll have to properly convert them to Unicode as the specification allows. Surprising, that.

    2. Re:Full Details by nijhof · · Score: 2, Interesting

      There is only a rant on that page, no examples.

      And you know what? I think an XML v1.1 document would be incompatible with any non-updated program, no matter what the changes in v1.1 are -- for if the program wasn't upgraded, it can't know what XML v.1.1 means. And there must be some difference, otherwise it wouldn't have a different version number

      Jeroen

    3. Re:Full Details by MenTaLguY · · Score: 3, Informative

      If all these people want to use 0x85 in their XML 1.1 documents, then they'll have to properly convert them to Unicode as the specification allows. Surprising, that.

      Or specify iso-8859-1 as their encoding in the XML prologue, which they were supposed to do in XML 1.0 anyway.

      --

      DNA just wants to be free...
  27. The proposed change by Srin+Tuar · · Score: 4, Informative
    Rather than reading through the whole spec:
    here is a summary of just the proposed change.


    It seems to comply with unicode just fine, I dont see what the controversy is really.

  28. New Line and Characters by JasonSkywalker · · Score: 5, Funny

    Let us not forget that it was New Line that callously yanked Tolkien's loveable Tom Bombadil! It was New Line that turned Arwen into a heroic Nazgul-racing babe-elf! It was New Line that left out poor Glorfindel and his big moment at the river altogether!

    I don't know about anyone else, but I think it's only fitting that a New Line character be messed with.

    ---

    --
    I have Unix underpants.
  29. For those missing the problem, also � by Theatetus · · Score: 2, Informative

    First off, unicode 85H is NEXT LINE; ASCII 85H is ellipses. unicode 2028H is LINE SEPARATOR. AH and DH are the infamous CR/LF which annoy MS/UNIX text convertors.

    Anyways, it sounds like a problem comes up here:
    must be as if the XML processor normalized all line breaks in external parsed entities (including the document entity) on input, before parsing,

    That seems to be the sticking point there.

    I suppose the charset is specified in the document, but then again I'm not sure how literally they intend implementors to take the phrase "before parsing", since getting at the charset description involves some degree of parsing the document

    --
    All's true that is mistrusted
    1. Re:For those missing the problem, also � by Anonymous Coward · · Score: 5, Informative

      From the XML 1.1 spec

      The W3C's XML 1.0 Recommendation was first issued in 1998, and despite the issuance of many errata culminating in a Second Edition of 2000, has remained (by intention) unchanged with respect to what is well-formed XML and what is not. This stability has been extremely useful for interoperability. However, the Unicode Standard on which XML 1.0 relies for character specifications has not remained static, evolving from version 2.0 to version 3.1 and beyond. Characters not present in Unicode 2.0 may already be used in XML 1.0 character data. However, they are not allowed in XML names such as element type names, attribute names, enumerated attribute values, processing instruction targets, and so on. In addition, some characters that should have been permitted in XML names were not, due to oversights and inconsistencies in Unicode 2.0

      So XML 1.0 used Unicode 2.0, but not properly. XML 1.1 fixes that, and defines that all Unicode 3.2 byte pairs are now valid when used in an XML document. As part of this change, XML 1.1 also correctly allows the use of the Unicode 0x0085 NEL character as an EOL marker, which is totally compliant and consistent with the Unicode 3.2 specification.

      In other words, if you're using any character encoding other than Unicode 3.2, your XML document isn't compliant with XML 1.1 and you shouldn't ever expect ISO-Latin 0x85 to be displayed as an ellipses.

    2. Re:For those missing the problem, also � by J.+Random+Software · · Score: 2

      Gah. Even if your document is served with charset=windows-1252 (so that a literal 0x85 byte in the document should be interpreted as U+2026 ELLIPSIS, HORIZONTAL), character entities like always refer to Unicode codepoints. &#x85; or &#133; can only mean U+0085 NEXT LINE no matter what charset the document is in. Do browsers still screw this up?

  30. This is just not that big a deal. by BobGregg · · Score: 4, Insightful

    As the quote from IBM points out in the article, this issue is just a subset of the larger problem with Unicode compatibility in XML 1.0. And as someone else pointed out, if document creators are using the XML headers appropriately to begin with, then parsers would handle documents correctly anyway. I'm also willing to bet that the percentage of existing XML documents which contains this particular character (0x85), and which are not already on IBM mainframes, is *extremely* small.

    Face it: this just isn't that big a deal. It's good for industry acceptance and propagation of the standard, at very low cost. Move along, there's nothing to see here.

  31. Re:How many lines? by Shagg · · Score: 2

    Doh!

    --
    Unix is user friendly, it's just selective about who its friends are.
  32. In other news... by T.E.D. · · Score: 4, Funny

    EBCDIC has won yet another chess game against the Grim Reaper.

  33. Re:how hard is it to do parsing? by vidarh · · Score: 3, Informative

    This isn't about changing existing files, but about changing software that is in production use on mainframes. And it isn't IBM, but IBMs mainframe customers and anyone dealing with their mainframe using customers that would get the work.

  34. since when is xml whitespace-dependant? by forevermore · · Score: 2, Interesting

    I'll admit that I don't know much about the technical side of xml (and I really can't see all of the great advantages to it, either), but since when does a parser care about whitespace? Wouldn't it make more sense to let the newline character match that of the overlying OS so people can actually TYPE those newline characters? Switching to unicode is fine and dandy, but what about all of those legacy systems that don't support it?

    --
    Do you really need reason for beer? Wingman Brewers
  35. Additional Newline Character, not a Replacement by Anonymous Coward · · Score: 2, Insightful

    Don't get too worked up about this. They aren't deleting any newline characters like \n. Just adding one to the list that XML considers whitespace.

  36. Crying wolf by Salamander · · Score: 3, Insightful

    The real issue here is standards-committee wankery and the tendency of some people to accuse anyone who doesn't agree with them 100% of being proprietary, monopolistic, etc. This is exactly the sort of non-issue that doesn't deserve such rhetoric, and those who insist on crying wolf should be ejected from the process until they learn that "collaboration" doesn't mean "we rubber-stamp your ideas just because they're yours".

    --
    Slashdot - News for Herds. Stuff that Splatters.
  37. no. it's fine. by MenTaLguY · · Score: 4, Informative

    Doesn't make this XML files uneditable with most editors, like vi, pico and gedit? They all use \n (byte 10) as newline character.



    No. XML is defined in terms of Unicode, but XML files can be stored in any encoding with a known mapping to Unicode.



    Most XML files these days are using iso-8859-1 or UTF-8, both of which manage fine in vi/pico/gedit.



    chars 32-127 are identical in ASCII and Unicode, and iso-8859-1 is exactly identical to the bottom 8-bits worth of Unicode.



    Also, UTF-8 is an encoding of the full Unicode range that is backwards-compatible with 7-bit ASCII.



    in any case, note the entry for LF in your parent post -- 000A (hex) = 10 (decimal).

    --

    DNA just wants to be free...
  38. ever wondered what alt-gr is for? by DrSkwid · · Score: 4, Funny

    damn that lameness filter

    Reason: Your comment looks too much like ascii art.

    ever wondered what alt-gr is for?

    raw a e i o u 4 `
    alt-gr á é í ó ú ¦

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    1. Re:ever wondered what alt-gr is for? by pacc · · Score: 2

      That key is dead.
      That's what dead-keys are for.

      Alt-Gr is used to give you straining-injuries.

  39. The other side of the argument by smallpaul · · Score: 4, Interesting

    The Slashdot commentary has been pretty one-sided so I'll try and address the other side. First, IBM has said that this fix is for their mainframe customers, not for themselves. But nobody in the XML world has heard from these customers. As far as I know, no user has submitted a request for this NEL feature. No user has sent a message to the many XML mailing lists. No user has posted to Slashdot. Updating all of the XML parsers in the world is really expensive and if the mainframers don't care enough about the problem to storm the gates then maybe it isn't hurting them that badly. So from a democratic point of view, we're going to make life harder for the people who care enough to scream out loud in order to make life easier for the small minority who perhaps are not even that badly impacted.

    Further discussion is on xml.com.

  40. Mod Article -1 Troll by kalidasa · · Score: 4, Insightful

    This is just a way to spark a holy war "my newline character is better than yours" debate. The proposal makes perfect sense - it brings XML into line with Unicode and ISO-10646.

  41. Upgrading OS vs Upgrading XML 1.1 by ebresie · · Score: 2, Interesting

    Okay...maybe I'm not looking at this incorrectly, but...

    If IBM problem is they don't want to force everyone to update their Mainframes and cause them a head ache...but won't they still have to upgrade their Mainframes to support XML 1.1 with new XML 1.1 compatible parsers?

    --

    Eric B
    ebresie@gmail.com
  42. End of Line Character? by Lucas+Membrane · · Score: 2

    Who ever heard of an end-of-line character on a mainframe? Everything was always fixed length, with the length in the DCB, or variable length, with a length prefix, at least back when I used them. There was a "record mark" character, but that was used back on the 1401's, back in ancient times.

  43. Re:no. it's fine. by p3d0 · · Score: 2

    Just to clarify, what happens to a 0085 (NEL) character when a Unicode file is saved in an iso-8859-1 or UTF-8 encoding?

    --
    Patrick Doyle
    I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
  44. Re:How many lines? by p3d0 · · Score: 2, Funny

    I wish someone would invent an HTML tag for ordered lists that would number the items automatically. ;-)

    --
    Patrick Doyle
    I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
  45. I don't work for IBM, but I agree by cornicefire · · Score: 2, Interesting

    I'm dealing with some cross-platform XML these days. It's generally pretty wonderful, but the newline character is something that drives me a bit batty. If anyone can bring some unity to this disunity, I'm sure that all of the XML world and the Java world would be better off. It's an anachronism.

  46. Let's get rid of all newline characters by Fastolfe · · Score: 2

    There's a reason XML supports multiple types of newlines: because there are platforms out there that use those other types of newlines. XML 1.1 standardizes on a 0x0a newline, but recognizes that there are other types out there, and requires parsers to normalize this before parsing the XML. All the specification is doing is adding another type of newline that a fairly popular platform uses. This is no different than adding MacOS-specific and Windows-specific newline types to XML in the first place. The goal is to allow platforms to store XML data as a native text document instead of forcing newlines that cause XML documents to be treated as awkward binary data on those platforms that don't have XML-compatible newline conventions.

    This whole thread is retarded. Few people posting all of this FUD seem to know the difference between a character encoding, a character set, and a pimple on their ass. This change in XML 1.1 changes nothing for anyone, except those that want to write XML 1.1 parsers and those on platforms that use this Unicode newline as their native newline character.

    If we're going to throw up such a fuss about this one addition (which in NO way breaks ANY existing XML 1.0 documents), why aren't we throwing up a fuss about including MacOS or Windows newlines into XML in the first place? GET RID OF THEM ALL! UNIX NEWLINES ARE THE ONLY TRUE NEWLINES!!#!!@#$

    Jesus, people...

  47. Re:How many lines? by mhesseltine · · Score: 2

    I'm sure that you're joking, but this may help out some HTML newbies. Use: <ol>followed by<li> will enumerate list items.

    Example:

    1. Do something
    2. ????
    3. PROFIT!!!

    You can view the source to this (if you can stand reading past all of the slashcode)

    --
    Overrated / Underrated : Moderation :: Anonymous Coward : Posting
  48. depends on the character set by MenTaLguY · · Score: 3, Informative

    It's the same thing that happens any time you take codepoints across character sets.

    iso-8859-1:

    NEL (from EBCDIC) doesn't exist in iso-8859-1; what character gets used instead is up to the discretion of the tool doing the conversion. Since Unicode defines 0x0085 as a whitespace character, the tool could know to substitute another if that was desired.

    UTF-8:

    It's a non-lossy encoding of Unicode. All characters above 0x007f get stored as multi-byte sequences. 0x0085 becomes 0xc2 0x85.

    --

    DNA just wants to be free...
  49. UTF-8 by MenTaLguY · · Score: 3, Informative

    If you want to know more about UTF-8, see RFC 2279.

    --

    DNA just wants to be free...
  50. Some clarifcation by kune · · Score: 3, Informative

    The problem is cause be the EBDIC code. It has special codes for CARRIAGE RETURN (CR), LINE FEED (LF) and NEW LINE (NL). The problem is now how you convert NL into UNICODE, you could map it to LF, but that can't be mapped back. You could als map it to LINE SEPERATOR U+2028, but IBM seems to think that mapping it the NEL (New Line) U+0085 control character is appropriate. This is supported by UNICODE standard annex UAX #13. However in UAX #14 U+0085 has not the line breaking property, so there is still some inconsistence in the UNICODE standard. But I don't think this is an major issue. It does mean only, that you will have problems to edit XML-documents generated in EBCDIC in some of the worser editors. We have lived all the years with the DOS CRLF/UNIX LF problem, so we will survive this too.

  51. Seriously, 0x85 is an ellipsis by spitzak · · Score: 2
    I don't think 0x85 (or any other character > 0x7f) should be used for any kind of control or newline purposes.

    The main reason is that is does not pass cleanly throught UTF-8 encoding and thus it is far too easy to write software to miss it, and writing correct software is inefficient. Anything that assigns a non-tokeninzing meaning to characters > 0x7f will mean the UTF-8 must be decoded to parse the file. If instead all characters > 0x7f are considered parts of identifiers/words then the parser can easily be byte-based and use lookup tables to correctly match words. In fact this can be very safe because it will prevent illegal UTF-8 encodings, provided the parsers check the encoding when *adding* words to their has tables, they have no need to check encodings when looking up words, as illegal long encodings will not match.

    In addition there is no good reason for the "hole" in 0x80 through 0x9F. It was done so that systems that stripped the high bit would not accidentally map a foreign letter to a control code. However all such systems are long obsolete and would barf on UTF-8 encoding anyway (since it does use these codes).

    My recommendation, strange as it may seem for something on Slashdot, is to use MicroSoft's assignments use in Word for these codes (usually seen as the "smart quotes" output). This is apparently called the "CP1252 superset" in MicroSoft-speak. In this encoding 0x85 is the ellipsis (...).

    Why use this arbitrary standard from the evil company? Mostly because it is by far the most-used standard for these codes. Also I think the assignments are pretty good, they were selected for actual use in the (admittedly euro-centric) modern world of office software, and are not tainted with the nasty political correctness that has so messed up and delayed Unicode assignments.

    I recommend two things: first that all characters >0x7f in Unicode be considered "part of an identifier" by all parsers. Second that Unicode have the MicroSoft CP1252 assignments added to the codes 0x80-0x9f.

  52. XML, XML... LISP! by panserg · · Score: 3, Funny

    Compare the elegance of LISP brackets to overbloated XML tags. Compare the ability to share same syntax with code and data in LISP with oversimplified XML tags. Make a conclusion.

    --
    "I shall explain this by waving my hands about in an appropriate manner." -- Cambridge University Math Dept.
  53. Re:how hard is it to do parsing? by arkanes · · Score: 2

    We use an IBM mainframe, and transferring data from our (modern, working, fast) PCs to our (old, slow, not working) mainframe is ALREADY a huge pain in the ass. Thank god we didn't decide to use XML.

  54. Re:Mod Article -1 Troll by spitzak · · Score: 2
    No it doesn't. Unicode also defines paragraph and line seperator characters, in the same document that describes this NEL character, and those are not treated as newlines.

    There is a good reason for this: those characters are hard to identify in UTF-8 and some other encodings without actually decoding to Unicode. Unfortunatly this is also true of 0x85. Therefore I think this proposal is bad.

    Also there are a *lot* of people (all users of MicroSoft Word) who think this character is an ellipsis.

  55. Re:Mod Article -1 Troll by kalidasa · · Score: 2

    He's got a point, though I don't know if he's right with everything he's saying. You don't use MS Word to edit XML, but you often use XML to encode text that started out (on someone else's desktop, perhaps) as Word text.

  56. Can someone explain to me... by JordanH · · Score: 2
    why whitespace is significant in ANY XML spec?

    I know it is, I just don't understand the rationale.

    I've always thought that this was just begging for problems. I don't understand the upside. Seems like whitespace is presentation, which should be handled by Formatting Objects or something.

  57. Writing correct software is inefficient? by GunFodder · · Score: 2

    This is the kind of approach that many companies (especially Microsoft) use that makes life difficult for others. Speed at the cost of correctness sounds good in the short term but always ends up biting you in the ass later. Efficient yet incorrect code is hard to maintain because it usually only makes sense to the original author. It breaks more easily than correct code since it is less tolerant to variations in the input. And eventually the performance delta is erased by hacks added in later revisions to get around problems caused by the original incorrect behavior.

    1. Re:Writing correct software is inefficient? by spitzak · · Score: 2
      I believe a parser that does not have to decode UTF-8 will be both faster and more correct. This is because it is much simpler and can use well-established tools that work with bytes. Even with modern memory sizes using 256-entry lookup tables is much more possible than a 2^31 entry lookup table.

      For these reason I would greatly prefer a scheme where all characters greater than 0x7f are treated identically.

  58. Or you can think about it a little more... by GCP · · Score: 3, Insightful

    ...and you can help support it. The complaints I keep reading are all about how tough it will be for those poor XML tools makers. As an XML tool maker, I assure you that this upgrade is no sweat. No one with the technical skill to create a serious XML tool is going to be challenged by this. The universality goals of Unicode and XML mesh very nicely and it's worth continuing to incorporate the lessons learned by each into the other.

    --
    "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
  59. Re:Mod Article -1 Troll by kalidasa · · Score: 2

    That's fine, but still shouldn't be using 0x85 in the XML to represent "..." in the document.

    No, but a lot of the time, you're encoding text that was created by a user who doesn't know what the heck they're doing, and can't handle anything more sophisticated than MS Word.