--------------ms090504030305030905000500
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

 astXml, a simple fast xml library using libxml and libxslt

Overview

FastXml is:

# not standalone, it *requires libxml* and *libxslt*
# it attempts to provide the speediest xml parsing library available for 
ruby
# it provides an hpricot-like syntax for xml parsing and xslt processing

Release Notes

This is the first public release, be gentle. Patches/bugs are welcome.

Here's the output of a simple initial benchmark involving a relatively 
large unicode file against it:
ruby ./benchmarks/unicode.rb
                     user     system      total        real
fastxml.new      0.030000   0.010000   0.040000 (  0.059105)
fastxml.to_s     0.010000   0.000000   0.010000 (  0.014552)
fastxml.search   0.000000   0.000000   0.000000 (  0.001965)

hpricot.new      0.530000   0.020000   0.550000 (  0.560611)
hpricot.to_s     0.160000   0.000000   0.160000 (  0.162376)
hpricot.search   0.220000   0.010000   0.230000 (  0.226655)

libxml.new       0.030000   0.000000   0.030000 (  0.034130)
libxml.to_s      0.020000   0.000000   0.020000 (  0.017132)
libxml.search    0.000000   0.000000   0.000000 (  0.002484)

REXML.new        1.080000   0.020000   1.100000 (  1.126382)
REXML.to_s       0.230000   0.010000   0.240000 (  0.241466)
REXML.xpath     89.200000   0.400000  89.600000 ( 89.817980)

xpath expression: //p
  fastxml nodes: 10577
    libxml nodes: 10577
   hpricot nodes: 10577
REXML nodes: 10577


Installation

# this may take a bit to propagate through the mirrors.
gem install fastxml

or grab the source, build and use rake to install the gem

Links
rubyforge page - http://rubyforge.org/projects/fastxml/
git repo - http://github.com/segfault/fastxml/



--------------ms090504030305030905000500
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIJ4TCC
Az8wggKooAMCAQICAQ0wDQYJKoZIhvcNAQEFBQAwgdExCzAJBgNVBAYTAlpBMRUwEwYDVQQI
EwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEaMBgGA1UEChMRVGhhd3RlIENv
bnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xJDAi
BgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBDQTErMCkGCSqGSIb3DQEJARYccGVy
c29uYWwtZnJlZW1haWxAdGhhd3RlLmNvbTAeFw0wMzA3MTcwMDAwMDBaFw0xMzA3MTYyMzU5
NTlaMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBM
dGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQTCBnzAN
BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxKY8VXNV+065yplaHmjAdQRwnd/p/6Me7L3N9Vvy
Gna9fww6YfK/Uc4B1OVQCjDXAmNaLIkVcI7dyfArhVqqP3FWy688Cwfn8R+RNiQqE88r1fOC
dz0Dviv+uxg+B79AgAJk16emu59l0cUqVIUPSAR/p7bRPGEEQB5kGXJgt/sCAwEAAaOBlDCB
kTASBgNVHRMBAf8ECDAGAQH/AgEAMEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwudGhh
d3RlLmNvbS9UaGF3dGVQZXJzb25hbEZyZWVtYWlsQ0EuY3JsMAsGA1UdDwQEAwIBBjApBgNV
HREEIjAgpB4wHDEaMBgGA1UEAxMRUHJpdmF0ZUxhYmVsMi0xMzgwDQYJKoZIhvcNAQEFBQAD
gYEASIzRUIPqCy7MDaNmrGcPf6+svsIXoUOWlJ1/TCG4+DYfqi2fNi/A9BxQIJNwPP2t4WFi
w9k6GX6EsZkbAMUaC4J0niVQlGLH2ydxVyWN3amcOY6MIE9lX5Xa9/eH1sYITq726jTlEBpb
NU1341YheILcIRk13iSx0x1G/11fZU8wggNLMIICtKADAgECAhAuVywDSabbDt+fceOkfFgt
MA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3Vs
dGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNz
dWluZyBDQTAeFw0wNzExMDEwMzA4NTRaFw0wODEwMzEwMzA4NTRaMIGJMR8wHQYDVQQDExZU
aGF3dGUgRnJlZW1haWwgTWVtYmVyMSIwIAYJKoZIhvcNAQkBFhNzZWdmYXVsdEBoYXNuby5p
bmZvMRwwGgYJKoZIhvcNAQkBFg1tZ0BoYXNuby5pbmZvMSQwIgYJKoZIhvcNAQkBFhVtYXJr
Lmd1em1hbkBnbWFpbC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCa6sWo
i2Qd7PY1Vf61K6TCUPOiQgNRLSlF2GQzA3mjv7glKrUxMQ2re50pktThWGKVIRHIQhjMVQix
Ebpym9gcAXVQBDNJd9MSkzMhyHuT68uun261pNwZGBXU3Bmmd0qOSQOzYptkmJXGhDRjkLxr
LW/QXQLaV/stvZy45ssODmFqj9hL0bLrDszEPjp4CMiTejlEkxczmwsqIzLXWpRp9qaVOQOI
oFe9v0JlExx/LTxqWTt7NDsVUWxsuk7zUqoW6+PR9QNA5LZ0LD1bIgG5MdUaAgj34kPJPFG7
9XAjQKO4D7S6PvoHVltF2d2l9Vi+2Y4F+CEYJG7XQoi4BsAfAgMBAAGjVjBUMEQGA1UdEQQ9
MDuBE3NlZ2ZhdWx0QGhhc25vLmluZm+BDW1nQGhhc25vLmluZm+BFW1hcmsuZ3V6bWFuQGdt
YWlsLmNvbTAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBBQUAA4GBAHGXy2OK9B86BzR5cnu6
3lKPFb5nsSp8/nN9at4Mmgks2F68WvYUxvg5dfADC3t1xxEZkZtFymSpwnJIeWl5CUqlnDFp
EpFYaCl6A2vDX3fHBSLLGt37QnRzQ0AHNDUV/wiZFxoMnd3wgroJDNXxHKkWxhYXbz3zLGmO
dAFEtu47MIIDSzCCArSgAwIBAgIQLlcsA0mm2w7fn3HjpHxYLTANBgkqhkiG9w0BAQUFADBi
MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEs
MCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIElzc3VpbmcgQ0EwHhcNMDcxMTAx
MDMwODU0WhcNMDgxMDMxMDMwODU0WjCBiTEfMB0GA1UEAxMWVGhhd3RlIEZyZWVtYWlsIE1l
bWJlcjEiMCAGCSqGSIb3DQEJARYTc2VnZmF1bHRAaGFzbm8uaW5mbzEcMBoGCSqGSIb3DQEJ
ARYNbWdAaGFzbm8uaW5mbzEkMCIGCSqGSIb3DQEJARYVbWFyay5ndXptYW5AZ21haWwuY29t
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmurFqItkHez2NVX+tSukwlDzokID
US0pRdhkMwN5o7+4JSq1MTENq3udKZLU4VhilSERyEIYzFUIsRG6cpvYHAF1UAQzSXfTEpMz
Ich7k+vLrp9utaTcGRgV1NwZpndKjkkDs2KbZJiVxoQ0Y5C8ay1v0F0C2lf7Lb2cuObLDg5h
ao/YS9Gy6w7MxD46eAjIk3o5RJMXM5sLKiMy11qUafamlTkDiKBXvb9CZRMcfy08alk7ezQ7
FVFsbLpO81KqFuvj0fUDQOS2dCw9WyIBuTHVGgII9+JDyTxRu/VwI0CjuA+0uj76B1ZbRdnd
pfVYvtmOBfghGCRu10KIuAbAHwIDAQABo1YwVDBEBgNVHREEPTA7gRNzZWdmYXVsdEBoYXNu
by5pbmZvgQ1tZ0BoYXNuby5pbmZvgRVtYXJrLmd1em1hbkBnbWFpbC5jb20wDAYDVR0TAQH/
BAIwADANBgkqhkiG9w0BAQUFAAOBgQBxl8tjivQfOgc0eXJ7ut5SjxW+Z7EqfP5zfWreDJoJ
LNhevFr2FMb4OXXwAwt7dccRGZGbRcpkqcJySHlpeQlKpZwxaRKRWGgpegNrw193xwUiyxrd
+0J0c0NABzQ1Ff8ImRcaDJ3d8IK6CQzV8RypFsYWF2898yxpjnQBRLbuOzGCA2QwggNgAgEB
MHYwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0
ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhAuVywD
SabbDt+fceOkfFgtMAkGBSsOAwIaBQCgggHDMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEw
HAYJKoZIhvcNAQkFMQ8XDTA4MDUwNjA0MDkzNVowIwYJKoZIhvcNAQkEMRYEFCb5onIXH7Ad
uiAsVzO/6wqTja0eMFIGCSqGSIb3DQEJDzFFMEMwCgYIKoZIhvcNAwcwDgYIKoZIhvcNAwIC
AgCAMA0GCCqGSIb3DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEoMIGFBgkrBgEEAYI3
EAQxeDB2MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5
KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIQ
LlcsA0mm2w7fn3HjpHxYLTCBhwYLKoZIhvcNAQkQAgsxeKB2MGIxCzAJBgNVBAYTAlpBMSUw
IwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUg
UGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIQLlcsA0mm2w7fn3HjpHxYLTANBgkqhkiG
9w0BAQEFAASCAQCB1Sz5gpljKUPWut1iSUcqqRJF0ioTnoPOAUNLgzcYyVKfmTPROBhSoS0N
aNlUCEfnlrWh1A9IkNuC0Q40JvhtzH9cOTdpbiCRjT9nK8INBiYEtnamkFfd6mkALBo3NonY
foBwsdKhOrNDYPoESe21B6dsOiJdC7xg2wSZbaYDmPKTGyQXnbCts7cdN70Y3X2W/s27D49u
3WIo+WKnzShdOxza5gyL7k745nz+VT9ass9IXkCudrEsjanEzbc6QzIvVNWpHlzXa9xnidw6
gy8v+Awj7m45dj0p1A3/EG0q+f3szF+tBQXUE0Zs4JBXEJ2IVosgwqej43vqEDWAyiagAAAA
AAAA
--------------ms090504030305030905000500--