1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
U
­ý°d(âã @sjddlmZddlmZmZddlmZddlZddlm    Z    ddl
m Z ddl m Z ddlmZddlZddlZdd    lmZdd
lmZdd lmZmZddlmmZddlZdd lm Z m!Z!m"Z"ddl#m$Z%dd l&m'Z'm(Z(ddl)m*Z*ddl+m,Z,e!dddgdddgdej-dgdœƒZ.dZ/dZ0e!ddddddœd d!d!d!d!dœd"d"d"d"d"dœddddddœd#d#d#d#d#dœd$d%d&d'd(dœd)œƒZ1ej2d*d+gd,d-d.„ƒZ3ej2ej4d/e 5d/¡d0d1gd,d2d3„ƒZ6d4d5„Z7d6d7„Z8e 5d/¡d8d9„ƒZ9ej:j;ej:j<e%j;d:d;d<d=d>„ƒƒƒZ=d?d@„Z>dAdB„Z?dCdD„Z@dEdF„ZAdGdH„ZBdIdJ„ZCdKdL„ZDe 5d/¡ej: EdMdNdOg¡dPdQ„ƒƒZFej: EdMdNdOg¡dRdS„ƒZGe 5d/¡dTdU„ƒZHdVdW„ZIej:j;e%j;dXd;d<e 5d/¡dYdZ„ƒƒƒZJej:j;e%j;d[d;d<d\d]„ƒƒZKe 5d/¡d^d_„ƒZLd`da„ZMe 5d/¡dbdc„ƒZNddde„ZOdfdg„ZPe 5d/¡dhdi„ƒZQe 5d/¡djdk„ƒZRdldm„ZSdndo„ZTe 5d/¡dpdq„ƒZUe 5d/¡ej: EdrdNdg¡dsdt„ƒƒZVdudv„ZWdwdx„ZXdydz„ZYd{d|„ZZd}d~„Z[dd€„Z\e 5d/¡dd‚„ƒZ]dƒd„„Z^d…d†„Z_d‡dˆ„Z`d‰dŠ„Zad‹dŒ„ZbddŽ„Zcdd„Zdd‘d’„Zed“d”„Zfd•d–„Zge 5d/¡d—d˜„ƒZhe 5d/¡d™dš„ƒZid›dœ„Zje kd/¡ddž„ƒZldŸd „Zme 5d/¡d¡d¢„ƒZne 5d/¡d£d¤„ƒZoe 5d/¡d¥d¦„ƒZpe 5d/¡d§d¨„ƒZqe 5d/¡d©dª„ƒZre 5d/¡d«d¬„ƒZse 5d/¡d­d®„ƒZte 5d/¡d¯d°„ƒZue 5d/¡d±d²„ƒZve 5d/¡d³d´„ƒZwe 5d/¡dµd¶„ƒZxe 5d/¡d·d¸„ƒZye 5d/¡ej: EdMdNdOg¡d¹dº„ƒƒZzd»d¼„Z{d½d¾„Z|d¿dÀ„Z}ej:j;e%j;dXd;d<dÁd„ƒƒZ~dÃdĄZdÅdƄZ€dÇdȄZdÉdʄZ‚dËd̄ZƒdÍd΄Z„dÏdЄZ…dÑd҄Z†dÓdԄZ‡ej:j;e 5d/¡e%j;dÕd;d<dÖdׄƒƒƒZˆdØdلZ‰dÚdۄZŠdÜd݄Z‹ej:j;e 5dÞ¡e 5d/¡ej:jŒeƒdßdàe%j;dád℃ƒƒƒƒZdãdä„ZŽdådæ„ZdS)çé)Ú annotations)ÚBytesIOÚStringIO)Ú    LZMAErrorN)Ú    ReadError)Ú    HTTPError)Ú
ParseError)Ú
BadZipFile)Úis_ci_environment)Úimport_optional_dependency)ÚEmptyDataErrorÚ ParserError)ÚNAÚ    DataFrameÚSeries)ÚArrowStringArrayÚ StringArray)Ú
get_handle)Úread_xmlÚsquareÚcircleÚtriangleéhé´éé©ÚshapeÚdegreesÚsidesa[<?xml version='1.0' encoding='utf-8'?>
<data xmlns="http://example.com">
  <row>
    <shape>square</shape>
    <degrees>360</degrees>
    <sides>4</sides>
  </row>
  <row>
    <shape>circle</shape>
    <degrees>360</degrees>
    <sides/>
  </row>
  <row>
    <shape>triangle</shape>
    <degrees>180</degrees>
    <sides>3</sides>
  </row>
</data>aÇ<?xml version='1.0' encoding='utf-8'?>
<doc:data xmlns:doc="http://example.com">
  <doc:row>
    <doc:shape>square</doc:shape>
    <doc:degrees>360</doc:degrees>
    <doc:sides>4.0</doc:sides>
  </doc:row>
  <doc:row>
    <doc:shape>circle</doc:shape>
    <doc:degrees>360</doc:degrees>
    <doc:sides/>
  </doc:row>
  <doc:row>
    <doc:shape>triangle</doc:shape>
    <doc:degrees>180</doc:degrees>
    <doc:sides>3.0</doc:sides>
  </doc:row>
</doc:data>ZID_00001ZID_00002ZID_00003ZID_00004ZID_00005©réérrzBlue Line (Forest Park)zRed, Purple Linez #LineStyle01ZclampedToGroundzæ-87.77678526964958,41.8708863930319,0 -87.77826234150609,41.87097820122218,0 -87.78251583439344,41.87130129991005,0 -87.78418294588424,41.87145055520308,0 -87.7872369165933,41.8717239119163,0 -87.79160214925886,41.87210797280065,0a\-87.65758750947528,41.96427269188822,0 -87.65802133507393,41.96581929055245,0 -87.65819033925305,41.96621846093642,0 -87.6583189819129,41.96650362897086,0 -87.65835858701473,41.96669002089185,0 -87.65838428411853,41.96688150295095,0 -87.65842208882658,41.96745896091846,0 -87.65846556843937,41.9683761425439,0 -87.65849296214573,41.96913893870342,0a”-87.65492939166126,41.95377494531437,0 -87.65557043199591,41.95376544118533,0 -87.65606302030132,41.95376391658746,0 -87.65623502146268,41.95377379126367,0 -87.65634748981634,41.95380103566435,0 -87.65646537904269,41.95387703994676,0 -87.65656532461145,41.95396622645799,0 -87.65664760856414,41.95404201996044,0 -87.65671750555913,41.95416647054043,0 -87.65673983607117,41.95429949810849,0 -87.65673866475777,41.95441024240925,0 -87.6567690255541,41.95490657227902,0 -87.65683672482363,41.95692259283837,0 -87.6568900886376,41.95861070983142,0 -87.65699865558875,41.96181418669004,0 -87.65756347177603,41.96397045777844,0 -87.65758750947528,41.96427269188822,0ah-87.65362593118043,41.94742799535678,0 -87.65363554415794,41.94819886386848,0 -87.6536456393239,41.95059994675451,0 -87.65365831235026,41.95108288489359,0 -87.6536604873874,41.9519954657554,0 -87.65362592053201,41.95245597302328,0 -87.65367158496069,41.95311153649393,0 -87.65368468595476,41.9533202828916,0 -87.65369271253692,41.95343095587119,0 -87.65373335834569,41.95351536301472,0 -87.65378605844126,41.95358212680591,0 -87.65385067928185,41.95364452823767,0 -87.6539390793817,41.95370263886964,0 -87.6540786298351,41.95373403675265,0 -87.65430648647626,41.9537535411832,0 -87.65492939166126,41.95377494531437,0a -87.65345391792157,41.94217681262115,0 -87.65342448305786,41.94237224420864,0 -87.65339745703922,41.94268217746244,0 -87.65337753982941,41.94288140770284,0 -87.65336256753105,41.94317369618263,0 -87.65338799707138,41.94357253961736,0 -87.65340240886648,41.94389158188269,0 -87.65341837392448,41.94406444407721,0 -87.65342275247338,41.94421065714904,0 -87.65347469646018,41.94434829382345,0 -87.65351486483024,41.94447699917548,0 -87.65353483605053,41.9453896864472,0 -87.65361975532807,41.94689193720703,0 -87.65362593118043,41.94742799535678,0)ÚidÚnameÚstyleUrlÚextrudeÚ altitudeModeÚ coordinatesÚrbÚr)ÚparamscCs|jS©N©Úparam©Úrequest©r1úSd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/io/xml/test_xml.pyÚmodeúsr3Úlxml)ZmarksÚetreecCs|jSr,r-r/r1r1r2Úparserÿsr6c
KsLt ¡:}t|dƒ}| |¡W5QRXt|f|ŽW5QR£SQRXdS)NÚw)ÚtmÚ ensure_cleanÚopenÚwriter)ÚdataÚkwargsÚpathÚfr1r1r2Úread_xml_iterparses
 r@c Ksxt|d|d`}t ¡L}t|dƒ}| |j ¡¡W5QRXt|f|ŽW5QR£W5QR£SQRXW5QRXdS)Nr*)Ú compressionr7)rr8r9r:r;ÚhandleÚreadr)Ú    comp_pathÚcompression_onlyr=Zhandlesr>r?r1r1r2Úread_xml_iterparse_comp s
 
 rFc    Cs†|ddddƒ}t|dd}t|dd}t|ddd    d
d d d gid}t|ddd    d
d d d gid}t ||¡t ||¡t ||¡dS)NÚior<Úxmlú    books.xmlr4©r6r5ÚbookÚcategoryÚtitleÚyearÚauthorÚprice©r6Ú    iterparse©rr8Úassert_frame_equal)ÚdatapathÚfilenameZ df_file_lxmlZ df_file_etreeÚ df_iter_lxmlÚ df_iter_etreer1r1r2Útest_parser_consistency_files   ýý  rYúOhttps://data.cityofchicago.org/api/views/8pix-ypme/rows.xml?accessType=DOWNLOADT)ÚurlZcheck_before_testcCsŒd}tjddf}t|d|dj|ddt||d}t||d    d
d d d dddddddddddddddddgid}W5QRXt ||¡dS) NrZzcta.xml©rVz
.//row/row©Úxpathr6F©ÚindexrJÚrowZ_idÚ_uuidÚ    _positionZ_addressZstop_idZ direction_idZ    stop_nameZ station_nameZstation_descriptive_nameZmap_idZadaÚredÚblueÚgZbrnÚpZpexpÚyZpnkÚoÚlocationrQ)r8r9rÚto_xmlrT)r6r[r>Údf_xpathÚdf_iterr1r1r2Útest_parser_consistency_url,sD ÿ ëÿýrnc    Csr|ddddƒ}t||ƒ}t||d}W5QRXtdddgd    d
d gd d dgdddgdddgdœƒ}t ||¡dS©NrGr<rHrIrJÚcookingÚchildrenÚwebúEveryday Italianú Harry Potterú Learning XMLúGiada De Laurentiisú J K. Rowlingú Erik T. RayéÕéÓç>@ç=
×£pý=@皙™™™ùC@©rLrMrOrNrP)r:rrr8rT)rUr6r3rVr?Údf_fileÚ df_expectedr1r1r2Útest_file_like`s ûÿ
rc    Cs|ddddƒ}t||ƒ}| ¡}W5QRXtt|tƒr@t|ƒnt|ƒ|d}tdddgd    d
d gd d dgdddgdddgdœƒ}t     ||¡dSro)
r:rCrÚ
isinstanceÚbytesrrrr8rT)rUr6r3rVr?Úxml_objZdf_ior€r1r1r2Ú test_file_iors  þûÿ
r…c    Csz|ddddƒ}t||ƒ}| ¡}W5QRXt||d}tdddgd    d
d gd d dgdddgdddgdœƒ}t ||¡dSro)r:rCrrr8rT©rUr6r3rVr?r„Údf_strr€r1r1r2Ú test_file_buffered_reader_string‰s  ûÿ
rˆc    Cs‚|ddddƒ}t||ƒ}t|ƒ| ¡}W5QRXt||d}tdddgd    d
d gd d dgdddgdddgdœƒ}t ||¡dSro)r:ÚnextrCrrr8rTr†r1r1r2Ú,test_file_buffered_reader_no_xml_declarations  ûÿ
rŠcCs4d}t||d}tdddœdgd}t ||¡dS)Nõ<<中文標籤><row><c1>1</c1><c2>2</c2></row></中文標籤>rJr!r")Zc1Úc2rr_©rrr8rT)r6Útxtr‡r€r1r1r2Útest_string_charset²s rcCsP|ddddƒ}t||ƒ|d}tdddgd    dd
gdd dgd œƒ}t ||¡dS) NrGr<rHzdoc_ch_utf.xmlrJuP問  è‹¥ç®‡æ˜¯é‚ªè€Œè¨€ç ´é‚ª ä½•者是正而道(Sorry, this is Big5 only)申正u;問 æ—¢ç ´æœ‰å¾—申無得 äº¦æ‡‰ä½†ç ´æ€§åŸ·ç”³å‡åä»¥ä¸uO問 æ—¢ç ´æ€§ç”³å‡ äº¦æ‡‰ä½†ç ´æœ‰ç”³ç„¡ è‹¥æœ‰ç„¡å…©æ´— äº¦æ‡‰æ€§å‡é›™ç ´è€¶uw答  é‚ªæ—¢ç„¡é‡ æ­£äº¦å¤šé€”  å¤§ç•¥ç‚ºè¨€ä¸å‡ºäºŒç¨® è¬‚有得與無得 æœ‰å¾—是邪須破 ç„¡å¾—是正須申
        æ•…uL答  ä¸ä¾‹  æœ‰ç„¡çš†æ˜¯æ€§ æ‰€ä»¥é ˆé›™ç ´ æ—¢åˆ†æ€§å‡ç•° æ•…有破不破uV答 æ€§åŸ·æ˜¯æœ‰å¾— å‡åæ˜¯ç„¡å¾—  ä»Šç ´æœ‰å¾—申無得 å³æ˜¯ç ´æ€§åŸ·ç”³å‡åä¹Ÿ)u問u答Úar)rUr6Úxml_filerr€r1r1r2Útest_file_charset¼sýýõÿr’c    CsF|ddddƒ}t|dƒ$}tt| ¡ƒ|d|jr8t‚W5QRXdS)NrGr<rHrIr)rJ)r:rrrCÚclosedÚAssertionError)rUr6r‘r?r1r1r2Útest_file_handle_closeÔs r•ÚvalÚóc    CsDddlm}d ddg¡}tj||dt|ddW5QRXdS)    Nr©ÚXMLSyntaxErrorú|zDocument is emptyzNone \(line 0\)©Úmatchr4rJ)Ú
lxml.etreeršÚjoinÚpytestÚraisesr)r–ršÚmsgr1r1r2Útest_empty_string_lxmlÝs ýÿr£c    Cs*tjtddt|ddW5QRXdS)Nzno element foundrœr5rJ)r r¡rr)r–r1r1r2Útest_empty_string_etreeísr¤c    CsFddlm}tj ddd¡}tj|ddt|dd    W5QRXdS)
Nrr™r<ÚhtmlrIú!Start tag expected, '<' not foundrœr4rJ©ržršÚosr>rŸr r¡r)ršrVr1r1r2Útest_wrong_file_path_lxmlós þr©c    Cs:tj ddd¡}tjtddt|ddW5QRXdS)Nr<r¥rIznot well-formedrœr5rJ)r¨r>rŸr r¡rrr\r1r1r2Útest_wrong_file_path_etrees þrªú'https://www.w3schools.com/xml/books.xmlc    CsZd}t|dd}tdddgddd    gd
d d gd d dgdddgdddgdœƒ}t ||¡dS)Nr«ú.//book[count(*)=4]©r^rprqrrrsrtrurvrwrxryrzr{r|r}Z    paperback)rLrMrOrNrPZcoverr)r[Zdf_urlr€r1r1r2Útest_url
s úÿ r®ú(https://www.w3schools.com/xml/python.xmlc    Cs0tjtddd}t|d|dW5QRXdS)NzHTTP Error 404: Not Foundrœr¯r¬r])r r¡rr©r6r[r1r1r2Útest_wrong_url"sr±c    Cs:|ddddƒ}tjtddt|ddd    W5QRXdS)
NrGr<rHrIúxpath does not return any nodesrœz    .//pythonr4r]©r r¡Ú
ValueErrorr©rUrVr1r1r2Útest_empty_xpath_lxml-sr¶c    Cs:|ddddƒ}tjtddt|ddd    W5QRXdS)
NrGr<rHrIz/You have used an incorrect or unsupported XPathrœú    .//[book]r5r]©r r¡Ú SyntaxErrorrrµr1r1r2Útest_bad_xpath_etree4s ÿrºc    CsFddlm}|ddddƒ}tj|ddt|d    d
d W5QRXdS) Nr©ÚXPathEvalErrorrGr<rHrIzInvalid expressionrœr·r4r]©ržr¼r r¡r©rUr¼rVr1r1r2Útest_bad_xpath_lxml<s r¿cCsnttdddi|d}tt|ddddgid    }td
d d gd d dgdtdƒdgdœƒ}t ||¡t ||¡dS)Nú    .//ns:rowÚnsúhttp://example.com©r^Ú
namespacesr6rarrrrQrrrrrç@Únanç@r)rÚxml_default_nmspr@rÚfloatr8rT©r6Zdf_nmsprmr€r1r1r2Útest_default_namespaceHs&ü ý ýÿ rËcCsnttdddi|d}tt|ddddgid    }td
d d gd d dgdtdƒdgdœƒ}t ||¡t ||¡dS)Nú
.//doc:rowÚdocrÂrÃrarrrrQrrrrrrÅrÆrÇr)rÚxml_prefix_nmspr@rrÉr8rTrÊr1r1r2Útest_prefix_namespacebs&ü ÿ ýÿ rÏcCs8ttdddidd}ttdddidd}t ||¡dS)    NrÀrÁrÂr4rÃrÌrÍr5)rrÈr8rT©Údf_lxmlÚdf_etreer1r1r2Ú"test_consistency_default_namespaceysüürÓcCs8ttdddidd}ttdddidd}t ||¡dS)NrÌrÍrÂr4rÃr5)rrÎr8rTrÐr1r1r2Ú!test_consistency_prefix_namespaceŒsüürÔc    Cs:|ddddƒ}tjtddt|d|dW5QRXdS)    NrGr<rHrIr²rœz .//Placemarkr]r³©rUr6rVr1r1r2Ú*test_missing_prefix_with_default_namespace¢srÖc    Cs:|ddddƒ}tjtddt|ddd    W5QRXdS)
NrGr<rHúcta_rail_lines.kmlz'you used an undeclared namespace prefixrœú.//kml:Placemarkr5r]r¸rµr1r1r2Ú$test_missing_prefix_definition_etree¨srÙc    CsFddlm}|ddddƒ}tj|ddt|d    d
d W5QRXdS) Nrr»rGr<rHr×zUndefined namespace prefixrœrØr4r]r½r¾r1r1r2Ú#test_missing_prefix_definition_lxml®s rÚÚkeyc    Cs2tjtddttd|diddW5QRXdS)Nz0empty namespace prefix is not supported in XPathrœrØúhttp://www.opengis.net/kml/2.2r4rÃ)r r¡Ú    TypeErrorrrÈ)rÛr1r1r2Útest_none_namespace_prefix·sÿürÞc    Cs„|ddddƒ}t||d}t||dddd    d
d gid }td ddgdddgdddgdddgdddgdœƒ}t ||¡t ||¡dS)NrGr<rHrIrJrKrLrMrOrNrPrQrprqrrrsrtrurvrwrxryrzr{r|r}r~r©rUr6rVrrmr€r1r1r2Útest_file_elems_and_attrsÈs" ýûÿ
ràcCs^|ddddƒ}t|d|d}t||ddgid    }tdd
d d giƒ}t ||¡t ||¡dS) NrGr<rHrIT)Ú
attrs_onlyr6rKrLrQrprqrrrrßr1r1r2Útest_file_only_attrsÞs  râcCs||ddddƒ}t|d|d}t||ddd    d
d gid }td ddgdddgdddgdddgdœƒ}t ||¡t ||¡dS)NrGr<rHrIT)Ú
elems_onlyr6rKrMrOrNrPrQrsrtrurvrwrxryrzr{r|r})rMrOrNrPrrßr1r1r2Útest_file_only_elemsès ýüÿ     räc    Cs<|ddddƒ}tjtddt|dd|dW5QRXdS)    NrGr<rHr×z3Either element or attributes can be parsed not bothrœT)rãrár6r³rÕr1r1r2Útest_elem_and_attrs_onlyýs þråc    Cs2d}tjtddt|dd|dW5QRXdS)NaU
      <data>
        <row>
          <shape sides="4">square</shape>
          <degrees>360</degrees>
        </row>
        <row>
          <shape sides="0">circle</shape>
          <degrees>360</degrees>
        </row>
        <row>
          <shape sides="3">triangle</shape>
          <degrees>180</degrees>
        </row>
      </data>ú-xpath does not return any nodes or attributesrœú./rowT)r^rár6r³©r6rHr1r1r2Útest_empty_attrs_onlys þréc    Cs2d}tjtddt|dd|dW5QRXdS)Nz¿
      <data>
        <row sides="4" shape="square" degrees="360"/>
        <row sides="0" shape="circle" degrees="360"/>
        <row sides="3" shape="triangle" degrees="180"/>
      </data>rærœrçT)r^rãr6r³rèr1r1r2Útest_empty_elems_onlys þrêcCsdd}t|dd}t|ddd}t|dddgid    }t|ddddgid
}t ||¡t ||¡dS) Naº<?xml version="1.0" encoding="UTF-8"?>
<TrainSchedule>
      <Stations>
         <station Name="Manhattan" coords="31,460,195,498"/>
         <station Name="Laraway Road" coords="63,409,194,455"/>
         <station Name="179th St (Orland Park)" coords="0,364,110,395"/>
         <station Name="153rd St (Orland Park)" coords="7,333,113,362"/>
         <station Name="143rd St (Orland Park)" coords="17,297,115,330"/>
         <station Name="Palos Park" coords="128,281,239,303"/>
         <station Name="Palos Heights" coords="148,257,283,279"/>
         <station Name="Worth" coords="170,230,248,255"/>
         <station Name="Chicago Ridge" coords="70,187,208,214"/>
         <station Name="Oak Lawn" coords="166,159,266,185"/>
         <station Name="Ashburn" coords="197,133,336,157"/>
         <station Name="Wrightwood" coords="219,106,340,133"/>
         <station Name="Chicago Union Sta" coords="220,0,360,43"/>
      </Stations>
</TrainSchedule>z
.//stationr­r5r]ZstationÚNameZcoords©rRrQ)rr@r8rT)rHrÑrÒZ
df_iter_lxZ
df_iter_etr1r1r2Útest_attribute_centric_xml-s 
ÿ ríc
Csœ|ddddƒ}t|ddddd    g|d
}t||ddddd    gd d d dddgid}tdddgdddgdddgdddgdddgd œƒ}t ||¡t ||¡dS)!NrGr<rHrIÚCol1ÚCol2ÚCol3ÚCol4ÚCol5©Únamesr6rKrLrMrOrNrP)r6rôrRrprqrrrsrtrurvrwrxryrzr{r|r})rîrïrðrñròrrßr1r1r2Útest_names_option_outputRs, ÿ üûÿ
rõcCsrd}t|d|dddgd}t||ddddgidddgd    }td
d gd d gddgdœƒ}t ||¡t ||¡dS)Nz°<shapes>
  <shape type="2D">
    <name>circle</name>
    <type>curved</type>
  </shape>
  <shape type="3D">
    <name>sphere</name>
    <type>curved</type>
  </shape>
</shapes>ú.//shapeÚtype_dimrÚ    type_edge©r^r6rôÚtyper$©r6rRrôÚ2DÚ3DrÚsphereZcurved)r÷rrø©rr@rr8rT©r6rHrlrmr€r1r1r2Útest_repeat_namesls* ÿ üýÿ rcCsnd}t|d|ddgd}t||dddgiddgd}td    d
d d gd    d    d d gd œƒ}t ||¡t ||¡dS)NaB<shapes>
  <shape>
    <name>rectangle</name>
    <family>rectangle</family>
  </shape>
  <shape>
    <name>square</name>
    <family>rectangle</family>
  </shape>
  <shape>
    <name>ellipse</name>
    <family>ellipse</family>
  </shape>
  <shape>
    <name>circle</name>
    <family>ellipse</family>
  </shape>
</shapes>rör$ÚgrouprùrÚfamilyrûZ    rectanglerÚellipser)r$rrÿrr1r1r2Útest_repeat_values_new_namess
ü
 
þÿ rcCs†d}t|d|ddddgd}t||dd    d    d    d    giddddgd
}td d d gdddgdddgdddgdœƒ}t ||¡t ||¡dS)Na<shapes>
  <shape>
    <value item="name">circle</value>
    <value item="family">ellipse</value>
    <value item="degrees">360</value>
    <value item="sides">0</value>
  </shape>
  <shape>
    <value item="name">triangle</value>
    <value item="family">polygon</value>
    <value item="degrees">180</value>
    <value item="sides">3</value>
  </shape>
  <shape>
    <value item="name">square</value>
    <value item="family">polygon</value>
    <value item="degrees">360</value>
    <value item="sides">4</value>
  </shape>
</shapes>rör$rrrrùrÚvaluerûrrrrZpolygonrrrrr)r$rrrrÿrr1r1r2Útest_repeat_elements·s,
ü
üüÿ     rc    Cs@|ddddƒ}tjtddt|ddd    g|d
W5QRXdS) NrGr<rHrIznames does not match lengthrœrîrïrðrór³rÕr1r1r2Útest_names_option_wrong_lengthèsrc    Cs:|ddddƒ}tjtddt|d|dW5QRXdS)    NrGr<rHrIzis not a valid type for namesrœzCol1, Col2, Col3ró©r r¡rÝrrÕr1r1r2Útest_names_option_wrong_typeïsr
c    Cs8|ddddƒ}tjtddt||dW5QRXdS)NrGr<rHúbaby_names.xmlz'utf-8' codec can't decoderœrJ©r r¡ÚUnicodeDecodeErrorrrÕr1r1r2Útest_wrong_encodingùsrc    Cs:|ddddƒ}tjtddt|d|dW5QRXdS)    NrGr<rHr zIUTF-16 stream does not start with BOM|'utf-16-le' codec can't decode byterœzUTF-16©Úencodingr6)r r¡Ú UnicodeErrorrrÕr1r1r2Útest_utf16_encodingÿs ýrc    Cs:|ddddƒ}tjtddt|d|dW5QRXdS)    NrGr<rHr zunknown encoding: UFT-8rœzUFT-8r)r r¡Ú LookupErrorrrÕr1r1r2Útest_unknown_encoding src    Cs:|ddddƒ}tjtddt|d|dW5QRXdS)    NrGr<rHr z'ascii' codec can't decode byterœÚasciirr rÕr1r1r2Útest_ascii_encodingsrcCs†|ddddƒ}t|ddd}t|dd    d}t|ddd
d d d gid}t|ddd
d d d gid}t ||¡t ||¡t ||¡dS)NrGr<rHr r4z
ISO-8859-1©r6rr5z
iso-8859-1raZrankZmalenameZ
femalename)r6rrRrS)rUrVZ df_xpath_lxmlZdf_xpath_etreerWrXr1r1r2Ú%test_parser_consistency_with_encodings$ ü ü  rc    Cs4d}tjtddtt|ƒdddW5QRXdS)Nú-<data>
  <row>
    <a>c</a>
  </row>
</data>
z encoding Nonerœr4r)r r¡rÝrr)r<r1r1r2Útest_wrong_encoding_for_lxml/srcCs4d}tt|ƒddd}tddgiƒ}t ||¡dS)Nrr5rrÚc)rrrr8rT)r<ÚresultÚexpectedr1r1r2Útest_none_encoding_etree<src    Cs4|ddddƒ}tjtddt|ƒW5QRXdS)NrGr<rHrIz7lxml not found, please install or use the etree parser.rœ)r r¡Ú ImportErrorrrµr1r1r2Útest_default_parser_no_lxmlLs ÿr c    Cs8|ddddƒ}tjtddt|ddW5QRXdS)    NrGr<rHrIz,Values for parser can only be lxml or etree.rœZbs4rJr³rµr1r1r2Útest_wrong_parserVs ÿr!c    Csh|ddddƒ}|ddddƒ}t|dddi|d    }t|d
d d d dddgid}t t|¡t t|¡dS)NrGr<rHr×úflatten_doc.xslú.//k:PlacemarkÚkrÜ©r^rÄÚ
stylesheetZ    Placemarkr#r$r%r&r'r(rì)rr8rTÚdf_kml)rUÚkmlÚxslÚdf_stylermr1r1r2Útest_stylesheet_filebs,üúÿþ r+c    CsV|ddddƒ}|ddddƒ}t||ƒ}t|dddi|d    }W5QRXt t|¡dS©
NrGr<rHr×r"r#r$rÜr%)r:rr8rTr')rUr3r(r)r?r*r1r1r2Útest_stylesheet_file_like€s ür-c    Csx|ddddƒ}|ddddƒ}t||ƒ(}|dkr>t| ¡ƒ}n t| ¡ƒ}W5QRXt|ddd    i|d
}t t|¡dS) NrGr<rHr×r"r)r#r$rÜr%)r:rrCrrr8rTr'©rUr3r(r)r?Úxsl_objr*r1r1r2Útest_stylesheet_ios ür0c    Cs^|ddddƒ}|ddddƒ}t||ƒ}| ¡}W5QRXt|dddi|d    }t t|¡dSr,)r:rCrr8rTr'r.r1r1r2Útest_stylesheet_buffered_reader§s ür1cCs,d}d}t|ƒ}t||d}t ||¡dS)Nr‹u­<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>
 <xsl:strip-space elements="*"/>
 
 <xsl:template match="node()|@*">
     <xsl:copy>
       <xsl:apply-templates select="node()|@*"/>
     </xsl:copy>
 </xsl:template>
 
 <xsl:template match="中文標籤">
     <æ ¹>
       <xsl:apply-templates />
     </æ ¹>
 </xsl:template>
 
</xsl:stylesheet>©r&rS)rHr)Zdf_origr*r1r1r2Útest_style_charset¹s
 r3c    CsRddlm}|ddddƒ}|ddddƒ}tj|dd    t||d
W5QRXdS) Nr©ÚXSLTParseErrorrGr<rHr×rIzdocument is not a stylesheetrœr2©ržr5r r¡r)rUr5r(r)r1r1r2Útest_not_stylesheetÖs
 r7c    CsHddlm}d}|ddddƒ}tj|dd    t||d
W5QRXdS) Nrr™a‹<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                              xmlns:k="http://www.opengis.net/kml/2.2"/>
    <xsl:output method="xml" omit-xml-declaration="yes"
                cdata-section-elements="k:description" indent="yes"/>
    <xsl:strip-space elements="*"/>
 
    <xsl:template match="node()|@*">
     <xsl:copy>
       <xsl:apply-templates select="node()|@*"/>
     </xsl:copy>
    </xsl:template>
 
    <xsl:template match="k:MultiGeometry|k:LineString">
        <xsl:apply-templates select='*'/>
    </xsl:template>
 
    <xsl:template match="k:description|k:Snippet|k:Style"/>
</xsl:stylesheet>rGr<rHr×z(Extra content at the end of the documentrœr2)ržršr r¡r)rUršr)r(r1r1r2Útest_incorrect_xsl_syntaxás ÿr8c    CsHddlm}d}|ddddƒ}tj|dd    t||d
W5QRXdS) Nrr4a‹<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                              xmlns:k="http://www.opengis.net/kml/2.2">
    <xsl:output method="xml" omit-xml-declaration="yes"
                cdata-section-elements="k:description" indent="yes"/>
    <xsl:strip-space elements="*"/>
 
    <xsl:template match="node(*)|@*">
     <xsl:copy>
       <xsl:apply-templates select="node()|@*"/>
     </xsl:copy>
    </xsl:template>
 
    <xsl:template match="k:MultiGeometry|k:LineString">
        <xsl:apply-templates select='*'/>
    </xsl:template>
 
    <xsl:template match="k:description|k:Snippet|k:Style"/>
</xsl:stylesheet>rGr<rHr×zfailed to compilerœr2r6)rUr5r)r(r1r1r2Útest_incorrect_xsl_evals
 r9c    CsHddlm}d}|ddddƒ}tj|dd    t||d
W5QRXdS) Nr)ÚXSLTApplyErrorag<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" encoding="utf-8" indent="yes" />
    <xsl:strip-space elements="*"/>
 
    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:copy-of select="document('non_existent.xml')/*"/>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>rGr<rHr×zCannot resolve URIrœr2)ržr:r r¡r)rUr:r)r(r1r1r2Útest_incorrect_xsl_applys
  r;c    CsVddlm}tj ddd¡}tj ddd¡}tj|ddt||d    W5QRXdS)
Nrr™r<rHr×z flatten.xslr¦rœr2r§)ršr(r)r1r1r2Útest_wrong_stylesheet5s þr<c    Csn|ddddƒ}|ddddƒ}t||ƒ>}|dkr>t| ¡ƒ}n t| ¡ƒ}t||d|jr`t‚W5QRXdS)NrGr<rHr×r"r)r2)r:rrCrrr“r”)rUr3r(r)r?r/r1r1r2Útest_stylesheet_file_closeCs   r=c    CsLtj ddd¡}tj ddd¡}tjtddt|d|dW5QRXdS)    Nr<rHr×r"z*To use stylesheet, you need lxml installedrœr5)r6r&)r¨r>rŸr r¡r´r)r(r)r1r1r2Útest_stylesheet_with_etreeUsÿr>c    CsFddlm}tj ddd¡}tj|ddt||dW5QRXdS)    Nrr™r<rHr×z3Document is empty|Start tag expected, '<' not foundrœr2r§)r–ršr(r1r1r2Útest_empty_stylesheet`s ÿr?c    Cs8tjtdd tt|dddddgidW5QRXdS)    Nú)iterparse is designed for large XML filesrœrarrrÚdaterQ)r r¡r rrÈrJr1r1r2Útest_string_errorpsÿýrBc CsÖ|ddddƒ}t||ƒv}|dkrn|dkrntjtdd"t||d    d
d d d dgidW5QRXW5QR£dSt||d    d
d d d dgid}W5QRXtdddgdddgdddgdddgdddgdœƒ}t ||¡dS©NrGr<rHrIr*r4z.reading file objects must return bytes objectsrœrKrLrMrNrOrPrQrprqrrrsrtrurvrwrxryrzr{r|r}r~)r:r r¡rÝrrr8rT)rUr6r3rVr?Z df_fileliker€r1r1r2Útest_file_like_iterparse{s: ÿ ÿýýûÿ
rDc     Cs|ddddƒ}|dkrtnt}t||ƒ˜}|| ¡ƒ€}|dkr–|dkr–tjtdd"t||d    d
d d d dgidW5QRXW5QR£W5QR£dSt||d    d
d d d dgid}W5QRXW5QRXtdddgdddgdddgdddgdddgdœƒ}t     
||¡dSrC) rrr:rCr r¡rÝrrr8rT)    rUr6r3rVZfuncIOr?ÚbZ    df_fileior€r1r1r2Útest_file_io_iterparseŸsB ÿ ÿý ÿýûÿ
rFc    Cs<d}tjtdd t||dddddgid    W5QRXdS)
Nr«r@rœrarrrrArQ©r r¡r rr°r1r1r2Útest_url_path_errorÇsÿýrHc
CsbtjddL}tj|||dtjtdd"t||dddd    d
gi|d W5QRXW5QRXdS) Nz geom_xml.zipr\©r6rAr@rœrarrrrA©r6rRrA)r8r9Úgeom_dfrkr r¡r r)r6rEr>r1r1r2Útest_compression_errorÕsÿürLc    CsD|ddddƒ}tjtddt||ddd    d
d gd W5QRXdS) NrGr<rHrIz&list is not a valid type for iterparserœrLrMrNrOrPrQr    rÕr1r1r2Útest_wrong_dict_typeäs ýrMc    Cs>|ddddƒ}tjtddt||ddid    W5QRXdS)
NrGr<rHrIz8<class 'str'> is not a valid type for value in iterparserœrKrLrQr    rÕr1r1r2Útest_wrong_dict_valueîs ÿrNc Csxd}tjdd^}t|dƒ}| |¡W5QRXtjtdd$t||dgdd    d
d dgid W5QRXW5QRXdS) Na‘<?xml version='1.0' encoding='utf-8'?>
  <row>
    <shape>square</shape>
    <degrees>00360</degrees>
    <sides>4.0</sides>
    <date>2020-01-01</date>
   </row>
  <row>
    <shape>circle</shape>
    <degrees>00360</degrees>
    <sides/>
    <date>2021-01-01</date>
  </row>
  <row>
    <shape>triangle</shape>
    <degrees>00180</degrees>
    <sides>3.0</sides>
    <date>2022-01-01</date>
  </row>
zbad.xmlr\r7zDExtra content at the end of the document|junk after document elementrœrArarrr)r6Z parse_datesrR)r8r9r:r;r r¡r¹r)r6Zbad_xmlr>r?r1r1r2Ú test_bad_xmlös ýürOcCsZd}t|d|d}t||dddgid}tdd    gd
d gd œƒ}t ||¡t ||¡dS) Na-<!-- comment before root -->
<shapes>
  <!-- comment within root -->
  <shape>
    <name>circle</name>
    <type>2D</type>
  </shape>
  <shape>
    <name>sphere</name>
    <type>3D</type>
    <!-- comment within child -->
  </shape>
  <!-- comment within root -->
</shapes>
<!-- comment after root -->rör]rr$rúrQrrþrürý©r$rúrÿrr1r1r2Ú test_comments
ÿþÿ rQcCsZd}t|d|d}t||dddgid}tdd    gd
d gd œƒ}t ||¡t ||¡dS) Na8<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE non-profits [
    <!ELEMENT shapes (shape*) >
    <!ELEMENT shape ( name, type )>
    <!ELEMENT name (#PCDATA)>
]>
<shapes>
  <shape>
    <name>circle</name>
    <type>2D</type>
  </shape>
  <shape>
    <name>sphere</name>
    <type>3D</type>
  </shape>
</shapes>rör]rr$rúrQrrþrürýrPrÿrr1r1r2Útest_dtdBs
ÿþÿ rRcCsZd}t|d|d}t||dddgid}tdd    gd
d gd œƒ}t ||¡t ||¡dS) Nam<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<?display table-view?>
<?sort alpha-ascending?>
<?textinfo whitespace is allowed ?>
<?elementnames <shape>, <name>, <type> ?>
<shapes>
  <shape>
    <name>circle</name>
    <type>2D</type>
  </shape>
  <shape>
    <name>sphere</name>
    <type>3D</type>
  </shape>
</shapes>rör]rr$rúrQrrþrürýrPrÿrr1r1r2Útest_processing_instructionfs
ÿþÿ rSc    CsF|ddddƒ}tjtdd t||ddd    d
d gid W5QRXdS) NrGr<rHrIz+No result from selected items in iterparse.rœÚnodeÚattr1Úelem1Úelem2Úelem3rQrGrÕr1r1r2Útest_no_resultŠsÿýrYc    CsF|ddddƒ}tjtdd t||ddd    d
d gid W5QRXdS) NrGr<rHrIzNo columns to parse from filerœrKrUrVrWrXrQ)r r¡r rrÕr1r1r2Útest_empty_data–sýrZú4https://www.w3schools.com/xml/cdcatalog_with_xsl.xmlcCsRd}d}t|dddg|d}tddd    d
d d œd ddddd œdœƒ}t ||¡dS)Nr[z+https://www.w3schools.com/xml/cdcatalog.xslz.//tr[td and position() <= 6]rMÚartist)r^rôr&zEmpire BurlesquezHide your heartz Greatest HitszStill got the bluesZErosr z    Bob Dylanz Bonnie Tylerz Dolly Partonz
Gary MoorezEros Ramazzotti)rMr\r)rHr)Zdf_xslr€r1r1r2Útest_online_stylesheet s0üûûøÿr]c    Cslt ¡B}tj|d||dt|||d}t|||ddddgi|d}W5QRXt |t¡t |t¡dS)    NF)r`r6rArIrarrrrJ)r8r9rKrkrrFrT)r6rErDrlrmr1r1r2Útest_compression_readÉs"
ÿ û r^c
CsÐ|}|}||krdStdftdftdftdfdœ}tddd}|dk    rT|jd    f|d
<td dd}|dk    rttd f|d <||\}}    t ¡>}
tj    |
||dt
j ||    dt |
||dW5QRXW5QRXdS)NzInvalid data streamzNot a gzipped filezFile is not a zip filez%file could not be opened successfully)Úbz2ÚgzipÚzipÚtarZ    zstandardÚignore)ÚerrorszUnknown frame descriptorÚzstdÚlzmaz%Input format not supported by decoderÚxzrIrœ) ÚOSErrorr    rr Z    ZstdErrorrr8r9rKrkr r¡r) r6rArEZactual_compressionZattempted_compressionrdrerfZ    error_clsZ    error_strr>r1r1r2Útest_wrong_compressionÝs(ü    
ric
Cs@tjtdd(t ¡}t||ddW5QRXW5QRXdS)NzUnrecognized compression typerœZ7zrI)r r¡r´r8r9r)r6r>r1r1r2Útest_unsuported_compressionùs
rjZs3fsz02022.1.17: Hanging on the CI min versions build.)ÚreasoncCsHd}t|dddidddid}t|dddid    ddid}t ||¡dS)
Nz/s3://irs-form-990/201923199349319487_public.xmlz .//irs:Form990PartVIISectionAGrpZirszhttp://www.irs.gov/efiler4ZanonT)r^rÄr6Zstorage_optionsr5rS)Zs3rÑrÒr1r1r2Útest_s3_parser_consistencys 
ûûrlc sdd}|dkr>ttjddgtjdƒ}ttjdtgtjdƒ}n.t d¡‰tˆ ddg¡ƒ}tˆ ddg¡ƒ}t     d|¡t
|||d}W5QRXt |t d    d
gd dt d d gdd|t d
tgd dt d tgddt ttgd dt ddgddt dtgdddœ    ƒ‰|dkrTt d¡‰ddl m‰t ‡‡‡fdd„ˆjDƒƒ‰ˆˆ ddg¡ƒˆd<t |ˆ¡dS)Na;<?xml version='1.0' encoding='utf-8'?>
<data xmlns="http://example.com">
<row>
  <a>x</a>
  <b>1</b>
  <c>4.0</c>
  <d>x</d>
  <e>2</e>
  <f>4.0</f>
  <g></g>
  <h>True</h>
  <i>False</i>
</row>
<row>
  <a>y</a>
  <b>2</b>
  <c>5.0</c>
  <d></d>
  <e></e>
  <f></f>
  <g></g>
  <h>False</h>
  <i></i>
</row>
</data>ÚpythonÚxrh)ZdtypeZpyarrowzmode.string_storage)r6Ú dtype_backendr!r"ZInt64rÅg@ZFloat64TFÚboolean)    rrErÚdÚer?rfÚhÚir)ÚArrowExtensionArraycs$i|]}|ˆˆjˆ|ddƒ“qS)T)Z from_pandas)Úarray)Ú.0Úcol©rurÚpar1r2Ú
<dictcomp>\sÿz1test_read_xml_nullable_dtypes.<locals>.<dictcomp>rf)rÚnprvZobject_rr Z importorskiprÚpdZoption_contextrrrZ pandas.arraysruÚcolumnsr8rT)r6Zstring_storageror<Z string_arrayZstring_array_narr1ryr2Útest_read_xml_nullable_dtypes!s>
÷ÿ
 
 þÿrc    Cs.d}tjt|dtdddW5QRXdS)NzPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.rœÚtestÚnumpy)ror³)r¢r1r1r2Útest_invalid_dtype_backendfsÿr‚)Ú
__future__rrGrrrfrr¨ÚtarfilerÚ urllib.errorrÚxml.etree.ElementTreerÚzipfiler    rr|r Z pandas.compatr
Zpandas.compat._optionalr Z pandas.errorsr r Zpandas.util._test_decoratorsÚutilZ_test_decoratorsÚtdZpandasr}rrrZpandas._testingZ_testingr8Zpandas.core.arraysrrZpandas.io.commonrZ pandas.io.xmlrrÆrKrÈrÎr'Zfixturer3r.Z
skip_if_nor6r@rFrYÚmarkÚnetworkZslowrnrr…rˆrŠrr’r•Z parametrizer£r¤r©rªr®r±r¶rºr¿rËrÏrÓrÔrÖrÙrÚrÞràrârärårérêrírõrrrrr
rrrrrrrZskip_if_installedr r!r+r-r0r1r3r7r8r9r;r<r=r>r?rBrDrFrHrLrMrNrOrQrRrSrYrZr]r^rirjZskipifrlrr‚r1r1r1r2Ú<module>s            6
ýÿûûûû     Æâÿm
 
 
û+
     
 
 
þ      
 
 
 
 
 
    
$#(1
 
 
 
     
 
 
 
 
 
 
 
 
 
 
 
 
 
  $(  
)#$$ 
ÿ$    þE