Re: Modify node attributes in XML file while parsing

Josh English <[email protected]> Wed, 16 Sep 2009 17:24:55 -0700
Newsgroups gmane.comp.python.xml
Message-ID <[email protected]>
RXZlcnl0aGluZyB3b3JrcywgYnV0IHlvdSBuZWVkIHRvIHdyaXRlIHRoaXMgb3ZlciBkYXRhLnht
bC4gSSBkb24ndApyZW1lbWJlciBob3cgdG8gZG8gdGhpcyBpbiBtaW5pZG9tLiBJIHRoaW5rIHdy
aXRpbmcgdG8gYW4gb3V0cHV0IGZpbGUKaXMgdGhlIG9ubHkgd2F5IHRvIGRvIHRoaXM6CgpvID0g
b3BlbignZGF0YS54bWwnKQpvLndyaXRlKHhtbGRvYy50b3htbCgpKQpvLmNsb3NlKCkKCk9uIFdl
ZCwgU2VwIDE2LCAyMDA5IGF0IDk6NTggQU0sIEFiaGlzaGVrIEthbmUgPGFiaGlzaGVrLmthbmVA
Z21haWwuY29tPiB3cm90ZToKPiA8P3htbCB2ZXJzaW9uPScxLjAnPz4KPiA8bWFpbl90YWc+Cj4K
PiA8c2VydmljZSBuYW1lPSdhYmMnIHZlcnNpb249JzEnPgo+IMKgwqDCoCA8aW5zdGFuY2UgbmFt
ZT0nZGVmYXVsdCcgdmFsdWU9J2ZhbHNlJy8+Cj4gPC9zZXJ2aWNlPgo+IDxzZXJ2aWNlIG5hbWU9
J3h5eicgdmVyc2lvbj0nMic+Cj4gwqDCoMKgIDxpbnN0YW5jZSBuYW1lPSdkZWZhdWx0JyB2YWx1
ZT0nZmFsc2UnLz4KPiA8L3NlcnZpY2U+Cj4KPiA8L21haW5fdGFnPgo+Cj4KPiDCoGlzIGhvdyB0
aGUgWE1MIGZpbGUgbG9va3MgbGlrZS4gSSB3YW50IHRvIG1vZGlmeSB0aGUgdmFsdWUgb2YgaW5z
dGFuY2UKPiBiYXNlZCBvbiB0aGUgc2VydmljZSBuYW1lLgo+Cj4gU28gaWYgaSBzZWFyY2ggZm9y
IGFiYyBzZXJ2aWNlICYgbW9kaWZ5IGluc3RhbmNlIHZhbHVlIGxpa2UgZm9sbG93cyA6Cj4KPgo+
IGltcG9ydCBzeXMsIGxvZ2dpbmcsIHRyYWNlYmFjawo+IGZyb20geG1sLmRvbSBpbXBvcnQgbWlu
aWRvbQo+Cj4gZGF0YV9maWxlID0gIi90bXAvZGF0YS54bWwiCj4KPiBkZWYgbWFpbigpOgo+IMKg
wqDCoCB0cnk6Cj4gwqDCoMKgIMKgwqDCoCB4bWxkb2MgPSBtaW5pZG9tLnBhcnNlKGRhdGFfZmls
ZSkKPiDCoMKgwqAgZXhjZXB0IElPRXJyb3I6Cj4gwqDCoMKgIMKgwqDCoCBwcmludCAiZXJyIgo+
IMKgwqDCoCDCoMKgwqAgc3lzLmV4aXQoMSkKPgo+IMKgwqDCoCBzdGFydCA9IHhtbGRvYy5maXJz
dENoaWxkCj4KPiDCoMKgwqAgZm9yIGVsZW1lbnQgaW4geG1sZG9jLmdldEVsZW1lbnRzQnlUYWdO
YW1lKCJzZXJ2aWNlIik6Cj4gwqDCoMKgIMKgwqDCoCBzZXJ2aWNlID0gZWxlbWVudC5nZXRBdHRy
aWJ1dGUoIm5hbWUiKQo+IMKgwqDCoCDCoMKgwqAgcHJpbnQgc2VydmljZQo+IMKgwqDCoCDCoMKg
wqAgaWYgc2VydmljZSA9PSAiYWJjIjoKPiDCoMKgwqAgwqDCoMKgIMKgwqDCoCBmb3IgaW5zdGFu
Y2UgaW4gZWxlbWVudC5jaGlsZE5vZGVzOgo+IMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCBp
ZiBpbnN0YW5jZS5ub2RlVHlwZSA9PSAxOgo+IMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDC
oMKgwqAgcHJpbnQgaW5zdGFuY2UuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpCj4gwqDCoMKgIMKgwqDC
oCDCoMKgwqAgwqDCoMKgIMKgwqDCoCBpbnN0YW5jZS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgInRy
dWUiKQo+IMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgcHJpbnQgaW5zdGFuY2Uu
Z2V0QXR0cmlidXRlKCJ2YWx1ZSIpCj4KPiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgo+IMKg
wqDCoCBsb2dnaW5nLmJhc2ljQ29uZmlnKGZpbGVuYW1lPWxvZ19maWxlLGxldmVsPWxvZ2dpbmcu
REVCVUcpCj4gwqDCoMKgIG1haW4oKQo+Cj4gVGhlIGZpcnN0IHByaW50IGdpdmVzIGZhbHNlICYg
bGF0ZXIgb25lIGdpdmVzIHRydWUuIEJ1dCB0aGUgZGF0YS54bWwgcmVtYWlucwo+IHVuY2hhbmdl
ZC4gSG93IGNhbiBJIG1vZGlmeSB0aGUgbm9kZSBpbiBkYXRhLnhtbD8KPgo+IFRoYW5rcywKPiBB
Ymhpc2hlawo+Cj4gT24gV2VkLCBTZXAgMTYsIDIwMDkgYXQgOTo0NyBQTSwgSm9zaCBFbmdsaXNo
IDxqb3NodWEuci5lbmdsaXNoQGdtYWlsLmNvbT4KPiB3cm90ZToKPj4KPj4gSWYgeW91IGFyZSBq
dXN0IHNlYXJjaGluZyBmb3IgWE1MIG5vZGVzLCB5b3UgYXJlIHNlYXJjaGluZy4gSWYgeW91IGFy
ZQo+PiBpbnRlcnByZXRpbmcgdGhlbSBpbnRvIHNvbWV0aGluZyBuZXcsIHlvdSBhcmUgcGFyc2lu
Zy4KPj4KPj4gSWYgeW91IHdhbnQgdG8gY2hhbmdlIGFuIGF0dHJpYnV0ZSwgcGFyc2UgdGhlIFhN
TCBmaWxlIGFuZCBtYWtlIGNoYW5nZXMKPj4gdGhlcmUuCj4+Cj4+IEVpdGhlciB0aGF0LCBvciBy
ZWFkIHRoZSBub2RlIGF0dHJpYnV0ZSB0aGF0IHlvdSBhcmUgZ2l2ZW4sIG1ha2UgdGhlCj4+IGNo
YW5nZXMgeW91IG5lZWQsIGJ1dCBkb24ndCBib3RoZXIgd2l0aCB3cml0aW5nIGEgbmV3IFhNTCBm
aWxlLgo+Pgo+PiBQZXJoYXBzIGEgc2FtcGxlIG9mIHdoYXQgeW91IGFyZSB0cnlpbmcgdG8gZG8g
d291bGQgaGVscCB1cCBzZWUgdGhlCj4+IHNvbHV0aW9uLgo+Pgo+PiBPbiA5LzE2LzA5LCBBYmhp
c2hlayBLYW5lIDxhYmhpc2hlay5rYW5lQGdtYWlsLmNvbT4gd3JvdGU6Cj4+ID4gSGkgR3V5cywK
Pj4gPgo+PiA+IEkgZ290IGEgYml0IGlkZWEgYWJvdXQgcGFyc2luZyBYTUwgZmlsZSBmcm9tIG9u
bGluZSBzZWFyY2guIEkgbmVlZCB0bwo+PiA+IG1vZGlmeQo+PiA+IG5vZGUgYXR0cmlidXRlcyBp
biBhbiBYTUwgZmlsZSB3aGlsZSBJIHJlYWQgaXQuIEkgY291bGQgcmVhZCBub2RlCj4+ID4gYXR0
cmlidXRlczsgYnV0IHdoZW4gSSBtb2RpZnkgdGhlbSB1c2luZyBzZXRBdHRyaWJ1dGUsIHRoZSBs
b2NhbCBjb3B5IG9mCj4+ID4gdGhhdCBub2RlIGdldHMgY2hhbmdlZC4KPj4gPiBJcyB0aGVyZSBh
bnkgd2F5IHRvIGRpcmVjdGx5IG1vZGlmeSB0aGUgbm9kZSBhdHRyaWJ1dGVzIGluIFhNTCBmaWxl
IG9yCj4+ID4gc2hhbGwKPj4gPiBJIGp1c3QgY3JlYXRlIGFub3RoZXIgWE1MIGZpbGUgd2hlcmUg
SSB3aWxsIGNyZWF0ZSBub2RlcyBhcyBJIGdvIHRocm91Z2gKPj4gPiB0aGUKPj4gPiBub2RlcyBp
biBvbGQgWE1MIGZpbGU/Cj4+ID4KPj4gPiBUaGFua3MsCj4+ID4gQWJoaXNoZWsKPj4gPgo+Pgo+
Pgo+PiAtLQo+PiBKb3NoIEVuZ2xpc2gKPj4gSm9zaHVhLlIuRW5nbGlzaEBnbWFpbC5jb20KPj4g
aHR0cDovL2pvc2hlbmdsaXNoLmxpdmVqb3VybmFsLmNvbQo+Cj4KPgo+IC0tCj4gTm8gZGVmZWF0
IGlzIGZpbmFsOyB1bnRpbCB1IHN0b3AgZmlnaHRpbmcuCj4gLSBBR0sKPgo+CgoKCi0tIApKb3No
IEVuZ2xpc2gKSm9zaHVhLlIuRW5nbGlzaEBnbWFpbC5jb20KaHR0cDovL2pvc2hlbmdsaXNoLmxp
dmVqb3VybmFsLmNvbQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpYTUwtU0lHIG1haWxsaXN0ICAtICBYTUwtU0lHQHB5dGhvbi5vcmcKaHR0cDovL21haWwu
cHl0aG9uLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3htbC1zaWcK