Project

General

Profile

Bug #493 » eml-softwarePackage.xsd

Owen Eddins, 05/15/2002 03:12 PM

 
1
<?xml version="1.0"?>
2
<!-- edited with XML Spy v4.0.1 U (http://www.xmlspy.com) by Owen Eddins (University of New Mexico) -->
3
<xs:schema targetNamespace="eml:software-2.0.0beta8" xmlns="eml:software-2.0.0beta8" xmlns:res="eml:resource-2.0.0beta8" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:doc="eml:documentation-2.0.0beta8">
4
	<xs:import namespace="eml:documentation-2.0.0beta8" schemaLocation="eml-documentation.xsd"/>
5
	<xs:annotation>
6
		<xs:documentation>
7
       '$RCSfile: eml-software.xsd,v $'
8
       Copyright: 2000 Regents of the University of California and the
9
                  National Center for Ecological Analysis and Synthesis
10
     For Details: http://knb.ecoinformatics.org/
11
  
12
        '$Author: berkley $'
13
          '$Date: 2002/04/21 22:45:30 $'
14
      '$Revision: 1.6 $'
15
    
16
    This program is free software; you can redistribute it and/or modify
17
    it under the terms of the GNU General Public License as published by
18
    the Free Software Foundation; either version 2 of the License, or
19
    (at your option) any later version.
20
  
21
    This program is distributed in the hope that it will be useful,
22
    but WITHOUT ANY WARRANTY; without even the implied warranty of
23
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24
    GNU General Public License for more details.
25
  
26
    You should have received a copy of the GNU General Public License
27
    along with this program; if not, write to the Free Software
28
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
29
    </xs:documentation>
30
		<xs:appinfo>
31
			<doc:moduleName>eml-software</doc:moduleName>
32
			<doc:moduleDescription>
33
        The eml-software module contains general information that describes
34
        software resources.
35
      </doc:moduleDescription>
36
		</xs:appinfo>
37
	</xs:annotation>
38
	<!-- import the elements from eml-resource -->
39
	<xs:import namespace="eml:resource-2.0.0beta8" schemaLocation="eml-resource.xsd"/>
40
	<xs:simpleType name="Action">
41
		<xs:restriction base="xs:string">
42
			<xs:enumeration value="install"/>
43
			<xs:enumeration value="assert"/>
44
		</xs:restriction>
45
	</xs:simpleType>
46
	<xs:element name="Dependency">
47
		<xs:complexType>
48
			<xs:sequence>
49
				<xs:element name="Action" type="Action"/>
50
				<xs:element ref="SoftwarePackage"/>
51
			</xs:sequence>
52
		</xs:complexType>
53
	</xs:element>
54
	<xs:element name="SoftwarePackage" type="SoftwarePackage">
55
		<xs:annotation>
56
			<xs:appinfo>
57
				<doc:tooltip>
58
          				Software
59
        			</doc:tooltip>
60
				<doc:summary>
61
					Defines a software distribution.
62
                 		 </doc:summary>
63
				<doc:description>
64
          				The 'softwarePackage' element contains general information about a
65
          				software resource that is being documented.  This field is
66
          				intended to give information for software tools that are needed 
67
          				to interpret a dataset, software that was written to process a
68
         				 resource, or software as a resource in itself.
69
          
70
         				 It is based on eml-resource and Open Software Description (OSD) 
71
         				 a W3C submission.
72
         				
73
          			</doc:description>
74
				<doc:example>
75
         				 Please see the examples for each subelement of the 'softwarePackage' type.
76
        			</doc:example>
77
				<doc:lineage>
78
					The softwarePackage Element was introduced in 2.0.0 beta 9.  It replaces 
79
					the software element.  The 'software' element was introduced into EML 2.0, 
80
					however it was derived from the eml-software module in EML 1.4.
81
        			</doc:lineage>
82
			</xs:appinfo>
83
		</xs:annotation>
84
	</xs:element>
85
	<xs:complexType name="SoftwarePackage">
86
		<xs:complexContent>
87
			<xs:extension base="res:ResourceBase">
88
				<xs:sequence>
89
					<xs:element name="Implementation" maxOccurs="unbounded">
90
						<xs:annotation>
91
							<xs:appinfo>
92
								<doc:tooltip/>
93
								<doc:summary/>
94
								<doc:description>
95
								        Implementation describes the hardware and operating system
96
								        the package runs on.  Note a package can have multiple
97
								        implementations.  So for example a package may be written in
98
								        java and the 'package' may run on numerous hardware and 
99
								        operating systems like Pentium/Linux, Pentium/NT and so on...
100
								        Hardware and Software descriptions that have different
101
								        constraints can be placed here.
102
								</doc:description>
103
								<doc:example>
104
         								 Please see the examples for each subelement of the 'implementation' type.
105
        							</doc:example>
106
								<doc:lineage>
107
									The implementation Element was introduced in 2.0.0 beta 9.          
108
								</doc:lineage>
109
							</xs:appinfo>
110
						</xs:annotation>
111
						<xs:complexType>
112
							<xs:sequence>
113
								<xs:element name="codeBase" maxOccurs="unbounded">
114
									<xs:complexType>
115
										<xs:sequence>
116
											<xs:element name="FileName" type="xs:string"/>
117
											<xs:element name="OnlineURL" type="xs:string" minOccurs="0"/>
118
											<xs:element name="Size" type="xs:string" minOccurs="0"/>
119
										</xs:sequence>
120
									</xs:complexType>
121
								</xs:element>
122
								<xs:element name="Language" type="xs:string" minOccurs="0"/>
123
								<xs:element name="OperatingSystem" type="xs:string" minOccurs="0"/>
124
								<xs:element name="Processor" type="xs:string" minOccurs="0"/>
125
								<xs:element name="VirtualMachine" type="xs:string" minOccurs="0"/>
126
								<xs:element name="DiskUsage" type="xs:string" minOccurs="0"/>
127
								<xs:element name="RuntimeMemoryUsage" type="xs:string" minOccurs="0"/>
128
								<xs:element name="ProgrammingLanguage" type="xs:string" minOccurs="0"/>
129
								<xs:element ref="Dependency" minOccurs="0" maxOccurs="unbounded"/>
130
							</xs:sequence>
131
						</xs:complexType>
132
					</xs:element>
133
					<xs:element ref="Dependency"/>
134
					<xs:choice minOccurs="0" maxOccurs="unbounded">
135
						<xs:element name="LicenseURL" type="xs:string"/>
136
						<xs:element name="License" type="xs:string"/>
137
					</xs:choice>
138
					<xs:element name="Version" type="xs:string">
139
						<xs:annotation>
140
							<xs:appinfo>
141
								<doc:tooltip/>
142
								<doc:summary>Version of the software being packaged.</doc:summary>
143
								<doc:description>String value corresponding to the major, minor, custom, and build version xs:annotation
144
								</doc:description>
145
								<doc:example/>
146
								<doc:lineage>
147
									The implementation Element was introduced in 2.0.0 beta 9.          
148
								</doc:lineage>
149
							</xs:appinfo>
150
						</xs:annotation>
151
					</xs:element>
152
				</xs:sequence>
153
			</xs:extension>
154
		</xs:complexContent>
155
	</xs:complexType>
156
</xs:schema>
(2-2/5)