| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> |
| <xs:element name="ofbiz-component"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="depends-on"/> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="resource-loader"/> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="classpath"/> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="entity-resource"/> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="service-resource"/> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="test-suite"/> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="keystore"/> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="webapp"/> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="container"/> |
| </xs:sequence> |
| <xs:attributeGroup ref="attlist.ofbiz-component"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="attlist.ofbiz-component"> |
| <xs:attribute type="xs:string" name="name" use="required"/> |
| <xs:attribute type="xs:string" name="enabled" use="optional" default="true"/> |
| </xs:attributeGroup> |
| <xs:element name="depends-on"> |
| <xs:complexType> |
| <xs:attributeGroup ref="attlist.depends-on"> |
| <xs:annotation> |
| <xs:documentation> |
| This is yet unimplemented. It's not a trivial implementation because at the moment components are loaded |
| in the order they are found (i.e. alphabetic or creation date). |
| While this feature would require them all to be located first and then reordered and loaded. |
| So, for now, simply follow the README file in hot-deploy root folder. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attributeGroup> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="attlist.depends-on"> |
| <xs:attribute type="xs:string" name="component-name" use="required"/> |
| </xs:attributeGroup> |
| <xs:element name="resource-loader"> |
| <xs:complexType> |
| <xs:attributeGroup ref="attlist.resource-loader"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="attlist.resource-loader"> |
| <xs:attribute type="xs:string" name="name" use="required"/> |
| <xs:attribute name="type" default="component"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="component"/> |
| <xs:enumeration value="file"/> |
| <xs:enumeration value="classpath"/> |
| <xs:enumeration value="url"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="prepend-env"/> |
| <xs:attribute type="xs:string" name="prefix"/> |
| </xs:attributeGroup> |
| <xs:element name="classpath"> |
| <xs:complexType> |
| <xs:attributeGroup ref="attlist.classpath"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="attlist.classpath"> |
| <xs:attribute name="type" use="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="jar"/> |
| <xs:enumeration value="dir"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="location" use="required"/> |
| </xs:attributeGroup> |
| <xs:element name="entity-resource"> |
| <xs:complexType> |
| <xs:attributeGroup ref="attlist.entity-resource"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="attlist.entity-resource"> |
| <xs:attribute name="type" use="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="model"/> |
| <xs:enumeration value="group"/> |
| <xs:enumeration value="eca"/> |
| <xs:enumeration value="data"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="reader-name" use="required"/> |
| <xs:attribute type="xs:string" name="loader" use="required"/> |
| <xs:attribute type="xs:string" name="location" use="required"/> |
| </xs:attributeGroup> |
| <xs:element name="service-resource"> |
| <xs:complexType> |
| <xs:attributeGroup ref="attlist.service-resource"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="attlist.service-resource"> |
| <xs:attribute name="type" use="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="model"/> |
| <xs:enumeration value="group"/> |
| <xs:enumeration value="eca"/> |
| <xs:enumeration value="mca"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="loader" use="required"/> |
| <xs:attribute type="xs:string" name="location" use="required"/> |
| </xs:attributeGroup> |
| <xs:element name="test-suite"> |
| <xs:complexType> |
| <xs:attributeGroup ref="attlist.test-suite"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="attlist.test-suite"> |
| <xs:attribute type="xs:string" name="loader" use="required"/> |
| <xs:attribute type="xs:string" name="location" use="required"/> |
| </xs:attributeGroup> |
| <xs:element name="keystore"> |
| <xs:complexType> |
| <xs:attributeGroup ref="attlist.keystore"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="attlist.keystore"> |
| <xs:attribute name="name" type="xs:string" use="required"/> |
| <xs:attribute name="type" use="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="jks"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="password" type="xs:string" use="required"/> |
| <xs:attribute name="is-truststore" use="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true"/> |
| <xs:enumeration value="false"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="is-certstore" use="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true"/> |
| <xs:enumeration value="false"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="loader" use="required"/> |
| <xs:attribute type="xs:string" name="location" use="required"/> |
| </xs:attributeGroup> |
| <xs:element name="webapp"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="virtual-host"/> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="init-param"/> |
| </xs:sequence> |
| <xs:attributeGroup ref="attlist.webapp"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="attlist.webapp"> |
| <xs:attribute type="xs:string" name="name" use="required"/> |
| <xs:attribute type="xs:string" name="title"> |
| <xs:annotation> |
| <xs:documentation> |
| This value is shown in the application menu, when no uiLabelMap is available. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="description"/> |
| <xs:attribute name="menu-name" use="optional" default="main"> |
| <xs:annotation> |
| <xs:documentation> |
| This value determines in which application menu the application is shown. |
| For instance "secondary" is used by plugins and webtools webapps to put their menu-names in the second menu. |
| Note that not all OOTB themes use this "secondary" option, for instance Flat-Grey does not. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="position"/> |
| <xs:attribute type="xs:string" name="server" use="required"/> |
| <xs:attribute type="xs:string" name="location" use="required"/> |
| <xs:attribute type="xs:string" name="mount-point"/> |
| <xs:attribute type="xs:string" name="access-permission"> |
| <xs:annotation> |
| <xs:documentation> |
| A user must have this permission to access the application. |
| When omitted, the application can be used by anyone. This |
| attribute takes precedence over the base-permission attribute - |
| if both attributes are not empty, this attribute will be used. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="base-permission"> |
| <xs:annotation> |
| <xs:documentation> |
| Deprecated - use access-permission. |
| A user must have ALL of the permissions in the list to access the application. |
| When set to "NONE", the application can be used by anyone. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="privileged" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true"/> |
| <xs:enumeration value="false"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="app-bar-display" default="true"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true"/> |
| <xs:enumeration value="false"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:element name="virtual-host"> |
| <xs:complexType> |
| <xs:attributeGroup ref="attlist.virtual-host"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="attlist.virtual-host"> |
| <xs:attribute type="xs:string" name="host-name" use="required"/> |
| </xs:attributeGroup> |
| <xs:element name="init-param"> |
| <xs:complexType> |
| <xs:attributeGroup ref="attlist.init-param"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="attlist.init-param"> |
| <xs:attribute type="xs:string" name="name" use="required"/> |
| <xs:attribute type="xs:string" name="value" use="required"/> |
| </xs:attributeGroup> |
| |
| <xs:element name="container"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="property"/> |
| </xs:sequence> |
| <xs:attributeGroup ref="attlist.container"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="attlist.container"> |
| <xs:attribute type="xs:string" name="name" use="required"/> |
| <xs:attribute type="xs:string" name="class" use="required"/> |
| <xs:attribute type="xs:string" name="loaders"/> |
| </xs:attributeGroup> |
| <xs:element name="property"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="property"/> |
| <xs:element minOccurs="0" ref="property-value"/> |
| </xs:sequence> |
| <xs:attributeGroup ref="attlist.property"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="attlist.property"> |
| <xs:attribute type="xs:string" name="name" use="required"/> |
| <xs:attribute type="xs:string" name="value"/> |
| </xs:attributeGroup> |
| <xs:element name="property-value" type="any"/> |
| <xs:complexType name="any" mixed="true"> |
| <xs:sequence> |
| <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:schema> |