On Thu, Apr 2, 2009 at 4:02 PM, Alexandr Smirnov <asmirnov(a)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
--
Dan Allen
Senior Software Engineer, Red Hat | Author of Seam in Action
http://mojavelinux.com
http://mojavelinux.com/seaminaction
NOTE: While I make a strong effort to keep up with my email on a daily
basis, personal or other work matters can sometimes keep me away
from my email. If you contact me, but don't hear back for more than a week,
it is very likely that I am excessively backlogged or the message was
caught in the spam filters. Please don't hesitate to resend a message if
you feel that it did not reach my attention.