[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] parser error : Premature end of data
- From: "G. Ken Holman" <gkholman@CraneSoftwrights.com>
- To: xml-dev@lists.xml.org
- Date: Sun, 07 Nov 2010 07:50:22 -0500
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]