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-----
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"). 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
-- |