mathjax / ctop

A JavaScript implementation of David Carlsle's Content-to-PresentationMathML xsl
Apache License 2.0
3 stars 5 forks source link

w3c test rec3-share1 #6

Closed christianp closed 10 years ago

christianp commented 10 years ago

http://www.w3.org/Math/testsuite/build/main/Content/BasicContentElements/share/rec3-share-1-form.xhtml

Need to implement share properly.

christianp commented 10 years ago

What hrefs are allowed? The spec says

The value of the href attribute is a URI specifying the id attribute of the root node of the expression tree.

but I can't think of anything that isn't just #name that doesn't involve fetching other pages. Is there something?

davidcarlisle commented 10 years ago

On 2 May 2014 14:01, Christian Perfect notifications@github.com wrote:

What hrefs are allowed? The spec says

The value of the href attribute is a URI specifying the id attribute of the root node of the expression tree.

but I can't think of anything that isn't just #name that doesn't involve fetching other pages. Is there something?

In theory you can link to any mathml fragment anywhere.

The default rendering in that test file "unwinds" the expression resolving all the share references, but I don't think it is reasonable to support that in real time in a rendering application. (and the effort required to implement that probably isn't justified as use of in the wild is ... limited... :-)

ctop.xsl just trivially implements share by making an mi with an href and relying on the presentation mathml renderer to make that a link and the human reader to follow the link and resolve the reference. That way you don't have to follow links and worry about cycles. If share is being used to fold up some highly repetitive proof term (the use case that caused it to be added to MathML) then it isn't clear that expanding it out to thousands of lines before rendering really helps anyone, so apart from being convenient in that it makes the implementation trivial, I think it's the right thing to do:)

christianp commented 10 years ago

Oh right. Then I'll revert the change I just made and close this.