OK, getting back from the trenches...

I plugged in the logtransformer and got the resulting saxstream dump
(attached, sorry)

I see a lot of events about entities & comments being reported which are
not part of the document, but of the external parameter entities called
from within the DTD

the browser output is also attached - clearly invalid XML...

Regards,

</Steven>

> -----Original Message-----
> From: Steven Noels [mailto:[EMAIL PROTECTED]]
> Sent: dinsdag 22 januari 2002 16:54
> To: [EMAIL PROTECTED]
> Cc: [EMAIL PROTECTED]
> Subject: RE: entity resolver woes
>
>
> Getting back to cocoon-dev land:
>
> I did some further testing with some input from Michael...
>
> As I feared, putting an identity transformation stylesheet in
> between my
> pipeline, my problem was solved.
>
> I've been browsing some code to find the difference in handling SAX
> events between the AbstractTextSerializer and AbstractXMLPipe - but I
> could use a couple of extra eyes :-)
>
> My wild assumptions are that:
>
> 1) or this is a Resolver bug, i.e. it incorrectly handles comments
> inside external entities and inserts them incorrectly in the output
> stream
> 2) it throws some (weird?) SAX events (cfr 1) that the Serializer is
> unable to handle, but the XMLPipe is handling correctly (based on my
> understanding that XMLPipe is indeed the event-forwarder)
> 3) I'm touching grounds way to difficult for my weary brain to handle
> :-)
>
> Regards,
>
> </Steven>
>
> > -----Original Message-----
> > From: David Crossley [mailto:[EMAIL PROTECTED]]
> > Sent: dinsdag 22 januari 2002 15:39
> > To: [EMAIL PROTECTED]
> > Subject: Re: entity resolver woes
> >
> >
> > Michael Hartle wrote:
> > > Steven Noels wrote:
> > > >Has anyone experienced problems with the Resolver when
> > simply generating
> > > >& immediately (re-)serializing an XML document, when
> this document
> > > >refers to a PUBLIC DTD which includes a number of external
> > parameter
> > > >entities.
> > > >
> > > >From what i can see now, the comments inside the external
> > entities are
> > > >inserted as-is in the stream, unfortunately not inside a local
> > > >declaration subset but immediately after the SYSTEM id:
> > >
> > > <snip/>
> > >
> > > I recently had the same problem when I made a pipeline
> > which returns the
> > > DTD-conforming main content.xml file from OpenOffice zip archives;
> > > trying to aggregate several content.xml from another Cocoon
> > server via
> > > HTTP, the parser told me that the content.xml files are not
> > well-formed
> > > anymore, thus showing exactly the same resolution behaviour as you
> > > described. IIRC, there has been a thread not long ago
> where someone
> > > (maybe David Crossley) posted that this is resolver and/or
> > > parser-related, but I am not sure.
> >
> > No i do not know anything about this and do not recall such a
> > thread (but hey, there are so many :-)
> >
> > I will be doing some paid work with Cocoon tomorrow on files
> > that match Steven's description. So i will try to reproduce the
> > behaviour. I do recall once seeing XML comments from a DTD
> > being passed into the stream. But it did not cause the issue
> > that you reported.
> > --David
> >
> >
> >
> >
> >
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, email: [EMAIL PROTECTED]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, email: [EMAIL PROTECTED]
[setup] ---------------------------- [Tue Jan 22 17:38:32 CET 2002] 
----------------------------
[setDocumentLocator] 
[startDocument] 
[startDTD] name=document,publicId=-//Outerthought//DTD Site 
document//EN,systemId=document.dtd
[startEntity] name=[dtd]
[startEntity] name=%ot-text-module
[startEntity] name=%phrase
[endEntity] name=%phrase
[startEntity] name=%phrase
[endEntity] name=%phrase
[startEntity] name=%phrase
[endEntity] name=%phrase
[startEntity] name=%phrase
[endEntity] name=%phrase
[startEntity] name=%phrase
[endEntity] name=%phrase
[startEntity] name=%phrase
[endEntity] name=%phrase
[startEntity] name=%phrase
[endEntity] name=%phrase
[startEntity] name=%phrase
[endEntity] name=%phrase
[startEntity] name=%phrase
[endEntity] name=%phrase
[startEntity] name=%phrase
[endEntity] name=%phrase
[startEntity] name=%phrase
[endEntity] name=%phrase
[startEntity] name=%phrase
[endEntity] name=%phrase
[endEntity] name=%ot-text-module
[startEntity] name=%table-module
[comment] ======================= Tables =======================================
[comment]  Derived from IETF HTML table standard, see [RFC1942] 
[comment] 
 The border attribute sets the thickness of the frame around the
 table. The default units are screen pixels.

 The frame attribute specifies which parts of the frame around
 the table should be rendered. The values are not the same as
 CALS to avoid a name clash with the valign attribute.

[startEntity] name=%tablephrase
[endEntity] name=%tablephrase
[comment] 
 The rules attribute defines which rules to draw between cells:

 If rules is absent then assume:
     "none" if border is absent or border="0" otherwise "all"

[comment]  horizontal placement of table relative to document 
[comment]  horizontal alignment attributes for cell contents

  char        alignment char, e.g. char=':'
  charoff     offset for alignment char

[startEntity] name=%Character
[endEntity] name=%Character
[startEntity] name=%Length
[endEntity] name=%Length
[comment]  vertical alignment attributes for cell contents 
[startEntity] name=%Inline
[endEntity] name=%Inline
[startEntity] name=%Flow
[endEntity] name=%Flow
[startEntity] name=%Flow
[endEntity] name=%Flow
[startEntity] name=%Text
[endEntity] name=%Text
[startEntity] name=%Length
[endEntity] name=%Length
[startEntity] name=%Pixels
[endEntity] name=%Pixels
[startEntity] name=%TFrame
[endEntity] name=%TFrame
[startEntity] name=%TRules
[endEntity] name=%TRules
[startEntity] name=%Length
[endEntity] name=%Length
[startEntity] name=%Length
[endEntity] name=%Length
[comment] 
colgroup groups a set of col elements. It allows you to group
several semantically related columns together.

[startEntity] name=%Number
[endEntity] name=%Number
[startEntity] name=%MultiLength
[endEntity] name=%MultiLength
[startEntity] name=%cellhalign
[endEntity] name=%cellhalign
[startEntity] name=%cellvalign
[endEntity] name=%cellvalign
[comment] 
 col elements define the alignment properties for cells in
 one or more columns.

 The width attribute specifies the width of the columns, e.g.

     width=64        width in screen pixels
     width=0.5*      relative width of 0.5

 The span attribute causes the attributes of one
 col element to apply to more than one column.

[startEntity] name=%Number
[endEntity] name=%Number
[startEntity] name=%MultiLength
[endEntity] name=%MultiLength
[startEntity] name=%cellhalign
[endEntity] name=%cellhalign
[startEntity] name=%cellvalign
[endEntity] name=%cellvalign
[comment] 
    Use thead to duplicate headers when breaking table
    across page boundaries, or for static headers when
    tbody sections are rendered in scrolling panel.

    Use tfoot to duplicate footers when breaking table
    across page boundaries, or for static footers when
    tbody sections are rendered in scrolling panel.

    Use multiple tbody sections when rules are needed
    between groups of table rows.

[startEntity] name=%cellhalign
[endEntity] name=%cellhalign
[startEntity] name=%cellvalign
[endEntity] name=%cellvalign
[startEntity] name=%cellhalign
[endEntity] name=%cellhalign
[startEntity] name=%cellvalign
[endEntity] name=%cellvalign
[startEntity] name=%cellhalign
[endEntity] name=%cellhalign
[startEntity] name=%cellvalign
[endEntity] name=%cellvalign
[startEntity] name=%cellhalign
[endEntity] name=%cellhalign
[startEntity] name=%cellvalign
[endEntity] name=%cellvalign
[comment]  Scope is simpler than headers attribute for common tables 
[comment]  th is for headers, td for data and for cells acting as both 
[startEntity] name=%Text
[endEntity] name=%Text
[startEntity] name=%Scope
[endEntity] name=%Scope
[startEntity] name=%Number
[endEntity] name=%Number
[startEntity] name=%Number
[endEntity] name=%Number
[startEntity] name=%cellhalign
[endEntity] name=%cellhalign
[startEntity] name=%cellvalign
[endEntity] name=%cellvalign
[startEntity] name=%Text
[endEntity] name=%Text
[startEntity] name=%Scope
[endEntity] name=%Scope
[startEntity] name=%Number
[endEntity] name=%Number
[startEntity] name=%Number
[endEntity] name=%Number
[startEntity] name=%cellhalign
[endEntity] name=%cellhalign
[startEntity] name=%cellvalign
[endEntity] name=%cellvalign
[endEntity] name=%table-module
[startEntity] name=%paras
[endEntity] name=%paras
[startEntity] name=%paras
[endEntity] name=%paras
[endEntity] name=[dtd]
[endDTD] 
[startElement] uri=,local=document,raw=document
[ignorableWhitespace] 

[startElement] uri=,local=info,raw=info
[ignorableWhitespace] 
    
[startElement] uri=,local=title,raw=title
[characters] Empty document
[endElement] uri=,local=title,qname=title
[startElement] uri=,local=displaytitle,raw=displaytitle
[characters] empty
[endElement] uri=,local=displaytitle,qname=displaytitle
[ignorableWhitespace] 

[endElement] uri=,local=info,qname=info
[ignorableWhitespace] 

[startElement] uri=,local=body,raw=body
[startElement] uri=,local=topic,raw=topic
[startElement] uri=,local=para,raw=para
[characters] still emptyness...
[endElement] uri=,local=para,qname=para
[endElement] uri=,local=topic,qname=topic
[ignorableWhitespace] 

[endElement] uri=,local=body,qname=body
[endElement] uri=,local=document,qname=document
[endDocument] 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE document PUBLIC "-//Outerthought//DTD Site document//EN" "document.dtd"<!--
 The rules attribute defines which rules to draw between cells:

 If rules is absent then assume:
     "none" if border is absent or border="0" otherwise "all"
--><!-- horizontal placement of table relative to document --><!-- horizontal alignment attributes for cell contents

  char        alignment char, e.g. char=':'
  charoff     offset for alignment char
--><!-- vertical alignment attributes for cell contents --><!--
colgroup groups a set of col elements. It allows you to group
several semantically related columns together.
--><!--
 col elements define the alignment properties for cells in
 one or more columns.

 The width attribute specifies the width of the columns, e.g.

     width=64        width in screen pixels
     width=0.5*      relative width of 0.5

 The span attribute causes the attributes of one
 col element to apply to more than one column.
--><!--
    Use thead to duplicate headers when breaking table
    across page boundaries, or for static headers when
    tbody sections are rendered in scrolling panel.

    Use tfoot to duplicate footers when breaking table
    across page boundaries, or for static footers when
    tbody sections are rendered in scrolling panel.

    Use multiple tbody sections when rules are needed
    between groups of table rows.
--><!-- Scope is simpler than headers attribute for common tables --><!-- th is for headers, td for data and for cells acting as both -->>
<document>
<info>
    <title>Empty document</title><displaytitle>empty</displaytitle>
</info>
<body><topic><para>still emptyness...</para></topic>
</body></document>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to