The Code Style site has evolved by gradual refinement and accumulation of features and content. This review is part of a fully backdated site log and archive that sheds light on when, why and how particular features were implemented.
This log is sometimes updated several times per week, sometimes with a long overdue backlog of items. Many log entries refer to the Code Style Java package that delivers the servlet services and utilities used to manage this site.
Subscribe to the news feed for this log:
Introduced short-hand topic and category parameter handling to the FAQtoXHTML transformation servlet, to enable single keyword URL references. The source XML is marked up with the keywords as category and topic names and the XSL template expands these to full section titles.
Initially the topic and category name mapping is hard-coded into the XSL template, but should ultimately be represented in the XML DTD.
Took the opportunity to rationalise the FAQ DTD by cutting out some redundancy, which allowed simplification of the XSL template. Made the category name an FAQ item element attribute, and the topic name an attribute of the repeatable topic element, rather than element content. These changes allowed the removal of various normalize-space function calls and the elimination of the SearchAndReplace template.
Created a small XSL utility template to extract the path element from an absolute URL. Uses a combination of string-length, substring, substring-before and substring-after function calls to handle URLs in a generic way, similar to the DomainExtractor and HostExtractor templates.
Extended the "Simple Syndication" XHTMLtoJS and HTML XHTMLtoDemo news feed XSL templates to implement Links mode. Had to inline the sentence case translation for item titles in the SearchAndReplace call to ensure that double quotes are stripped out. The HTML demo version uses the standard SentenceCase template.
Modified the depends attribute of the Code Style Ant build file so that the Hansel coverage test target does not require the tests to run before it calculates statistics.
Corrected superfluous double quote characters in the close element tags of the XHTMLtoJS Javascript news feed XSL.
Found there was a bug in the AbstractParseServlet where the source Web page had no HTTP Last-Modified header; the modified date passed to the SAXTransformer was -1L, which was interpreted as a second before midnight on new year's eve 1970. Changed the ResultsMarshaller class to pass the CacheValue modified date, which is adjusted to the current date in this case.
Also updated the abstract processLog method in the AbstractParseServlet class to take an HttpServletRequest argument to permit custom logging requirements on another project.
Previous modifications to the MockHttpServlet20Request class meant that the "Network" test suites for the various parse servlets had to be configured with explicit HTTP request methods.
These backdated pages record detailed changes to the Code Style Web site since July 2000, when development first got underway. Some pages may refer to documents or features that have since changed or are no longer part of the site, but the archive is checked to ensure there are no dead links.
For a summary overview, see the annotated site log contents.