Re: Adding dispspecs

Dave Malcolm <[email protected]> 16 Feb 2004 13:23:13 +0000
Newsgroups gmane.editors.conglomerate.general
Message-ID <1076937792.24116.5654.camel@shirehorse1>
On Mon, 2004-02-16 at 13:08, Roberto Rosselli Del Turco wrote:
> Il lun, 2004-02-16 alle 12:55, Geert Stappers ha scritto:
> > On Mon, Feb 16, 2004 at 12:31:45PM +0100, Roberto Rosselli Del Turco wrote:
> > > 
> > > The 13th dispspec (Digital Scriptorium) is the one I added before
> > > launching C.
> >   launching C-compiler?
> >   launching Conglomerate?
> > ( /me telling that I first didn't understood what you mean with 'C' )
> 
> That would be Conglomerate, sorry for being too laconic here.
>  
> > > Here Conglomerate identifies the DS dispspec as being the closest one to
> > > the document, then prints these lines
> > > 
> > > ** Message: searching for "paragraph" found "admonition"
> > > ** Message: searching for "paragraph" found "listitem"
> > > ** Message: searching for "paragraph" found "paragraph"
> > > 
> > > And dies.
> > Dies??? Could it be downloading of DTDs?
> > ( http://bugzilla.gnome.org/show_bug.cgi?id=117469 )
> 
> I don't think so: even if my frequent bugging of you guys might lead to
> the conclusion that I'm on a flat connection to the Internet, I'm not,
> which means that all my XML have a SYSTEM DTD identifier. Anyway, trying
> to expand on "dies", here's a backtrace:
> 
> ** Message: coverage of Digital Scriptorium = 0,991935
> ** Message: searching for "paragraph" found "admonition"
> ** Message: searching for "paragraph" found "listitem"
> ** Message: searching for "paragraph" found "paragraph"
>  
> ** (conglomerate:4579): WARNING **: unable to convert attribute end
> index 4
>  
> ** (conglomerate:4579): WARNING **: unable to convert attribute end
> index 4
> (no debugging symbols found)...
> Program received signal SIGSEGV, Segmentation fault.
> 0x0807f417 in cong_editor_line_fragments_get_area_list ()
> (gdb) bt
> #0  0x0807f417 in cong_editor_line_fragments_get_area_list ()
> #1  0x0807fcac in cong_editor_node_generate_line_areas_recursive ()
> #2  0x0807ab92 in cong_editor_area_flow_holder_inlines_get_final_node ()
> #3  0x0807f2ea in cong_editor_child_policy_inline_new ()
> #4  0x0807ee6c in cong_editor_child_policy_insert_areas_for_node ()
> #5  0x080853c9 in cong_editor_widget3_node_should_have_editor_node ()
> #6  0x0808525a in cong_editor_widget3_get_preedit_data ()
> #7  0x08085279 in cong_editor_widget3_get_preedit_data ()
> #8  0x08085279 in cong_editor_widget3_get_preedit_data ()
> #9  0x08085279 in cong_editor_widget3_get_preedit_data ()
> #10 0x08085279 in cong_editor_widget3_get_preedit_data ()
> #11 0x08085279 in cong_editor_widget3_get_preedit_data ()
> #12 0x08085279 in cong_editor_widget3_get_preedit_data ()
> #13 0x08085304 in cong_editor_widget3_get_preedit_data ()
> #14 0x080835a8 in cong_editor_widget3_construct ()
> #15 0x08083697 in cong_editor_widget3_new ()
> #16 0x0809b527 in cong_primary_window_add_doc ()
> #17 0x0809ba7b in cong_primary_window_new ()
> #18 0x080896ad in open_document_do ()
> #19 0x080897cc in open_document ()
> #20 0x08089827 in toolbar_callback_open ()

This is the well-known "you've nested a structural tag inside a span
tag" crash - Conglomerate doesn't know how to deal with this at the
moment; there's a branch in CVS called "WidgetPlayground" that should be
able to load the file without crashing but doesn't yet support editing -
I'm working on it but it's a hard problem :-(

You can work around the problem by figuring out which tag is causing
problems for Conglomerate, and then converting that span tag into a
structural one in the dispspec.  Obviously this sucks.

> 
> Please note that this is a valid Digital Scriptorium document (checked
> with xmllint).
> 
> > I do get those warnings also. However, I don't known what they mean.
> > This message is just to tell you to not doubt your effort
> > on adding dispspecs.
> 
> Don't worry, I see the potential of Conglomerate and I'm definitely
> interested in seeing it make progress. I don't understand if
> Conglomerate doesn't load perfectly valid documents because of the
> dispspecs or because of other reasons (wrong info in the
> /etc/xml/catalog file, f.i.? I surely doesn't include the DTDs I use).

As explained above, the problem is in Conglomerate, but only manifests
itself for certain document/dispspec combinations.

> 
> BREAKING NEWS
> 
> OK, since I left the compose message window open I can add that I
> finally managed to load a DS document: I modified a TEI Lite one, and it
> was successfully loaded. Of course Conglomerate was somewhat undecided
> about which dispspec should be loaded:
> 
> ** Message: coverage of TEI Lite = 0,979310
> ** Message: coverage of Digital Scriptorium = 1,000000
> 
> When I tried to edit the dispspec to confirm it was the DS one,
> Conglomerate hung with this message:
> 
> ** ERROR **: file gxx-impl-object-to-xml-tree.c: line 25
> (gxx_hash_table_of_children_with_pcdata_to_xml_tree): assertion failed:
> (key)
> aborting...

That should NOT have happened!  Please can you post the dispspec that
kills the loader to this list so I can investigate further.

> 
> 
> Ciao