emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Attributes on HTML tables?


From: Christian Moe
Subject: Re: [O] Attributes on HTML tables?
Date: Mon, 08 Apr 2013 23:09:09 +0200
User-agent: mu4e 0.9.9.5-dev6; emacs 24.3.1

Nicolas Goaziou writes:
> Does every possible attribute follow attribute="value" pattern? Aren't
> there single keywords? 

In XHTML it does, and there aren't. In HTML you can use some "minimized"
attributes, but in XHTML they have their own names as values,
e.g. nowrap="nowrap".

> If they are that regular, we can indeed walk the
> plist like a list and change
>
>   (:key1 val1 :key2 val2 ...)
>
> into
>
>   key1="val1" key2="val2"

...and let the user worry about getting them right. That's my
suggestion, FWIW.

> If there are irregular keywords, the export back-end needs to know about
> them.

XML doesn't do `irregular'. :)

XHTML is also fussy about quoting attribute values, and about escaping
special characters as HTML entities, including the ampersand (&), and
including inside attribute values. I'm guessing the exporter already
does the right thing here.

Since values may legitimately contain double quotes, one thing the
back-end *does* need to know about is to put those in single quotes:

 :title This is a "pop-up" text

  title='This is a "pop-up" text'

> Also, if attributes are provided, I assume defaults should be ignored
> altogether. Or do we need to create the union between default values and
> provided attributes?

If I understand the question correctly, I think the union is the correct
answer, with provided attributes overwriting defaults for the same
attributes.

In the example we started with, the defaults would create

  <table border="2" cellspacing="0" cellpadding="6" rules="groups"
  frame="hsides">

If the user specifies

  #+attr_html: :border 2 :rules all :frame border :title My table

I would expect the result

  <table border="2" cellspacing="0" cellpadding="6" rules="all"
  frame="border" title="My table">

You may want a second opinion on all this -- I'm no (X)HTML guru and
I've never written an exporter. But it seems to me the pure plist form
would less confusing to the user than a split syntax, and easier to
maintain, as well.

Yours,
Christian



reply via email to

[Prev in Thread] Current Thread [Next in Thread]