Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:45117 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 41562 invoked from network); 28 Jul 2009 10:45:16 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 28 Jul 2009 10:45:16 -0000 Authentication-Results: pb1.pair.com header.from=david.zuelke@bitextender.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=david.zuelke@bitextender.com; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain bitextender.com from 80.237.132.12 cause and error) X-PHP-List-Original-Sender: david.zuelke@bitextender.com X-Host-Fingerprint: 80.237.132.12 wp005.webpack.hosteurope.de Received: from [80.237.132.12] ([80.237.132.12:59117] helo=wp005.webpack.hosteurope.de) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id E1/13-25592-5B6DE6A4 for ; Tue, 28 Jul 2009 06:45:10 -0400 Received: from munich.bitxtender.net ([85.183.90.3] helo=[10.224.254.18]); authenticated by wp005.webpack.hosteurope.de running ExIM with esmtpsa (TLSv1:RC4-SHA:128) id 1MVkB8-00019w-R5; Tue, 28 Jul 2009 12:45:07 +0200 Cc: Dmitry Stogov Message-ID: <67DEF003-A344-4BE6-9C23-6BB48935786F@bitextender.com> To: php-dev List In-Reply-To: Content-Type: multipart/signed; boundary=Apple-Mail-17--112233368; micalg=sha1; protocol="application/pkcs7-signature" Mime-Version: 1.0 (Apple Message framework v935.3) Date: Tue, 28 Jul 2009 12:45:06 +0200 References: X-Mailer: Apple Mail (2.935.3) X-bounce-key: webpack.hosteurope.de;david.zuelke@bitextender.com;1248777910;3e213dcf; Subject: Re: SOAP_MARSHAL_DATETIME (or: bug #44383) From: david.zuelke@bitextender.com (=?ISO-8859-1?Q?David_Z=FClke?=) --Apple-Mail-17--112233368 Content-Type: text/plain; charset=ISO-8859-1; format=flowed; delsp=yes Content-Transfer-Encoding: quoted-printable *bump* Dmitry, did you have a chance to review this patch yet? - David On 22.06.2009, at 15:21, David Z=FClke wrote: > Hi folks, > > attached is a patch (with the respective test cases) that implements =20= > DateTime marshalling from and to xsd:dateTime in ext/soap as =20 > requested in http://bugs.php.net/44383 > > Right now, it is implemented for xsd:date, xsd:time and =20 > xsd:dateTime, but not for other types defined in W3C XML Schema such =20= > as gDayMonth; I don't really think it makes sense mapping from and =20 > to DateTimes in this case (from DateTime to gDayMonth would work, =20 > but the other way round would prove rather difficult). > > Some notes about this patch: > - it conforms strictly to the XML Schema specification by only =20 > producing canonical representations of values when generating =20 > xsd:dateTime and xsd:time values. Specifically: > - it will not generate trailing zeroes on microseconds (in other =20 > words, it simply generates a fractional second part as mandated by =20 > the specification), but it will accept such values > - UTC is always used as the timezone (one of the tests in ext/date/=20 > tests that mirrors SBR1-echoDate from = http://www.w3.org/TR/2007/REC-soap12-testcollection-20070427/#SBR1-echoDat= e=20 > currently does this wrong), but it will accept any timezone > - xsd:time produces current date when generating a DateTime object > - xsd:date is relatively straightfoward as well: > - produces "00:00:00" as the time when creating a DateTime object > - accepts any time when parsing > - also supports timezones > - as a side effect of the patch, microseconds are now supported in =20 > time values (for xsd:time and xsd:dateTime), hence the removed =20 > comment in to_xml_time > > The tests have several permutations, but all but one is commented =20 > out each. The test_schema() function does some odd (but =20 > understandable) stunts with output buffering and global variables =20 > that make it impossible to test more than one case at a time. We =20 > didn't want to produce a million test files for the several =20 > variants; is there a nicer way to test this properly? > > This feature is enabled by a SoapClient "feature" called =20 > SOAP_MARSHAL_DATETIME. I think this is a reasonable choice. > > Greetings, > > David > > <=20 > schema089=20 > .phpt=20 > >=20 > <=20 > soap_marshal_datatype=20 > .diff=20 > .txt=20 > >=20 > <=20 > schema087=20 > .phpt> --Apple-Mail-17--112233368 Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIGXDCCAxUw ggJ+oAMCAQICEHvgrI6DXM4XmK4XvhB7lh4wDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UEBhMCWkEx JTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQ ZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA4MDgyMjE0MjEzOVoXDTA5MDgyMjE0MjEz OVowTjEfMB0GA1UEAxMWVGhhd3RlIEZyZWVtYWlsIE1lbWJlcjErMCkGCSqGSIb3DQEJARYcZGF2 aWQuenVlbGtlQGJpdGV4dGVuZGVyLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB ANx+fe+8oUaO+fotZryRBmD3NAP00QikUIqIyZKiwJ4BS9M8DdqN0lAh443rdw1h/H0NVkDMv7+7 MnSUYKU+BTwulvU7WDGLm7JGkXXWkGl5vHUnUWltUkk8ImUDiunYPnuyUVyQlnZkp1ThihYoR4xo MmiiC+6mHLl8FzMKimOU/UREpGfyLqYhsNdXiVgm+W8feO6aY3fDaenn9EVZEXJs6t7KxLpCIlD2 8+0dHlX+91vV4a9zfMObjEkLW3w/uBTT+uHypySHo/EWw0/pOD34sMdhSh0Xyr4un+Uv/DHH1ft3 5TJq6DEIrIL4iUpGa7Nsqjoah5SgpWwJY+gWaC8CAwEAAaNcMFowDgYDVR0PAQH/BAQDAgSwMBEG CWCGSAGG+EIBAQQEAwIFIDAnBgNVHREEIDAegRxkYXZpZC56dWVsa2VAYml0ZXh0ZW5kZXIuY29t MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEFBQADgYEAbEPiMjevqmbl2NuGieZkF5fNV1Uhr0dL wGDDxIcIHGnBeEBVy/5NpAKJUCU4lqG+bqD1S4MdyyLxvzlhOSZEqjcEwtwXqLVsaDakYFHsRGaS DU160+1b/wlf8/OR5tof7y5MA8p6MSQHjXWOy38A71wvwFowGZPF5lY617W5mUMwggM/MIICqKAD AgECAgENMA0GCSqGSIb3DQEBBQUAMIHRMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBD YXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xGjAYBgNVBAoTEVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYD VQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMSQwIgYDVQQDExtUaGF3dGUgUGVy c29uYWwgRnJlZW1haWwgQ0ExKzApBgkqhkiG9w0BCQEWHHBlcnNvbmFsLWZyZWVtYWlsQHRoYXd0 ZS5jb20wHhcNMDMwNzE3MDAwMDAwWhcNMTMwNzE2MjM1OTU5WjBiMQswCQYDVQQGEwJaQTElMCMG A1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNv bmFsIEZyZWVtYWlsIElzc3VpbmcgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMSmPFVz VftOucqZWh5owHUEcJ3f6f+jHuy9zfVb8hp2vX8MOmHyv1HOAdTlUAow1wJjWiyJFXCO3cnwK4Va qj9xVsuvPAsH5/EfkTYkKhPPK9Xzgnc9A74r/rsYPge/QIACZNenprufZdHFKlSFD0gEf6e20Txh BEAeZBlyYLf7AgMBAAGjgZQwgZEwEgYDVR0TAQH/BAgwBgEB/wIBADBDBgNVHR8EPDA6MDigNqA0 hjJodHRwOi8vY3JsLnRoYXd0ZS5jb20vVGhhd3RlUGVyc29uYWxGcmVlbWFpbENBLmNybDALBgNV HQ8EBAMCAQYwKQYDVR0RBCIwIKQeMBwxGjAYBgNVBAMTEVByaXZhdGVMYWJlbDItMTM4MA0GCSqG SIb3DQEBBQUAA4GBAEiM0VCD6gsuzA2jZqxnD3+vrL7CF6FDlpSdf0whuPg2H6otnzYvwPQcUCCT cDz9reFhYsPZOhl+hLGZGwDFGguCdJ4lUJRix9sncVcljd2pnDmOjCBPZV+V2vf3h9bGCE6u9uo0 5RAaWzVNd+NWIXiC3CEZNd4ksdMdRv9dX2VPMYIDEDCCAwwCAQEwdjBiMQswCQYDVQQGEwJaQTEl MCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBl cnNvbmFsIEZyZWVtYWlsIElzc3VpbmcgQ0ECEHvgrI6DXM4XmK4XvhB7lh4wCQYFKw4DAhoFAKCC AW8wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDkwNzI4MTA0NTA2 WjAjBgkqhkiG9w0BCQQxFgQUEO5HeDe0VV9uThmbERndAxH1HTQwgYUGCSsGAQQBgjcQBDF4MHYw YjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAq BgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhB74KyOg1zOF5iuF74Q e5YeMIGHBgsqhkiG9w0BCRACCzF4oHYwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBD b25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJ c3N1aW5nIENBAhB74KyOg1zOF5iuF74Qe5YeMA0GCSqGSIb3DQEBAQUABIIBALyZZyLOAh9ekcZW TOndF5SeR6zsKNmqenYK2Ugq58sGQCNwrs8g9HPr/c+WhYtLuem0KOLR7Vxhf1AughUY1pt5Cqk7 26LIvCWwqtShgq4Lah+gN3j+3yJc1bFlteZ4fF07/lj4n4+jis0AYLbpxeqVMV0Ut5GioVkAwXGK IkH6MFwvks9Qfe1g4btCFICHtn0cLa+SxZ6tO5S+ZO8x2TTwdoL3FCMpBt/DBfH7HvEUmb0QPBuS QNnZlcg9vQmAsW6CzfDQLo1nuGv1X3UddLmza2SMK2dAynSgfXI05tgqliqss+i2OVHhU88i3kNu izYCJlzJSh9q9I0xnqBdjRkAAAAAAAA= --Apple-Mail-17--112233368--