XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] parser error : Premature end of data

At 2010-11-06 21:23 -0700, Thufir wrote:
>I want to break the xmlns declarations into multiple lines, two elements.
>I've seen it in text books, but when I try to replicate it, http://www.shell-
>tools.net/ barfs with:
>
>/var/tmp/FOO3ih2Lb:14: parser error : Premature end of data in tag book line 3
>
>but line 3, of the second example below, seems fine to me.

But the end of the file is not acceptable.  You have two starts to an 
element named book, thus two book elements, but you only end one, 
thus the end of the file is premature.

>How do I change this:
>
><?xml version="1.0"?>
><!-- initially, the default namespace is "books" -->
><book xmlns="urn:loc.gov:books" xmlns:isbn="urn:ISBN:0-395-36341-6">
>  <title>Cheaper by the Dozen</title>
>  <isbn:number>1568491379</isbn:number>
>  <notes>
>    <!-- make HTML the default namespace for some commentary -->
>    <p xmlns="http://www.w3.org/1999/xhtml";>
>          This is a <i>funny</i> book!
>      </p>
>  </notes>
></book>
>
>to this:
>
><?xml version="1.0"?>
><!-- initially, the default namespace is "books" -->
><book xmlns="urn:loc.gov:books">
><book xmlns:isbn="urn:ISBN:0-395-36341-6">
>  <title>Cheaper by the Dozen</title>
>  <isbn:number>1568491379</isbn:number>
>  <notes>
>    <!-- make HTML the default namespace for some commentary -->
>    <p xmlns="http://www.w3.org/1999/xhtml";>
>          This is a <i>funny</i> book!
>      </p>
>  </notes>
></book>
>
>
>(above is trom http://www.w3.org/TR/REC-xml-names/#scoping)

Actually, you've transcribed it incorrectly.  The example that you 
cite starts off as follows on that web page:

<book xmlns='urn:loc.gov:books'
       xmlns:isbn='urn:ISBN:0-395-36341-6'>
     <title>Cheaper by the Dozen</title>

.... not as you have it in your excerpt above.

If you start two elements, you have to end two elements.  But in 
doing so you are changing the structure of your information.

I understand wanting to break the start tag into two lines to line up 
the attributes (Saxon does a nice job of this in its 
serialization).  Why do you want two elements?  That would break any 
document-element-based XPath expressions written for an instance with 
only one <book> element.

I hope this helps.

. . . . . . . . . . Ken





--
Contact us for world-wide XML consulting & instructor-led training
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/x/
G. Ken Holman                 mailto:gkholman@CraneSoftwrights.com
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS