Hatena::Grouperlang

檜山正幸のErlang未確認情報 RSSフィード

 | 

2008-12-29 (月)

xmerlのsimple form

| 17:14

xmerlは、(作者が)XML仕様を理解してないところがイヤなんだが、それはそうとして、ehtmlとの違いを記しておく。

"simple-form" XML content とは:

  1. {Tag, Attributes, Content}
  2. {Tag, Content}
  3. Tag
  4. IOString

where:

  1. Tag = atom()
  2. Attributes = [{Name, Value}]
  3. Name = atom()
  4. Value = IOString | atom() | integer()
  5. An IOString is a (possibly deep) list of characters and/or binaries.

IOStringは、fileで定義されているiodata()のことだろう。

iodata() = iolist() | binary()
iolist() = [char() | binary() | iolist()]

基本が3項タプルである点はehtmlと同じだが、

  1. 2項のとき省略できるのは属性!(内容ではない)
  2. {Tag} はなくて Tag
  3. 属性値に、文字列以外に、バイナリを含むiodata()、アトム、整数が使える。

ehtmlとxmerlに互換性はないが、共通部分を取ると:

  1. Content = [{Tag, Attributes, Content} | binary() | character()]
  2. Attributes = [{Name, Value}]
  3. Name = atom()
  4. Value = string()

2項タプルに関しては、どうやっても互換性が取れない。常に3項で書くようにするなら、ehtmlでもxmerlでも通用するね。

AwanAwan2013/04/04 05:31That's not even 10 miutnes well spent!

 |