I have an org file with headlines and subheadlines containing tables. Each table has a name (i.e. each table starts with a #+name: tablename
header). I'd like to generate a list containing all tables names as strings. ("tablename-1" "tablename-2" ... "tablename-n").
For Example, parsing the given file filename.org:
* Level 1
** level 2 alpha
#+name: alpha
|--------+--------|
| Letter | Number |
|--------+--------|
| A | 1 |
| B | 2 |
|--------+--------|
** Level 2 beta
#+name: beta
|--------+--------|
| Letter | Number |
|--------+--------|
| C | 3 |
| D | 4 |
|--------+--------|
*** level 3
#+name: l3
|--------+--------|
| Letter | Number |
|--------+--------|
| E | 5 |
| F | 6 |
|--------+--------|
Would produce the following list:
("alpha" "beta" "l3")
I have tried:
(let ((x (org-element-parse-buffer 'table)))
(org-element-map x 'table
(lambda (y) (org-element-property :name y))))
but it doesn't work...