From: Mark Guzman Date: 2008-07-31T15:50:20+09:00 Subject: Re: libxml: is it possible not to use doctype declaration? --------------ms000302040102040809040802 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Give fastxml a try. It's also a ruby interface to libxml. http://github.com/segfault/fastxml/tree/master http://fastxml.rubyforge.org/ --mg ruud grosmann wrote: > hi all, > > I have tried to find elements in XML documents with xpath expression > support in libxml: > > require 'xml/libxml' > doc = XML::Document.file( file) > node = doc.find_first( 'doc/p[@att]/@att') > > This works fine, but not if the document contains a doctype > declaration with a system identifier. For some reason, libxml tries to > resolve it. Leading to significant performances issues. > > Is there a way to tell the Document-object that it should ignore the > doctype declaration if present? Or should I first remove the > declaration from the document before calling new? > > regard, Ruud > > --------------ms000302040102040809040802 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 HAYJKoZIhvcNAQkFMQ8XDTA4MDczMTA2MzI1M1owIwYJKoZIhvcNAQkEMRYEFN381jhNi/E5 s6R+G1Oo8sBKp8fLMFIGCSqGSIb3DQEJDzFFMEMwCgYIKoZIhvcNAwcwDgYIKoZIhvcNAwIC AgCAMA0GCCqGSIb3DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEoMIGFBgkrBgEEAYI3 EAQxeDB2MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5 KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIQ LlcsA0mm2w7fn3HjpHxYLTCBhwYLKoZIhvcNAQkQAgsxeKB2MGIxCzAJBgNVBAYTAlpBMSUw IwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUg UGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIQLlcsA0mm2w7fn3HjpHxYLTANBgkqhkiG 9w0BAQEFAASCAQCUxVyizQGPN7fSAw8jLKbhfj0b+gg7E0KOL+KZJKrWomuLnWRCiywjbMuF PIcC8p8aTsQa5jNFfpdpUTz3PiwTq9WJbxtDa++lq/LWbYMvTyPoN5v2JPvS4cK6e8jn17OL p2IVMb50Ai5iiL6FyJPMiudOB716lOJNA5w0zFFisGgLadC49rSjk07GK7cLjhDNuaY8a+Zo LZR5OGuEgb/deWEXH0nxjzGIUUL5XX6l5K30S0gopxxqQRLE02g81LN1VjgQNjiTGpGLsHLo GU23czZLATSqWPQGJYVCjGh+jp7RLZWOklx3CytMrLQlEfELp0YMo4XUj2BxNNdz0ueOAAAA AAAA --------------ms000302040102040809040802--