'$RCSfile: eml-software.xsd,v $'
       Copyright: 1997-2002 Regents of the University of California,
                            University of New Mexico, and
                            Arizona State University
        Sponsors: National Center for Ecological Analysis and Synthesis and
                  Partnership for Interdisciplinary Studies of Coastal Oceans,
                     University of California Santa Barbara
                  Long-Term Ecological Research Network Office,
                     University of New Mexico
                  Center for Environmental Studies, Arizona State University
   Other funding: National Science Foundation (see README for details)
                  The David and Lucile Packard Foundation
     For Details: http://knb.ecoinformatics.org/
        '$Author: obrien $'
          '$Date: 2009-02-25 23:51:54 $'
      '$Revision: 1.50 $'
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    
    
      
        eml-software
        
          
            
              The eml-software module - Software specific
              information
            
            
              The eml-software module contains general information that
              describes software resources.  This module is intended to fully
              document software that is needed in order to view a resource
              (such as a dataset) or to process a dataset.  The software
              module is also imported into the eml-methods module in order to
              document what software was used to process or perform quality
              control procedures on a dataset.
            
            
              The eml-software module, like other modules, may be
              "referenced" via the <references> tag.  This
              allows a software resource to be described once, and then used
              as a reference in other locations within the EML document via
              its ID.
            
          
        
        All datasets where software was used in
        the analysis or creation of the dataset.
        yes
      
    
  
  
    
      
        Software Package
        Defines a software distribution and all of its dependent
        software.
        The software element contains general information
        about a software resource that is being documented. This field is
        intended to give information for software tools that are needed to
        interpret a dataset, software that was written to process a resource,
        or software as a resource in itself. It is based on eml-resource and
        Open Software Description (OSD) a W3C submission. There can be multiple
        implementations within a software package because a physical software
        package can run on multiple hardware and/or operating systems. See
        implementation element documentation for a more thorough
        explanation.
      
    
  
  
    
      
        
        
          
            
              Implementation
              Describes the hardware and/or operating system
              requirements for one implementation of a package.
              Implementation describes the hardware, operating
              system resources a package runs on. Note, a package can have
              multiple implementations. So for example, a package may be
              written in java and the package may run on numerous hardware
              and/or operating systems like Pentium/Linux, Pentium/NT and so
              on. Hardware and Software descriptions that have different
              requirements can be placed here.
              Please see the examples for each sub-element of the
              implementation type.
            
          
          
            
              
                
                  
                    Distribution
                    Information on how the resource is distributed
                   online and offline
                    This field provides information on how the
                   resource is distributed online and offline. Connections to
                   online systems can be described as URLs and as a list of
                   relevant connection parameters.
                  
                
              
              
                
                  
                    Physical Size
                    Physical size of an implementation.
                    
                    The physical size of an implementation on
                    disk.
                    100 Megabytes
                  
                
              
              
                
                  
                    International Language
                    The International Language of the software
                    implementation.
                    The International Language of the software
                    implementation.
                  
                
                
                  
                    
                      
                        
                          Language Value
                          The actual value for the language or
                          a code for the language.
                          The actual value for the language or
                          a code for the language.
                          english
                          eng
                        
                      
                    
                    
                      
                        
                          Language Code Standard
                          The International Language Code being
                          used in the field languageValue.
                          The International Language Code being
                          used in the field languageValue. See
                          http://www.loc.gov/standards/iso639-2/
                          ISO639-2
                        
                      
                    
                  
                
              
              
                
                  
                    Operating System
                    The operating system(s) an implementation runs
                    on.
                    The operating system(s) an implementation runs
                    on.
                    Linux
                    Windows 95
                    Windows NT4
                    Windows XP
                    Sun Solaris 2.8
                    Mac OS X
                  
                
              
              
                
                  
                    Machine Processor
                    The machine processor(s) required for
                    executing the implementation.
                    The Machine Processor required for
                    executing the implementation.
                    Pentium II
                    Intel 486
                    SUN Sparc
                    Motorola
                  
                
              
              
                
                  
                    Virtual Machine
                    The virtual machine that the implementation
                    requires.
                    The virtual machine that the implementation
                    requires.
                    Java Virtual Machine 1.2
                  
                
              
              
                
                  
                    Disk Usage
                    The minimum amount of Disk Space required to
                    install this implementation.
                    The minimum amount of Disk Space required to
                    install this implementation.
                    220 Megabytes
                    15 MB
                    100 kB
                  
                
              
              
                
                  
                    Runtime Memory Usage
                    The minimum amount of memory required to run
                    an implementation.
                    The minimum amount of memory required to run
                    an implementation.
                    32 Megabytes
                    128 MB
                  
                
              
              
                
                  
                    Programming Language
                    The computer programming language the software
                    package was programmed in.
                    The computer programming language the software
                    package was programmed in.
                    C++
                    Java
                    C
                    C#
                    Perl
                    Cobol
                    Fortran
                    Lisp
                    Visual Basic
                    VBA
                    Bourne Shell Script
                  
                
              
              
                
                  
                    Checksum
                    The generated checksum value of a software
                    package that is a self-contained module.
                    The generated checksum value of a software
                    package that is a self-contained module.
                    $sum software.jar 27021 22660
                  
                
              
              
                
                  
                    dependency
                    This fields documents any dependencies
                    that this implementation might have.
                    This fields documents any dependencies
                    that this implementation might have.
                  
                
              
            
          
        
        
          
            
              dependency
              This fields documents any dependencies
              that this software package in general might have.
              This fields documents any dependencies
              that this software package in general might have.
            
          
        
        
          
            
              
                URL for License
                URL where the license can be found
                URL where the license can be found
              
            
          
          
            
              
                License
                Text of the license
                Text of the license
              
            
          
        
        
          
            
              Version
              Version of the software being
              packaged.
              String value corresponding to the major, minor,
              custom, and build version.
            
          
        
        
          
            
              project descriptor
              
              This field is a description of the project with
           which this software product is related.  Please see the eml-project
           module for more information.
            
          
        
      
      
    
    
    
    
  
  
    
      
        Action
        Describes what action needs to be undertaken (if any) for
        a software dependency at either the software package or implementation
        level.
        This element and its enumerations of assert and
        install can be used as commands by a software application to carry out
        these actions on software package dependencies. This is a change from
        how we have used all previous elements within eml. Up until now all
        other elements have been simply metadata designed to describe data,
        literature citations, etc... with the Action element we can use this
        module as a command to carry out the action.
      
    
    
      
      
    
  
  
    
      
        Dependency
        Dependency describes the software package(s) that the
        software package is dependent upon.
        The dependency element is recursive. It is a
        sub-element of the software Element but it also has as a sub-element
        its parent element Software Package. Dependency has been made optional
        because to make it mandatory does not allow the recursion to end.
        Dependency has also been made a sub-element of implementation because
        there can be both implementation and package level dependencies within
        a package.
      
    
    
      
        
          
            
              Action
              Describes what action needs to be undertaken (if any)
           for a software dependency at either the software package or
           implementation level.
              This element and its enumerations of assert and
           install can be used as commands by a software application to carry
           out these actions on software package dependencies. This is a change
           from how we have used all previous elements within eml. Up until now
           all other elements have been simply metadata designed to describe
           data, literature citations, etc... with the Action element we can
           use this module as a command to carry out the action.