Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openj9
Path: blob/master/sourcetools/objectmodel/schema/flags-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/flags"
	xmlns:tns="http://www.ibm.com/j9/builder/flags"
	elementFormDefault="qualified" >
	
	<xsd:element name="flags" type="tns:flagsType" >
		<xsd:annotation>
			<xsd:documentation>Type the text in here.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>

	<xsd:complexType name="flagsType">
		<xsd:annotation>
			<xsd:documentation>A list of flag definitions.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence maxOccurs="unbounded" minOccurs="0">
			<xsd:element name="flag" type="tns:flagType" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="flagType">
		<xsd:annotation>
			<xsd:documentation>
				Contains the definition for a single point of
				configuration, and is uniquely identified by the value
				of the id attribute. A given flag
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:annotation>
				<xsd:documentation></xsd:documentation>
			</xsd:annotation>
	    		<xsd:element name="description" type="xsd:string" maxOccurs="1" minOccurs="1">
				<xsd:annotation>
					<xsd:documentation>
						A free text field that describes the purpose of
						the flag, and specifically indicates what will
						happen if the flag is activated. This field is
						intended to help end users configure the virtual
						machine, so please be as verbose as necessary
						when describing the impact of enabling the flag.
					</xsd:documentation>
				</xsd:annotation>
			</xsd:element>

			<xsd:element name="ifRemoved" type="xsd:string" maxOccurs="1" minOccurs="1">
				<xsd:annotation>
					<xsd:documentation>
						A free text field that describes what will
						happen if the flag is removed. This field is
						intended to help end users configure the virtual
						machine, so please be as verbose as necessary
						when describing the impact of removing the flag.
					</xsd:documentation>
				</xsd:annotation>
			</xsd:element>

			<xsd:element name="requires" type="tns:requiresType" maxOccurs="1" minOccurs="0" />
			<xsd:element name="precludes" type="tns:precludesType" maxOccurs="1" minOccurs="0" />
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:ID" use="required"/>
	</xsd:complexType>

	
	
	<xsd:complexType name="requiresType">
		<xsd:sequence maxOccurs="unbounded" minOccurs="0">
			<xsd:element name="require" type="tns:requireType"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="requireType">
		<xsd:annotation>
			<xsd:documentation>
				Represents a depends-on linkage between flags. Indicates
				that the flag requires that another flag be enabled. The
				flag which is dependended upon is identified by name
				using the flag attribute.
			</xsd:documentation>
		</xsd:annotation>
		<xsd:attribute name="flag" type="xsd:IDREF" use="required"/>
	</xsd:complexType>


	
	<xsd:complexType name="precludesType">
		<xsd:annotation>
			<xsd:documentation>
				A list of elements which indentify flags that are
				incompatible with the containing flag definition.
			</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence maxOccurs="unbounded" minOccurs="0">
			<xsd:element name="preclude" type="tns:precludeType"></xsd:element>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="precludeType">
		<xsd:annotation>
			<xsd:documentation>
				Represents an either-or linkage between flags. Indicates
				that the flag cannot function properly in the presence
				of another flag. The incompatiable flags is identified
				by name using the flag attribute.
			</xsd:documentation>
		</xsd:annotation>
		<xsd:attribute name="flag" type="xsd:IDREF" use="required"/>
	</xsd:complexType>

</xsd:schema>