OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

dita message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [dita] Issues in DTDs checked into SVN


I'll take a look at all of these. I have documented variances from the
original 1.2 declarations that are an unavoidable consequence of
generating the DTDs and XSDs, but most of these do no fall into that
category, I don't think.

On issue 13, headers for .ent files, that's a problem: since the RNG does
not have separate mod and ent files, there's only one header comment in
the RNG source, so not obvious how to produce different headers for .mod
and .ent files unless we include both headers in the RNG source (which we
can do). When you say "bad headers" do you simply mean that the headers
don't match the original 1.2 headers for the .ent files?

The idElements pattern in the RNG is required in order to handle the
RNG-specific rules for patterns involving elements with ID-type
attributes. I can ensure that those patterns don't get reflected in the
generated DTDs and XSDs.

I'm still working out details of constraint module generation: there's
some complexity there. The current code is not always generating correct
DTD declarations. It may be necessary to special case all constraint
module generation, I'm not sure yet.

I'll add these issues as cards in the Trello board I set up for the
remaining grammar generation issues:
https://trello.com/b/y42J0sEq/rng-to-dtd-and-xsd-conversion

Cheers,

E.

—————
Eliot Kimber, Owner
Contrext, LLC
http://contrext.com




On 10/20/14, 9:27 AM, "Robert D Anderson" <robander@us.ibm.com> wrote:

>Hi,
>
>After Kris found the DTD issue with the (map mapgroup-d) token last week,
>I realized that the copy of DITA 1.2 checked in to SVN did not match the
>copy of DITA 1.2 shipped by OASIS. I did some comparison of the shipped
>DITA 1.2 and SVN 1.2, and found many inconsistencies. Everything I've
>listed below is also an issue for the DITA 1.3 DTDs. I found all of these
>issues by comparing 1.2 level DTDs - not comparing the RNGs - so this
>presumably mixes RNG issues with conversion tool issues, and also means
>that this testing did not cover anything new to 1.3.
>
>1. All embedded files are missing public IDs. These have been present
>since 1.0, and in 1.2 we explicitly made all internal public IDs use
>version-specific values. This was done by TC request, and they should be
>added back.
>
>2. Several entity declarations have been removed from the DTD. Some are
>unlikely to cause problems but all could potentially be referenced in
>specialized DTDs (I know of DTDs that reference the first one):
>- %rel-atts in topic.mod: deprecated in 1.2 but left in for backwards
>compatibility
>- %hazard.cnt used to set content models in hazard domain
>- In the tblDecl.mod, unlikely to cause problems but for completeness:
>-- Entity %bodyatt; removed from table attribute list - was empty,
>present as part of OASIS table model
>-- Dropped entity %tbl.table.name; (value was "table") -- previously used
>to define the element name
>-- Dropped entity %titles; (value was "title?") -- it was declared but
>unused in OASIS DITA 1.2
>
>3. The error Kris found in the mapgroup domain token is still present in
>the glossref domain and learningMapDomain tokens (both claim to be based
>on topic).
>
>4. The domain token for learningAssessment has changed - not sure if this
>is intentional - from "(topic learningBase+learningInteractionBase-d
>learningAssessment)" to "(topic learningAssessment)"
>
>5. In ditabase.dtd, the declaration of <dita> has dropped several
>attributes. The following are present in DITA 1.2 but missing in DITA 1.3:
>%arch-atts -- @ditaarch:DITAArchVersion, @xmlns:ditaarch,
>%debug-atts -- @xtrc, @xtrc.
>Related: in 1.3 we've added @translate and @dir to the existing @xml:lang
>-- I think these should be added using the common localization-atts group
>rather than declared independently?
>
>6. The task domain entity (topic task) has been dropped from
>ditabase.dtd, task.dtd, and machineryTask.dtd
>
>7. glossary.dtd is broken: it is supposed to redirect to glossentry.dtd
>but actually does nothing
>
>8. The topic containment entities are broken in learningContent.dtd. The
>learningContent element previously allowed lots of children, currently
>1.3 changed this to only allow <no-topic-nesting>:
>1.2 as shipped: <!ENTITY % learningContent-info-types "((concept | task |
>reference | topic)*, (learningAssessment)?, (learningSummary)?)">
>1.2 and 1.3 in SVN: <!ENTITY % learningContent-info-types
>"no-topic-nesting"
>>
>
>9. Related - the content model for <topic> inside the learningContent
>doctype has also changed, pretty sure this was not intentional. DITA 1.2
>shipped with this declaration in learningContent.dtd:
><!ENTITY % topic-info-types "(no-topic-nesting)?">
>The SVN copies do not declare this entity, and as a result the default is
>picked up, and <topic> now allows nesting of <topic>
>
>10. The strictTaskbodyConstraint domain entity name is invalid. The name
>of the entity name has changed from "taskbody-constraints" to
>"strictTaskbody-constraints". This will break any user of the constraint,
>and also violates the spec (spec requires the entity use the literal
>element name). I believe this error was introduced recently, it was not
>in my copy of SVN until I updated on Friday.
>
>11. The map.mod module drops the default empty declaration of
>included-domains (it is still in topic.mod).
>
>12. Every element has its attribute entity (such as alt.attributes)
>declared twice. Strictly speaking this does not introduce errors but
>really needs to be fixed (it's confusing and looks bad).
>
>13. Many of the DTD modules have bad headers (every ENT file I spot
>checked and several of the MOD files). The ENT files appear to grab their
>headers (including public ID info) from the equivalent MOD file.
>
>Nit-picks that we would fix if creating these by hand:
>- In topic.mod, the entities "info-types" and "topic-info-types" are each
>declared twice
>- In machinery taskbody constraint, %prelreqs and %closereqs are each
>declared twice
>- DITA 1.2 /1.3 in SVN has added an entity idElements; it's empty and
>unused, so not sure of the purpose
>
>Robert D Anderson
>IBM Authoring Tools Development
>Chief Architect, DITA Open Toolkit (http://dita-ot.sourceforge.net/)




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]