
Quoting Larry Masinter <LMM@acm.org>:
So content negotiation in practice doesn't use accept: headers except in limited circumstances; for the most part, the sites send some kind of 'active content' or content that autoselects for itself what else to download; e.g., a HTML page which contains Javascript code to detect the client's capabilities and figure out which other URLs to load.
The embedding of scripts in CellML is not recommended, not defined by any specifications, not (as far as I know) supported by any software packages, and if vendors do want to support scripts, they should only use it express functions which cannot be represented in MathML, not for content negotiation. Therefore, scripts are not a viable option for CellML negotiation.
If you have a HTML page that includes javascript that asks IF (browser supports CellML 1.1) THEN (load URL for cellML 1.1 content) ELSE IF (browser supports CellML 1.0) THEN (load URL for cellML 1.0 content) ELSE (insert content for 'can't display model')
you don't put the Javascript inside CellML, you put it in the HTML code that decides whether or not to load CellML at all.
Given that CellML is supposed to be a language for the interchange of mathematical models, I think that requiring an HTML page load just so you can detect what CellML version is supported seems like unnecessary overhead, and could cause problems for non-browser based tools. Javascript-based detection approaches are useful in some contexts, and have been implemented before, for web-based interfaces to CellML repository pages intended for interactive users. However, HTML is not useful for non-browser based/non-interactive systems(but CellML, sometimes combined with HTTP, is useful in these situations). Best regards, Andrew Miller ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program.