<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi Mariano</p>
<p>Thank you for implementing a first version of an EruditeXMLBook
class and supporting code. I think to base the XML representation
of Erudite books on an extension of (X)HTML a very exiting
approach as it offers vast possibilities.<br>
</p>
<p>The fact that you could implement this so quickly after the
DocBook discussion earlier this week demonstrates that you have a
good, extensible structure in the Erudite documentation system
code base. <br>
</p>
<p>As it is about extending HTML in a way that Smalltalk features
may be loaded and executable code may be marked, I think it needs
some discussion what the options are and how this should be done
in particular.<br>
</p>
<p>Using (X)HTML makes use of an standard which has been around for
a long time and people know. This is a huge benefit, this should
give a reason for acceptance of the approach. It should result in
a small additional learning effort for the Erudite/Smalltalk
oriented features. It is also good for generated XML content
files. Compared to this DOCBook is not well-known and as you noted
can not be easily extended. XHTML can also benefit from conversion
programs like pandoc (with some post-editing afterwards) and thus
get content from various sources.</p>
<p>Regarding your XML code example in particular:</p>
<p>I would drop the request that each section needs to be in a
separate file as it is the case with the 'book.xml' in DocBook. So
it should also be possible to create a Erudite book from one XHTML
file. <br>
</p>
<p>As an Erudite book is composed of sections I would not use a
<chapter> tag but <section> instead. This is a tag in
the XHTML standard. Sections may also be nested thus giving an
easy way to specify subsections which Erudite supports. I am not
aware if nesting sections works for DocBook. So the test example
should include more than one section.<br>
</p>
<p>Going for known tags also applies for <title> tag, I
suggest just to use <h1> for the whole book <h2>,
<h3>... within the sections. <br>
</p>
<p>I have seen that EruditeDoc nodes also have a data property. But
I have not observed yet where they are used. Could the data
attribute (containing sometimes a dictionary object) be used for
attributes of XHTML tags? The YAXO XML reader supports attributes.</p>
<p>As for the Smalltalk code representation I want to conduct some
tests with EruditeXMLBook and give a more detailed comment later.
<br>
</p>
<p>Kind regards</p>
<p>Hannes<br>
</p>
<p><br>
</p>
<div class="moz-cite-prefix">On 13/03/2025 11:45 pm, Mariano Montone
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:4d35448b-531b-4f5f-815f-55e3b70a5b49@gmail.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<p>Hi Hannes, folks,<br>
</p>
<div class="moz-cite-prefix">El 12/3/25 a las 12:00, H. Hirzel
escribió:<br>
</div>
<blockquote type="cite"
cite="mid:4fdbd44c-9213-483a-881e-b4dda5c47b5a@gmail.com">On
11/03/2025 3:28 pm, Mariano Montone via Cuis-dev wrote: <br>
<br>
<blockquote type="cite" style="color: #007cff;">Btw, last time I
looked at DocBook, I didn't find it extensible the way I would
have liked. <br>
<br>
In my opinion, we should have an XML standard that is easily
extensible, and that completely separates semantic elements
from its rendering. <br>
<br>
That would make it possible to manipulate documents and
extract information from them in a powerful way, without
losing information. And also render the documents for
different mediums in a correct way. <br>
<br>
I don't understand why there's not something like that. I
don't think DocBook is that, but it should have been. <br>
</blockquote>
Could you please elaborate on this? For my purposes it seems to
be good enough. Or do you specifically mean the handling of the
embedded code expressions? <br>
<blockquote type="cite" style="color: #007cff;"> <br>
That's what XMLEruditeBook is about. </blockquote>
</blockquote>
<p>I've added an example of XML books.</p>
<p>To try, evaluate:</p>
<pre>Feature require: 'EruditeXMLBook'.
(EruditeXMLBook new
file: (CodePackage installedPackages at: 'EruditeXMLBook') fullFileName asFileEntry parent // 'Examples/xmlbook2.xml')
open.</pre>
<p>This is the demo book:</p>
<pre><book>
<requirements>
<feature>EruditeXMLBookHTML</feature>
<feature>EruditeXMLBookSmalltalk</feature>
</requirements>
<chapter>
<title>Intro</title>
<p>Hello world</p>
<p>
<ul>
<li>Hello</li>
<li>World</li>
</ul>
</p>
<p>
<smalltalk>
Object new
</smalltalk>
</p>
<p>
<doit>
Smalltalk inspect
</doit>
</p>
</chapter>
</book>
</pre>
<p>Notice how the book specifies the features it needs for parsing
and rendering, and they are loaded when the book is opened.<br>
</p>
<p>XML makes the syntax automatically extensible, and references
to the requirements loads the parsers and renderers needed for a
book.</p>
<p>There's no book that can't be authored with a system like this!
:)</p>
<p>This is Erudite endgame :P</p>
<p> Mariano</p>
</blockquote>
</body>
</html>