[jboss-cvs] JBossAS SVN: r106049 - in projects/profileservice/trunk/domain/src/test/resources: schemas and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jun 15 07:47:45 EDT 2010


Author: alex.loubyansky at jboss.com
Date: 2010-06-15 07:47:44 -0400 (Tue, 15 Jun 2010)
New Revision: 106049

Added:
   projects/profileservice/trunk/domain/src/test/resources/schemas/
   projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-common.xsd
   projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-example.xml
   projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-logging.xsd
   projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-profiles.xsd
   projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-resources.xsd
   projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-security.xsd
   projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-servers.xsd
   projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-web.xsd
   projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain.xsd
   projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-logging_6_0.xsd
   projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-remoting_3_1.xsd
   projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-threads_2_0.xsd
   projects/profileservice/trunk/domain/src/test/resources/schemas/security-config_5_0.xsd
Log:
domain schema prototypes and xml example

Added: projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-common.xsd
===================================================================
--- projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-common.xsd	                        (rev 0)
+++ projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-common.xsd	2010-06-15 11:47:44 UTC (rev 106049)
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+    targetNamespace="urn:jboss:domain:common:1.0"
+    xmlns="urn:jboss:domain:common:1.0"
+    >
+
+<!-- Common definitions -->
+    <xs:complexType name="java-configType">
+        <xs:all minOccurs="0" maxOccurs="1">
+            <xs:element name="jvm-options" type="xs:string" />
+            <xs:element name="jvm-properties" type="propertiesType" />
+            <xs:element name="system-properties" type="propertiesType" />
+            <xs:element name="classpath-prefix"/>
+            <xs:element name="classpath-suffix"/>
+            <xs:element name="server-classpath"/>
+            <xs:element name="system-classpath"/>
+            <xs:element name="native-library-path-prefix"/>
+            <xs:element name="native-library-path-suffix"/>
+            <xs:element name="bytecode-preprocessors"/>
+        </xs:all>
+        <xs:attribute name="java-home" />
+        <xs:attribute name="debug-enabled" default="false" type="boolean"/>
+        <xs:attribute name="debug-options" default="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n"/>
+        <xs:attribute name="javac-options" default="-g"/>
+        <xs:attribute name="env-classpath-ignored" default="true" type="boolean"/>
+    </xs:complexType>
+
+    <xs:complexType name="resource-refType">
+        <xs:attribute name="name" use="required">
+            <xs:annotation>
+                <xs:documentation>A reference to a resource</xs:documentation>
+            </xs:annotation>
+        </xs:attribute>
+    </xs:complexType>
+
+    <xs:complexType name="propertiesType">
+        <xs:sequence>
+            <xs:element name="property" type="propertyType" maxOccurs="unbounded" />
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="propertyType">
+        <xs:attribute name="name" use="required"/>
+        <xs:attribute name="value" use="required"/>
+    </xs:complexType>
+
+    <xs:simpleType name="isolation">
+        <xs:restriction base="xs:token">
+            <xs:enumeration value="read-uncommitted"/>
+            <xs:enumeration value="read-committed"/>
+            <xs:enumeration value="repeatable-read"/>
+            <xs:enumeration value="serializable"/>
+        </xs:restriction>
+    </xs:simpleType>
+    <xs:simpleType name="boolean">
+        <xs:restriction base="xs:token">
+            <xs:enumeration value="yes"/>
+            <xs:enumeration value="no"/>
+            <xs:enumeration value="on"/>
+            <xs:enumeration value="off"/>
+            <xs:enumeration value="1"/>
+            <xs:enumeration value="0"/>
+            <xs:enumeration value="true"/>
+            <xs:enumeration value="false"/>
+        </xs:restriction>
+    </xs:simpleType>
+</xs:schema>

Added: projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-example.xml
===================================================================
--- projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-example.xml	                        (rev 0)
+++ projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-example.xml	2010-06-15 11:47:44 UTC (rev 106049)
@@ -0,0 +1,258 @@
+<domain xmlns="urn:jboss:domain:1.0"
+  targetNamespace="urn:jboss:domain:1.0"
+  xmlns:com="urn:jboss:domain:common:1.0"
+  xmlns:prof="urn:jboss:domain:profiles:1.0"
+  xmlns:res="urn:jboss:domain:resources:1.0"
+  xmlns:serv="urn:jboss:domain:servers:1.0"
+  xmlns:thr="urn:jboss:threads:2.0"
+  xmlns:sec="urn:jboss:security-config:5.0"
+  xmlns:rem="urn:jboss:remoting:3.1"
+  xmlns:web="urn:jboss:domain:web:1.0">
+
+  <!-- The domain manager/server bootstrap configuration -->
+  <domain-configuration>
+    <!-- The URI for bootstraping a domain server -->
+    <bootstrapURI>http://bootstrap.uri</bootstrapURI>
+  </domain-configuration>
+
+  <server-groups>
+    <server-group group-name="group1">
+       <java-config java-home=${java.home}
+                    debug-enabled="true" debug-options="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n"
+                    javac-options="-g" env-classpath-ignored="true">
+         <jvm-options>-server</jvm-options>
+         <jvm-options>-Xmx512m</jvm-options>
+         <jvm-properties>
+           <property name="prop1" value="value1"/>
+           <property name="prop2" value="value2"/>
+         </jvm-properties>
+         <system-properties>
+           <property name="prop1" value="value1"/>
+           <property name="prop2" value="value2"/>
+         </system-properties>
+         <classpath-prefix>../lib</classpath-prefix>
+         <classpath-suffix>/last.jar</classpath-suffix>
+         <server-classpath>server/lib/server.jar</server-classpath>
+         <system-classpath>${root}/lib/launch.jar</system-classpath>
+         <native-library-path-prefix>native/lib/main</native-library-path-prefix>
+         <native-library-path-suffix>native/lib/last</native-library-path-suffix>
+         <bytecode-preprocessors>org.xxx.BytecodePreprocessorImpl,com.xxx.BytecodePreprocessorImpl</bytecode-preprocessors>
+       </java-config>
+
+<!-- profiles section will change
+       <profiles>
+       </profiles>
+-->
+
+       <resources>
+          <external-jndi-resource jndi-lookup-name="external/JNDIResource1"
+                                  res-type="org.xxx.ResourceType"
+                                  factory-class="org.xxx.ResourceJNDIFactory"
+                                  enabled="true">
+             <properties>
+               <property name="prop1" value="value1"/>
+               <property name="prop2" value="value2"/>
+             </properties>
+          </external-jndi-resource>
+
+          <jdbc-resource pool-name="JDBCConnectionPool1" enabled="false"/>
+             <properties>
+               <property name="prop1" value="value1"/>
+               <property name="prop2" value="value2"/>
+             </properties>
+          </jdbc-resource>
+
+          <mail-resource user="server-group1" password="servergroup1password">
+            <!-- The JavaMail connection properties -->
+            <mail-store-protocol>pop3</mail-store-protocol>
+            <mail-transfer-protocol>smtp</mail-transfer-protocol>
+            <mail-user>server-group1</mail-user>
+            <mail-pop3-host>xxx.xxx.xxx.xxx</mail-pop3-host>
+            <mail-smtp-host>xxx.xxx.xxx.xxx</mail-smtp-host>
+            <mail-smtp-port>25</mail-smtp-port>
+            <mail-from>server-group1 at domain.com</mail-from>
+            <mail-debug>false</mail-debug>
+            <properties>
+              <property name="prop1" value="value1"/>
+              <property name="prop2" value="value2"/>
+            </properties>
+          </mail-resource>
+
+          <!-- The class name of the JPA factory + properties -->
+          <persistence-manager-factory-resource factory-class="org.xxx.JPAFactoryImpl">
+            <properties>
+              <property name="prop1" value="value1"/>
+              <property name="prop2" value="value2"/>
+            </properties>
+          </persistence-manager-factory-resource>
+       </resources>
+
+       <system-properties>
+         <properties>
+           <property name="prop1" value="value1"/>
+           <property name="prop2" value="value2"/>
+         </properties>
+       </system-properties>
+
+    </server-group>
+  </server-groups>
+
+  <clusters>
+    <clusster name="cluster1" category="cat1">
+      <!-- same possibilities as in server-group -->
+      <java-config>
+      </java-config>
+      <profiles>
+      </profiles>
+      <resources>
+      </resources>
+      <system-properties>
+      </system-properties>
+
+      <partition-name>partition1</partition-name>
+      <state-transfer-timeout>5000</state-transfer-timeout>
+      <method-call-timeout>2000</method-call-timeout>
+    </clusster>
+  </clusters>
+
+  <servers>
+    <server>
+       <!-- The name of the server group or cluster the server is associated with. -->
+       <server-group-ref ref="group1"/>
+
+       <!-- see example in the server-group above -->
+       <java-config>
+       </java-config>
+
+       <loggers>
+         <!-- An object which contains an optional reference to a logging context. -->
+         <root-logger context="logger.context"/>
+
+         <!-- An object which contains a reference to a logger category and an optional reference to a logging context. -->
+         <logger context="logger.context" category="TRACE"/>
+       </loggers>
+
+       <system-properties>
+         <properties>
+           <property name="prop1" value="value1"/>
+           <property name="prop2" value="value2"/>
+         </properties>
+       </system-properties>
+    </server>
+  </servers>
+
+  <threads>
+     <!-- A thread that is automatically started up. -->
+     <thread name="thread1" daemon="false" priority="4">
+       <task name="task1">
+       <thread-factory name="ThreadFactory1">
+       <exception-handler name="DefaultExceptionHandler">
+       <!-- optional <task-filter> -->
+     </thread>
+
+     <!-- A thread group that can be referenced by a bean name. -->
+     <thread-group name="ThreadGroupBean1" group-name="ThreadGroup1" daemon="true" max-priority="7">
+        <parent-thread-group name="MainThreadGroup"/>
+     </thread-group>
+
+     <!-- A thread factory (implementing java.util.concurrent.ThreadFactory). -->
+     <thread-factory name="ThreadFactory1" daemon="true" thread-name-pattern="${pattern}" priority="10">
+       <thread-group name="ThreadGroupBean1"/>
+       <exception-handler name="DefaultExceptionHandler"/>
+       <!-- optional <task-filter> -->
+     </thread-factory>
+<!--
+     <thread-factory-executor>
+
+     <unbounded-queue-thread-pool-executor>
+
+     <bounded-queue-thread-pool-executor>
+
+     <queueless-thread-pool-executor>
+
+     <scheduled-thread-pool-executor>
+
+     <unbounded-ordered-executor>
+
+     <bounded-ordered-executor>
+
+     <direct-executor>
+-->
+  </threads>
+
+  <security-policy>
+    <authentication>
+      <login-module code="org.xxx.LoginModule1" flag="sufficient">
+         <module-option name="option1">value1</module-option>
+         <module-option name="option2">value2</module-option>
+      </login-module>
+      <login-module code="org.xxx.LoginModule2" flag="optional">
+         <module-option name="option1">value1</module-option>
+         <module-option name="option2">value2</module-option>
+      </login-module>
+    </authentication>
+
+    <authorization>
+      <policy-module code="org.xxx.PolicyModule1" flag="required">
+         <module-option name="option1">value1</module-option>
+         <module-option name="option2">value2</module-option>
+      </policy-module>
+      <policy-module code="org.xxx.PolicyModule2" flag="required">
+         <module-option name="option1">value1</module-option>
+         <module-option name="option2">value2</module-option>
+      </policy-module>
+    </authorization>
+
+    <acl>
+      <acl-module code="org.xxx.ACLModule1" flag="requisite">
+         <module-option name="option1">value1</module-option>
+         <module-option name="option2">value2</module-option>
+      </acl-module>
+      <acl-module code="org.xxx.ACLModule2" flag="sufficient">
+         <module-option name="option1">value1</module-option>
+         <module-option name="option2">value2</module-option>
+      </acl-module>
+    </acl>
+  </security-policy>
+
+<!-- remoting config
+  <remoting>
+  </remoting>
+-->
+
+  <containers>
+    <web-container>
+      <thread-group name="ThreadGroupBean1"/>
+      <http-service>
+        <access-log log-directory="domain/web/log">
+
+        <http-connector id="httpConnector1" address="xxx.xxx.xxx.xxx" port="xxxx" protocol="tls" scheme="https" client-auth="true">
+          <ssl cert-nickname="certnick" ssl3-enabled="true" ssl3-tls-ciphers="xxx">
+          <properties>
+            <property name="prop1" value="value1"/>
+            <property name="prop2" value="value2"/>
+          </properties>
+        </http-connector>
+
+        <virtual-server id="VirtualServer1" http-connectors="httpConnector1" hosts="xxx.xxx.xxx.xxx">
+          <access-log log-directory="domain/web/log">
+          <properties>
+            <property name="prop1" value="value1"/>
+            <property name="prop2" value="value2"/>
+          </properties>        
+        </virtual-server>
+
+        <properties>
+          <property name="prop1" value="value1"/>
+          <property name="prop2" value="value2"/>
+        </properties>
+      </http-service>
+    </web-container>
+  </containers>
+
+  <system-properties>
+    <property name="prop1" value="value1"/>
+    <property name="prop2" value="value2"/>
+  </system-properties>
+
+</domain>

Added: projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-logging.xsd
===================================================================
--- projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-logging.xsd	                        (rev 0)
+++ projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-logging.xsd	2010-06-15 11:47:44 UTC (rev 106049)
@@ -0,0 +1,489 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  ~ JBoss, Home of Professional Open Source.
+  ~ Copyright 2009, Red Hat Middleware LLC, and individual contributors
+  ~ as indicated by the @author tags. See the copyright.txt file in the
+  ~ distribution for a full listing of individual contributors.
+  ~
+  ~ This is free software; you can redistribute it and/or modify it
+  ~ under the terms of the GNU Lesser General Public License as
+  ~ published by the Free Software Foundation; either version 2.1 of
+  ~ the License, or (at your option) any later version.
+  ~
+  ~ This software is distributed in the hope that it will be useful,
+  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ Lesser General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU Lesser General Public
+  ~ License along with this software; if not, write to the Free
+  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  -->
+<!-- Modified from the urn:jboss:logging:6.0 (jboss-logging_6_0.xsd) -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+            xmlns:com="urn:jboss:domain:common:1.0"
+            targetNamespace="urn:jboss:domain:logging:1.0"
+            xmlns="urn:jboss:domain:logging:1.0"
+            elementFormDefault="qualified"
+            attributeFormDefault="unqualified"
+            version="1.0">
+
+    <!-- Allow access to common domain schema elements -->
+    <xs:import namespace="urn:jboss:domain:common:1.0" schemaLocation="jboss-domain-common.xsd"/>
+
+    <xs:element name="logging" type="loggingType"/>
+
+    <xs:complexType name="loggingType">
+        <xs:annotation>
+            <xs:documentation>
+                The logging configuration root type.  Contains a list of named handlers, loggers, and formatters for
+                this configuration.  Use the "context" attribute to depend upon a logging context which is separate
+                from the default system context.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <!-- handlers -->
+            <xs:group ref="handlersGroup"/>
+            <!-- loggers -->
+            <xs:element name="logger" type="loggerType"/>
+            <xs:element name="root-logger" type="rootLoggerType"/>
+            <!-- install-handlers -->
+            <xs:element name="install-handler" type="installHandlerType"/>
+            <!-- contexts -->
+            <xs:element name="define-context" type="defineContextType"/>
+        </xs:choice>
+        <xs:attribute name="context" type="xs:string" use="optional"/>
+    </xs:complexType>
+
+    <xs:complexType name="refType">
+        <xs:annotation>
+            <xs:documentation>
+                A named reference to another object.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="name" type="xs:string" use="required"/>
+    </xs:complexType>
+
+    <!-- Log Context -->
+
+    <xs:complexType name="defineContextType">
+        <xs:annotation>
+            <xs:documentation>
+                A named log context.  If the name is not specified, the context name of the enclosing
+                "logging" element is used, otherwise a log context of the given name will be created.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="name" type="xs:string" use="optional"/>
+    </xs:complexType>
+
+    <!-- Loggers -->
+
+    <xs:complexType name="loggersType">
+        <xs:annotation>
+            <xs:documentation>
+                A collection of logger references to apply to the enclosing object.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:choice maxOccurs="unbounded">
+            <xs:group ref="loggersGroup"/>
+        </xs:choice>
+    </xs:complexType>
+
+    <xs:group name="loggersGroup">
+        <xs:annotation>
+            <xs:documentation>
+                An element group for the collection of logger references to apply to the enclosing object.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:choice>
+            <xs:element name="logger" type="loggerRefType"/>
+            <xs:element name="root-logger" type="contextRefType"/>
+        </xs:choice>
+    </xs:group>
+
+    <xs:complexType name="contextRefType">
+        <xs:annotation>
+            <xs:documentation>
+                An object which contains an optional reference to a logging context.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="context" type="xs:string" use="optional"/>
+    </xs:complexType>
+
+    <xs:complexType name="loggerRefType">
+        <xs:annotation>
+            <xs:documentation>
+                An object which contains a reference to a logger category and an optional reference to a logging context.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+            <xs:extension base="contextRefType">
+                <xs:attribute name="category" type="xs:string" use="required"/>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <xs:complexType name="rootLoggerType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines the root logger for this log context.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:all minOccurs="1" maxOccurs="1">
+            <xs:element name="level" type="refType" minOccurs="0"/>
+            <xs:element name="filter" type="filterType" minOccurs="0"/>
+            <xs:element name="handlers" minOccurs="0" type="handlersType"/>
+        </xs:all>
+    </xs:complexType>
+
+    <xs:complexType name="loggerType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a logger category for this log context.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+            <xs:extension base="rootLoggerType">
+                <xs:attribute name="use-parent-handlers" type="xs:boolean" use="optional" default="true"/>
+                <xs:attribute name="category" type="xs:string" use="required"/>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <!-- Handlers -->
+
+    <xs:group name="handlersGroup">
+        <xs:annotation>
+            <xs:documentation>
+                An element group for the collection of handlers to apply to the enclosing object.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:choice>
+            <xs:element name="handler" type="handlerType"/>
+            <xs:element name="log4j-appender" type="log4jAppenderType"/>
+            <xs:element name="console-handler" type="consoleHandlerType"/>
+            <xs:element name="file-handler" type="fileHandlerType"/>
+            <xs:element name="periodic-rotating-file-handler" type="periodicFileHandlerType"/>
+            <xs:element name="size-rotating-file-handler" type="sizeFileHandlerType"/>
+            <xs:element name="async-handler" type="asyncHandlerType"/>
+            <xs:element name="null-handler" type="handlerBaseType"/>
+        </xs:choice>
+    </xs:group>
+
+    <xs:complexType name="handlersType">
+        <xs:annotation>
+            <xs:documentation>
+                A collection of handlers to apply to the enclosing object.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element name="handler-ref" type="refType"/>
+            <!-- actual handler types -->
+            <xs:group ref="handlersGroup"/>
+        </xs:choice>
+    </xs:complexType>
+
+    <xs:complexType name="installHandlerType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines an installation of a handler into one or more loggers.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:all minOccurs="1" maxOccurs="1">
+            <xs:element name="handler-ref" type="refType" minOccurs="1"/>
+            <xs:element name="loggers" minOccurs="1" type="loggersType"/>
+        </xs:all>
+    </xs:complexType>
+
+    <xs:complexType name="handlerBaseType">
+        <xs:annotation>
+            <xs:documentation>
+                The base type for all handlers.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:all>
+            <xs:element name="level" type="refType" minOccurs="0"/>
+            <xs:element name="filter" type="filterType" minOccurs="0"/>
+            <xs:element name="error-manager" type="errorManagerType" minOccurs="0"/>
+            <xs:element name="formatter" type="formatterType" minOccurs="0"/>
+            <xs:element name="loggers" type="loggersType" minOccurs="0"/>
+            <xs:element name="sub-handlers" type="handlersType" minOccurs="0"/>
+            <xs:element name="properties" type="com:propertiesType" minOccurs="0"/>
+        </xs:all>
+        <xs:attribute name="name" type="xs:string" use="optional"/>
+        <xs:attribute name="encoding" type="xs:string" use="optional"/>
+        <xs:attribute name="autoflush" type="xs:boolean" use="optional" default="false"/>
+    </xs:complexType>
+
+    <xs:complexType name="handlerType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a handler of the given class to be instantiated and optionally installed into one or more
+                loggers.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+            <xs:extension base="handlerBaseType">
+                <xs:attribute name="class" type="xs:token" use="required"/>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <xs:complexType name="log4jAppenderType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a log4j appender of the given class to be instantiated and optionally installed into one or more
+                loggers.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+            <xs:extension base="handlerType"/>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <xs:complexType name="consoleHandlerType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a handler which writes to the console.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+            <xs:extension base="handlerBaseType">
+                <xs:attribute name="target" type="consoleTargetType" use="optional" default="System.out"/>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <xs:simpleType name="consoleTargetType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a the target for a console handler (System.out or System.err).
+            </xs:documentation>
+        </xs:annotation>
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="System.out"/>
+            <xs:enumeration value="System.err"/>
+        </xs:restriction>
+    </xs:simpleType>
+
+    <xs:complexType name="fileHandlerType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a handler which writes to a file.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+            <xs:extension base="handlerBaseType">
+                <xs:attribute name="file-name" type="xs:string" use="required"/>
+                <xs:attribute name="append" type="xs:boolean" use="optional"/>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <xs:complexType name="periodicFileHandlerType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a handler which writes to a file, rotating the log after a time period derived from the given
+                suffix string, which should be in a format understood by java.text.SimpleDateFormat.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+            <xs:extension base="fileHandlerType">
+                <xs:attribute name="suffix" type="xs:string" use="required"/>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <xs:complexType name="sizeFileHandlerType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a handler which writes to a file, rotating the log after a the size of the file grows beyond a
+                certain point and keeping a fixed number of backups.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+            <xs:extension base="fileHandlerType">
+                <xs:attribute name="rotate-size" type="xs:string" use="optional" default="500k"/>
+                <xs:attribute name="max-backup-index" type="xs:positiveInteger" use="optional" default="1"/>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <xs:complexType name="asyncHandlerType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a handler which writes to the sub-handlers in an asynchronous thread.  Used for handlers which
+                introduce a substantial amount of lag.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+            <xs:extension base="handlerBaseType">
+                <xs:attribute name="queue-length" type="xs:positiveInteger" use="optional" default="512"/>
+                <xs:attribute name="overflow-action" type="asyncOverflowActionType" use="optional" default="block"/>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <xs:simpleType name="asyncOverflowActionType">
+        <xs:annotation>
+            <xs:documentation>
+                The action to take when the async queue overflows.  Either the calling thread may be blocked, or the
+                message may be discarded.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="block"/>
+            <xs:enumeration value="discard"/>
+        </xs:restriction>
+    </xs:simpleType>
+
+    <!-- Filters -->
+
+    <xs:complexType name="filterType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a named logging filter.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:group ref="simpleFilterGroup"/>
+        <xs:attribute name="name" use="optional"/>
+    </xs:complexType>
+
+    <xs:complexType name="simpleFilterType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a simple filter type.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:group ref="simpleFilterGroup"/>
+    </xs:complexType>
+
+    <xs:complexType name="multiFilterType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a composite filter type.  The "any" filter will return true of any of its constituent filters
+                returns true; the "all" filter will return false if any of its constituent filters returns false.  Both
+                composite filter types are short-circuiting, meaning that if the result can be determined with an earlier
+                filter, later filters are not run.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:group ref="simpleFilterGroup" maxOccurs="unbounded"/>
+    </xs:complexType>
+
+    <xs:group name="simpleFilterGroup">
+        <xs:choice>
+            <xs:element name="all" type="multiFilterType"/>
+            <xs:element name="any" type="multiFilterType"/>
+            <xs:element name="accept"/>
+            <xs:element name="deny"/>
+            <xs:element name="not" type="simpleFilterType"/>
+            <xs:element name="match" type="regexFilterType"/>
+            <xs:element name="replace" type="replaceFilterType"/>
+            <xs:element name="level" type="levelFilterType"/>
+            <xs:element name="level-range" type="levelRangeFilterType"/>
+            <xs:element name="change-level" type="levelChangeFilterType"/>
+            <xs:element name="filter-ref" type="refType"/>
+        </xs:choice>
+    </xs:group>
+
+    <xs:complexType name="regexFilterType">
+        <xs:annotation>
+            <xs:documentation>
+                A regular expression-based filter.  The filter returns true if the pattern matches.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="pattern" type="xs:string" use="required"/>
+    </xs:complexType>
+
+    <xs:complexType name="replaceFilterType">
+        <xs:annotation>
+            <xs:documentation>
+                A regular expression substitution filter.  This filter modifies the log message and always returns true.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="pattern" type="xs:string" use="required"/>
+        <xs:attribute name="replacement" type="xs:string" use="required"/>
+        <xs:attribute name="replace-all" type="xs:boolean" default="true"/>
+    </xs:complexType>
+
+    <xs:complexType name="levelFilterType">
+        <xs:annotation>
+            <xs:documentation>
+                A level filter.  This filter returns true if the log message level matches the parameter.  It is a
+                numerical match; two differently-named levels with the same numeric value will be considered equal.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="level" type="xs:string" use="required"/>
+    </xs:complexType>
+
+    <xs:complexType name="levelRangeFilterType">
+        <xs:annotation>
+            <xs:documentation>
+                A level range filter.  This filter returns true if the log message level matches the range specified
+                by the parameters.  It is a
+                numerical match; two differently-named levels with the same numeric value will be considered equal.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="min-level" type="xs:string" use="required"/>
+        <xs:attribute name="min-inclusive" type="xs:boolean" use="optional" default="true"/>
+        <xs:attribute name="max-level" type="xs:string" use="required"/>
+        <xs:attribute name="max-inclusive" type="xs:boolean" use="optional" default="true"/>
+    </xs:complexType>
+
+    <xs:complexType name="levelChangeFilterType">
+        <xs:annotation>
+            <xs:documentation>
+                A level change filter.  This filter modifies the log message and always returns true.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="level" type="xs:string" use="required"/>
+    </xs:complexType>
+
+    <!-- Formatters -->
+
+    <xs:complexType name="formatterType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a formatter.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:choice minOccurs="1" maxOccurs="1">
+            <xs:element name="pattern-formatter" type="patternFormatterType" maxOccurs="1"/>
+            <xs:element name="formatter-ref" type="refType" maxOccurs="1"/>
+        </xs:choice>
+    </xs:complexType>
+
+    <xs:complexType name="patternFormatterType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a pattern formatter.  See the documentation for org.jboss.logmanager.formatters.FormatStringParser
+                for more information about the format string.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="pattern" type="xs:string" use="required"/>
+        <xs:attribute name="name" type="xs:string" use="optional"/>
+    </xs:complexType>
+
+    <!-- Error managers -->
+
+    <xs:complexType name="errorManagerType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a handler error-manager.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:choice minOccurs="1" maxOccurs="1">
+            <xs:element name="only-once">
+                <xs:complexType>
+                    <xs:annotation>
+                        <xs:documentation>
+                            An error manager which logs errors to System.err only the first time an error occurs.
+                        </xs:documentation>
+                    </xs:annotation>
+                </xs:complexType>
+            </xs:element>
+        </xs:choice>
+    </xs:complexType>
+</xs:schema>

Added: projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-profiles.xsd
===================================================================
--- projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-profiles.xsd	                        (rev 0)
+++ projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-profiles.xsd	2010-06-15 11:47:44 UTC (rev 106049)
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:jboss:domain:profiles:1.0"
+    targetNamespace="urn:jboss:domain:profiles:1.0">
+
+    <!-- profiles related definitions -->
+    <xs:complexType name="profilesType">
+        <xs:sequence>
+            <xs:element name="profile" type="profileType"/>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="profileType">
+        <xs:annotation>
+            <xs:documentation>
+                A profile specifies a collection of requirements/resources for the virtual deployments that must
+                exist.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+            <xs:element name="requirement" type="requirementType" minOccurs="0" maxOccurs="unbounded"/>
+            <xs:element name="resource" type="resourceRequirmentType" minOccurs="0" maxOccurs="unbounded"/>
+        </xs:sequence>
+        <xs:attribute name="name" use="required"/>
+    </xs:complexType>
+    <xs:complexType name="requirementType">
+        <xs:annotation>
+            <xs:documentation>
+                A statement of the type of profile needed
+            </xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="key" use="required">
+        </xs:attribute>
+        <xs:attribute name="value" use="required">
+        </xs:attribute>
+    </xs:complexType>
+    <xs:complexType name="resourceRequirmentType">
+        <xs:annotation>
+            <xs:documentation>
+                A specialized requirement for stating that a domain resource should exist in the profile
+            </xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="name" use="required">
+        </xs:attribute>
+        <xs:attribute name="type" use="required">
+        </xs:attribute>
+        <xs:attribute name="subtype" use="required">
+        </xs:attribute>
+    </xs:complexType>
+    
+
+</xs:schema>

Added: projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-resources.xsd
===================================================================
--- projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-resources.xsd	                        (rev 0)
+++ projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-resources.xsd	2010-06-15 11:47:44 UTC (rev 106049)
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+    targetNamespace="urn:jboss:domain:resources:1.0" xmlns="urn:jboss:domain:resources:1.0"
+    xmlns:dc="urn:jboss:domain:common:1.0">
+
+    <!-- Import the common definitions -->
+    <xs:import namespace="urn:jboss:domain:common:1.0" schemaLocation="jboss-domain-common.xsd"/>
+
+    <!-- resources related definitions -->
+    <xs:complexType name="resourcesType">
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element name="external-jndi-resource" type="external-jndi-resourceType"/>
+            <xs:element name="jdbc-resource" type="external-jndi-resourceType"/>
+            <xs:element name="mail-resource" type="mail-resourceType"/>
+            <xs:element name="persistence-manager-factory-resource"
+                type="persistence-manager-factory-resourceType"/>
+            <!-- 
+            <xs:group ref="connector-resource"/>
+            <xs:group ref="resource-adapter-config"/>
+            <xs:group ref="connector-connection-pool"/>
+            -->
+        </xs:choice>
+        <xs:attribute name="name"/>
+        <xs:attribute name="jndi-name">
+            <xs:annotation>
+                <xs:documentation>The JNDI name under which to bind the resource</xs:documentation>
+            </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="factory-class">
+            <xs:annotation>
+                <xs:documentation>The class name of the ObjectFactory</xs:documentation>
+            </xs:annotation>
+        </xs:attribute>
+    </xs:complexType>
+
+    <xs:complexType name="external-jndi-resourceType">
+        <xs:complexContent>
+            <xs:extension base="resource-commonType">
+                <xs:attribute name="jndi-lookup-name" use="required"/>
+                <xs:attribute name="res-type" use="required"/>
+                <xs:attribute name="factory-class" use="required"/>
+                <xs:attribute name="enabled" default="true" type="dc:boolean"/>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <xs:complexType name="jdbc-resourceType">
+        <xs:complexContent>
+            <xs:extension base="resource-commonType">
+                <xs:attribute name="pool-name" use="required"/>
+                <xs:attribute name="enabled" default="true" type="dc:boolean"/>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <xs:attributeGroup name="jdbc-connection-pool">
+        <xs:attribute name="name" use="required"/>
+    </xs:attributeGroup>
+
+    <xs:complexType name="mail-resourceType">
+        <xs:complexContent>
+            <xs:extension base="resource-commonType">
+                <xs:sequence minOccurs="0" maxOccurs="1">
+                    <xs:annotation>
+                        <xs:documentation>The JavaMail connection properties</xs:documentation>
+                    </xs:annotation>
+                    <xs:element name="mail.store.protocol" type="xs:string"/>
+                    <xs:element name="mail.transport.protocol" type="xs:string"/>
+                    <xs:element name="mail.user" type="xs:string"/>
+                    <xs:element name="mail.pop3.host" type="xs:string"/>
+                    <xs:element name="mail.smtp.host" type="xs:string"/>
+                    <xs:element name="mail.smtp.port" type="xs:string"/>
+                    <xs:element name="mail.from" type="xs:string"/>
+                    <xs:element name="mail.debug" type="xs:string"/>
+                </xs:sequence>
+                <xs:attribute name="user" use="required"/>
+                <xs:attribute name="password" use="required"/>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <xs:complexType name="persistence-manager-factory-resourceType">
+        <xs:complexContent>
+            <xs:extension base="resource-commonType">
+                <xs:attribute name="factory-class" use="required">
+                    <xs:annotation>
+                        <xs:documentation>The class name of the JPA factory</xs:documentation>
+                    </xs:annotation>
+                </xs:attribute>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <xs:complexType name="resource-commonType">
+        <xs:sequence minOccurs="0" maxOccurs="1">
+            <xs:element name="properties" type="dc:propertiesType"/>
+        </xs:sequence>
+    </xs:complexType>
+</xs:schema>

Added: projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-security.xsd
===================================================================
--- projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-security.xsd	                        (rev 0)
+++ projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-security.xsd	2010-06-15 11:47:44 UTC (rev 106049)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+    xmlns="urn:jboss:domain:security:1.0"
+    targetNamespace="urn:jboss:domain:security:1.0"
+    xmlns:dc="urn:jboss:domain:common:1.0"
+    >
+
+    <!-- Import the common definitions -->
+    <xs:import namespace="urn:jboss:domain:common:1.0" schemaLocation="jboss-domain-common.xsd" />
+
+    <xs:complexType name="security-domainType">
+        <xs:sequence>
+        </xs:sequence>
+        <xs:attribute name="domain-name" type="xs:ID">
+            <xs:annotation>
+                <xs:documentation>
+                    The name of the server group
+                </xs:documentation>
+            </xs:annotation>
+        </xs:attribute>
+    </xs:complexType>
+
+</xs:schema>

Added: projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-servers.xsd
===================================================================
--- projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-servers.xsd	                        (rev 0)
+++ projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-servers.xsd	2010-06-15 11:47:44 UTC (rev 106049)
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+    xmlns="urn:jboss:domain:servers:1.0"
+    targetNamespace="urn:jboss:domain:servers:1.0"
+    xmlns:dc="urn:jboss:domain:common:1.0"
+    xmlns:p="urn:jboss:domain:profiles:1.0"
+    xmlns:res="urn:jboss:domain:resources:1.0"
+    xmlns:log="urn:jboss:domain:logging:1.0"
+    >
+
+    <!-- Import the common definitions -->
+    <xs:import namespace="urn:jboss:domain:common:1.0" schemaLocation="jboss-domain-common.xsd" />
+    <!-- Import the profiles -->
+    <xs:import namespace="urn:jboss:domain:profiles:1.0" schemaLocation="jboss-domain-profiles.xsd" />
+    <!-- Import the resources definitions -->
+    <xs:import namespace="urn:jboss:domain:resources:1.0" schemaLocation="jboss-domain-resources.xsd" />
+    <!-- Import the logging schema definitions for reuse -->
+    <xs:import namespace="urn:jboss:domain:logging:1.0"  schemaLocation="jboss-domain-logging.xsd"/>
+
+    <xs:complexType name="server-groupType">
+        <xs:sequence>
+            <xs:element name="java-config" type="dc:java-configType" />
+            <xs:element name="profiles" type="p:profilesType"/>
+            <xs:element name="resources" minOccurs="0" maxOccurs="unbounded" type="res:resourcesType"/>
+            <xs:element name="system-properties" minOccurs="0" type="dc:propertiesType"/>
+        </xs:sequence>
+        <xs:attribute name="group-name" type="xs:ID">
+            <xs:annotation>
+                <xs:documentation>
+                    The name of the server group
+                </xs:documentation>
+            </xs:annotation>
+        </xs:attribute>
+    </xs:complexType>
+
+    <xs:complexType name="clustersType">
+        <xs:complexContent>
+            <xs:extension base="server-groupType">
+                <xs:sequence>
+                    <xs:element name="partition-name" type="xs:string"/>
+                    <xs:element name="state-transfer-timeout" type="xs:integer"/>
+                    <xs:element name="method-call-timeout" type="xs:integer"/>
+                </xs:sequence>
+                <xs:attribute name="category" type="xs:string" use="required"/>                    
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <xs:complexType name="serverType">
+        <xs:sequence>
+            <xs:element name="server-group-ref" minOccurs="1" maxOccurs="unbounded" type="server-group-refType" />
+            <xs:element name="java-config" minOccurs="0" type="dc:java-configType" />
+            <xs:element name="loggers" type="log:loggersType" />
+            <xs:element name="system-properties" type="dc:propertiesType"/>
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="server-group-refType">
+        <xs:attribute name="ref" type="xs:IDREF">
+            <xs:annotation>
+                <xs:documentation>
+                    The name of the server group or cluster the server is associated with.
+                </xs:documentation>
+            </xs:annotation>            
+        </xs:attribute>
+    </xs:complexType>
+</xs:schema>

Added: projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-web.xsd
===================================================================
--- projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-web.xsd	                        (rev 0)
+++ projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain-web.xsd	2010-06-15 11:47:44 UTC (rev 106049)
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+    targetNamespace="urn:jboss:domain:web:1.0" xmlns="urn:jboss:domain:web:1.0"
+    xmlns:dc="urn:jboss:domain:common:1.0">
+ 
+    <!-- Import the common definitions -->
+    <xs:import namespace="urn:jboss:domain:common:1.0" schemaLocation="jboss-domain-common.xsd"/>
+
+   <xs:complexType name="web-containersType">
+       <xs:sequence>
+           <xs:element name="web-container" type="web-containerType" minOccurs="1" maxOccurs="unbounded" />
+       </xs:sequence>
+   </xs:complexType>
+
+      <!-- The web container configuration -->
+  <xs:complexType name="web-containerType">
+    <xs:sequence>
+      <xs:element name="thread-group">
+        <xs:complexType>
+          <xs:attribute name="name" use="required"/>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="http-service" minOccurs="1" maxOccurs="unbounded" type="http-serviceType"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <!-- http-service connectors -->
+    <xs:complexType name="http-serviceType">
+      <xs:sequence>
+        <xs:element name="access-log" minOccurs="0" type="http-access-logType" />
+        <xs:element maxOccurs="unbounded" ref="http-connector"/>
+        <xs:element maxOccurs="unbounded" ref="virtual-server"/>
+        <xs:element name="properties" minOccurs="0" maxOccurs="unbounded" type="dc:propertiesType" />
+      </xs:sequence>
+    </xs:complexType>
+
+  <xs:element name="http-connector">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="ssl"/>
+        <xs:element name="properties" type="dc:propertiesType" />
+      </xs:sequence>
+      <xs:attributeGroup ref="http-connector-attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:attributeGroup name="http-connector-attlist">
+    <xs:attribute name="id" use="required"/>
+    <xs:attribute name="address" use="required"/>
+    <xs:attribute name="port" use="required"/>
+    <xs:attribute name="protocol"/>
+    <xs:attribute name="scheme"/>
+    <xs:attribute name="redirect-port"/>
+    <xs:attribute name="blocking-enabled" default="false" type="dc:boolean"/>
+    <xs:attribute name="secure" default="false" type="dc:boolean"/>
+    <xs:attribute name="client-auth" default="false" type="dc:boolean"/>
+    <xs:attribute name="default-virtual-server"/>
+    <xs:attribute name="xpowered-by"/>
+    <xs:attribute name="enabled" default="true" type="dc:boolean"/>
+      <xs:attribute name="acceptor-executor" type="xs:IDREF" />
+      <xs:attribute name="request-executor" type="xs:IDREF" />      
+  </xs:attributeGroup>
+
+    <xs:element name="ssl">
+    <xs:complexType>
+      <xs:attributeGroup ref="ssl-attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:attributeGroup name="ssl-attlist">
+    <xs:attribute name="cert-nickname" use="required"/>
+    <xs:attribute name="ssl2-enabled" default="false" type="dc:boolean"/>
+    <xs:attribute name="ssl2-ciphers"/>
+    <xs:attribute name="ssl3-enabled" default="true" type="dc:boolean"/>
+    <xs:attribute name="ssl3-tls-ciphers"/>
+    <xs:attribute name="tls-enabled" default="true" type="dc:boolean"/>
+    <xs:attribute name="tls-rollback-enabled" default="true" type="dc:boolean"/>
+    <xs:attribute name="client-auth-enabled" default="false" type="dc:boolean"/>
+  </xs:attributeGroup>
+
+  <xs:element name="virtual-server">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="access-log" minOccurs="0" type="http-access-logType"/>
+        <xs:element name="properties" type="dc:propertiesType" />
+      </xs:sequence>
+      <xs:attributeGroup ref="virtual-server-attlist"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:attributeGroup name="virtual-server-attlist">
+    <xs:attribute name="id" use="required"/>
+    <xs:attribute name="http-connectors"/>
+    <xs:attribute name="default-web-module"/>
+    <xs:attribute name="hosts" use="required"/>
+    <xs:attribute name="docroot"/>
+    <xs:attribute name="log-file" default="${jboss.web.virtual-server}.log"/>
+  </xs:attributeGroup>
+
+    <xs:complexType name="http-access-logType">
+        <xs:attribute name="log-directory" default="${com.sun.aas.instanceRoot}/logs/access"/>
+        <xs:attribute name="iponly" default="true" type="dc:boolean"/>
+    </xs:complexType>
+
+</xs:schema>

Added: projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain.xsd
===================================================================
--- projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain.xsd	                        (rev 0)
+++ projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-domain.xsd	2010-06-15 11:47:44 UTC (rev 106049)
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
+  xmlns="urn:jboss:domain:1.0"
+  targetNamespace="urn:jboss:domain:1.0"
+  xmlns:com="urn:jboss:domain:common:1.0"
+  xmlns:prof="urn:jboss:domain:profiles:1.0"
+  xmlns:res="urn:jboss:domain:resources:1.0"
+  xmlns:serv="urn:jboss:domain:servers:1.0"
+  xmlns:thr="urn:jboss:threads:2.0"
+  xmlns:sec="urn:jboss:security-config:5.0"
+  xmlns:rem="urn:jboss:remoting:3.1"
+  xmlns:web="urn:jboss:domain:web:1.0"
+  >
+
+  <!-- Import the common definitions -->
+  <xs:import namespace="urn:jboss:domain:common:1.0" schemaLocation="jboss-domain-common.xsd" />
+  <!-- Import the profiles -->
+  <xs:import namespace="urn:jboss:domain:profiles:1.0" schemaLocation="jboss-domain-profiles.xsd" />
+  <!-- Import the resources definitions -->
+  <xs:import namespace="urn:jboss:domain:resources:1.0" schemaLocation="jboss-domain-resources.xsd" />
+  <!-- Import the server groups definitions -->
+  <xs:import namespace="urn:jboss:domain:servers:1.0" schemaLocation="jboss-domain-servers.xsd" />
+  <!-- Import the jboss-threads schema definitions for reuse -->
+  <xs:import namespace="urn:jboss:threads:2.0"  schemaLocation="jboss-threads_2_0.xsd"/>
+  <!-- Import the security schema definitions for reuse -->
+  <xs:import namespace="urn:jboss:security-config:5.0"  schemaLocation="security-config_5_0.xsd"/>
+  <!-- Import the remoting schema definitions for reuse -->
+  <xs:import namespace="urn:jboss:remoting:3.1"  schemaLocation="jboss-remoting_3_1.xsd"/>
+  <!-- Import the web schema definitions for reuse -->
+  <xs:import namespace="urn:jboss:domain:web:1.0"  schemaLocation="jboss-domain-web.xsd"/>
+  
+  <xs:element name="domain">
+    <xs:complexType>
+      <xs:all minOccurs="0" maxOccurs="1">
+        <xs:element name="domain-configuration" type="domain-configurationType"/>
+        <xs:element name="server-groups" type="serv:server-groupType"/>
+        <xs:element name="clusters" type="serv:clustersType"/>
+        <xs:element name="servers">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="server" type="serv:serverType" />
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="threads" type="thr:threads"/>
+        <xs:element name="security-policy" type="sec:PolicyConfig" />
+        <xs:element name="remoting" type="rem:remotingType"/>
+        <xs:element name="containers">
+          <xs:complexType>
+            <xs:all>
+              <xs:element name="web-containers" type="web:web-containersType" />
+            </xs:all>
+          </xs:complexType>
+          
+        </xs:element>
+        <xs:element name="system-properties" type="com:propertiesType"/>
+      </xs:all>
+    </xs:complexType>
+  </xs:element>
+  
+  <!-- domain-configuration related definitions -->
+  <xs:complexType name="domain-configurationType">
+    <xs:annotation>
+      <xs:documentation>The domain manager/server bootstrap configuration</xs:documentation>
+    </xs:annotation>
+    <xs:sequence>
+      <xs:element ref="bootstrapURI"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="bootstrapURI" type="xs:string">
+    <xs:annotation>
+      <xs:documentation>The URI for bootstraping a domain server</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+</xs:schema>

Added: projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-logging_6_0.xsd
===================================================================
--- projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-logging_6_0.xsd	                        (rev 0)
+++ projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-logging_6_0.xsd	2010-06-15 11:47:44 UTC (rev 106049)
@@ -0,0 +1,489 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  ~ JBoss, Home of Professional Open Source.
+  ~ Copyright 2009, Red Hat Middleware LLC, and individual contributors
+  ~ as indicated by the @author tags. See the copyright.txt file in the
+  ~ distribution for a full listing of individual contributors.
+  ~
+  ~ This is free software; you can redistribute it and/or modify it
+  ~ under the terms of the GNU Lesser General Public License as
+  ~ published by the Free Software Foundation; either version 2.1 of
+  ~ the License, or (at your option) any later version.
+  ~
+  ~ This software is distributed in the hope that it will be useful,
+  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ Lesser General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU Lesser General Public
+  ~ License along with this software; if not, write to the Free
+  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  -->
+<!-- Modified from the urn:jboss:logging:6.0 (jboss-logging_6_0.xsd) -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+            xmlns:com="urn:jboss:domain:common:1.0"
+            targetNamespace="urn:jboss:domain:logging:1.0"
+            xmlns="urn:jboss:domain:logging:1.0"
+            elementFormDefault="qualified"
+            attributeFormDefault="unqualified"
+            version="1.0">
+
+    <!-- Allow access to common domain schema elements -->
+    <xs:import namespace="urn:jboss:domain:common:1.0" schemaLocation="jboss-domain-common.xsd"/>
+
+    <xs:element name="logging" type="loggingType"/>
+
+    <xs:complexType name="loggingType">
+        <xs:annotation>
+            <xs:documentation>
+                The logging configuration root type.  Contains a list of named handlers, loggers, and formatters for
+                this configuration.  Use the "context" attribute to depend upon a logging context which is separate
+                from the default system context.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <!-- handlers -->
+            <xs:group ref="handlersGroup"/>
+            <!-- loggers -->
+            <xs:element name="logger" type="loggerType"/>
+            <xs:element name="root-logger" type="rootLoggerType"/>
+            <!-- install-handlers -->
+            <xs:element name="install-handler" type="installHandlerType"/>
+            <!-- contexts -->
+            <xs:element name="define-context" type="defineContextType"/>
+        </xs:choice>
+        <xs:attribute name="context" type="xs:string" use="optional"/>
+    </xs:complexType>
+
+    <xs:complexType name="refType">
+        <xs:annotation>
+            <xs:documentation>
+                A named reference to another object.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="name" type="xs:string" use="required"/>
+    </xs:complexType>
+
+    <!-- Log Context -->
+
+    <xs:complexType name="defineContextType">
+        <xs:annotation>
+            <xs:documentation>
+                A named log context.  If the name is not specified, the context name of the enclosing
+                "logging" element is used, otherwise a log context of the given name will be created.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="name" type="xs:string" use="optional"/>
+    </xs:complexType>
+
+    <!-- Loggers -->
+
+    <xs:complexType name="loggersType">
+        <xs:annotation>
+            <xs:documentation>
+                A collection of logger references to apply to the enclosing object.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:choice maxOccurs="unbounded">
+            <xs:group ref="loggersGroup"/>
+        </xs:choice>
+    </xs:complexType>
+
+    <xs:group name="loggersGroup">
+        <xs:annotation>
+            <xs:documentation>
+                An element group for the collection of logger references to apply to the enclosing object.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:choice>
+            <xs:element name="logger" type="loggerRefType"/>
+            <xs:element name="root-logger" type="contextRefType"/>
+        </xs:choice>
+    </xs:group>
+
+    <xs:complexType name="contextRefType">
+        <xs:annotation>
+            <xs:documentation>
+                An object which contains an optional reference to a logging context.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="context" type="xs:string" use="optional"/>
+    </xs:complexType>
+
+    <xs:complexType name="loggerRefType">
+        <xs:annotation>
+            <xs:documentation>
+                An object which contains a reference to a logger category and an optional reference to a logging context.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+            <xs:extension base="contextRefType">
+                <xs:attribute name="category" type="xs:string" use="required"/>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <xs:complexType name="rootLoggerType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines the root logger for this log context.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:all minOccurs="1" maxOccurs="1">
+            <xs:element name="level" type="refType" minOccurs="0"/>
+            <xs:element name="filter" type="filterType" minOccurs="0"/>
+            <xs:element name="handlers" minOccurs="0" type="handlersType"/>
+        </xs:all>
+    </xs:complexType>
+
+    <xs:complexType name="loggerType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a logger category for this log context.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+            <xs:extension base="rootLoggerType">
+                <xs:attribute name="use-parent-handlers" type="xs:boolean" use="optional" default="true"/>
+                <xs:attribute name="category" type="xs:string" use="required"/>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <!-- Handlers -->
+
+    <xs:group name="handlersGroup">
+        <xs:annotation>
+            <xs:documentation>
+                An element group for the collection of handlers to apply to the enclosing object.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:choice>
+            <xs:element name="handler" type="handlerType"/>
+            <xs:element name="log4j-appender" type="log4jAppenderType"/>
+            <xs:element name="console-handler" type="consoleHandlerType"/>
+            <xs:element name="file-handler" type="fileHandlerType"/>
+            <xs:element name="periodic-rotating-file-handler" type="periodicFileHandlerType"/>
+            <xs:element name="size-rotating-file-handler" type="sizeFileHandlerType"/>
+            <xs:element name="async-handler" type="asyncHandlerType"/>
+            <xs:element name="null-handler" type="handlerBaseType"/>
+        </xs:choice>
+    </xs:group>
+
+    <xs:complexType name="handlersType">
+        <xs:annotation>
+            <xs:documentation>
+                A collection of handlers to apply to the enclosing object.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element name="handler-ref" type="refType"/>
+            <!-- actual handler types -->
+            <xs:group ref="handlersGroup"/>
+        </xs:choice>
+    </xs:complexType>
+
+    <xs:complexType name="installHandlerType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines an installation of a handler into one or more loggers.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:all minOccurs="1" maxOccurs="1">
+            <xs:element name="handler-ref" type="refType" minOccurs="1"/>
+            <xs:element name="loggers" minOccurs="1" type="loggersType"/>
+        </xs:all>
+    </xs:complexType>
+
+    <xs:complexType name="handlerBaseType">
+        <xs:annotation>
+            <xs:documentation>
+                The base type for all handlers.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:all>
+            <xs:element name="level" type="refType" minOccurs="0"/>
+            <xs:element name="filter" type="filterType" minOccurs="0"/>
+            <xs:element name="error-manager" type="errorManagerType" minOccurs="0"/>
+            <xs:element name="formatter" type="formatterType" minOccurs="0"/>
+            <xs:element name="loggers" type="loggersType" minOccurs="0"/>
+            <xs:element name="sub-handlers" type="handlersType" minOccurs="0"/>
+            <xs:element name="properties" type="com:propertiesType" minOccurs="0"/>
+        </xs:all>
+        <xs:attribute name="name" type="xs:string" use="optional"/>
+        <xs:attribute name="encoding" type="xs:string" use="optional"/>
+        <xs:attribute name="autoflush" type="xs:boolean" use="optional" default="false"/>
+    </xs:complexType>
+
+    <xs:complexType name="handlerType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a handler of the given class to be instantiated and optionally installed into one or more
+                loggers.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+            <xs:extension base="handlerBaseType">
+                <xs:attribute name="class" type="xs:token" use="required"/>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <xs:complexType name="log4jAppenderType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a log4j appender of the given class to be instantiated and optionally installed into one or more
+                loggers.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+            <xs:extension base="handlerType"/>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <xs:complexType name="consoleHandlerType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a handler which writes to the console.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+            <xs:extension base="handlerBaseType">
+                <xs:attribute name="target" type="consoleTargetType" use="optional" default="System.out"/>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <xs:simpleType name="consoleTargetType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a the target for a console handler (System.out or System.err).
+            </xs:documentation>
+        </xs:annotation>
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="System.out"/>
+            <xs:enumeration value="System.err"/>
+        </xs:restriction>
+    </xs:simpleType>
+
+    <xs:complexType name="fileHandlerType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a handler which writes to a file.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+            <xs:extension base="handlerBaseType">
+                <xs:attribute name="file-name" type="xs:string" use="required"/>
+                <xs:attribute name="append" type="xs:boolean" use="optional"/>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <xs:complexType name="periodicFileHandlerType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a handler which writes to a file, rotating the log after a time period derived from the given
+                suffix string, which should be in a format understood by java.text.SimpleDateFormat.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+            <xs:extension base="fileHandlerType">
+                <xs:attribute name="suffix" type="xs:string" use="required"/>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <xs:complexType name="sizeFileHandlerType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a handler which writes to a file, rotating the log after a the size of the file grows beyond a
+                certain point and keeping a fixed number of backups.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+            <xs:extension base="fileHandlerType">
+                <xs:attribute name="rotate-size" type="xs:string" use="optional" default="500k"/>
+                <xs:attribute name="max-backup-index" type="xs:positiveInteger" use="optional" default="1"/>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <xs:complexType name="asyncHandlerType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a handler which writes to the sub-handlers in an asynchronous thread.  Used for handlers which
+                introduce a substantial amount of lag.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+            <xs:extension base="handlerBaseType">
+                <xs:attribute name="queue-length" type="xs:positiveInteger" use="optional" default="512"/>
+                <xs:attribute name="overflow-action" type="asyncOverflowActionType" use="optional" default="block"/>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <xs:simpleType name="asyncOverflowActionType">
+        <xs:annotation>
+            <xs:documentation>
+                The action to take when the async queue overflows.  Either the calling thread may be blocked, or the
+                message may be discarded.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="block"/>
+            <xs:enumeration value="discard"/>
+        </xs:restriction>
+    </xs:simpleType>
+
+    <!-- Filters -->
+
+    <xs:complexType name="filterType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a named logging filter.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:group ref="simpleFilterGroup"/>
+        <xs:attribute name="name" use="optional"/>
+    </xs:complexType>
+
+    <xs:complexType name="simpleFilterType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a simple filter type.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:group ref="simpleFilterGroup"/>
+    </xs:complexType>
+
+    <xs:complexType name="multiFilterType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a composite filter type.  The "any" filter will return true of any of its constituent filters
+                returns true; the "all" filter will return false if any of its constituent filters returns false.  Both
+                composite filter types are short-circuiting, meaning that if the result can be determined with an earlier
+                filter, later filters are not run.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:group ref="simpleFilterGroup" maxOccurs="unbounded"/>
+    </xs:complexType>
+
+    <xs:group name="simpleFilterGroup">
+        <xs:choice>
+            <xs:element name="all" type="multiFilterType"/>
+            <xs:element name="any" type="multiFilterType"/>
+            <xs:element name="accept"/>
+            <xs:element name="deny"/>
+            <xs:element name="not" type="simpleFilterType"/>
+            <xs:element name="match" type="regexFilterType"/>
+            <xs:element name="replace" type="replaceFilterType"/>
+            <xs:element name="level" type="levelFilterType"/>
+            <xs:element name="level-range" type="levelRangeFilterType"/>
+            <xs:element name="change-level" type="levelChangeFilterType"/>
+            <xs:element name="filter-ref" type="refType"/>
+        </xs:choice>
+    </xs:group>
+
+    <xs:complexType name="regexFilterType">
+        <xs:annotation>
+            <xs:documentation>
+                A regular expression-based filter.  The filter returns true if the pattern matches.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="pattern" type="xs:string" use="required"/>
+    </xs:complexType>
+
+    <xs:complexType name="replaceFilterType">
+        <xs:annotation>
+            <xs:documentation>
+                A regular expression substitution filter.  This filter modifies the log message and always returns true.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="pattern" type="xs:string" use="required"/>
+        <xs:attribute name="replacement" type="xs:string" use="required"/>
+        <xs:attribute name="replace-all" type="xs:boolean" default="true"/>
+    </xs:complexType>
+
+    <xs:complexType name="levelFilterType">
+        <xs:annotation>
+            <xs:documentation>
+                A level filter.  This filter returns true if the log message level matches the parameter.  It is a
+                numerical match; two differently-named levels with the same numeric value will be considered equal.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="level" type="xs:string" use="required"/>
+    </xs:complexType>
+
+    <xs:complexType name="levelRangeFilterType">
+        <xs:annotation>
+            <xs:documentation>
+                A level range filter.  This filter returns true if the log message level matches the range specified
+                by the parameters.  It is a
+                numerical match; two differently-named levels with the same numeric value will be considered equal.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="min-level" type="xs:string" use="required"/>
+        <xs:attribute name="min-inclusive" type="xs:boolean" use="optional" default="true"/>
+        <xs:attribute name="max-level" type="xs:string" use="required"/>
+        <xs:attribute name="max-inclusive" type="xs:boolean" use="optional" default="true"/>
+    </xs:complexType>
+
+    <xs:complexType name="levelChangeFilterType">
+        <xs:annotation>
+            <xs:documentation>
+                A level change filter.  This filter modifies the log message and always returns true.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="level" type="xs:string" use="required"/>
+    </xs:complexType>
+
+    <!-- Formatters -->
+
+    <xs:complexType name="formatterType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a formatter.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:choice minOccurs="1" maxOccurs="1">
+            <xs:element name="pattern-formatter" type="patternFormatterType" maxOccurs="1"/>
+            <xs:element name="formatter-ref" type="refType" maxOccurs="1"/>
+        </xs:choice>
+    </xs:complexType>
+
+    <xs:complexType name="patternFormatterType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a pattern formatter.  See the documentation for org.jboss.logmanager.formatters.FormatStringParser
+                for more information about the format string.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="pattern" type="xs:string" use="required"/>
+        <xs:attribute name="name" type="xs:string" use="optional"/>
+    </xs:complexType>
+
+    <!-- Error managers -->
+
+    <xs:complexType name="errorManagerType">
+        <xs:annotation>
+            <xs:documentation>
+                Defines a handler error-manager.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:choice minOccurs="1" maxOccurs="1">
+            <xs:element name="only-once">
+                <xs:complexType>
+                    <xs:annotation>
+                        <xs:documentation>
+                            An error manager which logs errors to System.err only the first time an error occurs.
+                        </xs:documentation>
+                    </xs:annotation>
+                </xs:complexType>
+            </xs:element>
+        </xs:choice>
+    </xs:complexType>
+</xs:schema>

Added: projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-remoting_3_1.xsd
===================================================================
--- projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-remoting_3_1.xsd	                        (rev 0)
+++ projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-remoting_3_1.xsd	2010-06-15 11:47:44 UTC (rev 106049)
@@ -0,0 +1,137 @@
+<!--
+    ~ JBoss, Home of Professional Open Source
+    ~ Copyright 2009, JBoss Inc., and individual contributors as indicated
+    ~ by the @authors tag. See the copyright.txt in the distribution for a
+    ~ full listing of individual contributors.
+    ~
+    ~ This is free software; you can redistribute it and/or modify it
+    ~ under the terms of the GNU Lesser General Public License as
+    ~ published by the Free Software Foundation; either version 2.1 of
+    ~ the License, or (at your option) any later version.
+    ~
+    ~ This software is distributed in the hope that it will be useful,
+    ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+    ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+    ~ Lesser General Public License for more details.
+    ~
+    ~ You should have received a copy of the GNU Lesser General Public
+    ~ License along with this software; if not, write to the Free
+    ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+    ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+-->
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+    xmlns="urn:jboss:remoting:3.1"
+    xmlns:xnio="urn:jboss:xnio:2.1"
+    targetNamespace="urn:jboss:remoting:3.1"
+    elementFormDefault="qualified"
+    attributeFormDefault="unqualified"
+    version="1.0"
+    >
+    
+    <xs:import namespace="urn:jboss:xnio:2.1"/>
+    
+    <xs:complexType name="remotingType">
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element name="service" type="service"/>
+            <xs:element name="local-client" type="local-client"/>
+            <xs:element name="server" type="server"/>
+            <xs:element name="connection" type="connection"/>
+            <xs:element name="endpoint" type="endpoint"/>
+            <xs:element name="simple-server-authentication" type="simple-server-authentication"/>
+        </xs:choice>
+        <xs:attribute name="endpoint" type="xs:string" use="optional"/>
+    </xs:complexType>
+    
+    <xs:complexType name="server">
+        <xs:all>
+            <xs:element name="options" type="optionsType" minOccurs="0"/>
+            <xs:element name="authentication-handler" type="ref"/>
+        </xs:all>
+        <xs:attribute name="protocol" type="xs:string" default="remote" use="optional"/>
+        <xs:attribute name="name" type="xs:string" use="required"/>
+    </xs:complexType>
+    
+    <xs:complexType name="service">
+        <xs:all>
+            <xs:element name="client-listener" type="ref"/>
+            <xs:element name="request-class" type="ref"/>
+            <xs:element name="reply-class" type="ref"/>
+            <xs:element name="classloader" type="ref" minOccurs="0"/>
+            <xs:element name="options" type="optionsType" minOccurs="0"/>
+        </xs:all>
+        <xs:attribute name="type" type="xs:string" use="required"/>
+        <xs:attribute name="instance-name" type="xs:string" use="optional"/>
+    </xs:complexType>
+    
+    <xs:complexType name="connection">
+        <xs:all>
+            <xs:element name="destination" type="ref"/>
+            <xs:element name="authentication" type="client-authentication" minOccurs="0"/>
+            <xs:element name="options" type="optionsType" minOccurs="0"/>
+        </xs:all>
+        <xs:attribute name="name" type="xs:string" use="required"/>
+    </xs:complexType>
+    
+    <xs:complexType name="client-authentication">
+        <xs:choice>
+            <xs:element name="simple" type="user-entry"/>
+            <xs:element name="callback-handler" type="ref"/>
+        </xs:choice>
+    </xs:complexType>
+    
+    <xs:complexType name="user-entry">
+        <xs:attribute name="user-name" type="xs:string" use="required"/>
+        <xs:attribute name="realm-name" type="xs:string" use="required"/>
+        <xs:attribute name="password" type="xs:string" use="required"/>
+    </xs:complexType>
+    
+    <xs:complexType name="local-client">
+        <xs:all>
+            <xs:element name="request-listener" type="ref"/>
+            <xs:element name="request-class" type="ref"/>
+            <xs:element name="reply-class" type="ref"/>
+        </xs:all>
+        <xs:attribute name="name" type="xs:string" use="required"/>
+    </xs:complexType>
+    
+    <xs:complexType name="endpoint">
+        <xs:all>
+            <xs:element name="executor" type="ref"/>
+            <xs:element name="options" type="optionsType" minOccurs="0"/>
+            <xs:element name="tcp-connector" type="ref"/>
+            <xs:element name="ssl-connector" type="ref" minOccurs="0"/>
+        </xs:all>
+        <xs:attribute name="name" type="xs:string" use="required"/>
+        <xs:attribute name="default" type="xs:boolean" use="optional" default="false"/>
+    </xs:complexType>
+    
+    <xs:complexType name="simple-server-authentication">
+        <xs:sequence minOccurs="0" maxOccurs="unbounded">
+            <xs:element name="entry" type="user-entry"/>
+        </xs:sequence>
+        <xs:attribute name="name" type="xs:string" use="required"/>
+    </xs:complexType>
+    
+    <xs:complexType name="ref">
+        <xs:attribute name="name" type="xs:string" use="required"/> 
+    </xs:complexType>
+    
+    <xs:complexType name="optionsType">
+        <xs:sequence minOccurs="0" maxOccurs="unbounded">
+            <xs:element name="option" type="optionType"/>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="optionType">
+        <xs:annotation>
+            <xs:documentation>
+                <![CDATA[An org.jboss.xnio.Option defined in a Java class.  If no class name is given, org.jboss.xnio.Options is asssumed.]]>
+            </xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="class" type="xs:string" use="optional"/>
+        <xs:attribute name="name" type="xs:string" use="required"/>
+        <xs:attribute name="value" type="xs:string" use="required"/>
+    </xs:complexType>
+
+    <xs:element name="remoting" type="remotingType"/>
+</xs:schema>

Added: projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-threads_2_0.xsd
===================================================================
--- projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-threads_2_0.xsd	                        (rev 0)
+++ projects/profileservice/trunk/domain/src/test/resources/schemas/jboss-threads_2_0.xsd	2010-06-15 11:47:44 UTC (rev 106049)
@@ -0,0 +1,449 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  ~ JBoss, Home of Professional Open Source.
+  ~ Copyright 2009, Red Hat Middleware LLC, and individual contributors
+  ~ as indicated by the @author tags. See the copyright.txt file in the
+  ~ distribution for a full listing of individual contributors.
+  ~
+  ~ This is free software; you can redistribute it and/or modify it
+  ~ under the terms of the GNU Lesser General Public License as
+  ~ published by the Free Software Foundation; either version 2.1 of
+  ~ the License, or (at your option) any later version.
+  ~
+  ~ This software is distributed in the hope that it will be useful,
+  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ Lesser General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU Lesser General Public
+  ~ License along with this software; if not, write to the Free
+  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  -->
+
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+            xmlns:xhtml="http://www.w3.org/1999/xhtml"
+            targetNamespace="urn:jboss:threads:2.0"
+            xmlns="urn:jboss:threads:2.0"
+            elementFormDefault="qualified"
+            attributeFormDefault="unqualified"
+            version="1.0">
+
+    <!-- Root element -->
+    <xsd:element name="threads" type="threads"/>
+
+    <xsd:complexType name="threads">
+        <xsd:annotation>
+            <xsd:documentation>
+                The root threads deployment element.  Specify thread groups, thread factories, and executors within.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:choice minOccurs="0" maxOccurs="unbounded">
+            <xsd:element name="thread" type="thread"/>
+            <xsd:element name="thread-group" type="thread-group"/>
+            <xsd:element name="thread-factory" type="thread-factory"/>
+            <xsd:element name="thread-factory-executor" type="thread-factory-executor"/>
+            <xsd:element name="unbounded-queue-thread-pool-executor" type="unbounded-queue-thread-pool-executor"/>
+            <xsd:element name="bounded-queue-thread-pool-executor" type="bounded-queue-thread-pool-executor"/>
+            <xsd:element name="queueless-thread-pool-executor" type="queueless-thread-pool-executor"/>
+            <xsd:element name="scheduled-thread-pool-executor" type="scheduled-thread-pool-executor"/>
+            <xsd:element name="unbounded-ordered-executor" type="unbounded-ordered-executor"/>
+            <xsd:element name="bounded-ordered-executor" type="bounded-ordered-executor"/>
+            <xsd:element name="direct-executor" type="direct-executor"/>
+        </xsd:choice>
+    </xsd:complexType>
+
+    <xsd:complexType name="thread">
+        <xsd:annotation>
+            <xsd:documentation>
+                A thread that is automatically started up.  When shutdown is requested, the thread's interrupt() method
+                is called.
+
+                The "name" attribute is the bean name of the created thread, used for injection.
+                The optional "daemon" attribute specifies whether it is a daemon or non-daemon thread (not
+                specifying this attribute will cause the thread to inherit the daemon status from
+                its thread factory).  The optional "priority" attribute can be used to specify the priority of
+                the thread.
+
+                The "task" element specifies the Runnable task for the new thread.
+                The "thread-factory" element specifies the bean name of a specific thread factory to be used to
+                create this thread. The optional "exception-handler" element may be used to specify an
+                uncaught exception handler for the thread.  The optional "task-filter" element may be used to
+                specify a filter for the task handed to this thread.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:all>
+            <xsd:element name="task" type="ref"/>
+            <xsd:element name="thread-factory" type="ref"/>
+            <xsd:element name="exception-handler" type="ref" minOccurs="0"/>
+            <xsd:element name="task-filter" type="task-filter" minOccurs="0"/>
+        </xsd:all>
+        <xsd:attribute name="name" type="xsd:string" use="required"/>
+        <xsd:attribute name="daemon" type="xsd:boolean" use="optional"/>
+        <xsd:attribute name="priority" type="priority" use="optional"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="thread-group">
+        <xsd:annotation>
+            <xsd:documentation>
+                A thread group that can be referenced by a bean name.  The "name" attribute is the
+                bean name of the created thread group, used for injection.  The "group-name" attribute is
+                the JDK name of the thread group; if not specified, the bean name is used.
+                The optional "daemon" attribute specifies whether
+                threads should default to being daemon threads or non-daemon threads (not
+                specifying this attribute will cause the thread group to inherit the daemon status from
+                its parent).  The optional "max-priority" attribute can be used to limit the priority of
+                threads within the group.  The optional "parent-thread-group" element specifies the parent thread
+                group (by bean name).
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:all>
+            <xsd:element name="parent-thread-group" type="ref" minOccurs="0"/>
+        </xsd:all>
+        <xsd:attribute name="name" type="xsd:string" use="required"/>
+        <xsd:attribute name="group-name" type="xsd:string" use="optional"/>
+        <xsd:attribute name="daemon" type="xsd:boolean" use="optional"/>
+        <xsd:attribute name="max-priority" type="priority" use="optional"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="thread-factory">
+        <xsd:annotation>
+            <xsd:documentation>
+                A thread factory (implementing java.util.concurrent.ThreadFactory).  The "name" attribute is
+                the bean name of the created thread factory.  The optional "daemon" attribute
+                specifies whether threads created by this factory should be forced to be daemon threads, or forced to be
+                non-daemon threads (not specifying this attribute will cause the thread to inherit the daemon
+                status from its group).  The optional "priority" attribute may be used to specify the thread
+                priority of created threads.
+
+                The optional "thread-group" element specifies the bean name of a specific thread group to be used for
+                threads created by this factory. The optional "exception-handler" element may be used to specify an
+                uncaught exception handler for the thread factory.  The optional "task-filter" element may be used to
+                specify a filter for the task handed to each created thread.
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:all>
+            <xsd:element name="thread-group" type="ref" minOccurs="0"/>
+            <xsd:element name="exception-handler" type="ref" minOccurs="0"/>
+            <xsd:element name="task-filter" type="task-filter" minOccurs="0"/>
+        </xsd:all>
+        <xsd:attribute name="name" type="xsd:string" use="required"/>
+        <xsd:attribute name="daemon" type="xsd:boolean" use="optional"/>
+        <xsd:attribute name="thread-name-pattern" type="xsd:string" use="optional"/>
+        <xsd:attribute name="priority" type="priority" use="optional"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="thread-factory-executor">
+        <xsd:annotation>
+            <xsd:documentation>
+                An executor which simply executes each task in a new thread.
+
+                The "name" attribute is the bean name of the created executor.
+                The "blocking" attribute specifies whether the submitter thread will block if the maximum number of threads
+                are already active.
+
+                The optional "thread-factory" element specifies the bean name of a specific thread factory to
+                use to create worker threads.  The optional "task-filter" element may be used to
+                specify a filter for each executed task.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:all>
+            <xsd:element name="thread-factory" type="ref" minOccurs="0"/>
+            <xsd:element name="task-filter" type="task-filter" minOccurs="0"/>
+            <xsd:element name="max-threads" type="scaled-count" minOccurs="0"/>
+        </xsd:all>
+        <xsd:attribute name="name" use="required"/>
+        <xsd:attribute name="blocking" use="optional" type="xsd:boolean"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="unbounded-queue-thread-pool-executor">
+        <xsd:annotation>
+            <xsd:documentation>
+                A thread pool executor with an unbounded queue.  Such a thread pool has a core size and a queue with no
+                upper bound.  When a task is submitted, if the number of running threads is less than the core size,
+                a new thread is created.  Otherwise, the task is placed in queue.  If too many tasks are allowed to be
+                submitted to this type of executor, an out of memory condition may occur.
+
+                The "name" attribute is the bean name of the created executor.
+
+                The nested "max-threads" element must be used to specify the thread pool size.  The nested
+                "keepalive-time" element may used to specify the amount of time that pool threads should
+                be kept running when idle; if not specified, threads will run until the executor is shut down.
+                The optional "task-filter" element may be used to specify a filter for each executed task. The
+                "thread-factory" element specifies the bean name of a specific thread factory to use to create worker
+                threads.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:all>
+            <xsd:element name="max-threads" type="scaled-count"/>
+            <xsd:element name="keepalive-time" type="time" minOccurs="0"/>
+            <xsd:element name="task-filter" type="task-filter" minOccurs="0"/>
+            <xsd:element name="thread-factory" type="ref" minOccurs="0"/>
+        </xsd:all>
+        <xsd:attribute name="name" use="required" type="xsd:string"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="bounded-queue-thread-pool-executor">
+        <xsd:annotation>
+            <xsd:documentation>
+                A thread pool executor with a bounded queue.  Such a thread pool has a core and maximum size and a
+                specified queue length.  When a task is submitted, if the number of running threads is less than the
+                core size, a new thread is created.  Otherwise, if there is room in the queue, the task is enqueued.
+                Otherwise, if the number of running threads is less than the maximum size, a new thread is created.
+                Otherwise, if blocking is enabled, the caller blocks until room becomes available in the queue.
+                Otherwise, the task is handed off to the designated handoff executor, if one is specified.  Otherwise,
+                the task is rejected.
+
+                The "name" attribute is the bean name of the created executor.  The "allow-core-timeout" attribute
+                specifies whether core threads may time out; if false, only threads above the core size will time out.
+                The "blocking" attribute specifies whether the submitter thread will block if no space is available in
+                this executor.
+
+                The optional "core-threads" element may be used to specify the core thread pool size which is smaller
+                than the maximum pool size.  The required "max-threads" element specifies the maximum thread pool size.
+                The required "queue-length" element specifies the queue length.  The nested "keepalive-time" element may
+                used to specify the amount of time that threads beyond the core pool size should be kept running when idle.
+                The optional "task-filter" element may be used to specify a filter for each executed task.  The optional
+                "thread-factory" element specifies the bean name of a specific thread factory to use to create worker
+                threads.  The optional "handoff-executor" element specifies an executor to delegate tasks to in the
+                event that a task cannot be accepted.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:all>
+            <xsd:element name="core-threads" type="scaled-count" minOccurs="0"/>
+            <xsd:element name="queue-length" type="scaled-count"/>
+            <xsd:element name="max-threads" type="scaled-count"/>
+            <xsd:element name="keepalive-time" type="time" minOccurs="0"/>
+            <xsd:element name="task-filter" type="task-filter" minOccurs="0"/>
+            <xsd:element name="thread-factory" type="ref" minOccurs="0"/>
+            <xsd:element name="handoff-executor" type="ref" minOccurs="0"/>
+        </xsd:all>
+        <xsd:attribute name="name" use="required" type="xsd:string"/>
+        <xsd:attribute name="allow-core-timeout" use="optional" type="xsd:boolean"/>
+        <xsd:attribute name="blocking" use="optional" type="xsd:boolean"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="queueless-thread-pool-executor">
+        <xsd:annotation>
+            <xsd:documentation>
+                A thread pool executor with no queue.  When a task is submitted, if the number of running threads is
+                less than the maximum size, a new thread is created.  Otherwise, if blocking is enabled, the caller
+                blocks until another thread completes its task and accepts the new one.  Otherwise, the task is handed
+                off to the designated handoff executor, if one is specified.  Otherwise, the task is rejected.
+
+                The "name" attribute is the bean name of the created executor.  The "blocking" attribute specifies
+                whether the submitter thread will block if no space is available in this executor.
+
+                The "max-threads" element specifies the number of threads to use for this executor before
+                tasks cannot be accepted anymore.  The optional "keepalive-time" is used to specify the amount of time
+                that threads should be kept running when idle; by default threads run indefinitely.  The optional
+                "task-filter" element may be used to specify a filter for each executed task.  The optional
+                "thread-factory" element specifies the bean name of a specific thread factory to use to create worker
+                threads.  The optional "handoff-executor" element specifies an executor to delegate tasks to in the
+                event that a task cannot be accepted.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:all>
+            <xsd:element name="max-threads" type="scaled-count"/>
+            <xsd:element name="keepalive-time" type="time" minOccurs="0"/>
+            <xsd:element name="task-filter" type="task-filter" minOccurs="0"/>
+            <xsd:element name="thread-factory" type="ref" minOccurs="0"/>
+            <xsd:element name="handoff-executor" type="ref" minOccurs="0"/>
+        </xsd:all>
+        <xsd:attribute name="name" use="required" type="xsd:string"/>
+        <xsd:attribute name="blocking" use="optional" type="xsd:boolean"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="scheduled-thread-pool-executor">
+        <xsd:annotation>
+            <xsd:documentation>
+                A scheduled thread pool executor.  The "name" attribute is the bean name of the created executor.  The
+                "thread-factory" attribute specifies the bean name of the thread factory to use to create worker
+                threads.  The nested "max-threads" element may be used to specify the thread pool size.  The nested
+                "keepalive-time" element is used to specify the amount of time that threads should be kept running when idle.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:all>
+            <xsd:element name="max-threads" type="scaled-count"/>
+            <xsd:element name="keepalive-time" type="time" minOccurs="0"/>
+            <xsd:element name="task-filter" type="task-filter" minOccurs="0"/>
+            <xsd:element name="thread-factory" type="ref" minOccurs="0"/>
+        </xsd:all>
+        <xsd:attribute name="name" use="required" type="xsd:string"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="unbounded-ordered-executor">
+        <xsd:annotation>
+            <xsd:documentation>
+                An executor which runs tasks in order using the given delegate executor.
+
+                The "name" attribute specifies the bean name of the created executor.
+
+                The "parent-executor" element specifies the delegate executor which runs the actual tasks.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:all>
+            <xsd:element name="parent-executor" type="ref"/>
+        </xsd:all>
+        <xsd:attribute name="name" use="required" type="xsd:string"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="bounded-ordered-executor">
+        <xsd:annotation>
+            <xsd:documentation>
+                An executor which runs tasks in order using the given delegate executor, with a bounded queue size.
+
+                The "name" attribute specifies the bean name of the created executor.  The "blocking" attribute specifies whether
+                the submitting task should block rather than hand off or reject the task if the queue is full.
+
+                The "parent-executor" element specifies the delegate executor which runs the actual tasks.  The
+                "queue-length" element specifies the size of the queue to use.  The "handoff-executor" element specifies
+                the executor to send a task to if the queue is full when the task is submitted.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:all>
+            <xsd:element name="parent-executor" type="ref"/>
+            <xsd:element name="queue-length" type="scaled-count"/>
+            <xsd:element name="handoff-executor" type="ref" minOccurs="0"/>
+        </xsd:all>
+        <xsd:attribute name="name" use="required" type="xsd:string"/>
+        <xsd:attribute name="blocking" use="optional" type="xsd:boolean"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="direct-executor">
+        <xsd:annotation>
+            <xsd:documentation>
+                An executor which runs the submitted task in the calling thread, with an optional filter.
+
+                The "task-filter" element specifies any filter which should be applied to tasks on submission.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:all>
+            <xsd:element name="task-filter" type="task-filter" minOccurs="0"/>
+        </xsd:all>
+        <xsd:attribute name="name" type="xsd:string" use="required"/>
+    </xsd:complexType>
+
+    <!-- Support types-->
+
+    <xsd:complexType name="task-filter">
+        <xsd:annotation>
+            <xsd:documentation>
+                A filter specification for tasks.  The filter elements are applied in order.  The "direct-executor-name"
+                attribute optionally specifies a reference to a specific org.jboss.threads.DirectExecutor to delegate
+                the final task to.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:choice minOccurs="0" maxOccurs="unbounded">
+            <xsd:element name="thread-name" type="string-value"/>
+            <xsd:element name="thread-name-notation" type="string-value"/>
+            <xsd:element name="log-exceptions" type="logger-ref"/>
+            <xsd:element name="clear-tls"/>
+            <xsd:element name="clear-context-classloader"/>
+            <xsd:element name="initializer" type="ref"/>
+            <xsd:element name="cleaner" type="ref"/>
+        </xsd:choice>
+        <xsd:attribute name="direct-executor-name" type="xsd:string" use="optional"/>
+    </xsd:complexType>
+
+    <xsd:simpleType name="priority">
+        <xsd:annotation>
+            <xsd:documentation>
+                A priority which can range from 1 to 10 (inclusive).  See <xhtml:a href="http://java.sun.com/javase/6/docs/api/java/lang/Thread.html#setPriority(int)">Thread.setPriority(int)</xhtml:a> for more information.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:restriction base="xsd:integer">
+            <xsd:minInclusive value="1"/>
+            <xsd:maxInclusive value="10"/>
+        </xsd:restriction>
+    </xsd:simpleType>
+
+    <xsd:complexType name="ref">
+        <xsd:annotation>
+            <xsd:documentation>
+                A reference to another bean.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:attribute name="name" type="xsd:string" use="required"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="string-value">
+        <xsd:attribute name="value" type="xsd:string" use="required"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="logger-ref">
+        <xsd:annotation>
+            <xsd:documentation>
+                A reference to a logger category and level.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:attribute name="category" type="xsd:string" use="required"/>
+        <xsd:attribute name="level" type="xsd:string" use="optional"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="interrupt-handler">
+        <xsd:attribute name="name" type="xsd:string" use="required"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="scaled-count">
+        <xsd:annotation>
+            <xsd:documentation>
+                A scaled size designation.  The "count" attribute specifies a flat quantity.  The
+                "per-cpu" attribute specifies a quantity per CPU.  The numbers are added and rounded off
+                to an integer value.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:attribute name="count" type="xsd:float" use="optional"/>
+        <xsd:attribute name="per-cpu" type="xsd:float" use="optional"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="time">
+        <xsd:annotation>
+            <xsd:documentation>
+                An amount of time.  Comprised of a time value and a unit value.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:attribute name="time" type="xsd:integer" use="required"/>
+        <xsd:attribute name="unit" type="time-unit-name" use="required"/>
+    </xsd:complexType>
+
+    <xsd:simpleType name="time-unit-name">
+        <xsd:annotation>
+            <xsd:documentation>
+                The name of a unit of time.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:restriction base="xsd:string">
+
+            <xsd:enumeration value="s"/>
+            <xsd:enumeration value="sec"/>
+            <xsd:enumeration value="seconds"/>
+
+            <xsd:enumeration value="m"/>
+            <xsd:enumeration value="min"/>
+            <xsd:enumeration value="minutes"/>
+
+            <xsd:enumeration value="ms"/>
+            <xsd:enumeration value="milliseconds"/>
+
+            <xsd:enumeration value="ns"/>
+            <xsd:enumeration value="nanoseconds"/>
+
+            <xsd:enumeration value="h"/>
+            <xsd:enumeration value="hours"/>
+
+            <xsd:enumeration value="d"/>
+            <xsd:enumeration value="days"/>
+
+            <xsd:enumeration value="w"/>
+            <xsd:enumeration value="weeks"/>
+
+            <xsd:enumeration value="mon"/>
+            <xsd:enumeration value="months"/>
+
+        </xsd:restriction>
+    </xsd:simpleType>
+
+</xsd:schema>

Added: projects/profileservice/trunk/domain/src/test/resources/schemas/security-config_5_0.xsd
===================================================================
--- projects/profileservice/trunk/domain/src/test/resources/schemas/security-config_5_0.xsd	                        (rev 0)
+++ projects/profileservice/trunk/domain/src/test/resources/schemas/security-config_5_0.xsd	2010-06-15 11:47:44 UTC (rev 106049)
@@ -0,0 +1,303 @@
+<!-- $Id: security-config_5_0.xsd 65769 2007-10-02 19:17:34Z anil.saldhana at jboss.com $ -->
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+            xmlns:jbsx="urn:jboss:security-config:5.0" 
+            xmlns="urn:jboss:security-config:5.0" 
+            xmlns:jbxb="http://www.jboss.org/xml/ns/jbxb" 
+            targetNamespace="urn:jboss:security-config:5.0" 
+            elementFormDefault="qualified"
+            attributeFormDefault="unqualified">
+   <xsd:annotation>
+      <xsd:appinfo>
+         <jbxb:schemaBindings>
+            <jbxb:package name="org.jboss.security.config"/>
+            <jbxb:ignoreUnresolvedFieldOrClass>
+               false</jbxb:ignoreUnresolvedFieldOrClass>
+         </jbxb:schemaBindings>
+      </xsd:appinfo>
+   </xsd:annotation>
+   <xsd:element name="policy" type="jbsx:PolicyConfig"/>
+   <xsd:complexType name="PolicyConfig">
+      <xsd:annotation>
+         <xsd:appinfo>
+            <jbxb:class impl="org.jboss.security.config.PolicyConfig"/>
+         </xsd:appinfo>
+      </xsd:annotation>
+      <xsd:sequence>
+         <xsd:element ref="jbsx:application-policy" maxOccurs="unbounded"/>
+      </xsd:sequence>
+   </xsd:complexType>
+   <xsd:element name="application-policy">
+      <xsd:complexType>
+         <xsd:annotation>
+            <xsd:appinfo>
+               <jbxb:class impl="org.jboss.security.config.ApplicationPolicyContainer"/>
+               <jbxb:addMethod name="add" valueType="org.jboss.security.config.ApplicationPolicy"/>
+            </xsd:appinfo>
+         </xsd:annotation>
+         <xsd:sequence>
+            <xsd:choice>
+               <xsd:element ref="jbsx:authentication"/>
+               <xsd:element ref="jbsx:authentication-jaspi"/>
+            </xsd:choice>
+            <xsd:element ref="jbsx:authorization" minOccurs="0"/>
+            <xsd:element ref="jbsx:acl" minOccurs="0"/>
+            <!-- rolemapping is here for backwards compatibility -->
+            <xsd:element ref="jbsx:rolemapping" minOccurs="0"/>
+            <xsd:element ref="jbsx:mapping" minOccurs="0"/>
+            <xsd:element ref="jbsx:audit" minOccurs="0"/>
+            <xsd:element ref="jbsx:identity-trust" minOccurs="0"/>
+         </xsd:sequence>
+         <xsd:attribute name="name" type="xsd:string" use="required"/>
+         <xsd:attribute name="extends" type="xsd:string"/>
+      </xsd:complexType>
+   </xsd:element>
+   <xsd:element name="authentication" type="jbsx:authenticationInfo"/>
+   <xsd:element name="authentication-jaspi" type="jbsx:authenticationJaspiInfo"/>
+   <xsd:element name="authorization" type="jbsx:authorizationInfo"/>
+   <xsd:element name="acl" type="jbsx:aclInfo"/>
+   <xsd:element name="rolemapping" type="jbsx:mappingInfo"/>
+   <xsd:element name="mapping" type="jbsx:mappingInfo"/>
+   <xsd:element name="audit" type="jbsx:auditInfo"/>
+   <xsd:element name="identity-trust" type="jbsx:identityTrustInfo"/>
+   <xsd:complexType name="authenticationInfo">
+      <xsd:annotation>
+         <xsd:appinfo>
+            <jbxb:skip/>
+         </xsd:appinfo>
+      </xsd:annotation>
+      <xsd:sequence>
+         <xsd:element ref="jbsx:login-module" maxOccurs="unbounded"/>
+      </xsd:sequence>
+   </xsd:complexType>
+   <xsd:complexType name="authenticationJaspiInfo">
+      <xsd:annotation>
+         <xsd:appinfo>
+            <jbxb:skip/>
+         </xsd:appinfo>
+      </xsd:annotation>
+      <xsd:sequence>
+         <xsd:element ref="jbsx:login-module-stack" maxOccurs="unbounded"/>
+         <xsd:element ref="jbsx:auth-module" maxOccurs="unbounded"/>
+      </xsd:sequence>
+   </xsd:complexType>
+   <xsd:complexType name="authorizationInfo">
+      <xsd:annotation>
+         <xsd:appinfo>
+            <jbxb:skip/>
+         </xsd:appinfo>
+      </xsd:annotation>
+      <xsd:sequence>
+         <xsd:element ref="jbsx:policy-module"  maxOccurs="unbounded"/>
+      </xsd:sequence>
+   </xsd:complexType>
+   <xsd:complexType name="aclInfo">
+      <xsd:annotation>
+         <xsd:appinfo>
+            <jbxb:class impl="org.jboss.security.acl.config.ACLInfoContainer"/>
+            <jbxb:addMethod name="addACLInfo"/>
+         </xsd:appinfo>
+      </xsd:annotation>
+      <xsd:sequence>
+         <xsd:element ref="jbsx:acl-module"  maxOccurs="unbounded"/>
+      </xsd:sequence>
+   </xsd:complexType>
+   <xsd:complexType name="mappingInfo">
+      <xsd:annotation>
+         <xsd:appinfo>
+            <jbxb:class impl="org.jboss.security.mapping.config.MappingConfigContainer"/>
+            <jbxb:addMethod name="addMappingInfo"/>
+         </xsd:appinfo>
+      </xsd:annotation>
+      <xsd:sequence>
+         <xsd:element ref="jbsx:mapping-module" maxOccurs="unbounded"/>
+      </xsd:sequence>
+   </xsd:complexType>
+   <xsd:complexType name="auditInfo">
+      <xsd:annotation>
+         <xsd:appinfo>
+            <jbxb:skip/>
+         </xsd:appinfo>
+      </xsd:annotation>
+      <xsd:sequence>
+         <xsd:element ref="jbsx:provider-module"  maxOccurs="unbounded"/>
+      </xsd:sequence>
+   </xsd:complexType>
+   <xsd:complexType name="identityTrustInfo">
+      <xsd:annotation>
+         <xsd:appinfo>
+            <jbxb:skip/>
+         </xsd:appinfo>
+      </xsd:annotation>
+      <xsd:sequence>
+         <xsd:element ref="jbsx:trust-module"  maxOccurs="unbounded"/>
+      </xsd:sequence>
+   </xsd:complexType>
+    
+   
+   <xsd:simpleType name="module-option-flag">
+      <xsd:annotation>
+           <xsd:documentation>The flag attribute controls how a login module
+              participates in the overall authentication proceedure.
+              Required - The LoginModule is required to succeed. If it
+              succeeds or fails, authentication still continues to proceed
+              down the LoginModule list.
+
+              Requisite - The LoginModule is required to succeed. If it succeeds,
+              authentication continues down the LoginModule list. If it fails,
+              control immediately returns to the application (authentication does not proceed
+              down the LoginModule list).
+
+              Sufficient - The LoginModule is  not required to succeed. If it does
+              succeed, control immediately returns to the application (authentication
+              does not proceed down the LoginModule list). If it fails,
+              authentication continues down the LoginModule list.
+                  
+              Optional - The LoginModule is not required to succeed. If it succeeds or
+              fails, authentication still continues to proceed down the
+              LoginModule list.
+                  
+              The overall authentication succeeds only if
+              all required and requisite LoginModules succeed. If a
+              sufficient LoginModule is configured and succeeds, then only
+              the required and requisite LoginModules prior to that
+              sufficient LoginModule need to have succeeded for the overall
+              authentication to succeed. If no required or requisite
+              LoginModules are configured for an application, then at least
+              one sufficient or optional LoginModule must succeed.
+           </xsd:documentation>
+        </xsd:annotation> 
+      <xsd:restriction base="xsd:string">
+         <xsd:enumeration value="required"/>
+         <xsd:enumeration value="requisite"/>
+         <xsd:enumeration value="sufficient"/>
+         <xsd:enumeration value="optional"/>
+      </xsd:restriction>
+   </xsd:simpleType>
+
+   <xsd:element name="login-module" type="jbsx:loginModuleInfo"/>
+   <xsd:complexType name="loginModuleInfo">
+      <xsd:annotation>
+         <xsd:appinfo>
+            <jbxb:class impl="org.jboss.security.auth.login.AppConfigurationEntryHolder"/>
+         </xsd:appinfo>
+      </xsd:annotation>
+      <xsd:sequence>
+         <xsd:element ref="jbsx:module-option" minOccurs="0" maxOccurs="unbounded"/>
+      </xsd:sequence>
+      <xsd:attribute name="code" type="xsd:string" use="required"/>
+      <xsd:attribute name="flag" type="jbsx:module-option-flag" use="required"/>
+   </xsd:complexType>
+   
+   <xsd:element name="module-option">
+      <xsd:complexType mixed="true">
+         <xsd:annotation>
+            <xsd:appinfo>
+               <!-- ModuleOption declares a constructor that takes name as a parameter
+                 while the value should be set with the setter.
+               
+                 This use-case is not supported out-of-the-box. So, we use this container. -->
+               <jbxb:class impl="org.jboss.security.auth.login.ModuleOptionContainer"/>
+            </xsd:appinfo>
+         </xsd:annotation>
+         <xsd:sequence>
+            <xsd:any namespace="##other" minOccurs="0"/>
+         </xsd:sequence>
+         <xsd:attribute name="name" type="xsd:string" use="required"/>
+      </xsd:complexType>
+   </xsd:element>
+   <xsd:element name="login-module-stack">
+      <xsd:complexType>
+         <xsd:annotation>
+            <xsd:appinfo>
+               <jbxb:class impl="org.jboss.security.auth.login.LoginModuleStackContainer"/>
+            </xsd:appinfo>
+         </xsd:annotation>
+         <xsd:sequence>
+            <xsd:element ref="jbsx:login-module" maxOccurs="unbounded"/>
+         </xsd:sequence>
+         <xsd:attribute name="name" type="xsd:string" use="required"/>
+      </xsd:complexType>
+   </xsd:element>
+   <xsd:element name="auth-module" type="jbsx:authModuleInfo"/>
+   <xsd:complexType name="authModuleInfo">
+      <xsd:annotation>
+         <xsd:appinfo>
+            <jbxb:class impl="org.jboss.security.auth.container.config.AuthModuleEntryHolder"/>
+         </xsd:appinfo>
+      </xsd:annotation>
+      <xsd:sequence>
+         <xsd:element ref="jbsx:module-option" minOccurs="0" maxOccurs="unbounded"/>
+      </xsd:sequence>
+      <xsd:attribute name="code" type="xsd:string" use="required"/>
+      <xsd:attribute name="login-module-stack-ref" type="xsd:string"/>
+   </xsd:complexType>
+   <xsd:element name="policy-module">
+      <xsd:complexType>
+         <xsd:annotation>
+            <xsd:appinfo>
+               <jbxb:class impl="org.jboss.security.authorization.config.AuthorizationConfigEntryHolder"/>
+            </xsd:appinfo>
+         </xsd:annotation>
+         <xsd:sequence>
+            <xsd:element ref="jbsx:module-option" minOccurs="0" maxOccurs="unbounded"/>
+         </xsd:sequence>
+         <xsd:attribute name="code" type="xsd:string" use="required"/>
+         <xsd:attribute name="flag" type="jbsx:module-option-flag" use="required"/>
+      </xsd:complexType>
+   </xsd:element>
+   <xsd:element name="acl-module">
+      <xsd:complexType>
+         <xsd:annotation>
+            <xsd:appinfo>
+               <jbxb:class impl="org.jboss.security.acl.config.ACLProviderEntryHolder"/>
+            </xsd:appinfo>
+         </xsd:annotation>
+         <xsd:sequence>
+            <xsd:element ref="jbsx:module-option" minOccurs="0" maxOccurs="unbounded"/>
+         </xsd:sequence>
+         <xsd:attribute name="code" type="xsd:string" use="required"/>
+         <xsd:attribute name="flag" type="module-option-flag" use="required"/>
+      </xsd:complexType>
+   </xsd:element>
+   <xsd:element name="mapping-module">
+      <xsd:complexType>
+         <xsd:annotation>
+            <xsd:appinfo>
+               <jbxb:class impl="org.jboss.security.mapping.config.MappingConfigEntryHolder"/>
+            </xsd:appinfo>
+         </xsd:annotation>
+         <xsd:sequence>
+            <xsd:element ref="jbsx:module-option" minOccurs="0" maxOccurs="unbounded"/>
+         </xsd:sequence>
+         <xsd:attribute name="type" type="xsd:string" use="optional"/>
+         <xsd:attribute name="code" type="xsd:string" use="required"/>
+      </xsd:complexType>
+   </xsd:element>
+   <xsd:element name="provider-module">
+      <xsd:complexType>
+         <xsd:annotation>
+            <xsd:appinfo>
+               <jbxb:class impl="org.jboss.security.audit.config.AuditConfigEntryHolder"/>
+            </xsd:appinfo>
+         </xsd:annotation>
+         <xsd:sequence>
+            <xsd:element ref="jbsx:module-option" minOccurs="0" maxOccurs="unbounded"/>
+         </xsd:sequence>
+         <xsd:attribute name="code" type="xsd:string" use="required"/>
+      </xsd:complexType>
+   </xsd:element>
+   <xsd:element name="trust-module">
+      <xsd:complexType>
+         <xsd:annotation>
+            <xsd:appinfo>
+               <jbxb:class impl="org.jboss.security.identitytrust.config.IdentityTrustConfigEntryHolder"/>
+            </xsd:appinfo>
+         </xsd:annotation>
+         <xsd:sequence>
+            <xsd:element ref="jbsx:module-option" minOccurs="0" maxOccurs="unbounded"/>
+         </xsd:sequence>
+         <xsd:attribute name="code" type="xsd:string" use="required"/>
+         <xsd:attribute name="flag" type="jbsx:module-option-flag" use="required"/>
+      </xsd:complexType>
+   </xsd:element>
+</xsd:schema>



More information about the jboss-cvs-commits mailing list