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] referencing a bookmap from a map


Michael wrote:

> What if we preserve semantics, but in a way that processors can distinguish

> between ones that are guaranteed valid (ie schema-supplied) versus ones that

> aren't (ie derived from other schemas). Then a processor that is simply doing

> class-based matching can't be fooled into accepting invalid content, but a

> processor that wants to do more isn't prevented.

This would work fine.

 

It could apply to both the generic to specialized case and to the specialized to the generic case.

 

At PTC we currently do pretty much this using a combination of @class and a new attribute we add (@atirds:mapelement), but we’d benefit from formalizing what we do since what we do now was developed in a pretty ad hoc fashion.  

 

I don’t think we want to say what attribute to use, just that the appropriate properties should be available for use during processing in a fashion that makes sense for the given implementation.  I suspect that we might want to provide a list to provide more information, so to extend your example

 

     mapcontext=”topicref chapter” or mapcontext=”chapter topicref”

 

Are the properties element based or should we be thinking of something that is more like the class attribute tokens?

 

   mapcontext=” map/topicref bookmap/chapter “  or mapcontext=” bookmap/chapter map/topicref “

 

Or is this just an implementation detail that the specification doesn’t need to worry about?

 

   -Jeff

 

 


From: Michael Priestley [mailto:mpriestl@ca.ibm.com]
Sent: Tuesday, June 16, 2009 1:40 PM
To: Ogden, Jeff
Cc: dita
Subject: RE: [dita] referencing a bookmap from a map

 


Hi Jeff,

>We’ve got two choices (wants vs. doesn’t want or overrides vs. doesn’t override) and we seem to need
>to pick one or the other.  Either way we are left with the same question, how does an author pick
>the other choice. One solution is to provide an explicit way for the user to make the choice.  
>The other way is to define a set of rules that effectively says that it isn’t reasonable to make the
>other choice and so we won’t allow it or more likely that we won’t make it easy.

Good summary. I think there's a potential third solution - it may be stupid, I'm just thinking this through.

What if we preserve semantics, but in a way that processors can distinguish between ones that are guaranteed valid (ie schema-supplied) versus ones that aren't (ie derived from other schemas). Then a processor that is simply doing class-based matching can't be fooled into accepting invalid content, but a processor that wants to do more isn't prevented.

For example: topicref to chapter gets resolved to topicref with outputclass="chapter" . Then a bookmap processor that knows what's coming can handle it, and one that doesn't, isn't hit.

Not suggesting that's how to write it up in the spec - just trying to figure out a way to meet both reqs.

Michael Priestley, Senior Technical Staff Member (STSM)
Lead IBM DITA Architect
mpriestl@ca.ibm.com
http://dita.xml.org/blog/25


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

06/16/2009 12:47 PM

To

Michael Priestley/Toronto/IBM@IBMCA

cc

"dita" <dita@lists.oasis-open.org>

Subject

RE: [dita] referencing a bookmap from a map

 

 

 




Comments below.
 
   -Jeff
 

 



From: Michael Priestley [mailto:mpriestl@ca.ibm.com]
Sent:
Tuesday, June 16, 2009 12:12 PM
To:
Ogden, Jeff
Cc:
dita
Subject:
RE: [dita] referencing a bookmap from a map

 

>What happens by default shouldn’t matter to the DITA specification.  The 1.1 specification is
>entirely silent about these sorts of details. You can sort of guess from the names and some
>of the element descriptions, but that is all you are doing. I think the 1.2 specification
>should remain silent on these sorts of details.

 
So what is 12055 doing? Are those required behaviors, or just suggested, or something else?


I’m not sure.  I think of it as a requirement, that if you use a chapter to reference a topicref that the topicref MUST be treated as a chapter.
 
But 12055 allows for exceptions, but doesn’t say how exceptions are defined or recognized or even who makes the exceptions (the specification author, the DTD author, the processing implementer, the map author, …). So what is a requirement that allows exceptions? Is that still a requirement or a suggestion or something else? I have no idea.

To clarify:


- I'm suggesting behavior only for aggregating processes - not every possible map process

 
I understand and agree.

- I'm suggesting behavior that would be a default, not a requirement.

 
I don’t know what this means.  Can a vendor deliver non-default behavior out of the box?  Is it just that the default behavior has to be available somehow upon request?
 
Or to move this into standards language is this something that is required (MUST), strongly recommended (SHOULD), or allowed (MAY)?
 
 
 I'd actually be happy with being parallel to whatever strength we put behind 12055. Just as long as we're consistent.
- as Robert Anderson noted, if we're going to specify that a <chapter> reference to a bookmap should resolve into a set of <chapter> references to the bookmap's parts, then we should have the same level of specification for what  a <topicref> does (and I think it should do something parallel)

 
I usually push for consistency. 12055 doesn’t directly address this case and so we would be consistent if we said that specialized topic references override generic topic references. And I think that that gives a better result than saying that the referencing topic reference override the referenced topic reference.

- otherwise, how does a user get rid of semantics that don't make sense for the reusing context? for example, a writer reusing a bookmap into an Eclipse TOC who doesn't want "chapter xxx" generated.

 
Going with the referencing overrides referenced approach doesn’t answer the question. You still need to ask “how does a user get rid of semantics that don’t make sense for the reusing context? For example, a writer reusing a bookmap into an Eclipse TOC that does want “chapter xxx” generated.”
 
We’ve got two choices (wants vs. doesn’t want or overrides vs. doesn’t override) and we seem to need to pick one or the other.  Either way we are left with the same question, how does an author pick the other choice. One solution is to provide an explicit way for the user to make the choice.  The other way is to define a set of rules that effectively says that it isn’t reasonable to make the other choice and so we won’t allow it or more likely that we won’t make it easy.

Michael Priestley, Senior Technical Staff Member (STSM)
Lead IBM DITA Architect
mpriestl@ca.ibm.com
http://dita.xml.org/blog/25



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