OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] {mark} - a new simple notation that unifies JSON and XML

That is also a concern that I have when designing Mark. Should it be generalized to allow any value in content? Do we have any solid usecase for storing number and boolean in content? They are probably not needed for normal mixed content usage.

I don't think the absence of a use case should ever be used to justify lack of orthogonality. If design were driven solely by use cases, orthogonality would go out of the window. The design process should aim to produce the most elegant/orthogonal design that satisfies all the use cases, it should not aim to satisfy the known use cases and nothing else.

Or to put it another way: find the space with the smallest boundary that has all the use cases within the space, where the "boundary" is the boundary between things that the system handles and things that it doesn't.

(An extreme example I often use to illustrate this principle: arithmetic expressions X+Y should allow either operand to be a literal zero, even though there is no use case for adding zero to a number, because a specification that allows literal zero is smaller than one that doesn't).

The lack of orthogonality between attribute values and element content was in fact one of the design mistakes in XML that I was trying to correct.

I know XML Schema allows primitive values as element content. But personally, I don't like that, and prefer to use attribute for those usecases.

Why should personal preferences come into it?

You might prefer <price currency="USD" amount="5.00"/> to <price currency="USD">5.00</price>, but others don't.

Michael Kay

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

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS