/framework/service/dtd/service-config.xsd
https://bitbucket.org/chatcharin/ofbiz · XML Schema · 270 lines · 267 code · 3 blank · 0 comment · 0 complexity · 8245d90ee06d1d71266612d75ed86b6b MD5 · raw file
- <?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">
- <!-- ====================== Root Element ======================= -->
- <xs:element name="service-config">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="1" maxOccurs="unbounded" ref="service-engine"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="service-engine">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="authorization"/>
- <xs:element ref="thread-pool"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="engine"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="service-location"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="notification-group"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="startup-service"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="resource-loader"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="global-services"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="service-groups"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="service-ecas"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="jms-service"/>
- </xs:sequence>
- <xs:attributeGroup ref="attlist.service-engine"/>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="attlist.service-engine">
- <xs:attribute type="xs:string" name="name" use="required"/>
- </xs:attributeGroup>
- <xs:element name="authorization">
- <xs:complexType>
- <xs:attributeGroup ref="attlist.authorization"/>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="attlist.authorization">
- <xs:attribute type="xs:string" name="service-name" use="required"/>
- </xs:attributeGroup>
- <xs:element name="thread-pool">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="run-from-pool"/>
- </xs:sequence>
- <xs:attributeGroup ref="attlist.thread-pool"/>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="attlist.thread-pool">
- <xs:attribute type="xs:string" name="send-to-pool" use="required"/>
- <xs:attribute type="xs:nonNegativeInteger" name="purge-job-days" default="30"/>
- <xs:attribute type="xs:nonNegativeInteger" name="failed-retry-min" default="30"/>
- <xs:attribute type="xs:nonNegativeInteger" name="ttl" use="required"/>
- <xs:attribute type="xs:nonNegativeInteger" name="wait-millis" use="required"/>
- <xs:attribute type="xs:nonNegativeInteger" name="jobs" use="required"/>
- <xs:attribute type="xs:nonNegativeInteger" name="min-threads" use="required"/>
- <xs:attribute type="xs:nonNegativeInteger" name="max-threads" use="required"/>
- <xs:attribute name="poll-enabled" default="true">
- <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:nonNegativeInteger" name="poll-db-millis" use="required"/>
- </xs:attributeGroup>
- <xs:element name="run-from-pool">
- <xs:complexType>
- <xs:attributeGroup ref="attlist.run-from-pool"/>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="attlist.run-from-pool">
- <xs:attribute type="xs:string" name="name" use="required"/>
- </xs:attributeGroup>
- <xs:element name="engine">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="parameter"/>
- </xs:sequence>
- <xs:attributeGroup ref="attlist.engine"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="parameter">
- <xs:annotation>
- <xs:documentation>
- Technical parameters use by engine
- </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:attributeGroup ref="attlist.parameter"/>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="attlist.parameter">
- <xs:attribute type="xs:string" name="name" use="required"/>
- <xs:attribute type="xs:string" name="value" use="required"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="attlist.engine">
- <xs:attribute type="xs:string" name="name" use="required"/>
- <xs:attribute type="xs:string" name="class" use="required"/>
- </xs:attributeGroup>
- <xs:element name="startup-service">
- <xs:complexType>
- <xs:attributeGroup ref="attlist.startup-service"/>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="attlist.startup-service">
- <xs:attribute type="xs:string" name="name" use="required"/>
- <xs:attribute type="xs:string" name="runtime-data-id"/>
- <xs:attribute type="xs:nonNegativeInteger" name="runtime-delay" default="0"/>
- <xs:attribute type="xs:string" name="run-in-pool"/>
- </xs:attributeGroup>
- <xs:element name="service-location">
- <xs:complexType>
- <xs:attributeGroup ref="attlist.service-location"/>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="attlist.service-location">
- <xs:attribute type="xs:string" name="name" use="required"/>
- <xs:attribute type="xs:string" name="location" 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 type="xs:string" name="class" use="required"/>
- <xs:attribute type="xs:string" name="prepend-env"/>
- <xs:attribute type="xs:string" name="prefix"/>
- </xs:attributeGroup>
- <xs:element name="global-services">
- <xs:complexType>
- <xs:attributeGroup ref="attlist.global-services"/>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="attlist.global-services">
- <xs:attribute type="xs:string" name="loader" use="required"/>
- <xs:attribute type="xs:string" name="location" use="required"/>
- </xs:attributeGroup>
- <xs:element name="service-groups">
- <xs:complexType>
- <xs:attributeGroup ref="attlist.service-groups"/>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="attlist.service-groups">
- <xs:attribute type="xs:string" name="loader" use="required"/>
- <xs:attribute type="xs:string" name="location" use="required"/>
- </xs:attributeGroup>
- <xs:element name="service-ecas">
- <xs:complexType>
- <xs:attributeGroup ref="attlist.service-ecas"/>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="attlist.service-ecas">
- <xs:attribute type="xs:string" name="loader" use="required"/>
- <xs:attribute type="xs:string" name="location" use="required"/>
- </xs:attributeGroup>
- <xs:element name="jms-service">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="server"/>
- </xs:sequence>
- <xs:attributeGroup ref="attlist.jms-service"/>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="attlist.jms-service">
- <xs:attribute type="xs:string" name="name" use="required"/>
- <xs:attribute name="send-mode" default="none">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="none"/>
- <xs:enumeration value="all"/>
- <xs:enumeration value="first-available"/>
- <xs:enumeration value="random"/>
- <xs:enumeration value="round-robin"/>
- <xs:enumeration value="least-load"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:attributeGroup>
- <xs:element name="server">
- <xs:complexType>
- <xs:attributeGroup ref="attlist.server"/>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="attlist.server">
- <xs:attribute type="xs:string" name="jndi-server-name" use="required"/>
- <xs:attribute type="xs:string" name="jndi-name" use="required"/>
- <xs:attribute type="xs:string" name="topic-queue" use="required"/>
- <xs:attribute name="type" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="topic"/>
- <xs:enumeration value="queue"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute type="xs:string" name="username"/>
- <xs:attribute type="xs:string" name="password"/>
- <xs:attribute type="xs:string" name="client-id"/>
- <xs:attribute name="listen" 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 type="xs:string" name="listener-class"/>
- </xs:attributeGroup>
- <xs:element name="notification-group">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1" ref="notification"/>
- <xs:element minOccurs="2" maxOccurs="unbounded" ref="notify"/>
- </xs:sequence>
- <xs:attributeGroup ref="attlist.notification-group"/>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="attlist.notification-group">
- <xs:attribute type="xs:string" name="name"/>
- </xs:attributeGroup>
- <xs:element name="notification">
- <xs:complexType>
- <xs:attributeGroup ref="attlist.notification"/>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="attlist.notification">
- <xs:attribute type="xs:string" name="subject" use="required"/>
- <xs:attribute type="xs:string" name="screen" use="required"/>
- <xs:attribute type="xs:string" name="service" default="sendMailFromScreen"/>
- </xs:attributeGroup>
- <xs:element name="notify">
- <xs:complexType mixed="true">
- <xs:attributeGroup ref="attlist.notify"/>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="attlist.notify">
- <xs:attribute name="type" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="to"/>
- <xs:enumeration value="cc"/>
- <xs:enumeration value="bcc"/>
- <xs:enumeration value="from"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:attributeGroup>
- </xs:schema>