[jats-list] Re: BITS DTD customization

Subject: [jats-list] Re: BITS DTD customization
From: "dal dalapeyre@xxxxxxxxxxxxxxxx" <jats-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 20 Feb 2018 20:25:43 -0000
Hi Paulin--

Sorry customizing BITS has been such a struggle for you.
I have modified your modules (sent privately, not to the
lists). I am sending this response to the lists because
others may have the same problems.

Your DTD parses cleanly now, as does a document
tagged according to it, which uses one of your new elements.
You have my sympathy on the causes of some of these
problems, particularly the first one.

YOUR IMMEDIATE PROBLEMS

1) The odd message about not recognizing your new
parameter entity %margin-number.class; made no sense.
The modules were getting called in properly, the
other classes worked correctly. We may never know
what the actual problem was, but I fixed it by
rekeying the line that called in the parameter
entity. My best guess is that there was an invisible
bad character on the line. Ouch.

You had the same problem on the lines calling in
the JATS common attributes ID required. When I
rekeyed the lines (no changes), the error disappeared.

2) The second error I got was about the model for
one of your new elements (<norm-p>). The model was:
 (%p-elements;)*
Since p-elements is a parameter entity that expects to be
mixed with text the correct model is:
(#PCDATA %norm-p-elements;)*

If you wanted only the elements, and no text, you would
need to redefine your copy of %p-elements, which
currently begins with an OR bar in expectation of the
#PCDATA mixing.


PREVENTING FUTURE PROBLEMS

I removed the invocation of each module from your
Module of Modules. This had not yet caused any
problems, but it would have later on. You need to
invoke these (as you did, in fact) from your DTD, but
only invoke them once, do not also invoice them in your
Modules of Modules.


THINGS I CHANGED FOR MYSELF (your solution was fine)

Because the original problem with your class looked
like a module problem, I set up for a catalog and
changed your Module of Modules to call that no-base
catalog. I made this my default Oxygen catalog.
This was just for better consistency and control
as I debugged. Your system calls would undoubtedly
have worked fine.

Whew!

bDebbie

================================================================
Deborah A Lapeyre              mailto:dalapeyre@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc.      http://www.mulberrytech.com
17 West Jefferson Street         Phone: 301-315-9631 (USA)
Suite 207                        Fax:   301-315-8385
Rockville, MD 20850
----------------------------------------------------------------
Mulberry Technologies: Consultancy for XML, XSLT, and Schematron
================================================================

Current Thread