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] DITA v1.2 Review | Propagating attribute values


Bruce has it right: if an element specifies both @keyref and @href and the
key reference can be resolved to a resource, then the @href is ignored.

Cheers,

E.

On 8/26/10 10:20 AM, "Bruce Nevin (bnevin)" <bnevin@cisco.com> wrote:

> 
> 
> I'm confused. I may be completely misunderstanding what you're saying,
> Chris, but here's my understanding.
> 
>> [...] if I have both @href and
>> @keyref on an element, and the key definition also has an
>> @href, the @href on the reference wins?  Or is @href an
>> exception?  And if @href is an exception, then shouldn't
>> @scope, @format, and @type be also?
>> 
>> Say you had this xref:
>> 
>> <xref keyref="website" scope="external" format="html"
>> href="http://www.oasis-open.org";>website</xref>
>> 
>> Is there no way to change where this xref points by defining
>> 'website'? If that's the case, then the language in the spec
>> about falling back to the href on the referencing element is
>> probably irrelevant.
> 
> In my simple brain I thought that "the @href on the referencing element"
> that also has a @keyref is _always_ irrelevant unless the definition of
> the key name fails to resolve to a resource. It's a fallback. That's
> what "the language in the spec about falling back to the href on the
> referencing element" means. It's at 2.1.3.4.3.2 "Using keys to address
> DITA elements":
> 
>         If both @keyref and @href attributes are specified
>         on an element, the @href value must be used as a
>         fall-back address when the key name is undefined,
>         and should be used as a fall-back address when the
>         key name is defined but the key reference cannot
>         be resolved to a resource.
> 
> I'm not sure where the generalization "the reference wins" comes from.
> Several references are in play here. The @href on the referring element
> 'wins' only if the reference specified in the key definition fails.
> 
> In your example above, the key name "website" is set to the @href
> reference given in the effective <keydef> or <topicref> that defines
> that key name. If you want to change what it points to, you include the
> topic that contains that <xref> in a map in which some other definition
> of the key name "website" comes first. If you move it to a map in which
> the key name "website" is not defined, or if for some other reason that
> key name does not resolve to a URI, then the <xref> resolves to
> href="http://www.oasis-open.org"; (the @href in the referring element) as
> a fallback.
> 
>> The spec also states [at 2.1.3.4.3.3 "Processing key references"]:
>> 
>> ====
>> When a key definition has no @href value and no @keyref
>> value, references to that key will not result in a link, even
>> if they do contain an @href attribute of their own.
>> ====
>> 
>> Is this a special case? It seems to run counter to the idea
>> that the referencing element wins.
> 
> A reference to that key is a reference to null. If you include the topic
> with your example <xref> in a map in which the key name "website" refers
> to null, then there is no link at that location in output. Further, if
> empty elements in that topic use @keyref with that key name to pull in
> content, then in this map where the key name "website" refers to null
> those elements are dropped from output. I don't remember, but I bet
> there was discussion of use cases for this behavior.
> 
> The language here (2.1.3.4.3.3 Processing key references) clouds the
> distinction between the referring element and the references (@keyref,
> @href, etc.) that the referring element contains. This is how the spec
> reads now:
> 
>         When a key definition has no @href value and no @keyref value,
>         references to that key will not result in a link, even if they
>         do contain an @href attribute of their own.
> 
> The word "they" is ambiguous. This is how I think it should read:
> 
>         When a key definition has no @href value and no @keyref value,
>         references to that key will not result in a link, even if the
>         referring element contains an @href attribute of its own.
> 
> If I'm out to lunch here, I expect to be corrected in short order, but I
> think I'm understanding this correctly.
> 
>         /Bruce
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe from this mail list, you must leave the OASIS TC that
> generates this mail.  Follow this link to all your TCs in OASIS at:
> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
> 

-- 
Eliot Kimber
Senior Solutions Architect
"Bringing Strategy, Content, and Technology Together"
Main: 512.554.9368
www.reallysi.com
www.rsuitecms.com



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