libxml-ruby 2.8.0 → 3.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. checksums.yaml +5 -5
  2. data/HISTORY +859 -775
  3. data/LICENSE +20 -20
  4. data/MANIFEST +166 -166
  5. data/README.rdoc +217 -184
  6. data/Rakefile +98 -78
  7. data/ext/libxml/extconf.rb +61 -116
  8. data/ext/libxml/libxml.c +80 -76
  9. data/ext/libxml/ruby_libxml.h +67 -75
  10. data/ext/libxml/ruby_xml.c +937 -893
  11. data/ext/libxml/ruby_xml.h +10 -10
  12. data/ext/libxml/ruby_xml_attr.c +333 -333
  13. data/ext/libxml/ruby_xml_attr.h +12 -12
  14. data/ext/libxml/ruby_xml_attr_decl.c +153 -153
  15. data/ext/libxml/ruby_xml_attr_decl.h +11 -11
  16. data/ext/libxml/ruby_xml_attributes.c +275 -275
  17. data/ext/libxml/ruby_xml_attributes.h +15 -15
  18. data/ext/libxml/ruby_xml_cbg.c +85 -85
  19. data/ext/libxml/ruby_xml_document.c +1123 -1147
  20. data/ext/libxml/ruby_xml_document.h +11 -11
  21. data/ext/libxml/ruby_xml_dtd.c +248 -268
  22. data/ext/libxml/ruby_xml_dtd.h +9 -9
  23. data/ext/libxml/ruby_xml_encoding.c +250 -260
  24. data/ext/libxml/ruby_xml_encoding.h +16 -19
  25. data/ext/libxml/ruby_xml_error.c +996 -996
  26. data/ext/libxml/ruby_xml_error.h +12 -12
  27. data/ext/libxml/ruby_xml_html_parser.c +89 -92
  28. data/ext/libxml/ruby_xml_html_parser.h +10 -10
  29. data/ext/libxml/ruby_xml_html_parser_context.c +337 -338
  30. data/ext/libxml/ruby_xml_html_parser_context.h +10 -10
  31. data/ext/libxml/ruby_xml_html_parser_options.c +46 -46
  32. data/ext/libxml/ruby_xml_html_parser_options.h +10 -10
  33. data/ext/libxml/ruby_xml_input_cbg.c +191 -191
  34. data/ext/libxml/ruby_xml_input_cbg.h +20 -20
  35. data/ext/libxml/ruby_xml_io.c +47 -50
  36. data/ext/libxml/ruby_xml_io.h +10 -10
  37. data/ext/libxml/ruby_xml_namespace.c +154 -153
  38. data/ext/libxml/ruby_xml_namespace.h +10 -10
  39. data/ext/libxml/ruby_xml_namespaces.c +293 -293
  40. data/ext/libxml/ruby_xml_namespaces.h +9 -9
  41. data/ext/libxml/ruby_xml_node.c +1406 -1452
  42. data/ext/libxml/ruby_xml_node.h +13 -11
  43. data/ext/libxml/ruby_xml_parser.c +91 -94
  44. data/ext/libxml/ruby_xml_parser.h +12 -12
  45. data/ext/libxml/ruby_xml_parser_context.c +999 -1001
  46. data/ext/libxml/ruby_xml_parser_context.h +10 -10
  47. data/ext/libxml/ruby_xml_parser_options.c +66 -66
  48. data/ext/libxml/ruby_xml_parser_options.h +12 -12
  49. data/ext/libxml/ruby_xml_reader.c +1239 -1228
  50. data/ext/libxml/ruby_xml_reader.h +17 -17
  51. data/ext/libxml/ruby_xml_relaxng.c +110 -111
  52. data/ext/libxml/ruby_xml_relaxng.h +10 -10
  53. data/ext/libxml/ruby_xml_sax2_handler.c +326 -328
  54. data/ext/libxml/ruby_xml_sax2_handler.h +10 -10
  55. data/ext/libxml/ruby_xml_sax_parser.c +116 -120
  56. data/ext/libxml/ruby_xml_sax_parser.h +10 -10
  57. data/ext/libxml/ruby_xml_schema.c +350 -301
  58. data/ext/libxml/ruby_xml_schema.h +806 -809
  59. data/ext/libxml/ruby_xml_schema_attribute.c +61 -109
  60. data/ext/libxml/ruby_xml_schema_attribute.h +15 -15
  61. data/ext/libxml/ruby_xml_schema_element.c +69 -94
  62. data/ext/libxml/ruby_xml_schema_element.h +14 -14
  63. data/ext/libxml/ruby_xml_schema_facet.c +46 -52
  64. data/ext/libxml/ruby_xml_schema_facet.h +13 -13
  65. data/ext/libxml/ruby_xml_schema_type.c +214 -259
  66. data/ext/libxml/ruby_xml_schema_type.h +9 -9
  67. data/ext/libxml/ruby_xml_version.h +9 -9
  68. data/ext/libxml/ruby_xml_writer.c +1133 -1137
  69. data/ext/libxml/ruby_xml_writer.h +10 -10
  70. data/ext/libxml/ruby_xml_xinclude.c +16 -16
  71. data/ext/libxml/ruby_xml_xinclude.h +11 -11
  72. data/ext/libxml/ruby_xml_xpath.c +194 -188
  73. data/ext/libxml/ruby_xml_xpath.h +13 -13
  74. data/ext/libxml/ruby_xml_xpath_context.c +360 -361
  75. data/ext/libxml/ruby_xml_xpath_context.h +9 -9
  76. data/ext/libxml/ruby_xml_xpath_expression.c +81 -81
  77. data/ext/libxml/ruby_xml_xpath_expression.h +10 -10
  78. data/ext/libxml/ruby_xml_xpath_object.c +338 -335
  79. data/ext/libxml/ruby_xml_xpath_object.h +17 -17
  80. data/ext/libxml/ruby_xml_xpointer.c +99 -99
  81. data/ext/libxml/ruby_xml_xpointer.h +11 -11
  82. data/ext/vc/libxml_ruby.sln +17 -15
  83. data/lib/libxml/node.rb +2 -78
  84. data/lib/libxml/parser.rb +0 -266
  85. data/lib/libxml/sax_parser.rb +0 -17
  86. data/lib/libxml/schema/attribute.rb +19 -19
  87. data/lib/libxml/schema/element.rb +19 -27
  88. data/lib/libxml/schema/type.rb +21 -29
  89. data/lib/libxml/schema.rb +47 -66
  90. data/lib/libxml-ruby.rb +30 -0
  91. data/lib/libxml.rb +3 -33
  92. data/libxml-ruby.gemspec +48 -44
  93. data/script/benchmark/depixelate +634 -634
  94. data/script/benchmark/hamlet.xml +9054 -9054
  95. data/script/benchmark/parsecount +170 -170
  96. data/script/benchmark/throughput +41 -41
  97. data/script/test +6 -6
  98. data/setup.rb +0 -1
  99. data/test/c14n/given/example-1.xml +14 -14
  100. data/test/c14n/given/example-2.xml +11 -11
  101. data/test/c14n/given/example-3.xml +18 -18
  102. data/test/c14n/given/example-4.xml +9 -9
  103. data/test/c14n/given/example-5.xml +12 -12
  104. data/test/c14n/given/example-6.xml +2 -2
  105. data/test/c14n/given/example-7.xml +11 -11
  106. data/test/c14n/given/example-8.xml +11 -11
  107. data/test/c14n/given/example-8.xpath +9 -9
  108. data/test/c14n/result/1-1-without-comments/example-1 +3 -3
  109. data/test/c14n/result/1-1-without-comments/example-2 +10 -10
  110. data/test/c14n/result/1-1-without-comments/example-3 +13 -13
  111. data/test/c14n/result/1-1-without-comments/example-4 +8 -8
  112. data/test/c14n/result/1-1-without-comments/example-5 +2 -2
  113. data/test/c14n/result/with-comments/example-1 +5 -5
  114. data/test/c14n/result/with-comments/example-2 +10 -10
  115. data/test/c14n/result/with-comments/example-3 +13 -13
  116. data/test/c14n/result/with-comments/example-4 +8 -8
  117. data/test/c14n/result/with-comments/example-5 +3 -3
  118. data/test/c14n/result/without-comments/example-1 +3 -3
  119. data/test/c14n/result/without-comments/example-2 +10 -10
  120. data/test/c14n/result/without-comments/example-3 +13 -13
  121. data/test/c14n/result/without-comments/example-4 +8 -8
  122. data/test/c14n/result/without-comments/example-5 +2 -2
  123. data/test/model/atom.xml +12 -12
  124. data/test/model/bands.iso-8859-1.xml +4 -4
  125. data/test/model/bands.utf-8.xml +4 -4
  126. data/test/model/bands.xml +4 -4
  127. data/test/model/books.xml +153 -153
  128. data/test/model/cwm_1_0.xml +11336 -0
  129. data/test/model/merge_bug_data.xml +58 -58
  130. data/test/model/ruby-lang.html +238 -238
  131. data/test/model/rubynet.xml +79 -79
  132. data/test/model/shiporder.rnc +28 -28
  133. data/test/model/shiporder.rng +86 -86
  134. data/test/model/shiporder.xml +22 -22
  135. data/test/model/shiporder.xsd +44 -40
  136. data/test/model/shiporder_bad.xsd +40 -0
  137. data/test/model/shiporder_import.xsd +45 -0
  138. data/test/model/soap.xml +27 -27
  139. data/test/model/xinclude.xml +4 -4
  140. data/test/{tc_attr.rb → test_attr.rb} +23 -25
  141. data/test/{tc_attr_decl.rb → test_attr_decl.rb} +13 -14
  142. data/test/{tc_attributes.rb → test_attributes.rb} +11 -18
  143. data/test/{tc_canonicalize.rb → test_canonicalize.rb} +36 -41
  144. data/test/test_deprecated_require.rb +12 -0
  145. data/test/{tc_document.rb → test_document.rb} +33 -27
  146. data/test/test_document_write.rb +146 -0
  147. data/test/{tc_dtd.rb → test_dtd.rb} +29 -29
  148. data/test/{tc_encoding.rb → test_encoding.rb} +129 -126
  149. data/test/{tc_encoding_sax.rb → test_encoding_sax.rb} +7 -6
  150. data/test/test_error.rb +178 -0
  151. data/test/test_helper.rb +4 -9
  152. data/test/test_html_parser.rb +162 -0
  153. data/test/test_html_parser_context.rb +23 -0
  154. data/test/test_namespace.rb +60 -0
  155. data/test/{tc_namespaces.rb → test_namespaces.rb} +34 -44
  156. data/test/{tc_node.rb → test_node.rb} +68 -47
  157. data/test/{tc_node_cdata.rb → test_node_cdata.rb} +12 -13
  158. data/test/{tc_node_comment.rb → test_node_comment.rb} +7 -8
  159. data/test/{tc_node_copy.rb → test_node_copy.rb} +4 -6
  160. data/test/{tc_node_edit.rb → test_node_edit.rb} +23 -41
  161. data/test/{tc_node_pi.rb → test_node_pi.rb} +37 -40
  162. data/test/{tc_node_text.rb → test_node_text.rb} +10 -12
  163. data/test/{tc_node_write.rb → test_node_write.rb} +18 -29
  164. data/test/test_node_xlink.rb +28 -0
  165. data/test/test_parser.rb +324 -0
  166. data/test/{tc_parser_context.rb → test_parser_context.rb} +42 -49
  167. data/test/{tc_properties.rb → test_properties.rb} +6 -7
  168. data/test/test_reader.rb +364 -0
  169. data/test/test_relaxng.rb +53 -0
  170. data/test/{tc_sax_parser.rb → test_sax_parser.rb} +44 -38
  171. data/test/test_schema.rb +231 -0
  172. data/test/test_suite.rb +38 -40
  173. data/test/{tc_traversal.rb → test_traversal.rb} +5 -6
  174. data/test/{tc_writer.rb → test_writer.rb} +468 -448
  175. data/test/{tc_xinclude.rb → test_xinclude.rb} +4 -5
  176. data/test/test_xml.rb +263 -0
  177. data/test/{tc_xpath.rb → test_xpath.rb} +31 -32
  178. data/test/{tc_xpath_context.rb → test_xpath_context.rb} +8 -9
  179. data/test/test_xpath_expression.rb +37 -0
  180. data/test/{tc_xpointer.rb → test_xpointer.rb} +16 -18
  181. metadata +122 -100
  182. data/lib/libxml/ns.rb +0 -22
  183. data/lib/libxml/properties.rb +0 -23
  184. data/lib/libxml/reader.rb +0 -29
  185. data/lib/libxml/xpath_object.rb +0 -16
  186. data/test/etc_doc_to_s.rb +0 -21
  187. data/test/ets_doc_file.rb +0 -17
  188. data/test/ets_doc_to_s.rb +0 -23
  189. data/test/ets_gpx.rb +0 -28
  190. data/test/ets_node_gc.rb +0 -23
  191. data/test/ets_test.xml +0 -2
  192. data/test/ets_tsr.rb +0 -11
  193. data/test/tc_deprecated_require.rb +0 -13
  194. data/test/tc_document_write.rb +0 -196
  195. data/test/tc_error.rb +0 -180
  196. data/test/tc_html_parser.rb +0 -153
  197. data/test/tc_html_parser_context.rb +0 -24
  198. data/test/tc_namespace.rb +0 -62
  199. data/test/tc_node_xlink.rb +0 -29
  200. data/test/tc_parser.rb +0 -381
  201. data/test/tc_reader.rb +0 -400
  202. data/test/tc_relaxng.rb +0 -54
  203. data/test/tc_schema.rb +0 -162
  204. data/test/tc_xml.rb +0 -226
  205. data/test/tc_xpath_expression.rb +0 -38
@@ -1,634 +1,634 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'rubygems'
4
- require 'benchmark'
5
- require 'hpricot'
6
- require 'rexml/document'
7
- require 'xml'
8
-
9
-
10
- # Taken from http://depixelate.com/2008/4/23/ruby-xml-parsing-benchmarks
11
-
12
- XML_STRING = DATA.read
13
-
14
- class Parse
15
- def self.libxml
16
- doc = XML::Parser.string(XML_STRING).parse
17
- ary = []
18
- doc.find('/*/*/*').each do |node|
19
- case node.name
20
- when 'ItemQueryRs'
21
- node.each_element do |child|
22
- ary << child.find_first('./ListID')
23
- end
24
- end
25
- end
26
- ary
27
- end
28
-
29
- def self.rexml
30
- doc = REXML::Document.new(XML_STRING)
31
- ary = []
32
- REXML::XPath.each(doc, '/*/*/*') do |node|
33
- case node.name
34
- when 'ItemQueryRs'
35
- node.elements.each do |element|
36
- ary << rexml_fetch(element, 'ListID')
37
- end
38
- end
39
- end
40
- ary
41
- end
42
-
43
- def self.hpricot
44
- doc = Hpricot.XML(XML_STRING)
45
- ary = []
46
- response_element = doc.search('/*/*/*').each do |node|
47
- next unless node.elem?
48
- case node.name
49
- when 'ItemQueryRs'
50
- node.containers.each do |element|
51
- ary << hpricot_fetch(element/'ListID')
52
- end
53
- end
54
- end
55
- ary
56
- end
57
-
58
- # rexml helper
59
- def self.rexml_fetch(node, name)
60
- e = REXML::XPath.first(node, name)
61
- e ? e.text : nil
62
- end
63
-
64
- # hpricot helper
65
- def self.hpricot_fetch(path)
66
- return nil if path.nil? || path.empty?
67
- path = path.first if path.is_a?(Array)
68
- path.innerHTML
69
- end
70
- end
71
-
72
- TIMES = 10
73
- Benchmark.bmbm do |x|
74
- x.report('libxml') { TIMES.times { Parse.libxml } }
75
- x.report('Hpricot') { TIMES.times { Parse.hpricot } }
76
- x.report('REXML') { TIMES.times { Parse.rexml } }
77
- end
78
-
79
- __END__
80
- <?xml version="1.0"?>
81
- <QBXML>
82
- <QBXMLMsgsRs>
83
- <ItemQueryRs requestID="1" statusCode="0" statusSeverity="Info" statusMessage="Status OK">
84
- <ItemServiceRet>
85
- <ListID>240000-1071531214</ListID>
86
- <TimeCreated>2003-12-15T15:33:34-08:00</TimeCreated>
87
- <TimeModified>2003-12-15T15:34:51-08:00</TimeModified>
88
- <EditSequence>1071531291</EditSequence>
89
- <Name>Delivery</Name>
90
- <FullName>Delivery</FullName>
91
- <IsActive>true</IsActive>
92
- <Sublevel>0</Sublevel>
93
- <SalesTaxCodeRef>
94
- <ListID>20000-999021789</ListID>
95
- <FullName>Non</FullName>
96
- </SalesTaxCodeRef>
97
- <SalesOrPurchase>
98
- <Desc>Delivery Service Fee (free for orders over $100)</Desc>
99
- <Price>15.00</Price>
100
- <AccountRef>
101
- <ListID>610001-1071531179</ListID>
102
- <FullName>Service</FullName>
103
- </AccountRef>
104
- </SalesOrPurchase>
105
- </ItemServiceRet>
106
- <ItemServiceRet>
107
- <ListID>10000-934380927</ListID>
108
- <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
109
- <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
110
- <EditSequence>934380927</EditSequence>
111
- <Name>Design</Name>
112
- <FullName>Design</FullName>
113
- <IsActive>true</IsActive>
114
- <Sublevel>0</Sublevel>
115
- <SalesTaxCodeRef>
116
- <ListID>20000-999021789</ListID>
117
- <FullName>Non</FullName>
118
- </SalesTaxCodeRef>
119
- <SalesOrPurchase>
120
- <Desc>Custom Landscape Design</Desc>
121
- <Price>55.00</Price>
122
- <AccountRef>
123
- <ListID>150000-934380913</ListID>
124
- <FullName>Landscaping Services:Design Services</FullName>
125
- </AccountRef>
126
- </SalesOrPurchase>
127
- </ItemServiceRet>
128
- <ItemServiceRet>
129
- <ListID>20000-934380927</ListID>
130
- <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
131
- <TimeModified>1999-08-11T08:59:12-08:00</TimeModified>
132
- <EditSequence>934387152</EditSequence>
133
- <Name>Gardening</Name>
134
- <FullName>Gardening</FullName>
135
- <IsActive>true</IsActive>
136
- <Sublevel>0</Sublevel>
137
- <SalesTaxCodeRef>
138
- <ListID>20000-999021789</ListID>
139
- <FullName>Non</FullName>
140
- </SalesTaxCodeRef>
141
- <SalesOrPurchase>
142
- <Desc>Weekly gardening services</Desc>
143
- <Price>0.00</Price>
144
- <AccountRef>
145
- <ListID>1F0000-934380913</ListID>
146
- <FullName>Landscaping Services:Labor:Installation</FullName>
147
- </AccountRef>
148
- </SalesOrPurchase>
149
- </ItemServiceRet>
150
- <ItemServiceRet>
151
- <ListID>30000-934380927</ListID>
152
- <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
153
- <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
154
- <EditSequence>934380927</EditSequence>
155
- <Name>Installation</Name>
156
- <FullName>Installation</FullName>
157
- <IsActive>true</IsActive>
158
- <Sublevel>0</Sublevel>
159
- <SalesTaxCodeRef>
160
- <ListID>20000-999021789</ListID>
161
- <FullName>Non</FullName>
162
- </SalesTaxCodeRef>
163
- <SalesOrPurchase>
164
- <Desc>Installation of landscape design</Desc>
165
- <Price>35.00</Price>
166
- <AccountRef>
167
- <ListID>1F0000-934380913</ListID>
168
- <FullName>Landscaping Services:Labor:Installation</FullName>
169
- </AccountRef>
170
- </SalesOrPurchase>
171
- </ItemServiceRet>
172
- <ItemServiceRet>
173
- <ListID>40000-934380927</ListID>
174
- <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
175
- <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
176
- <EditSequence>934380927</EditSequence>
177
- <Name>Pest Control</Name>
178
- <FullName>Pest Control</FullName>
179
- <IsActive>true</IsActive>
180
- <Sublevel>0</Sublevel>
181
- <SalesTaxCodeRef>
182
- <ListID>20000-999021789</ListID>
183
- <FullName>Non</FullName>
184
- </SalesTaxCodeRef>
185
- <SalesOrPurchase>
186
- <Desc>Pest control services</Desc>
187
- <Price>0.00</Price>
188
- <AccountRef>
189
- <ListID>200000-934380913</ListID>
190
- <FullName>Landscaping Services:Labor:Maintenance &amp; Repairs</FullName>
191
- </AccountRef>
192
- </SalesOrPurchase>
193
- </ItemServiceRet>
194
- <ItemServiceRet>
195
- <ListID>2E0000-1071514896</ListID>
196
- <TimeCreated>2003-12-15T11:01:36-08:00</TimeCreated>
197
- <TimeModified>2003-12-15T14:42:51-08:00</TimeModified>
198
- <EditSequence>1071528171</EditSequence>
199
- <Name>Tree Removal</Name>
200
- <FullName>Tree Removal</FullName>
201
- <IsActive>true</IsActive>
202
- <Sublevel>0</Sublevel>
203
- <SalesTaxCodeRef>
204
- <ListID>20000-999021789</ListID>
205
- <FullName>Non</FullName>
206
- </SalesTaxCodeRef>
207
- <SalesOrPurchase>
208
- <Desc>Tree Removal Service</Desc>
209
- <Price>0.00</Price>
210
- <AccountRef>
211
- <ListID>610001-1071531179</ListID>
212
- <FullName>Service</FullName>
213
- </AccountRef>
214
- </SalesOrPurchase>
215
- </ItemServiceRet>
216
- <ItemServiceRet>
217
- <ListID>50000-934380927</ListID>
218
- <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
219
- <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
220
- <EditSequence>934380927</EditSequence>
221
- <Name>Trimming</Name>
222
- <FullName>Trimming</FullName>
223
- <IsActive>true</IsActive>
224
- <Sublevel>0</Sublevel>
225
- <SalesTaxCodeRef>
226
- <ListID>20000-999021789</ListID>
227
- <FullName>Non</FullName>
228
- </SalesTaxCodeRef>
229
- <SalesOrPurchase>
230
- <Desc>Tree and shrub trimming</Desc>
231
- <Price>35.00</Price>
232
- <AccountRef>
233
- <ListID>200000-934380913</ListID>
234
- <FullName>Landscaping Services:Labor:Maintenance &amp; Repairs</FullName>
235
- </AccountRef>
236
- </SalesOrPurchase>
237
- </ItemServiceRet>
238
- <ItemNonInventoryRet>
239
- <ListID>B0000-934380927</ListID>
240
- <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
241
- <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
242
- <EditSequence>934380927</EditSequence>
243
- <Name>Concrete</Name>
244
- <FullName>Concrete</FullName>
245
- <IsActive>true</IsActive>
246
- <Sublevel>0</Sublevel>
247
- <SalesTaxCodeRef>
248
- <ListID>10000-999021789</ListID>
249
- <FullName>Tax</FullName>
250
- </SalesTaxCodeRef>
251
- <SalesOrPurchase>
252
- <Desc>Concrete for fountain installation</Desc>
253
- <Price>0.00</Price>
254
- <AccountRef>
255
- <ListID>1B0000-934380913</ListID>
256
- <FullName>Landscaping Services:Job Materials:Fountains &amp; Garden Lighting</FullName>
257
- </AccountRef>
258
- </SalesOrPurchase>
259
- </ItemNonInventoryRet>
260
- <ItemNonInventoryRet>
261
- <ListID>C0000-934380927</ListID>
262
- <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
263
- <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
264
- <EditSequence>934380927</EditSequence>
265
- <Name>Deck Lumber</Name>
266
- <FullName>Deck Lumber</FullName>
267
- <IsActive>true</IsActive>
268
- <Sublevel>0</Sublevel>
269
- <SalesTaxCodeRef>
270
- <ListID>10000-999021789</ListID>
271
- <FullName>Tax</FullName>
272
- </SalesTaxCodeRef>
273
- <SalesOrPurchase>
274
- <Desc>Deck Lumber</Desc>
275
- <Price>0.00</Price>
276
- <AccountRef>
277
- <ListID>1A0000-934380913</ListID>
278
- <FullName>Landscaping Services:Job Materials:Decks &amp; Patios</FullName>
279
- </AccountRef>
280
- </SalesOrPurchase>
281
- </ItemNonInventoryRet>
282
- <ItemNonInventoryRet>
283
- <ListID>210000-1071530240</ListID>
284
- <TimeCreated>2003-12-15T15:17:20-08:00</TimeCreated>
285
- <TimeModified>2003-12-15T15:17:20-08:00</TimeModified>
286
- <EditSequence>1071530240</EditSequence>
287
- <Name>Fertilizer</Name>
288
- <FullName>Fertilizer</FullName>
289
- <IsActive>true</IsActive>
290
- <Sublevel>0</Sublevel>
291
- <SalesTaxCodeRef>
292
- <ListID>10000-999021789</ListID>
293
- <FullName>Tax</FullName>
294
- </SalesTaxCodeRef>
295
- <SalesOrPurchase>
296
- <Desc>Parent Item - Do Not Use</Desc>
297
- <Price>0.00</Price>
298
- <AccountRef>
299
- <ListID>600001-1071530232</ListID>
300
- <FullName>Retail Sales</FullName>
301
- </AccountRef>
302
- </SalesOrPurchase>
303
- </ItemNonInventoryRet>
304
- <ItemInventoryRet>
305
- <ListID>250000-1071523682</ListID>
306
- <TimeCreated>2003-12-15T13:28:02-08:00</TimeCreated>
307
- <TimeModified>2003-12-15T13:44:20-08:00</TimeModified>
308
- <EditSequence>1071524660</EditSequence>
309
- <Name>Irrigation Hose</Name>
310
- <FullName>Irrigation Hose</FullName>
311
- <IsActive>true</IsActive>
312
- <Sublevel>0</Sublevel>
313
- <SalesTaxCodeRef>
314
- <ListID>10000-999021789</ListID>
315
- <FullName>Tax</FullName>
316
- </SalesTaxCodeRef>
317
- <SalesDesc>Parent Item Vinyl Irrigation Line- Do Not Purchase or Sell</SalesDesc>
318
- <SalesPrice>0.00</SalesPrice>
319
- <IncomeAccountRef>
320
- <ListID>690001-1071523679</ListID>
321
- <FullName>Landscaping Services:Job Materials:Misc Materials</FullName>
322
- </IncomeAccountRef>
323
- <PurchaseDesc>Vinyl Irrigation LineParent Item - Do Not Purchase or Sell</PurchaseDesc>
324
- <PurchaseCost>0.00</PurchaseCost>
325
- <COGSAccountRef>
326
- <ListID>240000-934380913</ListID>
327
- <FullName>Cost of Goods Sold</FullName>
328
- </COGSAccountRef>
329
- <AssetAccountRef>
330
- <ListID>60000-934380912</ListID>
331
- <FullName>Inventory Asset</FullName>
332
- </AssetAccountRef>
333
- <ReorderPoint>-1</ReorderPoint>
334
- <QuantityOnHand>0</QuantityOnHand>
335
- <AverageCost>0.00</AverageCost>
336
- <QuantityOnOrder>0</QuantityOnOrder>
337
- <QuantityOnSalesOrder>0</QuantityOnSalesOrder>
338
- </ItemInventoryRet>
339
- <ItemInventoryRet>
340
- <ListID>270000-1071524193</ListID>
341
- <TimeCreated>2003-12-15T13:36:33-08:00</TimeCreated>
342
- <TimeModified>2003-12-15T13:38:13-08:00</TimeModified>
343
- <EditSequence>1071524293</EditSequence>
344
- <Name>1/2" Line</Name>
345
- <FullName>Irrigation Hose:1/2" Line</FullName>
346
- <IsActive>true</IsActive>
347
- <ParentRef>
348
- <ListID>250000-1071523682</ListID>
349
- <FullName>Irrigation Hose</FullName>
350
- </ParentRef>
351
- <Sublevel>1</Sublevel>
352
- <SalesTaxCodeRef>
353
- <ListID>10000-999021789</ListID>
354
- <FullName>Tax</FullName>
355
- </SalesTaxCodeRef>
356
- <SalesDesc>1/2" Vinyl Irrigation Line</SalesDesc>
357
- <SalesPrice>0.15</SalesPrice>
358
- <IncomeAccountRef>
359
- <ListID>690001-1071523679</ListID>
360
- <FullName>Landscaping Services:Job Materials:Misc Materials</FullName>
361
- </IncomeAccountRef>
362
- <PurchaseDesc>1/2" Vinyl Irrigation Line</PurchaseDesc>
363
- <PurchaseCost>0.12</PurchaseCost>
364
- <COGSAccountRef>
365
- <ListID>240000-934380913</ListID>
366
- <FullName>Cost of Goods Sold</FullName>
367
- </COGSAccountRef>
368
- <AssetAccountRef>
369
- <ListID>60000-934380912</ListID>
370
- <FullName>Inventory Asset</FullName>
371
- </AssetAccountRef>
372
- <ReorderPoint>1500</ReorderPoint>
373
- <QuantityOnHand>1783</QuantityOnHand>
374
- <AverageCost>0.12</AverageCost>
375
- <QuantityOnOrder>0</QuantityOnOrder>
376
- <QuantityOnSalesOrder>0</QuantityOnSalesOrder>
377
- </ItemInventoryRet>
378
- <ItemInventoryRet>
379
- <ListID>260000-1071523858</ListID>
380
- <TimeCreated>2003-12-15T13:30:58-08:00</TimeCreated>
381
- <TimeModified>2003-12-15T13:37:52-08:00</TimeModified>
382
- <EditSequence>1071524272</EditSequence>
383
- <Name>1/4" Line</Name>
384
- <FullName>Irrigation Hose:1/4" Line</FullName>
385
- <IsActive>true</IsActive>
386
- <ParentRef>
387
- <ListID>250000-1071523682</ListID>
388
- <FullName>Irrigation Hose</FullName>
389
- </ParentRef>
390
- <Sublevel>1</Sublevel>
391
- <SalesTaxCodeRef>
392
- <ListID>10000-999021789</ListID>
393
- <FullName>Tax</FullName>
394
- </SalesTaxCodeRef>
395
- <SalesDesc>1/4" Vinyl Irrigation Line</SalesDesc>
396
- <SalesPrice>0.10</SalesPrice>
397
- <IncomeAccountRef>
398
- <ListID>690001-1071523679</ListID>
399
- <FullName>Landscaping Services:Job Materials:Misc Materials</FullName>
400
- </IncomeAccountRef>
401
- <PurchaseDesc>1/4" Vinyl Irrigation Line</PurchaseDesc>
402
- <PurchaseCost>0.07</PurchaseCost>
403
- <COGSAccountRef>
404
- <ListID>240000-934380913</ListID>
405
- <FullName>Cost of Goods Sold</FullName>
406
- </COGSAccountRef>
407
- <AssetAccountRef>
408
- <ListID>60000-934380912</ListID>
409
- <FullName>Inventory Asset</FullName>
410
- </AssetAccountRef>
411
- <ReorderPoint>500</ReorderPoint>
412
- <QuantityOnHand>1235</QuantityOnHand>
413
- <AverageCost>0.07</AverageCost>
414
- <QuantityOnOrder>0</QuantityOnOrder>
415
- <QuantityOnSalesOrder>0</QuantityOnSalesOrder>
416
- </ItemInventoryRet>
417
- <ItemInventoryRet>
418
- <ListID>280000-1071524260</ListID>
419
- <TimeCreated>2003-12-15T13:37:40-08:00</TimeCreated>
420
- <TimeModified>2003-12-15T13:37:40-08:00</TimeModified>
421
- <EditSequence>1071524260</EditSequence>
422
- <Name>3/4" Line</Name>
423
- <FullName>Irrigation Hose:3/4" Line</FullName>
424
- <IsActive>true</IsActive>
425
- <ParentRef>
426
- <ListID>250000-1071523682</ListID>
427
- <FullName>Irrigation Hose</FullName>
428
- </ParentRef>
429
- <Sublevel>1</Sublevel>
430
- <SalesTaxCodeRef>
431
- <ListID>10000-999021789</ListID>
432
- <FullName>Tax</FullName>
433
- </SalesTaxCodeRef>
434
- <SalesDesc>3/4" Vinyl Irrigation Line</SalesDesc>
435
- <SalesPrice>0.27</SalesPrice>
436
- <IncomeAccountRef>
437
- <ListID>690001-1071523679</ListID>
438
- <FullName>Landscaping Services:Job Materials:Misc Materials</FullName>
439
- </IncomeAccountRef>
440
- <PurchaseDesc>3/4" Vinyl Irrigation Line</PurchaseDesc>
441
- <PurchaseCost>0.18</PurchaseCost>
442
- <COGSAccountRef>
443
- <ListID>240000-934380913</ListID>
444
- <FullName>Cost of Goods Sold</FullName>
445
- </COGSAccountRef>
446
- <AssetAccountRef>
447
- <ListID>60000-934380912</ListID>
448
- <FullName>Inventory Asset</FullName>
449
- </AssetAccountRef>
450
- <ReorderPoint>1500</ReorderPoint>
451
- <QuantityOnHand>2670</QuantityOnHand>
452
- <AverageCost>0.18</AverageCost>
453
- <QuantityOnOrder>0</QuantityOnOrder>
454
- <QuantityOnSalesOrder>0</QuantityOnSalesOrder>
455
- </ItemInventoryRet>
456
- <ItemInventoryRet>
457
- <ListID>60000-934380927</ListID>
458
- <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
459
- <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
460
- <EditSequence>934380927</EditSequence>
461
- <Name>Lighting</Name>
462
- <FullName>Lighting</FullName>
463
- <IsActive>true</IsActive>
464
- <Sublevel>0</Sublevel>
465
- <SalesTaxCodeRef>
466
- <ListID>10000-999021789</ListID>
467
- <FullName>Tax</FullName>
468
- </SalesTaxCodeRef>
469
- <SalesDesc>Garden Lighting</SalesDesc>
470
- <SalesPrice>0.00</SalesPrice>
471
- <IncomeAccountRef>
472
- <ListID>1B0000-934380913</ListID>
473
- <FullName>Landscaping Services:Job Materials:Fountains &amp; Garden Lighting</FullName>
474
- </IncomeAccountRef>
475
- <PurchaseDesc>Garden Lighting</PurchaseDesc>
476
- <PurchaseCost>0.00</PurchaseCost>
477
- <COGSAccountRef>
478
- <ListID>240000-934380913</ListID>
479
- <FullName>Cost of Goods Sold</FullName>
480
- </COGSAccountRef>
481
- <AssetAccountRef>
482
- <ListID>60000-934380912</ListID>
483
- <FullName>Inventory Asset</FullName>
484
- </AssetAccountRef>
485
- <QuantityOnHand>94</QuantityOnHand>
486
- <AverageCost>14.80</AverageCost>
487
- <QuantityOnOrder>28</QuantityOnOrder>
488
- <QuantityOnSalesOrder>0</QuantityOnSalesOrder>
489
- </ItemInventoryRet>
490
- <ItemInventoryRet>
491
- <ListID>70000-934380927</ListID>
492
- <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
493
- <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
494
- <EditSequence>934380927</EditSequence>
495
- <Name>Pump</Name>
496
- <FullName>Pump</FullName>
497
- <IsActive>true</IsActive>
498
- <Sublevel>0</Sublevel>
499
- <SalesTaxCodeRef>
500
- <ListID>10000-999021789</ListID>
501
- <FullName>Tax</FullName>
502
- </SalesTaxCodeRef>
503
- <SalesDesc>Fountain pump</SalesDesc>
504
- <SalesPrice>75.00</SalesPrice>
505
- <IncomeAccountRef>
506
- <ListID>1B0000-934380913</ListID>
507
- <FullName>Landscaping Services:Job Materials:Fountains &amp; Garden Lighting</FullName>
508
- </IncomeAccountRef>
509
- <PurchaseDesc>Fountain pump #198-30</PurchaseDesc>
510
- <PurchaseCost>56.00</PurchaseCost>
511
- <COGSAccountRef>
512
- <ListID>240000-934380913</ListID>
513
- <FullName>Cost of Goods Sold</FullName>
514
- </COGSAccountRef>
515
- <AssetAccountRef>
516
- <ListID>60000-934380912</ListID>
517
- <FullName>Inventory Asset</FullName>
518
- </AssetAccountRef>
519
- <QuantityOnHand>48</QuantityOnHand>
520
- <AverageCost>53.93</AverageCost>
521
- <QuantityOnOrder>0</QuantityOnOrder>
522
- <QuantityOnSalesOrder>0</QuantityOnSalesOrder>
523
- </ItemInventoryRet>
524
- <ItemInventoryRet>
525
- <ListID>80000-934380927</ListID>
526
- <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
527
- <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
528
- <EditSequence>934380927</EditSequence>
529
- <Name>Soil</Name>
530
- <FullName>Soil</FullName>
531
- <IsActive>true</IsActive>
532
- <Sublevel>0</Sublevel>
533
- <SalesTaxCodeRef>
534
- <ListID>10000-999021789</ListID>
535
- <FullName>Tax</FullName>
536
- </SalesTaxCodeRef>
537
- <SalesDesc>Soil, 2 cubic ft bag</SalesDesc>
538
- <SalesPrice>6.75</SalesPrice>
539
- <IncomeAccountRef>
540
- <ListID>1C0000-934380913</ListID>
541
- <FullName>Landscaping Services:Job Materials:Plants and Sod</FullName>
542
- </IncomeAccountRef>
543
- <PurchaseDesc>Soil, 2 cubic ft bag</PurchaseDesc>
544
- <PurchaseCost>5.30</PurchaseCost>
545
- <COGSAccountRef>
546
- <ListID>240000-934380913</ListID>
547
- <FullName>Cost of Goods Sold</FullName>
548
- </COGSAccountRef>
549
- <PrefVendorRef>
550
- <ListID>10000-934380927</ListID>
551
- <FullName>Middlefield Nursery</FullName>
552
- </PrefVendorRef>
553
- <AssetAccountRef>
554
- <ListID>60000-934380912</ListID>
555
- <FullName>Inventory Asset</FullName>
556
- </AssetAccountRef>
557
- <ReorderPoint>25</ReorderPoint>
558
- <QuantityOnHand>0</QuantityOnHand>
559
- <AverageCost>5.30</AverageCost>
560
- <QuantityOnOrder>6</QuantityOnOrder>
561
- <QuantityOnSalesOrder>10</QuantityOnSalesOrder>
562
- </ItemInventoryRet>
563
- <ItemInventoryRet>
564
- <ListID>90000-934380927</ListID>
565
- <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
566
- <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
567
- <EditSequence>934380927</EditSequence>
568
- <Name>Sprinkler Hds</Name>
569
- <FullName>Sprinkler Hds</FullName>
570
- <IsActive>true</IsActive>
571
- <Sublevel>0</Sublevel>
572
- <SalesTaxCodeRef>
573
- <ListID>10000-999021789</ListID>
574
- <FullName>Tax</FullName>
575
- </SalesTaxCodeRef>
576
- <SalesDesc>Sprinkler heads</SalesDesc>
577
- <SalesPrice>0.00</SalesPrice>
578
- <IncomeAccountRef>
579
- <ListID>1D0000-934380913</ListID>
580
- <FullName>Landscaping Services:Job Materials:Sprinklers &amp; Drip systems</FullName>
581
- </IncomeAccountRef>
582
- <PurchaseDesc>Sprinkler head #BLS9081-09</PurchaseDesc>
583
- <PurchaseCost>0.00</PurchaseCost>
584
- <COGSAccountRef>
585
- <ListID>240000-934380913</ListID>
586
- <FullName>Cost of Goods Sold</FullName>
587
- </COGSAccountRef>
588
- <AssetAccountRef>
589
- <ListID>60000-934380912</ListID>
590
- <FullName>Inventory Asset</FullName>
591
- </AssetAccountRef>
592
- <QuantityOnHand>69</QuantityOnHand>
593
- <AverageCost>6.38</AverageCost>
594
- <QuantityOnOrder>36</QuantityOnOrder>
595
- <QuantityOnSalesOrder>0</QuantityOnSalesOrder>
596
- </ItemInventoryRet>
597
- <ItemInventoryRet>
598
- <ListID>A0000-934380927</ListID>
599
- <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
600
- <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
601
- <EditSequence>934380927</EditSequence>
602
- <Name>Sprkl pipes</Name>
603
- <FullName>Sprkl pipes</FullName>
604
- <IsActive>true</IsActive>
605
- <Sublevel>0</Sublevel>
606
- <SalesTaxCodeRef>
607
- <ListID>10000-999021789</ListID>
608
- <FullName>Tax</FullName>
609
- </SalesTaxCodeRef>
610
- <SalesDesc>Plastic sprinkler piping</SalesDesc>
611
- <SalesPrice>2.75</SalesPrice>
612
- <IncomeAccountRef>
613
- <ListID>1D0000-934380913</ListID>
614
- <FullName>Landscaping Services:Job Materials:Sprinklers &amp; Drip systems</FullName>
615
- </IncomeAccountRef>
616
- <PurchaseDesc>Plastic sprinkler piping #1098-20</PurchaseDesc>
617
- <PurchaseCost>2.10</PurchaseCost>
618
- <COGSAccountRef>
619
- <ListID>240000-934380913</ListID>
620
- <FullName>Cost of Goods Sold</FullName>
621
- </COGSAccountRef>
622
- <AssetAccountRef>
623
- <ListID>60000-934380912</ListID>
624
- <FullName>Inventory Asset</FullName>
625
- </AssetAccountRef>
626
- <ReorderPoint>250</ReorderPoint>
627
- <QuantityOnHand>826</QuantityOnHand>
628
- <AverageCost>2.10</AverageCost>
629
- <QuantityOnOrder>115</QuantityOnOrder>
630
- <QuantityOnSalesOrder>0</QuantityOnSalesOrder>
631
- </ItemInventoryRet>
632
- </ItemQueryRs>
633
- </QBXMLMsgsRs>
634
- </QBXML>
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require 'benchmark'
5
+ require 'hpricot'
6
+ require 'rexml/document'
7
+ require 'xml'
8
+
9
+
10
+ # Taken from http://depixelate.com/2008/4/23/ruby-xml-parsing-benchmarks
11
+
12
+ XML_STRING = DATA.read
13
+
14
+ class Parse
15
+ def self.libxml
16
+ doc = XML::Parser.string(XML_STRING).parse
17
+ ary = []
18
+ doc.find('/*/*/*').each do |node|
19
+ case node.name
20
+ when 'ItemQueryRs'
21
+ node.each_element do |child|
22
+ ary << child.find_first('./ListID')
23
+ end
24
+ end
25
+ end
26
+ ary
27
+ end
28
+
29
+ def self.rexml
30
+ doc = REXML::Document.new(XML_STRING)
31
+ ary = []
32
+ REXML::XPath.each(doc, '/*/*/*') do |node|
33
+ case node.name
34
+ when 'ItemQueryRs'
35
+ node.elements.each do |element|
36
+ ary << rexml_fetch(element, 'ListID')
37
+ end
38
+ end
39
+ end
40
+ ary
41
+ end
42
+
43
+ def self.hpricot
44
+ doc = Hpricot.XML(XML_STRING)
45
+ ary = []
46
+ response_element = doc.search('/*/*/*').each do |node|
47
+ next unless node.elem?
48
+ case node.name
49
+ when 'ItemQueryRs'
50
+ node.containers.each do |element|
51
+ ary << hpricot_fetch(element/'ListID')
52
+ end
53
+ end
54
+ end
55
+ ary
56
+ end
57
+
58
+ # rexml helper
59
+ def self.rexml_fetch(node, name)
60
+ e = REXML::XPath.first(node, name)
61
+ e ? e.text : nil
62
+ end
63
+
64
+ # hpricot helper
65
+ def self.hpricot_fetch(path)
66
+ return nil if path.nil? || path.empty?
67
+ path = path.first if path.is_a?(Array)
68
+ path.innerHTML
69
+ end
70
+ end
71
+
72
+ TIMES = 10
73
+ Benchmark.bmbm do |x|
74
+ x.report('libxml') { TIMES.times { Parse.libxml } }
75
+ x.report('Hpricot') { TIMES.times { Parse.hpricot } }
76
+ x.report('REXML') { TIMES.times { Parse.rexml } }
77
+ end
78
+
79
+ __END__
80
+ <?xml version="1.0"?>
81
+ <QBXML>
82
+ <QBXMLMsgsRs>
83
+ <ItemQueryRs requestID="1" statusCode="0" statusSeverity="Info" statusMessage="Status OK">
84
+ <ItemServiceRet>
85
+ <ListID>240000-1071531214</ListID>
86
+ <TimeCreated>2003-12-15T15:33:34-08:00</TimeCreated>
87
+ <TimeModified>2003-12-15T15:34:51-08:00</TimeModified>
88
+ <EditSequence>1071531291</EditSequence>
89
+ <Name>Delivery</Name>
90
+ <FullName>Delivery</FullName>
91
+ <IsActive>true</IsActive>
92
+ <Sublevel>0</Sublevel>
93
+ <SalesTaxCodeRef>
94
+ <ListID>20000-999021789</ListID>
95
+ <FullName>Non</FullName>
96
+ </SalesTaxCodeRef>
97
+ <SalesOrPurchase>
98
+ <Desc>Delivery Service Fee (free for orders over $100)</Desc>
99
+ <Price>15.00</Price>
100
+ <AccountRef>
101
+ <ListID>610001-1071531179</ListID>
102
+ <FullName>Service</FullName>
103
+ </AccountRef>
104
+ </SalesOrPurchase>
105
+ </ItemServiceRet>
106
+ <ItemServiceRet>
107
+ <ListID>10000-934380927</ListID>
108
+ <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
109
+ <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
110
+ <EditSequence>934380927</EditSequence>
111
+ <Name>Design</Name>
112
+ <FullName>Design</FullName>
113
+ <IsActive>true</IsActive>
114
+ <Sublevel>0</Sublevel>
115
+ <SalesTaxCodeRef>
116
+ <ListID>20000-999021789</ListID>
117
+ <FullName>Non</FullName>
118
+ </SalesTaxCodeRef>
119
+ <SalesOrPurchase>
120
+ <Desc>Custom Landscape Design</Desc>
121
+ <Price>55.00</Price>
122
+ <AccountRef>
123
+ <ListID>150000-934380913</ListID>
124
+ <FullName>Landscaping Services:Design Services</FullName>
125
+ </AccountRef>
126
+ </SalesOrPurchase>
127
+ </ItemServiceRet>
128
+ <ItemServiceRet>
129
+ <ListID>20000-934380927</ListID>
130
+ <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
131
+ <TimeModified>1999-08-11T08:59:12-08:00</TimeModified>
132
+ <EditSequence>934387152</EditSequence>
133
+ <Name>Gardening</Name>
134
+ <FullName>Gardening</FullName>
135
+ <IsActive>true</IsActive>
136
+ <Sublevel>0</Sublevel>
137
+ <SalesTaxCodeRef>
138
+ <ListID>20000-999021789</ListID>
139
+ <FullName>Non</FullName>
140
+ </SalesTaxCodeRef>
141
+ <SalesOrPurchase>
142
+ <Desc>Weekly gardening services</Desc>
143
+ <Price>0.00</Price>
144
+ <AccountRef>
145
+ <ListID>1F0000-934380913</ListID>
146
+ <FullName>Landscaping Services:Labor:Installation</FullName>
147
+ </AccountRef>
148
+ </SalesOrPurchase>
149
+ </ItemServiceRet>
150
+ <ItemServiceRet>
151
+ <ListID>30000-934380927</ListID>
152
+ <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
153
+ <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
154
+ <EditSequence>934380927</EditSequence>
155
+ <Name>Installation</Name>
156
+ <FullName>Installation</FullName>
157
+ <IsActive>true</IsActive>
158
+ <Sublevel>0</Sublevel>
159
+ <SalesTaxCodeRef>
160
+ <ListID>20000-999021789</ListID>
161
+ <FullName>Non</FullName>
162
+ </SalesTaxCodeRef>
163
+ <SalesOrPurchase>
164
+ <Desc>Installation of landscape design</Desc>
165
+ <Price>35.00</Price>
166
+ <AccountRef>
167
+ <ListID>1F0000-934380913</ListID>
168
+ <FullName>Landscaping Services:Labor:Installation</FullName>
169
+ </AccountRef>
170
+ </SalesOrPurchase>
171
+ </ItemServiceRet>
172
+ <ItemServiceRet>
173
+ <ListID>40000-934380927</ListID>
174
+ <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
175
+ <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
176
+ <EditSequence>934380927</EditSequence>
177
+ <Name>Pest Control</Name>
178
+ <FullName>Pest Control</FullName>
179
+ <IsActive>true</IsActive>
180
+ <Sublevel>0</Sublevel>
181
+ <SalesTaxCodeRef>
182
+ <ListID>20000-999021789</ListID>
183
+ <FullName>Non</FullName>
184
+ </SalesTaxCodeRef>
185
+ <SalesOrPurchase>
186
+ <Desc>Pest control services</Desc>
187
+ <Price>0.00</Price>
188
+ <AccountRef>
189
+ <ListID>200000-934380913</ListID>
190
+ <FullName>Landscaping Services:Labor:Maintenance &amp; Repairs</FullName>
191
+ </AccountRef>
192
+ </SalesOrPurchase>
193
+ </ItemServiceRet>
194
+ <ItemServiceRet>
195
+ <ListID>2E0000-1071514896</ListID>
196
+ <TimeCreated>2003-12-15T11:01:36-08:00</TimeCreated>
197
+ <TimeModified>2003-12-15T14:42:51-08:00</TimeModified>
198
+ <EditSequence>1071528171</EditSequence>
199
+ <Name>Tree Removal</Name>
200
+ <FullName>Tree Removal</FullName>
201
+ <IsActive>true</IsActive>
202
+ <Sublevel>0</Sublevel>
203
+ <SalesTaxCodeRef>
204
+ <ListID>20000-999021789</ListID>
205
+ <FullName>Non</FullName>
206
+ </SalesTaxCodeRef>
207
+ <SalesOrPurchase>
208
+ <Desc>Tree Removal Service</Desc>
209
+ <Price>0.00</Price>
210
+ <AccountRef>
211
+ <ListID>610001-1071531179</ListID>
212
+ <FullName>Service</FullName>
213
+ </AccountRef>
214
+ </SalesOrPurchase>
215
+ </ItemServiceRet>
216
+ <ItemServiceRet>
217
+ <ListID>50000-934380927</ListID>
218
+ <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
219
+ <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
220
+ <EditSequence>934380927</EditSequence>
221
+ <Name>Trimming</Name>
222
+ <FullName>Trimming</FullName>
223
+ <IsActive>true</IsActive>
224
+ <Sublevel>0</Sublevel>
225
+ <SalesTaxCodeRef>
226
+ <ListID>20000-999021789</ListID>
227
+ <FullName>Non</FullName>
228
+ </SalesTaxCodeRef>
229
+ <SalesOrPurchase>
230
+ <Desc>Tree and shrub trimming</Desc>
231
+ <Price>35.00</Price>
232
+ <AccountRef>
233
+ <ListID>200000-934380913</ListID>
234
+ <FullName>Landscaping Services:Labor:Maintenance &amp; Repairs</FullName>
235
+ </AccountRef>
236
+ </SalesOrPurchase>
237
+ </ItemServiceRet>
238
+ <ItemNonInventoryRet>
239
+ <ListID>B0000-934380927</ListID>
240
+ <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
241
+ <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
242
+ <EditSequence>934380927</EditSequence>
243
+ <Name>Concrete</Name>
244
+ <FullName>Concrete</FullName>
245
+ <IsActive>true</IsActive>
246
+ <Sublevel>0</Sublevel>
247
+ <SalesTaxCodeRef>
248
+ <ListID>10000-999021789</ListID>
249
+ <FullName>Tax</FullName>
250
+ </SalesTaxCodeRef>
251
+ <SalesOrPurchase>
252
+ <Desc>Concrete for fountain installation</Desc>
253
+ <Price>0.00</Price>
254
+ <AccountRef>
255
+ <ListID>1B0000-934380913</ListID>
256
+ <FullName>Landscaping Services:Job Materials:Fountains &amp; Garden Lighting</FullName>
257
+ </AccountRef>
258
+ </SalesOrPurchase>
259
+ </ItemNonInventoryRet>
260
+ <ItemNonInventoryRet>
261
+ <ListID>C0000-934380927</ListID>
262
+ <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
263
+ <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
264
+ <EditSequence>934380927</EditSequence>
265
+ <Name>Deck Lumber</Name>
266
+ <FullName>Deck Lumber</FullName>
267
+ <IsActive>true</IsActive>
268
+ <Sublevel>0</Sublevel>
269
+ <SalesTaxCodeRef>
270
+ <ListID>10000-999021789</ListID>
271
+ <FullName>Tax</FullName>
272
+ </SalesTaxCodeRef>
273
+ <SalesOrPurchase>
274
+ <Desc>Deck Lumber</Desc>
275
+ <Price>0.00</Price>
276
+ <AccountRef>
277
+ <ListID>1A0000-934380913</ListID>
278
+ <FullName>Landscaping Services:Job Materials:Decks &amp; Patios</FullName>
279
+ </AccountRef>
280
+ </SalesOrPurchase>
281
+ </ItemNonInventoryRet>
282
+ <ItemNonInventoryRet>
283
+ <ListID>210000-1071530240</ListID>
284
+ <TimeCreated>2003-12-15T15:17:20-08:00</TimeCreated>
285
+ <TimeModified>2003-12-15T15:17:20-08:00</TimeModified>
286
+ <EditSequence>1071530240</EditSequence>
287
+ <Name>Fertilizer</Name>
288
+ <FullName>Fertilizer</FullName>
289
+ <IsActive>true</IsActive>
290
+ <Sublevel>0</Sublevel>
291
+ <SalesTaxCodeRef>
292
+ <ListID>10000-999021789</ListID>
293
+ <FullName>Tax</FullName>
294
+ </SalesTaxCodeRef>
295
+ <SalesOrPurchase>
296
+ <Desc>Parent Item - Do Not Use</Desc>
297
+ <Price>0.00</Price>
298
+ <AccountRef>
299
+ <ListID>600001-1071530232</ListID>
300
+ <FullName>Retail Sales</FullName>
301
+ </AccountRef>
302
+ </SalesOrPurchase>
303
+ </ItemNonInventoryRet>
304
+ <ItemInventoryRet>
305
+ <ListID>250000-1071523682</ListID>
306
+ <TimeCreated>2003-12-15T13:28:02-08:00</TimeCreated>
307
+ <TimeModified>2003-12-15T13:44:20-08:00</TimeModified>
308
+ <EditSequence>1071524660</EditSequence>
309
+ <Name>Irrigation Hose</Name>
310
+ <FullName>Irrigation Hose</FullName>
311
+ <IsActive>true</IsActive>
312
+ <Sublevel>0</Sublevel>
313
+ <SalesTaxCodeRef>
314
+ <ListID>10000-999021789</ListID>
315
+ <FullName>Tax</FullName>
316
+ </SalesTaxCodeRef>
317
+ <SalesDesc>Parent Item Vinyl Irrigation Line- Do Not Purchase or Sell</SalesDesc>
318
+ <SalesPrice>0.00</SalesPrice>
319
+ <IncomeAccountRef>
320
+ <ListID>690001-1071523679</ListID>
321
+ <FullName>Landscaping Services:Job Materials:Misc Materials</FullName>
322
+ </IncomeAccountRef>
323
+ <PurchaseDesc>Vinyl Irrigation LineParent Item - Do Not Purchase or Sell</PurchaseDesc>
324
+ <PurchaseCost>0.00</PurchaseCost>
325
+ <COGSAccountRef>
326
+ <ListID>240000-934380913</ListID>
327
+ <FullName>Cost of Goods Sold</FullName>
328
+ </COGSAccountRef>
329
+ <AssetAccountRef>
330
+ <ListID>60000-934380912</ListID>
331
+ <FullName>Inventory Asset</FullName>
332
+ </AssetAccountRef>
333
+ <ReorderPoint>-1</ReorderPoint>
334
+ <QuantityOnHand>0</QuantityOnHand>
335
+ <AverageCost>0.00</AverageCost>
336
+ <QuantityOnOrder>0</QuantityOnOrder>
337
+ <QuantityOnSalesOrder>0</QuantityOnSalesOrder>
338
+ </ItemInventoryRet>
339
+ <ItemInventoryRet>
340
+ <ListID>270000-1071524193</ListID>
341
+ <TimeCreated>2003-12-15T13:36:33-08:00</TimeCreated>
342
+ <TimeModified>2003-12-15T13:38:13-08:00</TimeModified>
343
+ <EditSequence>1071524293</EditSequence>
344
+ <Name>1/2" Line</Name>
345
+ <FullName>Irrigation Hose:1/2" Line</FullName>
346
+ <IsActive>true</IsActive>
347
+ <ParentRef>
348
+ <ListID>250000-1071523682</ListID>
349
+ <FullName>Irrigation Hose</FullName>
350
+ </ParentRef>
351
+ <Sublevel>1</Sublevel>
352
+ <SalesTaxCodeRef>
353
+ <ListID>10000-999021789</ListID>
354
+ <FullName>Tax</FullName>
355
+ </SalesTaxCodeRef>
356
+ <SalesDesc>1/2" Vinyl Irrigation Line</SalesDesc>
357
+ <SalesPrice>0.15</SalesPrice>
358
+ <IncomeAccountRef>
359
+ <ListID>690001-1071523679</ListID>
360
+ <FullName>Landscaping Services:Job Materials:Misc Materials</FullName>
361
+ </IncomeAccountRef>
362
+ <PurchaseDesc>1/2" Vinyl Irrigation Line</PurchaseDesc>
363
+ <PurchaseCost>0.12</PurchaseCost>
364
+ <COGSAccountRef>
365
+ <ListID>240000-934380913</ListID>
366
+ <FullName>Cost of Goods Sold</FullName>
367
+ </COGSAccountRef>
368
+ <AssetAccountRef>
369
+ <ListID>60000-934380912</ListID>
370
+ <FullName>Inventory Asset</FullName>
371
+ </AssetAccountRef>
372
+ <ReorderPoint>1500</ReorderPoint>
373
+ <QuantityOnHand>1783</QuantityOnHand>
374
+ <AverageCost>0.12</AverageCost>
375
+ <QuantityOnOrder>0</QuantityOnOrder>
376
+ <QuantityOnSalesOrder>0</QuantityOnSalesOrder>
377
+ </ItemInventoryRet>
378
+ <ItemInventoryRet>
379
+ <ListID>260000-1071523858</ListID>
380
+ <TimeCreated>2003-12-15T13:30:58-08:00</TimeCreated>
381
+ <TimeModified>2003-12-15T13:37:52-08:00</TimeModified>
382
+ <EditSequence>1071524272</EditSequence>
383
+ <Name>1/4" Line</Name>
384
+ <FullName>Irrigation Hose:1/4" Line</FullName>
385
+ <IsActive>true</IsActive>
386
+ <ParentRef>
387
+ <ListID>250000-1071523682</ListID>
388
+ <FullName>Irrigation Hose</FullName>
389
+ </ParentRef>
390
+ <Sublevel>1</Sublevel>
391
+ <SalesTaxCodeRef>
392
+ <ListID>10000-999021789</ListID>
393
+ <FullName>Tax</FullName>
394
+ </SalesTaxCodeRef>
395
+ <SalesDesc>1/4" Vinyl Irrigation Line</SalesDesc>
396
+ <SalesPrice>0.10</SalesPrice>
397
+ <IncomeAccountRef>
398
+ <ListID>690001-1071523679</ListID>
399
+ <FullName>Landscaping Services:Job Materials:Misc Materials</FullName>
400
+ </IncomeAccountRef>
401
+ <PurchaseDesc>1/4" Vinyl Irrigation Line</PurchaseDesc>
402
+ <PurchaseCost>0.07</PurchaseCost>
403
+ <COGSAccountRef>
404
+ <ListID>240000-934380913</ListID>
405
+ <FullName>Cost of Goods Sold</FullName>
406
+ </COGSAccountRef>
407
+ <AssetAccountRef>
408
+ <ListID>60000-934380912</ListID>
409
+ <FullName>Inventory Asset</FullName>
410
+ </AssetAccountRef>
411
+ <ReorderPoint>500</ReorderPoint>
412
+ <QuantityOnHand>1235</QuantityOnHand>
413
+ <AverageCost>0.07</AverageCost>
414
+ <QuantityOnOrder>0</QuantityOnOrder>
415
+ <QuantityOnSalesOrder>0</QuantityOnSalesOrder>
416
+ </ItemInventoryRet>
417
+ <ItemInventoryRet>
418
+ <ListID>280000-1071524260</ListID>
419
+ <TimeCreated>2003-12-15T13:37:40-08:00</TimeCreated>
420
+ <TimeModified>2003-12-15T13:37:40-08:00</TimeModified>
421
+ <EditSequence>1071524260</EditSequence>
422
+ <Name>3/4" Line</Name>
423
+ <FullName>Irrigation Hose:3/4" Line</FullName>
424
+ <IsActive>true</IsActive>
425
+ <ParentRef>
426
+ <ListID>250000-1071523682</ListID>
427
+ <FullName>Irrigation Hose</FullName>
428
+ </ParentRef>
429
+ <Sublevel>1</Sublevel>
430
+ <SalesTaxCodeRef>
431
+ <ListID>10000-999021789</ListID>
432
+ <FullName>Tax</FullName>
433
+ </SalesTaxCodeRef>
434
+ <SalesDesc>3/4" Vinyl Irrigation Line</SalesDesc>
435
+ <SalesPrice>0.27</SalesPrice>
436
+ <IncomeAccountRef>
437
+ <ListID>690001-1071523679</ListID>
438
+ <FullName>Landscaping Services:Job Materials:Misc Materials</FullName>
439
+ </IncomeAccountRef>
440
+ <PurchaseDesc>3/4" Vinyl Irrigation Line</PurchaseDesc>
441
+ <PurchaseCost>0.18</PurchaseCost>
442
+ <COGSAccountRef>
443
+ <ListID>240000-934380913</ListID>
444
+ <FullName>Cost of Goods Sold</FullName>
445
+ </COGSAccountRef>
446
+ <AssetAccountRef>
447
+ <ListID>60000-934380912</ListID>
448
+ <FullName>Inventory Asset</FullName>
449
+ </AssetAccountRef>
450
+ <ReorderPoint>1500</ReorderPoint>
451
+ <QuantityOnHand>2670</QuantityOnHand>
452
+ <AverageCost>0.18</AverageCost>
453
+ <QuantityOnOrder>0</QuantityOnOrder>
454
+ <QuantityOnSalesOrder>0</QuantityOnSalesOrder>
455
+ </ItemInventoryRet>
456
+ <ItemInventoryRet>
457
+ <ListID>60000-934380927</ListID>
458
+ <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
459
+ <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
460
+ <EditSequence>934380927</EditSequence>
461
+ <Name>Lighting</Name>
462
+ <FullName>Lighting</FullName>
463
+ <IsActive>true</IsActive>
464
+ <Sublevel>0</Sublevel>
465
+ <SalesTaxCodeRef>
466
+ <ListID>10000-999021789</ListID>
467
+ <FullName>Tax</FullName>
468
+ </SalesTaxCodeRef>
469
+ <SalesDesc>Garden Lighting</SalesDesc>
470
+ <SalesPrice>0.00</SalesPrice>
471
+ <IncomeAccountRef>
472
+ <ListID>1B0000-934380913</ListID>
473
+ <FullName>Landscaping Services:Job Materials:Fountains &amp; Garden Lighting</FullName>
474
+ </IncomeAccountRef>
475
+ <PurchaseDesc>Garden Lighting</PurchaseDesc>
476
+ <PurchaseCost>0.00</PurchaseCost>
477
+ <COGSAccountRef>
478
+ <ListID>240000-934380913</ListID>
479
+ <FullName>Cost of Goods Sold</FullName>
480
+ </COGSAccountRef>
481
+ <AssetAccountRef>
482
+ <ListID>60000-934380912</ListID>
483
+ <FullName>Inventory Asset</FullName>
484
+ </AssetAccountRef>
485
+ <QuantityOnHand>94</QuantityOnHand>
486
+ <AverageCost>14.80</AverageCost>
487
+ <QuantityOnOrder>28</QuantityOnOrder>
488
+ <QuantityOnSalesOrder>0</QuantityOnSalesOrder>
489
+ </ItemInventoryRet>
490
+ <ItemInventoryRet>
491
+ <ListID>70000-934380927</ListID>
492
+ <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
493
+ <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
494
+ <EditSequence>934380927</EditSequence>
495
+ <Name>Pump</Name>
496
+ <FullName>Pump</FullName>
497
+ <IsActive>true</IsActive>
498
+ <Sublevel>0</Sublevel>
499
+ <SalesTaxCodeRef>
500
+ <ListID>10000-999021789</ListID>
501
+ <FullName>Tax</FullName>
502
+ </SalesTaxCodeRef>
503
+ <SalesDesc>Fountain pump</SalesDesc>
504
+ <SalesPrice>75.00</SalesPrice>
505
+ <IncomeAccountRef>
506
+ <ListID>1B0000-934380913</ListID>
507
+ <FullName>Landscaping Services:Job Materials:Fountains &amp; Garden Lighting</FullName>
508
+ </IncomeAccountRef>
509
+ <PurchaseDesc>Fountain pump #198-30</PurchaseDesc>
510
+ <PurchaseCost>56.00</PurchaseCost>
511
+ <COGSAccountRef>
512
+ <ListID>240000-934380913</ListID>
513
+ <FullName>Cost of Goods Sold</FullName>
514
+ </COGSAccountRef>
515
+ <AssetAccountRef>
516
+ <ListID>60000-934380912</ListID>
517
+ <FullName>Inventory Asset</FullName>
518
+ </AssetAccountRef>
519
+ <QuantityOnHand>48</QuantityOnHand>
520
+ <AverageCost>53.93</AverageCost>
521
+ <QuantityOnOrder>0</QuantityOnOrder>
522
+ <QuantityOnSalesOrder>0</QuantityOnSalesOrder>
523
+ </ItemInventoryRet>
524
+ <ItemInventoryRet>
525
+ <ListID>80000-934380927</ListID>
526
+ <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
527
+ <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
528
+ <EditSequence>934380927</EditSequence>
529
+ <Name>Soil</Name>
530
+ <FullName>Soil</FullName>
531
+ <IsActive>true</IsActive>
532
+ <Sublevel>0</Sublevel>
533
+ <SalesTaxCodeRef>
534
+ <ListID>10000-999021789</ListID>
535
+ <FullName>Tax</FullName>
536
+ </SalesTaxCodeRef>
537
+ <SalesDesc>Soil, 2 cubic ft bag</SalesDesc>
538
+ <SalesPrice>6.75</SalesPrice>
539
+ <IncomeAccountRef>
540
+ <ListID>1C0000-934380913</ListID>
541
+ <FullName>Landscaping Services:Job Materials:Plants and Sod</FullName>
542
+ </IncomeAccountRef>
543
+ <PurchaseDesc>Soil, 2 cubic ft bag</PurchaseDesc>
544
+ <PurchaseCost>5.30</PurchaseCost>
545
+ <COGSAccountRef>
546
+ <ListID>240000-934380913</ListID>
547
+ <FullName>Cost of Goods Sold</FullName>
548
+ </COGSAccountRef>
549
+ <PrefVendorRef>
550
+ <ListID>10000-934380927</ListID>
551
+ <FullName>Middlefield Nursery</FullName>
552
+ </PrefVendorRef>
553
+ <AssetAccountRef>
554
+ <ListID>60000-934380912</ListID>
555
+ <FullName>Inventory Asset</FullName>
556
+ </AssetAccountRef>
557
+ <ReorderPoint>25</ReorderPoint>
558
+ <QuantityOnHand>0</QuantityOnHand>
559
+ <AverageCost>5.30</AverageCost>
560
+ <QuantityOnOrder>6</QuantityOnOrder>
561
+ <QuantityOnSalesOrder>10</QuantityOnSalesOrder>
562
+ </ItemInventoryRet>
563
+ <ItemInventoryRet>
564
+ <ListID>90000-934380927</ListID>
565
+ <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
566
+ <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
567
+ <EditSequence>934380927</EditSequence>
568
+ <Name>Sprinkler Hds</Name>
569
+ <FullName>Sprinkler Hds</FullName>
570
+ <IsActive>true</IsActive>
571
+ <Sublevel>0</Sublevel>
572
+ <SalesTaxCodeRef>
573
+ <ListID>10000-999021789</ListID>
574
+ <FullName>Tax</FullName>
575
+ </SalesTaxCodeRef>
576
+ <SalesDesc>Sprinkler heads</SalesDesc>
577
+ <SalesPrice>0.00</SalesPrice>
578
+ <IncomeAccountRef>
579
+ <ListID>1D0000-934380913</ListID>
580
+ <FullName>Landscaping Services:Job Materials:Sprinklers &amp; Drip systems</FullName>
581
+ </IncomeAccountRef>
582
+ <PurchaseDesc>Sprinkler head #BLS9081-09</PurchaseDesc>
583
+ <PurchaseCost>0.00</PurchaseCost>
584
+ <COGSAccountRef>
585
+ <ListID>240000-934380913</ListID>
586
+ <FullName>Cost of Goods Sold</FullName>
587
+ </COGSAccountRef>
588
+ <AssetAccountRef>
589
+ <ListID>60000-934380912</ListID>
590
+ <FullName>Inventory Asset</FullName>
591
+ </AssetAccountRef>
592
+ <QuantityOnHand>69</QuantityOnHand>
593
+ <AverageCost>6.38</AverageCost>
594
+ <QuantityOnOrder>36</QuantityOnOrder>
595
+ <QuantityOnSalesOrder>0</QuantityOnSalesOrder>
596
+ </ItemInventoryRet>
597
+ <ItemInventoryRet>
598
+ <ListID>A0000-934380927</ListID>
599
+ <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
600
+ <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
601
+ <EditSequence>934380927</EditSequence>
602
+ <Name>Sprkl pipes</Name>
603
+ <FullName>Sprkl pipes</FullName>
604
+ <IsActive>true</IsActive>
605
+ <Sublevel>0</Sublevel>
606
+ <SalesTaxCodeRef>
607
+ <ListID>10000-999021789</ListID>
608
+ <FullName>Tax</FullName>
609
+ </SalesTaxCodeRef>
610
+ <SalesDesc>Plastic sprinkler piping</SalesDesc>
611
+ <SalesPrice>2.75</SalesPrice>
612
+ <IncomeAccountRef>
613
+ <ListID>1D0000-934380913</ListID>
614
+ <FullName>Landscaping Services:Job Materials:Sprinklers &amp; Drip systems</FullName>
615
+ </IncomeAccountRef>
616
+ <PurchaseDesc>Plastic sprinkler piping #1098-20</PurchaseDesc>
617
+ <PurchaseCost>2.10</PurchaseCost>
618
+ <COGSAccountRef>
619
+ <ListID>240000-934380913</ListID>
620
+ <FullName>Cost of Goods Sold</FullName>
621
+ </COGSAccountRef>
622
+ <AssetAccountRef>
623
+ <ListID>60000-934380912</ListID>
624
+ <FullName>Inventory Asset</FullName>
625
+ </AssetAccountRef>
626
+ <ReorderPoint>250</ReorderPoint>
627
+ <QuantityOnHand>826</QuantityOnHand>
628
+ <AverageCost>2.10</AverageCost>
629
+ <QuantityOnOrder>115</QuantityOnOrder>
630
+ <QuantityOnSalesOrder>0</QuantityOnSalesOrder>
631
+ </ItemInventoryRet>
632
+ </ItemQueryRs>
633
+ </QBXMLMsgsRs>
634
+ </QBXML>