I use rtf control and dir/file finds.
DTDs are fine if I don’t have to write them. I don’t mind
designing them but all of the problems that couldn’t be resolved in
design were humans in the loop.
Evil is being told “I don’t
pay you to program. I pay you to do XML” by someone who isn’t
paying you well and doesn’t “do” XML either.
Stupid is not immediately looking for another job. Stuck is having to do
that wearing a surgical mask.
len
-----Original
Message-----
From: Stephen Williams
[mailto:sdw@lig.net]
Sent: Thursday, March 08, 2012
6:02 PM
To: xml-dev@lists.xml.org
Subject: Ssx, Re:
Six Reasons Not to use XML Attributes
One of my favorite
idioms, which I would like more people to adopt, is that attributes and
elements have equivalence, to the extent that makes sense. In other
words, if you only have one of a sub element/attribute, and it is just a
string, then you can express it as an attribute. Or put it as an element
if you like. I built parsing this into my very concise and mostly
complete SAX/DOM-like/mini-XPath Ssx parser: get("age/type") will
find '<age type="years">', although you can still do
get("age@type").
And DTDs are evil. ;-)
https://code.google.com/p/super-simple-xml/
http://sdw.st/ssx.html#tag:Ssx
Wrote this over a year ago. The library has been fairly well tested for
the core application use needed, however the test code included is woefully
incomplete.
sdw
On 3/2/12 6:26 AM, Len Bullard wrote:
Let's just use LISP. Then we can reclaim our Dark Overlord Priesthood
Robes and demand unusually high salaries for being slightly
better-trained than data entry clerks because clerks can't cooder in
their cars.
Xerox tried this long ago, Roger. It failed pretty badly.
The problem with attributes is not syntax or lack of utility. It is
that they become a metadata junkyard where information is stuffed that
is rarely used and almost always ignored in templates. They are often
under-documented particularly where they are used by only a few
corner-case applications. Here is an example. Guess how many of these
are being used often, how many are generated, duplicate items found
elsewhere or are a result of using one DTD to govern non-local processes
(same entity being processed by multiple systems serially):
wpno ID #REQUIRED
crewmember CDATA #IMPLIED
tocentry (2 | 3 | 4 | 5 ) '2'
date-time-stamp (date | time | date-time ) #IMPLIED
frame (yes | no ) 'yes'
army (yes | no ) 'no'
airforce (yes | no ) 'no'
navy (yes | no ) 'no'
marines (yes | no ) 'no'
fgc CDATA #IMPLIED
lsa-id CDATA #IMPLIED
wpseq CDATA #IMPLIED
insertwp CDATA #IMPLIED
deletewp (yes | no ) 'no'
delchlvl CDATA #IMPLIED
comment CDATA #IMPLIED
changeref IDREFS #IMPLIED
idref IDREFS #IMPLIED
assocfig IDREFS #IMPLIED
skilltrk CDATA #IMPLIED
security (uc | fouo | c | s | ts ) #IMPLIED
There is a well-understood impedance mismatch between XML and
Objects-What-We-Love and between SQL tables yet humans seem to be able
to handle them well and understand what they are. They are in this
sense, a design problem for people who don't understand the
subject-matter or process space with enough clarity to apply them well.
len
_______________________________________________________________________
XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.
[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
subscribe: xml-dev-subscribe@lists.xml.org
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php