<div dir="ltr">Thanks for the notice about my patch, i&#39;ll try to find a way around.<div><br></div><div>Talking about JSON, I am not seeing any other options actually, than looking into SV. It&#39;s the only way to check type of the scalar, beside having scalar stored into object. So the options are:<br>* having objects (slow down and overcomplicate things);</div><div>* having everything stringified in json;</div><div>* look into SV.</div><div>Bonus option: use language with strict types.</div><div><br></div><div>About making every key in json a string</div><div>{ &quot;MapPoint&quot; : { x : &quot;10.2&quot;, y : &quot;45.9&quot; }  } <br>this json code will break deserialization for strict typing languages like, java. If x and y is floats in java.</div><div><br></div><div>Do I miss something?</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 16, 2014 at 3:07 PM, Mark Overmeer <span dir="ltr">&lt;<a href="mailto:mark@overmeer.net" target="_blank">mark@overmeer.net</a>&gt;</span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">* Mark Overmeer (<a href="mailto:mark@overmeer.net">mark@overmeer.net</a>) [141207 12:57]:<br>
<span class="">&gt; * hmepas (<a href="mailto:hmepas@gmail.com">hmepas@gmail.com</a>) [141207 08:58]:<br>
&gt; &gt; Then if we converting to json structure which came out after XML::Compile<br>
&gt; &gt; deserialization, floats and decimals will be like &quot;3.14&quot;.<br>
&gt;<br>
</span><span class="">&gt; The patch is accepted for next release.<br>
<br>
</span>I have to revert the change, triggered by a failing regression test.<br>
<br>
When I read the JSON docs:<br>
   my $value = 5; encode_json [$value]  # yields [5]<br>
<br>
   # used as string, so dump as string<br>
   print $value;<br>
   encode_json [$value]                 # yields [&quot;5&quot;]<br>
<br>
Your patch does work for simple floats in the XML, but it will not<br>
work for floats which have additional facets (totalDigits, fracDigits,<br>
length).  Those checks are done after stringification.<br>
<br>
So, your patch does break validation for everyone.  Any use of facets<br>
will break your JSON trick.  So: your patch does not work.  Sorry.<br>
<br>
It would be nice to add an option to JSON to disable its &quot;smart&quot;<br>
behavior.  Application libraries should not look into the SV!<br>
<span class="HOEnZb"><font color="#888888">--<br>
Regards,<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
               MarkOv<br>
<br>
------------------------------------------------------------------------<br>
       Mark Overmeer MSc                                MARKOV Solutions<br>
       Mark@Overmeer.net                          <a href="mailto:solutions@overmeer.net">solutions@overmeer.net</a><br>
<a href="http://Mark.Overmeer.net" target="_blank">http://Mark.Overmeer.net</a>                   <a href="http://solutions.overmeer.net" target="_blank">http://solutions.overmeer.net</a><br>
<br>
</div></div></blockquote></div><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div>Pavel S. Khmelinsky &lt;<a href="mailto:hmepas@gmail.com" target="_blank">hmepas@gmail.com</a>&gt;</div><div>Jabber: <a href="mailto:hmepas@gmail.com" target="_blank">hmepas@gmail.com</a></div><div>Skype: hmepas</div></div>
</div>