I’ve implemented handling for multiple begin and end values including calculating the active duration, selecting the correct interval etc.
Interestingly Adobe SVG Viewer (6 beta) seems to do things a little differently to what I’d expect based on the SMIL Animation spec. There are a few cases but probably the most important one is when you specify a list of begin times and a list of end times but the latest begin time is after the latest end time. The pseudocode in the spec says this is an error—it’s ok if the end time is not set as it will default to indefinite—but if it is set, then it needs to provide a valid end value for the intervals defined by the begin attribute. The pseudocode isn’t authoritative but I couldn’t find anywhere else where this is spelled out in the spec.
(Content authors can always work around this by adding indefinite
to their end
specifications, e.g. end="...; indefinite"
.)