Stylesheets icon indicating copy to clipboard operation
Stylesheets copied to clipboard

Missing group in Table of contents of TEI composite to HTML pages split at text level

Open Dominique-M opened this issue 10 years ago • 13 comments

The TEI is http://www.d-meeus.be/linux/sandbox/sandbox.xml, the stylesheet is http://www.d-meeus.be/linux/sandbox/splitLevel0/sandbox0.xsl and the result http://www.d-meeus.be/linux/sandbox/splitLevel0/index.html. The pages actually produced are listed in the text file http://www.d-meeus.be/linux/sandbox/splitLevel0/foldercontents.

All of the group of texts is missing in the table of contents (though the pages do exist). Only appear a div of the main front matter and a div of the main back matter.

Dominique-M avatar Apr 21 '15 14:04 Dominique-M

@Dominique-M Can you clarify exactly what's wrong here? When I run bin/teitohtml5 on your sandbox.xml file, I see the table of contents correctly configured; can you confirm that you see something different? Could this be a problem with your XSLT file?

martindholmes avatar May 26 '20 14:05 martindholmes

The problem is: to troubleshoot problems I have a sandbox workbench where I routinely transform sandbox.xml with sandbox.xls through a script called htmlise. (I import there /usr/share/xml/tei/stylesheet/html5/html5.xsl and define parameters like splitLevel.) I change the contents of sandbox.xml for the problem at that moment, or I XInclude the problem in the sandbox.xml. My fault is to post about a supposed bug with a link to a sandbox.xml online. If the following year I post about something else, with a new sandbox.xml, the former is lost for you. I should make sure to give better filenames. I have found the one about composites. I post it in my sandbox folder online. (With a new hosting, my website is now https//d-meeus.be, but http or www are redirected.)

I do (with no sandbox.xsl in between to make sure; VERSION is 7.49.0):

~/bin/saxon -o:tei2html/index.html "tei2html/sandbox (composite).xml" /usr/share/xml/tei/stylesheet/html5/html5.xsl STDOUT="false" splitLevel="-1" (respectively 0, 1)

(I never learned the syntax of saxon9he.jar because I kept using a saxon script that Sebastian Rahtz did include in the distribution of the stylesheets. This is the syntax of Sebastian’s script.)

The result is

  • With splitLevel -1, the HTLM page seems to render everything. The TOC does not come at the top, but after the Foreword in front. It shows the contents of the two children A and B, but not of the main front and back matters. I expect to find in the TOC the head of any div, thus also Foreword and Index of terms (xml id TEIindex).
  • With splitLevel 0, the TOC is complementary (as in set theory) to the former. It shows only front and back, nothing about the texts in group. There is no navigation (previous/next). There is no way to go from the index.html to the to texts A and B of the group. (Beware: I did /write/ some kind of TOC as content of my Foreword, to have a view of the structure of what I intended to do, with links to be able to check all parts. This not generated TOC, this is my /content/.)
  • With splitLevel 1, same TOC as -1 (missing front and back). From index.html, no way to go to front or back. In the group, text B with two divs is OK, but in text A, the only div does not exist in HTML.

I think that we had this conversation about one year ago because I see these results in subfolders of my https://d-meeus.be/sandbox/linux/sandbox: sandbox/splitLevel-1, 0, 1. At that time it was with some personal XSL (as I said above), probably with only parameters, but this is always a possibility of mistakes. That is why I checked today with the above command. The result is the same. So I leave online files from 2015 and 2019 and I did FTPise only the missing sandbox (composite).xml.

You write that you tested with bin/teitohtml5. I never used this, but I suppose it is a shortcut to html5.xsl. Anyway, my issue is about html5.xsl, not about bin/teitohtml5, if it made a difference.

Hope this helps. Do ask for more if needed. Please be patient with the fact that I am an amateur. I am also becoming a really old man. My neurons seem to be still functioning, but sometimes slower maybe. I do not know if there are many use cases of amateur lovers of TEI outside the digital humanities.

Le 26/05/20 à 16:32, Martin Holmes a écrit :

@Dominique-M https://github.com/Dominique-M Can you clarify exactly what's wrong here? When I run bin/teitohtml5 on your sandbox.xml file, I see the table of contents correctly configured; can you confirm that you see something different? Could this be a problem with your XSLT file?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/TEIC/Stylesheets/issues/102#issuecomment-634062695, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB3E2WRJY7RMWR754T2CZ3TRTPHGRANCNFSM4BAUXXUA.

Dominique-M avatar May 26 '20 18:05 Dominique-M

@Dominique-M Could you just post the files on the ticket directly, instead of linking to versions that will inevitably change? You can attach files here.

martindholmes avatar May 26 '20 19:05 martindholmes

This is the TEI XML file giving (to HTML 5) different strange results with splitLevel -1, 0 or 1.

Le 26/05/20 à 21:48, Martin Holmes a écrit :

@Dominique-M https://github.com/Dominique-M Could you just post the files on the ticket directly, instead of linking to versions that will inevitably change? You can attach files here.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/TEIC/Stylesheets/issues/102#issuecomment-634240564, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB3E2WXX4UPSAOMBLFDBOKDRTQMHLANCNFSM4BAUXXUA.

Dominique-M avatar May 26 '20 20:05 Dominique-M

This does not seem to work by e-mail. Apparently XML files are not allowed. Here is the XML under TXT disguise. composite-tei-xml.txt

Dominique-M avatar May 26 '20 20:05 Dominique-M

I have taken @Dominique-M’s test file and run it through both teitohtml5 with --splitLevel set to -1, 0, and 1; and through the html5/html5.xsl stylesheet directly with splitLevel= set to -1, 0, and 1. The resulting 6 sets of output are attached. I have not looked at them carefully at all, but did note that the output of teitohtml5 is exactly the same regardless of splitLevel. Sigh. issue_102_test.zip

sydb avatar Mar 23 '21 18:03 sydb

Progress on this ticket, @Dominique-M!

First, the good news. In taking a look at this we (Council Stylesheets Group) discovered that the teitohtml5 command (and the teitohtml command, which should be the same thing but are not; we’ll be making a new ticket for that) was not passing the $splitLevel switch in at all. We fixed that. So now you can generate the same bad output in the “proper” way using bin/teitohtml5 --splitLevel=1 or whatever.

The bad news is figuring out what is going wrong with the output when there is a <group> is going to take some more work.

sydb avatar Mar 25 '21 20:03 sydb

Stylesheets group has been inspecting this and we'd like to try making a new test file that includes more of the things we expect to see processed. We'd need two parallel structures: one with <group> elements as well as numbered and unnumbered <div>s.

ebeshero avatar Mar 25 '21 20:03 ebeshero

I am glad, for the others, to hear about improvements of teitohtml and teitohtml5. I am not a digital humanist, but discovered years ago the TEI as, to me, the best HTML authoring tool, mostly of things born digital. I use it a lot, every other day or so, on many projects, always with /usr/share/xml/tei/stylesheet/html5/html5.xsl and params for the project taken from html_param.xsl, plus sometimes a xsl:template rewritten by myself. I am used to my more than ten year old "TEIworkbench" and not likely to ever use teitohtml5. (I do not understand the "proper" way.) I got into problems with groups of texts once, but never tried again since. (I probably thought to organise some project as a group, but adopted another structuration because it didn’t work.)

Le 25/03/21 à 21:15, Syd Bauman a écrit :

Progress on this ticket, @Dominique-M https://github.com/Dominique-M!

First, the good news. In taking a look at this we (Council Stylesheets Group) discovered that the |teitohtml5| command (and the |teitohtml| command, which should be the same thing but are not; we’ll be making a new ticket for that) was not passing the $splitLevel switch in at all. We fixed that. So now you can generate the same bad output in the “proper” way using |bin/teitohtml5 --splitLevel=1| or whatever.

The bad news is figuring out what is going wrong with the output when there is a || is going to take some more work.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/TEIC/Stylesheets/issues/102#issuecomment-807406328, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB3E2WUFSQJHWY5QLU46BRDTFOKXHANCNFSM4BAUXXUA.

Dominique-M avatar Mar 25 '21 21:03 Dominique-M

Excellent, @Dominique-M! (The reason “proper” is <soCalled> is because there really is no proper way. There is only the way the author intended vs. all other ways on one axis; and methods that work vs. methods that don’t on another, far more important, axis. :-)

sydb avatar Mar 25 '21 22:03 sydb

If you'd like real world example using groups see my ossian!

lb42 avatar Mar 26 '21 10:03 lb42

@lb42 Apparently hot off the GitHub presses, too! Thanks for this. https://github.com/lb42/Ossian-1773

ebeshero avatar Mar 26 '21 12:03 ebeshero

Assigning to @ebeshero to ensure that the discussion happens. Pls reassign after discussion if someone else should implement the fix.

JanelleJenstad avatar Apr 27 '21 17:04 JanelleJenstad