Bookmarks are unique within a document. If you place a bookmark in a repeating piece of text in the model document, OpenOffice.org itself will make sure that bookmarks are unique by adding a serial number to a bookmark that occurs more than once in the document.
As a model developer you can also influence the name of the bookmark by using ITP instructions for the name of the bookmark. It is however - due to the nature of a bookmark - not possible to use the @(..) instruction in the name of the bookmark. Instead you should use a special solution: If the name of the bookmark starts with ItP (note the lower case 't') ITP will replace the name of the bookmark by an expression that will be evaluated during run-time. The model developer has to provide a variable of type TEXT (or a parameter-less function) that will return a TEXT value with the same name as the bookmarks name without the ItP.
Example
If ITP finds in the document a bookmark with the name ItPexample, this name will be replaced by the expression @(example) when the model is created. The model developer is responsible for defining a valid variable or function named example.
Bookmarks can be very useful in combination with a bookmark reference field. With the bookmark reference field you can for example display the page number of the bookmark.
Refer to the sample document Bookmarks.sxw in the Examples folder of the support section of the Aia website for a documented example how to use bookmarks and a reference field.