[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Indirection in XML
(Apologies if off-topic.) The philosophers talk to two degrees of abstraction: 'total' abstraction is where you remove the specific details and are only left with what is common to all things of, say, a genus, while 'formal abstraction' is where you extract all the things that make that thing unique. Everyone was born on some day is total but you were born on that day is formal (...except my mother, whose parents disputed which day she was born on, right from the next day.) So a 'layer' is usually syntax/processing to represent the total abstraction (e.g. type) and the formal abstraction (e.g. implementation.) So you might say that for a publication, the XML schema more represents a total abstraction while the stylesheet more represents a formal abstraction. So the entity name might be a total abstraction while the entity value might be the formal abstraction. Parnas' Information Hiding is an example of total abstraction, but the two degrees go hand in hand. (SGML 's revolution was that if you needed documents published on unknown systems decades or centuries hence, you need to do a total abstraction and leave the formal abstraction work for later. In fact SGML has a particular kind of entity, the SDATA entity, which had the semantics 'I am not the real value, just an indication'.) There is a fan out effect: once a system reaches a certain level of complexity, you need to introduce extra layer, to work out what abstractions are necessary and practical to increase cohesion and coupling. The talk of 'simplicity' often reveals only that the speaker's use case does not require an extra level of abstraction (or that the extra levels are catered for by a different technology in the same ecosystem, which is respectable.) (IMHO the difference between a toy language and a professional one is whether there is at least one level of abstraction supported: const, getters and setters, XML entities. If it turns out you need more than one layer, you may abstract the commonalities of the layers: so where old unix C has cpp as a second layer of abstraction (and m4 as a third), these were abstracted to be classes and objects.) Regards Rick On 7 May 2017 06:42, "Costello, Roger L." <costello@mitre.org> wrote:
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|