Path: blob/master/sourcetools/objectmodel/schema/feature-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/feature" xmlns:tns="http://www.ibm.com/j9/builder/feature" elementFormDefault="qualified"> <xsd:element name="feature" type="tns:featureType" > <xsd:annotation> <xsd:documentation>Defines a single feature. Used by build specs.</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="featureType"> <xsd:annotation> <xsd:documentation> A feature is composed of a number of sources and flags. See flags.xsd for the meaning of all flags. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="name" type="xsd:string" > <xsd:annotation> <xsd:documentation>Name of the feature.</xsd:documentation> </xsd:annotation> </xsd:element> <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 feature, and specifically indicates what will happen if the feature 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 feature. </xsd:documentation> </xsd:annotation> </xsd:element> <!-- Compound types go here --> <xsd:element name="source" type="tns:sourceType" > <xsd:annotation> <xsd:documentation>A list of projects used by this feature.</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="flags" type="tns:flagsType" > <xsd:annotation> <xsd:documentation>A list of flags used by this feature.</xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> <xsd:attribute name="id" type="xsd:ID" use="required" > <xsd:annotation> <xsd:documentation>Unique Build Spec Identifier</xsd:documentation> </xsd:annotation> </xsd:attribute> </xsd:complexType> <xsd:complexType name="sourceType"> <xsd:annotation> <xsd:documentation> A list of the source projects that form the feature. </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="project" type="tns:projectType" /> </xsd:sequence> </xsd:sequence> </xsd:complexType> <xsd:complexType name="projectType"> <xsd:annotation> <xsd:documentation> This node indicates the name of an Eclipse project that will be included in the source for a given feature. </xsd:documentation> </xsd:annotation> <xsd:attribute name="id" type="xsd:ID" use="required"/> </xsd:complexType> <xsd:complexType name="flagsType"> <xsd:annotation> <xsd:documentation>A list of Flags.</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> A Flag determines what to do to source code controlled by a feature. </xsd:documentation> </xsd:annotation> <xsd:attribute name="id" type="xsd:ID" use="required"/> <xsd:attribute name="value" type="xsd:boolean" use="required"/> </xsd:complexType> </xsd:schema>