[erlang-questions] beginner: Generating HTML with ">" from Erlang

Bengt Kleberg <>
Fri Feb 14 06:26:39 CET 2014


Could I use an xmerl hook function to preserve  ">" in the text of a
specific tag (say 'script')?

Ex (this will obviously not work, but perhaps someone has needed to
short circuit xmerl some time before and know what would work):

script( _Data, _Attributes, _Parent, E ) -> E.


bengt

On Thu, 2014-02-13 at 16:08 +0100, Ulf Wiger wrote:
> You don’t need to copy xmerl_xml.
> 
> Simply write the following module.
> 
> ====================================
> -module(szoboszlay_xml).
> -export([‘#text#’/1, ‘#xml-inheritance#’]).
> 
> ‘#xml-inheritance#’() -> [xmerl_xml].
> 
> '#text#'(Text) -> ["<![PCDATA[", xmerl_lib:export_text(Text), "]]>”].
> ====================================
> 
> And you’re done. ;-)
> 
> BR,
> Ulf
> 
> On 13 Feb 2014, at 15:48, Szoboszlay Dániel <> wrote:
> 
> > I think it's not possible to add CDATA or PCDATA directives in out-of-the-box xmerl. But you can write your own callback module by simply copying xmerl_xml and changing '#text#'/1 slightly:
> > 
> > '#text#'(Text) -> ["<![PCDATA[", xmerl_lib:export_text(Text), "]]>"].
> > 
> > Cheers,
> > Daniel
> > 
> > On Thu, 13 Feb 2014 15:25:43 +0100, Bengt Kleberg <> wrote:
> > 
> >> This also sounds like a good idea. You would not happen to know how I
> >> could get "![PCDATA[" into xmerl tuples?
> >> 
> >> 
> >> bengt
> >> 
> >> On Thu, 2014-02-13 at 15:20 +0100, Szoboszlay Dániel wrote:
> >>> What about wrapping the Javascript code in a <![PCDATA[ ... ]]> section?
> >>> The browser shall parse > as < in PCDATA before interpreting it as
> >>> Javascript code.
> >>> 
> >>> Daniel
> >>> 
> >>> On Thu, 13 Feb 2014 15:13:56 +0100, Bengt Kleberg
> >>> <> wrote:
> >>> 
> >>> > Javascript needs ">".
> >>> >
> >>> >
> >>> > On Thu, 2014-02-13 at 13:59 +0100, Anthony Ramine wrote:
> >>> >> Mmmmh, right. Was thinking about <.
> >>> >>
> >>> >> That being said, code consuming HTML or XML shouldn’t see a difference,
> >>> >> and not escaping could also introduce other bugs, as ]]> is not
> >>> >> supposed to appear in content (in XML). This leads us to the original
> >>> >> question, which was « why do you need to do this? ».
> >>> >>
> >>> >
> >>> > _______________________________________________
> >>> > erlang-questions mailing list
> >>> > 
> >>> > http://erlang.org/mailman/listinfo/erlang-questions
> >>> _______________________________________________
> >>> erlang-questions mailing list
> >>> 
> >>> http://erlang.org/mailman/listinfo/erlang-questions
> >> 
> >> _______________________________________________
> >> erlang-questions mailing list
> >> 
> >> http://erlang.org/mailman/listinfo/erlang-questions
> > _______________________________________________
> > erlang-questions mailing list
> > 
> > http://erlang.org/mailman/listinfo/erlang-questions
> 
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions




More information about the erlang-questions mailing list