The JDO spec contains some minor problems, mostly typos. Point 8) may be an issue with the API.
1) Section 10.2: Formatting, the beginning of the code is not formatted in code-font.
2) Section 10.1-10.6: Inconsistent formatting: The closing curly brace is either at the end of the section (10.5,10.6) otherwise it is before the description part.
Also, maybe the 'void jdoPreDelete()' should be indendet?
3) Section 11.1: First bullet list, the TransactionIsolationLevel starts with a '.' and has a wrong font for the 'T'.
In the 3.1 PDF, the NonTransactionalWrite and Multithreaded also have strange spacing for the "t h e" in the second word. But that seems to be fixed in the .odt.
4) Section 14.10.3: The 2nd line of the code is missing a ')' towards the end:
"salary > sal && name.startsWith(begin");
"salary > sal && name.startsWith(begin)");
5) Section 14.10.3: The 4th line of the code is missing a query parameter:
Collection emps = (Collection) q.execute (new Float (30000.));
Collection emps = (Collection) q.execute (new Float (30000.), "xyz");
Btw, maybe this should be changed to Float.valueOf(30000f) or simply 30000f?
6) Section 14.10.5: The operator in the first line of code is wrong:
String filter = "emps.contains (emp) & emp.salary > sal";
String filter = "emps.contains (emp) && emp.salary > sal";
7) Section 14.10.18 & 14.10.19: Formatting: the font size of the examples is inconsistent.