On Thu, 6 Apr 2023 at 01:47, Bob Stayton <b...@sagehill.net> wrote:
>
> It seems ok to me.  The idea of a mediaobject is to contain markup for one or 
> more versions of the same content.  Presenting more than one of those to the 
> end user would be redundant and annoying.  If you consider the whole 
> rendering system to be the transformation from DocBook to HTML5 *and* the 
> browser rendering of that HTML5, then your use case does not seem to violate 
> the description because the consumer of the content sees only one version, 
> right?


Relies on an odd (rare?) circumstance, despite being logical.

Is there any backwards compatibility reason not to adopt Norms logic?


regards








>
> Bob
>
> On 4/5/2023 9:27 AM, Norm Tovey-Walsh wrote:
>
> Hello world,
>
> The description of mediaobject states:
>
>   This element contains a set of alternative “media objects.” Exactly
>   one object will be selected and rendered. … Under no circumstances
>   should more than one object in a mediaobject be used or presented at
>   the same time.
>
> Bearing in mind that this markup was invented 15 or 20 years ago, long
> before any (widely used) web browser offered anything sophisticated in
> the way of fallback, we anticipated that markup like this:
>
>   <mediaobject>
>     <videoobject>…</videoobject>
>     <imageobject>…</imageobject>
>     <textobject>…</textobject>
>   </mediaobject>
>
> would be intepreted along the following lines: “… a mediaobject might
> contain a video, a high-resolution image, a low-resolution image, a long
> text description, and a short text description. In a ‘high-end’ online
> system, the video is used. For print publishing, the high-resolution
> image is used. For other online systems, either the high- or the
> low-resolution image is used, possibly including the short text
> description as the online alternative. In a text-only environment,
> either the long or the short text description is used.”
>
> <aside>I observe that “possibly including the short text” is, by a very
> narrow reading, a violation of the semantics we’ve already
> asserted.</aside>
>
> Starting in V5.1 we allow more than one *data element in a *object
> element[1] with the semantics that the downstream processor will pick
> one. So now you can do:
>
>   <mediaobject>
>     <videoobject>
>       <videodata type="video/mp4" …/>
>       <videodata type="video/webm" …/>
>     </videoobject>
>     <imageobject>…</imageobject>
>     <textobject>…</textobject>
>   </mediaobject>
>
> And let the browser decide whether it wants to render MP4 or WebM.
>
> Trouble is, you can’t put imagedata in the videoobject wrapper, so
> there’s no way to fallback to a still image. We could fix this by
> changing videoobject (and audioobject) to allow imageobject, but at that
> point, we might as well do away with the various flavors and just have
> one wrapper. (That’s probably what we’d do today, if we were starting
> over.)
>
> Rather than make the markup even more complicated, I’m tempted to squint
> really hard at the semantics and try to persuade you that selecting
> multiple objects from the same mediaobject is not a violation of the
> semantics if the rendering system will only render one of them.
>
> In other words, I want a license to cheat and say that I can render that
> example above in HTML5 as a video element containing three sources, two
> videos and an image. What say you?
>
>                                         Be seeing you,
>                                           norm
>
> [1] But the content model of imageobject weirdly forbids you from mixing
> SVG and MathML and other formats. What is that about?
>
> --
> Norm Tovey-Walsh <n...@nwalsh.com>
> https://norm.tovey-walsh.com/
>
> Advancement is powered by the dynamic interaction of theory and
> practice.



-- 
Dave Pawson
XSLT XSL-FO FAQ.
Docbook FAQ.

---------------------------------------------------------------------
To unsubscribe, e-mail: docbook-unsubscr...@lists.oasis-open.org
For additional commands, e-mail: docbook-h...@lists.oasis-open.org

Reply via email to