OASIS Darwin Information Typing Architecture (DITA) TC

RE: [dita] Groups - DITA 1.1 Issue # 9 (IssueNumber9.html) uploaded

  • 1.  RE: [dita] Groups - DITA 1.1 Issue # 9 (IssueNumber9.html) uploaded

    Posted 07-25-2005 23:13
     MHonArc v2.5.0b2 -->
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    dita message

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


    Subject: RE: [dita] Groups - DITA 1.1 Issue # 9 (IssueNumber9.html) uploaded


    Hi, Paul and Busy Committee:

    Apologies for the slowness responding. (Headcold and lack of headroom.)

    To refresh, here's the core proposal again for the <data> element:

    http://www.oasis-open.org/apps/org/workgroup/dita/download.php/13539/IssueNumber9.html

    I've embedded some comments.


    Hoping that's interesting,


    Erik Hennum
    ehennum@us.ibm.com


    "Paul Grosso" <pgrosso@arbortext.com> wrote on 07/12/2005 02:11:02 PM:

    > Erik Hennum had written:
    > > "Paul Grosso" <pgrosso@arbortext.com> wrote on 07/12/2005 09:26:30 AM:
    > >
    > > > > From: ehennum@us.ibm.com [mailto:ehennum@us.ibm.com]
    > > >
    > > > 1.  If the data element provides information about its parent,
    > > >     what is the point/meaning/use case for nesting data elements?
    > >
    > > Here's an example of a potential book information structure
    > > for the book map:
    > >
    > >     <bkrights>
    > >         <bkcopyrfirst><year>2003</year></bkcopyrfirst>
    > >         <bkcopyrlast><year>2005</year></bkcopyrlast>
    > >         <bkowner>
    > >             <organization>
    > >                 <orgname>XYZ, Inc</orgname>
    > >                 <phone>123-456-7890</phone>
    > >                 <resource href=""http://www.xyz.com/"/>

    The entire structure would be specialized from the <data> element.
    As usual, the reader was expected to have ESP.


    > I gather that bkrights is a child of bookmap, is that correct?
    >
    > If so, then I assume bkrights is metadata about the bookmap element.

    Yes, bkrights would be contained within bookmap and metadata about the
    book.  Something like the following:

        <bookmap>
            <bookmeta>
                <bkrights>
                    ...
                </bkrights>
                ... other book properties ...
            </bookmeta>


    > I could imagine the bkcopyr* elements are metadata about
    > the bkrights element, but is bkowner metadata about the
    > bookmap element or about the bkrights element?
    >
    > What if I gave the bkowner element a <data> child that
    > included metadata about the incorporation status (stock
    > symbol, state of incorporation, etc.) of the bkowner?
    > Or maybe this data element would more appropriately be
    > a child of <orgname>.  In any case, I can see times I
    > want the data element to be referring to its parent and
    > other times when it should be referring to the parent of
    > its outermost ancestral element that is a specialization
    > of data: (ancestor::*[@class=" ...data..."])[1]::parent
    > in xpath-ese.

    An excellent issue.  To rephrase:

    *  Some containers (for instance, <organization>) have
       identity and are the subject of subelement properties
       ("a book can have an owning organization, which in
       turn can have a phone number").

    *  Some containers (for instance, <bkrights>) seem to
       provide organizing categories for the properties of
       an ancestor ("some of the book's properties have to
       do with rights, but a book doesn't have rights
       that in turn have copyright years").

    Is this distinction one of interpretation, however,
    rather than a hard and fast differences that we could
    encode in the markup?

    For instance, if we added a property specifying the
    locales in which a specified set of book rights are
    valid, would that make us tend to think of <bkrights>
    more as a subject of properties ("a book has rights
    in the US and other rights in the EU") and less as
    an organizing category?

    For some properties, can the same property be considered
    to apply to any of several levels of ancestry (treating
    the intervening levels of containment as categories that
    combine to label the full semantic of the property)?

    For instance, does <phone> have a subject of <organization>
    or of <bkowner>?  That is, does the organization have a
    phone number or does the book owner have an organization
    phone number?  For that matter, can we treat a book as
    having an owner contact phone number?

    For another example, if an application regarded the stock
    symbol as the only significant property of rights ownership,
    could the application legitimately treat the stock symbol
    as a property of the book (albeit with a long semantic label)?
    For instance, outputting a rights table in which the rows
    are books and the columns consist of the copyright years
    and the owner identifiers (stock symbols)?

    I'm coming around to the thought that default processing
    should treat every data property as having its container
    as its subject (with the exception of data contained by the
    <prolog> or <metadata> elements, which of course have the
    topic as a whole as its subject).

    Applications that know the semantics of the data or that
    have  access to a more formal definition of property
    relationships outside of DITA (such as an RDF definition
    of transitivity up the containment hierarchy) are free to
    interpret the subjects of properties accordingly.


    > > > 2.  Since the data element provides information about another
    > > >     element, I wondered if it made sense to provide some kind
    > > >     of "idref-ish" attribute on the data element to allow one
    > > >     to point to the target element.  But upon reflection, I'm
    > > >     not sure it does.
    > >
    > > The proposed data element has an href attribute for cases where
    > > the value is a referenced object (either managed within DITA or
    > > external to DITA).
    >
    > I'm getting lost.  The value of what here?  The value of
    > the metadata within the data element?  If so, then that
    > sounds more like a kind of conref where you are referencing
    > the metadata.
    >
    > My point #2 here was about the possibility of allowing the
    > data element to have an explicit pointer to the element for
    > which the data element's content was metadata--to address
    > the point discussed in #1 that you might not always want the
    > data element's metadata to be just about its parent.
    >
    > (Given the example below, maybe that is what you mean here,
    > I'm not sure.)

    I misunderstood.  The thought for the href attribute is the
    opposite -- not the subject of the property but the object.

    I agree that we need conref, but I'd suggest that we also need
    the ability to output values that are references.  For instance,

    *  The identifier of the DITA topic that provides the full
       explanation of the license for a product described in a book.

    *  The book owner's website.

    *  The ISBN for the companion volume expressed as a URI.


    > > If a data element with an href contains other data elements, the
    > > values would pertain to the referenced object. For instance:
    > >
    > >     <demonstrator>
    > >         <creator value="XYZ, Inc."/>
    > >         <access href=""http://www.xyz.com/demo/">

    >
    > Given "a data element with an href contains other data elements",
    > I assume all of access, login, and password are data elements,
    > is that correct?

    All of the elements would specialize data including <demonstrator>.
    (The class attributes were set in a virtual document type.)  The
    full context might be something like

        <topic ...>
            ...
            <prolog>
                <metadata>
                    <product ...>
                        <demonstrator>
                            ...
                        </demonstrator>


    > So by "values would pertain to the referenced object" do you
    > mean that the login and password values are metadata about
    > "http://www.xyz.com/demo/" and not metadata about <access>
    > or <demonstrator> or the parent of <demonstrator> (if
    > demonstrator is a data element)?

    That paragraph should have had its own example.  Consider
    the following example where the maintainer element is a
    specialized data element:

        <topicref href=""sometopic.dita">
            <topicmeta>
                <maintainer>Sachiko</maintainer>
            </topicmeta>
            ...
        </topicref>

    Is Sachiko responsible for maintaining the references in this
    branch of the map?  Or for maintaining the referenced content
    of sometopic.dita?  A default process would have a hard
    time harvesting the data without resolving that ambiguity.

    So, the data element might need an attribute to disambiguate
    these cases.  Something like

        <!ATTLIST data reference (source|target) "source">

    That way, a specialized element could assign a fixed or defaulted
    value to the reference attribute in the document type so the
    ambiguity wouldn't arise in the instance.  

    In the following example, mapMaintainer would have a reference
    of source while topicMaintainer would have a reference of target:

        <topicref href=""sometopic.dita">
            <topicmeta>
                <mapMaintainer>Sachiko</mapMaintainer>
                <topicMaintainer>Fred</topicMaintainer>
            </topicmeta>
            ...
        </topicref>

    Returning to the earlier suggestion about defining the property
    relationships outside of DITA, the ordinary RDF convention to
    identify a property is to combine the namespace and element name.

    If the element doesn't have a namespace, however, it might be
    useful to have an attribute to set the external type identifier:

        <!ATTLIST data typeid CDATA>

    That way, a specialized data element can set a defaulted or
    fixed attribute in the document type.

        <!-- Dublin Core rights -->
        <!ATTLIST bkrights typeid CDATA "http://purl.org/dc/elements/1.1/rights">

    The default process could then use the identifier in the generated
    harvested data.



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