From 1f5ceb0db50df9ad0f9048ee02ad749507cbd737 Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Sun, 25 Oct 2009 23:08:07 -0400 Subject: Added beginning draft of manual for 3.0 This is being kept in Scrivener format, for ease of writing. --- doc/Ledger.scriv/203.rtfd/TXT.rtf | 152 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 doc/Ledger.scriv/203.rtfd/TXT.rtf (limited to 'doc/Ledger.scriv/203.rtfd/TXT.rtf') diff --git a/doc/Ledger.scriv/203.rtfd/TXT.rtf b/doc/Ledger.scriv/203.rtfd/TXT.rtf new file mode 100644 index 00000000..50220a9a --- /dev/null +++ b/doc/Ledger.scriv/203.rtfd/TXT.rtf @@ -0,0 +1,152 @@ +{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf460 +{\fonttbl\f0\fmodern\fcharset0 Courier;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\sl264\slmult1\ql\qnatural\pardirnatural + +\f0\fs28 \cf0 By default, Ledger uses a human-readable data format, and displays its\ +reports in a manner meant to be read on screen. For the purpose of\ +writing tools which use Ledger, however, it is possible to read and\ +display data using XML. This section documents that format.\ +\ +The general format used for Ledger data is:\ +\ +@smallexample\ +\ +\ + ...\ + ...\ + ......\ +\ +@end smallexample\ +\ +The data stream is enclosed in a @samp\{ledger\} tag, which contains a\ +series of one or more transactions. Each @samp\{xact\} describes the transaction\ +and contains a series of one or more postings:\ +\ +@smallexample\ +\ + 2004/03/01\ + \ + 100\ + John Wiegley\ + \ + ...\ + ...\ + ......\ + \ +\ +@end smallexample\ +\ +The date format for @samp\{en:date\} is always @samp\{YYYY/MM/DD\}. The\ +@samp\{en:cleared\} tag is optional, and indicates whether the\ +posting has been cleared or not. There is also an\ +@samp\{en:pending\} tag, for marking pending postings. The\ +@samp\{en:code\} and @samp\{en:payee\} tags both contain whatever text the\ +user wishes.\ +\ +After the initial transaction data, there must follow a set of postings\ +marked with @samp\{en:postings\}. Typically these postings will\ +all balance each other, but if not they will be automatically balanced\ +into an account named @samp\{\}.\ +\ +Within the @samp\{en:postings\} tag is a series of one or more\ +@samp\{posting\}'s, which have the following form:\ +\ +@smallexample\ +\ + Expenses:Computer:Hardware\ + \ + \ + \ + $\ + 90.00\ + \ + \ + \ +\ +@end smallexample\ +\ +This is a basic posting. It may also be begin with\ +@samp\{tr:virtual\} and/or @samp\{tr:generated\} tags, to indicate virtual\ +and auto-generated postings. Then follows the @samp\{tr:account\}\ +tag, which contains the full name of the account the posting is\ +related to. Colons separate parent from child in an account name.\ +\ +Lastly follows the amount of the posting, indicated by\ +@samp\{tr:amount\}. Within this tag is a @samp\{value\} tag, of which\ +there are four different kinds, each with its own format:\ +\ +@enumerate\ +@item boolean\ +@item integer\ +@item amount\ +@item balance\ +@end enumerate\ +\ +The format of a boolean value is @samp\{true\} or @samp\{false\}\ +surrounded by a @samp\{boolean\} tag, for example:\ +\ +@smallexample\ +true\ +@end smallexample\ +\ +The format of an integer value is the numerical value surrounded by an\ +@samp\{integer\} tag, for example:\ +\ +@smallexample\ +12036\ +@end smallexample\ +\ +The format of an amount contains two members, the commodity and the\ +quantity. The commodity can have a set of flags that indicate how to\ +display it. The meaning of the flags (all of which are optional) are:\ +\ +@table @strong\ +@item P\ +The commodity is prefixed to the value.\ +@item S\ +The commodity is separated from the value by a space.\ +@item T\ +Thousands markers are used to display the amount.\ +@item E\ +The format of the amount is European, with period used as a thousands\ +marker, and comma used as the decimal point.\ +@end table\ +\ +The actual quantity for an amount is an integer of arbitrary size.\ +Ledger uses the GNU multi-precision math library to handle such\ +values. The XML format assumes the reader to be equally capable.\ +Here is an example amount:\ +\ +@smallexample\ +\ + \ + $\ + 90.00\ + \ +\ +@end smallexample\ +\ +Lastly, a balance value contains a series of amounts, each with a\ +different commodity. Unlike the name, such a value does need to\ +balance. It is called a balance because it sums several amounts. For\ +example:\ +\ +@smallexample\ +\ + \ + \ + $\ + 90.00\ + \ + \ + DM\ + 200.00\ + \ + \ +\ +@end smallexample\ +\ +That is the extent of the XML data format used by Ledger. It will\ +output such data if the @command\{xml\} command is used, and can read\ +the same data.} \ No newline at end of file -- cgit v1.2.3