libxml-ruby 0.7.0-x86-mswin32-60 → 0.8.0-x86-mswin32-60

Sign up to get free protection for your applications and to get access to all the features.
Files changed (188) hide show
  1. data/CHANGES +24 -1
  2. data/README +48 -3
  3. data/benchmark/depixelate.rb +632 -0
  4. data/benchmark/hamlet.xml +9055 -0
  5. data/benchmark/sock_entries.xml +507 -0
  6. data/benchmark/throughput.rb +39 -0
  7. data/benchmark/xml_benchmarks.rb +222 -0
  8. data/doc/classes/LibXML.html +237 -0
  9. data/doc/classes/LibXML/XML.html +178 -0
  10. data/doc/classes/{XML → LibXML/XML}/Attr.html +213 -182
  11. data/doc/classes/{XML → LibXML/XML}/Attributes.html +126 -54
  12. data/doc/classes/{XML → LibXML/XML}/Document.html +299 -297
  13. data/doc/classes/{XML → LibXML/XML}/Dtd.html +10 -10
  14. data/doc/classes/{XML/XInclude → LibXML/XML}/Error.html +4 -4
  15. data/doc/classes/{XML → LibXML/XML}/HTMLParser.html +40 -40
  16. data/doc/classes/{XML → LibXML/XML}/InputCallbacks.html +10 -10
  17. data/doc/classes/{XML → LibXML/XML}/NS.html +46 -46
  18. data/doc/classes/{XML → LibXML/XML}/Node.html +935 -788
  19. data/doc/classes/LibXML/XML/Node/FailedModify.html +111 -0
  20. data/doc/classes/{XML → LibXML/XML}/Node/Set.html +69 -68
  21. data/doc/classes/{XML → LibXML/XML}/Node/SetNamespace.html +4 -4
  22. data/doc/classes/{XML/Node/FailedModify.html → LibXML/XML/Node/UnknownType.html} +4 -4
  23. data/doc/classes/{XML → LibXML/XML}/Parser.html +426 -389
  24. data/doc/classes/{XML → LibXML/XML}/Parser/Context.html +208 -208
  25. data/doc/classes/{XML → LibXML/XML}/Parser/ParseError.html +4 -4
  26. data/doc/classes/{XML → LibXML/XML}/Reader.html +288 -287
  27. data/doc/classes/{XML → LibXML/XML}/SaxParser.html +52 -52
  28. data/doc/classes/{XML/XPath/Context.html → LibXML/XML/Schema.html} +60 -32
  29. data/doc/classes/{XML → LibXML/XML}/State.html +4 -4
  30. data/doc/classes/{XML/Node/UnknownType.html → LibXML/XML/Tree.html} +5 -5
  31. data/doc/classes/{XML → LibXML/XML}/XInclude.html +5 -5
  32. data/doc/classes/{XML → LibXML/XML/XInclude}/Error.html +5 -5
  33. data/doc/classes/{XML → LibXML/XML}/XMLParserOptions.html +5 -5
  34. data/doc/classes/{XML → LibXML/XML}/XPath.html +23 -64
  35. data/doc/classes/LibXML/XML/XPath/Context.html +403 -0
  36. data/doc/classes/{XML/XPointer/Context → LibXML/XML/XPath}/InvalidPath.html +4 -4
  37. data/doc/classes/LibXML/XML/XPath/Object.html +623 -0
  38. data/doc/classes/{XML → LibXML/XML}/XPointer.html +12 -12
  39. data/doc/classes/{XML → LibXML/XML}/XPointer/Context.html +5 -5
  40. data/doc/classes/{XML/XPath → LibXML/XML/XPointer/Context}/InvalidPath.html +5 -5
  41. data/doc/classes/{XML → LibXML/XML}/XPointer/InvalidExpression.html +4 -4
  42. data/doc/classes/XML.html +17 -123
  43. data/doc/created.rid +1 -1
  44. data/doc/files/CHANGES.html +49 -25
  45. data/doc/files/LICENSE.html +1 -1
  46. data/doc/files/README.html +79 -4
  47. data/doc/files/VERSION.html +2 -2
  48. data/doc/files/ext/libxml/cbg_c.html +1 -1
  49. data/doc/files/ext/libxml/libxml_c.html +1 -1
  50. data/doc/files/ext/libxml/ruby_xml_attr_c.html +1 -1
  51. data/doc/files/ext/libxml/ruby_xml_attributes_c.html +1 -1
  52. data/doc/files/ext/libxml/ruby_xml_document_c.html +1 -1
  53. data/doc/files/ext/libxml/ruby_xml_dtd_c.html +1 -1
  54. data/doc/files/ext/libxml/ruby_xml_html_parser_c.html +1 -1
  55. data/doc/files/ext/libxml/ruby_xml_input_cbg_c.html +1 -1
  56. data/doc/files/ext/libxml/ruby_xml_node_c.html +1 -1
  57. data/doc/files/ext/libxml/ruby_xml_node_set_c.html +1 -1
  58. data/doc/files/ext/libxml/ruby_xml_ns_c.html +1 -1
  59. data/doc/files/ext/libxml/ruby_xml_parser_c.html +1 -1
  60. data/doc/files/ext/libxml/ruby_xml_parser_context_c.html +1 -1
  61. data/doc/files/ext/libxml/ruby_xml_reader_c.html +1 -1
  62. data/doc/files/ext/libxml/ruby_xml_sax_parser_c.html +1 -1
  63. data/doc/files/ext/libxml/ruby_xml_schema_c.html +1 -1
  64. data/doc/files/ext/libxml/ruby_xml_state_c.html +1 -1
  65. data/doc/files/ext/libxml/ruby_xml_xinclude_c.html +1 -1
  66. data/doc/files/ext/libxml/ruby_xml_xpath_c.html +1 -1
  67. data/doc/files/ext/libxml/ruby_xml_xpath_context_c.html +1 -1
  68. data/doc/files/ext/libxml/ruby_xml_xpath_object_c.html +1 -1
  69. data/doc/files/ext/libxml/ruby_xml_xpointer_c.html +1 -1
  70. data/doc/files/ext/libxml/ruby_xml_xpointer_context_c.html +1 -1
  71. data/doc/files/lib/libxml/attr_rb.html +108 -0
  72. data/doc/files/lib/libxml/attributes_rb.html +108 -0
  73. data/doc/files/lib/libxml/document_rb.html +108 -0
  74. data/doc/files/lib/libxml/node_rb.html +108 -0
  75. data/doc/files/lib/libxml/node_set_rb.html +108 -0
  76. data/doc/files/lib/libxml/parser_options_rb.html +107 -0
  77. data/doc/files/{ext/libxml/ruby_xml_tree_c.html → lib/libxml/parser_rb.html} +4 -4
  78. data/doc/files/lib/libxml/properties_rb.html +108 -0
  79. data/doc/files/lib/libxml/tree_rb.html +107 -0
  80. data/doc/files/lib/libxml_rb.html +12 -3
  81. data/doc/fr_class_index.html +34 -32
  82. data/doc/fr_file_index.html +9 -1
  83. data/doc/fr_method_index.html +362 -347
  84. data/ext/libxml/cbg.c +76 -76
  85. data/ext/libxml/libxml.c +4 -3
  86. data/ext/libxml/ruby_libxml.h +1 -1
  87. data/ext/libxml/ruby_xml_attr.c +4 -3
  88. data/ext/libxml/ruby_xml_attr.h +16 -16
  89. data/ext/libxml/ruby_xml_attributes.c +267 -266
  90. data/ext/libxml/ruby_xml_attributes.h +17 -17
  91. data/ext/libxml/ruby_xml_document.c +30 -59
  92. data/ext/libxml/ruby_xml_document.h +27 -27
  93. data/ext/libxml/ruby_xml_dtd.c +2 -1
  94. data/ext/libxml/ruby_xml_dtd.h +17 -17
  95. data/ext/libxml/ruby_xml_html_parser.c +3 -2
  96. data/ext/libxml/ruby_xml_html_parser.h +29 -29
  97. data/ext/libxml/ruby_xml_input_cbg.c +2 -1
  98. data/ext/libxml/ruby_xml_input_cbg.h +20 -20
  99. data/ext/libxml/ruby_xml_node.c +127 -470
  100. data/ext/libxml/ruby_xml_node.h +17 -17
  101. data/ext/libxml/ruby_xml_node_set.c +5 -4
  102. data/ext/libxml/ruby_xml_node_set.h +20 -20
  103. data/ext/libxml/ruby_xml_ns.c +3 -2
  104. data/ext/libxml/ruby_xml_ns.h +12 -12
  105. data/ext/libxml/ruby_xml_parser.c +20 -48
  106. data/ext/libxml/ruby_xml_parser.h +31 -31
  107. data/ext/libxml/ruby_xml_parser_context.c +3 -2
  108. data/ext/libxml/ruby_xml_parser_context.h +20 -20
  109. data/ext/libxml/ruby_xml_reader.c +2 -1
  110. data/ext/libxml/ruby_xml_sax_parser.c +3 -2
  111. data/ext/libxml/ruby_xml_sax_parser.h +56 -56
  112. data/ext/libxml/ruby_xml_schema.c +6 -0
  113. data/ext/libxml/ruby_xml_schema.h +16 -16
  114. data/ext/libxml/ruby_xml_state.c +13 -12
  115. data/ext/libxml/ruby_xml_state.h +1 -1
  116. data/ext/libxml/ruby_xml_xinclude.c +3 -2
  117. data/ext/libxml/ruby_xml_xinclude.h +13 -13
  118. data/ext/libxml/ruby_xml_xpath.c +35 -228
  119. data/ext/libxml/ruby_xml_xpath.h +22 -23
  120. data/ext/libxml/ruby_xml_xpath_context.c +223 -62
  121. data/ext/libxml/ruby_xml_xpath_context.h +15 -20
  122. data/ext/libxml/ruby_xml_xpath_object.c +63 -19
  123. data/ext/libxml/ruby_xml_xpointer.c +19 -15
  124. data/ext/libxml/ruby_xml_xpointer.h +27 -27
  125. data/ext/libxml/ruby_xml_xpointer_context.c +3 -2
  126. data/ext/libxml/ruby_xml_xpointer_context.h +18 -18
  127. data/ext/libxml/version.h +9 -9
  128. data/lib/libxml.rb +16 -128
  129. data/lib/libxml/attr.rb +45 -0
  130. data/lib/libxml/attributes.rb +15 -0
  131. data/lib/libxml/document.rb +54 -0
  132. data/lib/libxml/node.rb +132 -0
  133. data/lib/libxml/node_set.rb +27 -0
  134. data/lib/libxml/parser.rb +42 -0
  135. data/lib/libxml/parser_options.rb +25 -0
  136. data/lib/libxml/properties.rb +19 -0
  137. data/lib/libxml/tree.rb +29 -0
  138. data/lib/libxml_ruby.so +0 -0
  139. data/mingw/libxml_ruby.so +0 -0
  140. data/{work/task/setup → setup.rb} +1585 -1616
  141. data/test/gc.log +0 -0
  142. data/test/model/books.xml +147 -0
  143. data/{work/test/runner.rb → test/model/default_validation_bug.rb} +0 -0
  144. data/test/model/merge_bug_data.xml +58 -0
  145. data/test/model/rubynet.xml +78 -0
  146. data/test/model/rubynet_project +1 -0
  147. data/test/model/saxtest.xml +5 -0
  148. data/test/model/shiporder.xml +23 -0
  149. data/test/model/shiporder.xsd +31 -0
  150. data/test/model/simple.xml +7 -0
  151. data/test/model/soap.xml +27 -0
  152. data/test/model/xinclude.xml +5 -0
  153. data/test/tc_deprecated_require.rb +13 -0
  154. data/test/tc_xml_document.rb +57 -16
  155. data/test/tc_xml_document_write.rb +125 -10
  156. data/test/tc_xml_dtd.rb +22 -1
  157. data/test/tc_xml_node.rb +13 -0
  158. data/test/tc_xml_node_edit.rb +1 -1
  159. data/test/tc_xml_node_xlink.rb +1 -1
  160. data/test/tc_xml_parser.rb +64 -7
  161. data/test/tc_xml_properties.rb +42 -0
  162. data/test/tc_xml_reader.rb +4 -4
  163. data/test/tc_xml_sax_parser.rb +50 -50
  164. data/test/tc_xml_schema.rb +2 -2
  165. data/test/tc_xml_traversal.rb +220 -0
  166. data/test/tc_xml_xinclude.rb +12 -15
  167. data/test/tc_xml_xpath.rb +74 -6
  168. data/test/tc_xml_xpath_context.rb +72 -0
  169. data/test/test_suite.rb +6 -4
  170. data/vc/libxml_ruby.vcproj +1 -9
  171. metadata +92 -65
  172. data/doc/classes/XML/SiblingEnum.html +0 -142
  173. data/doc/classes/XML/Tree.html +0 -224
  174. data/doc/classes/XML/XPath/Object.html +0 -439
  175. data/ext/libxml/ruby_xml_tree.c +0 -43
  176. data/ext/libxml/ruby_xml_tree.h +0 -12
  177. data/test/ets_copy_bug2.rb +0 -21
  178. data/test/tc_xml_document_write2.rb +0 -54
  179. data/test/tc_xml_document_write3.rb +0 -96
  180. data/test/tc_xml_sax_parser2.rb +0 -51
  181. data/work/Rakefile +0 -247
  182. data/work/task/make +0 -26
  183. data/work/task/memory +0 -37
  184. data/work/task/rdoc +0 -39
  185. data/work/task/test +0 -29
  186. data/work/test/ets_runner.rb +0 -33
  187. data/work/test/libxml_test.rb +0 -3
  188. data/work/test/runner_ets.rb +0 -33
data/CHANGES CHANGED
@@ -1,5 +1,28 @@
1
1
  (See log/ChangeLog for more detailed changes derived directly from source control.)
2
2
 
3
+ == 0.7.1 / 2008-07-09 Charlie Savage
4
+
5
+ * Fixed bug in returning attributes from XPath results
6
+
7
+ * Fixed DOM traversal methods
8
+
9
+ * Changed Node#children to return an array of nodes
10
+
11
+ * Fixed bug in returning attributes from XPath results
12
+
13
+ * Refactored XPath support, providing more user hooks in the XPath::Context class
14
+
15
+ * Added Node#properties for backwards compatibility
16
+
17
+ * Updated setup.rb
18
+
19
+ * Added more tests
20
+
21
+ * Updated rdocs and README file
22
+
23
+ * Moved libxml into LibXML namespace
24
+
25
+
3
26
  == 0.7.0 / 2008-07-09 Charlie Savage
4
27
 
5
28
  * Added new attributes class to provide a more natural way of working with attributes
@@ -12,7 +35,7 @@
12
35
 
13
36
  * Cleaned up tests and added new test suite
14
37
 
15
- * Updated rdocs
38
+ * Updated rdocs and README file
16
39
 
17
40
  * Cleaned out most of the bug list
18
41
 
data/README CHANGED
@@ -9,7 +9,7 @@ libxml-ruby provides several advantages over REXML:
9
9
 
10
10
  * Speed - libxml is many times faster than REXML
11
11
  * Features - libxml provides a number of additional features over REXML, including XML Schema Validation, RelaxNg validation, xslt (see libxslt-ruby)
12
- * Correctness - libxml passes all 1800+ tests from the OASIS XML Tests Suite
12
+ * Conformance - libxml passes all 1800+ tests from the OASIS XML Tests Suite
13
13
 
14
14
 
15
15
  == Requirements
@@ -29,7 +29,7 @@ includes an already built extension.
29
29
 
30
30
  == INSTALLATION
31
31
 
32
- The easiest way to install ruby-prof is by using Ruby Gems. To install:
32
+ The easiest way to install libxml-ruby is via Ruby Gems. To install:
33
33
 
34
34
  <tt>gem install libxml-ruby</tt>
35
35
 
@@ -45,9 +45,49 @@ of libxml-ruby on Windows, then it is highly recommended
45
45
  you use VC++.
46
46
 
47
47
 
48
+ == Functionality
49
+ libxml is a highly conformant XML parser, passing all 1800+ tests
50
+ from the OASIS XML Tests Suite. In addition, it includes rich
51
+ functionality such as:
52
+
53
+ * SAX
54
+ * DOM
55
+ * XMLReader
56
+ * XPath
57
+ * XPointer
58
+ * XML Schema
59
+ * DTDs
60
+ * XSLT (split into the libxslt-ruby bindings)
61
+
62
+ libxml-ruby provides impressive coverage of libxml's functionality
63
+ through an easy-to-use C api.
64
+
65
+ == Performance
66
+ In addition to being feature rich and conformation, the main reason
67
+ people use libxml-ruby is for performance. Here are the results
68
+ of a couple simple benchmarks recently blogged about on the
69
+ Web (you can find them in the benchmark directory of the
70
+ libxml distribution).
71
+
72
+ From http://depixelate.com/2008/4/23/ruby-xml-parsing-benchmarks
73
+
74
+ user system total real
75
+ libxml 0.032000 0.000000 0.032000 ( 0.031000)
76
+ Hpricot 0.640000 0.031000 0.671000 ( 0.890000)
77
+ REXML 1.813000 0.047000 1.860000 ( 2.031000)
78
+
79
+ From https://svn.concord.org/svn/projects/trunk/common/ruby/xml_benchmarks/
80
+
81
+ user system total real
82
+ libxml 0.641000 0.031000 0.672000 ( 0.672000)
83
+ hpricot 5.359000 0.062000 5.421000 ( 5.516000)
84
+ rexml 22.859000 0.047000 22.906000 ( 23.203000)
85
+
48
86
  == USAGE
49
87
 
50
- Basic usage for reading and writing documents.
88
+ For in-depth information about using libxml-ruby please refer
89
+ to its online Rdoc documentation. Some simple examples
90
+ are shown below.
51
91
 
52
92
  === READING
53
93
 
@@ -138,7 +178,12 @@ The file output.xml contains:
138
178
  </foo>
139
179
  </root_node>
140
180
 
181
+ == DOCUMENTATION
182
+
183
+ RDoc comments are included - run 'rake doc' to generate documentation.
184
+ You can find the latest documentation at:
141
185
 
186
+ * http://libxml.rubyforge.org/rdoc/
142
187
 
143
188
  == License
144
189
 
@@ -0,0 +1,632 @@
1
+ require 'rubygems'
2
+ require 'benchmark'
3
+ require 'hpricot'
4
+ require 'rexml/document'
5
+ require 'libxml'
6
+
7
+
8
+ # Taken from http://depixelate.com/2008/4/23/ruby-xml-parsing-benchmarks
9
+
10
+ XML_STRING = DATA.read
11
+
12
+ class Parse
13
+ def self.libxml
14
+ doc = XML::Parser.string(XML_STRING).parse
15
+ ary = []
16
+ doc.find('/*/*/*').each do |node|
17
+ case node.name
18
+ when 'ItemQueryRs'
19
+ node.each_element do |child|
20
+ ary << child.find_first('./ListID')
21
+ end
22
+ end
23
+ end
24
+ ary
25
+ end
26
+
27
+ def self.rexml
28
+ doc = REXML::Document.new(XML_STRING)
29
+ ary = []
30
+ REXML::XPath.each(doc, '/*/*/*') do |node|
31
+ case node.name
32
+ when 'ItemQueryRs'
33
+ node.elements.each do |element|
34
+ ary << rexml_fetch(element, 'ListID')
35
+ end
36
+ end
37
+ end
38
+ ary
39
+ end
40
+
41
+ def self.hpricot
42
+ doc = Hpricot.XML(XML_STRING)
43
+ ary = []
44
+ response_element = doc.search('/*/*/*').each do |node|
45
+ next unless node.elem?
46
+ case node.name
47
+ when 'ItemQueryRs'
48
+ node.containers.each do |element|
49
+ ary << hpricot_fetch(element/'ListID')
50
+ end
51
+ end
52
+ end
53
+ ary
54
+ end
55
+
56
+ # rexml helper
57
+ def self.rexml_fetch(node, name)
58
+ e = REXML::XPath.first(node, name)
59
+ e ? e.text : nil
60
+ end
61
+
62
+ # hpricot helper
63
+ def self.hpricot_fetch(path)
64
+ return nil if path.nil? || path.empty?
65
+ path = path.first if path.is_a?(Array)
66
+ path.innerHTML
67
+ end
68
+ end
69
+
70
+ TIMES = 10
71
+ Benchmark.bmbm do |x|
72
+ x.report('libxml') { TIMES.times { Parse.libxml } }
73
+ x.report('Hpricot') { TIMES.times { Parse.hpricot } }
74
+ x.report('REXML') { TIMES.times { Parse.rexml } }
75
+ end
76
+
77
+ __END__
78
+ <?xml version="1.0"?>
79
+ <QBXML>
80
+ <QBXMLMsgsRs>
81
+ <ItemQueryRs requestID="1" statusCode="0" statusSeverity="Info" statusMessage="Status OK">
82
+ <ItemServiceRet>
83
+ <ListID>240000-1071531214</ListID>
84
+ <TimeCreated>2003-12-15T15:33:34-08:00</TimeCreated>
85
+ <TimeModified>2003-12-15T15:34:51-08:00</TimeModified>
86
+ <EditSequence>1071531291</EditSequence>
87
+ <Name>Delivery</Name>
88
+ <FullName>Delivery</FullName>
89
+ <IsActive>true</IsActive>
90
+ <Sublevel>0</Sublevel>
91
+ <SalesTaxCodeRef>
92
+ <ListID>20000-999021789</ListID>
93
+ <FullName>Non</FullName>
94
+ </SalesTaxCodeRef>
95
+ <SalesOrPurchase>
96
+ <Desc>Delivery Service Fee (free for orders over $100)</Desc>
97
+ <Price>15.00</Price>
98
+ <AccountRef>
99
+ <ListID>610001-1071531179</ListID>
100
+ <FullName>Service</FullName>
101
+ </AccountRef>
102
+ </SalesOrPurchase>
103
+ </ItemServiceRet>
104
+ <ItemServiceRet>
105
+ <ListID>10000-934380927</ListID>
106
+ <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
107
+ <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
108
+ <EditSequence>934380927</EditSequence>
109
+ <Name>Design</Name>
110
+ <FullName>Design</FullName>
111
+ <IsActive>true</IsActive>
112
+ <Sublevel>0</Sublevel>
113
+ <SalesTaxCodeRef>
114
+ <ListID>20000-999021789</ListID>
115
+ <FullName>Non</FullName>
116
+ </SalesTaxCodeRef>
117
+ <SalesOrPurchase>
118
+ <Desc>Custom Landscape Design</Desc>
119
+ <Price>55.00</Price>
120
+ <AccountRef>
121
+ <ListID>150000-934380913</ListID>
122
+ <FullName>Landscaping Services:Design Services</FullName>
123
+ </AccountRef>
124
+ </SalesOrPurchase>
125
+ </ItemServiceRet>
126
+ <ItemServiceRet>
127
+ <ListID>20000-934380927</ListID>
128
+ <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
129
+ <TimeModified>1999-08-11T08:59:12-08:00</TimeModified>
130
+ <EditSequence>934387152</EditSequence>
131
+ <Name>Gardening</Name>
132
+ <FullName>Gardening</FullName>
133
+ <IsActive>true</IsActive>
134
+ <Sublevel>0</Sublevel>
135
+ <SalesTaxCodeRef>
136
+ <ListID>20000-999021789</ListID>
137
+ <FullName>Non</FullName>
138
+ </SalesTaxCodeRef>
139
+ <SalesOrPurchase>
140
+ <Desc>Weekly gardening services</Desc>
141
+ <Price>0.00</Price>
142
+ <AccountRef>
143
+ <ListID>1F0000-934380913</ListID>
144
+ <FullName>Landscaping Services:Labor:Installation</FullName>
145
+ </AccountRef>
146
+ </SalesOrPurchase>
147
+ </ItemServiceRet>
148
+ <ItemServiceRet>
149
+ <ListID>30000-934380927</ListID>
150
+ <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
151
+ <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
152
+ <EditSequence>934380927</EditSequence>
153
+ <Name>Installation</Name>
154
+ <FullName>Installation</FullName>
155
+ <IsActive>true</IsActive>
156
+ <Sublevel>0</Sublevel>
157
+ <SalesTaxCodeRef>
158
+ <ListID>20000-999021789</ListID>
159
+ <FullName>Non</FullName>
160
+ </SalesTaxCodeRef>
161
+ <SalesOrPurchase>
162
+ <Desc>Installation of landscape design</Desc>
163
+ <Price>35.00</Price>
164
+ <AccountRef>
165
+ <ListID>1F0000-934380913</ListID>
166
+ <FullName>Landscaping Services:Labor:Installation</FullName>
167
+ </AccountRef>
168
+ </SalesOrPurchase>
169
+ </ItemServiceRet>
170
+ <ItemServiceRet>
171
+ <ListID>40000-934380927</ListID>
172
+ <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
173
+ <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
174
+ <EditSequence>934380927</EditSequence>
175
+ <Name>Pest Control</Name>
176
+ <FullName>Pest Control</FullName>
177
+ <IsActive>true</IsActive>
178
+ <Sublevel>0</Sublevel>
179
+ <SalesTaxCodeRef>
180
+ <ListID>20000-999021789</ListID>
181
+ <FullName>Non</FullName>
182
+ </SalesTaxCodeRef>
183
+ <SalesOrPurchase>
184
+ <Desc>Pest control services</Desc>
185
+ <Price>0.00</Price>
186
+ <AccountRef>
187
+ <ListID>200000-934380913</ListID>
188
+ <FullName>Landscaping Services:Labor:Maintenance &amp; Repairs</FullName>
189
+ </AccountRef>
190
+ </SalesOrPurchase>
191
+ </ItemServiceRet>
192
+ <ItemServiceRet>
193
+ <ListID>2E0000-1071514896</ListID>
194
+ <TimeCreated>2003-12-15T11:01:36-08:00</TimeCreated>
195
+ <TimeModified>2003-12-15T14:42:51-08:00</TimeModified>
196
+ <EditSequence>1071528171</EditSequence>
197
+ <Name>Tree Removal</Name>
198
+ <FullName>Tree Removal</FullName>
199
+ <IsActive>true</IsActive>
200
+ <Sublevel>0</Sublevel>
201
+ <SalesTaxCodeRef>
202
+ <ListID>20000-999021789</ListID>
203
+ <FullName>Non</FullName>
204
+ </SalesTaxCodeRef>
205
+ <SalesOrPurchase>
206
+ <Desc>Tree Removal Service</Desc>
207
+ <Price>0.00</Price>
208
+ <AccountRef>
209
+ <ListID>610001-1071531179</ListID>
210
+ <FullName>Service</FullName>
211
+ </AccountRef>
212
+ </SalesOrPurchase>
213
+ </ItemServiceRet>
214
+ <ItemServiceRet>
215
+ <ListID>50000-934380927</ListID>
216
+ <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
217
+ <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
218
+ <EditSequence>934380927</EditSequence>
219
+ <Name>Trimming</Name>
220
+ <FullName>Trimming</FullName>
221
+ <IsActive>true</IsActive>
222
+ <Sublevel>0</Sublevel>
223
+ <SalesTaxCodeRef>
224
+ <ListID>20000-999021789</ListID>
225
+ <FullName>Non</FullName>
226
+ </SalesTaxCodeRef>
227
+ <SalesOrPurchase>
228
+ <Desc>Tree and shrub trimming</Desc>
229
+ <Price>35.00</Price>
230
+ <AccountRef>
231
+ <ListID>200000-934380913</ListID>
232
+ <FullName>Landscaping Services:Labor:Maintenance &amp; Repairs</FullName>
233
+ </AccountRef>
234
+ </SalesOrPurchase>
235
+ </ItemServiceRet>
236
+ <ItemNonInventoryRet>
237
+ <ListID>B0000-934380927</ListID>
238
+ <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
239
+ <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
240
+ <EditSequence>934380927</EditSequence>
241
+ <Name>Concrete</Name>
242
+ <FullName>Concrete</FullName>
243
+ <IsActive>true</IsActive>
244
+ <Sublevel>0</Sublevel>
245
+ <SalesTaxCodeRef>
246
+ <ListID>10000-999021789</ListID>
247
+ <FullName>Tax</FullName>
248
+ </SalesTaxCodeRef>
249
+ <SalesOrPurchase>
250
+ <Desc>Concrete for fountain installation</Desc>
251
+ <Price>0.00</Price>
252
+ <AccountRef>
253
+ <ListID>1B0000-934380913</ListID>
254
+ <FullName>Landscaping Services:Job Materials:Fountains &amp; Garden Lighting</FullName>
255
+ </AccountRef>
256
+ </SalesOrPurchase>
257
+ </ItemNonInventoryRet>
258
+ <ItemNonInventoryRet>
259
+ <ListID>C0000-934380927</ListID>
260
+ <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
261
+ <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
262
+ <EditSequence>934380927</EditSequence>
263
+ <Name>Deck Lumber</Name>
264
+ <FullName>Deck Lumber</FullName>
265
+ <IsActive>true</IsActive>
266
+ <Sublevel>0</Sublevel>
267
+ <SalesTaxCodeRef>
268
+ <ListID>10000-999021789</ListID>
269
+ <FullName>Tax</FullName>
270
+ </SalesTaxCodeRef>
271
+ <SalesOrPurchase>
272
+ <Desc>Deck Lumber</Desc>
273
+ <Price>0.00</Price>
274
+ <AccountRef>
275
+ <ListID>1A0000-934380913</ListID>
276
+ <FullName>Landscaping Services:Job Materials:Decks &amp; Patios</FullName>
277
+ </AccountRef>
278
+ </SalesOrPurchase>
279
+ </ItemNonInventoryRet>
280
+ <ItemNonInventoryRet>
281
+ <ListID>210000-1071530240</ListID>
282
+ <TimeCreated>2003-12-15T15:17:20-08:00</TimeCreated>
283
+ <TimeModified>2003-12-15T15:17:20-08:00</TimeModified>
284
+ <EditSequence>1071530240</EditSequence>
285
+ <Name>Fertilizer</Name>
286
+ <FullName>Fertilizer</FullName>
287
+ <IsActive>true</IsActive>
288
+ <Sublevel>0</Sublevel>
289
+ <SalesTaxCodeRef>
290
+ <ListID>10000-999021789</ListID>
291
+ <FullName>Tax</FullName>
292
+ </SalesTaxCodeRef>
293
+ <SalesOrPurchase>
294
+ <Desc>Parent Item - Do Not Use</Desc>
295
+ <Price>0.00</Price>
296
+ <AccountRef>
297
+ <ListID>600001-1071530232</ListID>
298
+ <FullName>Retail Sales</FullName>
299
+ </AccountRef>
300
+ </SalesOrPurchase>
301
+ </ItemNonInventoryRet>
302
+ <ItemInventoryRet>
303
+ <ListID>250000-1071523682</ListID>
304
+ <TimeCreated>2003-12-15T13:28:02-08:00</TimeCreated>
305
+ <TimeModified>2003-12-15T13:44:20-08:00</TimeModified>
306
+ <EditSequence>1071524660</EditSequence>
307
+ <Name>Irrigation Hose</Name>
308
+ <FullName>Irrigation Hose</FullName>
309
+ <IsActive>true</IsActive>
310
+ <Sublevel>0</Sublevel>
311
+ <SalesTaxCodeRef>
312
+ <ListID>10000-999021789</ListID>
313
+ <FullName>Tax</FullName>
314
+ </SalesTaxCodeRef>
315
+ <SalesDesc>Parent Item Vinyl Irrigation Line- Do Not Purchase or Sell</SalesDesc>
316
+ <SalesPrice>0.00</SalesPrice>
317
+ <IncomeAccountRef>
318
+ <ListID>690001-1071523679</ListID>
319
+ <FullName>Landscaping Services:Job Materials:Misc Materials</FullName>
320
+ </IncomeAccountRef>
321
+ <PurchaseDesc>Vinyl Irrigation LineParent Item - Do Not Purchase or Sell</PurchaseDesc>
322
+ <PurchaseCost>0.00</PurchaseCost>
323
+ <COGSAccountRef>
324
+ <ListID>240000-934380913</ListID>
325
+ <FullName>Cost of Goods Sold</FullName>
326
+ </COGSAccountRef>
327
+ <AssetAccountRef>
328
+ <ListID>60000-934380912</ListID>
329
+ <FullName>Inventory Asset</FullName>
330
+ </AssetAccountRef>
331
+ <ReorderPoint>-1</ReorderPoint>
332
+ <QuantityOnHand>0</QuantityOnHand>
333
+ <AverageCost>0.00</AverageCost>
334
+ <QuantityOnOrder>0</QuantityOnOrder>
335
+ <QuantityOnSalesOrder>0</QuantityOnSalesOrder>
336
+ </ItemInventoryRet>
337
+ <ItemInventoryRet>
338
+ <ListID>270000-1071524193</ListID>
339
+ <TimeCreated>2003-12-15T13:36:33-08:00</TimeCreated>
340
+ <TimeModified>2003-12-15T13:38:13-08:00</TimeModified>
341
+ <EditSequence>1071524293</EditSequence>
342
+ <Name>1/2" Line</Name>
343
+ <FullName>Irrigation Hose:1/2" Line</FullName>
344
+ <IsActive>true</IsActive>
345
+ <ParentRef>
346
+ <ListID>250000-1071523682</ListID>
347
+ <FullName>Irrigation Hose</FullName>
348
+ </ParentRef>
349
+ <Sublevel>1</Sublevel>
350
+ <SalesTaxCodeRef>
351
+ <ListID>10000-999021789</ListID>
352
+ <FullName>Tax</FullName>
353
+ </SalesTaxCodeRef>
354
+ <SalesDesc>1/2" Vinyl Irrigation Line</SalesDesc>
355
+ <SalesPrice>0.15</SalesPrice>
356
+ <IncomeAccountRef>
357
+ <ListID>690001-1071523679</ListID>
358
+ <FullName>Landscaping Services:Job Materials:Misc Materials</FullName>
359
+ </IncomeAccountRef>
360
+ <PurchaseDesc>1/2" Vinyl Irrigation Line</PurchaseDesc>
361
+ <PurchaseCost>0.12</PurchaseCost>
362
+ <COGSAccountRef>
363
+ <ListID>240000-934380913</ListID>
364
+ <FullName>Cost of Goods Sold</FullName>
365
+ </COGSAccountRef>
366
+ <AssetAccountRef>
367
+ <ListID>60000-934380912</ListID>
368
+ <FullName>Inventory Asset</FullName>
369
+ </AssetAccountRef>
370
+ <ReorderPoint>1500</ReorderPoint>
371
+ <QuantityOnHand>1783</QuantityOnHand>
372
+ <AverageCost>0.12</AverageCost>
373
+ <QuantityOnOrder>0</QuantityOnOrder>
374
+ <QuantityOnSalesOrder>0</QuantityOnSalesOrder>
375
+ </ItemInventoryRet>
376
+ <ItemInventoryRet>
377
+ <ListID>260000-1071523858</ListID>
378
+ <TimeCreated>2003-12-15T13:30:58-08:00</TimeCreated>
379
+ <TimeModified>2003-12-15T13:37:52-08:00</TimeModified>
380
+ <EditSequence>1071524272</EditSequence>
381
+ <Name>1/4" Line</Name>
382
+ <FullName>Irrigation Hose:1/4" Line</FullName>
383
+ <IsActive>true</IsActive>
384
+ <ParentRef>
385
+ <ListID>250000-1071523682</ListID>
386
+ <FullName>Irrigation Hose</FullName>
387
+ </ParentRef>
388
+ <Sublevel>1</Sublevel>
389
+ <SalesTaxCodeRef>
390
+ <ListID>10000-999021789</ListID>
391
+ <FullName>Tax</FullName>
392
+ </SalesTaxCodeRef>
393
+ <SalesDesc>1/4" Vinyl Irrigation Line</SalesDesc>
394
+ <SalesPrice>0.10</SalesPrice>
395
+ <IncomeAccountRef>
396
+ <ListID>690001-1071523679</ListID>
397
+ <FullName>Landscaping Services:Job Materials:Misc Materials</FullName>
398
+ </IncomeAccountRef>
399
+ <PurchaseDesc>1/4" Vinyl Irrigation Line</PurchaseDesc>
400
+ <PurchaseCost>0.07</PurchaseCost>
401
+ <COGSAccountRef>
402
+ <ListID>240000-934380913</ListID>
403
+ <FullName>Cost of Goods Sold</FullName>
404
+ </COGSAccountRef>
405
+ <AssetAccountRef>
406
+ <ListID>60000-934380912</ListID>
407
+ <FullName>Inventory Asset</FullName>
408
+ </AssetAccountRef>
409
+ <ReorderPoint>500</ReorderPoint>
410
+ <QuantityOnHand>1235</QuantityOnHand>
411
+ <AverageCost>0.07</AverageCost>
412
+ <QuantityOnOrder>0</QuantityOnOrder>
413
+ <QuantityOnSalesOrder>0</QuantityOnSalesOrder>
414
+ </ItemInventoryRet>
415
+ <ItemInventoryRet>
416
+ <ListID>280000-1071524260</ListID>
417
+ <TimeCreated>2003-12-15T13:37:40-08:00</TimeCreated>
418
+ <TimeModified>2003-12-15T13:37:40-08:00</TimeModified>
419
+ <EditSequence>1071524260</EditSequence>
420
+ <Name>3/4" Line</Name>
421
+ <FullName>Irrigation Hose:3/4" Line</FullName>
422
+ <IsActive>true</IsActive>
423
+ <ParentRef>
424
+ <ListID>250000-1071523682</ListID>
425
+ <FullName>Irrigation Hose</FullName>
426
+ </ParentRef>
427
+ <Sublevel>1</Sublevel>
428
+ <SalesTaxCodeRef>
429
+ <ListID>10000-999021789</ListID>
430
+ <FullName>Tax</FullName>
431
+ </SalesTaxCodeRef>
432
+ <SalesDesc>3/4" Vinyl Irrigation Line</SalesDesc>
433
+ <SalesPrice>0.27</SalesPrice>
434
+ <IncomeAccountRef>
435
+ <ListID>690001-1071523679</ListID>
436
+ <FullName>Landscaping Services:Job Materials:Misc Materials</FullName>
437
+ </IncomeAccountRef>
438
+ <PurchaseDesc>3/4" Vinyl Irrigation Line</PurchaseDesc>
439
+ <PurchaseCost>0.18</PurchaseCost>
440
+ <COGSAccountRef>
441
+ <ListID>240000-934380913</ListID>
442
+ <FullName>Cost of Goods Sold</FullName>
443
+ </COGSAccountRef>
444
+ <AssetAccountRef>
445
+ <ListID>60000-934380912</ListID>
446
+ <FullName>Inventory Asset</FullName>
447
+ </AssetAccountRef>
448
+ <ReorderPoint>1500</ReorderPoint>
449
+ <QuantityOnHand>2670</QuantityOnHand>
450
+ <AverageCost>0.18</AverageCost>
451
+ <QuantityOnOrder>0</QuantityOnOrder>
452
+ <QuantityOnSalesOrder>0</QuantityOnSalesOrder>
453
+ </ItemInventoryRet>
454
+ <ItemInventoryRet>
455
+ <ListID>60000-934380927</ListID>
456
+ <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
457
+ <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
458
+ <EditSequence>934380927</EditSequence>
459
+ <Name>Lighting</Name>
460
+ <FullName>Lighting</FullName>
461
+ <IsActive>true</IsActive>
462
+ <Sublevel>0</Sublevel>
463
+ <SalesTaxCodeRef>
464
+ <ListID>10000-999021789</ListID>
465
+ <FullName>Tax</FullName>
466
+ </SalesTaxCodeRef>
467
+ <SalesDesc>Garden Lighting</SalesDesc>
468
+ <SalesPrice>0.00</SalesPrice>
469
+ <IncomeAccountRef>
470
+ <ListID>1B0000-934380913</ListID>
471
+ <FullName>Landscaping Services:Job Materials:Fountains &amp; Garden Lighting</FullName>
472
+ </IncomeAccountRef>
473
+ <PurchaseDesc>Garden Lighting</PurchaseDesc>
474
+ <PurchaseCost>0.00</PurchaseCost>
475
+ <COGSAccountRef>
476
+ <ListID>240000-934380913</ListID>
477
+ <FullName>Cost of Goods Sold</FullName>
478
+ </COGSAccountRef>
479
+ <AssetAccountRef>
480
+ <ListID>60000-934380912</ListID>
481
+ <FullName>Inventory Asset</FullName>
482
+ </AssetAccountRef>
483
+ <QuantityOnHand>94</QuantityOnHand>
484
+ <AverageCost>14.80</AverageCost>
485
+ <QuantityOnOrder>28</QuantityOnOrder>
486
+ <QuantityOnSalesOrder>0</QuantityOnSalesOrder>
487
+ </ItemInventoryRet>
488
+ <ItemInventoryRet>
489
+ <ListID>70000-934380927</ListID>
490
+ <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
491
+ <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
492
+ <EditSequence>934380927</EditSequence>
493
+ <Name>Pump</Name>
494
+ <FullName>Pump</FullName>
495
+ <IsActive>true</IsActive>
496
+ <Sublevel>0</Sublevel>
497
+ <SalesTaxCodeRef>
498
+ <ListID>10000-999021789</ListID>
499
+ <FullName>Tax</FullName>
500
+ </SalesTaxCodeRef>
501
+ <SalesDesc>Fountain pump</SalesDesc>
502
+ <SalesPrice>75.00</SalesPrice>
503
+ <IncomeAccountRef>
504
+ <ListID>1B0000-934380913</ListID>
505
+ <FullName>Landscaping Services:Job Materials:Fountains &amp; Garden Lighting</FullName>
506
+ </IncomeAccountRef>
507
+ <PurchaseDesc>Fountain pump #198-30</PurchaseDesc>
508
+ <PurchaseCost>56.00</PurchaseCost>
509
+ <COGSAccountRef>
510
+ <ListID>240000-934380913</ListID>
511
+ <FullName>Cost of Goods Sold</FullName>
512
+ </COGSAccountRef>
513
+ <AssetAccountRef>
514
+ <ListID>60000-934380912</ListID>
515
+ <FullName>Inventory Asset</FullName>
516
+ </AssetAccountRef>
517
+ <QuantityOnHand>48</QuantityOnHand>
518
+ <AverageCost>53.93</AverageCost>
519
+ <QuantityOnOrder>0</QuantityOnOrder>
520
+ <QuantityOnSalesOrder>0</QuantityOnSalesOrder>
521
+ </ItemInventoryRet>
522
+ <ItemInventoryRet>
523
+ <ListID>80000-934380927</ListID>
524
+ <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
525
+ <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
526
+ <EditSequence>934380927</EditSequence>
527
+ <Name>Soil</Name>
528
+ <FullName>Soil</FullName>
529
+ <IsActive>true</IsActive>
530
+ <Sublevel>0</Sublevel>
531
+ <SalesTaxCodeRef>
532
+ <ListID>10000-999021789</ListID>
533
+ <FullName>Tax</FullName>
534
+ </SalesTaxCodeRef>
535
+ <SalesDesc>Soil, 2 cubic ft bag</SalesDesc>
536
+ <SalesPrice>6.75</SalesPrice>
537
+ <IncomeAccountRef>
538
+ <ListID>1C0000-934380913</ListID>
539
+ <FullName>Landscaping Services:Job Materials:Plants and Sod</FullName>
540
+ </IncomeAccountRef>
541
+ <PurchaseDesc>Soil, 2 cubic ft bag</PurchaseDesc>
542
+ <PurchaseCost>5.30</PurchaseCost>
543
+ <COGSAccountRef>
544
+ <ListID>240000-934380913</ListID>
545
+ <FullName>Cost of Goods Sold</FullName>
546
+ </COGSAccountRef>
547
+ <PrefVendorRef>
548
+ <ListID>10000-934380927</ListID>
549
+ <FullName>Middlefield Nursery</FullName>
550
+ </PrefVendorRef>
551
+ <AssetAccountRef>
552
+ <ListID>60000-934380912</ListID>
553
+ <FullName>Inventory Asset</FullName>
554
+ </AssetAccountRef>
555
+ <ReorderPoint>25</ReorderPoint>
556
+ <QuantityOnHand>0</QuantityOnHand>
557
+ <AverageCost>5.30</AverageCost>
558
+ <QuantityOnOrder>6</QuantityOnOrder>
559
+ <QuantityOnSalesOrder>10</QuantityOnSalesOrder>
560
+ </ItemInventoryRet>
561
+ <ItemInventoryRet>
562
+ <ListID>90000-934380927</ListID>
563
+ <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
564
+ <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
565
+ <EditSequence>934380927</EditSequence>
566
+ <Name>Sprinkler Hds</Name>
567
+ <FullName>Sprinkler Hds</FullName>
568
+ <IsActive>true</IsActive>
569
+ <Sublevel>0</Sublevel>
570
+ <SalesTaxCodeRef>
571
+ <ListID>10000-999021789</ListID>
572
+ <FullName>Tax</FullName>
573
+ </SalesTaxCodeRef>
574
+ <SalesDesc>Sprinkler heads</SalesDesc>
575
+ <SalesPrice>0.00</SalesPrice>
576
+ <IncomeAccountRef>
577
+ <ListID>1D0000-934380913</ListID>
578
+ <FullName>Landscaping Services:Job Materials:Sprinklers &amp; Drip systems</FullName>
579
+ </IncomeAccountRef>
580
+ <PurchaseDesc>Sprinkler head #BLS9081-09</PurchaseDesc>
581
+ <PurchaseCost>0.00</PurchaseCost>
582
+ <COGSAccountRef>
583
+ <ListID>240000-934380913</ListID>
584
+ <FullName>Cost of Goods Sold</FullName>
585
+ </COGSAccountRef>
586
+ <AssetAccountRef>
587
+ <ListID>60000-934380912</ListID>
588
+ <FullName>Inventory Asset</FullName>
589
+ </AssetAccountRef>
590
+ <QuantityOnHand>69</QuantityOnHand>
591
+ <AverageCost>6.38</AverageCost>
592
+ <QuantityOnOrder>36</QuantityOnOrder>
593
+ <QuantityOnSalesOrder>0</QuantityOnSalesOrder>
594
+ </ItemInventoryRet>
595
+ <ItemInventoryRet>
596
+ <ListID>A0000-934380927</ListID>
597
+ <TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
598
+ <TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
599
+ <EditSequence>934380927</EditSequence>
600
+ <Name>Sprkl pipes</Name>
601
+ <FullName>Sprkl pipes</FullName>
602
+ <IsActive>true</IsActive>
603
+ <Sublevel>0</Sublevel>
604
+ <SalesTaxCodeRef>
605
+ <ListID>10000-999021789</ListID>
606
+ <FullName>Tax</FullName>
607
+ </SalesTaxCodeRef>
608
+ <SalesDesc>Plastic sprinkler piping</SalesDesc>
609
+ <SalesPrice>2.75</SalesPrice>
610
+ <IncomeAccountRef>
611
+ <ListID>1D0000-934380913</ListID>
612
+ <FullName>Landscaping Services:Job Materials:Sprinklers &amp; Drip systems</FullName>
613
+ </IncomeAccountRef>
614
+ <PurchaseDesc>Plastic sprinkler piping #1098-20</PurchaseDesc>
615
+ <PurchaseCost>2.10</PurchaseCost>
616
+ <COGSAccountRef>
617
+ <ListID>240000-934380913</ListID>
618
+ <FullName>Cost of Goods Sold</FullName>
619
+ </COGSAccountRef>
620
+ <AssetAccountRef>
621
+ <ListID>60000-934380912</ListID>
622
+ <FullName>Inventory Asset</FullName>
623
+ </AssetAccountRef>
624
+ <ReorderPoint>250</ReorderPoint>
625
+ <QuantityOnHand>826</QuantityOnHand>
626
+ <AverageCost>2.10</AverageCost>
627
+ <QuantityOnOrder>115</QuantityOnOrder>
628
+ <QuantityOnSalesOrder>0</QuantityOnSalesOrder>
629
+ </ItemInventoryRet>
630
+ </ItemQueryRs>
631
+ </QBXMLMsgsRs>
632
+ </QBXML>