On Thu, Apr 2, 2009 at 4:02 PM, Alexandr Smirnov
<asmirnov@exadel.com> wrote:
After a code review, I concern about properly implementation. The old
facelets patch supports only pre-defined set of most popular HTML dtd's
Obliviously, direct requests to the online definitions should be
disabled, because it could take significant impact to the application
performance and crush application if server has no direct internet access.
It should definitely not be reaching out to the internet.
The possible options are:
1 VDL compiler resolves pre-defined entities only but block any other
from loading.
2 Create cached entity resolver and load any referenced entities from
internet only once.
3 Use configurable entity resolver. Implementation could define init
parameter to enable resolver and define place of the configuration file
( For example, as OASIS XML catalog format ).
4. Combination of the options 1 and 3. Provide most used entities 'in
the box' with optional configurable catalog.
#4 sounds reasonable to me. If the user configures a catalog, then it would be acceptable for it to use a URI request. But no internet connection should be required for the built in entities. I think we are looking for the common ones. Those would be (available at W3C or in any XML package for Linux):
<!ENTITY % HTMLlat1 PUBLIC
"-//W3C//ENTITIES Latin 1 for XHTML//EN"
"xhtml-lat1.ent">
%HTMLlat1;
<!ENTITY % HTMLsymbol PUBLIC
"-//W3C//ENTITIES Symbols for XHTML//EN"
"xhtml-symbol.ent">
%HTMLsymbol;
<!ENTITY % HTMLspecial PUBLIC
"-//W3C//ENTITIES Special for XHTML//EN"
"xhtml-special.ent">
%HTMLspecial;
-Dan