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: possible change/clarification to proposal #1207 as previously approved by the TC


Here is an e-mail discussion that Paul and Robert started two weeks or so ago. I don’t know that we’ve completely settled on the answer yet, but it seems likely that we will make a change to item #21 in the keyref proposal (issue #1207) that the TC approved last December. I don’t think the change is a big deal. It is all about how we handle a fairly obscure error condition. I don’t know that this change requires a vote by the TC since it will be included in the DITA 1.2 specification which will eventually be voted on when the spec. is approved.  But, I wanted to let the TC know about the likely change and put something into the public archive.

 

    -Jeff

 


From: Ogden, Jeff
Sent: Tuesday, September 23, 2008 8:53 AM
To: 'Michael Priestley'
Cc: Grosso, Paul; 'Robert D Anderson'; 'Eliot Kimber'
Subject: RE: DITA 1.2 reviews of Commonly Referenced Attributes and Specialization Elements

 

Here is the wording of item #21 from version 8b of issue 1207 (17 December 2007):

Key references are not allowed on and will be treated as an error if used with href or conkeyref attributes on topicref elements that reference maps or portions of maps that define keys.

 

In the above “href” should have been changed to “keyref”.

 

I’d be OK with a change requiring (MUST) that keys defined in sub-maps that are referenced using keyrefs be ignored.  I guess it is just the presence of the @keyref or @conkeyref that causes the sub-map key definitions to be ignored and that key definitions in sub-maps should be ignored even if the href or conref is used as a fallback because the keyref or conkeyref can’t be resolved.

 

Do we require (MUST), suggest (SHOULD), allow (MAY), or prohibit (MUST NOT) issuing error or warning messages when keys in sub-maps referenced using keys are ignored? I’d be OK with MUST or SHOULD. I’d be uncomfortable with MAY or MUST NOT.

 

I think we need to mention this to the DITA TC since it is a change to what they approved.

 

The new wording for item 21 might be:

 

When keyref or conkeyref attributes are present on topicref elements or specializations that reference maps or portions of maps any key definitions made in the referenced maps MUST be ignored and processors SHOULD issue an error or warning message.

 

   -Jeff

 


From: Michael Priestley [mailto:mpriestl@ca.ibm.com]
Sent: Monday, September 22, 2008 9:19 PM
To: Ogden, Jeff
Cc: Grosso, Paul; Robert D Anderson
Subject: RE: DITA 1.2 reviews of Commonly Referenced Attributes and Specialization Elements

 


Hi Jeff,

Belatedly realizing I never sent my reply to this:

I think disallowing keys on map references is going too far. There are lots of cases where someone might want a key on a topic to be repointed to a branch of topics, and vice versa, when the need for a particular subject gets expanded/reduced for a new audience or context. For example, in my map I only need a single topic to define "foobars" but someone else reusing my map needs to expand the foobar topic (referenced by key) into a whole chapter/set of topics. So they repoint the foobar key from my foobar topic to their foobar submap, which then gets pulled in where the foobar topic used to appear.

In an ideal world, there would be no difference between maps pulled in by keyref and by href. But we don't live in an ideal world, so the compromise (to avoid requiring processors to thrash on key mapping/keyref resolution recursively) was to say that keys in maps pulled in by keyref would be ignored (since they are being discovered after keys have already been harvested). That solution is friendly to processors, and still allows flexibility for authors since they could choose to include the same map by href in a no-toc etc. setting to discover the keys if they need them.

Michael Priestley
Lead IBM DITA Architect
mpriestl@ca.ibm.com
http://dita.xml.org/blog/25

"Ogden, Jeff" <jogden@ptc.com>

09/10/2008 11:24 AM

To

"Robert D Anderson" <robander@us.ibm.com>, "Grosso, Paul" <pgrosso@ptc.com>

cc

Michael Priestley/Toronto/IBM@IBMCA

Subject

RE: DITA 1.2 reviews of Commonly Referenced Attributes and Specialization Elements

 

 

 




My thinking is along these lines:

It is an error to use keys to reference ditamaps. That is what the
proposal calls for and it is the only thing related to this that the
proposal is clear about. Not treating this as an error is likely to
produce results that are different from what users were expecting and it
may be difficult for them to understand why.

That we always want to tell the users about the error.

How processors do or don't recover from the error is up to the
processors. Different implementations will have different philosophies
about this with some thinking the right thing to do is to stop following
certain types of errors to avoid producing may other errors or warnings
that are caused by the first error and others thinking that it is better
to try to continue following errors in order to find additional problems
in a single run even if some of those problems may be caused by the
original error.

That as long as processors issue a message about the error so users can
fix it, it doesn't really matter if different implementations give
different results following such an error.  We only need to worry about
getting the same or at least very similar results when there are no
errors.

If we adopted the approach that implementations are free to not produce
an error message and that implantations are free to ignore key
definitions in maps referenced using keys, that that is effectively
saying that the use of keys for map references isn't an error. And I
don't think we want to do that.

   -Jeff

> -----Original Message-----
> From: Robert D Anderson [mailto:robander@us.ibm.com]
> Sent: Wednesday, September 10, 2008 11:06 AM
> To: Grosso, Paul
> Cc: Ogden, Jeff; Michael Priestley
> Subject: RE: DITA 1.2 reviews of Commonly Referenced Attributes and
> Specialization Elements
>
> I'm not entirely sure about this one.
>
> We say that it is an error to use (keyref | conkeyref) to pull in
> additional key definitions. Jeff's suggestion is that apps *should*
> generate a message, and *may* recover by ignoring the definitions. It is
> starting to feel like those may be backwards. If we say that they *may*
> ignore the definitions, doesn't that mean some apps will ignore them, and
> others will not, meaning that the same content in two apps will end up
> with different links / text / etc?
>
> I'm starting to wonder if the correct approach is:
> * Apps may or may not generate a message
> * Apps should ignore additional key definitions in the target map, so that
> apps at least give the same end result
>
> Or do we really want to say - it is an error to define something this
> way, but applications may recover by allowing it?
>
> Thanks -
>
> Robert D Anderson
> IBM Authoring Tools Development
> Chief Architect, DITA Open Toolkit
> (507) 253-8787, T/L 553-8787 (Good Monday & Thursday)
>
>
>
>              "Grosso, Paul"
>              <pgrosso@ptc.com>
>
To
>              09/08/2008 02:01          "Ogden, Jeff" <jogden@ptc.com>
>              PM
cc
>                                        Robert D
>                                        Anderson/Rochester/IBM@IBMUS,
>                                        "Michael Priestley"
>                                        <mpriestl@ca.ibm.com>
>
Subject
>                                        RE: DITA 1.2 reviews of
Commonly
>                                        Referenced Attributes and
>                                        Specialization Elements
>
>
>
>
>
>
>
>
>
>
> I'm happy to step back from this.  Like I said, I've been speaking
> standardeze for too long.
>
> Per ftp://ftp.ietf.org/rfc/rfc2119.txt.:
>
> 3. SHOULD   This word, or the adjective "RECOMMENDED", mean that there
>    may exist valid reasons in particular circumstances to ignore a
>    particular item, but the full implications must be understood and
>    carefully weighed before choosing a different course.
> 5. MAY   This word, or the adjective "OPTIONAL", mean that an item is
>    truly optional.  One vendor may choose to include the item because
a
>    particular marketplace requires it or because the vendor feels that
>    it enhances the product while another vendor may omit the same
item.
> I have seen both standard writers and users point to a SHOULD and say
that
> an implementation that doesn't implement a SHOULD is less than
compliant
> if
> the only reason they didn't implement it is because "a particular
> marketplace requires it or because the vendor feels that it enhances
the
> product" (which is language from MAY above).
>
> paul
>
> From: Ogden, Jeff
> Sent:, Monday, 2008 September 08 13:50
> To: Grosso, Paul; 'Robert D Anderson'
> Cc: 'Michael Priestley'
> Subject: RE: DITA 1.2 reviews of Commonly Referenced Attributes and
> Specialization Elements
>
> Doesn't the difference between SHOULD and MUST cover this?  SHOULD is
> encouraging a particular behavior, but falls short of REQUIRING that
> behavior if the implementer has a good reason to do something
different.
> And we do want most implantations to produce an error message.
Certainly
> editors and composition processing should.
>
> I guess that some display time processing could omit messages.  I
don't
> have much experience with that sort of implementation and probably
have
> too
> much of an Editor or composition mindset.
>
> Given this discussion I am happy to leave the final decision to
Robert.
> I'll make sure that whatever he puts in the language reference and
> whatever
> I put in the Architecture Spec agree.
>
>    -Jeff
>
>
> From: Grosso, Paul
> Sent: Monday, September 08, 2008 2:38 PM
> To: Ogden, Jeff; 'Robert D Anderson'
> Cc: 'Michael Priestley'
> Subject: RE: DITA 1.2 reviews of Commonly Referenced Attributes and
> Specialization Elements
>
> I think I've been involved in "standardeze" for a decade or two too
long.
>
> If we do what you are suggesting here, then it seems we would need to
look
> at other cases where we use this wording and see if it should also
change.
>
> The wording as written was specifically designed to allow an
> implementation
> to realize that this is an error condition and bail which is what it
means
> to not give a message and not recover.  (By definition, not recovering
> from
> an error means to bail.)  So what you say "wouldn't be good" is
precisely
> one of the things that the current wording is trying to allow.
>
> And, on the other hand, the real point of having MAY instead of SHOULD
> regarding issuing error messages is that some implementations don't
want
> to
> bother the user with such messages and just want to quietly ignore the
key
> definition.  If you change it from MAY to SHOULD, then an
implementation
> whose philosophy is to be as liberal as possible in what it accepts
(like
> most HTML browsers tend to be--they certainly don't give error
messages
> for
> bad markup) could be considered "less than perfectly compliant" for
not
> doing what it "should".
>
> So that's why I think the current wording says what I think it should
say.
> But if we decide we want it to say something else, I can live with
that.
> I
> just don't want to think we're making simply editorial changes when I
> think
> we're really changing what we are saying.
>
> And, yes, I noted you were making other more important suggested
changes
> to
> which I have no objection.
>
> paul
>
>
>  From: Ogden, Jeff
>  Sent:, Monday, 2008 September 08 12:43
>  To: Grosso, Paul; 'Robert D Anderson'
>  Cc: 'Michael Priestley'
>  Subject: RE: DITA 1.2 reviews of Commonly Referenced Attributes and
>  Specialization Elements
>  I don't have a problem with "MAY (but need not)" in general.  And we
> would
>  still use the phrase in my suggested rewording. We'd just use it once
>  rather than twice.
>
>  I agree SHOULD is different from "MAY (but need not)". In this
specific
>  case I think SHOULD is better. If we stick with "MAY (but need not)"
for
>  both cases, in the extreme case an implementation could produce no
error
>  message and not recover. That wouldn't be good. And we are using
SHOULD
>  rather than MUST, so implementers still have some flexibility.
>
>  Using SHOULD isn't really a change in the spec. since this has never
been
>  included in the spec. before and the proposal wasn't specific about
error
>  recovery following the error.
>
>  And while I prefer SHOULD over "MAY (but need not)" here, I could
live
>  with either.
>
>  No matter how we end up with SHOULD vs. "MAY (but need not)", there
were
>  some other more important changes in the suggested wording (ignoring
key
>  references vs. ignoring key definitions).
>
>  I did miss one other item with my name on it.  I'll send a separate
>  message about that in a few minutes.
>
>      -Jeff
>
>
>  From: Grosso, Paul
>  Sent: Monday, September 08, 2008 1:02 PM
>  To: Ogden, Jeff; 'Robert D Anderson'
>  Cc: 'Michael Priestley'
>  Subject: RE: DITA 1.2 reviews of Commonly Referenced Attributes and
>  Specialization Elements
>
>  Regarding the "may but need not" language, we've used that in the
spec in
>  a variety of places (and it's in DITA 1.1 too).  (In fact, I believe
I
>  stole that language from the XSL spec.)  It's never seemed unclear to
me.
>  The second "may but need not" modifies the immediately following word
>  "recover", and the "by ignoring" is how one recovers.  I don't see
that
>  that wording needs changing.
>
>  SHOULD is different from MAY as far as RFC 2119 is concerned, so if
we go
>  that route, we are changing the spec.
>
>  There was also another "I think Jeff and/or Michael need to clarify."
>  point below.  Jeff, did you have any comments on that, or does your
first
>  response below cover that point too?
>
>  paul
>
>
>   From: Ogden, Jeff
>   Sent:, Monday, 2008 September 08 11:46
>   To: Grosso, Paul; 'Robert D Anderson'
>   Cc: 'Michael Priestley'
>   Subject: RE: DITA 1.2 reviews of Commonly Referenced Attributes and
>   Specialization Elements
>   Some responses to comments that seemed to have my name on them.
>
>       -Jeff
>
>   >> Re: the required behavior "Keys are defined in maps and not in
>   topics."
>   >> This is present because it was listed as one in the keyref
proposal.
>   >> I think it was intended to highlight the requirement, but I'm not
> sure
>   >> whether it should be removed or modified.
>
>   >As I indicated in my comments, I'm not sure either.  I think Jeff
and
>   >Michael need to discuss.
>
>   This was included in the proposal to help make it clear to members
of
> the
>   TC who read the proposal how things worked, but I don't think it
needs
> to
>   stay and certainly not in the same form as the proposal.
>
>   I think this could come out of the language reference and I'll
include
>   the information in the Architecture Spec.
>
>   > >  It is an error for a key reference to occur along with with
href
>   > >  or conkeyref attributes on topicref elements that reference
maps
>   > >  or portions of maps that define keys. In such a case, an
>   > >  implementation may (but need not) give an error message, and
may
>   > >  (but need not) recover from this error condition by ignoring
the
>   > >  key reference.
>   > >
>   > > I have only left this item open because I think this may be the
same
>   > > item on which Jeff helped create new wording a few weeks ago,
and I
>   > > want to make sure I did not lose that.
>   >
>   > Jeff?
>
>   We need to change "href" to "keyref". Rereading this now, I think it
is
> a
>   little unclear.  What is the second "may (but need not)" referring
to?
>   May (but need not) recover? May (but need not) ignore the key
reference?
>   I think it is the key definitions in the referenced map rather than
the
>   key references that MUST be ignored. Not completely sure how to word
> this
>   so that it is clear.  And I wonder if we should mandate things a bit
> more
>   here.
>
>   Perhaps something like this would work:
>
>         It is an error for key references (the keyref and conkeyref
>         attributes) to be used on topicref elements or specializations
> that
>         reference maps or portions of maps when the referenced maps
define
>         keys. In such cases the key definitions from the referenced
maps
>         are not used, an implementation SHOULD give an error message,
and
>         MAY (but need not) recover from the error condition by
ignoring
> the
>         key definitions.
>
>      -Jeff
>
>
>   > -----Original Message-----
>   > From: Grosso, Paul
>   > Sent: Monday, September 08, 2008 10:37 AM
>   > To: Robert D Anderson
>   > Cc: Ogden, Jeff
>   > Subject: RE: DITA 1.2 reviews of Commonly Referenced Attributes
and
>   > Specialization Elements
>   >
>   >
>   >
>   > > -----Original Message-----
>   > > From: Robert D Anderson [mailto:robander@us.ibm.com]
>   > > Sent: Friday, 2008 September 05 17:22
>   > > To: Grosso, Paul
>   > > Cc: Ogden, Jeff; Grosso, Paul
>   > > Subject: RE: DITA 1.2 reviews of Commonly Referenced
>   > > Attributes and Specialization Elements
>   > >
>   > > Hi Paul - just an FYI that I got to most of the comments
>   > > today. I listed
>   > > all of them (aside from a few comma typos) on the wiki page:
>   > > http://wiki.oasis-
>   > open.org/dita/Language_specification_comments_from_Paul_Grosso
>   > >
>   > > There are a couple that I'm still unsure of
>   >
>   > Here are my comments on the unresolved ones:
>   >
>   > > For image/@align, suggestion that we remove the "(processor
>   validated)
>   > > values left, right, center, or current". Agreed that it is not
good
>   > > as it stands - but I wonder if common values should still be
listed?
>   > > For example, "Common values include left, right, and center" in
>   order)
>   > > to give processors an idea of what to expect? Or leave it out
>   entirely?
>   >
>   > My first question would be, why can't this be an enumerated type?
>   > How many kinds of alignment do we need?  In most DTDs (e.g., CALS,
>   > DocBook), such an attribute would have its allowable values,
>   > enumerated.  Why couldn't we have left, right, center, and
>   > -dita-use-conref-target?
>   >
>   > If we need to keep it #CDATA, then I'm fine with deleting the text
>   > that is there and saying "Common values include left, right, and
>   center".
>   >
>   > > Used the suggested re-wording for %display-atts; -- but does
anybody
>   > > know how / why the display attributes scale/frame/expanse would
>   affect.
>   > > the selection of a topic by search tools? It says that now but
the
>   > > entity set is typically used by items like <fig> and <image>,
not by
>   > > topics, and I'm unclear what the description means.
>   >
>   > Good point.  I'd delete "or its selection by search tools".
>   >
>   > > I'm not sure about updating the @format description to say it is
>   > > unavailable in topicref-atts-without format; same issue for the
>   > > default of @type with topicref-atts-without-format. Those
> definitions
>   > > are reused many times, including several cases where they are
not
>   > > part of any entity group. I wonder whether a <note> above the
table
>   > > would be a better way to highlight the issue? The review
comments
>   > > already suggest removing similar language - perhaps we could
> simplify
>   > > it and turn it from <p> into <note>.
>   >
>   > Given we're talking mostly an editorial issue rather than a
>   > technical one, I'm willing to give you editor's privilege to
>   > come up with something you think works.  If, when I see it,
>   > I can suggest something I think it better, I'll do so, but as
>   > long as I don't think it is confusing, I'll probably be happy.
>   >
>   > > Re: the required behavior "Keys are defined in maps and not in
>   topics."
>   > > This is present because it was listed as one in the keyref
proposal.
>   > > I think it was intended to highlight the requirement, but I'm
not
>   > > sure whether it should be removed or modified.
>   >
>   > As I indicated in my comments, I'm not sure either.  I think
>   > Jeff and Michael need to discuss.
>   >
>   >
>   > > For the item "An href attribute in a key definition is resolved
>   > > relative to ..." - I've used the suggested rewording, rather
than
>   > > removing the point, as this issue has been a point of confusion
>   > > in the past.
>   >
>   > Fine.
>   >
>   > > For this item and comment: "Key definitions, once made, cannot
be
>   > > redefined. Given the previous list item, maybe we should say
"cannot
>   > > be redefined within the same map", since they can clearly be
>   redefined
>   > > in other maps." I'm not sure of the point of this item (it came
from
>   > > the proposal) - it either means that they cannot be redefined in
the
>   > > same map, or that once it is established for a given situation
it
>   > > cannot be redefined (also true), or both. Hoping that Jeff can
help
>   > > clarify the wording.
>   >
>   > I think Jeff and/or Michael need to clarify.
>   >
>   > > For the final point in the key requirements, as suggested, I've
>   > > changed the wording from
>   > >
>   > >  Key references are not allowed on and will be treated as an
error
>   > >  if used with href or conkeyref attributes on topicref elements
>   > >  that reference maps or portions of maps that define keys.
>   > >
>   > > to
>   > >
>   > >  It is an error for a key reference to occur along with with
href
>   > >  or conkeyref attributes on topicref elements that reference
maps
>   > >  or portions of maps that define keys. In such a case, an
>   > >  implementation may (but need not) give an error message, and
may
>   > >  (but need not) recover from this error condition by ignoring
the
>   > >  key reference.
>   > >
>   > > I have only left this item open because I think this may be the
same
>   > > item on which Jeff helped create new wording a few weeks ago,
and I
>   > > want to make sure I did not lose that.
>   >
>   > Jeff?
>   >
>   > paul?



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