[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] Preoccupation with zero, empty strings, empty elements, empty everything
- From: gkholman@CraneSoftwrights.com
- To: "xml-dev@lists.xml.org" <xml-dev@lists.xml.org>
- Date: Sat, 07 Dec 2013 13:10:58 -0500
In the UBL project we specifically prohibit elements with element
content to have zero children. Elements either have text as their
child or have other elements as their children.
To our users, some of whom are not very technical, we explain
ourselves with a couple of paragraphs and a conclusion here:
http://docs.oasis-open.org/ubl/os-UBL-2.1/UBL-2.1.html#S-EMPTY-ELEMENTS
"UBL takes the position that empty elements do not provide the level
of assurance necessary for business information exchanges and
therefore must not be used."
... and have reduced the requirement to the following rules:
[IND5] UBL conformant instance documents MUST NOT contain an
element devoid of content or containing null values,
except in the case of extension, where the UBL
ExtensionContent element is used.
[IND6] The absence of a construct or data in a UBL instance
document MUST NOT carry meaning.
. . . . . . . Ken
At 2013-12-07 13:34 +0000, Costello, Roger L. wrote:
Hi Folks,
When was the last time you went to the store to purchase zero oranges?
When was the last time you created an XML document to have zero elements?
Those are strange concepts, aren't they?
Zero is a strange concept.
Roughly 1500 years after the introduction of zero as a number by
mathematicians in India, the concept is still not well accepted in
computer science:
- Many programming languages do not
support records with zero fields
- Many programming languages do not
support arrays with zero elements
- Many programming languages do not
support variable definitions with zero
variables
- In some programming languages the
syntax for calling a routine with zero
parameters differs from that for a
routine with one or more parameters
- XML has a special syntax for empty
elements
- Many compilers refuse to compile a
module that defines zero names
- No parser generator can produce a
parser for the empty language (the
language with zero strings)
This preoccupation with empty strings, sets, languages, etc. is not
frivolous, since it is well-known that the ease with which a system
handles empty cases is a measure of its cleanliness and robustness.
Most (not all) of the above is from the book: "Parsing Techniques"
by Grune and Jacobs.
/Roger
--
Public XSLT, XSL-FO, UBL & code list classes: Melbourne, AU May 2014 |
Contact us for world-wide XML consulting and instructor-led training |
Free 5-hour lecture: http://www.CraneSoftwrights.com/links/udemy.htm |
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/x/ |
G. Ken Holman mailto:gkholman@CraneSoftwrights.com |
Google+ profile: https://plus.google.com/116832879756988317389/about |
Legal business disclaimers: http://www.CraneSoftwrights.com/legal |
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]