OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
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?


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"/>

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]

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS