summaryrefslogtreecommitdiff
path: root/doc/Ledger.scriv/snapshots/203.snapshots
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2009-10-25 23:08:07 -0400
committerJohn Wiegley <johnw@newartisans.com>2009-10-25 23:11:30 -0400
commit1f5ceb0db50df9ad0f9048ee02ad749507cbd737 (patch)
treea8609fdcd28aa4d371aebf8a9867e43014e652f1 /doc/Ledger.scriv/snapshots/203.snapshots
parent9dadaebfeb461ba795124281018d0f7eac200cf4 (diff)
downloadfork-ledger-1f5ceb0db50df9ad0f9048ee02ad749507cbd737.tar.gz
fork-ledger-1f5ceb0db50df9ad0f9048ee02ad749507cbd737.tar.bz2
fork-ledger-1f5ceb0db50df9ad0f9048ee02ad749507cbd737.zip
Added beginning draft of manual for 3.0
This is being kept in Scrivener format, for ease of writing.
Diffstat (limited to 'doc/Ledger.scriv/snapshots/203.snapshots')
-rw-r--r--doc/Ledger.scriv/snapshots/203.snapshots579
1 files changed, 579 insertions, 0 deletions
diff --git a/doc/Ledger.scriv/snapshots/203.snapshots b/doc/Ledger.scriv/snapshots/203.snapshots
new file mode 100644
index 00000000..1cda4747
--- /dev/null
+++ b/doc/Ledger.scriv/snapshots/203.snapshots
@@ -0,0 +1,579 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>$archiver</key>
+ <string>NSKeyedArchiver</string>
+ <key>$objects</key>
+ <array>
+ <string>$null</string>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>37</integer>
+ </dict>
+ <key>NS.objects</key>
+ <array>
+ <dict>
+ <key>CF$UID</key>
+ <integer>2</integer>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>33</integer>
+ </dict>
+ <key>NS.keys</key>
+ <array>
+ <dict>
+ <key>CF$UID</key>
+ <integer>3</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>4</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>5</integer>
+ </dict>
+ </array>
+ <key>NS.objects</key>
+ <array>
+ <dict>
+ <key>CF$UID</key>
+ <integer>6</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>7</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>35</integer>
+ </dict>
+ </array>
+ </dict>
+ <string>Title</string>
+ <string>Text</string>
+ <string>Date</string>
+ <string>Untitled Snapshot</string>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>34</integer>
+ </dict>
+ <key>NSAttributes</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>10</integer>
+ </dict>
+ <key>NSDelegate</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>0</integer>
+ </dict>
+ <key>NSString</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>8</integer>
+ </dict>
+ </dict>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>9</integer>
+ </dict>
+ <key>NS.string</key>
+ <string>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
+&lt;?xml version="1.0"?&gt;
+&lt;ledger&gt;
+ &lt;xact&gt;...&lt;/xact&gt;
+ &lt;xact&gt;...&lt;/xact&gt;
+ &lt;xact&gt;...&lt;/xact&gt;...
+&lt;/ledger&gt;
+@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
+&lt;xact&gt;
+ &lt;en:date&gt;2004/03/01&lt;/en:date&gt;
+ &lt;en:cleared/&gt;
+ &lt;en:code&gt;100&lt;/en:code&gt;
+ &lt;en:payee&gt;John Wiegley&lt;/en:payee&gt;
+ &lt;en:postings&gt;
+ &lt;posting&gt;...&lt;/posting&gt;
+ &lt;posting&gt;...&lt;/posting&gt;
+ &lt;posting&gt;...&lt;/posting&gt;...
+ &lt;/en:postings&gt;
+&lt;/xact&gt;
+@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{&lt;Unknown&gt;}.
+
+Within the @samp{en:postings} tag is a series of one or more
+@samp{posting}'s, which have the following form:
+
+@smallexample
+&lt;posting&gt;
+ &lt;tr:account&gt;Expenses:Computer:Hardware&lt;/tr:account&gt;
+ &lt;tr:amount&gt;
+ &lt;value type="amount"&gt;
+ &lt;amount&gt;
+ &lt;commodity flags="PT"&gt;$&lt;/commodity&gt;
+ &lt;quantity&gt;90.00&lt;/quantity&gt;
+ &lt;/amount&gt;
+ &lt;/value&gt;
+ &lt;/tr:amount&gt;
+&lt;/posting&gt;
+@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
+&lt;boolean&gt;true&lt;/boolean&gt;
+@end smallexample
+
+The format of an integer value is the numerical value surrounded by an
+@samp{integer} tag, for example:
+
+@smallexample
+&lt;integer&gt;12036&lt;/integer&gt;
+@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
+&lt;value type="amount"&gt;
+ &lt;amount&gt;
+ &lt;commodity flags="PT"&gt;$&lt;/commodity&gt;
+ &lt;quantity&gt;90.00&lt;/quantity&gt;
+ &lt;/amount&gt;
+&lt;/value&gt;
+@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
+&lt;value type="balance"&gt;
+ &lt;balance&gt;
+ &lt;amount&gt;
+ &lt;commodity flags="PT"&gt;$&lt;/commodity&gt;
+ &lt;quantity&gt;90.00&lt;/quantity&gt;
+ &lt;/amount&gt;
+ &lt;amount&gt;
+ &lt;commodity flags="TE"&gt;DM&lt;/commodity&gt;
+ &lt;quantity&gt;200.00&lt;/quantity&gt;
+ &lt;/amount&gt;
+ &lt;/balance&gt;
+&lt;/value&gt;
+@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.</string>
+ </dict>
+ <dict>
+ <key>$classes</key>
+ <array>
+ <string>NSMutableString</string>
+ <string>NSString</string>
+ <string>NSObject</string>
+ </array>
+ <key>$classname</key>
+ <string>NSMutableString</string>
+ </dict>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>33</integer>
+ </dict>
+ <key>NS.keys</key>
+ <array>
+ <dict>
+ <key>CF$UID</key>
+ <integer>11</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>12</integer>
+ </dict>
+ </array>
+ <key>NS.objects</key>
+ <array>
+ <dict>
+ <key>CF$UID</key>
+ <integer>13</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>30</integer>
+ </dict>
+ </array>
+ </dict>
+ <string>NSParagraphStyle</string>
+ <string>NSFont</string>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>29</integer>
+ </dict>
+ <key>NSAlignment</key>
+ <integer>4</integer>
+ <key>NSLineHeightMultiple</key>
+ <real>1.1000000238418579</real>
+ <key>NSTabStops</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>14</integer>
+ </dict>
+ </dict>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>28</integer>
+ </dict>
+ <key>NS.objects</key>
+ <array>
+ <dict>
+ <key>CF$UID</key>
+ <integer>15</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>17</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>18</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>19</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>20</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>21</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>22</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>23</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>24</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>25</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>26</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>27</integer>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>16</integer>
+ </dict>
+ <key>NSLocation</key>
+ <real>28</real>
+ </dict>
+ <dict>
+ <key>$classes</key>
+ <array>
+ <string>NSTextTab</string>
+ <string>NSObject</string>
+ </array>
+ <key>$classname</key>
+ <string>NSTextTab</string>
+ </dict>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>16</integer>
+ </dict>
+ <key>NSLocation</key>
+ <real>56</real>
+ </dict>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>16</integer>
+ </dict>
+ <key>NSLocation</key>
+ <real>84</real>
+ </dict>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>16</integer>
+ </dict>
+ <key>NSLocation</key>
+ <real>112</real>
+ </dict>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>16</integer>
+ </dict>
+ <key>NSLocation</key>
+ <real>140</real>
+ </dict>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>16</integer>
+ </dict>
+ <key>NSLocation</key>
+ <real>168</real>
+ </dict>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>16</integer>
+ </dict>
+ <key>NSLocation</key>
+ <real>196</real>
+ </dict>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>16</integer>
+ </dict>
+ <key>NSLocation</key>
+ <real>224</real>
+ </dict>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>16</integer>
+ </dict>
+ <key>NSLocation</key>
+ <real>252</real>
+ </dict>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>16</integer>
+ </dict>
+ <key>NSLocation</key>
+ <real>280</real>
+ </dict>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>16</integer>
+ </dict>
+ <key>NSLocation</key>
+ <real>308</real>
+ </dict>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>16</integer>
+ </dict>
+ <key>NSLocation</key>
+ <real>336</real>
+ </dict>
+ <dict>
+ <key>$classes</key>
+ <array>
+ <string>NSArray</string>
+ <string>NSObject</string>
+ </array>
+ <key>$classname</key>
+ <string>NSArray</string>
+ </dict>
+ <dict>
+ <key>$classes</key>
+ <array>
+ <string>NSParagraphStyle</string>
+ <string>NSObject</string>
+ </array>
+ <key>$classname</key>
+ <string>NSParagraphStyle</string>
+ </dict>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>32</integer>
+ </dict>
+ <key>NSName</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>31</integer>
+ </dict>
+ <key>NSSize</key>
+ <real>14</real>
+ <key>NSfFlags</key>
+ <integer>16</integer>
+ </dict>
+ <string>Courier</string>
+ <dict>
+ <key>$classes</key>
+ <array>
+ <string>NSFont</string>
+ <string>NSObject</string>
+ </array>
+ <key>$classname</key>
+ <string>NSFont</string>
+ </dict>
+ <dict>
+ <key>$classes</key>
+ <array>
+ <string>NSDictionary</string>
+ <string>NSObject</string>
+ </array>
+ <key>$classname</key>
+ <string>NSDictionary</string>
+ </dict>
+ <dict>
+ <key>$classes</key>
+ <array>
+ <string>KBWordCountingTextStorage</string>
+ <string>NSTextStorage</string>
+ <string>NSMutableAttributedString</string>
+ <string>NSAttributedString</string>
+ <string>NSObject</string>
+ </array>
+ <key>$classname</key>
+ <string>KBWordCountingTextStorage</string>
+ </dict>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>36</integer>
+ </dict>
+ <key>NS.time</key>
+ <real>267380389.39831501</real>
+ </dict>
+ <dict>
+ <key>$classes</key>
+ <array>
+ <string>NSDate</string>
+ <string>NSObject</string>
+ </array>
+ <key>$classname</key>
+ <string>NSDate</string>
+ </dict>
+ <dict>
+ <key>$classes</key>
+ <array>
+ <string>NSMutableArray</string>
+ <string>NSArray</string>
+ <string>NSObject</string>
+ </array>
+ <key>$classname</key>
+ <string>NSMutableArray</string>
+ </dict>
+ </array>
+ <key>$top</key>
+ <dict>
+ <key>Snapshots</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>1</integer>
+ </dict>
+ </dict>
+ <key>$version</key>
+ <integer>100000</integer>
+</dict>
+</plist>