[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
RE: XML-vocabulary-specific programming idioms
- From: "Costello, Roger L." <costello@mitre.org>
- To: "xml-dev@lists.xml.org" <xml-dev@lists.xml.org>
- Date: Wed, 27 Apr 2011 08:44:18 -0400
Hi Folks,
> I have a simpleType and I need to know
> all the constraints on it.
A colleague pointed out that CSS has an analogous activity:
The styles that are to be applied to an element depend
not only on the element's CSS rule but also on the element's
parent's CSS rule and its parent's CSS rule, and so forth.
So, this programming idiom seems to be more universal than I thought.
Can you think of other examples where we accumulate restrictions based on parent, grandparent, great-grandparent, etc. restrictions?
My colleague suggested a name for this programming idiom:
Cascading Data Component Restrictions
What do you think?
/Roger
-----Original Message-----
From: Costello, Roger L.
Sent: Wednesday, April 27, 2011 6:11 AM
To: xml-dev@lists.xml.org
Subject: XML-vocabulary-specific programming idioms
Hi Folks,
There are programming idioms that are common across many applications, such as: map, fold, filter.
There are application-specific programming idioms.
Finally, there are XML-language-specific programming idioms. For example, there are common activities that are performed on XML Schemas (see below for an example), common programming activities that are performed on SVG documents, common programming activities that are performed on XBRL documents, and so forth. Has anyone put together a list of programming idioms for the various XML vocabularies?
/Roger
One activity that I frequently perform when processing XML Schemas is this:
I have a simpleType and I need to know
all the constraints on it.
Example: consider this simpleType:
<xsd:simpleType name="BostonAreaSurfaceElevation">
<xsd:restriction base="elev:EarthSurfaceElevation">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="120"/>
</xsd:restriction>
</xsd:simpleType>
What are all the constraints on it? Well, it identifies a base type, elev:EarthSurfaceElevation. That base type may contain some constraints that must be considered. Further, that base type may have a base type, which has a base type, etc. That entire dependency tree must be considered.
Determining all the constraints on a simpleType is an important programming idiom (at least, it is for my applications).
What would you name this programming idiom? I have been naming it "simpleType accumulated restrictions" but wonder if there is a better name?
Even better, is there a functional programming language (e.g., Haskell) function that does this kind of activity, or an analogous activity?
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]