OASIS Darwin Information Typing Architecture (DITA) TC

 View Only
  • 1.  Is the ID attribute of type ID or NMTOKEN ?

    Posted 12-01-2006 15:42
    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
    
    Chris


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

    Posted 12-05-2006 15:35
    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.
    
    Regards,
    --
    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
    
    
                                                                               
                 dita@seicodyne.ch                                             
                                                                               
                 12/01/2006 09:41                                           To 
                 AM                        dita@lists.oasis-open.org           
                                                                            cc 
                                                                               
                                                                       Subject 
                                           [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
    
    Chris
    
    


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

    Posted 12-05-2006 15:53

    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
    mpriestl@ca.ibm.com
    http://dita.xml.org/blog/25



    Don Day <dond@us.ibm.com>

    12/05/2006 10:34 AM

    To
    dita@seicodyne.ch
    cc
    dita@lists.oasis-open.org
    Subject
    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.

    Regards,
    --
    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


                                                                             
                dita@seicodyne.ch                                            
                                                                             
                12/01/2006 09:41                                           To
                AM                        dita@lists.oasis-open.org          
                                                                           cc
                                                                             
                                                                      Subject
                                          [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

    Chris