Next: Special properties, Previous: Properties and Columns, Up: Properties and Columns
Properties are key-value pairs. When they are associated with a single entry
or with a tree they need to be inserted into a special
drawer (see Drawers) with the name PROPERTIES. Each property
is specified on a single line, with the key (surrounded by colons)
first, and the value after it. Here is an example:
* CD collection
** Classic
*** Goldberg Variations
:PROPERTIES:
:Title: Goldberg Variations
:Composer: J.S. Bach
:Artist: Glen Gould
:Publisher: Deutsche Grammophon
:NDisks: 1
:END:
Depending on the value of org-use-property-inheritance, a property set
this way will either be associated with a single entry, or the sub-tree
defined by the entry, see Property inheritance.
You may define the allowed values for a particular property ‘:Xyz:’ by setting a property ‘:Xyz_ALL:’. This special property is inherited, so if you set it in a level 1 entry, it will apply to the entire tree. When allowed values are defined, setting the corresponding property becomes easier and is less prone to typing errors. For the example with the CD collection, we can predefine publishers and the number of disks in a box like this:
* CD collection
:PROPERTIES:
:NDisks_ALL: 1 2 3 4
:Publisher_ALL: "Deutsche Grammophon" Philips EMI
:END:
If you want to set properties that can be inherited by any entry in a file, use a line like
#+PROPERTY: NDisks_ALL 1 2 3 4
If you want to add to the value of an existing property, append a + to
the property name. The following results in the property var having
the value “foo=1 bar=2”.
#+PROPERTY: var foo=1
#+PROPERTY: var+ bar=2
It is also possible to add to the values of inherited properties. The
following results in the genres property having the value “Classic
Baroque” under the Goldberg Variations subtree.
* CD collection
** Classic
:PROPERTIES:
:GENRES: Classic
:END:
*** Goldberg Variations
:PROPERTIES:
:Title: Goldberg Variations
:Composer: J.S. Bach
:Artist: Glen Gould
:Publisher: Deutsche Grammophon
:NDisks: 1
:GENRES+: Baroque
:END:
Note that a property can only have one entry per Drawer.
Property values set with the global variable
org-global-properties can be inherited by all entries in all
Org files.
The following commands help to work with properties:
pcomplete)org-set-property)org-property-action)org-set-property)org-property-next-allowed-value)org-property-previous-allowed-value)org-delete-property)org-delete-property-globally)org-compute-property-at-point)