[XML-SIG] parsers and XML

Michael McLay mclay@nist.gov
Thu, 10 Aug 2000 20:35:13 -0400 (EDT)


DQp0cmF2aXNoIHdyaXRlczoNCiA+IEFjdHVhbGx5LCBJIHdhbnQgc29tZXRoaW5nIGJldHdl
ZW4gdGhlIHR3byBBUElzIHRoYXQgYXBwZWFyIHRvIGJlIHByZXNlbnQNCiA+IChsZXhpbmcg
YW5kIGdlbmVyYXRpbmcgYW4gQVNUKS4gIEZvciBleGFtcGxlLCBpbiB0aGUgcmVkdWNlIHBo
YXNlDQogPiBvZiBhIHNoaWZ0LXJlZHVjZSBwYXJzZXIgbGlrZSB5YWNjICh3aGljaCBjb3Jy
ZXNwb25kcyB0byBhIGNsb3NlLXRhZw0KID4gZXZlbnQgZnJvbSBhbiAiZXZlbnQgZHJpdmVu
IEFQSSIpLCBvbmUgaXMgZ2l2ZW4gdGhlIGFiaWxpdHkgdG8NCiA+ICdjb25kZW5zZScgYWxs
IG9mIHRoZSBzdWJ0cmVlcyBvZiB0aGlzIHBhcnRpY3VsYXIgbm9kZSwgcmVxdWlyaW5nDQog
PiBuZWl0aGVyIGEgZnVsbCBBU1Qgbm9yIGtlZXBpbmcgdHJhY2sgb2YgdGhlIHN0YWNrIG9m
IG5lc3RlZCB0YWdzDQogPiB5b3UgbWF5IGN1cnJlbnRseSBiZSBwcm9jZXNzaW5nIGluLiAg
VGhpcyB3b3VsZCBiZSBleHRyZW1lbHkgaGFuZHkNCiA+IGZvciAoZS5nLikgY29udmVydGlu
ZyBYTUwgdG8gbmVzdGVkIGRhdGEgc3RydWN0dXJlcy4NCg0KWy4uLl0NCg0KID4gQWxsIG9m
IHRoZSBleGFtcGxlIEkndmUgc2VlbiBoYXZlIGEgZml4ZWQsIHNoYWxsb3cgdGFnIGhpZXJh
cmNoeSBhbmQgc28NCiA+IGFyZSB0b3kgcHJvYmxlbXMgd2hpY2ggZG9uJ3QgZW5jb3VudGVy
IHRoZXNlIGNvbXBsZXhpdGllcy4NCg0KVGhlcmUgYXJlIG1ham9yIGVmZm9ydHMgdW5kZXJ3
YXkgdG8gZGV2ZWxvcCBYTUwgYmFzZWQgc3RhbmRhcmRzIGZvcg0KZW5naW5lZXJpbmcgZGF0
YSwgc28gaXQgaXMgbGlrZWx5IHRoYXQgdGhpcyBraW5kIG9mIHByb2JsZW0gd2lsbA0KYmVj
b21lIHZlcnkgY29tbW9uIGFzIHNvb24uICBUaGluayBvZiBhbnkgcHJvZHVjdCBjYXRlZ29y
eSBhbmQgeW91J2xsDQpmaW5kIHNvbWVvbmUgd29ya2luZyBvbiBhbiBYTUwgbWFwcGluZy4N
Cg0KSSBhbSB3b3JraW5nIHdpdGggYSBzdGFuZGFyZHMgZ3JvdXAgYW5kIEdlb3JnaWEgVGVj
aCBvbiBhbiBYTUwgU2NoZW1hDQpmb3IgcmVwcmVzZW50aW5nIHRoZSBtYW51ZmFjdHVyaW5n
IGRhdGEgbmVlZGVkIHRvIHByb2R1Y2UgYSBwcmludGVkDQpjaXJjdWl0IGJvYXJkIGFuZCBh
IHByaW50ZWQgY2lyY3VpdCBhc3NlbWJseS4gIFRoaXMgaXMgYSBmYWlybHkgZWFzeQ0KZXhh
bXBsZSB0byBncm9rIGZvciBhbnlvbmUgd2hvIGhhcyBldmVyIHNlZW4gYSBwcmludGVkIGNp
cmN1aXQgYm9hcmQuDQpJdCByZXF1aXJlcyBhIGRlZXBseSBuZXN0ZWQgWE1MIHRhZyBzZXQg
d2l0aCBhIGNvcnJlc3BvbmRpbmcgZGVlcGx5DQpuZXN0ZWQgc2V0IG9mIHN0cnVjdHVyZXMg
dGhhdCBtdXN0IGJlIHJlZmVyZW5jZWQgYnkgQ0FEIGFuZCBDQU0NCnNvZnR3YXJlLiAgDQoN
ClRoZSBYTUwgU2NoZW1hIGZvciB0aGUgR2VuQ0FNIHN0YW5kYXJkIGlzIGF0Og0KDQogICAg
aHR0cDovL3d3dy5maXMubWFyYy5nYXRlY2guZWR1L3htbC9pcGMtc2NoZW1hLmh0bWwjSVBD
MjUxMQ0KDQpUaGUgZXhhbXBsZSBmaWxlIGlzIGF0Og0KDQogICBodHRwOi8vd3d3LmdlbmNh
bS5vcmcvZXhhbXBsZXMvZGlldGVyNi54bWwNCg0KVGhpcyBpcyBhIHR5cGljYWwgZXhhbXBs
ZSBvZiBhIG5lc3RlZCBzdHJ1Y3R1cmUuICBUaGUgR2VuQ0FNDQpkZXNjcmlwdGlvbiBvZiBh
IHByaW50ZWQgY2lyY3VpdCBib2FyZHMgY29udGFpbnMgYWJvdXQgMTggdG9wIGxldmVsDQpz
ZWN0aW9ucywgZm9yIHRoaXMgZXhhbXBsZSBJJ2xsIGV4cGxhaW4gdGhlIGludGVyYWN0aW9u
IGJldHdlZW4gdGhlDQpQUklNSVRJVkVTIGFuZCBST1VURVMgc2VjdGlvbi4gIEEgUFJJTUlU
SVZFUyBzZWN0aW9uIGhhcyBhIGxpc3Qgb2YNCkdST1VQIG9iamVjdHMuICBFYWNoIEdST1VQ
IGlzIGEgc2VwYXJhdGUgbmFtZS1zcGFjZS4gIEFsbCANCkdST1VQIG5hbWUgc3BhY2UgbmFt
ZXMgYXJlIHVuaXF1ZSB0byBhIEdlbkNBTSBmaWxlLiAgT25lIGdyb3VwIG1pZ2h0DQpob2xk
IHN0YW5kYXJkIGNvbG9ycyBhbmQgYW5vdGhlciBtaWdodCBob2xkIGxpbmUgZGVzY3JpcHRp
b25zLiAgSXQgaXMNCnVwIHRvIHRoZSB2ZW5kb3IgdG8gZGVjaWRlIGhvdyB0byBwYXJ0aXRp
b24gdGhlIG5hbWUtc3BhY2VzLiAgVGhlDQpHUk9VUCBjb250YWlucyBhIFBBSU5UREVTQyBv
YmplY3QgZGVmaW5pdGlvbi4gIFRoaXMgZGVmaW5lcyB0aGUgZmlsbA0KdXNlZCBpbnNpZGUg
b2YgcG9seWdvbiBhbmQgb3RoZXIgY2xvc2VkIHNoYXBlcy4NCg0KVGhlIFJPVVRFUyBzZWN0
aW9uIGZvbGxvd3MgdGhlIFBSSU1JVElWRVMgc2VjdGlvbi4uICBST1VURVMgY29udGFpbnMg
YSANCmxpc3Qgb2YgR1JPVVAgb2JqZWN0cy4gIEEgUk9VVEVTIEdST1VQIGNvbnRhaW5zIGEg
DQpsaXN0IG9mIFJPVVRFIG9iamVjdHMgYW5kIGEgUk9VVEUgKHdoaWNoIHJlcHJlc2VudHMg
YSBjb3BwZXIgdHJhY2UNCmV0Y2hlZCBvbiB0aGUgcHJpbnRlZCBjaXJjdWl0IGJvYXJkKSBj
b250YWlucyBhIGxpc3Qgb2YgZ2VvbWV0cnkNCm9iamVjdHMsIHN1Y2ggYXMgUEFUSCwgUExB
TkUsIFZJQSwgVEVTVFBBRC4uLiAgDQoNClJlcHJlc2VudGluZyBwb2ludGVycyBiZXR3ZWVu
IG9iamVjdHMgaW4gWE1MIGlzIGEgc3BlY2lhbCBjYXNlIHByb2JsZW0gDQp0aGF0IGlzIHZl
cnkgY29tbW9uIGluIGVuZ2luZWVyaW5nIGRhdGEgc3RydWN0dXJlcy4gIEEgc21hbGwNCmV4
YW1wbGUgZXh0cmFjdGVkIGZyb20gdGhlIGRpZXRlcjYueG1sIGZpbGUgd2lsbCBpbGx1c3Ry
YXRlIHRoZQ0KcHJvYmxlbS4gIFRoZSBleGFtcGxlIGNvbnRhaW5zIG9ubHkgb25lIEdST1VQ
IGFuZCBvbmx5IG9uZSBST1VURSBpbg0KdGhhdCBncm91cC4gIEEgUENCIGRlc2lnbiB3b3Vs
ZCB0eXBpY2FsbHkgaGF2ZSBiZXR3ZWVuIDEwMCBhbmQgMTAwaw0KdW5pcXVlIHJvdXRlcy4g
ICANCg0KPEdFTkNBTT4NCiAgPFBSSU1JVElWRVM+DQogICAgPEdST1VQIHByaW1pdGl2ZV9n
cm91cF9pZD0icHJpbTQiID4NCiAgICAgIDxQQUlOVERFU0MgcGFpbnRkZXNjX25hbWU9ImZp
bGxlZCIgcGFpbnRfdHlwZT0iRklMTCIgLz4NDQogICAgIDwvR1JPVVA+DQogIDwvUFJJTUlU
SVZFUz4NCjwvR0VOQ0FNPg0KPEdFTkNBTT4NCiAgPFJPVVRFUz4NCiAgICA8R1JPVVAgcm91
dGVfZ3JvdXBfaWQ9InJvdXRlMSIgPg0NCiAgICAgIDxST1VURSBuZXRfbmFtZT0iR3JvdW5k
IiBuZXRfY2xhc3M9IkdST1VORCIgPg0KICAgICAgICA8UEFUSCBsYXllcnNfcmVmPSJsYXkx
OjIiIGxpbmVkZXNjX3JlZj0icHJpbTQ6c2lnbmFsd2lkdGgiID4NCiAgICAgICAgICA8UE9M
WUxJTkUgPg0KICAgICAgICAgICAgPFNUQVJUQVQgc3RhcnRfeHk9IigxMzAwLDE0MDApIiAv
Pg0KICAgICAgICAgICAgPExJTkVUTyBlbmRfeHk9IigxMjAwLDIyMDApIiAvPg0KICAgICAg
ICAgIDwvUE9MWUxJTkU+DQogICAgICAgIDwvUEFUSD4NCiAgICAgICAgPFBMQU5FIGxheWVy
c19yZWY9ImxheTE6MiIgcGFpbnRkZXNjX3JlZj0icHJpbTQ6ZmlsbGVkIiA+DQogICAgICAg
ICAgPFBPTFlHT04gPg0KICAgICAgICAgICAgPFNUQVJUQVQgc3RhcnRfeHk9IigwLDApIiAv
Pg0KICAgICAgICAgICAgPExJTkVUTyBlbmRfeHk9IigxMjAwLDApIiAvPg0KICAgICAgICAg
ICAgPExJTkVUTyBlbmRfeHk9IigxMjAwLDI0MDApIiAvPg0KICAgICAgICAgICAgPExJTkVU
TyBlbmRfeHk9IigwLDI0MDApIiAvPg0KICAgICAgICAgICAgPEVORExJTkUgLz4NCiAgICAg
ICAgICA8L1BPTFlHT04+DQogICAgICAgIDwvUExBTkU+DQogICAgICAgIDxDT01QUElOIGNv
bXBvbmVudF9yZWY9ImNtcDE6UjEiIHBhdHRlcm5fcGluX3JlZj0iUGluMSIgLz4NCiAgICAg
IDwvUk9VVEU+DQogICAgPC9HUk9VUD4NCg0KSW4gdGhlIFJPVVRFIGRlZmluaXRpb24gdGhl
cmUgaXMgYSBQTEFORSBvYmplY3QgZGVmaW5lZCB1c2luZyB0aGUNCnN0YXRlbWVudDogDQoN
CiAgICAgICAgPFBMQU5FIGxheWVyc19yZWY9ImxheTE6MiIgcGFpbnRkZXNjX3JlZj0icHJp
bTQ6ZmlsbGVkIiA+DQoNClRoZSBwYWludGRlc2NfcmVmIGF0dHJpYnV0ZSBpcyB1c2VkIHRv
IHNwZWNpZnkgYSByZWxhdGlvbnNoaXAgYmV0d2Vlbg0KdGhlIFBMQU5FIG9iamVjdCBpbiB0
aGUgUk9VVEUgYW5kIHRoZSBQQUlOVERFU0Mgb2JqZWN0IGRlZmluZWQgaW4gdGhlDQpQUklN
SVRJVkVTIHNlY3Rpb24uICBUaGUgcGFpbnRkZXNjX3JlZiBjb250YWlucyBhIHN0cmluZyB0
aGF0IHdoZW4NCnNwbGl0IG9uIHRoZSBmaXJzdCAnOicgaW4gdGhlIHN0cmluZyBpZGVudGlm
aWVzIHRoZSBuYW1lIG9mIHRoZSBHUk9VUA0KYW5kIHRoZSBuYW1lIG9mIHRoZSBQQUlOVERF
U0MgdGhhdCBpcyB0byBiZSB1c2VkIHRvIGZpbGwgdGhlIFBMQU5FLiAgDQoNClJlc29sdmlu
ZyB0aGUgb2JqZWN0IHBvaW50ZXIgYmV0d2VlbiB0aGUgUExBTkUgYW5kIHRoZSBQQUlOVERF
U0MgaXNuJ3QgDQpkb25lIGF1dG9tYXRpY2FsbHkgdXNpbmcgYW4gWE1MIHBhcnNlci4gIFdl
IG1pZ2h0IG9mIGJlZW4gYWJsZSB0byB1c2UNCm9uZSBvZiB0aGUgc3RhbmRhcmQgZmVhdHVy
ZXMgb2YgWE1MLCBzdWNoIGFzIFhQQVRILCB0byBkZWZpbmUgdGhlDQpyZWxhdGlvbnNoaXAs
IGJ1dCB0aGlzIHNlZW1lZCBsaWtlIGEgbmF0dXJlIHBvaW50IGZvciBicmVha2luZyBiZXR3
ZWVuIA0KdGhlIHN0YW5kYXJkIG9mZi10aGUtc2hlbGYgWE1MIG9iamVjdCBoYW5kbGluZyBh
bmQgdGhlIGN1c3RvbSBjb2RlDQp0aGF0IHdpbGwgYmUgcmVxdWlyZWQgdG8gcG9wdWxhdGUg
dGhlIHN0cnVjdHVyZXMgb2YgdGhlIENBRCBhbmQgQ0FNDQp0b29sLiANCg0KVGhpcyBicmVh
a2luZyBwb2ludCBiZXR3ZWVuIHN0YW5kYXJkIFhNTCBwYXJzaW5nIGFuZCBidWlsZGluZyBj
dXN0b20NCm9iamVjdHMgaXMgcHJvYmFibHkgYSBwYXR0ZXJuIGxhbmd1YWdlLCBidXQgSSB3
b3VsZG4ndCBrbm93IGhvdyB0bw0KZGVmaW5lIGl0LiAgSSdtIHN0aWxsIHN0cnVnZ2xpbmcg
d2l0aCB0aGUgaGFuZC1vZmYgYmV0d2VlbiB0aGUgdHdvLg0KDQpUaGVyZSBpcyBhIGh1Z2Ug
bGVnYWN5IGNvZGUgYmFzZSBvZiBlbmdpbmVlcmluZyBzb2Z0d2FyZSB0aGF0IHdpbGwNCmV2
ZW50dWFsbHkgYmUgcmVhZGluZyBhbmQgd3JpdGluZyB0aGlzIFhNTCBmb3JtYXQuICBUaGUg
aW5kdXN0cnkgSSdtDQp3b3JraW5nIHdpdGggaXMganVzdCBvbmUgb2YgbWFueSB0aGF0IGFy
ZSBjb252ZXJ0aW5nIHRoZWlyIGVuZ2luZWVyaW5nDQpkYXRhIHRvIFhNTCBmb3JtYXQuICBN
b3N0IGxpa2VseSBlYWNoIHRvb2wgdmVuZG9yIHdpbGwgZG8gdGhpcyBieQ0KYXR0YWNoaW5n
IGFuIFhNTCBwYXJzZXIgdG8gdGhlIGV4aXN0aW5nIGNvZGUgYW5kIHBvcHVsYXRpbmcgdGhl
cmUNCmV4aXN0aW5nIGRhdGEgc3RydWN0dXJlcyBhcyB0aGUgb2JqZWN0IGRlZmluaXRpb25z
IGFzIHRoZSBYTUwgcGFyc2VyDQpyZWFkcyB0aGUgZGF0YS4gIElzIHRoZXJlIGFuIGVhc3kg
d2F5IHRvIGFzc29jaWF0ZSB3aGljaCBkYXRhDQpzdHJ1Y3R1cmVzIHNob3VsZCBiZSBwb3B1
bGF0ZWQgYXMgZWFjaCBvZiB0aGUgWE1MIHRhZ3MgYXJlDQplbmNvdW50ZXJlZD8gIEkgd2Fz
IHRoaW5raW5nIGl0IG1pZ2h0IGJlIHBvc3NpYmxlIHRvIGF1dG9tYXRpY2FsbHkNCmdlbmVy
YXRlIGEgcGFyc2UgdHJlZSBkaXJlY3RseSBmcm9tIHRoZSBYTUwgU2NoZW1hIGRlZmluaXRp
b24uICANCg0KSSdkIGFwcHJlY2lhdGUgZmVlZGJhY2sgb24gdGhlIGFwcHJvYWNoIHVzZWQg
dG8gZGVmaW5lIHBvaW50ZXJzDQpiZXR3ZWVuIHN0cnVjdHVyZXMuICBJcyB0aGVyZSBhIHN0
YW5kYXJkIHdheSB0aGF0IHdvdWxkIGFsc28gYmUNCmVmZmljaWVudCBmb3IgYSBmaWxlIHRo
YXQgbWF5IGNvbnRhaW4gbWlsbGlvbnMgb2YgdGhlc2UgcmVmZXJlbmNlcz8gDQpJIHdvdWxk
IGJlIGludGVyZXN0ZWQgaW4gc2VlaW5nIHRoZSBleGFtcGxlIHJld3JpdHRlbiB1c2luZyBh
bnkNCmFsdGVybmF0aXZlIG5vdGF0aW9ucywgc3VjaCBhcyBYUEFUSC4NCg0K