Re: [emergency] Handling Default ValueLists

From
Rex Brooks <>
Date
2010-11-25T01:00:55+00:00
ID
Thread
Re: [emergency] Handling Default ValueLists
I lean toward what Ron and OGC do. My thinking has been that by
    publishing the value lists separately in a registry we not only
    provide a default value list, but an example of how to do that as an
    added benefit for the audience. However the details would need to be
    worked out. I confess I haven't thought this through in detail,
    expecting that the time would eventually arrive when it would be
    required, and I think that time has now arrived. However, I have no
    problem with Option 2 for the reasons that Don and Lee mention.

    

    Cheers,

    Rex

    

    On 11/24/10 1:11 PM, Ron Lake wrote:
    
      
      
      
      

        
Hi,

        
 

        
The
            way that “value lists” are starting to be handled in GML
            communities (e.g. AIXM, CityGML etc) is to use a registry as
            part of the specification.  This holds the value list, is
            subject to specific access control rules, but can be
            extended without re-writing the specification.

        
 

        
Cheers

        

            Ron

        
 

        

          

            
From:
                McGarry, Donald P. [mailto:] 

                Sent: November-24-10 6:12 AM

                To: Lee Tincher; 

                Subject: RE: [emergency] Handling Default
                ValueLists

          

        

        
 

        
I agree…I forgot to mention this in my note,
            but I am of the opinion that “IF we can enforce it in the
            schema we SHOULD”

        
 

        

          
-Don

          
Office: 315-838-2669

          
Cell: 703-595-9375

          


        

        
 

        

          

            
From:
                Lee Tincher [mailto:] 

                Sent: Wednesday, November 24, 2010 8:53 AM

                To: McGarry, Donald P.;
                

                Subject: RE: [emergency] Handling Default
                ValueLists

          

        

        
 

        
My 2 cents:  In order to “tightly bind a
            standard” I believe we should lean toward Option 2.   We
            have seen abuse of the more open options in things like
            <parameter> in CAP and it has caused a great deal of
            confusion in the community….so even though Option 2 does add
            to the complexity I think the pay-off of tightly defining
            the usage is well worth it….

        
 

        
Thanks,

        
Lee

        
 

        

          
Those who cannot hear an angry shout may
                strain to hear a whisper - Leonard Nimoy

        

        
 

        

          

            
From:
                McGarry, Donald P. [mailto:] 

                Sent: Wednesday, November 24, 2010 8:41 AM

                To: 

                Subject: [emergency] Handling Default ValueLists

          

        

        
 

        
All-

        
I spent some time this
            morning trying to figure out how to “do” default valuelists
            in our schemas.  It seems like there are two options that I
            could figure out and we need to make a decision as a TC how
            to approach this…

        
 

        
What we “want” to do is
            to have a ValueList type in a schema and assign default
            values to it.

        
Take “DistributionType”
            in DE 2.0 as an example…

        
You can do 1 or 2:

        
1.       Use your own ValueList

        
2.       Use the default ValueList

        
a.       A default ValueListURI is declared 

        
b.      An enumeration is declared that is binded to
            that ValueListURI with the values you can choose from

        
The problem is that the
            mechanism to do defaults and restrictions in schemas will
            allow you to create a restriction on the valuelist type that
            will default the ValueListURI, but not have a default
            enumeration, only a value, this doesn’t allow you to do #1. 
            The other problem is that with a default URI and a  don’t
            strongly bind to other another…i.e. I can choose the 

        
 

        
Option 1: Just define
            default valuelists in an xml file that we include with the
            schema & define the default ValueListURI to match the
            xml file URI and keep the “Values” types as string

        
Pros:

        
·        
              Doesn’t
            add more complexity to schema

        
·        
              Developers
            can just parse the file and use it

        
·        
              In
            some ways more simple (if you ignore the cons)

        
Cons:

        
·        
              Not
            strongly typed – i.e. someone can use the default
            ValueListURI and put invalid values in

        
·        
              Not
            enforced in the schema – i.e. if someone does do the bullet
            above, it will validate to the schema

        
·        
              Requires
            an additional file to be distributed with the schema

        
·        
              Requires
            additional and very specific documentation

        
·        
              A
            new “concept”

        
·        
              Requires
            someone to actually read the documentation ;-)

        
 

        
Option 2: Define the
            default valuelist as a strongly typed restriction on the
            ValueList type, add a choice or abstraction to the schema
            for elements with a default ValueList that allows for
            developers to either use the default or their own valuelist

        
Pros:

        
·        
              Strongly
            typed

        
·        
              Enforced
            in the schema

        
·        
              Default
            values will be read in with the schema

        
·        
              Single-file
            solution

        
·        
              Matches
            how KML/GML seem to do things

        
·        
              Re-uses
            existing schema concepts

        
·        
              Doesn’t
            require “conformance” / “business rule” documentation

        
Cons:

        
·        
              More
            complexity in the schema

        
·        
              Adds
            a choice or a layer of abstraction

        
·        
              Could
            be considered more complicated on the surface

        
 

        
Thoughts?

        
 

        
 

        
 

        
Don McGarry 

            The MITRE Corp. 

            
            

            (315) 838-2669 Office 

            (703) 595-9375 Cell