I just created a new issue, #14, https://github.com/NCBITools/DtdAnalyzer/issues/14, for implementing the <modules> section. Demian, Audrey and I talked about this a little bit last week. The description in the ticket should hopefully get you up-to-date on our discussion. What do you think? Do you have any feedback or suggestions?Chris
--
You received this message because you are subscribed to the Google Groups "DtdAnalyzer" group.
To post to this group, send email to dtdan...@googlegroups.com.
To unsubscribe from this group, send email to dtdanalyzer...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/dtdanalyzer?hl=en.
--
You received this message because you are subscribed to the Google Groups "DtdAnalyzer" group.
To view this discussion on the web visit https://groups.google.com/d/msg/dtdanalyzer/-/DgJP8Urlw68J.
To view this discussion on the web visit https://groups.google.com/d/msg/dtdanalyzer/-/2-d-gWhXrNUJ.
There is clearly overlap between the concepts. As you pointed out, a module is nothing but an external parameter entity.
Here is XQuery to get from what I have in the mockup now, to what we had before, for the modules part:
for $parament in /declarations/parameterEntities/entity[@systemId!=""]
return
<module name='{$parament/@relSysId}'
systemId='{$parament/@systemId}'
publicId='{$parament/@publicId}'>{
$parament/annotations[@level='module']
}</module>
It results in this:
<module name="banana.ent" publicId="-//NLM//external ent dummy public id 2//EN"
systemId="file:///home/maloneyc/git/NCBITools/DtdAnalyzer/test/banana.ent">
<annotations level="module">
<annotation type="note">
<p>This module defines the <banana> element, and all the slippery things associated
with it.</p>
</annotation>
</annotations>
</module>
<module name="inline.ent" publicId="-//NLM//external ent dummy public id 1//EN"
systemId="file:///home/maloneyc/git/NCBITools/DtdAnalyzer/test/inline.ent">
<annotations level="module">
<annotation type="note">
<p>This module defines the elements that can be used inline in a description.</p>
</annotation>
</annotations>
</module>
In the “parameter entities” section of the documentation, you should drop the annotations that are at the “module” level, and just use those that are at the “reference” level. And use @name for the name.
Chris Maloney
NIH/NLM/NCBI (Contractor)
Building 45, 5AN.24D-22
To view this discussion on the web visit https://groups.google.com/d/msg/dtdanalyzer/-/KYn0HqjGwdcJ.
This is reference documentation, so I don’t see any big problem with redundant information. Especially since it’s auto-generated, and so is ensured to be consistent – the big reason for the DRY principle is that duplicate information can get out-of-sync – that doesn’t apply here.
I see two different use-cases for these. For modules, somebody wants to view the overall structure of how the DTD is assembled, from, say, HTML, MathML, JATS core, etc. This would be more of interest to somebody who is customizing or extending the DTD. In that case, the existing JATS documentation, which doesn’t have this list, would be hard to use, because he wouldn’t be able to find which of the parameter entities are external.
For the parameter entities list, I imagine somebody reading the DTD, and seeing a reference to a parameter entity (and from the reference alone, she would have no idea if it is internal or external) and wanting to look it up. I think it would be vexing if the parameter entity weren’t listed in the parameter entity section. That’s why I’d prefer to keep it there – just for completeness’ sake.
You can see that they are included in the existing JATS documentation, for example, http://jats.nlm.nih.gov/archiving/tag-library/1.0/n-bia2.html.
Your second and third bullets, I really like.
To view this discussion on the web visit https://groups.google.com/d/msg/dtdanalyzer/-/y-MaGhZxlZkJ.
I would think it would be not to have a modules section at all, and to include all the module-level documentation in the parameter-entities section, pretty much the way the current official JATS documentation is now.