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] Is the ID attribute of type ID or NMTOKEN ?

id on topic (and its specializations) is type ID, id anywhere else is NMTOKEN.

Brief rationale:
- we insist that topics have unique IDs so we always know which topic we are referring to, and we can combine multiple topics into a single document with low risk of collision
- if we made elements within a topic require unique IDs, then we would have a much larger risk of collision when moving a topic from one document to another: instead of just tracking topics, we'd need to track everything, which is a lot harder (maybe trivial for a CMS, but much more awkward in a file system/version control system)
- so elements within a topic are referenced by topicID/elemID, so we know we have a unique topicID, and we trust that the elemID will be unique within the topic, even if it isn't unique within the (potentially multi-topic) document.

The full explanation and rationale is in the architectural spec - look in the latest draft under the new processing chapter, first entry (something like "Identity and Referencing").

Michael Priestley
IBM DITA Architect and Classification Schema PDT Lead

Don Day <dond@us.ibm.com>

12/05/2006 10:34 AM

Re: [dita] Is the ID attribute of type ID or NMTOKEN ?

I will check on this, Chris. I suspect the problem is caused by the tool
that regenerates navigation for the Language Reference topics directly from
the DTDs. In cases where attributes of the same name but different types
exist, my tool checks for each known case in order to refer to the correct
conref definition. It appears that I have not properly checked for the name
"id" that has different types "ID" and "NMTOKEN".

Can you tell me what element had this particular issue? Wherever there is
one, there are probably several, since it is a systemic issue.  I'd like to
trace back from a known starting point.

Don Day
Chair, OASIS DITA Technical Committee
IBM Lead DITA Architect
Email: dond@us.ibm.com
11501 Burnet Rd. MS9033E015, Austin TX 78758
Phone: +1 512-838-8550
T/L: 678-8550

"Where is the wisdom we have lost in knowledge?
Where is the knowledge we have lost in information?"
  --T.S. Eliot

            12/01/2006 09:41                                           To
            AM                        dita@lists.oasis-open.org          
                                      [dita] Is the ID attribute of type  
                                      ID or NMTOKEN ?                    

While working with Arbortext Editor I copied an element containing an ID.
In the copied element the ID appeared unchanged and the result of the
validation was "no completness error found".

That was unexpected so I checked the langref.

The langref tells that the ID attribute is of type ID, so it should be
invalid when I have the same ID twice.

Then I checked the id-atts in the commonElements.mod and found:
id       NMTOKEN      #IMPLIED

So I guess the description in the langref telling
id       ID           #IMPLIED
is wrong, but why.

I would expect id as being of type ID?

What is right?

Best regards


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