From: Ivan T. <iv...@if...> - 2002-02-21 09:36:29
|
Chris Beggy wrote: >From: Ivan Toshkov <iv...@if...> > [snipped] >>The suggestion about require($DOCUMENT_ROOT . "/header.html") is a good >>one. The BRL analogue is this: ( *paste* "/header.html"). >> >></quote> >> >>While I agree in general with this statement, I think there should be >>some way to share code between files. >> > >How do other templating systems do that, like velocity or >webmacro? In my experience with php, when include() fails, and >it will eventually, when a directory or db is moved or a password is changed, >it does so in a bad, insecure way. > Don't know. I've primarly use JSPs and don't like them :) > > > >>>Did Bruce restrict variable introduction in "paste" for security? >>> >>>Can you live with the brl-string approach? >>> >>Yes, but the think that caugth my eye with BRL (besides Scheme) was this >>idea! I'd hate to >>write the code in quotes and have to escape all scheme characters. I'd >>rather use KAWA's XML generation functions. >> > >I agree. I think this [idea] is so good that it will soon be >copied at least [(brl (* 10 10))] times. I was also excited to >see brl-latex-escape in the docs. The notation is so good, it >can be a template engine for anything. > >Even when writing strings for brl-string, don't you only have >to escape "[["? I think we have to do that everywhere, on every >page anyway. > If you use the bracket string notation, you do not have to escape quotes, which are far more common in HTML than ']' (especially if you use XHTML). But I think, that BRL reader does more. In Scheme the semicolons are used for comments, yet BRL can works just fine, when you put semicolons in bracket strings (and probabli in quoted strings, too). The Porblem is, that it doesn't use the BRL reader when parsing sitedefs.scm. > >How do the XML generator functions fix this? > So far, I've seen two approaches. KAWA has functions make-element and make-attribute, which you can use as a very simplified DOM style for XML construction. See http://www.gnu.org/software/kawa/XML-tools.html for more info. The other aproach is to map XMLs to and from s-expressions. That is, write something like: (body (@ (acolor "#FFFFFF") (hcolor "....")) ...) This is the SSAX package syntax (see http://www.lh.com/~oleg/ftp/Scheme/xml.html). The DrScheme has another syntax with a similar idea. I think I preffer the latter :) Perhaps they won't remove all needs for escaping, but still look pretier to me than escaped html in quotes. -- Ivan |