Author: mircea.markus
Date: 2008-07-01 11:24:27 -0400 (Tue, 01 Jul 2008)
New Revision: 6145
Added:
core/trunk/src/main/resources/jbosscache-config.xsd
Modified:
core/trunk/src/main/resources/all-elements-file-3.x.xml
Log:
first versio of XSD schema
Modified: core/trunk/src/main/resources/all-elements-file-3.x.xml
===================================================================
--- core/trunk/src/main/resources/all-elements-file-3.x.xml 2008-07-01 14:27:02 UTC (rev
6144)
+++ core/trunk/src/main/resources/all-elements-file-3.x.xml 2008-07-01 15:24:27 UTC (rev
6145)
@@ -3,7 +3,7 @@
<jbosscache>
<locking isolationLevel="REPEATABLE_READ"
lockParentForChildInsertRemove="true" lockAcquisitionTimeout="10234"
- nodeLockingScheme="mvcc"allowWriteSkew="true"
concurrencyLevel="21"/>
+ nodeLockingScheme="mvcc" allowWriteSkew="true"
concurrencyLevel="21"/>
<transaction
transactionManagerLookupClass="org.jboss.cache.transaction.GenericTransactionManagerLookup"
syncRollbackPhase="true" syncCommitPhase="true"/>
Added: core/trunk/src/main/resources/jbosscache-config.xsd
===================================================================
--- core/trunk/src/main/resources/jbosscache-config.xsd (rev 0)
+++ core/trunk/src/main/resources/jbosscache-config.xsd 2008-07-01 15:24:27 UTC (rev
6145)
@@ -0,0 +1,362 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema attributeFormDefault="unqualified"
elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:element name="jbosscache" type="jbosscacheType"/>
+ <xs:complexType name="FRAG2Type">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute type="xs:string" name="frag_size"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="dataGravitationType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute type="xs:string" name="auto"/>
+ <xs:attribute type="xs:string" name="removeOnFind"/>
+ <xs:attribute type="xs:string"
name="searchBackupTrees"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="pbcast.STREAMING_STATE_TRANSFERType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute type="xs:string"
name="use_reading_thread"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="positionType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute type="xs:string" name="first"
use="optional"/>
+ <xs:attribute type="xs:string" name="last"
use="optional"/>
+ <xs:attribute type="xs:string" name="index"
use="optional"/>
+ <xs:attribute type="xs:string" name="before"
use="optional"/>
+ <xs:attribute type="xs:string" name="after"
use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="rootType">
+ <xs:sequence>
+ <xs:element type="attributeType" name="attribute"
maxOccurs="unbounded" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="evictionType">
+ <xs:sequence>
+ <xs:element type="defaultsType" name="defaults"/>
+ <xs:element type="rootType" name="root"/>
+ <xs:element type="regionType" name="region"
maxOccurs="unbounded" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute type="xs:string" name="wakeUpInterval"/>
+ </xs:complexType>
+ <xs:complexType name="lockingType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute type="xs:string" name="isolationLevel"/>
+ <xs:attribute type="xs:string"
name="lockParentForChildInsertRemove"/>
+ <xs:attribute type="xs:string"
name="lockAcquisitionTimeout"/>
+ <xs:attribute type="xs:string"
name="nodeLockingScheme"/>
+ <xs:attribute type="xs:string" name="allowWriteSkew"/>
+ <xs:attribute type="xs:string"
name="concurrencyLevel"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="jmxStatisticsType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute type="xs:string" name="enabled"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="defaultsType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute type="xs:string" name="policyClass"/>
+ <xs:attribute type="xs:string" name="eventQueueSize"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="transactionType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute type="xs:string"
name="transactionManagerLookupClass"/>
+ <xs:attribute type="xs:string"
name="syncRollbackPhase"/>
+ <xs:attribute type="xs:string"
name="syncCommitPhase"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="pbcast.FLUSHType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute type="xs:string" name="timeout"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="pbcast.STABLEType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute type="xs:string"
name="stability_delay"/>
+ <xs:attribute type="xs:string"
name="desired_avg_gossip"/>
+ <xs:attribute type="xs:string" name="max_bytes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="transportType">
+ <xs:sequence>
+ <xs:element type="jgroupsConfigType"
name="jgroupsConfig"/>
+ </xs:sequence>
+ <xs:attribute type="xs:string" name="clusterName"/>
+ <xs:attribute type="xs:string" name="multiplexerStack"/>
+ </xs:complexType>
+ <xs:complexType name="regionType">
+ <xs:sequence>
+ <xs:element type="attributeType" name="attribute"
maxOccurs="unbounded" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute type="xs:string" name="name"
use="optional"/>
+ <xs:attribute type="xs:string" name="policyClass"
use="optional"/>
+ <xs:attribute type="xs:string" name="eventQueueSize"
use="optional"/>
+ </xs:complexType>
+ <xs:complexType name="jgroupsConfigType">
+ <xs:sequence>
+ <xs:element type="PINGType" name="PING"/>
+ <xs:element type="MERGE2Type" name="MERGE2"/>
+ <xs:element type="xs:string" name="FD_SOCK"/>
+ <xs:element type="FDType" name="FD"/>
+ <xs:element type="VERIFY_SUSPECTType"
name="VERIFY_SUSPECT"/>
+ <xs:element type="pbcast.NAKACKType"
name="pbcast.NAKACK"/>
+ <xs:element type="UNICASTType" name="UNICAST"/>
+ <xs:element type="pbcast.STABLEType"
name="pbcast.STABLE"/>
+ <xs:element type="pbcast.GMSType" name="pbcast.GMS"/>
+ <xs:element type="FRAG2Type" name="FRAG2"/>
+ <xs:element type="pbcast.STREAMING_STATE_TRANSFERType"
name="pbcast.STREAMING_STATE_TRANSFER"/>
+ <xs:element type="pbcast.FLUSHType"
name="pbcast.FLUSH"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="shutdownType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute type="xs:string" name="hookBehavior"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="asyncType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute type="xs:string" name="useReplQueue"/>
+ <xs:attribute type="xs:string"
name="replQueueInterval"/>
+ <xs:attribute type="xs:string"
name="replQueueMaxElements"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="serializationType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute type="xs:string"
name="objectInputStreamPoolSize"/>
+ <xs:attribute type="xs:string"
name="objectOutputStreamPoolSize"/>
+ <xs:attribute type="xs:string" name="version"/>
+ <xs:attribute type="xs:string"
name="marshallerClass"/>
+ <xs:attribute type="xs:string"
name="useLazyDeserialization"/>
+ <xs:attribute type="xs:string"
name="useRegionBasedMarshalling"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="customInterceptorsType">
+ <xs:sequence>
+ <xs:element type="interceptorType" name="interceptor"
maxOccurs="unbounded" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="startupType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute type="xs:string"
name="fetchInMemoryState"/>
+ <xs:attribute type="xs:string"
name="stateRetrievalTimeout"/>
+ <xs:attribute type="xs:string"
name="inactiveOnStartup"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="pbcast.GMSType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute type="xs:string"
name="print_local_addr"/>
+ <xs:attribute type="xs:string" name="join_timeout"/>
+ <xs:attribute type="xs:string" name="shun"/>
+ <xs:attribute type="xs:string" name="view_bundling"/>
+ <xs:attribute type="xs:string"
name="view_ack_collection_timeout"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="UNICASTType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute type="xs:string" name="timeout"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="jbosscacheType">
+ <xs:sequence>
+ <xs:element type="lockingType" name="locking"/>
+ <xs:element type="transactionType" name="transaction"/>
+ <xs:element type="serializationType"
name="serialization">
+ <xs:annotation>
+ <xs:documentation>serialization related configuration, used for
replication and cache loading</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element type="replicationType" name="replication">
+ <xs:annotation>
+ <xs:documentation>either replication or invalidation tags will be
present, not both</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element type="invalidationType" name="invalidation">
+ <xs:annotation>
+ <xs:documentation>either replication or invalidation tags will be
present, not both</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element type="startupType" name="startup"/>
+ <xs:element type="shutdownType" name="shutdown"/>
+ <xs:element type="jmxStatisticsType"
name="jmxStatistics"/>
+ <xs:element type="transportType" name="transport"/>
+ <xs:element type="evictionType" name="eviction"/>
+ <xs:element type="loadersType" name="loaders"/>
+ <xs:element type="customInterceptorsType"
name="customInterceptors">
+ <xs:annotation>
+ <xs:documentation>this is new behavior added within 3.x only. it support
configuring custom interceptors through configurations</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="attributeType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute type="xs:string" name="name"
use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="PINGType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute type="xs:string" name="timeout"/>
+ <xs:attribute type="xs:string"
name="num_initial_members"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="nodeType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute type="xs:string" name="fqn"
use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="invalidationType">
+ <xs:sequence>
+ <xs:element type="asyncType" name="async">
+ <xs:annotation>
+ <xs:documentation>either sync or async will be present, not
both</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element type="syncType" name="sync"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="loaderType">
+ <xs:sequence>
+ <xs:element type="xs:string" name="properties"/>
+ <xs:element type="singletonStoreType"
name="singletonStore"/>
+ </xs:sequence>
+ <xs:attribute type="xs:string" name="class"/>
+ <xs:attribute type="xs:string" name="async"/>
+ <xs:attribute type="xs:string"
name="fetchPersistentState"/>
+ <xs:attribute type="xs:string"
name="ignoreModifications"/>
+ <xs:attribute type="xs:string" name="purgeOnStartup"/>
+ </xs:complexType>
+ <xs:complexType name="replicationType">
+ <xs:sequence>
+ <xs:element type="syncType" name="sync"/>
+ <xs:element type="buddyType" name="buddy"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="interceptorType">
+ <xs:sequence>
+ <xs:element type="xs:string" name="properties"
minOccurs="0"/>
+ <xs:element type="positionType" name="position"/>
+ </xs:sequence>
+ <xs:attribute type="xs:string" name="class"
use="optional"/>
+ </xs:complexType>
+ <xs:complexType name="buddyType">
+ <xs:sequence>
+ <xs:element type="dataGravitationType"
name="dataGravitation"/>
+ <xs:element type="locatorType" name="locator"/>
+ </xs:sequence>
+ <xs:attribute type="xs:string" name="enabled"/>
+ <xs:attribute type="xs:string" name="poolName"/>
+ <xs:attribute type="xs:string"
name="communicationTimeout"/>
+ </xs:complexType>
+ <xs:complexType name="locatorType">
+ <xs:sequence>
+ <xs:element type="xs:string" name="properties"/>
+ </xs:sequence>
+ <xs:attribute type="xs:string" name="class"/>
+ </xs:complexType>
+ <xs:complexType name="pbcast.NAKACKType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute type="xs:string" name="use_mcast_xmit"/>
+ <xs:attribute type="xs:string" name="gc_lag"/>
+ <xs:attribute type="xs:string"
name="retransmit_timeout"/>
+ <xs:attribute type="xs:string"
name="discard_delivered_msgs"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="preloadType">
+ <xs:sequence>
+ <xs:element type="nodeType" name="node"
maxOccurs="unbounded" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="MERGE2Type">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute type="xs:string" name="max_interval"/>
+ <xs:attribute type="xs:string" name="min_interval"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="VERIFY_SUSPECTType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute type="xs:string" name="timeout"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="syncType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute type="xs:string" name="replTimeout"
use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="FDType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute type="xs:string" name="timeout"/>
+ <xs:attribute type="xs:string" name="max_tries"/>
+ <xs:attribute type="xs:string" name="shun"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="singletonStoreType">
+ <xs:sequence>
+ <xs:element type="xs:string" name="properties"/>
+ </xs:sequence>
+ <xs:attribute type="xs:string" name="enabled"/>
+ <xs:attribute type="xs:string" name="class"/>
+ </xs:complexType>
+ <xs:complexType name="loadersType">
+ <xs:sequence>
+ <xs:element type="preloadType" name="preload"/>
+ <xs:element type="loaderType" name="loader">
+ <xs:annotation>
+ <xs:documentation>we can now have multiple cache loaders, which get
chained</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute type="xs:string" name="passivation"/>
+ <xs:attribute type="xs:string" name="shared"/>
+ </xs:complexType>
+</xs:schema>
\ No newline at end of file