Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openj9
Path: blob/master/sourcetools/objectmodel/schema/archive-v1.xsd
5995 views
<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright (c) 2007, 2017 IBM Corp. and others

   This program and the accompanying materials are made available under
   the terms of the Eclipse Public License 2.0 which accompanies this
   distribution and is available at https://www.eclipse.org/legal/epl-2.0/
   or the Apache License, Version 2.0 which accompanies this distribution and
   is available at https://www.apache.org/licenses/LICENSE-2.0.

   This Source Code may also be made available under the following
   Secondary Licenses when the conditions for such availability set
   forth in the Eclipse Public License, v. 2.0 are satisfied: GNU
   General Public License, version 2 with the GNU Classpath
   Exception [1] and GNU General Public License, version 2 with the
   OpenJDK Assembly Exception [2].

   [1] https://www.gnu.org/software/classpath/license.html
   [2] http://openjdk.java.net/legal/assembly-exception.html

   SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
-->
<xsd:schema 
	xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
	targetNamespace="http://www.ibm.com/j9/builder/archive" 
	xmlns:tns="http://www.ibm.com/j9/builder/archive"
	elementFormDefault="qualified">
	
	<xsd:element name="archive" type="tns:archiveType" >
		<xsd:annotation>
			<xsd:documentation>J9 target archive definition element</xsd:documentation>
		</xsd:annotation>
	</xsd:element>

	<xsd:complexType name="archiveType">
		<xsd:annotation>
			<xsd:documentation>
				Build Spec definition contains a number of well defined
				fields describing one particular build spec.
			</xsd:documentation>
		</xsd:annotation>

		<xsd:sequence>
			<!-- Compound types go here -->
			<xsd:element name="builds" type="tns:buildsType" minOccurs="0" maxOccurs="1">
				<xsd:annotation>
					<xsd:documentation>A list of target builds created for this target archive</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
		
		<xsd:attribute name="id" type="xsd:ID" use="required" >
			<xsd:annotation>
				<xsd:documentation>Unique J9 target archive Identifier</xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
	</xsd:complexType>

	<xsd:complexType name="buildsType">
		<xsd:annotation>
			<xsd:documentation>
				A list of the builds that form the target archive.
			</xsd:documentation>
		</xsd:annotation>
		
		<xsd:sequence maxOccurs="unbounded" minOccurs="0">
			<xsd:annotation>
				<xsd:documentation>
					A collection of named key-value pairs. 
				</xsd:documentation>
			</xsd:annotation>
			<xsd:sequence maxOccurs="unbounded" minOccurs="0">
				<xsd:element name="build" type="tns:buildType" />
			</xsd:sequence>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="buildType">
		<xsd:annotation>
			<xsd:documentation>
				A list of the build specifications that form the build.  
			</xsd:documentation>
		</xsd:annotation>
		
		<xsd:sequence maxOccurs="unbounded" minOccurs="0">
			<xsd:annotation>
				<xsd:documentation>
					A collection of named key-value pairs. 
				</xsd:documentation>
			</xsd:annotation>
			<xsd:sequence maxOccurs="unbounded" minOccurs="0">
				<xsd:element name="spec" type="tns:specType" />
			</xsd:sequence>
		</xsd:sequence>
		
		<xsd:attribute name="id" type="xsd:string" use="required"/>
		<xsd:attribute name="date" type="xsd:string" use="required"/>
	</xsd:complexType>
	
	<xsd:complexType name="specType">
		<xsd:annotation>
			<xsd:documentation>
				This node indicates the spec that will be used to create the J9 target defined in the id.  
			</xsd:documentation>
		</xsd:annotation>
		
		<xsd:attribute name="id" type="xsd:string" use="required"/>
		<xsd:attribute name="url" type="xsd:anyURI" use="required"/>
	</xsd:complexType>

</xsd:schema>