Tapestry
  1. Tapestry
  2. TAPESTRY-1353

Include copies of common DTDs in the JAR such that the template parser does not need to access the network to parse templates with specific doctypes

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.0
    • Fix Version/s: 5.0.4
    • Component/s: tapestry-core
    • Labels:
      None

      Description

      Tapestry should include copies of the most common DTDs, such as XHTML, as part of the JAR, and intercept external entity requests to use the local JAR copies.

        Activity

        Hide
        Howard M. Lewis Ship added a comment -

        Great patch! I guess we'll add further DTDs & etc. as needed.

        Show
        Howard M. Lewis Ship added a comment - Great patch! I guess we'll add further DTDs & etc. as needed.
        Hide
        Daniel Gredler added a comment -

        Attaching a patch that implements this feature. Public ID -> local URL mappings are configurable in the same way that the ResourceStreamer's content types were made configurable. The default configuration covers all XHTML 1.0 doctypes (strict, transitional and frameset).

        Note that I had to touch TemplateParserImplTest a little more than I would have liked to, because the parser instance needs to be retrieved as a service from the registry now that it gets configured there, meaning that we can no longer mock the log instance used by the parser.

        Show
        Daniel Gredler added a comment - Attaching a patch that implements this feature. Public ID -> local URL mappings are configurable in the same way that the ResourceStreamer's content types were made configurable. The default configuration covers all XHTML 1.0 doctypes (strict, transitional and frameset). Note that I had to touch TemplateParserImplTest a little more than I would have liked to, because the parser instance needs to be retrieved as a service from the registry now that it gets configured there, meaning that we can no longer mock the log instance used by the parser.

          People

          • Assignee:
            Howard M. Lewis Ship
            Reporter:
            Howard M. Lewis Ship
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development