Re: [dita] Conref range: Is constraint on last member of range necessary oruseful?

From
Michael Priestley <>
Date
2011-02-10T13:25:51+00:00
ID
Thread
Re: [dita] Conref range: Is constraint on last member of range necessary oruseful?
Hi Eliot,

Re:

>2. It is possible to define sequence content models
that allow a given type

>to occur in multiple places within the sequence but that allows different

>following siblings. 

I don't believe that's true. See:

http://www.w3.org/TR/2000/REC-xml-20001006#determinism

The current design requires matching
start/end elements explicitly to leverage determinism.

Michael Priestley, Senior Technical
Staff Member (STSM)

Lead IBM DITA Architect 



http://dita.xml.org/blog/25

From:
Eliot Kimber <>

To:
dita <>

Date:
02/10/2011 08:03 AM

Subject:
[dita] Conref range: Is constraint on
last member of range necessary or useful?

I'm writing up my explanation of conref range for
my book and in explaining

the rule that the first and last elements of the range must be the same
type

but intermediate members need not not be, it occurs to me that there's

really no point in having the constraint on the last member of the range.

Since I obviously didn't think about this too much at the time the mechanism

was proposed, I'm wondering if there was more thinking behind the constraint

than is evident from the language of the spec itself.

My questioning of the value of the constraint comes from this analysis:

1. The requirement that the referencing and referenced elements have

compatible parent elements ensures that the start element of the range
is

valid in the referencing context.

2. It is possible to define sequence content models that allow a given
type

to occur in multiple places within the sequence but that allows different

following siblings. This means that the referencing element could refer
to a

range that is inconsistent with the sequence rules in the referencing

context. Since this case is not explicitly disallowed, it must not be a

concern. This means that strict DTD validity of the conref result cannot
be

ensured in the general case and there is no general requirement to ensure

it.

Likewise, since there are not constraints on the intermediate members beyond

common parentage, there must be no general concern about DTD validity of
the

resolved result.

3. Given (2) it can't possibly help to require the last member of a sequence

to be the same as the start since it cannot make the result more valid.

4. Requiring that the start and end of the range be the same disallows
use

of conref range for referencing sequences where the content model does
not

allow the initial type to occur at the end of the range.

For example, say you have a specialized topic type that defines a set of

distinct specializations of <section> and puts them in a specific
order. It

would be impossible to use conref range to re-use the sequence of sections

from another topic of the same type even though the result must be DTD

valid.

Thus, the requirement seems to be both unnecessary (it doesn't help ensure

correctness or sensibility of the conref result) and it disallows legitimate

cases.

Perhaps for 1.3 we should consider removing this constraint.

Cheers,

E.

-- 

Eliot Kimber

Senior Solutions Architect

"Bringing Strategy, Content, and Technology Together"

Main: 512.554.9368

www.reallysi.com

www.rsuitecms.com

---------------------------------------------------------------------

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