OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

office message

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

Subject: draw:id (herein of ids and indexes)


Something I ran across yesterday:

> The |draw:id| attribute assigns an ID to a drawing shape, glue point, 
> or a drawing page.
OK, and when you run draw:id down, it resolves to type = ID (an xml:id).

So far, so good.

But, then we say:

> The assigned ID for a glue point occurs within the 
> |draw:start-glue-point| and |draw:end-glue-point| attributes of a 
> |<draw:connector>| element. The Ids 0 to 3 are reserved for the 4 
> standard glue points that most drawing objects have. The glue points 
> are numbered clockwise, starting at the top left corner of the shape.
> *Note:* The IDs assigned to glue points are not unique.
Not so good.

Contradicts the notion of an xml:id and should give a parsing error if 
processed with an XML parser.

I think what was wanted for the glue points was an *index* value, which 
only has to be unique in a context, that is for every drawing object you 
could have index values of 0 to 3.

I mentioned another case where we use indexes yesterday, on data series 
for charts. Note that those indexes start with 1. As part of a larger 
cleanup we really should have all indexes start with 0 or 1 but have it 
uniform for all indexes in ODF.

Since we confuse ID and index in draw:id, I am not really sure what to 
propose as a fix.

I suppose we could simply add an index attribute to the appropriate glue 
point elements but to complete that "fix" we will have to disallow id on 
them. Yes?

I am surprised this hasn't come up before now since any standard XML 
parser should have thrown an error on the re-use of an id.

Hope everyone is at the start of a great day!


Patrick Durusau
Chair, V1 - US TAG to JTC 1/SC 34
Convener, JTC 1/SC 34/WG 3 (Topic Maps)
Editor, OpenDocument Format TC (OASIS), Project Editor ISO/IEC 26300
Co-Editor, ISO/IEC 13250-1, 13250-5 (Topic Maps)

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