http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/client/editor/impl/Tests.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/client/editor/impl/Tests.gwt.xml
 
b/wave/src/test/resources/org/waveprotocol/wave/client/editor/impl/Tests.gwt.xml
new file mode 100644
index 0000000..23a6fce
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/client/editor/impl/Tests.gwt.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<module>
+  <inherits name="com.google.gwt.user.User"/>
+  <inherits name="org.waveprotocol.wave.client.editor.Editor"/>
+  <inherits name="org.waveprotocol.wave.client.editor.testing.Testing"/>
+  <inherits name="org.waveprotocol.wave.client.scheduler.testing.Testing"/>
+  <inherits name="org.waveprotocol.wave.client.editor.restrict_permutations"/>
+  <inherits name="org.waveprotocol.wave.model.Model"/>
+   
+  <source path=""/>
+    
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/client/editor/integration/Tests.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/client/editor/integration/Tests.gwt.xml
 
b/wave/src/test/resources/org/waveprotocol/wave/client/editor/integration/Tests.gwt.xml
new file mode 100644
index 0000000..481af31
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/client/editor/integration/Tests.gwt.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<module>
+  <inherits name="com.google.gwt.user.User"/>
+  <inherits name="org.waveprotocol.wave.client.editor.Editor"/>
+  <inherits name="org.waveprotocol.wave.client.editor.testing.Testing"/>
+  <inherits 
name="org.waveprotocol.wave.client.editor.testtools.TestTools_Gwt"/>
+  <inherits name="org.waveprotocol.wave.client.scheduler.testing.Testing"/>
+  <inherits name="org.waveprotocol.wave.client.editor.restrict_permutations"/>
+  <inherits name="org.waveprotocol.wave.model.Model"/>
+   
+  <source path=""/>
+    
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/client/editor/keys/Tests.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/client/editor/keys/Tests.gwt.xml
 
b/wave/src/test/resources/org/waveprotocol/wave/client/editor/keys/Tests.gwt.xml
new file mode 100644
index 0000000..0729b30
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/client/editor/keys/Tests.gwt.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<module>
+  <inherits name="com.google.gwt.user.User"/>
+  <inherits name="org.waveprotocol.wave.client.editor.Editor"/>
+  <inherits name="org.waveprotocol.wave.client.editor.testing.Testing"/>
+  <inherits name="org.waveprotocol.wave.client.scheduler.testing.Testing"/>
+  <inherits name="org.waveprotocol.wave.client.editor.restrict_permutations"/>
+  <inherits name="org.waveprotocol.wave.model.Model"/>
+  <inherits name="org.waveprotocol.wave.client.widget.popup.simple.Simple"/>
+   
+  <source path=""/>
+    
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/client/editor/restrict_permutations.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/client/editor/restrict_permutations.gwt.xml
 
b/wave/src/test/resources/org/waveprotocol/wave/client/editor/restrict_permutations.gwt.xml
new file mode 100644
index 0000000..b13d8c7
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/client/editor/restrict_permutations.gwt.xml
@@ -0,0 +1,28 @@
+<?xml version='1.0'?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<module><inherits name="com.google.gwt.user.User" /><inherits 
name="org.waveprotocol.wave.client.debug.logger.testing.restrict_permutations" 
/>
+<!-- Restricts permutations to reduce code compiled for GWT tests. -->
+
+<set-property name="locale" value="default" />
+<set-property name="loglevel" value="error" />
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/client/editor/selection/Tests.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/client/editor/selection/Tests.gwt.xml
 
b/wave/src/test/resources/org/waveprotocol/wave/client/editor/selection/Tests.gwt.xml
new file mode 100644
index 0000000..0374430
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/client/editor/selection/Tests.gwt.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<module>
+  <inherits name="com.google.gwt.user.User"/>
+  <inherits name="org.waveprotocol.wave.client.editor.Editor"/>
+  <inherits name="org.waveprotocol.wave.client.editor.testing.Testing"/>
+  <inherits name="org.waveprotocol.wave.client.editor.restrict_permutations"/>
+  <inherits name="org.waveprotocol.wave.client.widget.popup.simple.Simple"/>
+  <inherits name="org.waveprotocol.wave.model.Model"/>
+  <inherits name="org.waveprotocol.wave.model.conversation.Conversation"/>
+   
+  <source path="content"/>
+    
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/client/editor/undo/Tests.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/client/editor/undo/Tests.gwt.xml
 
b/wave/src/test/resources/org/waveprotocol/wave/client/editor/undo/Tests.gwt.xml
new file mode 100644
index 0000000..04d1015
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/client/editor/undo/Tests.gwt.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<module>
+  <inherits name="com.google.gwt.user.User"/>
+  <inherits name="org.waveprotocol.wave.client.editor.Editor"/>
+  <inherits name="org.waveprotocol.wave.client.editor.testing.Testing"/>
+  <inherits name="org.waveprotocol.wave.client.editor.restrict_permutations"/>
+  <inherits name="org.waveprotocol.wave.model.Model"/>
+   
+  <source path=""/>
+    
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/client/editor/util/Tests.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/client/editor/util/Tests.gwt.xml
 
b/wave/src/test/resources/org/waveprotocol/wave/client/editor/util/Tests.gwt.xml
new file mode 100644
index 0000000..548d128
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/client/editor/util/Tests.gwt.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<module>
+  <inherits name="com.google.gwt.user.User"/>
+  <inherits name="org.waveprotocol.wave.client.editor.Editor"/>
+  <inherits name="org.waveprotocol.wave.client.scheduler.testing.Testing"/>
+  <inherits name="org.waveprotocol.wave.client.editor.restrict_permutations"/>
+  <inherits name="org.waveprotocol.wave.model.Model"/>
+   
+  <source path=""/>
+    
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/client/gadget/tests.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/client/gadget/tests.gwt.xml 
b/wave/src/test/resources/org/waveprotocol/wave/client/gadget/tests.gwt.xml
new file mode 100644
index 0000000..e92535d
--- /dev/null
+++ b/wave/src/test/resources/org/waveprotocol/wave/client/gadget/tests.gwt.xml
@@ -0,0 +1,30 @@
+<?xml version='1.0'?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<module>
+  <inherits name="com.google.gwt.user.User" />
+  <inherits name="org.waveprotocol.wave.client.gadget.Gadget" />
+
+  <source path=""/>
+  <source path="renderer"/>
+
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/client/scheduler/tests.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/client/scheduler/tests.gwt.xml 
b/wave/src/test/resources/org/waveprotocol/wave/client/scheduler/tests.gwt.xml
new file mode 100644
index 0000000..3cf647b
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/client/scheduler/tests.gwt.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<module>
+  <inherits name="com.google.gwt.user.User"/>
+  <inherits name="org.waveprotocol.wave.client.scheduler.Scheduler"/>
+  <inherits name="org.waveprotocol.wave.client.scheduler.testing.Testing"/>
+   
+  <source path=""/>
+   
+  <source path="knobs"/>
+   
+  <source path="testing"/>
+    
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/client/util/tests.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/client/util/tests.gwt.xml 
b/wave/src/test/resources/org/waveprotocol/wave/client/util/tests.gwt.xml
new file mode 100644
index 0000000..8bc00bf
--- /dev/null
+++ b/wave/src/test/resources/org/waveprotocol/wave/client/util/tests.gwt.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<module>
+  <inherits name="com.google.gwt.user.User"/>
+  <inherits name="org.waveprotocol.wave.client.util.ClientFlags"/>
+  <entry-point class="org.waveprotocol.wave.client.util.ClientFlags"/>
+   
+  <source path=""/>
+    
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/client/wavepanel/block/Tests.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/client/wavepanel/block/Tests.gwt.xml
 
b/wave/src/test/resources/org/waveprotocol/wave/client/wavepanel/block/Tests.gwt.xml
new file mode 100644
index 0000000..a858f9f
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/client/wavepanel/block/Tests.gwt.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<module>
+  <inherits name="com.google.gwt.user.User"/>
+  <inherits name="org.waveprotocol.wave.client.wavepanel.block.Block"/>
+  <inherits name="org.waveprotocol.wave.model.conversation.Testing"/>
+   
+  <source path=""/>
+   
+  <source path="xml"/>
+    
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/client/wavepanel/event/Tests.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/client/wavepanel/event/Tests.gwt.xml
 
b/wave/src/test/resources/org/waveprotocol/wave/client/wavepanel/event/Tests.gwt.xml
new file mode 100644
index 0000000..e569913
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/client/wavepanel/event/Tests.gwt.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<module>
+  <inherits name="com.google.gwt.user.User"/>
+  <inherits name="org.waveprotocol.wave.client.common.safehtml.SafeHtml"/>
+  <inherits name="org.waveprotocol.wave.client.wavepanel.event.Event"/>
+  <inherits name="org.waveprotocol.wave.model.util.Util"/>
+   
+  <source path=""/>
+    
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/client/wavepanel/impl/tests.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/client/wavepanel/impl/tests.gwt.xml
 
b/wave/src/test/resources/org/waveprotocol/wave/client/wavepanel/impl/tests.gwt.xml
new file mode 100644
index 0000000..5a998ff
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/client/wavepanel/impl/tests.gwt.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<module>
+  <inherits name="com.google.gwt.user.User"/>
+  <inherits name="org.waveprotocol.wave.client.wavepanel.impl.Impl"/>
+  <inherits name="org.waveprotocol.wave.client.wavepanel.view.fake.Fake"/>
+   
+  <source path="focus"/>
+    
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/client/wavepanel/tests.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/client/wavepanel/tests.gwt.xml 
b/wave/src/test/resources/org/waveprotocol/wave/client/wavepanel/tests.gwt.xml
new file mode 100644
index 0000000..866f890
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/client/wavepanel/tests.gwt.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<module>
+  <inherits name="com.google.gwt.user.User"/>
+   
+  <source path=""/>
+    
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/client/widget/overflowpanel/Tests.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/client/widget/overflowpanel/Tests.gwt.xml
 
b/wave/src/test/resources/org/waveprotocol/wave/client/widget/overflowpanel/Tests.gwt.xml
new file mode 100644
index 0000000..fd13c4b
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/client/widget/overflowpanel/Tests.gwt.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<module>
+  <inherits name="com.google.gwt.user.User"/>
+  <inherits 
name="org.waveprotocol.wave.client.widget.overflowpanel.OverflowPanel"/>
+   
+  <source path=""/>
+    
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/client/widget/tests.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/client/widget/tests.gwt.xml 
b/wave/src/test/resources/org/waveprotocol/wave/client/widget/tests.gwt.xml
new file mode 100644
index 0000000..866f890
--- /dev/null
+++ b/wave/src/test/resources/org/waveprotocol/wave/client/widget/tests.gwt.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<module>
+  <inherits name="com.google.gwt.user.User"/>
+   
+  <source path=""/>
+    
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/client/widget/toolbar/Tests.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/client/widget/toolbar/Tests.gwt.xml
 
b/wave/src/test/resources/org/waveprotocol/wave/client/widget/toolbar/Tests.gwt.xml
new file mode 100644
index 0000000..dc1af5f
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/client/widget/toolbar/Tests.gwt.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<module>
+  <inherits name="com.google.gwt.user.User"/>
+  <inherits name="org.waveprotocol.wave.client.widget.toolbar.Toolbar"/>
+   
+  <source path=""/>
+    
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/concurrencycontrol/Tests.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/concurrencycontrol/Tests.gwt.xml
 
b/wave/src/test/resources/org/waveprotocol/wave/concurrencycontrol/Tests.gwt.xml
new file mode 100644
index 0000000..96fb9c0
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/concurrencycontrol/Tests.gwt.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<module>
+  <inherits name="com.google.gwt.user.User"/>
+  <inherits name="org.waveprotocol.wave.common.logging.Print"/>
+  <inherits name="org.waveprotocol.wave.concurrencycontrol.server.Server"/>
+  <inherits name="org.waveprotocol.wave.concurrencycontrol.Testing"/>
+  <inherits name="org.waveprotocol.wave.concurrencycontrol.Wave"/>
+  <inherits name="org.waveprotocol.wave.model.Model"/>
+  <inherits name="org.waveprotocol.wave.model.testing.Testing"/>
+  <inherits name="third_party.java_src.gwt.crore.Crore"/>
+   
+  <source path=""/>
+   
+  <source path="channel"/>
+   
+  <source path="client"/>
+   
+  <source path="common"/>
+   
+  <source path="wave"/>
+    
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad1.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad1.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad1.schema
new file mode 100644
index 0000000..3f9548d
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad1.schema
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- An invalid schema with no root specified -->
+<schema>
+  <definition name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad10.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad10.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad10.schema
new file mode 100644
index 0000000..bceefca
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad10.schema
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- An invalid schema with a bad regular expression beginning with '*' -->
+<schema>
+  <definition name="test">
+    <element name="element1">
+      <attribute name="attribute1" values="*abcd" required="false"/>
+    </element>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad11.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad11.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad11.schema
new file mode 100644
index 0000000..30e3a50
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad11.schema
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- An invalid schema with a bad regular expression beginning with '?' -->
+<schema>
+  <definition name="test">
+    <element name="element1">
+      <attribute name="attribute1" values="?abcd" required="false"/>
+    </element>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad12.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad12.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad12.schema
new file mode 100644
index 0000000..1d9cab2
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad12.schema
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- An invalid schema with a bad regular expression beginning with ')' -->
+<schema>
+  <definition name="test">
+    <element name="element1">
+      <attribute name="attribute1" values=")abcd" required="false"/>
+    </element>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad13.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad13.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad13.schema
new file mode 100644
index 0000000..fc3cbc5
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad13.schema
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- An invalid schema with a bad regular expression with an unexpected '*' -->
+<schema>
+  <definition name="test">
+    <element name="element1">
+      <attribute name="attribute1" values="ab(*c)d" required="false"/>
+    </element>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad14.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad14.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad14.schema
new file mode 100644
index 0000000..0850406
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad14.schema
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- An invalid schema with a bad regular expression with an unexpected '?' -->
+<schema>
+  <definition name="test">
+    <element name="element1">
+      <attribute name="attribute1" values="ab(?c)d" required="false"/>
+    </element>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad15.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad15.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad15.schema
new file mode 100644
index 0000000..c7097a1
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad15.schema
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- An invalid schema with a bad regular expression ending with '\' -->
+<schema>
+  <definition name="test">
+    <element name="element1">
+      <attribute name="attribute1" values="abcd\" required="false"/>
+    </element>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad16.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad16.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad16.schema
new file mode 100644
index 0000000..eeab5b6
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad16.schema
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- An invalid schema with a bad regular expression with a single '(' -->
+<schema>
+  <definition name="test">
+    <element name="element1">
+      <attribute name="attribute1" values="ab(cd" required="false"/>
+    </element>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad17.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad17.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad17.schema
new file mode 100644
index 0000000..557a3f6
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad17.schema
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- An invalid schema with a bad regular expression with a single ')' -->
+<schema>
+  <definition name="test">
+    <element name="element1">
+      <attribute name="attribute1" values="ab)cd" required="false"/>
+    </element>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad18.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad18.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad18.schema
new file mode 100644
index 0000000..7cfa278
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad18.schema
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- An invalid schema with a bad regular expression with an unmatched '(' -->
+<schema>
+  <definition name="test">
+    <element name="element1">
+      <attribute name="attribute1" values="a((b(()()c)d" required="false"/>
+    </element>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad19.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad19.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad19.schema
new file mode 100644
index 0000000..32b0314
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad19.schema
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- An invalid schema with a bad regular expression with an unmatched ')' -->
+<schema>
+  <definition name="test">
+    <element name="element1">
+      <attribute name="attribute1" values="a(b()())c))d" required="false"/>
+    </element>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad2.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad2.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad2.schema
new file mode 100644
index 0000000..17beb96
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad2.schema
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- An invalid schema with an undefined root -->
+<schema>
+  <definition name="test"/>
+  <root name="undefined"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad20.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad20.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad20.schema
new file mode 100644
index 0000000..fbc818f
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad20.schema
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- An invalid schema with a reference to an undefined definition -->
+<schema>
+  <definition name="test">
+    <reference name="definition1"/>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad21.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad21.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad21.schema
new file mode 100644
index 0000000..6b5289c
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad21.schema
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- An invalid schema with a reference to an undefined definition -->
+<schema>
+  <definition name="test">
+    <element name="element1">
+      <reference name="definition1"/>
+    </element>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad22.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad22.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad22.schema
new file mode 100644
index 0000000..a691dc6
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad22.schema
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+
+<!-- An invalid schema containing an invalid element type -->
+<schema>
+  <SomeInvalidElement/>
+  <definition name="test">
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad23.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad23.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad23.schema
new file mode 100644
index 0000000..7217236
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad23.schema
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- An invalid schema containing an unknown attribute -->
+<schema>
+  <definition name="test" someAttribute="someValue">
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad24.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad24.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad24.schema
new file mode 100644
index 0000000..4f2aa0d
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad24.schema
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- An invalid schema with a missing name attribute for a definition element 
-->
+<schema>
+  <definition name="test">
+  </definition>
+  <definition>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad3.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad3.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad3.schema
new file mode 100644
index 0000000..d3d8a35
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad3.schema
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- An invalid schema with a duplicate element -->
+<schema>
+  <definition name="test">
+    <element name="element1"/>
+    <element name="element1"/>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad4.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad4.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad4.schema
new file mode 100644
index 0000000..79f4fde
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad4.schema
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- An invalid schema with a duplicate attribute -->
+<schema>
+  <definition name="test">
+    <attribute name="attribute1" values="value1" required="false"/>
+    <attribute name="attribute1" values="value1" required="false"/>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad5.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad5.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad5.schema
new file mode 100644
index 0000000..3364188
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad5.schema
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- An invalid schema with a duplicate definition -->
+<schema>
+  <definition name="test">
+    <element name="element1"/>
+  </definition>
+  <definition name="test">
+    <element name="element2"/>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad6.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad6.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad6.schema
new file mode 100644
index 0000000..2697e9e
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad6.schema
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- An invalid schema with an element clash through a reference -->
+<schema>
+  <definition name="test">
+    <element name="element1"/>
+    <reference name="definition1"/>
+  </definition>
+  <definition name="definition1">
+    <element name="element1"/>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad7.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad7.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad7.schema
new file mode 100644
index 0000000..9ea6d3b
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad7.schema
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- An invalid schema with an attribute clash through a reference -->
+<schema>
+  <definition name="test">
+    <attribute name="attribute1" values="value1" required="false"/>
+    <reference name="definition1"/>
+  </definition>
+  <definition name="definition1">
+    <attribute name="attribute1" values="value1" required="false"/>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad8.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad8.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad8.schema
new file mode 100644
index 0000000..369b8cd
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad8.schema
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- An invalid schema with an infinite recursion -->
+<schema>
+  <definition name="test">
+    <reference name="test"/>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad9.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad9.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad9.schema
new file mode 100644
index 0000000..73b103d
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/bad9.schema
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- An invalid schema with an infinite recursion through indirect means -->
+<schema>
+  <definition name="def1">
+    <reference name="def2"/>
+  </definition>
+  <definition name="def2">
+    <reference name="def3"/>
+  </definition>
+  <definition name="def3">
+    <reference name="def1"/>
+  </definition>
+  <root name="def1"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good1.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good1.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good1.schema
new file mode 100644
index 0000000..af1b5e5
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good1.schema
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- A schema featuring prologues and elements -->
+<schema>
+  <definition name="test">
+    <element name="prologueTest">
+      <prologue>
+        <element name="element1">
+          <element name="element4"/>
+        </element>
+        <element name="element2"/>
+        <element name="element3">
+          <prologue>
+            <element name="element7"/>
+            <element name="element8"/>
+          </prologue>
+          <element name="element5"/>
+          <element name="element6"/>
+        </element>
+      </prologue>
+    </element>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good10.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good10.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good10.schema
new file mode 100644
index 0000000..f341506
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good10.schema
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- A schema featuring a nested reference -->
+<schema>
+  <definition name="test">
+    <element name="element0">
+      <reference name="definition1"/>
+    </element>
+  </definition>
+  <definition name="definition1">
+    <attribute name="attribute1" values="value1" required="false"/>
+    <element name="element1">
+      <element name="element4"/>
+    </element>
+    <reference name="definition2"/>
+    <reference name="definition3"/>
+  </definition>
+  <definition name="definition2">
+    <element name="element2">
+      <element name="element4"/>
+    </element>
+    <attribute name="attribute2" values="value2" required="false"/>
+  </definition>
+  <definition name="definition3">
+    <element name="element3"/>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good11.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good11.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good11.schema
new file mode 100644
index 0000000..7fd63dc
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good11.schema
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- A schema featuring references involving required attributes -->
+<schema>
+  <definition name="test">
+    <attribute name="attribute1" values="value1" required="true"/>
+    <attribute name="attribute2" values="value2" required="false"/>
+    <reference name="definition1"/>
+  </definition>
+  <definition name="definition1">
+    <attribute name="attribute3" values="value3" required="true"/>
+    <attribute name="attribute4" values="value4" required="false"/>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good12.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good12.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good12.schema
new file mode 100644
index 0000000..c2176b0
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good12.schema
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- A schema featuring references structured with double indirection -->
+<schema>
+  <definition name="test">
+    <reference name="definition1"/>
+    <attribute name="attribute1" values="value1" required="false"/>
+    <element name="element1">
+      <element name="element4"/>
+    </element>
+  </definition>
+  <definition name="definition1">
+    <attribute name="attribute2" values="value2" required="false"/>
+    <element name="element2">
+      <element name="element5"/>
+    </element>
+    <reference name="definition2"/>
+  </definition>
+  <definition name="definition2">
+    <element name="element3">
+      <element name="element6"/>
+    </element>
+    <attribute name="attribute3" values="value3" required="false"/>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good13.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good13.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good13.schema
new file mode 100644
index 0000000..cfce687
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good13.schema
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- A schema featuring a recursive reference -->
+<schema>
+  <definition name="test">
+    <attribute name="attribute1" values="value1" required="false"/>
+    <element name="element1">
+      <reference name="test"/>
+    </element>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good14.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good14.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good14.schema
new file mode 100644
index 0000000..f589322
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good14.schema
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- A schema featuring recursive references -->
+<schema>
+  <definition name="def1">
+    <attribute name="attribute1" values="value1" required="false"/>
+    <element name="element1">
+      <reference name="def2"/>
+    </element>
+  </definition>
+  <definition name="def2">
+    <attribute name="attribute2" values="value2" required="false"/>
+    <element name="element2">
+      <reference name="def3"/>
+    </element>
+  </definition>
+  <definition name="def3">
+    <attribute name="attribute3" values="value3" required="false"/>
+    <element name="element3">
+      <reference name="def1"/>
+    </element>
+  </definition>
+  <root name="def1"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good15.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good15.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good15.schema
new file mode 100644
index 0000000..5e3aec9
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good15.schema
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- A schema featuring the interleaving of prologues and prologues in 
referenced patterns -->
+<schema>
+  <definition name="test">
+    <prologue>
+      <element name="element1">
+        <element name="element7"/>
+      </element>
+      <element name="element2">
+        <element name="element8"/>
+      </element>
+    </prologue>
+    <reference name="definition1"/>
+    <prologue>
+      <element name="element3">
+        <element name="element9"/>
+      </element>
+    </prologue>
+    <prologue>
+      <element name="element4">
+        <element name="element10"/>
+      </element>
+    </prologue>
+    <reference name="definition1"/>
+  </definition>
+  <definition name="definition1">
+    <prologue>
+      <element name="element5">
+        <element name="element11"/>
+      </element>
+      <element name="element6">
+        <element name="element12"/>
+      </element>
+    </prologue>
+  </definition>
+  <root name="test"/>
+</schema>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good16.schema
----------------------------------------------------------------------
diff --git 
a/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good16.schema
 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good16.schema
new file mode 100644
index 0000000..6fe79d7
--- /dev/null
+++ 
b/wave/src/test/resources/org/waveprotocol/wave/model/experimental/schema/good16.schema
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ -->
+<!-- A schema featuring various regular expressions for attribute values -->
+<schema>
+  <definition name="test">
+    <element name="element1">
+      <attribute name="attribute1" values="hello|world" required="false"/>
+      <attribute name="attribute2" values="ab(cd|ef)gh" required="false"/>
+      <attribute name="attribute3" values="ab(c*|.d)ef" required="false"/>
+    </element>
+  </definition>
+  <root name="test"/>
+</schema>

Reply via email to