Hi Doug,
Interpreting "highly perceivable indication of error" to be that the UA simply stops rendering works for me.
Thanks.
--
Lee
> -----Original Message-----
> From: Doug Schepers [mailto:schepers@w3.org]
> Sent: Thursday, March 19, 2009 9:31 AM
> To: Lee Martineau
> Cc: public-svg-wg@w3.org
> Subject: Re: More on circular references (ACTION-2494)
>
> Hi, Lee-
>
> This was discussed at great length last year, and we decided that in
> fact, it is an error. Andrew Emmons was involved in those discussions
> on behalf of BitFlash, so it's odd to see this come up now. Since SVG
> Tiny 1.2 is now a Recommendation, it would be really difficult to make
> such a change now.
>
> We did make provision for UA-dependent "recursion buffer" in the spec
> already (and this is how the circular-reference test is structured). In
> 14.1.4 Reference restrictions, we say:
>
> [[
> A circular IRI reference is an error. Because SVG user agents may vary
> on when they first detect and abort a circular reference, conforming SVG
> document fragments must not rely upon circular references.
> ]]
>
> Also, SVG Tiny has more forgiving error handling than SVG 1.1; you no
> longer have to "halt and catch fire", and you can change your error
> handling as appropriate for each particular type of error. It should be
> acceptable in the case of recursion for the "highly perceivable
> indication of error" to be that the UA simply stops rendering the
> results of the recursion (that is, at the point where your UA detects
> that this is a problem, you simply don't follow the circular reference
> anymore). This, in combination with the already permissive wording that
> leaves it up to the UA to decide when to abort circular references ,
> should give you the flexibility you're after.
>
> Please let us know if this resolves your issue.
>
> [1] http://www.w3.org/TR/SVGMobile12/linking.html#ReferenceRestrictions
>
> Regards-
> -Doug
>
> Lee Martineau wrote (on 3/19/09 8:08 AM):
> > Hello WG,
> >
> > As Cameron said in the March 16 telcon minutes, the objective is to
> > eliminate having to provide "a highly perceivable indication of
> > error".
> >
> > In an embedded situation, there is generally no capability for
> > logging or displaying error information to the end user, so any error
> > condition that can reasonably be handled within the user agent is
> > simply handled.
> >
> > In anticipation of Doug's request for how to soften the circular
> > reference error processing, I have provided a possible approach
> > below.
> >
> > http://www.w3.org/TR/SVGMobile12/struct.html#UseElement
> >
> > Just before the schema is this sentence:
> >
> > "However, a set of references that directly or indirectly reference a
> > [sic] element to create a circular dependency is an error, as
> > described in the References section."
> >
> > How about:
> >
> > "However, a set of references that directly or indirectly reference
> > an element to create a circular dependency must be detected by the
> > user agent. The user agent may choose to handle the situation as an
> > error (as described in the References section) or it may continue
> > rendering until an implementation dependent limit on recursive
> > processing is reached."
> >
> > http://www.w3.org/TR/SVGMobile12/linking.html#ReferenceRestrictions
> >
> > Buried in here is:
> >
> > "A circular IRI reference is an error."
> >
> > How about:
> >
> > "A circular IRI reference must be detected by the user agent. Yada
> > yada..."
> >
> > -- Lee Martineau
> >