Created
September 14, 2014 03:32
-
-
Save sleepiecappy/0cfd92e4dd3c1df0b740 to your computer and use it in GitHub Desktop.
ehcache
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="1.7"> | |
<xs:element name="ehcache"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element maxOccurs="1" minOccurs="0" ref="diskStore"/> | |
<xs:element maxOccurs="1" minOccurs="0" ref="sizeOfPolicy"/> | |
<xs:element maxOccurs="1" minOccurs="0" ref="transactionManagerLookup"/> | |
<xs:element maxOccurs="1" minOccurs="0" ref="cacheManagerEventListenerFactory"/> | |
<xs:element maxOccurs="1" minOccurs="0" ref="managementRESTService"/> | |
<xs:element maxOccurs="unbounded" minOccurs="0" ref="cacheManagerPeerProviderFactory"/> | |
<xs:element maxOccurs="unbounded" minOccurs="0" ref="cacheManagerPeerListenerFactory"/> | |
<xs:element maxOccurs="1" minOccurs="0" ref="terracottaConfig"/> | |
<xs:element maxOccurs="1" minOccurs="0" ref="defaultCache"/> | |
<xs:element maxOccurs="unbounded" minOccurs="0" ref="cache"/> | |
</xs:sequence> | |
<xs:attribute name="name" use="optional"/> | |
<xs:attribute default="true" name="updateCheck" type="xs:boolean" use="optional"/> | |
<xs:attribute default="autodetect" name="monitoring" type="monitoringType" use="optional"/> | |
<xs:attribute default="true" name="dynamicConfig" type="xs:boolean" use="optional"/> | |
<xs:attribute default="15" name="defaultTransactionTimeoutInSeconds" type="xs:integer" use="optional"/> | |
<xs:attribute default="0" name="maxBytesLocalHeap" type="memoryUnitOrPercentage" use="optional"/> | |
<xs:attribute default="0" name="maxBytesLocalOffHeap" type="memoryUnit" use="optional"/> | |
<xs:attribute default="0" name="maxBytesLocalDisk" type="memoryUnit" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="managementRESTService"> | |
<xs:complexType> | |
<xs:attribute name="enabled" type="xs:boolean" use="optional"/> | |
<xs:attribute name="bind" use="optional"/> | |
<xs:attribute name="securityServiceLocation" use="optional"/> | |
<xs:attribute name="securityServiceTimeout" use="optional" type="xs:integer"/> | |
<xs:attribute name="sslEnabled" use="optional" type="xs:boolean"/> | |
<xs:attribute name="needClientAuth" use="optional" type="xs:boolean"/> | |
<xs:attribute name="sampleHistorySize" use="optional" type="xs:integer"/> | |
<xs:attribute name="sampleIntervalSeconds" use="optional" type="xs:integer"/> | |
<xs:attribute name="sampleSearchIntervalSeconds" use="optional" type="xs:integer"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="diskStore"> | |
<xs:complexType> | |
<xs:attribute name="path" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="transactionManagerLookup"> | |
<xs:complexType> | |
<xs:attribute name="class" use="required"/> | |
<xs:attribute name="properties" use="optional"/> | |
<xs:attribute name="propertySeparator" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="cacheManagerEventListenerFactory"> | |
<xs:complexType> | |
<xs:attribute name="class" use="required"/> | |
<xs:attribute name="properties" use="optional"/> | |
<xs:attribute name="propertySeparator" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="cacheManagerPeerProviderFactory"> | |
<xs:complexType> | |
<xs:attribute name="class" use="required"/> | |
<xs:attribute name="properties" use="optional"/> | |
<xs:attribute name="propertySeparator" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="cacheManagerPeerListenerFactory"> | |
<xs:complexType> | |
<xs:attribute name="class" use="required"/> | |
<xs:attribute name="properties" use="optional"/> | |
<xs:attribute name="propertySeparator" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="terracottaConfig"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element maxOccurs="1" minOccurs="0" name="tc-config"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:any maxOccurs="unbounded" minOccurs="0" processContents="skip"/> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
<xs:attribute default="localhost:9510" name="url" use="optional"/> | |
<xs:attribute name="rejoin" type="xs:boolean" use="optional" default="false"/> | |
<xs:attribute name="wanEnabledTSA" type="xs:boolean" use="optional" default="false"/> | |
</xs:complexType> | |
</xs:element> | |
<!-- add clone support for addition of cacheExceptionHandler. Important! --> | |
<xs:element name="defaultCache"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="cacheEventListenerFactory"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="cacheExtensionFactory"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="cacheLoaderFactory"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="cacheDecoratorFactory"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="bootstrapCacheLoaderFactory"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="cacheExceptionHandlerFactory"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="pinning"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="terracotta"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="cacheWriter"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="copyStrategy"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="elementValueComparator"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="sizeOfPolicy"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="persistence"/> | |
</xs:sequence> | |
<xs:attribute name="diskExpiryThreadIntervalSeconds" type="xs:integer" use="optional"/> | |
<xs:attribute name="diskSpoolBufferSizeMB" type="xs:integer" use="optional"/> | |
<xs:attribute name="diskPersistent" type="xs:boolean" use="optional"/> | |
<xs:attribute name="diskAccessStripes" type="xs:integer" use="optional" default="1"/> | |
<xs:attribute name="eternal" type="xs:boolean" use="optional" default="false"/> | |
<xs:attribute name="maxElementsInMemory" type="xs:nonNegativeInteger" use="optional"/> | |
<xs:attribute name="maxEntriesLocalHeap" type="xs:nonNegativeInteger" use="optional"/> | |
<xs:attribute name="clearOnFlush" type="xs:boolean" use="optional"/> | |
<xs:attribute name="memoryStoreEvictionPolicy" type="xs:string" use="optional"/> | |
<xs:attribute name="overflowToDisk" type="xs:boolean" use="optional"/> | |
<xs:attribute name="timeToIdleSeconds" type="xs:nonNegativeInteger" use="optional"/> | |
<xs:attribute name="timeToLiveSeconds" type="xs:nonNegativeInteger" use="optional"/> | |
<xs:attribute name="maxElementsOnDisk" type="xs:nonNegativeInteger" use="optional"/> | |
<xs:attribute name="maxEntriesLocalDisk" type="xs:nonNegativeInteger" use="optional"/> | |
<xs:attribute name="transactionalMode" type="transactionalMode" use="optional" default="off"/> | |
<xs:attribute name="statistics" type="xs:boolean" use="optional" default="false"/> | |
<xs:attribute name="copyOnRead" type="xs:boolean" use="optional" default="false"/> | |
<xs:attribute name="copyOnWrite" type="xs:boolean" use="optional" default="false"/> | |
<xs:attribute name="cacheLoaderTimeoutMillis" type="xs:integer" use="optional" default="0"/> | |
<xs:attribute name="overflowToOffHeap" type="xs:boolean" use="optional" default="false"/> | |
<xs:attribute name="maxMemoryOffHeap" type="xs:string" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="cache"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="cacheEventListenerFactory"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="cacheExtensionFactory"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="cacheLoaderFactory"/> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="cacheDecoratorFactory"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="bootstrapCacheLoaderFactory"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="cacheExceptionHandlerFactory"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="pinning"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="terracotta"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="cacheWriter"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="copyStrategy"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="searchable"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="elementValueComparator"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="sizeOfPolicy"/> | |
<xs:element minOccurs="0" maxOccurs="1" ref="persistence"/> | |
</xs:sequence> | |
<xs:attribute name="diskExpiryThreadIntervalSeconds" type="xs:integer" use="optional"/> | |
<xs:attribute name="diskSpoolBufferSizeMB" type="xs:integer" use="optional"/> | |
<xs:attribute name="diskPersistent" type="xs:boolean" use="optional"/> | |
<xs:attribute name="diskAccessStripes" type="xs:integer" use="optional" default="1"/> | |
<xs:attribute name="eternal" type="xs:boolean" use="optional" default="false"/> | |
<xs:attribute name="maxElementsInMemory" type="xs:nonNegativeInteger" use="optional"/> | |
<xs:attribute name="maxEntriesLocalHeap" type="xs:nonNegativeInteger" use="optional"/> | |
<xs:attribute name="memoryStoreEvictionPolicy" type="xs:string" use="optional"/> | |
<xs:attribute name="clearOnFlush" type="xs:boolean" use="optional"/> | |
<xs:attribute name="name" type="xs:string" use="required"/> | |
<xs:attribute name="overflowToDisk" type="xs:boolean" use="optional"/> | |
<xs:attribute name="timeToIdleSeconds" type="xs:nonNegativeInteger" use="optional"/> | |
<xs:attribute name="timeToLiveSeconds" type="xs:nonNegativeInteger" use="optional"/> | |
<xs:attribute name="maxElementsOnDisk" type="xs:nonNegativeInteger" use="optional"/> | |
<xs:attribute name="maxEntriesLocalDisk" type="xs:nonNegativeInteger" use="optional"/> | |
<xs:attribute name="maxEntriesInCache" type="xs:nonNegativeInteger" use="optional"/> | |
<xs:attribute name="transactionalMode" type="transactionalMode" use="optional" default="off"/> | |
<xs:attribute name="statistics" type="xs:boolean" use="optional" default="false"/> | |
<xs:attribute name="copyOnRead" type="xs:boolean" use="optional" default="false"/> | |
<xs:attribute name="copyOnWrite" type="xs:boolean" use="optional" default="false"/> | |
<xs:attribute name="logging" type="xs:boolean" use="optional" default="false"/> | |
<xs:attribute name="cacheLoaderTimeoutMillis" type="xs:integer" use="optional" default="0"/> | |
<xs:attribute name="overflowToOffHeap" type="xs:boolean" use="optional" default="false"/> | |
<xs:attribute name="maxMemoryOffHeap" type="xs:string" use="optional"/> | |
<xs:attribute default="0" name="maxBytesLocalHeap" type="memoryUnitOrPercentage" use="optional"/> | |
<xs:attribute default="0" name="maxBytesLocalOffHeap" type="memoryUnitOrPercentage" use="optional"/> | |
<xs:attribute default="0" name="maxBytesLocalDisk" type="memoryUnitOrPercentage" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="cacheEventListenerFactory"> | |
<xs:complexType> | |
<xs:attribute name="class" use="required"/> | |
<xs:attribute name="properties" use="optional"/> | |
<xs:attribute name="propertySeparator" use="optional"/> | |
<xs:attribute name="listenFor" use="optional" type="notificationScope" default="all"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="bootstrapCacheLoaderFactory"> | |
<xs:complexType> | |
<xs:attribute name="class" use="required"/> | |
<xs:attribute name="properties" use="optional"/> | |
<xs:attribute name="propertySeparator" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="cacheExtensionFactory"> | |
<xs:complexType> | |
<xs:attribute name="class" use="required"/> | |
<xs:attribute name="properties" use="optional"/> | |
<xs:attribute name="propertySeparator" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="cacheExceptionHandlerFactory"> | |
<xs:complexType> | |
<xs:attribute name="class" use="required"/> | |
<xs:attribute name="properties" use="optional"/> | |
<xs:attribute name="propertySeparator" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="cacheLoaderFactory"> | |
<xs:complexType> | |
<xs:attribute name="class" use="required"/> | |
<xs:attribute name="properties" use="optional"/> | |
<xs:attribute name="propertySeparator" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="cacheDecoratorFactory"> | |
<xs:complexType> | |
<xs:attribute name="class" use="required"/> | |
<xs:attribute name="properties" use="optional"/> | |
<xs:attribute name="propertySeparator" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="searchAttribute"> | |
<xs:complexType> | |
<xs:attribute name="name" use="required" type="xs:string"/> | |
<xs:attribute name="expression" type="xs:string"/> | |
<xs:attribute name="class" type="xs:string"/> | |
<xs:attribute name="type" type="xs:string" use="optional"/> | |
<xs:attribute name="properties" use="optional"/> | |
<xs:attribute name="propertySeparator" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="searchable"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" maxOccurs="unbounded" ref="searchAttribute"/> | |
</xs:sequence> | |
<xs:attribute name="keys" use="optional" type="xs:boolean" default="true"/> | |
<xs:attribute name="values" use="optional" type="xs:boolean" default="true"/> | |
<xs:attribute name="allowDynamicIndexing" use="optional" type="xs:boolean" default="false"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="pinning"> | |
<xs:complexType> | |
<xs:attribute name="store" use="required" type="pinningStoreType"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="terracotta"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" maxOccurs="1" ref="nonstop"/> | |
</xs:sequence> | |
<xs:attribute name="clustered" use="optional" type="xs:boolean" default="true"/> | |
<xs:attribute name="coherentReads" use="optional" type="xs:boolean" default="true"/> | |
<xs:attribute name="localKeyCache" use="optional" type="xs:boolean" default="false"/> | |
<xs:attribute name="localKeyCacheSize" use="optional" type="xs:positiveInteger" default="300000"/> | |
<xs:attribute name="orphanEviction" use="optional" type="xs:boolean" default="true"/> | |
<xs:attribute name="orphanEvictionPeriod" use="optional" type="xs:positiveInteger" default="4"/> | |
<xs:attribute name="copyOnRead" use="optional" type="xs:boolean" default="false"/> | |
<xs:attribute name="coherent" use="optional" type="xs:boolean" default="false"/> | |
<xs:attribute name="consistency" use="optional" type="consistencyType" default="eventual"/> | |
<xs:attribute name="synchronousWrites" use="optional" type="xs:boolean" default="false"/> | |
<xs:attribute name="concurrency" use="optional" type="xs:nonNegativeInteger" default="0"/> | |
<xs:attribute name="localCacheEnabled" use="optional" type="xs:boolean" default="true"/> | |
<xs:attribute name="compressionEnabled" use="optional" type="xs:boolean" default="false"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:simpleType name="consistencyType"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="strong"/> | |
<xs:enumeration value="eventual"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:element name="nonstop"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" maxOccurs="1" ref="timeoutBehavior"/> | |
</xs:sequence> | |
<xs:attribute name="enabled" use="optional" type="xs:boolean" default="true"/> | |
<xs:attribute name="immediateTimeout" use="optional" type="xs:boolean" default="false"/> | |
<xs:attribute name="timeoutMillis" use="optional" type="xs:positiveInteger" default="30000"/> | |
<xs:attribute name="searchTimeoutMillis" use="optional" type="xs:positiveInteger" default="30000"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="timeoutBehavior"> | |
<xs:complexType> | |
<xs:attribute name="type" use="optional" type="timeoutBehaviorType" default="exception"/> | |
<xs:attribute name="properties" use="optional" default=""/> | |
<xs:attribute name="propertySeparator" use="optional" default=","/> | |
</xs:complexType> | |
</xs:element> | |
<xs:simpleType name="timeoutBehaviorType"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="noop"/> | |
<xs:enumeration value="exception"/> | |
<xs:enumeration value="localReads"/> | |
<xs:enumeration value="localReadsAndExceptionOnWrite"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:simpleType name="monitoringType"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="autodetect"/> | |
<xs:enumeration value="on"/> | |
<xs:enumeration value="off"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:simpleType name="pinningStoreType"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="localMemory"/> | |
<xs:enumeration value="inCache"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:simpleType name="terracottaCacheValueType"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="serialization"/> | |
<xs:enumeration value="identity"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:simpleType name="transactionalMode"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="off"/> | |
<xs:enumeration value="xa_strict"/> | |
<xs:enumeration value="xa"/> | |
<xs:enumeration value="local"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:element name="cacheWriter"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element minOccurs="0" maxOccurs="1" ref="cacheWriterFactory"/> | |
</xs:sequence> | |
<xs:attribute name="writeMode" use="optional" type="writeModeType" default="write-through"/> | |
<xs:attribute name="notifyListenersOnException" use="optional" type="xs:boolean" default="false"/> | |
<xs:attribute name="minWriteDelay" use="optional" type="xs:nonNegativeInteger" default="1"/> | |
<xs:attribute name="maxWriteDelay" use="optional" type="xs:nonNegativeInteger" default="1"/> | |
<xs:attribute name="rateLimitPerSecond" use="optional" type="xs:nonNegativeInteger" default="0"/> | |
<xs:attribute name="writeCoalescing" use="optional" type="xs:boolean" default="false"/> | |
<xs:attribute name="writeBatching" use="optional" type="xs:boolean" default="false"/> | |
<xs:attribute name="writeBatchSize" use="optional" type="xs:positiveInteger" default="1"/> | |
<xs:attribute name="retryAttempts" use="optional" type="xs:nonNegativeInteger" default="0"/> | |
<xs:attribute name="retryAttemptDelaySeconds" use="optional" type="xs:nonNegativeInteger" default="1"/> | |
<xs:attribute name="writeBehindConcurrency" use="optional" type="xs:nonNegativeInteger" default="1"/> | |
<xs:attribute name="writeBehindMaxQueueSize" use="optional" type="xs:nonNegativeInteger" default="0"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:simpleType name="writeModeType"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="write-through"/> | |
<xs:enumeration value="write-behind"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:element name="cacheWriterFactory"> | |
<xs:complexType> | |
<xs:attribute name="class" use="required"/> | |
<xs:attribute name="properties" use="optional"/> | |
<xs:attribute name="propertySeparator" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="copyStrategy"> | |
<xs:complexType> | |
<xs:attribute name="class" use="required" type="xs:string"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="elementValueComparator"> | |
<xs:complexType> | |
<xs:attribute name="class" use="required" type="xs:string"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="sizeOfPolicy"> | |
<xs:complexType> | |
<xs:attribute name="maxDepth" use="required" type="xs:integer"/> | |
<xs:attribute name="maxDepthExceededBehavior" use="optional" default="continue" | |
type="maxDepthExceededBehavior"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="persistence"> | |
<xs:complexType> | |
<xs:attribute name="strategy" use="required" type="persistenceStrategy"/> | |
<xs:attribute name="synchronousWrites" use="optional" default="false" type="xs:boolean"/> | |
</xs:complexType> | |
</xs:element> | |
<xs:simpleType name="persistenceStrategy"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="localTempSwap"/> | |
<xs:enumeration value="localRestartable"/> | |
<xs:enumeration value="none"/> | |
<xs:enumeration value="distributed"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:simpleType name="maxDepthExceededBehavior"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="continue"/> | |
<xs:enumeration value="abort"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:simpleType name="notificationScope"> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="local"/> | |
<xs:enumeration value="remote"/> | |
<xs:enumeration value="all"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:simpleType name="memoryUnit"> | |
<xs:restriction base="xs:token"> | |
<xs:pattern value="[0-9]+[bBkKmMgG]?"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:simpleType name="memoryUnitOrPercentage"> | |
<xs:restriction base="xs:token"> | |
<xs:pattern value="([0-9]+[bBkKmMgG]?|100%|[0-9]{1,2}%)"/> | |
</xs:restriction> | |
</xs:simpleType> | |
</xs:schema> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment