Re: Recursive use of elements <option> and <optional>

Jürgen Purtz <[email protected]>
Newsgroups gmane.text.docbook.misc
Message-ID <[email protected]>
Hallo,

as far as I understand the migration from db4 to db5 the definition and 
content model of "technical inline elements" (%tech.char.class; ?) 
changed significant. I want to add some comments to their *recursive* 
use - not to the other aspects of this elements.


Positive:

In db4 it was able to use <function> ("Function -- The name of a 
function or subroutine, as in a programming language") recursively. In 
db5 this is no longer possible. I appreciate this change as a function 
name is an atomic construct and cannot contain other function names.

The same applies to <literal> ("Literal -- Inline text that is some 
literal value").

In db4 it was possible to use <literal> as a subelement of <function> 
and vice versa. In db5 this is no longer possible. I have seen some 
situations in our documentation, but they don't make sense and shall be 
modified by manual intervention.


Negative:

In db4 it was possible to use <option> and <optional> recusively: 
<option> within <option> or <option> within <optional> and vice versa. 
This makes sense as it reflects the real situation of computer 
languages. In db5 this is no longer valid. As long as there is no other 
technique to express such computer language situations we need the 
recursivity as it was defined in db4.

In db4 it was possible to use <function> as a subelement of <parameter>. 
This is no longer possible in db5. Also <funcsynopsis> is not valid 
within <parameter>. Especially for functional languages like Scala it is 
natural to use functions as parameters. Therefore the db4 semantic makes 
sense.

In summary the content model of all IT related elements shall be reviewed:

  * Which elements are really atomic?
  * Which elements may contain which other elements, especially elements
    of the same kind?


Kind regards
Jürgen Purtz


On 21.06.2016 07:58, Jürgen Purtz wrote:
> In docbook 4.x it was possible to use <optional> in a recursive way, 
> eg: 
> https://www.postgresql.org/docs/current/static/sql-createtable.html or 
> https://www.postgresql.org/docs/current/static/sql-select.html. 
> Optional elements often are only valid under the additional demand, 
> that they are part of another optional element. The same holds true 
> for arguments of commands or procedures.
>
> We try to upgrade to docbook 5.x, but the schema doesn't allow the 
> recursive use of <option> and <optional>. Do you have an advice how to 
> express such situations? Do you have plans to modify the docbook 5 
> schema to allow recursive use of the two elements?
>
> Kind Regards
> Jürgen Purtz
> [email protected]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.