DR-17-0010: VML: Attribute examples

MURATA Makoto eb2m-mrt at asahi-net.or.jp
Sun Nov 5 04:32:22 CET 2017


Folks,

I studied each attribute group in vml-main.xsd.  I think that
factorization for AG_Adj, AG_ImageAttributes, AG_Path,
and AG_Type does not have enough advantages.

AG_Adj
Defines 1 attribute. Referenced 2 times.
AG_ImageAttributes
Defines 10 attribute. Referenced 2 times.
AG_Path
Defines 1 attribute. Referenced 2 times.
AG_Type
Defines 1 attribute. Referenced 1 time.

I propose to introduce 19.1.4 and define 12
attribute groups there.

19.1.4 Attribute Groups
19.1.4.1 General
19.1.4.2 AG_AllCoreAttributes
19.1.4.3 AG_AllShapeAttributes
19.1.4.4 AG_Chromakey
19.1.4.5 AG_CoreAttributes
19.1.4.6 AG_Ext
19.1.4.7 AG_Fill
19.1.4.8 AG_Id
19.1.4.9 AG_OfficeCoreAttributes
19.1.4.10 AG_OfficeShapeAttributes
19.1.4.11 AG_ShapeAttributes
19.1.4.12 AG_StrokeAttributes
19.1.4.13 AG_Style

Regards,
Makoto

2017-08-15 13:02 GMT+09:00 MURATA Makoto <eb2m-mrt at asahi-net.or.jp>:

> 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
>



-- 

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/20171105/c8ea46cd/attachment-0001.html>


More information about the sc34wg4 mailing list