Commit 5bae975
committed
gh-68475: Add DocumentBuilder instead of TreeBuilder.get_document_children()
TreeBuilder is unchanged: it discards comments and processing instructions
outside of the root element, and close() returns the root element.
The new DocumentBuilder subclass keeps them (when insert_comments or
insert_pis is true) and returns the list of the children of the document
from close(), the only result channel of the target protocol.
ElementTree.parse() loads such a list into children, XMLID() accepts it.
In C, the DocumentBuilder type shares the TreeBuilder struct and handlers;
the document list is NULL for a plain TreeBuilder. The parser calls the
handlers directly for both exact types.1 parent 811ff1f commit 5bae975
7 files changed
Lines changed: 365 additions & 135 deletions
File tree
- Doc
- library
- whatsnew
- Lib
- test
- xml/etree
- Misc/NEWS.d/next/Library
- Modules
- clinic
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
609 | 609 | | |
610 | 610 | | |
611 | 611 | | |
612 | | - | |
| 612 | + | |
| 613 | + | |
613 | 614 | | |
614 | 615 | | |
615 | 616 | | |
616 | 617 | | |
617 | 618 | | |
618 | 619 | | |
619 | 620 | | |
620 | | - | |
| 621 | + | |
| 622 | + | |
621 | 623 | | |
622 | 624 | | |
623 | 625 | | |
| |||
815 | 817 | | |
816 | 818 | | |
817 | 819 | | |
818 | | - | |
| 820 | + | |
| 821 | + | |
819 | 822 | | |
820 | 823 | | |
821 | 824 | | |
| |||
824 | 827 | | |
825 | 828 | | |
826 | 829 | | |
827 | | - | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
828 | 835 | | |
829 | 836 | | |
830 | 837 | | |
| |||
1274 | 1281 | | |
1275 | 1282 | | |
1276 | 1283 | | |
| 1284 | + | |
| 1285 | + | |
| 1286 | + | |
| 1287 | + | |
| 1288 | + | |
| 1289 | + | |
1277 | 1290 | | |
1278 | 1291 | | |
1279 | 1292 | | |
| |||
1388 | 1401 | | |
1389 | 1402 | | |
1390 | 1403 | | |
1391 | | - | |
1392 | | - | |
1393 | | - | |
1394 | | - | |
1395 | | - | |
1396 | | - | |
| 1404 | + | |
| 1405 | + | |
1397 | 1406 | | |
1398 | 1407 | | |
1399 | 1408 | | |
| |||
1406 | 1415 | | |
1407 | 1416 | | |
1408 | 1417 | | |
1409 | | - | |
1410 | | - | |
1411 | | - | |
1412 | | - | |
1413 | | - | |
1414 | | - | |
1415 | | - | |
1416 | | - | |
1417 | | - | |
1418 | | - | |
1419 | 1418 | | |
1420 | 1419 | | |
1421 | 1420 | | |
| |||
1473 | 1472 | | |
1474 | 1473 | | |
1475 | 1474 | | |
| 1475 | + | |
| 1476 | + | |
| 1477 | + | |
| 1478 | + | |
| 1479 | + | |
| 1480 | + | |
| 1481 | + | |
| 1482 | + | |
| 1483 | + | |
| 1484 | + | |
| 1485 | + | |
| 1486 | + | |
| 1487 | + | |
| 1488 | + | |
| 1489 | + | |
| 1490 | + | |
| 1491 | + | |
| 1492 | + | |
| 1493 | + | |
| 1494 | + | |
| 1495 | + | |
1476 | 1496 | | |
1477 | 1497 | | |
1478 | 1498 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
707 | 707 | | |
708 | 708 | | |
709 | 709 | | |
710 | | - | |
711 | | - | |
| 710 | + | |
| 711 | + | |
712 | 712 | | |
713 | 713 | | |
714 | 714 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4104 | 4104 | | |
4105 | 4105 | | |
4106 | 4106 | | |
4107 | | - | |
| 4107 | + | |
4108 | 4108 | | |
4109 | 4109 | | |
4110 | 4110 | | |
| |||
4117 | 4117 | | |
4118 | 4118 | | |
4119 | 4119 | | |
| 4120 | + | |
| 4121 | + | |
| 4122 | + | |
| 4123 | + | |
| 4124 | + | |
| 4125 | + | |
| 4126 | + | |
| 4127 | + | |
4120 | 4128 | | |
4121 | 4129 | | |
4122 | 4130 | | |
| |||
4254 | 4262 | | |
4255 | 4263 | | |
4256 | 4264 | | |
4257 | | - | |
4258 | | - | |
| 4265 | + | |
| 4266 | + | |
4259 | 4267 | | |
4260 | 4268 | | |
4261 | | - | |
4262 | | - | |
4263 | | - | |
4264 | | - | |
| 4269 | + | |
| 4270 | + | |
| 4271 | + | |
| 4272 | + | |
| 4273 | + | |
| 4274 | + | |
| 4275 | + | |
4265 | 4276 | | |
4266 | | - | |
4267 | | - | |
| 4277 | + | |
| 4278 | + | |
4268 | 4279 | | |
4269 | 4280 | | |
4270 | | - | |
4271 | | - | |
| 4281 | + | |
| 4282 | + | |
| 4283 | + | |
| 4284 | + | |
| 4285 | + | |
| 4286 | + | |
| 4287 | + | |
| 4288 | + | |
| 4289 | + | |
| 4290 | + | |
| 4291 | + | |
| 4292 | + | |
| 4293 | + | |
| 4294 | + | |
| 4295 | + | |
| 4296 | + | |
| 4297 | + | |
| 4298 | + | |
| 4299 | + | |
| 4300 | + | |
| 4301 | + | |
| 4302 | + | |
| 4303 | + | |
| 4304 | + | |
4272 | 4305 | | |
4273 | 4306 | | |
4274 | 4307 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
85 | | - | |
| 85 | + | |
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
| |||
698 | 698 | | |
699 | 699 | | |
700 | 700 | | |
701 | | - | |
702 | | - | |
703 | | - | |
704 | 701 | | |
705 | | - | |
706 | | - | |
707 | | - | |
708 | | - | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
709 | 705 | | |
| 706 | + | |
| 707 | + | |
710 | 708 | | |
711 | 709 | | |
712 | 710 | | |
| |||
1546 | 1544 | | |
1547 | 1545 | | |
1548 | 1546 | | |
1549 | | - | |
1550 | | - | |
1551 | | - | |
1552 | | - | |
| 1547 | + | |
| 1548 | + | |
| 1549 | + | |
| 1550 | + | |
| 1551 | + | |
| 1552 | + | |
| 1553 | + | |
1553 | 1554 | | |
1554 | 1555 | | |
1555 | 1556 | | |
| |||
1600 | 1601 | | |
1601 | 1602 | | |
1602 | 1603 | | |
1603 | | - | |
1604 | 1604 | | |
1605 | 1605 | | |
1606 | 1606 | | |
| |||
1649 | 1649 | | |
1650 | 1650 | | |
1651 | 1651 | | |
1652 | | - | |
1653 | 1652 | | |
1654 | 1653 | | |
1655 | 1654 | | |
| |||
1692 | 1691 | | |
1693 | 1692 | | |
1694 | 1693 | | |
1695 | | - | |
1696 | | - | |
1697 | | - | |
1698 | 1694 | | |
1699 | 1695 | | |
1700 | 1696 | | |
1701 | | - | |
1702 | | - | |
1703 | 1697 | | |
1704 | | - | |
1705 | | - | |
1706 | | - | |
1707 | | - | |
| 1698 | + | |
| 1699 | + | |
| 1700 | + | |
| 1701 | + | |
| 1702 | + | |
| 1703 | + | |
| 1704 | + | |
| 1705 | + | |
| 1706 | + | |
| 1707 | + | |
| 1708 | + | |
| 1709 | + | |
| 1710 | + | |
| 1711 | + | |
| 1712 | + | |
| 1713 | + | |
| 1714 | + | |
| 1715 | + | |
| 1716 | + | |
| 1717 | + | |
| 1718 | + | |
| 1719 | + | |
| 1720 | + | |
| 1721 | + | |
| 1722 | + | |
| 1723 | + | |
| 1724 | + | |
| 1725 | + | |
| 1726 | + | |
1708 | 1727 | | |
1709 | 1728 | | |
1710 | 1729 | | |
| |||
Lines changed: 5 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | | - | |
9 | | - | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
0 commit comments