validator/htdocs/sgml-lib/REC-MathML2-20010221 mathml.soc

Update of /sources/public/validator/htdocs/sgml-lib/REC-MathML2-20010221
In directory rux.w3.org:/temp/tmp/cvs-serv4497/htdocs/sgml-lib/REC-MathML2-20010221

Modified Files:
      Tag: validator-0_6_0
	mathml.soc 
Log Message:
Major Restructuring!

This is a combined checkin comprising the following:

* Major restructuring. Code has been moved around to be more logical and to
  be more modular.
* All output is now isolated to a handfull of subroutines which are
  invoked only, apart from exception handling, from a few lines at the very
  end of the main body of the program. Closing in on full separation of
  presentation and logic. Yay! :-)
* Exploit the SSI from the static pages to get consistent navbar and
  header in results and error pages.
* Eliminated exceedingly verbose checks for charsets and making sure these
  are always defined. All charset related variables are now initialized to
  the empty string so they are never defined.
* CGI options are now captured and stored in the $File object for later use,
  and the CGI object is then destroyed instead of wasting memory.
* We now run under mod_perl! (FSVO "run"). :-)
* We have a framework for throwing exceptions so the program is now never
  mysteriously exited inside a sub routine somewhere. Instead, sub routines
  flag an exception and return so we can check for an handle them in the
  main body of the code. As a perk, this guarantees our output is always
  a complete HTML document instead of whatever we happened to have printed
  at the time the error condition was detected.
* Oh BTW, our output is now much nearer being valid HTML... :-)
* Made checking for document classes (MathML, XHTML, etc.) into a sub
  (which will translate well when we go OO!) and moved the decision
  into the config file (append "+xml" to XML types etc.) to avoid
  having configuration information hard coded.
* Simplified code for setting up %ENVironment for SP.
* Moved entirely to OpenSP; it's not in final release yet, but it's still
  much more reliable then original SP and has features we *need*.
* Applied some of Ville Skytta's patches (more to come).
  Many thanks Ville, and keep `em coming! :-)
* Tweaked output based on user feedback and own preference. Some had a point,
  but a lot of it just made sense at the time. We're probably utterly broken
  ATM, but I think it can be fixed and result in a better final result.
* Moved many more things into sub routines (charset stuff, among others).
* Disabled Fixed Charset Mode in SP by default. I don't think we need it in
  any case, but it was broken so we'll have to live with it for now. I'm
  working on getting it fixed at the source.
* Deliberately broke (or failed to fix, rather) DanC-compatibility!
  I don't think XHTML docs served as text/html and lacking a DOCTYPE
  should be accepted as well-formed, and the workaround to support this was
  just too filled with burning hoops. I'll revisit later (sorry Dan!).
* Finally killed off Weblint support entirely. It's dead Jim, stop beating it!
* Add language indication on output (xml:lang).
* General code cleanups, whitespace policing, nuked globals, warnings, etc...
* Reverified basic MathML support, but needs more work.
* Totally mangled all CSS; don't expect any of it to work on any box but mine.

At last count the diff was ~1600 lines in 55KB.

You're welcome. :-)

Received on Thursday, 4 April 2002 12:04:38 UTC