DR-17-0010: VML: Attribute examples

MURATA Makoto eb2m-mrt at asahi-net.or.jp
Tue Aug 15 06:02:34 CEST 2017


Dear colleagues,

In prose, attribute groups are simply expanded and then documented.
Thus, attributes defined in attribute groups are duplicated several times,
in both Parts 1 and 4.  Refactoring in Part 1 will eliminate 100 attribute
definitions.  Refactoring in Part 4 (VML) (in reply to this DR) will
eliminate
611 attribute definitions.

I plan to submit 3 DRs for 1), 2), and 3), (see below).  Avoiding
duplication
is nice, but part 1 refactoring will not remove many pages (less than 20
pages, I guess).

Since VML attributes contain diagrams, these attributes significantly
increase the number of pages.  By deleting all VML common attributes,
we can remove 360 pages from Part 4.  Of course, we need new
subclauses for defining attribute groups.  But I am pretty sure
that more than 300 pages can be removed from Part 4.  I thus think
that addressing this DR by refactoring makes a lot of sense.


1) Attribute groups in DrawingML

Even when attributes are defined by attribute groups, existing
prose of ISO/IEC 29500-1 does not mention attribute groups.  As
a result, some attributes are repeated several times.  This DR
considers such repetition in DrawingML.

If we create a new subclause for each attribute group and reference if
from element definitions, we can remove 72 rows from attribute tables
from existing clauses and introduce 26 attribute rows in new
subclauses.  Additionally, we need 6 subclause titles and 5 header
rows in new subclauses.

dml-diagram.xsd:  <xsd:attributeGroup name="AG_IteratorAttributes">
Defines 6 attributes
Referenced 3 times

dml-diagram.xsd:  <xsd:attributeGroup name="AG_ConstraintAttributes">
Defines 4 attributes
Referenced 2 times

dml-diagram.xsd:  <xsd:attributeGroup name="AG_ConstraintRefAttributes">
Defines 4 attributes
Referenced 1 time

dml-main.xsd:  <xsd:attributeGroup name="AG_Blob">
Defines 2 attributes
Referenced 1 time

dml-main.xsd:  <xsd:attributeGroup name="AG_Locking">
Defines 10 attributes
Referenced 4 times

2) Attribute groups in PML

Even when attributes are defined by attribute groups, existing
prose of ISO/IEC 29500-1 does not mention attribute groups.  As
a result, some attributes are repeated several times.  This DR
considers such repetition in PML.

If we create a new subclause for each attribute group and reference if
from element definitions, we can remove 28 rows from attribute tables
from existing clauses and introduce 10 attribute rows in new
subclauses.  Additionally, we need 4 subclause titles and 3 header
rows in new subclauses.

pml.xsd:  <xsd:attributeGroup name="AG_TLBuild">
Defines 3 attributes
Referenced 4 times

pml.xsd:  <xsd:attributeGroup name="AG_Ole">
Defines 5 attributes
Referenced 2 times

pml.xsd:  <xsd:attributeGroup name="AG_ChildSlide">
Defines 2 attributes
Referenced 3 times

3) Attribute groups in SML

Even when attributes are defined by attribute groups, existing
prose of ISO/IEC 29500-1 does not mention attribute groups.  As
a result, some attributes are repeated several times.  This DR
considers such repetition in SML.

If we create a new subclause for each attribute group and reference if
from element definitions, we can remove 42 rows from attribute tables
from existing clauses and introduce 10 attribute rows in new
subclauses.  Additionally, we need 3 subclause titles and 2 header
rows in new subclauses.

sml.xsd:  <xsd:attributeGroup name="AG_RevData">
Defines 3 attributes
Referenced 7 times

sml.xsd:  <xsd:attributeGroup name="AG_AutoFormat">
Defines 7 attributes
Referenced 3 times

4) Attribute groups in WML

Even when attributes are defined by attribute groups, existing
prose of ISO/IEC 29500-1 does not mention attribute groups.  As
a result, some attributes are repeated several times.  This DR
considers such repetition in WML.

If we create a new subclause for each attribute group and reference if
from element definitions, we can remove 12 rows from attribute tables
from existing clauses and introduce 8 attribute rows in new
subclauses.  Additionally, we need 3 subclause titles and 2 header
rows in new subclauses.

wml.xsd:  <xsd:attributeGroup name="AG_Password">
Defines 4 attributes
Referenced 1 time

wml.xsd:  <xsd:attributeGroup name="AG_SectPrAttributes">
Defines 4 attributes
Referenced 2 times

4) Attribute groups in VML

Even when attributes are defined by attribute groups, existing
prose of ISO/IEC 29500-4 does not mention attribute groups.  As
a result, some attributes are repeated several times.  This DR
considers such repetition in WML.

If we create a new subclause for each attribute group and reference if
from element definitions, we can remove 708 rows from attribute tables
from existing clauses and introduce 96 attribute rows in new
subclauses.  Additionally, we need 97 subclause titles and 96 header
rows in new subclauses.

vml-main.xsd  <xsd:attributeGroup name="AG_Id">
Defines 1 attribute
Referenced 8 times
vml-main.xsd  <xsd:attributeGroup name="AG_Style">
Defines 1 attribute
Referenced 2 times
vml-main.xsd  <xsd:attributeGroup name="AG_Type">
Defines 1 attribute
Referenced 1 time
vml-main.xsd  <xsd:attributeGroup name="AG_Adj">
Defines 1 attribute
Referenced 2 times
vml-main.xsd  <xsd:attributeGroup name="AG_Path">
Defines 1 attribute
Referenced 2 times
vml-main.xsd  <xsd:attributeGroup name="AG_Fill">
Defines 2 attributes
Referenced 2 times
vml-main.xsd  <xsd:attributeGroup name="AG_Chromakey">
Defines 1 attribute
Referenced 2 times
vml-main.xsd  <xsd:attributeGroup name="AG_Ext">
Defines 1 attribute
Referenced 18 times
vml-main.xsd  <xsd:attributeGroup name="AG_CoreAttributes">
Defines 9 attributes and inherit 2 attributes.
Inherited by AG_AllCoreAttributes
vml-main.xsd  <xsd:attributeGroup name="AG_ShapeAttributes">
Defines 5 attributes and inherit 3 attributes
Referenced 1 time
vml-main.xsd  <xsd:attributeGroup name="AG_OfficeCoreAttributes">
Defines 23 attributes
Referenced 1 time
vml-main.xsd  <xsd:attributeGroup name="AG_OfficeShapeAttributes">
Defines 11 attributes
Referenced 1 time
vml-main.xsd:  <xsd:attributeGroup name="AG_AllCoreAttributes">
Inherit 34 attributes
Referenced 11 times
vml-main.xsd:  <xsd:attributeGroup name="AG_AllShapeAttributes">
Inherit 19 attributes
Referenced 10 times
vml-main.xsd:  <xsd:attributeGroup name="AG_ImageAttributes">
Defines 10 atributes
Referenced 2 times
vml-main.xsd:  <xsd:attributeGroup name="AG_StrokeAttributes">
Defines 28 attributes
Referenced 1 time


Regards,
Makoto

2017-04-08 7:16 GMT+09:00 MURATA Makoto <eb2m-mrt at asahi-net.or.jp>:

> Rex,
>
> I think that the remaining task for option #3 is very small, and I
> presume that new implementations cannot always avoid
> Transitional.
>
> 29500-4 repeats attributes too often.  I think that this repetition
> makes the standard less readable.  Note that no other attributes
> are repeated in OOXML.  It is only VML attributes that are
> repeated.
>
> Which part of the remaining task for option #3
> needs big efforts?
>
> Regards,
> Makoto
>
> 2017-04-08 3:15 GMT+09:00 Rex Jaeschke <rex at rexjaeschke.com>:
>
>> In private mail to Murata-san back in January, I identified the following
>> three options for addressing this DR, listed here in increasing amount of
>> effort:
>>
>> 1.      Do nothing. [No effort]
>> 2.      Look at each of the 300+ examples and change them to have the
>> appropriate parent element. [Some effort]
>> 3.      Look at removing the duplicate specification of all these
>> attributes, by putting them in their own subclause and having the parent
>> elements point there. (As I think there are other attribute groups used in
>> multiple contexts, this option wouldn't make sense unless one
>> rearranged/consolidated all such groups.) [A big effort]
>>
>> As indicated in the DR log, Murata-san supports Option #3.
>>
>> After considerable discussion with MS experts, I and MS favor Option #1.
>> As
>> is, the spec is good enough even if it's not strictly correct; in any
>> event,
>> examples are informative, not normative. No implementer has reported this
>> as
>> a problem, so it's not holding up anyone w.r.t conformance, and we presume
>> new implementers aren't implementing Transitional stuff. We have more
>> important issues to deal with, so we propose closing this DR without
>> action.
>>
>> Rex
>>
>>
>
>
> --
>
> Praying for the victims of the Japan Tohoku earthquake
>
> Makoto
>



-- 

Praying for the victims of the Japan Tohoku earthquake

Makoto
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.vse.cz/pipermail/sc34wg4/attachments/20170815/546afe1e/attachment.html>


More information about the sc34wg4 mailing list