DR 13-0004 and extLst vs. ext

John Haug johnhaug at exchange.microsoft.com
Tue May 14 22:13:56 CEST 2013


But since extLst is the extension element and not ext, Office doesn't look at ext because it's inside the extension element.  So, no error raised for ext.

Right?

-----Original Message-----
From: eb2mmrt at gmail.com [mailto:eb2mmrt at gmail.com] On Behalf Of MURATA Makoto
Sent: Tuesday, May 14, 2013 5:08 AM
To: SC 34 WG4
Subject: Re: DR 13-0004 and extLst vs. ext

No, your interpretation does not explain why my experiment caused a failure for @MustUnderstand at extLst but not on ext.

Suppose ext is an app-defined ext element.  In your interpretation, its @MustUnderstand is examined and an error should be raised.
But it is not raised.

Regards,
Makoto

2013/4/10 John Haug <johnhaug at exchange.microsoft.com>:
> Not sure how far into talking about this Murata-san was dropped from 
> the call.  What I was saying, in short: A preprocessor could process 
> MCE attributes on an extension element and ignore the contents of the 
> extension element, or it could ignore MCE attributes on the extension element itself.
> It seems reasonable to me (I'll check the intent with the MCE people 
> here) that if the preprocessor is looking at an extension element it 
> probably processes the MCE attributes on it, but ignores the contents.  
> That would explain why Murata-san's MustUnderstand experiment caused a 
> failure when it was on extLst but not on ext.
>
>
>
> I think the most relevant thing is Part 1, section 10.1.2 which refers 
> to extLst, not ext.
>
>
>
> From: John Haug [mailto:johnhaug at exchange.microsoft.com]
> Sent: Tuesday, March 12, 2013 5:37 PM
> To: 'SC 34 WG4'
> Subject: DR 13-0004 and extLst vs. ext
>
>
>
> We discussed DR 13-0004 on today's call and I summarized what I found 
> from talking to someone on our team.  I offered to share the info I 
> obtained, so here it is, below.
>
>
>
> John
>
>
>
> From: Dan
> To: John Haug
> Subject: RE: extLst vs. ext
>
>
>
> Both are in the application namespace as far as I know.
>
>
>
>                                                             <a:blip 
> r:embed="rId5" r:link="rId6">
>
>                                                                 
> <a:extLst>
>
>                                                                     
> <a:ext uri="{28A0092B-C50C-407E-A947-70E740481C1C}">
>
>
> <a14:useLocalDpi val="0"
> xmlns:a14="http://schemas.microsoft.com/office/drawing/2010/main"/>
>
>                                                                     
> </a:ext>
>
>                                                                 
> </a:extLst>
>
>                                                             </a:blip>
>
>
>
> And I would have expected a MustUnderstand on an extLst and an ext to 
> cause a parse error.
>
>
>
> -dan
>
>
>
> ________________________________
>
> From: John Haug
> To: Dan
> Subject: RE: extLst vs. ext
>
> Sorry for the choppy mail access - I'm in Denmark at the moment.
>
>
>
> Hm.  The short version of what we're trying to do is: As part of the 
> revision to MCE, they're introducing a flexible way to specify 
> explicitly which elements are app-defined extension elements.  In 
> order to preserve backward-compat, we're going to list the Part 1 & 
> Part 4 (Strict & Transitional - core Word/PPT/XL Open XML markup) 
> extension elements
> (fully-qualified) as a hard-coded snapshot in time (e.g., 
> http://schemas.openxmlformats.org/drawingml/2006/chart:ext).  So, we 
> need to make sure we have right whether it's extLst or ext! J
>
>
>
> Someone did a test with Office by adding a MustUnderstand="foo" to a 
> trivial file created in Office that contained an extLst/ext.  It was 
> effectively ignored on the ext (file opened without complaint) but 
> file open failed when it was on extLst.  So, his conclusion was that 
> ext is the extension element, as far as an MCE processor is concerned.
>
>
>
> From: Dan
> To: John Haug
> Subject: RE: extLst vs. ext
>
>
>
> My MCE processor has a notion of "turn off / pass through everything".
> Internally, it uses this when processing an untaken Choice. Similarly, 
> when the application encounters an ext they don't understand, they 
> invoke this mode so the ext is passed through as-is so they can round-trip it.
>
>
>
> -dan
>
>
>
> ________________________________
>
> From: John Haug
> To: Dan
> Subject: RE: extLst vs. ext
>
> So does your MCE processor not have a notion of handling extension elements?
> By definition, extension elements are not part of the MCE namespace 
> and are defined by the markup language that uses MCE.
>
>
>
> From: Dan
> To: John Haug
> Subject: RE: extLst vs. ext
>
>
>
> My preprocessor knows nothing about extList, it's just a passthrough 
> same as <circle> or <text>.
>
>
>
> extLst and ext are part of the application namespace, not the MCE namespace.
> The application processes the <extLst> and each <ext> to decide 
> whether to understand them.
>
>
>
> Now, that is an implementation detail. A preprocessor could accept a 
> list of qualified names that are extList elements and a list of 
> understood uris, and automatically filter them out like we do for ACBs.
>
>
>
> -dan
>
>
>
> ________________________________
>
> From: John Haug
> To: Dan
> Subject: RE: extLst vs. ext
>
>
>
> Hah, I'll bet nobody would expect that!  Hm, not sure what impact that 
> will have.  Does the preprocessor stop on extLst and hand that off to 
> the app, or ext? That might be the distinction.
>
>
>
> From: Dan
> To: John Haug
> Subject: RE: extLst vs. ext
>
>
>
> I think both are application-defined extension elements, and the 
> preprocessor doesn't know anything about them.
>
>
>
> -dan
>
>
>
> ________________________________
>
> From: John Haug
> To: Dan
> Subject: extLst vs. ext
>
>
>
> Hi Dan -
>
> I have a (hopefully) quick question while at another WG 4 meeting.  
> From the perspective of the MCE preprocessor, which element is the 
> application-defined extension element, extLst or ext?  (You probably 
> recall that extLst/ext are the extensions, most used by Excel, as I 
> recall.)  That is, does the MCE preprocessor hand off the contents of 
> the extLst or the ext to the application to handle?
>
>
>
> Thanks,
>
> John



-- 

Praying for the victims of the Japan Tohoku earthquake

Makoto


More information about the sc34wg4 mailing list