xsl-list
[Top] [All Lists]

Re: [xsl] Mode in XSLT 3.0

2017-07-23 18:56:29
On Sun, Jul 23, 2017 at 11:08:53PM -0000, Toshihiko Makita 
tmakita(_at_)antenna(_dot_)co(_dot_)jp scripsit:
If that's what you're trying to achieve, then it isn't going to work:
you're trying to create packages that aren't sufficiently independent of
each other.

The insufficiency comes form XML document (DITA) content model itself. For
instance:

- concept/body can contain dl, ol, ul, p, table, etc...
- p can contain inline elements ph, b, i, u, sup, sub. It also can contain
block elements dl, ol, ul, table.
- Inline elements ph, b, i, u can contain each other.
- table/tgroup/tbody/row/entry can contain inline elements ph, b, i, u, sup,
sub. It also can contain block elements dl, ol, ul, table.

The content model is recursively defined. So it will be difficult to make
independent package unless forcing all of the element template to be written
in one package.

DITA's design trades a *lot* of comprehensibility for generality, and
then uses element names to provide comprehensibility for someone using
DITA to write with.  If you're trying to process DITA, you generally
want to go deal with the generality using the class structure,
recognizing that for processing purposes the element names are
not especially meaningful.

From that perspective, DITA is a bunch of "structural" (@class starts
with "-") and "domain" (@class starts with "+") specializations of base
classes.  So if you wanted to organize DITA processing into XSLT
modules, you'd have to start with classes, rather than elements.

For example, DITA 1.3 has about 40 elements which derive from
"topic/fig" (whether structural or domain); an XSLT module could process
all of these without coming into conflict with another XSLT module
processing DITA vocabulary from another class derivation.

-- Graydon
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--

<Prev in Thread] Current Thread [Next in Thread>