[Home] [By Thread] [By Date] [Recent Entries]

  • From: Kurt Cagle <kurt.cagle@g...>
  • To: Tei <oscar.vives@g...>
  • Date: Wed, 13 Nov 2013 10:27:04 -0800

Tei,

I think you're missing the point. All of the examples you give are valid, but this validation is extrinsic - it is something that is determined not by the data language itself, which is more or less typeless, but by an arbitrary  external schema language: xsd, schematron or roll-your-own. Chances are, if you're doing external processing with this data, such a schema definition can prove useful, but there is in general no one "correct" schema for any given instance..

On Nov 13, 2013 3:30 AM, "Tei" <oscar.vives@g...> wrote:



On 13 November 2013 06:41, Kurt Cagle <kurt.cagle@g...> wrote:
The biggest problem with constraints that I've seen has to do with the fact that data itself, in the real world, has this very annoying tendency to morph over time. That's in great part because programmers do not think in terms of resources that evolve but data structures that represent state that is most useful to them, something that strong typing in particular has reinforced. XML was a radical departure from that model - unlike databases, where type was intrinsic, atomic, and implicit to the implementation, and binary objects, which similarly placed constraints upon type for optimization, XML was extrinsically typed, in an advisory rather than compulsory fashion. 

I think this is a lesson lost on many corporate developers who see XML only as an intermediation format from one strongly typed object to another (I've often wondered whether so much of the bad press that XML gained would have been spared if JSON had come out a few years earlier, and whether it would be JSON that would be villified as being too unwieldy as an object broker language, when the real culprit was the tendency for application developers to put too much of the business logic of an application, rather than more generic system logic, into heavyweight OOP in the first place).  


For anyone wondering how it look wen a Black River meets a Brown River:
http://i.imgur.com/biLWdoE.jpg

For a C programmer,  false is false, but the string "false" is true.  So  <data>false</data> is true or false depending on interpretation.  If represents the string "false", then is true, but if it represents the boolean false, is false.
C programmers make a assumption about data,  != 0 is true.  ==0 is false.  

In spanish, you can write Hombre/Mujer as H/M, but also as Varon/Hembra V/H, or as Femenino/Masculino F/M, so if you find   <genero>M</genero> without any other information, that can be a women, or a men.

<data>false</data>  this is true or false
<genero>M</genero>  this can be "Mujer" or "Masculino"





[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member