xmerl trouble with validation anyURI type
Anton Ryabkov <[email protected]> Tue, 17 Mar 2015 14:12:26 +0600
| Newsgroups | gmane.comp.lang.erlang.bugs,gmane.comp.lang.erlang.patches |
|---|---|
| Message-ID | <CAH_Ks=Q1qYt_=srX21e6EAbM4U_rtJhn1==V_rn4--vJsCNdkA@mail.gmail.com> |
--047d7bb04bacf1a5440511778615 Content-Type: multipart/alternative; boundary=047d7bb04bacf1a53f0511778613 --047d7bb04bacf1a53f0511778613 Content-Type: text/plain; charset=UTF-8 Hello, I have a trouble with validating xml document by xsd schema with attribute's type anyURI and value = "alerting.wav". According to RFC 3986 (Uniform Resource Identifier) "alerting.wav" is valid value for anyURI type. I've tried on Erlang R16B03, 17.4. I attached simple sample, where you can see this problem. To run it, compile xml_test and invoke "test" method. I've analyzed xmerl source code, and have found that in xmerl_xsd_type.erl file make validation anyURI type. According source code anyURI must contains SCHEME section, but by RFC 3986 this section is optional. I've made fix, that validate anyURI type according regular expression from RFC 3986, Appendix B. --047d7bb04bacf1a53f0511778613 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div>Hello,</div><div><br></div><div>I have a trouble with= validating xml document by xsd schema with attribute's type anyURI and= value =3D "alerting.wav". According to RFC 3986 (Uniform Resourc= e Identifier)</div><div>"alerting.wav" is valid value for anyURI = type. I've tried on Erlang R16B03,<span style=3D"color:rgb(0,0,0);white= -space:pre-wrap"> 17.4.</span></div><div><br></div><div>I attached simple s= ample, where you can see this problem. To run it, compile xml_test and invo= ke "test" method.</div><div><br></div><div>I've analyzed xmer= l source code, and have found that in xmerl_xsd_type.erl file make validati= on anyURI type. According source code anyURI must contains SCHEME section, = but by RFC 3986</div><div>this section is optional. I've made fix, that= validate anyURI type according regular expression from RFC 3986, Appendix = B.</div><div><br></div></div> --047d7bb04bacf1a53f0511778613-- --047d7bb04bacf1a5440511778615 Content-Type: application/x-gzip; name="xmerl_anyURI_bug.tar.gz" Content-Disposition: attachment; filename="xmerl_anyURI_bug.tar.gz" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i7d0qod70 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 EBAQEBAQEBAY4V877uXbAFAAAA== --047d7bb04bacf1a5440511778615 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ erlang-bugs mailing list [email protected] http://erlang.org/mailman/listinfo/erlang-bugs --047d7bb04bacf1a5440511778615--