libxml-fixed-jruby 1.0.0-jruby
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.
- data/History.txt +4 -0
- data/Manifest.txt +91 -0
- data/README.txt +50 -0
- data/Rakefile +40 -0
- data/lib/libxml-jruby.rb +84 -0
- data/lib/libxml-jruby/xml.rb +1 -0
- data/lib/libxml-jruby/xml/attr.rb +46 -0
- data/lib/libxml-jruby/xml/attributes.rb +68 -0
- data/lib/libxml-jruby/xml/document.rb +52 -0
- data/lib/libxml-jruby/xml/dtd.rb +25 -0
- data/lib/libxml-jruby/xml/node.rb +285 -0
- data/lib/libxml-jruby/xml/ns.rb +19 -0
- data/lib/libxml-jruby/xml/parser.rb +121 -0
- data/lib/libxml-jruby/xml/xpath.rb +98 -0
- data/lib/libxml.rb +1 -0
- data/lib/xml.rb +13 -0
- data/lib/xml/libxml.rb +8 -0
- data/script/benchmark/depixelate.rb +633 -0
- data/script/benchmark/hamlet.xml +9055 -0
- data/script/benchmark/sock_entries.xml +507 -0
- data/script/benchmark/throughput.rb +40 -0
- data/script/benchmark/xml_benchmarks.rb +228 -0
- data/script/test +6 -0
- data/tasks/ann.rake +81 -0
- data/tasks/bones.rake +21 -0
- data/tasks/gem.rake +126 -0
- data/tasks/git.rake +41 -0
- data/tasks/manifest.rake +49 -0
- data/tasks/notes.rake +28 -0
- data/tasks/post_load.rake +39 -0
- data/tasks/rdoc.rake +51 -0
- data/tasks/rubyforge.rake +57 -0
- data/tasks/setup.rb +268 -0
- data/tasks/spec.rake +55 -0
- data/tasks/svn.rake +48 -0
- data/tasks/test.rake +38 -0
- data/test/etc_doc_to_s.rb +19 -0
- data/test/ets_copy_bug.rb +21 -0
- data/test/ets_copy_bug3.rb +38 -0
- data/test/ets_doc_file.rb +15 -0
- data/test/ets_doc_to_s.rb +21 -0
- data/test/ets_gpx.rb +26 -0
- data/test/ets_node_gc.rb +21 -0
- data/test/ets_test.xml +2 -0
- data/test/ets_tsr.rb +9 -0
- data/test/model/books.xml +147 -0
- data/test/model/default_validation_bug.rb +0 -0
- data/test/model/merge_bug_data.xml +58 -0
- data/test/model/rubynet.xml +78 -0
- data/test/model/rubynet_project +1 -0
- data/test/model/saxtest.xml +5 -0
- data/test/model/shiporder.rnc +28 -0
- data/test/model/shiporder.rng +86 -0
- data/test/model/shiporder.xml +23 -0
- data/test/model/shiporder.xsd +31 -0
- data/test/model/simple.xml +7 -0
- data/test/model/soap.xml +27 -0
- data/test/model/xinclude.xml +5 -0
- data/test/tc_attributes.rb +110 -0
- data/test/tc_deprecated_require.rb +13 -0
- data/test/tc_document.rb +97 -0
- data/test/tc_document_write.rb +139 -0
- data/test/tc_dtd.rb +70 -0
- data/test/tc_html_parser.rb +63 -0
- data/test/tc_node.rb +108 -0
- data/test/tc_node_attr.rb +176 -0
- data/test/tc_node_cdata.rb +51 -0
- data/test/tc_node_comment.rb +32 -0
- data/test/tc_node_copy.rb +40 -0
- data/test/tc_node_edit.rb +98 -0
- data/test/tc_node_set.rb +24 -0
- data/test/tc_node_set2.rb +37 -0
- data/test/tc_node_text.rb +17 -0
- data/test/tc_node_xlink.rb +28 -0
- data/test/tc_ns.rb +18 -0
- data/test/tc_parser.rb +308 -0
- data/test/tc_parser_context.rb +126 -0
- data/test/tc_properties.rb +37 -0
- data/test/tc_reader.rb +112 -0
- data/test/tc_relaxng.rb +39 -0
- data/test/tc_sax_parser.rb +113 -0
- data/test/tc_schema.rb +39 -0
- data/test/tc_traversal.rb +220 -0
- data/test/tc_well_formed.rb +11 -0
- data/test/tc_xinclude.rb +26 -0
- data/test/tc_xpath.rb +130 -0
- data/test/tc_xpath_context.rb +72 -0
- data/test/tc_xpointer.rb +78 -0
- data/test/test_libxml-jruby.rb +0 -0
- data/test/test_suite.rb +31 -0
- data/test/ts_working.rb +31 -0
- metadata +146 -0
@@ -0,0 +1,98 @@
|
|
1
|
+
module LibXMLJRuby
|
2
|
+
module XML
|
3
|
+
module XPath
|
4
|
+
NODESET = nil
|
5
|
+
|
6
|
+
class Object
|
7
|
+
include Enumerable
|
8
|
+
|
9
|
+
def initialize(expr, document, nslist = nil)
|
10
|
+
@expr, @document = expr, document
|
11
|
+
@nslist = nslist
|
12
|
+
end
|
13
|
+
|
14
|
+
def each(&block)
|
15
|
+
set.each(&block)
|
16
|
+
end
|
17
|
+
|
18
|
+
def length
|
19
|
+
set.length
|
20
|
+
end
|
21
|
+
|
22
|
+
def first
|
23
|
+
set.first
|
24
|
+
end
|
25
|
+
|
26
|
+
def xpath_type
|
27
|
+
LibXMLJRuby::XML::XPath::NODESET
|
28
|
+
end
|
29
|
+
|
30
|
+
def set
|
31
|
+
@set ||= LibXMLJRuby::XML::Node::Set.from_java(evaluate_expression)
|
32
|
+
end
|
33
|
+
|
34
|
+
def [](index)
|
35
|
+
set[index]
|
36
|
+
end
|
37
|
+
|
38
|
+
private
|
39
|
+
def xpath_factory
|
40
|
+
@xpath_factory ||= XPathFactory.new_instance
|
41
|
+
end
|
42
|
+
|
43
|
+
def xpath
|
44
|
+
@xpath ||= xpath_factory.newXPath
|
45
|
+
end
|
46
|
+
|
47
|
+
def resolver
|
48
|
+
PrefixResolverDefault.new(doc_element)
|
49
|
+
end
|
50
|
+
|
51
|
+
def doc_element
|
52
|
+
if document.respond_to?(:getDocumentElement)
|
53
|
+
document.getDocumentElement
|
54
|
+
elsif document.respond_to?(:getOwnerDocument)
|
55
|
+
document.getOwnerDocument
|
56
|
+
else
|
57
|
+
nil
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
def namespace_context
|
62
|
+
CustomNamespaceContext.new(resolver)
|
63
|
+
end
|
64
|
+
|
65
|
+
def evaluate_expression
|
66
|
+
xpath.setNamespaceContext(namespace_context)
|
67
|
+
xpath.evaluate(@expr, document, XPathConstants::NODESET)
|
68
|
+
end
|
69
|
+
|
70
|
+
def document
|
71
|
+
@document.respond_to?(:java_obj) ? @document.java_obj : @document
|
72
|
+
end
|
73
|
+
|
74
|
+
class CustomNamespaceContext
|
75
|
+
include javax.xml.namespace.NamespaceContext
|
76
|
+
|
77
|
+
attr_reader :resolver
|
78
|
+
|
79
|
+
def initialize(resolver)
|
80
|
+
@resolver = resolver
|
81
|
+
end
|
82
|
+
|
83
|
+
def getNamespaceURI(prefix)
|
84
|
+
resolver.getNamespaceForPrefix(prefix)
|
85
|
+
end
|
86
|
+
|
87
|
+
def getPrefixes(val)
|
88
|
+
nil
|
89
|
+
end
|
90
|
+
|
91
|
+
def getPrefix(uri)
|
92
|
+
nil
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
data/lib/libxml.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'libxml-jruby'
|
data/lib/xml.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
# This file loads libxml and adds the LibXML namespace
|
2
|
+
# to the toplevel for conveneience. The end result
|
3
|
+
# is to have XML:: universally exposed.
|
4
|
+
#
|
5
|
+
# It is recommend that you only load this file for libs
|
6
|
+
# that do not have their own namespace, eg. administrative
|
7
|
+
# scripts, personal programs, etc. For other applications
|
8
|
+
# require 'libxml' instead and include LibXML into your
|
9
|
+
# app/libs namespace.
|
10
|
+
|
11
|
+
require 'libxml'
|
12
|
+
|
13
|
+
include LibXML
|
data/lib/xml/libxml.rb
ADDED
@@ -0,0 +1,633 @@
|
|
1
|
+
$:.unshift(Dir.pwd + "/lib")
|
2
|
+
require 'rubygems'
|
3
|
+
require 'benchmark'
|
4
|
+
require 'hpricot'
|
5
|
+
require 'rexml/document'
|
6
|
+
require 'xml'
|
7
|
+
|
8
|
+
|
9
|
+
# Taken from http://depixelate.com/2008/4/23/ruby-xml-parsing-benchmarks
|
10
|
+
|
11
|
+
XML_STRING = DATA.read
|
12
|
+
|
13
|
+
class Parse
|
14
|
+
def self.libxml
|
15
|
+
doc = XML::Parser.string(XML_STRING).parse
|
16
|
+
ary = []
|
17
|
+
doc.find('/*/*/*').each do |node|
|
18
|
+
case node.name
|
19
|
+
when 'ItemQueryRs'
|
20
|
+
node.each_element do |child|
|
21
|
+
ary << child.find_first('./ListID')
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
ary
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.rexml
|
29
|
+
doc = REXML::Document.new(XML_STRING)
|
30
|
+
ary = []
|
31
|
+
REXML::XPath.each(doc, '/*/*/*') do |node|
|
32
|
+
case node.name
|
33
|
+
when 'ItemQueryRs'
|
34
|
+
node.elements.each do |element|
|
35
|
+
ary << rexml_fetch(element, 'ListID')
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
ary
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.hpricot
|
43
|
+
doc = Hpricot.XML(XML_STRING)
|
44
|
+
ary = []
|
45
|
+
response_element = doc.search('/*/*/*').each do |node|
|
46
|
+
next unless node.elem?
|
47
|
+
case node.name
|
48
|
+
when 'ItemQueryRs'
|
49
|
+
node.containers.each do |element|
|
50
|
+
ary << hpricot_fetch(element/'ListID')
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
ary
|
55
|
+
end
|
56
|
+
|
57
|
+
# rexml helper
|
58
|
+
def self.rexml_fetch(node, name)
|
59
|
+
e = REXML::XPath.first(node, name)
|
60
|
+
e ? e.text : nil
|
61
|
+
end
|
62
|
+
|
63
|
+
# hpricot helper
|
64
|
+
def self.hpricot_fetch(path)
|
65
|
+
return nil if path.nil? || path.empty?
|
66
|
+
path = path.first if path.is_a?(Array)
|
67
|
+
path.innerHTML
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
TIMES = 100
|
72
|
+
Benchmark.bmbm do |x|
|
73
|
+
x.report('libxml') { TIMES.times { Parse.libxml } }
|
74
|
+
x.report('Hpricot') { TIMES.times { Parse.hpricot } }
|
75
|
+
x.report('REXML') { TIMES.times { Parse.rexml } }
|
76
|
+
end
|
77
|
+
|
78
|
+
__END__
|
79
|
+
<?xml version="1.0"?>
|
80
|
+
<QBXML>
|
81
|
+
<QBXMLMsgsRs>
|
82
|
+
<ItemQueryRs requestID="1" statusCode="0" statusSeverity="Info" statusMessage="Status OK">
|
83
|
+
<ItemServiceRet>
|
84
|
+
<ListID>240000-1071531214</ListID>
|
85
|
+
<TimeCreated>2003-12-15T15:33:34-08:00</TimeCreated>
|
86
|
+
<TimeModified>2003-12-15T15:34:51-08:00</TimeModified>
|
87
|
+
<EditSequence>1071531291</EditSequence>
|
88
|
+
<Name>Delivery</Name>
|
89
|
+
<FullName>Delivery</FullName>
|
90
|
+
<IsActive>true</IsActive>
|
91
|
+
<Sublevel>0</Sublevel>
|
92
|
+
<SalesTaxCodeRef>
|
93
|
+
<ListID>20000-999021789</ListID>
|
94
|
+
<FullName>Non</FullName>
|
95
|
+
</SalesTaxCodeRef>
|
96
|
+
<SalesOrPurchase>
|
97
|
+
<Desc>Delivery Service Fee (free for orders over $100)</Desc>
|
98
|
+
<Price>15.00</Price>
|
99
|
+
<AccountRef>
|
100
|
+
<ListID>610001-1071531179</ListID>
|
101
|
+
<FullName>Service</FullName>
|
102
|
+
</AccountRef>
|
103
|
+
</SalesOrPurchase>
|
104
|
+
</ItemServiceRet>
|
105
|
+
<ItemServiceRet>
|
106
|
+
<ListID>10000-934380927</ListID>
|
107
|
+
<TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
|
108
|
+
<TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
|
109
|
+
<EditSequence>934380927</EditSequence>
|
110
|
+
<Name>Design</Name>
|
111
|
+
<FullName>Design</FullName>
|
112
|
+
<IsActive>true</IsActive>
|
113
|
+
<Sublevel>0</Sublevel>
|
114
|
+
<SalesTaxCodeRef>
|
115
|
+
<ListID>20000-999021789</ListID>
|
116
|
+
<FullName>Non</FullName>
|
117
|
+
</SalesTaxCodeRef>
|
118
|
+
<SalesOrPurchase>
|
119
|
+
<Desc>Custom Landscape Design</Desc>
|
120
|
+
<Price>55.00</Price>
|
121
|
+
<AccountRef>
|
122
|
+
<ListID>150000-934380913</ListID>
|
123
|
+
<FullName>Landscaping Services:Design Services</FullName>
|
124
|
+
</AccountRef>
|
125
|
+
</SalesOrPurchase>
|
126
|
+
</ItemServiceRet>
|
127
|
+
<ItemServiceRet>
|
128
|
+
<ListID>20000-934380927</ListID>
|
129
|
+
<TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
|
130
|
+
<TimeModified>1999-08-11T08:59:12-08:00</TimeModified>
|
131
|
+
<EditSequence>934387152</EditSequence>
|
132
|
+
<Name>Gardening</Name>
|
133
|
+
<FullName>Gardening</FullName>
|
134
|
+
<IsActive>true</IsActive>
|
135
|
+
<Sublevel>0</Sublevel>
|
136
|
+
<SalesTaxCodeRef>
|
137
|
+
<ListID>20000-999021789</ListID>
|
138
|
+
<FullName>Non</FullName>
|
139
|
+
</SalesTaxCodeRef>
|
140
|
+
<SalesOrPurchase>
|
141
|
+
<Desc>Weekly gardening services</Desc>
|
142
|
+
<Price>0.00</Price>
|
143
|
+
<AccountRef>
|
144
|
+
<ListID>1F0000-934380913</ListID>
|
145
|
+
<FullName>Landscaping Services:Labor:Installation</FullName>
|
146
|
+
</AccountRef>
|
147
|
+
</SalesOrPurchase>
|
148
|
+
</ItemServiceRet>
|
149
|
+
<ItemServiceRet>
|
150
|
+
<ListID>30000-934380927</ListID>
|
151
|
+
<TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
|
152
|
+
<TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
|
153
|
+
<EditSequence>934380927</EditSequence>
|
154
|
+
<Name>Installation</Name>
|
155
|
+
<FullName>Installation</FullName>
|
156
|
+
<IsActive>true</IsActive>
|
157
|
+
<Sublevel>0</Sublevel>
|
158
|
+
<SalesTaxCodeRef>
|
159
|
+
<ListID>20000-999021789</ListID>
|
160
|
+
<FullName>Non</FullName>
|
161
|
+
</SalesTaxCodeRef>
|
162
|
+
<SalesOrPurchase>
|
163
|
+
<Desc>Installation of landscape design</Desc>
|
164
|
+
<Price>35.00</Price>
|
165
|
+
<AccountRef>
|
166
|
+
<ListID>1F0000-934380913</ListID>
|
167
|
+
<FullName>Landscaping Services:Labor:Installation</FullName>
|
168
|
+
</AccountRef>
|
169
|
+
</SalesOrPurchase>
|
170
|
+
</ItemServiceRet>
|
171
|
+
<ItemServiceRet>
|
172
|
+
<ListID>40000-934380927</ListID>
|
173
|
+
<TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
|
174
|
+
<TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
|
175
|
+
<EditSequence>934380927</EditSequence>
|
176
|
+
<Name>Pest Control</Name>
|
177
|
+
<FullName>Pest Control</FullName>
|
178
|
+
<IsActive>true</IsActive>
|
179
|
+
<Sublevel>0</Sublevel>
|
180
|
+
<SalesTaxCodeRef>
|
181
|
+
<ListID>20000-999021789</ListID>
|
182
|
+
<FullName>Non</FullName>
|
183
|
+
</SalesTaxCodeRef>
|
184
|
+
<SalesOrPurchase>
|
185
|
+
<Desc>Pest control services</Desc>
|
186
|
+
<Price>0.00</Price>
|
187
|
+
<AccountRef>
|
188
|
+
<ListID>200000-934380913</ListID>
|
189
|
+
<FullName>Landscaping Services:Labor:Maintenance & Repairs</FullName>
|
190
|
+
</AccountRef>
|
191
|
+
</SalesOrPurchase>
|
192
|
+
</ItemServiceRet>
|
193
|
+
<ItemServiceRet>
|
194
|
+
<ListID>2E0000-1071514896</ListID>
|
195
|
+
<TimeCreated>2003-12-15T11:01:36-08:00</TimeCreated>
|
196
|
+
<TimeModified>2003-12-15T14:42:51-08:00</TimeModified>
|
197
|
+
<EditSequence>1071528171</EditSequence>
|
198
|
+
<Name>Tree Removal</Name>
|
199
|
+
<FullName>Tree Removal</FullName>
|
200
|
+
<IsActive>true</IsActive>
|
201
|
+
<Sublevel>0</Sublevel>
|
202
|
+
<SalesTaxCodeRef>
|
203
|
+
<ListID>20000-999021789</ListID>
|
204
|
+
<FullName>Non</FullName>
|
205
|
+
</SalesTaxCodeRef>
|
206
|
+
<SalesOrPurchase>
|
207
|
+
<Desc>Tree Removal Service</Desc>
|
208
|
+
<Price>0.00</Price>
|
209
|
+
<AccountRef>
|
210
|
+
<ListID>610001-1071531179</ListID>
|
211
|
+
<FullName>Service</FullName>
|
212
|
+
</AccountRef>
|
213
|
+
</SalesOrPurchase>
|
214
|
+
</ItemServiceRet>
|
215
|
+
<ItemServiceRet>
|
216
|
+
<ListID>50000-934380927</ListID>
|
217
|
+
<TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
|
218
|
+
<TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
|
219
|
+
<EditSequence>934380927</EditSequence>
|
220
|
+
<Name>Trimming</Name>
|
221
|
+
<FullName>Trimming</FullName>
|
222
|
+
<IsActive>true</IsActive>
|
223
|
+
<Sublevel>0</Sublevel>
|
224
|
+
<SalesTaxCodeRef>
|
225
|
+
<ListID>20000-999021789</ListID>
|
226
|
+
<FullName>Non</FullName>
|
227
|
+
</SalesTaxCodeRef>
|
228
|
+
<SalesOrPurchase>
|
229
|
+
<Desc>Tree and shrub trimming</Desc>
|
230
|
+
<Price>35.00</Price>
|
231
|
+
<AccountRef>
|
232
|
+
<ListID>200000-934380913</ListID>
|
233
|
+
<FullName>Landscaping Services:Labor:Maintenance & Repairs</FullName>
|
234
|
+
</AccountRef>
|
235
|
+
</SalesOrPurchase>
|
236
|
+
</ItemServiceRet>
|
237
|
+
<ItemNonInventoryRet>
|
238
|
+
<ListID>B0000-934380927</ListID>
|
239
|
+
<TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
|
240
|
+
<TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
|
241
|
+
<EditSequence>934380927</EditSequence>
|
242
|
+
<Name>Concrete</Name>
|
243
|
+
<FullName>Concrete</FullName>
|
244
|
+
<IsActive>true</IsActive>
|
245
|
+
<Sublevel>0</Sublevel>
|
246
|
+
<SalesTaxCodeRef>
|
247
|
+
<ListID>10000-999021789</ListID>
|
248
|
+
<FullName>Tax</FullName>
|
249
|
+
</SalesTaxCodeRef>
|
250
|
+
<SalesOrPurchase>
|
251
|
+
<Desc>Concrete for fountain installation</Desc>
|
252
|
+
<Price>0.00</Price>
|
253
|
+
<AccountRef>
|
254
|
+
<ListID>1B0000-934380913</ListID>
|
255
|
+
<FullName>Landscaping Services:Job Materials:Fountains & Garden Lighting</FullName>
|
256
|
+
</AccountRef>
|
257
|
+
</SalesOrPurchase>
|
258
|
+
</ItemNonInventoryRet>
|
259
|
+
<ItemNonInventoryRet>
|
260
|
+
<ListID>C0000-934380927</ListID>
|
261
|
+
<TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
|
262
|
+
<TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
|
263
|
+
<EditSequence>934380927</EditSequence>
|
264
|
+
<Name>Deck Lumber</Name>
|
265
|
+
<FullName>Deck Lumber</FullName>
|
266
|
+
<IsActive>true</IsActive>
|
267
|
+
<Sublevel>0</Sublevel>
|
268
|
+
<SalesTaxCodeRef>
|
269
|
+
<ListID>10000-999021789</ListID>
|
270
|
+
<FullName>Tax</FullName>
|
271
|
+
</SalesTaxCodeRef>
|
272
|
+
<SalesOrPurchase>
|
273
|
+
<Desc>Deck Lumber</Desc>
|
274
|
+
<Price>0.00</Price>
|
275
|
+
<AccountRef>
|
276
|
+
<ListID>1A0000-934380913</ListID>
|
277
|
+
<FullName>Landscaping Services:Job Materials:Decks & Patios</FullName>
|
278
|
+
</AccountRef>
|
279
|
+
</SalesOrPurchase>
|
280
|
+
</ItemNonInventoryRet>
|
281
|
+
<ItemNonInventoryRet>
|
282
|
+
<ListID>210000-1071530240</ListID>
|
283
|
+
<TimeCreated>2003-12-15T15:17:20-08:00</TimeCreated>
|
284
|
+
<TimeModified>2003-12-15T15:17:20-08:00</TimeModified>
|
285
|
+
<EditSequence>1071530240</EditSequence>
|
286
|
+
<Name>Fertilizer</Name>
|
287
|
+
<FullName>Fertilizer</FullName>
|
288
|
+
<IsActive>true</IsActive>
|
289
|
+
<Sublevel>0</Sublevel>
|
290
|
+
<SalesTaxCodeRef>
|
291
|
+
<ListID>10000-999021789</ListID>
|
292
|
+
<FullName>Tax</FullName>
|
293
|
+
</SalesTaxCodeRef>
|
294
|
+
<SalesOrPurchase>
|
295
|
+
<Desc>Parent Item - Do Not Use</Desc>
|
296
|
+
<Price>0.00</Price>
|
297
|
+
<AccountRef>
|
298
|
+
<ListID>600001-1071530232</ListID>
|
299
|
+
<FullName>Retail Sales</FullName>
|
300
|
+
</AccountRef>
|
301
|
+
</SalesOrPurchase>
|
302
|
+
</ItemNonInventoryRet>
|
303
|
+
<ItemInventoryRet>
|
304
|
+
<ListID>250000-1071523682</ListID>
|
305
|
+
<TimeCreated>2003-12-15T13:28:02-08:00</TimeCreated>
|
306
|
+
<TimeModified>2003-12-15T13:44:20-08:00</TimeModified>
|
307
|
+
<EditSequence>1071524660</EditSequence>
|
308
|
+
<Name>Irrigation Hose</Name>
|
309
|
+
<FullName>Irrigation Hose</FullName>
|
310
|
+
<IsActive>true</IsActive>
|
311
|
+
<Sublevel>0</Sublevel>
|
312
|
+
<SalesTaxCodeRef>
|
313
|
+
<ListID>10000-999021789</ListID>
|
314
|
+
<FullName>Tax</FullName>
|
315
|
+
</SalesTaxCodeRef>
|
316
|
+
<SalesDesc>Parent Item Vinyl Irrigation Line- Do Not Purchase or Sell</SalesDesc>
|
317
|
+
<SalesPrice>0.00</SalesPrice>
|
318
|
+
<IncomeAccountRef>
|
319
|
+
<ListID>690001-1071523679</ListID>
|
320
|
+
<FullName>Landscaping Services:Job Materials:Misc Materials</FullName>
|
321
|
+
</IncomeAccountRef>
|
322
|
+
<PurchaseDesc>Vinyl Irrigation LineParent Item - Do Not Purchase or Sell</PurchaseDesc>
|
323
|
+
<PurchaseCost>0.00</PurchaseCost>
|
324
|
+
<COGSAccountRef>
|
325
|
+
<ListID>240000-934380913</ListID>
|
326
|
+
<FullName>Cost of Goods Sold</FullName>
|
327
|
+
</COGSAccountRef>
|
328
|
+
<AssetAccountRef>
|
329
|
+
<ListID>60000-934380912</ListID>
|
330
|
+
<FullName>Inventory Asset</FullName>
|
331
|
+
</AssetAccountRef>
|
332
|
+
<ReorderPoint>-1</ReorderPoint>
|
333
|
+
<QuantityOnHand>0</QuantityOnHand>
|
334
|
+
<AverageCost>0.00</AverageCost>
|
335
|
+
<QuantityOnOrder>0</QuantityOnOrder>
|
336
|
+
<QuantityOnSalesOrder>0</QuantityOnSalesOrder>
|
337
|
+
</ItemInventoryRet>
|
338
|
+
<ItemInventoryRet>
|
339
|
+
<ListID>270000-1071524193</ListID>
|
340
|
+
<TimeCreated>2003-12-15T13:36:33-08:00</TimeCreated>
|
341
|
+
<TimeModified>2003-12-15T13:38:13-08:00</TimeModified>
|
342
|
+
<EditSequence>1071524293</EditSequence>
|
343
|
+
<Name>1/2" Line</Name>
|
344
|
+
<FullName>Irrigation Hose:1/2" Line</FullName>
|
345
|
+
<IsActive>true</IsActive>
|
346
|
+
<ParentRef>
|
347
|
+
<ListID>250000-1071523682</ListID>
|
348
|
+
<FullName>Irrigation Hose</FullName>
|
349
|
+
</ParentRef>
|
350
|
+
<Sublevel>1</Sublevel>
|
351
|
+
<SalesTaxCodeRef>
|
352
|
+
<ListID>10000-999021789</ListID>
|
353
|
+
<FullName>Tax</FullName>
|
354
|
+
</SalesTaxCodeRef>
|
355
|
+
<SalesDesc>1/2" Vinyl Irrigation Line</SalesDesc>
|
356
|
+
<SalesPrice>0.15</SalesPrice>
|
357
|
+
<IncomeAccountRef>
|
358
|
+
<ListID>690001-1071523679</ListID>
|
359
|
+
<FullName>Landscaping Services:Job Materials:Misc Materials</FullName>
|
360
|
+
</IncomeAccountRef>
|
361
|
+
<PurchaseDesc>1/2" Vinyl Irrigation Line</PurchaseDesc>
|
362
|
+
<PurchaseCost>0.12</PurchaseCost>
|
363
|
+
<COGSAccountRef>
|
364
|
+
<ListID>240000-934380913</ListID>
|
365
|
+
<FullName>Cost of Goods Sold</FullName>
|
366
|
+
</COGSAccountRef>
|
367
|
+
<AssetAccountRef>
|
368
|
+
<ListID>60000-934380912</ListID>
|
369
|
+
<FullName>Inventory Asset</FullName>
|
370
|
+
</AssetAccountRef>
|
371
|
+
<ReorderPoint>1500</ReorderPoint>
|
372
|
+
<QuantityOnHand>1783</QuantityOnHand>
|
373
|
+
<AverageCost>0.12</AverageCost>
|
374
|
+
<QuantityOnOrder>0</QuantityOnOrder>
|
375
|
+
<QuantityOnSalesOrder>0</QuantityOnSalesOrder>
|
376
|
+
</ItemInventoryRet>
|
377
|
+
<ItemInventoryRet>
|
378
|
+
<ListID>260000-1071523858</ListID>
|
379
|
+
<TimeCreated>2003-12-15T13:30:58-08:00</TimeCreated>
|
380
|
+
<TimeModified>2003-12-15T13:37:52-08:00</TimeModified>
|
381
|
+
<EditSequence>1071524272</EditSequence>
|
382
|
+
<Name>1/4" Line</Name>
|
383
|
+
<FullName>Irrigation Hose:1/4" Line</FullName>
|
384
|
+
<IsActive>true</IsActive>
|
385
|
+
<ParentRef>
|
386
|
+
<ListID>250000-1071523682</ListID>
|
387
|
+
<FullName>Irrigation Hose</FullName>
|
388
|
+
</ParentRef>
|
389
|
+
<Sublevel>1</Sublevel>
|
390
|
+
<SalesTaxCodeRef>
|
391
|
+
<ListID>10000-999021789</ListID>
|
392
|
+
<FullName>Tax</FullName>
|
393
|
+
</SalesTaxCodeRef>
|
394
|
+
<SalesDesc>1/4" Vinyl Irrigation Line</SalesDesc>
|
395
|
+
<SalesPrice>0.10</SalesPrice>
|
396
|
+
<IncomeAccountRef>
|
397
|
+
<ListID>690001-1071523679</ListID>
|
398
|
+
<FullName>Landscaping Services:Job Materials:Misc Materials</FullName>
|
399
|
+
</IncomeAccountRef>
|
400
|
+
<PurchaseDesc>1/4" Vinyl Irrigation Line</PurchaseDesc>
|
401
|
+
<PurchaseCost>0.07</PurchaseCost>
|
402
|
+
<COGSAccountRef>
|
403
|
+
<ListID>240000-934380913</ListID>
|
404
|
+
<FullName>Cost of Goods Sold</FullName>
|
405
|
+
</COGSAccountRef>
|
406
|
+
<AssetAccountRef>
|
407
|
+
<ListID>60000-934380912</ListID>
|
408
|
+
<FullName>Inventory Asset</FullName>
|
409
|
+
</AssetAccountRef>
|
410
|
+
<ReorderPoint>500</ReorderPoint>
|
411
|
+
<QuantityOnHand>1235</QuantityOnHand>
|
412
|
+
<AverageCost>0.07</AverageCost>
|
413
|
+
<QuantityOnOrder>0</QuantityOnOrder>
|
414
|
+
<QuantityOnSalesOrder>0</QuantityOnSalesOrder>
|
415
|
+
</ItemInventoryRet>
|
416
|
+
<ItemInventoryRet>
|
417
|
+
<ListID>280000-1071524260</ListID>
|
418
|
+
<TimeCreated>2003-12-15T13:37:40-08:00</TimeCreated>
|
419
|
+
<TimeModified>2003-12-15T13:37:40-08:00</TimeModified>
|
420
|
+
<EditSequence>1071524260</EditSequence>
|
421
|
+
<Name>3/4" Line</Name>
|
422
|
+
<FullName>Irrigation Hose:3/4" Line</FullName>
|
423
|
+
<IsActive>true</IsActive>
|
424
|
+
<ParentRef>
|
425
|
+
<ListID>250000-1071523682</ListID>
|
426
|
+
<FullName>Irrigation Hose</FullName>
|
427
|
+
</ParentRef>
|
428
|
+
<Sublevel>1</Sublevel>
|
429
|
+
<SalesTaxCodeRef>
|
430
|
+
<ListID>10000-999021789</ListID>
|
431
|
+
<FullName>Tax</FullName>
|
432
|
+
</SalesTaxCodeRef>
|
433
|
+
<SalesDesc>3/4" Vinyl Irrigation Line</SalesDesc>
|
434
|
+
<SalesPrice>0.27</SalesPrice>
|
435
|
+
<IncomeAccountRef>
|
436
|
+
<ListID>690001-1071523679</ListID>
|
437
|
+
<FullName>Landscaping Services:Job Materials:Misc Materials</FullName>
|
438
|
+
</IncomeAccountRef>
|
439
|
+
<PurchaseDesc>3/4" Vinyl Irrigation Line</PurchaseDesc>
|
440
|
+
<PurchaseCost>0.18</PurchaseCost>
|
441
|
+
<COGSAccountRef>
|
442
|
+
<ListID>240000-934380913</ListID>
|
443
|
+
<FullName>Cost of Goods Sold</FullName>
|
444
|
+
</COGSAccountRef>
|
445
|
+
<AssetAccountRef>
|
446
|
+
<ListID>60000-934380912</ListID>
|
447
|
+
<FullName>Inventory Asset</FullName>
|
448
|
+
</AssetAccountRef>
|
449
|
+
<ReorderPoint>1500</ReorderPoint>
|
450
|
+
<QuantityOnHand>2670</QuantityOnHand>
|
451
|
+
<AverageCost>0.18</AverageCost>
|
452
|
+
<QuantityOnOrder>0</QuantityOnOrder>
|
453
|
+
<QuantityOnSalesOrder>0</QuantityOnSalesOrder>
|
454
|
+
</ItemInventoryRet>
|
455
|
+
<ItemInventoryRet>
|
456
|
+
<ListID>60000-934380927</ListID>
|
457
|
+
<TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
|
458
|
+
<TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
|
459
|
+
<EditSequence>934380927</EditSequence>
|
460
|
+
<Name>Lighting</Name>
|
461
|
+
<FullName>Lighting</FullName>
|
462
|
+
<IsActive>true</IsActive>
|
463
|
+
<Sublevel>0</Sublevel>
|
464
|
+
<SalesTaxCodeRef>
|
465
|
+
<ListID>10000-999021789</ListID>
|
466
|
+
<FullName>Tax</FullName>
|
467
|
+
</SalesTaxCodeRef>
|
468
|
+
<SalesDesc>Garden Lighting</SalesDesc>
|
469
|
+
<SalesPrice>0.00</SalesPrice>
|
470
|
+
<IncomeAccountRef>
|
471
|
+
<ListID>1B0000-934380913</ListID>
|
472
|
+
<FullName>Landscaping Services:Job Materials:Fountains & Garden Lighting</FullName>
|
473
|
+
</IncomeAccountRef>
|
474
|
+
<PurchaseDesc>Garden Lighting</PurchaseDesc>
|
475
|
+
<PurchaseCost>0.00</PurchaseCost>
|
476
|
+
<COGSAccountRef>
|
477
|
+
<ListID>240000-934380913</ListID>
|
478
|
+
<FullName>Cost of Goods Sold</FullName>
|
479
|
+
</COGSAccountRef>
|
480
|
+
<AssetAccountRef>
|
481
|
+
<ListID>60000-934380912</ListID>
|
482
|
+
<FullName>Inventory Asset</FullName>
|
483
|
+
</AssetAccountRef>
|
484
|
+
<QuantityOnHand>94</QuantityOnHand>
|
485
|
+
<AverageCost>14.80</AverageCost>
|
486
|
+
<QuantityOnOrder>28</QuantityOnOrder>
|
487
|
+
<QuantityOnSalesOrder>0</QuantityOnSalesOrder>
|
488
|
+
</ItemInventoryRet>
|
489
|
+
<ItemInventoryRet>
|
490
|
+
<ListID>70000-934380927</ListID>
|
491
|
+
<TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
|
492
|
+
<TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
|
493
|
+
<EditSequence>934380927</EditSequence>
|
494
|
+
<Name>Pump</Name>
|
495
|
+
<FullName>Pump</FullName>
|
496
|
+
<IsActive>true</IsActive>
|
497
|
+
<Sublevel>0</Sublevel>
|
498
|
+
<SalesTaxCodeRef>
|
499
|
+
<ListID>10000-999021789</ListID>
|
500
|
+
<FullName>Tax</FullName>
|
501
|
+
</SalesTaxCodeRef>
|
502
|
+
<SalesDesc>Fountain pump</SalesDesc>
|
503
|
+
<SalesPrice>75.00</SalesPrice>
|
504
|
+
<IncomeAccountRef>
|
505
|
+
<ListID>1B0000-934380913</ListID>
|
506
|
+
<FullName>Landscaping Services:Job Materials:Fountains & Garden Lighting</FullName>
|
507
|
+
</IncomeAccountRef>
|
508
|
+
<PurchaseDesc>Fountain pump #198-30</PurchaseDesc>
|
509
|
+
<PurchaseCost>56.00</PurchaseCost>
|
510
|
+
<COGSAccountRef>
|
511
|
+
<ListID>240000-934380913</ListID>
|
512
|
+
<FullName>Cost of Goods Sold</FullName>
|
513
|
+
</COGSAccountRef>
|
514
|
+
<AssetAccountRef>
|
515
|
+
<ListID>60000-934380912</ListID>
|
516
|
+
<FullName>Inventory Asset</FullName>
|
517
|
+
</AssetAccountRef>
|
518
|
+
<QuantityOnHand>48</QuantityOnHand>
|
519
|
+
<AverageCost>53.93</AverageCost>
|
520
|
+
<QuantityOnOrder>0</QuantityOnOrder>
|
521
|
+
<QuantityOnSalesOrder>0</QuantityOnSalesOrder>
|
522
|
+
</ItemInventoryRet>
|
523
|
+
<ItemInventoryRet>
|
524
|
+
<ListID>80000-934380927</ListID>
|
525
|
+
<TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
|
526
|
+
<TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
|
527
|
+
<EditSequence>934380927</EditSequence>
|
528
|
+
<Name>Soil</Name>
|
529
|
+
<FullName>Soil</FullName>
|
530
|
+
<IsActive>true</IsActive>
|
531
|
+
<Sublevel>0</Sublevel>
|
532
|
+
<SalesTaxCodeRef>
|
533
|
+
<ListID>10000-999021789</ListID>
|
534
|
+
<FullName>Tax</FullName>
|
535
|
+
</SalesTaxCodeRef>
|
536
|
+
<SalesDesc>Soil, 2 cubic ft bag</SalesDesc>
|
537
|
+
<SalesPrice>6.75</SalesPrice>
|
538
|
+
<IncomeAccountRef>
|
539
|
+
<ListID>1C0000-934380913</ListID>
|
540
|
+
<FullName>Landscaping Services:Job Materials:Plants and Sod</FullName>
|
541
|
+
</IncomeAccountRef>
|
542
|
+
<PurchaseDesc>Soil, 2 cubic ft bag</PurchaseDesc>
|
543
|
+
<PurchaseCost>5.30</PurchaseCost>
|
544
|
+
<COGSAccountRef>
|
545
|
+
<ListID>240000-934380913</ListID>
|
546
|
+
<FullName>Cost of Goods Sold</FullName>
|
547
|
+
</COGSAccountRef>
|
548
|
+
<PrefVendorRef>
|
549
|
+
<ListID>10000-934380927</ListID>
|
550
|
+
<FullName>Middlefield Nursery</FullName>
|
551
|
+
</PrefVendorRef>
|
552
|
+
<AssetAccountRef>
|
553
|
+
<ListID>60000-934380912</ListID>
|
554
|
+
<FullName>Inventory Asset</FullName>
|
555
|
+
</AssetAccountRef>
|
556
|
+
<ReorderPoint>25</ReorderPoint>
|
557
|
+
<QuantityOnHand>0</QuantityOnHand>
|
558
|
+
<AverageCost>5.30</AverageCost>
|
559
|
+
<QuantityOnOrder>6</QuantityOnOrder>
|
560
|
+
<QuantityOnSalesOrder>10</QuantityOnSalesOrder>
|
561
|
+
</ItemInventoryRet>
|
562
|
+
<ItemInventoryRet>
|
563
|
+
<ListID>90000-934380927</ListID>
|
564
|
+
<TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
|
565
|
+
<TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
|
566
|
+
<EditSequence>934380927</EditSequence>
|
567
|
+
<Name>Sprinkler Hds</Name>
|
568
|
+
<FullName>Sprinkler Hds</FullName>
|
569
|
+
<IsActive>true</IsActive>
|
570
|
+
<Sublevel>0</Sublevel>
|
571
|
+
<SalesTaxCodeRef>
|
572
|
+
<ListID>10000-999021789</ListID>
|
573
|
+
<FullName>Tax</FullName>
|
574
|
+
</SalesTaxCodeRef>
|
575
|
+
<SalesDesc>Sprinkler heads</SalesDesc>
|
576
|
+
<SalesPrice>0.00</SalesPrice>
|
577
|
+
<IncomeAccountRef>
|
578
|
+
<ListID>1D0000-934380913</ListID>
|
579
|
+
<FullName>Landscaping Services:Job Materials:Sprinklers & Drip systems</FullName>
|
580
|
+
</IncomeAccountRef>
|
581
|
+
<PurchaseDesc>Sprinkler head #BLS9081-09</PurchaseDesc>
|
582
|
+
<PurchaseCost>0.00</PurchaseCost>
|
583
|
+
<COGSAccountRef>
|
584
|
+
<ListID>240000-934380913</ListID>
|
585
|
+
<FullName>Cost of Goods Sold</FullName>
|
586
|
+
</COGSAccountRef>
|
587
|
+
<AssetAccountRef>
|
588
|
+
<ListID>60000-934380912</ListID>
|
589
|
+
<FullName>Inventory Asset</FullName>
|
590
|
+
</AssetAccountRef>
|
591
|
+
<QuantityOnHand>69</QuantityOnHand>
|
592
|
+
<AverageCost>6.38</AverageCost>
|
593
|
+
<QuantityOnOrder>36</QuantityOnOrder>
|
594
|
+
<QuantityOnSalesOrder>0</QuantityOnSalesOrder>
|
595
|
+
</ItemInventoryRet>
|
596
|
+
<ItemInventoryRet>
|
597
|
+
<ListID>A0000-934380927</ListID>
|
598
|
+
<TimeCreated>1999-08-11T07:15:27-08:00</TimeCreated>
|
599
|
+
<TimeModified>1999-08-11T07:15:27-08:00</TimeModified>
|
600
|
+
<EditSequence>934380927</EditSequence>
|
601
|
+
<Name>Sprkl pipes</Name>
|
602
|
+
<FullName>Sprkl pipes</FullName>
|
603
|
+
<IsActive>true</IsActive>
|
604
|
+
<Sublevel>0</Sublevel>
|
605
|
+
<SalesTaxCodeRef>
|
606
|
+
<ListID>10000-999021789</ListID>
|
607
|
+
<FullName>Tax</FullName>
|
608
|
+
</SalesTaxCodeRef>
|
609
|
+
<SalesDesc>Plastic sprinkler piping</SalesDesc>
|
610
|
+
<SalesPrice>2.75</SalesPrice>
|
611
|
+
<IncomeAccountRef>
|
612
|
+
<ListID>1D0000-934380913</ListID>
|
613
|
+
<FullName>Landscaping Services:Job Materials:Sprinklers & Drip systems</FullName>
|
614
|
+
</IncomeAccountRef>
|
615
|
+
<PurchaseDesc>Plastic sprinkler piping #1098-20</PurchaseDesc>
|
616
|
+
<PurchaseCost>2.10</PurchaseCost>
|
617
|
+
<COGSAccountRef>
|
618
|
+
<ListID>240000-934380913</ListID>
|
619
|
+
<FullName>Cost of Goods Sold</FullName>
|
620
|
+
</COGSAccountRef>
|
621
|
+
<AssetAccountRef>
|
622
|
+
<ListID>60000-934380912</ListID>
|
623
|
+
<FullName>Inventory Asset</FullName>
|
624
|
+
</AssetAccountRef>
|
625
|
+
<ReorderPoint>250</ReorderPoint>
|
626
|
+
<QuantityOnHand>826</QuantityOnHand>
|
627
|
+
<AverageCost>2.10</AverageCost>
|
628
|
+
<QuantityOnOrder>115</QuantityOnOrder>
|
629
|
+
<QuantityOnSalesOrder>0</QuantityOnSalesOrder>
|
630
|
+
</ItemInventoryRet>
|
631
|
+
</ItemQueryRs>
|
632
|
+
</QBXMLMsgsRs>
|
633
|
+
</QBXML>
|