changeset 399:6908370afe83 jdk8-b106

Merge
author lana
date Thu, 29 Aug 2013 16:18:31 -0700
parents 01be6f93d0a4 533c1032337c
children e3c9328f7563
files
diffstat 367 files changed, 8024 insertions(+), 6118 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/jaxws_classes/com/sun/istack/internal/tools/ParallelWorldClassLoader.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/istack/internal/tools/ParallelWorldClassLoader.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -211,6 +211,7 @@
             throw new ClassNotFoundException("Loaded outside a jar "+url);
         url = url.substring(4); // cut off jar:
         url = url.substring(0,url.lastIndexOf('!'));    // cut off everything after '!'
+        url = url.replaceAll(" ", "%20"); // support white spaces in path
         return new URL(url);
     }
 }
--- a/src/share/jaxws_classes/com/sun/org/glassfish/external/probe/provider/annotations/Probe.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/org/glassfish/external/probe/provider/annotations/Probe.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -47,5 +47,8 @@
     public boolean self() default false;
     public String providerName() default "";
     public String moduleName() default "";
-
+    public boolean stateful() default false;
+    public String profileNames() default "";
+    public boolean statefulReturn() default false;
+    public boolean statefulException() default false;
 }
--- a/src/share/jaxws_classes/com/sun/org/glassfish/external/statistics/impl/AverageRangeStatisticImpl.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/org/glassfish/external/statistics/impl/AverageRangeStatisticImpl.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,7 +27,6 @@
 
 package com.sun.org.glassfish.external.statistics.impl;
 
-import java.util.concurrent.atomic.AtomicLong;
 import java.util.Map;
 import java.lang.reflect.*;
 import com.sun.org.glassfish.external.statistics.AverageRangeStatistic;
@@ -139,6 +138,8 @@
 
     // todo: equals implementation
     public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
+        checkMethod(method);
+
         Object result;
         try {
             result = method.invoke(this, args);
@@ -147,7 +148,6 @@
         } catch (Exception e) {
             throw new RuntimeException("unexpected invocation exception: " +
                        e.getMessage());
-        } finally {
         }
         return result;
     }
--- a/src/share/jaxws_classes/com/sun/org/glassfish/external/statistics/impl/BoundaryStatisticImpl.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/org/glassfish/external/statistics/impl/BoundaryStatisticImpl.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,7 +27,6 @@
 
 package com.sun.org.glassfish.external.statistics.impl;
 import com.sun.org.glassfish.external.statistics.BoundaryStatistic;
-import java.util.concurrent.atomic.AtomicLong;
 import java.util.Map;
 import java.lang.reflect.*;
 
@@ -81,6 +80,8 @@
 
     // todo: equals implementation
     public Object invoke(Object proxy, Method m, Object[] args) throws Throwable {
+        checkMethod(m);
+
         Object result;
         try {
             result = m.invoke(this, args);
@@ -89,7 +90,6 @@
         } catch (Exception e) {
             throw new RuntimeException("unexpected invocation exception: " +
                        e.getMessage());
-        } finally {
         }
         return result;
     }
--- a/src/share/jaxws_classes/com/sun/org/glassfish/external/statistics/impl/BoundedRangeStatisticImpl.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/org/glassfish/external/statistics/impl/BoundedRangeStatisticImpl.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,8 +26,8 @@
 
 
 package com.sun.org.glassfish.external.statistics.impl;
+
 import com.sun.org.glassfish.external.statistics.BoundedRangeStatistic;
-import java.util.concurrent.atomic.AtomicLong;
 import java.util.Map;
 import java.lang.reflect.*;
 
@@ -145,6 +145,8 @@
 
     // todo: equals implementation
     public Object invoke(Object proxy, Method m, Object[] args) throws Throwable {
+        checkMethod(m);
+
         Object result;
         try {
             result = m.invoke(this, args);
@@ -153,7 +155,6 @@
         } catch (Exception e) {
             throw new RuntimeException("unexpected invocation exception: " +
                        e.getMessage());
-        } finally {
         }
         return result;
     }
--- a/src/share/jaxws_classes/com/sun/org/glassfish/external/statistics/impl/CountStatisticImpl.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/org/glassfish/external/statistics/impl/CountStatisticImpl.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,7 +26,6 @@
 
 package com.sun.org.glassfish.external.statistics.impl;
 import com.sun.org.glassfish.external.statistics.CountStatistic;
-import java.util.concurrent.atomic.AtomicLong;
 import java.util.Map;
 import java.lang.reflect.*;
 
@@ -103,6 +102,8 @@
 
     // todo: equals implementation
     public Object invoke(Object proxy, Method m, Object[] args) throws Throwable {
+        checkMethod(m);
+
         Object result;
         try {
             result = m.invoke(this, args);
@@ -111,7 +112,6 @@
         } catch (Exception e) {
             throw new RuntimeException("unexpected invocation exception: " +
                        e.getMessage());
-        } finally {
         }
         return result;
     }
--- a/src/share/jaxws_classes/com/sun/org/glassfish/external/statistics/impl/RangeStatisticImpl.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/org/glassfish/external/statistics/impl/RangeStatisticImpl.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,7 +27,6 @@
 
 package com.sun.org.glassfish.external.statistics.impl;
 import com.sun.org.glassfish.external.statistics.RangeStatistic;
-import java.util.concurrent.atomic.AtomicLong;
 import java.util.Map;
 import java.lang.reflect.*;
 
@@ -125,6 +124,8 @@
 
     // todo: equals implementation
     public Object invoke(Object proxy, Method m, Object[] args) throws Throwable {
+        checkMethod(m);
+
         Object result;
         try {
             result = m.invoke(this, args);
@@ -133,7 +134,6 @@
         } catch (Exception e) {
             throw new RuntimeException("unexpected invocation exception: " +
                        e.getMessage());
-        } finally {
         }
         return result;
     }
--- a/src/share/jaxws_classes/com/sun/org/glassfish/external/statistics/impl/StatisticImpl.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/org/glassfish/external/statistics/impl/StatisticImpl.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,8 +26,8 @@
 
 package com.sun.org.glassfish.external.statistics.impl;
 import com.sun.org.glassfish.external.statistics.Statistic;
-import java.io.Serializable;
-import java.util.concurrent.atomic.AtomicLong;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
@@ -133,4 +133,13 @@
     protected static boolean isValidString(String str) {
         return (str!=null && str.length()>0);
     }
+
+    protected void checkMethod(Method method) {
+        if (method == null || method.getDeclaringClass() == null
+                || !Statistic.class.isAssignableFrom(method.getDeclaringClass())
+                || Modifier.isStatic(method.getModifiers())) {
+            throw new RuntimeException("Invalid method on invoke");
+        }
+    }
+
 }
--- a/src/share/jaxws_classes/com/sun/org/glassfish/external/statistics/impl/StringStatisticImpl.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/org/glassfish/external/statistics/impl/StringStatisticImpl.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -90,6 +90,8 @@
 
     // todo: equals implementation
     public Object invoke(Object proxy, Method m, Object[] args) throws Throwable {
+        checkMethod(m);
+
         Object result;
         try {
             result = m.invoke(this, args);
@@ -98,7 +100,6 @@
         } catch (Exception e) {
             throw new RuntimeException("unexpected invocation exception: " +
                        e.getMessage());
-        } finally {
         }
         return result;
     }
--- a/src/share/jaxws_classes/com/sun/org/glassfish/external/statistics/impl/TimeStatisticImpl.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/org/glassfish/external/statistics/impl/TimeStatisticImpl.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,7 +28,6 @@
 package com.sun.org.glassfish.external.statistics.impl;
 
 import com.sun.org.glassfish.external.statistics.TimeStatistic;
-import java.util.concurrent.atomic.AtomicLong;
 import java.util.Map;
 import java.lang.reflect.*;
 
@@ -145,6 +144,8 @@
 
     // todo: equals implementation
     public Object invoke(Object proxy, Method m, Object[] args) throws Throwable {
+        checkMethod(m);
+
         Object result;
         try {
             result = m.invoke(this, args);
@@ -153,7 +154,6 @@
         } catch (Exception e) {
             throw new RuntimeException("unexpected invocation exception: " +
                        e.getMessage());
-        } finally {
         }
         return result;
     }
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -30,10 +30,10 @@
     Non-existent directory: {0}
 
 VERSION = \
-        schemagen 2.2.8-b01
+        schemagen 2.2.8-b20130806.1801
 
 FULLVERSION = \
-        schemagen full version "2.2.8-b01"
+        schemagen full version "2.2.8-b20130806.1801"
 
 USAGE = \
 Usage: schemagen [-options ...] <java files> \n\
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_de.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_de.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -27,8 +27,8 @@
 
 BASEDIR_DOESNT_EXIST = Nicht vorhandenes Verzeichnis: {0}
 
-VERSION = schemagen 2.2.8-b01
+VERSION = schemagen 2.2.8-b20130806.1801
 
-FULLVERSION = schemagen vollst\u00E4ndige Version "2.2.8-b01"
+FULLVERSION = schemagen vollst\u00E4ndige Version "2.2.8-b20130806.1801"
 
 USAGE = Verwendung: schemagen [-options ...] <java files> \nOptionen: \n\\ \\ \\ \\ -d <path>             : Gibt an, wo die von Prozessor und javac generierten Klassendateien gespeichert werden sollen\n\\ \\ \\ \\ -cp <path>            : Gibt an, wo die vom Benutzer angegebenen Dateien gespeichert sind\n\\ \\ \\ \\ -classpath <path>     : Gibt an, wo die vom Benutzer angegebenen Dateien gespeichert sind\n\\ \\ \\ \\ -encoding <encoding>  : Gibt die Codierung f\u00FCr die Annotationsverarbeitung/den javac-Aufruf an \n\\ \\ \\ \\ -episode <file>       : Generiert Episodendatei f\u00FCr separate Kompilierung\n\\ \\ \\ \\ -version              : Zeigt Versionsinformation an\n\\ \\ \\ \\ -fullversion          : Zeigt vollst\u00E4ndige Versionsinformationen an\n\\ \\ \\ \\ -help                 : Zeigt diese Verwendungsmeldung an
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_es.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_es.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -27,8 +27,8 @@
 
 BASEDIR_DOESNT_EXIST = Directorio no existente: {0}
 
-VERSION = schemagen 2.2.8-b01
+VERSION = schemagen 2.2.8-b20130806.1801
 
-FULLVERSION = versi\u00F3n completa de schemagen "2.2.8-b01"
+FULLVERSION = versi\u00F3n completa de schemagen "2.2.8-b20130806.1801"
 
 USAGE = Sintaxis: schemagen [-options ...] <archivos java> \nOpciones: \n\\ \\ \\ \\ -d <ruta de acceso>             : especifique d\u00F3nde se colocan los archivos de clase generados por javac y el procesador\n\\ \\ \\ \\ -cp <ruta de acceso>            : especifique d\u00F3nde se encuentran los archivos especificados por el usuario\n\\ \\ \\ \\ -encoding <codificaci\u00F3n>  : especifique la codificaci\u00F3n que se va a utilizar para el procesamiento de anotaciones/llamada de javac\n\\ \\ \\ \\ -episode <archivo>       : genera un archivo de episodio para una compilaci\u00F3n diferente\n\\ \\ \\ \\ -version              : muestra la informaci\u00F3n de la versi\u00F3n\n\\ \\ \\ \\ -fullversion          : muestra la informaci\u00F3n completa de la versi\u00F3n\n\\ \\ \\ \\ -help                 : muestra este mensaje de sintaxis
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_fr.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_fr.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -27,8 +27,8 @@
 
 BASEDIR_DOESNT_EXIST = R\u00E9pertoire {0} inexistant
 
-VERSION = schemagen 2.2.8-b01
+VERSION = schemagen 2.2.8-b20130806.1801
 
-FULLVERSION = version compl\u00E8te de schemagen "2.2.8-b01"
+FULLVERSION = version compl\u00E8te de schemagen "2.2.8-b20130806.1801"
 
 USAGE = Syntaxe : schemagen [-options ...] <java files> \nOptions : \n\ \ \ \ -d <path> : indiquez o\u00F9 placer les fichiers de classe g\u00E9n\u00E9r\u00E9s par le processeur et le compilateur javac\n\ \ \ \ -cp <path> : indiquez o\u00F9 trouver les fichiers sp\u00E9cifi\u00E9s par l'utilisateur\n\ \ \ \ -classpath <path> : indiquez o\u00F9 trouver les fichiers sp\u00E9cifi\u00E9s par l'utilisateur\n\ \ \ \ -encoding <encoding> : indiquez l'encodage \u00E0 utiliser pour l'appel de javac/traitement de l'annotation \n\ \ \ \ -episode <file> : g\u00E9n\u00E9rez un fichier d'\u00E9pisode pour la compilation s\u00E9par\u00E9e\n\ \ \ \ -version : affichez les informations de version\n\ \ \ \ -fullversion : affichez les informations compl\u00E8tes de version\n\ \ \ \ -help : affichez ce message de syntaxe
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_it.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_it.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -27,8 +27,8 @@
 
 BASEDIR_DOESNT_EXIST = Directory non esistente: {0}
 
-VERSION = schemagen 2.2.8-b01
+VERSION = schemagen 2.2.8-b20130806.1801
 
-FULLVERSION = versione completa schemagen "2.2.8-b01"
+FULLVERSION = versione completa schemagen "2.2.8-b20130806.1801"
 
 USAGE = Uso: schemagen [-options ...] <java files> \nOpzioni: \n\ \ \ \ -d <path>             : specifica dove posizionare il processore e i file della classe generata javac\n\ \ \ \ -cp <path>            : specifica dove trovare i file specificati dall'utente\n\ \ \ \ -classpath <path>     : specifica dove trovare i file specificati dall'utente\n\ \ \ \ -encoding <encoding>  : specifica la codifica da usare per l'elaborazione dell'annotazione/richiamo javac \n\ \ \ \ -episode <file>       : genera il file di episodio per la compilazione separata\n\ \ \ \ -version              : visualizza le informazioni sulla versione\n\ \ \ \ -fullversion          : visualizza le informazioni sulla versione completa\n\ \ \ \ -help                 : visualizza questo messaggio sull'uso
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ja.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ja.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -27,8 +27,8 @@
 
 BASEDIR_DOESNT_EXIST = \u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304C\u5B58\u5728\u3057\u307E\u305B\u3093: {0}
 
-VERSION = schemagen 2.2.8-b01
+VERSION = schemagen 2.2.8-b20130806.1801
 
-FULLVERSION = schemagen\u30D5\u30EB\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3"2.2.8-b01"
+FULLVERSION = schemagen\u30D5\u30EB\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3"2.2.8-b20130806.1801"
 
 USAGE = \u4F7F\u7528\u65B9\u6CD5: schemagen [-options ...] <java files> \n\u30AA\u30D7\u30B7\u30E7\u30F3: \n\ \ \ \ -d <path>             : \u30D7\u30ED\u30BB\u30C3\u30B5\u304A\u3088\u3073javac\u304C\u751F\u6210\u3057\u305F\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u7F6E\u304F\u4F4D\u7F6E\u3092\u6307\u5B9A\u3057\u307E\u3059\n\ \ \ \ -cp <path>            : \u30E6\u30FC\u30B6\u30FC\u304C\u6307\u5B9A\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u4F4D\u7F6E\u3092\u6307\u5B9A\u3057\u307E\u3059\n\ \ \ \ -classpath <path>     : \u30E6\u30FC\u30B6\u30FC\u304C\u6307\u5B9A\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u4F4D\u7F6E\u3092\u6307\u5B9A\u3057\u307E\u3059\n\ \ \ \ -encoding <encoding>  : \u6CE8\u91C8\u51E6\u7406/javac\u547C\u51FA\u3057\u306B\u4F7F\u7528\u3059\u308B\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u3092\u6307\u5B9A\u3057\u307E\u3059\n\ \ \ \ -episode <file>       : \u30B3\u30F3\u30D1\u30A4\u30EB\u3054\u3068\u306B\u30A8\u30D4\u30BD\u30FC\u30C9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u751F\u6210\u3057\u307E\u3059\n\ \ \ \ -version              : \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u8868\u793A\u3057\u307E\u3059\n\ \ \ \ -fullversion          : \u30D5\u30EB\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u8868\u793A\u3057\u307E\u3059\n\ \ \ \ -help                 : \u3053\u306E\u4F7F\u7528\u4F8B\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u8868\u793A\u3057\u307E\u3059
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ko.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ko.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -27,8 +27,8 @@
 
 BASEDIR_DOESNT_EXIST = \uC874\uC7AC\uD558\uC9C0 \uC54A\uB294 \uB514\uB809\uD1A0\uB9AC: {0}
 
-VERSION = schemagen 2.2.8-b01
+VERSION = schemagen 2.2.8-b20130806.1801
 
-FULLVERSION = schemagen \uC815\uC2DD \uBC84\uC804 "2.2.8-b01"
+FULLVERSION = schemagen \uC815\uC2DD \uBC84\uC804 "2.2.8-b20130806.1801"
 
 USAGE = \uC0AC\uC6A9\uBC95: schemagen [-options ...] <java files> \n\uC635\uC158: \n\ \ \ \ -d <path>             : \uD504\uB85C\uC138\uC11C \uBC0F javac\uC5D0\uC11C \uC0DD\uC131\uD55C \uD074\uB798\uC2A4 \uD30C\uC77C\uC744 \uBC30\uCE58\uD560 \uC704\uCE58\uB97C \uC9C0\uC815\uD569\uB2C8\uB2E4.\n\ \ \ \ -cp <path>            : \uC0AC\uC6A9\uC790\uAC00 \uC9C0\uC815\uD55C \uD30C\uC77C\uC744 \uCC3E\uC744 \uC704\uCE58\uB97C \uC9C0\uC815\uD569\uB2C8\uB2E4.\n\ \ \ \ -classpath <path>     : \uC0AC\uC6A9\uC790\uAC00 \uC9C0\uC815\uD55C \uD30C\uC77C\uC744 \uCC3E\uC744 \uC704\uCE58\uB97C \uC9C0\uC815\uD569\uB2C8\uB2E4.\n\ \ \ \ -encoding <encoding>  : \uC8FC\uC11D \uCC98\uB9AC/javac \uD638\uCD9C\uC5D0 \uC0AC\uC6A9\uD560 \uC778\uCF54\uB529\uC744 \uC9C0\uC815\uD569\uB2C8\uB2E4. \n\ \ \ \ -episode <file>       : \uBCC4\uB3C4 \uCEF4\uD30C\uC77C\uC744 \uC704\uD574 episode \uD30C\uC77C\uC744 \uC0DD\uC131\uD569\uB2C8\uB2E4.\n\ \ \ \ -version              : \uBC84\uC804 \uC815\uBCF4\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4.\n\ \ \ \ -fullversion          : \uC815\uC2DD \uBC84\uC804 \uC815\uBCF4\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4.\n\ \ \ \ -help                 : \uC774 \uC0AC\uC6A9\uBC95 \uBA54\uC2DC\uC9C0\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4.
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_pt_BR.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_pt_BR.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -27,8 +27,8 @@
 
 BASEDIR_DOESNT_EXIST = Diret\u00F3rio n\u00E3o existente: {0}
 
-VERSION = gera\u00E7\u00E3o do esquema 2.2.8-b01
+VERSION = gera\u00E7\u00E3o do esquema 2.2.8-b20130806.1801
 
-FULLVERSION = vers\u00E3o completa da gera\u00E7\u00E3o do esquema "2.2.8-b01"
+FULLVERSION = vers\u00E3o completa da gera\u00E7\u00E3o do esquema "2.2.8-b20130806.1801"
 
 USAGE = Uso: gera\u00E7\u00E3o do esquema [-options ...] <java files> \nOp\u00E7\u00F5es: \n\\ \\ \\ \\ -d <path>             : especificar onde colocar o processador e os arquivos da classe gerados por javac\n\\ \\ \\ \\ -cp <path>            : especificar onde localizar arquivos especificados pelo usu\u00E1rio\n\\ \\ \\ \\ -classpath <path>     : especificar onde localizar os arquivos especificados pelo usu\u00E1rio\n\\ \\ \\ \\ -encoding <encoding>  : especificar codifica\u00E7\u00E3o a ser usada para processamento de anota\u00E7\u00E3o/chamada javac \n\\ \\ \\ \\ -episode <file>       : gerar arquivo do epis\u00F3dio para compila\u00E7\u00E3o separada\n\\ \\ \\ \\ -version              : exibir informa\u00E7\u00F5es da vers\u00E3o\n\\ \\ \\ \\ -fullversion          : exibir informa\u00E7\u00F5es da vers\u00E3o completa\n\\ \\ \\ \\ -help                 : exibir esta mensagem de uso
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_CN.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_CN.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -27,8 +27,8 @@
 
 BASEDIR_DOESNT_EXIST = \u4E0D\u5B58\u5728\u7684\u76EE\u5F55: {0}
 
-VERSION = schemagen 2.2.8-b01
+VERSION = schemagen 2.2.8-b20130806.1801
 
-FULLVERSION = schemagen \u5B8C\u6574\u7248\u672C "2.2.8-b01"
+FULLVERSION = schemagen \u5B8C\u6574\u7248\u672C "2.2.8-b20130806.1801"
 
 USAGE = \u7528\u6CD5: schemagen [-options ...] <java files> \n\u9009\u9879: \n\ \ \ \ -d <path>             : \u6307\u5B9A\u653E\u7F6E\u5904\u7406\u7A0B\u5E8F\u548C javac \u751F\u6210\u7684\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n\ \ \ \ -cp <path>            : \u6307\u5B9A\u67E5\u627E\u7528\u6237\u6307\u5B9A\u6587\u4EF6\u7684\u4F4D\u7F6E\n\ \ \ \ -classpath <path>     : \u6307\u5B9A\u67E5\u627E\u7528\u6237\u6307\u5B9A\u6587\u4EF6\u7684\u4F4D\u7F6E\n\ \ \ \ -encoding <encoding>  : \u6307\u5B9A\u7528\u4E8E\u6CE8\u91CA\u5904\u7406/javac \u8C03\u7528\u7684\u7F16\u7801\n\ \ \ \ -episode <file>       : \u751F\u6210\u7247\u6BB5\u6587\u4EF6\u4EE5\u4F9B\u5355\u72EC\u7F16\u8BD1\n\ \ \ \ -version              : \u663E\u793A\u7248\u672C\u4FE1\u606F\n\ \ \ \ -fullversion          : \u663E\u793A\u5B8C\u6574\u7684\u7248\u672C\u4FE1\u606F\n\ \ \ \ -help                 : \u663E\u793A\u6B64\u7528\u6CD5\u6D88\u606F
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_TW.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_TW.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -27,8 +27,8 @@
 
 BASEDIR_DOESNT_EXIST = \u4E0D\u5B58\u5728\u7684\u76EE\u9304: {0}
 
-VERSION = schemagen 2.2.8-b01
+VERSION = schemagen 2.2.8-b20130806.1801
 
-FULLVERSION = schemagen \u5B8C\u6574\u7248\u672C "2.2.8-b01"
+FULLVERSION = schemagen \u5B8C\u6574\u7248\u672C "2.2.8-b20130806.1801"
 
 USAGE = \u7528\u6CD5: schemagen [-options ...] <java files> \n\u9078\u9805: \n\\ \\ \\ \\ -d <path>             : \u6307\u5B9A\u8655\u7406\u5668\u4EE5\u53CA javac \u7522\u751F\u7684\u985E\u5225\u6A94\u6848\u653E\u7F6E\u4F4D\u7F6E\n\\ \\ \\ \\ -cp <path>            : \u6307\u5B9A\u8981\u5C0B\u627E\u4F7F\u7528\u8005\u6307\u5B9A\u6A94\u6848\u7684\u4F4D\u7F6E\n\\ \\ \\ \\ -classpath <path>     : \u6307\u5B9A\u8981\u5C0B\u627E\u4F7F\u7528\u8005\u6307\u5B9A\u6A94\u6848\u7684\u4F4D\u7F6E\n\\ \\ \\ \\ -encoding <encoding>  : \u6307\u5B9A\u8981\u7528\u65BC\u8A3B\u89E3\u8655\u7406/javac \u547C\u53EB\u7684\u7DE8\u78BC \n\\ \\ \\ \\ -episode <file>       : \u7522\u751F\u7368\u7ACB\u7DE8\u8B6F\u7684\u4E8B\u4EF6 (episode) \u6A94\u6848\n\\ \\ \\ \\ -version              : \u986F\u793A\u7248\u672C\u8CC7\u8A0A\n\\ \\ \\ \\ -fullversion          : \u986F\u793A\u5B8C\u6574\u7248\u672C\u8CC7\u8A0A\n\\ \\ \\ \\ -help                 : \u986F\u793A\u6B64\u7528\u6CD5\u8A0A\u606F
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/AttributesImpl.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/AttributesImpl.java	Thu Aug 29 16:18:31 2013 -0700
@@ -64,6 +64,9 @@
  * AttributeList} interface, it also includes a much more efficient
  * implementation using a single array rather than a set of Vectors.</p>
  *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * @since SAX 2.0
  * @author David Megginson,
  *         <a href="mailto:sax@megginson.com">sax@megginson.com</a>
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Classes.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Classes.java	Thu Aug 29 16:18:31 2013 -0700
@@ -33,7 +33,11 @@
 import java.util.List;
     import java.util.ArrayList;
 
-
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public class Classes extends NGCCHandler {
     private String __text;
     private String exclude_content;
@@ -78,17 +82,11 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 4:
+        case 12:
             {
-                $_ngcc_current_state = 3;
-                $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-            }
-            break;
-        case 11:
-            {
-                if(($__uri.equals("") && $__local.equals("includes"))) {
+                if(($__uri.equals("") && $__local.equals("classes"))) {
                     $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
-                    $_ngcc_current_state = 10;
+                    $_ngcc_current_state = 11;
                 }
                 else {
                     unexpectedEnterElement($__qname);
@@ -107,22 +105,28 @@
                 }
             }
             break;
-        case 0:
+        case 4:
             {
-                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
+                $_ngcc_current_state = 3;
+                $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
             }
             break;
-        case 12:
+        case 11:
             {
-                if(($__uri.equals("") && $__local.equals("classes"))) {
+                if(($__uri.equals("") && $__local.equals("includes"))) {
                     $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
-                    $_ngcc_current_state = 11;
+                    $_ngcc_current_state = 10;
                 }
                 else {
                     unexpectedEnterElement($__qname);
                 }
             }
             break;
+        case 0:
+            {
+                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
+            }
+            break;
         default:
             {
                 unexpectedEnterElement($__qname);
@@ -137,12 +141,29 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 4:
             {
                 $_ngcc_current_state = 3;
                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 1:
+            {
+                if(($__uri.equals("") && $__local.equals("classes"))) {
+                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
+                    $_ngcc_current_state = 0;
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
         case 3:
             {
                 if(($__uri.equals("") && $__local.equals("excludes"))) {
@@ -154,15 +175,9 @@
                 }
             }
             break;
-        case 1:
+        case 0:
             {
-                if(($__uri.equals("") && $__local.equals("classes"))) {
-                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
-                    $_ngcc_current_state = 0;
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
+                revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
             }
             break;
         case 8:
@@ -176,17 +191,6 @@
                 }
             }
             break;
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         default:
             {
                 unexpectedLeaveElement($__qname);
@@ -201,18 +205,18 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 4:
             {
                 $_ngcc_current_state = 3;
                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 0:
             {
                 revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
@@ -232,18 +236,18 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 4:
             {
                 $_ngcc_current_state = 3;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 0:
             {
                 revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
@@ -260,6 +264,12 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendText(super._cookie, $value);
+            }
+            break;
         case 4:
             {
                 exclude_content = $value;
@@ -267,6 +277,13 @@
                 action0();
             }
             break;
+        case 10:
+            {
+                __text = $value;
+                $_ngcc_current_state = 9;
+                action3();
+            }
+            break;
         case 3:
             {
                 exclude_content = $value;
@@ -274,6 +291,18 @@
                 action0();
             }
             break;
+        case 6:
+            {
+                __text = $value;
+                $_ngcc_current_state = 4;
+                action1();
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromText(this, super._cookie, $value);
+            }
+            break;
         case 9:
             {
                 include_content = $value;
@@ -281,20 +310,6 @@
                 action2();
             }
             break;
-        case 10:
-            {
-                __text = $value;
-                $_ngcc_current_state = 9;
-                action3();
-            }
-            break;
-        case 6:
-            {
-                __text = $value;
-                $_ngcc_current_state = 4;
-                action1();
-            }
-            break;
         case 8:
             {
                 include_content = $value;
@@ -302,17 +317,6 @@
                 action2();
             }
             break;
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendText(super._cookie, $value);
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromText(this, super._cookie, $value);
-            }
-            break;
         }
     }
 
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Config.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Config.java	Thu Aug 29 16:18:31 2013 -0700
@@ -36,7 +36,11 @@
     import java.util.ArrayList;
     import java.io.File;
 
-
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public class Config extends NGCCHandler {
     private String bd;
     private Schema _schema;
@@ -74,15 +78,19 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 2:
+        case 0:
+            {
+                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
+            }
+            break;
+        case 1:
             {
                 if(($__uri.equals("") && $__local.equals("schema"))) {
-                    NGCCHandler h = new Schema(this, super._source, $runtime, 16, baseDir);
+                    NGCCHandler h = new Schema(this, super._source, $runtime, 19, baseDir);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
-                    $_ngcc_current_state = 1;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                    unexpectedEnterElement($__qname);
                 }
             }
             break;
@@ -100,7 +108,7 @@
         case 4:
             {
                 if(($__uri.equals("") && $__local.equals("classes"))) {
-                    NGCCHandler h = new Classes(this, super._source, $runtime, 18);
+                    NGCCHandler h = new Classes(this, super._source, $runtime, 22);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -108,19 +116,15 @@
                 }
             }
             break;
-        case 0:
-            {
-                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
-            }
-            break;
-        case 1:
+        case 2:
             {
                 if(($__uri.equals("") && $__local.equals("schema"))) {
-                    NGCCHandler h = new Schema(this, super._source, $runtime, 15, baseDir);
+                    NGCCHandler h = new Schema(this, super._source, $runtime, 20, baseDir);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
-                    unexpectedEnterElement($__qname);
+                    $_ngcc_current_state = 1;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                 }
             }
             break;
@@ -149,12 +153,6 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 0:
             {
                 revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
@@ -171,6 +169,12 @@
                 }
             }
             break;
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 7:
             {
                 if(($ai = $runtime.getAttributeIndex("","baseDir"))>=0) {
@@ -196,17 +200,17 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 0:
+            {
+                revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 2:
             {
                 $_ngcc_current_state = 1;
                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 0:
-            {
-                revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         case 7:
             {
                 if(($__uri.equals("") && $__local.equals("baseDir"))) {
@@ -231,10 +235,9 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 2:
+        case 0:
             {
-                $_ngcc_current_state = 1;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+                revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
             }
             break;
         case 5:
@@ -247,9 +250,10 @@
                 }
             }
             break;
-        case 0:
+        case 2:
             {
-                revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
+                $_ngcc_current_state = 1;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
         default:
@@ -263,10 +267,9 @@
     public void text(String $value) throws SAXException {
         int $ai;
         switch($_ngcc_current_state) {
-        case 2:
+        case 0:
             {
-                $_ngcc_current_state = 1;
-                $runtime.sendText(super._cookie, $value);
+                revertToParentFromText(this, super._cookie, $value);
             }
             break;
         case 6:
@@ -276,9 +279,10 @@
                 action1();
             }
             break;
-        case 0:
+        case 2:
             {
-                revertToParentFromText(this, super._cookie, $value);
+                $_ngcc_current_state = 1;
+                $runtime.sendText(super._cookie, $value);
             }
             break;
         case 7:
@@ -294,20 +298,20 @@
 
     public void onChildCompleted(Object result, int cookie, boolean needAttCheck)throws SAXException {
         switch(cookie) {
-        case 16:
+        case 19:
             {
                 this._schema = ((Schema)result);
                 action0();
                 $_ngcc_current_state = 1;
             }
             break;
-        case 18:
+        case 22:
             {
                 this.classes = ((Classes)result);
                 $_ngcc_current_state = 2;
             }
             break;
-        case 15:
+        case 20:
             {
                 this._schema = ((Schema)result);
                 action0();
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/NGCCEventReceiver.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/NGCCEventReceiver.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,7 +29,9 @@
 import org.xml.sax.SAXException;
 
 /**
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  *
  * @author Kohsuke Kawaguchi (kk@kohsuke.org)
  */
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/NGCCEventSource.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/NGCCEventSource.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,7 +29,9 @@
 import org.xml.sax.SAXException;
 
 /**
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  *
  * @author Kohsuke Kawaguchi (kk@kohsuke.org)
  */
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/NGCCHandler.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/NGCCHandler.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,7 +29,9 @@
 import org.xml.sax.SAXException;
 
 /**
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  *
  * @version $Id: NGCCHandler.java,v 1.9 2002/09/29 02:55:48 okajima Exp $
  * @author Kohsuke Kawaguchi (kk@kohsuke.org)
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/NGCCInterleaveFilter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/NGCCInterleaveFilter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -32,6 +32,9 @@
  * Dispatches incoming events into sub handlers appropriately
  * so that the interleaving semantics will be correctly realized.
  *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * @author Kohsuke Kawaguchi (kk@kohsuke.org)
  */
 public abstract class NGCCInterleaveFilter implements NGCCEventSource, NGCCEventReceiver {
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/NGCCRuntime.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/NGCCRuntime.java	Thu Aug 29 16:18:31 2013 -0700
@@ -50,7 +50,9 @@
  *  <li>manage mapping between namespace URIs and prefixes.
  *
  *  <li>TODO: provide support for interleaving.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * @version $Id: NGCCRuntime.java,v 1.15 2002/09/29 02:55:48 okajima Exp $
  * @author Kohsuke Kawaguchi (kk@kohsuke.org)
  */
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Schema.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Schema.java	Thu Aug 29 16:18:31 2013 -0700
@@ -32,7 +32,11 @@
 
 import java.io.File;
 
-
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public class Schema extends NGCCHandler {
     private File baseDir;
     private String loc;
@@ -72,6 +76,18 @@
                 revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
             }
             break;
+        case 2:
+            {
+                if(($ai = $runtime.getAttributeIndex("","location"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 1;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
         case 6:
             {
                 if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
@@ -84,18 +100,6 @@
                 }
             }
             break;
-        case 2:
-            {
-                if(($ai = $runtime.getAttributeIndex("","location"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 1;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
         case 10:
             {
                 if(($__uri.equals("") && $__local.equals("schema"))) {
@@ -121,23 +125,22 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 1:
+            {
+                if(($__uri.equals("") && $__local.equals("schema"))) {
+                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
+                    $_ngcc_current_state = 0;
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
         case 0:
             {
                 revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 6:
-            {
-                if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-                else {
-                    $_ngcc_current_state = 2;
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
         case 2:
             {
                 if(($ai = $runtime.getAttributeIndex("","location"))>=0) {
@@ -150,14 +153,15 @@
                 }
             }
             break;
-        case 1:
+        case 6:
             {
-                if(($__uri.equals("") && $__local.equals("schema"))) {
-                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
-                    $_ngcc_current_state = 0;
+                if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
                 }
                 else {
-                    unexpectedLeaveElement($__qname);
+                    $_ngcc_current_state = 2;
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
                 }
             }
             break;
@@ -180,6 +184,17 @@
                 revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 2:
+            {
+                if(($__uri.equals("") && $__local.equals("location"))) {
+                    $_ngcc_current_state = 4;
+                }
+                else {
+                    $_ngcc_current_state = 1;
+                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
         case 6:
             {
                 if(($__uri.equals("") && $__local.equals("namespace"))) {
@@ -191,17 +206,6 @@
                 }
             }
             break;
-        case 2:
-            {
-                if(($__uri.equals("") && $__local.equals("location"))) {
-                    $_ngcc_current_state = 4;
-                }
-                else {
-                    $_ngcc_current_state = 1;
-                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
         default:
             {
                 unexpectedEnterAttribute($__qname);
@@ -221,6 +225,16 @@
                 revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 3:
+            {
+                if(($__uri.equals("") && $__local.equals("location"))) {
+                    $_ngcc_current_state = 1;
+                }
+                else {
+                    unexpectedLeaveAttribute($__qname);
+                }
+            }
+            break;
         case 7:
             {
                 if(($__uri.equals("") && $__local.equals("namespace"))) {
@@ -231,28 +245,18 @@
                 }
             }
             break;
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
         case 6:
             {
                 $_ngcc_current_state = 2;
                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
-        case 3:
-            {
-                if(($__uri.equals("") && $__local.equals("location"))) {
-                    $_ngcc_current_state = 1;
-                }
-                else {
-                    unexpectedLeaveAttribute($__qname);
-                }
-            }
-            break;
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
         default:
             {
                 unexpectedLeaveAttribute($__qname);
@@ -270,11 +274,30 @@
                 $_ngcc_current_state = 7;
             }
             break;
+        case 4:
+            {
+                loc = $value;
+                $_ngcc_current_state = 3;
+                action0();
+            }
+            break;
         case 0:
             {
                 revertToParentFromText(this, super._cookie, $value);
             }
             break;
+        case 2:
+            {
+                if(($ai = $runtime.getAttributeIndex("","location"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendText(super._cookie, $value);
+                }
+                else {
+                    $_ngcc_current_state = 1;
+                    $runtime.sendText(super._cookie, $value);
+                }
+            }
+            break;
         case 6:
             {
                 if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
@@ -287,25 +310,6 @@
                 }
             }
             break;
-        case 4:
-            {
-                loc = $value;
-                $_ngcc_current_state = 3;
-                action0();
-            }
-            break;
-        case 2:
-            {
-                if(($ai = $runtime.getAttributeIndex("","location"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendText(super._cookie, $value);
-                }
-                else {
-                    $_ngcc_current_state = 1;
-                    $runtime.sendText(super._cookie, $value);
-                }
-            }
-            break;
         }
     }
 
--- a/src/share/jaxws_classes/com/sun/tools/internal/ws/version.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/ws/version.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,7 +23,7 @@
 # questions.
 #
 
-build-id=2.2.9-b14027
-build-version=JAX-WS RI 2.2.9-b14027
+build-id=2.2.9-b14140
+build-version=JAX-WS RI 2.2.9-b14140
 major-version=2.2.9
-svn-revision=14027
+svn-revision=14140
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -171,23 +171,23 @@
 Driver.FailedToGenerateCode = \
         Failed to produce code.
 
-# DO NOT localize the 2.2.8-b01 string - it is a token for an ant <replaceFilter>
+# DO NOT localize the 2.2.8-b20130806.1801 string - it is a token for an ant <replaceFilter>
 Driver.FilePrologComment = \
-        This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b01 \n\
+        This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b20130806.1801 \n\
         See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \n\
         Any modifications to this file will be lost upon recompilation of the source schema. \n\
         Generated on: {0} \n
 
 Driver.Version = \
-        xjc 2.2.8-b01
+        xjc 2.2.8-b20130806.1801
 
 Driver.FullVersion = \
-        xjc full version "2.2.8-b01-b28"
+        xjc full version "2.2.8-b20130806.1801"
 
-Driver.BuildID = 2.2.8-b01
+Driver.BuildID = 2.2.8-b20130806.1801
 
 # for JDK integration - include version in source zip
-jaxb.jdk.version=2.2.8-b01
+jaxb.jdk.version=@@JAXB_JDK_VERSION@@
 
 # see java.text.SimpleDateFormat for format syntax
 # DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_de.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_de.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -96,17 +96,17 @@
 
 Driver.FailedToGenerateCode = Code konnte nicht erzeugt werden.
 
-# DO NOT localize the 2.2.8-b01 string - it is a token for an ant <replaceFilter>
-Driver.FilePrologComment = Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b01 generiert \nSiehe <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \n\u00c4nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. \nGeneriert: {0} \n
+# DO NOT localize the 2.2.8-b20130806.1801 string - it is a token for an ant <replaceFilter>
+Driver.FilePrologComment = Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b20130806.1801 generiert \nSiehe <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \n\u00c4nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. \nGeneriert: {0} \n
 
-Driver.Version = xjc 2.2.8-b01
+Driver.Version = xjc 2.2.8-b20130806.1801
 
-Driver.FullVersion = xjc vollst\u00e4ndige Version "2.2.8-b01-b28"
+Driver.FullVersion = xjc vollst\u00E4ndige Version "2.2.8-b20130806.1801"
 
-Driver.BuildID = 2.2.8-b01
+Driver.BuildID = 2.2.8-b20130806.1801
 
 # for JDK integration - include version in source zip
-jaxb.jdk.version=2.2.8-b01
+jaxb.jdk.version=@@JAXB_JDK_VERSION@@
 
 # see java.text.SimpleDateFormat for format syntax
 # DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_es.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_es.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -96,17 +96,17 @@
 
 Driver.FailedToGenerateCode = Fallo al producir c\u00f3digo.
 
-# DO NOT localize the 2.2.8-b01 string - it is a token for an ant <replaceFilter>
-Driver.FilePrologComment = Este archivo ha sido generado por la arquitectura JavaTM para la implantaci\u00f3n de la referencia de enlace (JAXB) XML v2.2.8-b01 \nVisite <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \nTodas las modificaciones realizadas en este archivo se perder\u00e1n si se vuelve a compilar el esquema de origen. \nGenerado el: {0} \n
+# DO NOT localize the 2.2.8-b20130806.1801 string - it is a token for an ant <replaceFilter>
+Driver.FilePrologComment = Este archivo ha sido generado por la arquitectura JavaTM para la implantaci\u00f3n de la referencia de enlace (JAXB) XML v2.2.8-b20130806.1801 \nVisite <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \nTodas las modificaciones realizadas en este archivo se perder\u00e1n si se vuelve a compilar el esquema de origen. \nGenerado el: {0} \n
 
-Driver.Version = xjc 2.2.8-b01
+Driver.Version = xjc 2.2.8-b20130806.1801
 
-Driver.FullVersion = versi\u00f3n completa de xjc "2.2.8-b01-b28"
+Driver.FullVersion = versi\u00F3n completa de xjc "2.2.8-b20130806.1801"
 
-Driver.BuildID = 2.2.8-b01
+Driver.BuildID = 2.2.8-b20130806.1801
 
 # for JDK integration - include version in source zip
-jaxb.jdk.version=2.2.8-b01
+jaxb.jdk.version=@@JAXB_JDK_VERSION@@
 
 # see java.text.SimpleDateFormat for format syntax
 # DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_fr.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_fr.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -96,17 +96,17 @@
 
 Driver.FailedToGenerateCode = Echec de la production du code.
 
-# DO NOT localize the 2.2.8-b01 string - it is a token for an ant <replaceFilter>
-Driver.FilePrologComment = Ce fichier a \u00e9t\u00e9 g\u00e9n\u00e9r\u00e9 par l''impl\u00e9mentation de r\u00e9f\u00e9rence JavaTM Architecture for XML Binding (JAXB), v2.2.8-b01 \nVoir <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \nToute modification apport\u00e9e \u00e0 ce fichier sera perdue lors de la recompilation du sch\u00e9ma source. \nG\u00e9n\u00e9r\u00e9 le : {0} \n
+# DO NOT localize the 2.2.8-b20130806.1801 string - it is a token for an ant <replaceFilter>
+Driver.FilePrologComment = Ce fichier a \u00e9t\u00e9 g\u00e9n\u00e9r\u00e9 par l''impl\u00e9mentation de r\u00e9f\u00e9rence JavaTM Architecture for XML Binding (JAXB), v2.2.8-b20130806.1801 \nVoir <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \nToute modification apport\u00e9e \u00e0 ce fichier sera perdue lors de la recompilation du sch\u00e9ma source. \nG\u00e9n\u00e9r\u00e9 le : {0} \n
 
-Driver.Version = xjc 2.2.8-b01
+Driver.Version = xjc 2.2.8-b20130806.1801
 
-Driver.FullVersion = version compl\u00e8te xjc "2.2.8-b01-b28"
+Driver.FullVersion = version compl\u00E8te xjc "2.2.8-b20130806.1801"
 
-Driver.BuildID = 2.2.8-b01
+Driver.BuildID = 2.2.8-b20130806.1801
 
 # for JDK integration - include version in source zip
-jaxb.jdk.version=2.2.8-b01
+jaxb.jdk.version=@@JAXB_JDK_VERSION@@
 
 # see java.text.SimpleDateFormat for format syntax
 # DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_it.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_it.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -96,17 +96,17 @@
 
 Driver.FailedToGenerateCode = Produzione del codice non riuscita.
 
-# DO NOT localize the 2.2.8-b01 string - it is a token for an ant <replaceFilter>
-Driver.FilePrologComment = Questo file \u00e8 stato generato dall''architettura JavaTM per XML Binding (JAXB) Reference Implementation, v2.2.8-b01 \nVedere <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \nQualsiasi modifica a questo file andr\u00e0 persa durante la ricompilazione dello schema di origine. \nGenerato il: {0} \n
+# DO NOT localize the 2.2.8-b20130806.1801 string - it is a token for an ant <replaceFilter>
+Driver.FilePrologComment = Questo file \u00e8 stato generato dall''architettura JavaTM per XML Binding (JAXB) Reference Implementation, v2.2.8-b20130806.1801 \nVedere <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \nQualsiasi modifica a questo file andr\u00e0 persa durante la ricompilazione dello schema di origine. \nGenerato il: {0} \n
 
-Driver.Version = xjc 2.2.8-b01
+Driver.Version = xjc 2.2.8-b20130806.1801
 
-Driver.FullVersion = versione completa xjc "2.2.8-b01-b28"
+Driver.FullVersion = versione completa xjc "2.2.8-b20130806.1801"
 
-Driver.BuildID = 2.2.8-b01
+Driver.BuildID = 2.2.8-b20130806.1801
 
 # for JDK integration - include version in source zip
-jaxb.jdk.version=2.2.8-b01
+jaxb.jdk.version=@@JAXB_JDK_VERSION@@
 
 # see java.text.SimpleDateFormat for format syntax
 # DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ja.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ja.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -96,17 +96,17 @@
 
 Driver.FailedToGenerateCode = \u30b3\u30fc\u30c9\u306e\u751f\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
 
-# DO NOT localize the 2.2.8-b01 string - it is a token for an ant <replaceFilter>
-Driver.FilePrologComment = \u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u3001JavaTM Architecture for XML Binding(JAXB) Reference Implementation\u3001v2.2.8-b01\u306b\u3088\u3063\u3066\u751f\u6210\u3055\u308c\u307e\u3057\u305f \n<a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044 \n\u30bd\u30fc\u30b9\u30fb\u30b9\u30ad\u30fc\u30de\u306e\u518d\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306b\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u5909\u66f4\u306f\u5931\u308f\u308c\u307e\u3059\u3002 \n\u751f\u6210\u65e5: {0} \n
+# DO NOT localize the 2.2.8-b20130806.1801 string - it is a token for an ant <replaceFilter>
+Driver.FilePrologComment = \u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u3001JavaTM Architecture for XML Binding(JAXB) Reference Implementation\u3001v2.2.8-b20130806.1801\u306b\u3088\u3063\u3066\u751f\u6210\u3055\u308c\u307e\u3057\u305f \n<a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044 \n\u30bd\u30fc\u30b9\u30fb\u30b9\u30ad\u30fc\u30de\u306e\u518d\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306b\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u5909\u66f4\u306f\u5931\u308f\u308c\u307e\u3059\u3002 \n\u751f\u6210\u65e5: {0} \n
 
-Driver.Version = xjc 2.2.8-b01
+Driver.Version = xjc 2.2.8-b20130806.1801
 
-Driver.FullVersion = xjc\u30d5\u30eb\u30fb\u30d0\u30fc\u30b8\u30e7\u30f3"2.2.8-b01-b28"
+Driver.FullVersion = xjc\u30D5\u30EB\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3"2.2.8-b20130806.1801"
 
-Driver.BuildID = 2.2.8-b01
+Driver.BuildID = 2.2.8-b20130806.1801
 
 # for JDK integration - include version in source zip
-jaxb.jdk.version=2.2.8-b01
+jaxb.jdk.version=@@JAXB_JDK_VERSION@@
 
 # see java.text.SimpleDateFormat for format syntax
 # DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ko.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ko.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -96,17 +96,17 @@
 
 Driver.FailedToGenerateCode = \ucf54\ub4dc \uc0dd\uc131\uc744 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
 
-# DO NOT localize the 2.2.8-b01 string - it is a token for an ant <replaceFilter>
-Driver.FilePrologComment = \uc774 \ud30c\uc77c\uc740 JAXB(JavaTM Architecture for XML Binding) \ucc38\uc870 \uad6c\ud604 2.2.8-b01 \ubc84\uc804\uc744 \ud1b5\ud574 \uc0dd\uc131\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \n<a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>\ub97c \ucc38\uc870\ud558\uc2ed\uc2dc\uc624. \n\uc774 \ud30c\uc77c\uc744 \uc218\uc815\ud558\uba74 \uc18c\uc2a4 \uc2a4\ud0a4\ub9c8\ub97c \uc7ac\ucef4\ud30c\uc77c\ud560 \ub54c \uc218\uc815 \uc0ac\ud56d\uc774 \uc190\uc2e4\ub429\ub2c8\ub2e4. \n\uc0dd\uc131 \ub0a0\uc9dc: {0} \n
+# DO NOT localize the 2.2.8-b20130806.1801 string - it is a token for an ant <replaceFilter>
+Driver.FilePrologComment = \uc774 \ud30c\uc77c\uc740 JAXB(JavaTM Architecture for XML Binding) \ucc38\uc870 \uad6c\ud604 2.2.8-b20130806.1801 \ubc84\uc804\uc744 \ud1b5\ud574 \uc0dd\uc131\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \n<a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>\ub97c \ucc38\uc870\ud558\uc2ed\uc2dc\uc624. \n\uc774 \ud30c\uc77c\uc744 \uc218\uc815\ud558\uba74 \uc18c\uc2a4 \uc2a4\ud0a4\ub9c8\ub97c \uc7ac\ucef4\ud30c\uc77c\ud560 \ub54c \uc218\uc815 \uc0ac\ud56d\uc774 \uc190\uc2e4\ub429\ub2c8\ub2e4. \n\uc0dd\uc131 \ub0a0\uc9dc: {0} \n
 
-Driver.Version = XJC 2.2.8-b01
+Driver.Version = XJC 2.2.8-b20130806.1801
 
-Driver.FullVersion = XJC \uc815\uc2dd \ubc84\uc804 "2.2.8-b01-b28"
+Driver.FullVersion = XJC \uC815\uC2DD \uBC84\uC804 "2.2.8-b20130806.1801"
 
-Driver.BuildID = 2.2.8-b01
+Driver.BuildID = 2.2.8-b20130806.1801
 
 # for JDK integration - include version in source zip
-jaxb.jdk.version=2.2.8-b01
+jaxb.jdk.version=@@JAXB_JDK_VERSION@@
 
 # see java.text.SimpleDateFormat for format syntax
 # DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_pt_BR.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_pt_BR.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -96,17 +96,17 @@
 
 Driver.FailedToGenerateCode = Falha ao produzir o c\u00f3digo.
 
-# DO NOT localize the 2.2.8-b01 string - it is a token for an ant <replaceFilter>
-Driver.FilePrologComment = Este arquivo foi gerado pela Arquitetura JavaTM para Implementa\u00e7\u00e3o de Refer\u00eancia (JAXB) de Bind XML, v2.2.8-b01 \nConsulte <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \nTodas as modifica\u00e7\u00f5es neste arquivo ser\u00e3o perdidas ap\u00f3s a recompila\u00e7\u00e3o do esquema de origem. \nGerado em: {0} \n
+# DO NOT localize the 2.2.8-b20130806.1801 string - it is a token for an ant <replaceFilter>
+Driver.FilePrologComment = Este arquivo foi gerado pela Arquitetura JavaTM para Implementa\u00e7\u00e3o de Refer\u00eancia (JAXB) de Bind XML, v2.2.8-b20130806.1801 \nConsulte <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \nTodas as modifica\u00e7\u00f5es neste arquivo ser\u00e3o perdidas ap\u00f3s a recompila\u00e7\u00e3o do esquema de origem. \nGerado em: {0} \n
 
-Driver.Version = xjc 2.2.8-b01
+Driver.Version = xjc 2.2.8-b20130806.1801
 
-Driver.FullVersion = vers\u00e3o completa de xjc "2.2.8-b01-b28"
+Driver.FullVersion = vers\u00E3o completa de xjc "2.2.8-b20130806.1801"
 
-Driver.BuildID = 2.2.8-b01
+Driver.BuildID = 2.2.8-b20130806.1801
 
 # for JDK integration - include version in source zip
-jaxb.jdk.version=2.2.8-b01
+jaxb.jdk.version=@@JAXB_JDK_VERSION@@
 
 # see java.text.SimpleDateFormat for format syntax
 # DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_CN.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_CN.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -96,17 +96,17 @@
 
 Driver.FailedToGenerateCode = \u65e0\u6cd5\u751f\u6210\u4ee3\u7801\u3002
 
-# DO NOT localize the 2.2.8-b01 string - it is a token for an ant <replaceFilter>
-Driver.FilePrologComment = \u6b64\u6587\u4ef6\u662f\u7531 JavaTM Architecture for XML Binding (JAXB) \u5f15\u7528\u5b9e\u73b0 v2.2.8-b01 \u751f\u6210\u7684\n\u8bf7\u8bbf\u95ee <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \n\u5728\u91cd\u65b0\u7f16\u8bd1\u6e90\u6a21\u5f0f\u65f6, \u5bf9\u6b64\u6587\u4ef6\u7684\u6240\u6709\u4fee\u6539\u90fd\u5c06\u4e22\u5931\u3002\n\u751f\u6210\u65f6\u95f4: {0} \n
+# DO NOT localize the 2.2.8-b20130806.1801 string - it is a token for an ant <replaceFilter>
+Driver.FilePrologComment = \u6b64\u6587\u4ef6\u662f\u7531 JavaTM Architecture for XML Binding (JAXB) \u5f15\u7528\u5b9e\u73b0 v2.2.8-b20130806.1801 \u751f\u6210\u7684\n\u8bf7\u8bbf\u95ee <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \n\u5728\u91cd\u65b0\u7f16\u8bd1\u6e90\u6a21\u5f0f\u65f6, \u5bf9\u6b64\u6587\u4ef6\u7684\u6240\u6709\u4fee\u6539\u90fd\u5c06\u4e22\u5931\u3002\n\u751f\u6210\u65f6\u95f4: {0} \n
 
-Driver.Version = xjc 2.2.8-b01
+Driver.Version = xjc 2.2.8-b20130806.1801
 
-Driver.FullVersion = xjc \u5b8c\u6574\u7248\u672c "2.2.8-b01-b28"
+Driver.FullVersion = xjc \u5B8C\u6574\u7248\u672C "2.2.8-b20130806.1801"
 
-Driver.BuildID = 2.2.8-b01
+Driver.BuildID = 2.2.8-b20130806.1801
 
 # for JDK integration - include version in source zip
-jaxb.jdk.version=2.2.8-b01
+jaxb.jdk.version=@@JAXB_JDK_VERSION@@
 
 # see java.text.SimpleDateFormat for format syntax
 # DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_TW.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_TW.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -96,17 +96,17 @@
 
 Driver.FailedToGenerateCode = \u7121\u6cd5\u7522\u751f\u7a0b\u5f0f\u78bc.
 
-# DO NOT localize the 2.2.8-b01 string - it is a token for an ant <replaceFilter>
-Driver.FilePrologComment = \u6b64\u6a94\u6848\u662f\u7531 JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b01 \u6240\u7522\u751f \n\u8acb\u53c3\u95b1 <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \n\u4e00\u65e6\u91cd\u65b0\u7de8\u8b6f\u4f86\u6e90\u7db1\u8981, \u5c0d\u6b64\u6a94\u6848\u6240\u505a\u7684\u4efb\u4f55\u4fee\u6539\u90fd\u5c07\u6703\u907a\u5931. \n\u7522\u751f\u6642\u9593: {0} \n
+# DO NOT localize the 2.2.8-b20130806.1801 string - it is a token for an ant <replaceFilter>
+Driver.FilePrologComment = \u6b64\u6a94\u6848\u662f\u7531 JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b20130806.1801 \u6240\u7522\u751f \n\u8acb\u53c3\u95b1 <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \n\u4e00\u65e6\u91cd\u65b0\u7de8\u8b6f\u4f86\u6e90\u7db1\u8981, \u5c0d\u6b64\u6a94\u6848\u6240\u505a\u7684\u4efb\u4f55\u4fee\u6539\u90fd\u5c07\u6703\u907a\u5931. \n\u7522\u751f\u6642\u9593: {0} \n
 
-Driver.Version = xjc 2.2.8-b01
+Driver.Version = xjc 2.2.8-b20130806.1801
 
-Driver.FullVersion = xjc \u5b8c\u6574\u7248\u672c "2.2.8-b01-b28"
+Driver.FullVersion = xjc \u5B8C\u6574\u7248\u672C "2.2.8-b20130806.1801"
 
-Driver.BuildID = 2.2.8-b01
+Driver.BuildID = 2.2.8-b20130806.1801
 
 # for JDK integration - include version in source zip
-jaxb.jdk.version=2.2.8-b01
+jaxb.jdk.version=@@JAXB_JDK_VERSION@@
 
 # see java.text.SimpleDateFormat for format syntax
 # DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/SchemaCache.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/SchemaCache.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,6 +35,8 @@
 import javax.xml.XMLConstants;
 import org.xml.sax.SAXException;
 
+import static com.sun.xml.internal.bind.v2.util.XmlFactory.allowFileAccess;
+
 /**
  * Wraps a JAXP {@link Schema} object and lazily instantiate it.
  *
@@ -59,7 +61,7 @@
                 try {
                     // do not disable secure processing - these are well-known schemas
                     SchemaFactory sf = XmlFactory.createSchemaFactory(XMLConstants.W3C_XML_SCHEMA_NS_URI, false);
-                    schema = sf.newSchema(source);
+                    schema = allowFileAccess(sf, false).newSchema(source);
                 } catch (SAXException e) {
                     // we make sure that the schema is correct before we ship.
                     throw new AssertionError(e);
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAccessorOrderWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAccessorOrderWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import javax.xml.bind.annotation.XmlAccessorOrder;
 import com.sun.codemodel.internal.JAnnotationWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlAccessorOrderWriter
     extends JAnnotationWriter<XmlAccessorOrder>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAccessorTypeWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAccessorTypeWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import javax.xml.bind.annotation.XmlAccessorType;
 import com.sun.codemodel.internal.JAnnotationWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlAccessorTypeWriter
     extends JAnnotationWriter<XmlAccessorType>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAnyAttributeWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAnyAttributeWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import javax.xml.bind.annotation.XmlAnyAttribute;
 import com.sun.codemodel.internal.JAnnotationWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlAnyAttributeWriter
     extends JAnnotationWriter<XmlAnyAttribute>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAnyElementWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAnyElementWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import com.sun.codemodel.internal.JAnnotationWriter;
 import com.sun.codemodel.internal.JType;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlAnyElementWriter
     extends JAnnotationWriter<XmlAnyElement>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAttachmentRefWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAttachmentRefWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import javax.xml.bind.annotation.XmlAttachmentRef;
 import com.sun.codemodel.internal.JAnnotationWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlAttachmentRefWriter
     extends JAnnotationWriter<XmlAttachmentRef>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAttributeWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlAttributeWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import javax.xml.bind.annotation.XmlAttribute;
 import com.sun.codemodel.internal.JAnnotationWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlAttributeWriter
     extends JAnnotationWriter<XmlAttribute>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementDeclWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementDeclWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import com.sun.codemodel.internal.JAnnotationWriter;
 import com.sun.codemodel.internal.JType;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlElementDeclWriter
     extends JAnnotationWriter<XmlElementDecl>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementRefWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementRefWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import com.sun.codemodel.internal.JAnnotationWriter;
 import com.sun.codemodel.internal.JType;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlElementRefWriter
     extends JAnnotationWriter<XmlElementRef>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementRefsWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementRefsWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import javax.xml.bind.annotation.XmlElementRefs;
 import com.sun.codemodel.internal.JAnnotationWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlElementRefsWriter
     extends JAnnotationWriter<XmlElementRefs>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementWrapperWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementWrapperWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import javax.xml.bind.annotation.XmlElementWrapper;
 import com.sun.codemodel.internal.JAnnotationWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlElementWrapperWriter
     extends JAnnotationWriter<XmlElementWrapper>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import com.sun.codemodel.internal.JAnnotationWriter;
 import com.sun.codemodel.internal.JType;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlElementWriter
     extends JAnnotationWriter<XmlElement>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementsWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementsWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import javax.xml.bind.annotation.XmlElements;
 import com.sun.codemodel.internal.JAnnotationWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlElementsWriter
     extends JAnnotationWriter<XmlElements>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlEnumValueWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlEnumValueWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import javax.xml.bind.annotation.XmlEnumValue;
 import com.sun.codemodel.internal.JAnnotationWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlEnumValueWriter
     extends JAnnotationWriter<XmlEnumValue>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlEnumWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlEnumWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import com.sun.codemodel.internal.JAnnotationWriter;
 import com.sun.codemodel.internal.JType;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlEnumWriter
     extends JAnnotationWriter<XmlEnum>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlIDREFWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlIDREFWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import javax.xml.bind.annotation.XmlIDREF;
 import com.sun.codemodel.internal.JAnnotationWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlIDREFWriter
     extends JAnnotationWriter<XmlIDREF>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlIDWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlIDWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import javax.xml.bind.annotation.XmlID;
 import com.sun.codemodel.internal.JAnnotationWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlIDWriter
     extends JAnnotationWriter<XmlID>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlInlineBinaryDataWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlInlineBinaryDataWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import javax.xml.bind.annotation.XmlInlineBinaryData;
 import com.sun.codemodel.internal.JAnnotationWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlInlineBinaryDataWriter
     extends JAnnotationWriter<XmlInlineBinaryData>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlJavaTypeAdapterWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlJavaTypeAdapterWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import com.sun.codemodel.internal.JAnnotationWriter;
 import com.sun.codemodel.internal.JType;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlJavaTypeAdapterWriter
     extends JAnnotationWriter<XmlJavaTypeAdapter>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlListWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlListWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import javax.xml.bind.annotation.XmlList;
 import com.sun.codemodel.internal.JAnnotationWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlListWriter
     extends JAnnotationWriter<XmlList>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlMimeTypeWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlMimeTypeWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import javax.xml.bind.annotation.XmlMimeType;
 import com.sun.codemodel.internal.JAnnotationWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlMimeTypeWriter
     extends JAnnotationWriter<XmlMimeType>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlMixedWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlMixedWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import javax.xml.bind.annotation.XmlMixed;
 import com.sun.codemodel.internal.JAnnotationWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlMixedWriter
     extends JAnnotationWriter<XmlMixed>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlNsWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlNsWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import javax.xml.bind.annotation.XmlNs;
 import com.sun.codemodel.internal.JAnnotationWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlNsWriter
     extends JAnnotationWriter<XmlNs>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlRegistryWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlRegistryWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import javax.xml.bind.annotation.XmlRegistry;
 import com.sun.codemodel.internal.JAnnotationWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlRegistryWriter
     extends JAnnotationWriter<XmlRegistry>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlRootElementWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlRootElementWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import javax.xml.bind.annotation.XmlRootElement;
 import com.sun.codemodel.internal.JAnnotationWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlRootElementWriter
     extends JAnnotationWriter<XmlRootElement>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaTypeWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaTypeWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import com.sun.codemodel.internal.JAnnotationWriter;
 import com.sun.codemodel.internal.JType;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlSchemaTypeWriter
     extends JAnnotationWriter<XmlSchemaType>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaTypesWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaTypesWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import javax.xml.bind.annotation.XmlSchemaTypes;
 import com.sun.codemodel.internal.JAnnotationWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlSchemaTypesWriter
     extends JAnnotationWriter<XmlSchemaTypes>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSchemaWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import javax.xml.bind.annotation.XmlSchema;
 import com.sun.codemodel.internal.JAnnotationWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlSchemaWriter
     extends JAnnotationWriter<XmlSchema>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSeeAlsoWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlSeeAlsoWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import com.sun.codemodel.internal.JAnnotationWriter;
 import com.sun.codemodel.internal.JType;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlSeeAlsoWriter
     extends JAnnotationWriter<XmlSeeAlso>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlTransientWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlTransientWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import javax.xml.bind.annotation.XmlTransient;
 import com.sun.codemodel.internal.JAnnotationWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlTransientWriter
     extends JAnnotationWriter<XmlTransient>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlTypeWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlTypeWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import com.sun.codemodel.internal.JAnnotationWriter;
 import com.sun.codemodel.internal.JType;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlTypeWriter
     extends JAnnotationWriter<XmlType>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlValueWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlValueWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import javax.xml.bind.annotation.XmlValue;
 import com.sun.codemodel.internal.JAnnotationWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface XmlValueWriter
     extends JAnnotationWriter<XmlValue>
 {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/bean/MessageBundle.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/generator/bean/MessageBundle.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -26,7 +26,7 @@
 METHOD_COLLISION = \
         The "{0}" method is defined on both "{1}" and "{2}" and is causing a collision.
 
-# {0} - enumeration constant value (but something that couldn?t be translated to a valid java identifier e.g. starting special character, number, ..)    e.g. Cannot derive a valid Java identifier from "5.6.0". Specify a customization to change the name.
+# {0} - enumeration constant value (but something that couldn�t be translated to a valid java identifier e.g. starting special character, number, ..)    e.g. Cannot derive a valid Java identifier from "5.6.0". Specify a customization to change the name.
 ERR_UNUSABLE_NAME = \
         Cannot derive a valid Java identifier from "{0}". Specify a customization to change the name.
 
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/CPropertyInfo.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/CPropertyInfo.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,7 @@
 import java.util.Collection;
 import java.util.Map;
 
+import javax.xml.XMLConstants;
 import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 import javax.xml.namespace.QName;
@@ -298,7 +299,7 @@
             // this is anonymous type. can't have @XmlSchemaType
             return false;
 
-        if(!typeName.getNamespaceURI().equals(WellKnownNamespace.XML_SCHEMA))
+        if(!XMLConstants.W3C_XML_SCHEMA_NS_URI.equals(typeName.getNamespaceURI()))
             // if we put application-defined type name, it will be undefined
             // by the time we generate a schema.
             return false;
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/CTypeRef.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/CTypeRef.java	Thu Aug 29 16:18:31 2013 -0700
@@ -25,6 +25,7 @@
 
 package com.sun.tools.internal.xjc.model;
 
+import javax.xml.XMLConstants;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 import javax.xml.namespace.QName;
 
@@ -34,6 +35,7 @@
 import com.sun.xml.internal.bind.v2.model.core.PropertyInfo;
 import com.sun.xml.internal.bind.v2.model.core.TypeRef;
 import com.sun.xml.internal.bind.v2.runtime.RuntimeUtil;
+import com.sun.xml.internal.xsom.XSType;
 import com.sun.xml.internal.xsom.XmlString;
 import com.sun.xml.internal.xsom.XSElementDecl;
 import com.sun.istack.internal.Nullable;
@@ -74,11 +76,34 @@
     }
 
     public static QName getSimpleTypeName(XSElementDecl decl) {
-        if(decl==null)  return null;
-        QName typeName = null;
-        if(decl.getType().isSimpleType())
-            typeName = BGMBuilder.getName(decl.getType());
-        return typeName;
+        if(decl==null || !decl.getType().isSimpleType())
+            return null; // null if not simple type
+        return resolveSimpleTypeName(decl.getType());
+    }
+
+    /**
+     * Recursively search for type name.
+     *
+     * This is needed to find correct type for refs like:
+     *
+     *<xs:simpleType name="parent">
+     *  <xs:restriction base="xs:date"/>
+     *</xs:simpleType>
+     *<xs:simpleType name="child">
+     *  <xs:restriction base="parent"/>
+     *</xs:simpleType>
+     *
+     *<xs:element name="testField" type="child"/>
+     *
+     * @param declType given type
+     * @return simpleTypeName or null
+     */
+    private static QName resolveSimpleTypeName(XSType declType) {
+        QName name = BGMBuilder.getName(declType);
+        if (name != null && !XMLConstants.W3C_XML_SCHEMA_NS_URI.equals(name.getNamespaceURI()))
+            return resolveSimpleTypeName(declType.getBaseType());
+        else
+            return name;
     }
 
     public CTypeRef(CNonElement type, QName elementName, QName typeName, boolean nillable, XmlString defaultValue) {
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/package-info.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/package-info.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -55,7 +55,3 @@
  * </dl>
  */
 package com.sun.tools.internal.xjc.model;
-
-import com.sun.xml.internal.xsom.XSComponent;
-
-import org.xml.sax.Locator;
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/reader/internalizer/AbstractReferenceFinderImpl.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/reader/internalizer/AbstractReferenceFinderImpl.java	Thu Aug 29 16:18:31 2013 -0700
@@ -25,29 +25,27 @@
 
 package com.sun.tools.internal.xjc.reader.internalizer;
 
-import java.io.IOException;
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-
 import com.sun.istack.internal.SAXParseException2;
-
 import org.xml.sax.Attributes;
 import org.xml.sax.Locator;
 import org.xml.sax.SAXException;
 import org.xml.sax.SAXParseException;
 import org.xml.sax.helpers.XMLFilterImpl;
 
+import java.io.File;
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
+
 /**
  * XMLFilter that finds references to other schema files from
  * SAX events.
- *
+ * <p/>
  * This implementation is a base implementation for typical case
  * where we just need to look for a particular attribute which
  * contains an URL to another schema file.
  *
- * @author
- *  Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
+ * @author Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
  */
 public abstract class AbstractReferenceFinderImpl extends XMLFilterImpl {
 
@@ -61,12 +59,9 @@
      * IF the given element contains a reference to an external resource,
      * return its URL.
      *
-     * @param nsURI
-     *      Namespace URI of the current element
-     * @param localName
-     *      Local name of the current element
-     * @return
-     *      It's OK to return a relative URL.
+     * @param nsURI     Namespace URI of the current element
+     * @param localName Local name of the current element
+     * @return It's OK to return a relative URL.
      */
     protected abstract String findExternalResource(String nsURI, String localName, Attributes atts);
 
@@ -83,16 +78,21 @@
             // absolutize URL.
             String lsi = locator.getSystemId();
             String ref;
-            if (lsi.startsWith("jar:")) {
-                int bangIdx = lsi.indexOf('!');
-                if (bangIdx > 0) {
-                    ref = lsi.substring(0, bangIdx + 1)
-                            + new URI(lsi.substring(bangIdx + 1)).resolve(new URI(relativeRef)).toString();
+            URI relRefURI = new URI(relativeRef);
+            if (relRefURI.isAbsolute())
+                ref = relativeRef;
+            else {
+                if (lsi.startsWith("jar:")) {
+                    int bangIdx = lsi.indexOf('!');
+                    if (bangIdx > 0) {
+                        ref = lsi.substring(0, bangIdx + 1)
+                                + new URI(lsi.substring(bangIdx + 1)).resolve(new URI(relativeRef)).toString();
+                    } else {
+                        ref = relativeRef;
+                    }
                 } else {
-                    ref = relativeRef;
+                    ref = new URI(lsi).resolve(new URI(relativeRef)).toString();
                 }
-            } else {
-                ref = new URI(lsi).resolve(new URI(relativeRef)).toString();
             }
 
             // then parse this schema as well,
@@ -121,6 +121,7 @@
             throw spe;
         }
     }
+
     private Locator locator;
 
     @Override
@@ -128,4 +129,4 @@
         super.setDocumentLocator(locator);
         this.locator = locator;
     }
-};
+}
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/reader/internalizer/DOMForest.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/reader/internalizer/DOMForest.java	Thu Aug 29 16:18:31 2013 -0700
@@ -25,18 +25,21 @@
 
 package com.sun.tools.internal.xjc.reader.internalizer;
 
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import com.sun.istack.internal.NotNull;
+import com.sun.istack.internal.XMLStreamReaderToContentHandler;
+import com.sun.tools.internal.xjc.ErrorReceiver;
+import com.sun.tools.internal.xjc.Options;
+import com.sun.tools.internal.xjc.reader.Const;
+import com.sun.tools.internal.xjc.util.ErrorReceiverFilter;
+import com.sun.xml.internal.bind.marshaller.DataWriter;
+import com.sun.xml.internal.bind.v2.util.XmlFactory;
+import com.sun.xml.internal.xsom.parser.JAXPParser;
+import com.sun.xml.internal.xsom.parser.XMLParser;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.xml.sax.*;
+import org.xml.sax.helpers.XMLFilterImpl;
 
-import static javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
@@ -51,27 +54,13 @@
 import javax.xml.transform.sax.SAXResult;
 import javax.xml.transform.sax.SAXSource;
 import javax.xml.validation.SchemaFactory;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.util.*;
 
-import com.sun.istack.internal.NotNull;
-import com.sun.istack.internal.XMLStreamReaderToContentHandler;
-import com.sun.tools.internal.xjc.ErrorReceiver;
-import com.sun.tools.internal.xjc.Options;
-import com.sun.tools.internal.xjc.reader.Const;
-import com.sun.tools.internal.xjc.util.ErrorReceiverFilter;
-import com.sun.xml.internal.bind.marshaller.DataWriter;
-import com.sun.xml.internal.bind.v2.util.XmlFactory;
-import com.sun.xml.internal.xsom.parser.JAXPParser;
-import com.sun.xml.internal.xsom.parser.XMLParser;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.XMLReader;
-import org.xml.sax.helpers.XMLFilterImpl;
+import static com.sun.xml.internal.bind.v2.util.XmlFactory.allowFileAccess;
+import static javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI;
 
 
 /**
@@ -471,7 +460,7 @@
         }
 
         try {
-            sf.newSchema(sources.toArray(new SAXSource[0]));
+            allowFileAccess(sf, options.disableXmlSecurity).newSchema(sources.toArray(new SAXSource[0]));
         } catch (SAXException e) {
             // error should have been reported.
         } catch (RuntimeException re) {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/Util.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/Util.java	Thu Aug 29 16:18:31 2013 -0700
@@ -30,7 +30,7 @@
 /**
  * @author Kohsuke Kawaguchi
  */
-public abstract class Util {
+public final class Util {
     private Util() {}   // no instanciation
 
     /**
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/Messages.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/Messages.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -40,6 +40,8 @@
     NO_DEFAULT_CONSTRUCTOR_IN_INNER_CLASS, // 1 arg
     INVALID_TYPE_IN_MAP, // 0args
     INVALID_JAXP_IMPLEMENTATION, // 1 arg
+    JAXP_SUPPORTED_PROPERTY, // 1 arg
+    JAXP_UNSUPPORTED_PROPERTY, // 1 arg
     ;
 
     private static final ResourceBundle rb = ResourceBundle.getBundle(Messages.class.getName());
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/Messages.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/Messages.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -50,3 +50,9 @@
 
 INVALID_JAXP_IMPLEMENTATION = \
     You are running with invalid JAXP api or implementation. JAXP api/implementation of version 1.3.1 (included in JDK6) or higher is required. In case you are using ant, make sure ant 1.7.0 or higher is used - older versions of ant contain JAXP api/impl version 1.2 (in xml-apis.jar). If you want to keep using older ant versions, you have to configure it to use higher the JAXP api/impl versions.
+
+JAXP_SUPPORTED_PROPERTY =\
+    Property "{0}" is supported and has been successfully set by used JAXP implementation.
+
+JAXP_UNSUPPORTED_PROPERTY =\
+    Property "{0}" is not supported by used JAXP implementation.
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/Init.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/Init.java	Thu Aug 29 16:18:31 2013 -0700
@@ -25,7 +25,10 @@
 
 package com.sun.xml.internal.bind.v2.model.annotation;
 
-
+/**
+ * <p><b>Auto-generated, do not edit.</b></p>
+ *
+ */
 class Init {
 
 
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlAttributeQuick.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlAttributeQuick.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import java.lang.annotation.Annotation;
 import javax.xml.bind.annotation.XmlAttribute;
 
+
+/**
+ * <p><b>Auto-generated, do not edit.</b></p>
+ *
+ */
 final class XmlAttributeQuick
     extends Quick
     implements XmlAttribute
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlElementDeclQuick.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlElementDeclQuick.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import java.lang.annotation.Annotation;
 import javax.xml.bind.annotation.XmlElementDecl;
 
+
+/**
+ * <p><b>Auto-generated, do not edit.</b></p>
+ *
+ */
 final class XmlElementDeclQuick
     extends Quick
     implements XmlElementDecl
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlElementQuick.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlElementQuick.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import java.lang.annotation.Annotation;
 import javax.xml.bind.annotation.XmlElement;
 
+
+/**
+ * <p><b>Auto-generated, do not edit.</b></p>
+ *
+ */
 final class XmlElementQuick
     extends Quick
     implements XmlElement
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlElementRefQuick.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlElementRefQuick.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import java.lang.annotation.Annotation;
 import javax.xml.bind.annotation.XmlElementRef;
 
+
+/**
+ * <p><b>Auto-generated, do not edit.</b></p>
+ *
+ */
 final class XmlElementRefQuick
     extends Quick
     implements XmlElementRef
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlElementRefsQuick.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlElementRefsQuick.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import javax.xml.bind.annotation.XmlElementRef;
 import javax.xml.bind.annotation.XmlElementRefs;
 
+
+/**
+ * <p><b>Auto-generated, do not edit.</b></p>
+ *
+ */
 final class XmlElementRefsQuick
     extends Quick
     implements XmlElementRefs
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlEnumQuick.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlEnumQuick.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import java.lang.annotation.Annotation;
 import javax.xml.bind.annotation.XmlEnum;
 
+
+/**
+ * <p><b>Auto-generated, do not edit.</b></p>
+ *
+ */
 final class XmlEnumQuick
     extends Quick
     implements XmlEnum
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlRootElementQuick.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlRootElementQuick.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import java.lang.annotation.Annotation;
 import javax.xml.bind.annotation.XmlRootElement;
 
+
+/**
+ * <p><b>Auto-generated, do not edit.</b></p>
+ *
+ */
 final class XmlRootElementQuick
     extends Quick
     implements XmlRootElement
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlSchemaQuick.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlSchemaQuick.java	Thu Aug 29 16:18:31 2013 -0700
@@ -30,6 +30,11 @@
 import javax.xml.bind.annotation.XmlNsForm;
 import javax.xml.bind.annotation.XmlSchema;
 
+
+/**
+ * <p><b>Auto-generated, do not edit.</b></p>
+ *
+ */
 final class XmlSchemaQuick
     extends Quick
     implements XmlSchema
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlSchemaTypeQuick.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlSchemaTypeQuick.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import java.lang.annotation.Annotation;
 import javax.xml.bind.annotation.XmlSchemaType;
 
+
+/**
+ * <p><b>Auto-generated, do not edit.</b></p>
+ *
+ */
 final class XmlSchemaTypeQuick
     extends Quick
     implements XmlSchemaType
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlTransientQuick.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlTransientQuick.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import java.lang.annotation.Annotation;
 import javax.xml.bind.annotation.XmlTransient;
 
+
+/**
+ * <p><b>Auto-generated, do not edit.</b></p>
+ *
+ */
 final class XmlTransientQuick
     extends Quick
     implements XmlTransient
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlTypeQuick.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlTypeQuick.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import java.lang.annotation.Annotation;
 import javax.xml.bind.annotation.XmlType;
 
+
+/**
+ * <p><b>Auto-generated, do not edit.</b></p>
+ *
+ */
 final class XmlTypeQuick
     extends Quick
     implements XmlType
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlValueQuick.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/annotation/XmlValueQuick.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import java.lang.annotation.Annotation;
 import javax.xml.bind.annotation.XmlValue;
 
+
+/**
+ * <p><b>Auto-generated, do not edit.</b></p>
+ *
+ */
 final class XmlValueQuick
     extends Quick
     implements XmlValue
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/core/package-info.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/core/package-info.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -59,10 +59,6 @@
 @XmlSchema(namespace="http://jaxb.dev.java.net/xjc/model",elementFormDefault=QUALIFIED)
 package com.sun.xml.internal.bind.v2.model.core;
 
-import java.lang.reflect.Type;
-import java.lang.reflect.Method;
-import java.lang.reflect.Field;
-
 import javax.xml.bind.annotation.XmlSchema;
 
 import static javax.xml.bind.annotation.XmlNsForm.QUALIFIED;
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeBuiltinLeafInfoImpl.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeBuiltinLeafInfoImpl.java	Thu Aug 29 16:18:31 2013 -0700
@@ -91,6 +91,9 @@
 import com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext;
 import com.sun.xml.internal.bind.v2.util.ByteArrayOutputStreamEx;
 import com.sun.xml.internal.bind.v2.util.DataSourceSource;
+import java.util.logging.Logger;
+import com.sun.xml.internal.bind.Util;
+import java.util.logging.Level;
 
 import org.xml.sax.SAXException;
 
@@ -105,6 +108,8 @@
 public abstract class RuntimeBuiltinLeafInfoImpl<T> extends BuiltinLeafInfoImpl<Type,Class>
     implements RuntimeBuiltinLeafInfo, Transducer<T> {
 
+    private static final Logger logger = Util.getClassLogger();
+
     private RuntimeBuiltinLeafInfoImpl(Class type, QName... typeNames) {
         super(type, typeNames);
         LEAVES.put(type,this);
@@ -196,6 +201,7 @@
     public static final List<RuntimeBuiltinLeafInfoImpl<?>> builtinBeanInfos;
 
     public static final String MAP_ANYURI_TO_URI = "mapAnyUriToUri";
+    public static final String USE_OLD_GMONTH_MAPPING = "jaxb.ri.useOldGmonthMapping";
 
     static {
 
@@ -960,7 +966,14 @@
         m.put(DatatypeConstants.DATETIME,   "%Y-%M-%DT%h:%m:%s"+ "%z");
         m.put(DatatypeConstants.DATE,       "%Y-%M-%D" +"%z");
         m.put(DatatypeConstants.TIME,       "%h:%m:%s"+ "%z");
-        m.put(DatatypeConstants.GMONTH,     "--%M--%z");
+        if (System.getProperty(USE_OLD_GMONTH_MAPPING) == null) {
+            m.put(DatatypeConstants.GMONTH, "--%M%z");      //  E2-12 Error. http://www.w3.org/2001/05/xmlschema-errata#e2-12
+        } else {                                            //  backw. compatibility
+            if (logger.isLoggable(Level.FINE)) {
+                logger.log(Level.FINE, "Old GMonth mapping used.");
+            }
+            m.put(DatatypeConstants.GMONTH, "--%M--%z");
+        }
         m.put(DatatypeConstants.GDAY,       "---%D" + "%z");
         m.put(DatatypeConstants.GYEAR,      "%Y" + "%z");
         m.put(DatatypeConstants.GYEARMONTH, "%Y-%M" + "%z");
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/package-info.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/package-info.java	Thu Aug 29 16:18:31 2013 -0700
@@ -180,7 +180,3 @@
  * @ArchitectureDocument
  */
 package com.sun.xml.internal.bind.v2;
-
-import javax.xml.bind.JAXBContext;
-
-import com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl;
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/BridgeAdapter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/BridgeAdapter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -88,13 +88,11 @@
 
     private OnWire adaptM(Marshaller m,InMemory v) throws JAXBException {
         XMLSerializer serializer = ((MarshallerImpl)m).serializer;
-        serializer.setThreadAffinity();
         serializer.pushCoordinator();
         try {
             return _adaptM(serializer, v);
         } finally {
             serializer.popCoordinator();
-            serializer.resetThreadAffinity();
         }
     }
 
@@ -132,7 +130,6 @@
     private @NotNull InMemory adaptU(Unmarshaller _u, OnWire v) throws JAXBException {
         UnmarshallerImpl u = (UnmarshallerImpl) _u;
         XmlAdapter<OnWire,InMemory> a = u.coordinator.getAdapter(adapter);
-        u.coordinator.setThreadAffinity();
         u.coordinator.pushCoordinator();
         try {
             return a.unmarshal(v);
@@ -140,7 +137,6 @@
             throw new UnmarshalException(e);
         } finally {
             u.coordinator.popCoordinator();
-            u.coordinator.resetThreadAffinity();
         }
     }
 
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/Coordinator.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/Coordinator.java	Thu Aug 29 16:18:31 2013 -0700
@@ -94,75 +94,37 @@
         return adapters.containsKey(type);
     }
 
+    // this much is necessary to avoid calling get and set twice when we push.
+    private static final ThreadLocal<Coordinator> activeTable = new ThreadLocal<Coordinator>();
+
     /**
      * The {@link Coordinator} in charge before this {@link Coordinator}.
      */
-    private Object old;
-
-    /**
-     * A 'pointer' to a {@link Coordinator} that keeps track of the currently active {@link Coordinator}.
-     * Having this improves the runtime performance.
-     */
-    private Object[] table;
-
-    /**
-     * When we set {@link #table} to null, record who did it.
-     * This is for trouble-shooting a possible concurrency issue reported at:
-     * http://forums.java.net/jive/thread.jspa?threadID=15132
-     */
-    public Exception guyWhoSetTheTableToNull;
-
-    /**
-     * Associates this {@link Coordinator} with the current thread.
-     * Should be called at the very beginning of the episode.
-     */
-    protected final void setThreadAffinity() {
-        table = activeTable.get();
-        assert table!=null;
-    }
-
-    /**
-     * Dis-associate this {@link Coordinator} with the current thread.
-     * Sohuld be called at the end of the episode to avoid memory leak.
-     */
-    protected final void resetThreadAffinity() {
-        if (activeTable != null) {
-            activeTable.remove();
-        }
-        if(debugTableNPE)
-            guyWhoSetTheTableToNull = new Exception(); // remember that we set it to null
-        table = null;
-    }
+    private Coordinator old;
 
     /**
      * Called whenever an execution flow enters the realm of this {@link Coordinator}.
      */
     protected final void pushCoordinator() {
-        old = table[0];
-        table[0] = this;
+        old = activeTable.get();
+        activeTable.set(this);
     }
 
     /**
      * Called whenever an execution flow exits the realm of this {@link Coordinator}.
      */
     protected final void popCoordinator() {
-        assert table[0]==this;
-        table[0] = old;
+        if (old != null)
+            activeTable.set(old);
+        else
+            activeTable.remove();
         old = null; // avoid memory leak
     }
 
     public static Coordinator _getInstance() {
-        return (Coordinator) activeTable.get()[0];
+        return activeTable.get();
     }
 
-    // this much is necessary to avoid calling get and set twice when we push.
-    private static final ThreadLocal<Object[]> activeTable = new ThreadLocal<Object[]>() {
-        @Override
-        public Object[] initialValue() {
-            return new Object[1];
-        }
-    };
-
 //
 //
 // ErrorHandler implementation
@@ -207,13 +169,4 @@
             throw saxException;
         }
     }
-
-    public static boolean debugTableNPE;
-
-    static {
-        try {
-            debugTableNPE = Boolean.getBoolean(Coordinator.class.getName()+".debugTableNPE");
-        } catch (SecurityException t) {
-        }
-    }
 }
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/XMLSerializer.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/XMLSerializer.java	Thu Aug 29 16:18:31 2013 -0700
@@ -812,7 +812,6 @@
      *      Similar to 'schemaLocation' but this one works for xsi:noNamespaceSchemaLocation
      */
     public void startDocument(XmlOutput out,boolean fragment,String schemaLocation,String noNsSchemaLocation) throws IOException, SAXException, XMLStreamException {
-        setThreadAffinity();
         pushCoordinator();
         nsContext.reset();
         nse = nsContext.getCurrent();
@@ -841,7 +840,6 @@
         out = null;
         clearCurrentProperty();
         popCoordinator();
-        resetThreadAffinity();
     }
 
     /**
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerBoolean.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerBoolean.java	Thu Aug 29 16:18:31 2013 -0700
@@ -30,10 +30,13 @@
 
 /**
  * {@link Lister} for primitive type arrays.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * B y t e ArrayLister is used as the master to generate the rest of the
- * lister classes. Do not modify the generated copies.
+ *     B y t e ArrayLister is used as the master to generate the rest of the
+ *     lister classes. Do not modify the generated copies.
+ * </p>
  */
 final class PrimitiveArrayListerBoolean<BeanT> extends Lister<BeanT,boolean[],Boolean,PrimitiveArrayListerBoolean.BooleanArrayPack> {
 
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerCharacter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerCharacter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -30,10 +30,13 @@
 
 /**
  * {@link Lister} for primitive type arrays.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * B y t e ArrayLister is used as the master to generate the rest of the
- * lister classes. Do not modify the generated copies.
+ *     B y t e ArrayLister is used as the master to generate the rest of the
+ *     lister classes. Do not modify the generated copies.
+ * </p>
  */
 final class PrimitiveArrayListerCharacter<BeanT> extends Lister<BeanT,char[],Character,PrimitiveArrayListerCharacter.CharacterArrayPack> {
 
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerDouble.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerDouble.java	Thu Aug 29 16:18:31 2013 -0700
@@ -30,10 +30,13 @@
 
 /**
  * {@link Lister} for primitive type arrays.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * B y t e ArrayLister is used as the master to generate the rest of the
- * lister classes. Do not modify the generated copies.
+ *     B y t e ArrayLister is used as the master to generate the rest of the
+ *     lister classes. Do not modify the generated copies.
+ * </p>
  */
 final class PrimitiveArrayListerDouble<BeanT> extends Lister<BeanT,double[],Double,PrimitiveArrayListerDouble.DoubleArrayPack> {
 
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerFloat.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerFloat.java	Thu Aug 29 16:18:31 2013 -0700
@@ -30,10 +30,13 @@
 
 /**
  * {@link Lister} for primitive type arrays.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * B y t e ArrayLister is used as the master to generate the rest of the
- * lister classes. Do not modify the generated copies.
+ *     B y t e ArrayLister is used as the master to generate the rest of the
+ *     lister classes. Do not modify the generated copies.
+ * </p>
  */
 final class PrimitiveArrayListerFloat<BeanT> extends Lister<BeanT,float[],Float,PrimitiveArrayListerFloat.FloatArrayPack> {
 
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerInteger.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerInteger.java	Thu Aug 29 16:18:31 2013 -0700
@@ -30,10 +30,13 @@
 
 /**
  * {@link Lister} for primitive type arrays.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * B y t e ArrayLister is used as the master to generate the rest of the
- * lister classes. Do not modify the generated copies.
+ *     B y t e ArrayLister is used as the master to generate the rest of the
+ *     lister classes. Do not modify the generated copies.
+ * </p>
  */
 final class PrimitiveArrayListerInteger<BeanT> extends Lister<BeanT,int[],Integer,PrimitiveArrayListerInteger.IntegerArrayPack> {
 
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerLong.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerLong.java	Thu Aug 29 16:18:31 2013 -0700
@@ -30,10 +30,13 @@
 
 /**
  * {@link Lister} for primitive type arrays.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * B y t e ArrayLister is used as the master to generate the rest of the
- * lister classes. Do not modify the generated copies.
+ *     B y t e ArrayLister is used as the master to generate the rest of the
+ *     lister classes. Do not modify the generated copies.
+ * </p>
  */
 final class PrimitiveArrayListerLong<BeanT> extends Lister<BeanT,long[],Long,PrimitiveArrayListerLong.LongArrayPack> {
 
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerShort.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/PrimitiveArrayListerShort.java	Thu Aug 29 16:18:31 2013 -0700
@@ -30,10 +30,13 @@
 
 /**
  * {@link Lister} for primitive type arrays.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * B y t e ArrayLister is used as the master to generate the rest of the
- * lister classes. Do not modify the generated copies.
+ *     B y t e ArrayLister is used as the master to generate the rest of the
+ *     lister classes. Do not modify the generated copies.
+ * </p>
  */
 final class PrimitiveArrayListerShort<BeanT> extends Lister<BeanT,short[],Short,PrimitiveArrayListerShort.ShortArrayPack> {
 
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Boolean.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Boolean.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,10 +29,12 @@
 
 /**
  * Template {@link Accessor} for boolean fields.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * All the FieldAccessors are generated from <code>FieldAccessor_B y t e</code>
- *
+ *     All the FieldAccessors are generated from <code>FieldAccessor_B y t e</code>
+ * </p>
  * @author Kohsuke Kawaguchi
  */
 public class FieldAccessor_Boolean extends Accessor {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Character.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Character.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,10 +29,12 @@
 
 /**
  * Template {@link Accessor} for char fields.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * All the FieldAccessors are generated from <code>FieldAccessor_B y t e</code>
- *
+ *     All the FieldAccessors are generated from <code>FieldAccessor_B y t e</code>
+ * </p>
  * @author Kohsuke Kawaguchi
  */
 public class FieldAccessor_Character extends Accessor {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Double.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Double.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,10 +29,12 @@
 
 /**
  * Template {@link Accessor} for double fields.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * All the FieldAccessors are generated from <code>FieldAccessor_B y t e</code>
- *
+ *     All the FieldAccessors are generated from <code>FieldAccessor_B y t e</code>
+ * </p>
  * @author Kohsuke Kawaguchi
  */
 public class FieldAccessor_Double extends Accessor {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Float.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Float.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,10 +29,12 @@
 
 /**
  * Template {@link Accessor} for float fields.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * All the FieldAccessors are generated from <code>FieldAccessor_B y t e</code>
- *
+ *     All the FieldAccessors are generated from <code>FieldAccessor_B y t e</code>
+ * </p>
  * @author Kohsuke Kawaguchi
  */
 public class FieldAccessor_Float extends Accessor {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Integer.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Integer.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,10 +29,12 @@
 
 /**
  * Template {@link Accessor} for int fields.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * All the FieldAccessors are generated from <code>FieldAccessor_B y t e</code>
- *
+ *     All the FieldAccessors are generated from <code>FieldAccessor_B y t e</code>
+ * </p>
  * @author Kohsuke Kawaguchi
  */
 public class FieldAccessor_Integer extends Accessor {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Long.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Long.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,10 +29,12 @@
 
 /**
  * Template {@link Accessor} for long fields.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * All the FieldAccessors are generated from <code>FieldAccessor_B y t e</code>
- *
+ *     All the FieldAccessors are generated from <code>FieldAccessor_B y t e</code>
+ * </p>
  * @author Kohsuke Kawaguchi
  */
 public class FieldAccessor_Long extends Accessor {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Short.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/FieldAccessor_Short.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,10 +29,12 @@
 
 /**
  * Template {@link Accessor} for short fields.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * All the FieldAccessors are generated from <code>FieldAccessor_B y t e</code>
- *
+ *     All the FieldAccessors are generated from <code>FieldAccessor_B y t e</code>
+ * </p>
  * @author Kohsuke Kawaguchi
  */
 public class FieldAccessor_Short extends Accessor {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Boolean.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Boolean.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,10 +29,12 @@
 
 /**
  * Template {@link Accessor} for boolean getter/setter.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * All the MethodAccessors are generated from <code>MethodAccessor_B y t e</code>
- *
+ *     All the MethodAccessors are generated from <code>MethodAccessor_B y t e</code>
+ * </p>
  * @author Kohsuke Kawaguchi
  */
 public class MethodAccessor_Boolean extends Accessor {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Character.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Character.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,10 +29,12 @@
 
 /**
  * Template {@link Accessor} for boolean getter/setter.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * All the MethodAccessors are generated from <code>MethodAccessor_B y t e</code>
- *
+ *     All the MethodAccessors are generated from <code>MethodAccessor_B y t e</code>
+ * </p>
  * @author Kohsuke Kawaguchi
  */
 public class MethodAccessor_Character extends Accessor {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Double.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Double.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,10 +29,12 @@
 
 /**
  * Template {@link Accessor} for boolean getter/setter.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * All the MethodAccessors are generated from <code>MethodAccessor_B y t e</code>
- *
+ *     All the MethodAccessors are generated from <code>MethodAccessor_B y t e</code>
+ * </p>
  * @author Kohsuke Kawaguchi
  */
 public class MethodAccessor_Double extends Accessor {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Float.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Float.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,10 +29,12 @@
 
 /**
  * Template {@link Accessor} for boolean getter/setter.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * All the MethodAccessors are generated from <code>MethodAccessor_B y t e</code>
- *
+ *     All the MethodAccessors are generated from <code>MethodAccessor_B y t e</code>
+ * </p>
  * @author Kohsuke Kawaguchi
  */
 public class MethodAccessor_Float extends Accessor {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Integer.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Integer.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,10 +29,12 @@
 
 /**
  * Template {@link Accessor} for boolean getter/setter.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * All the MethodAccessors are generated from <code>MethodAccessor_B y t e</code>
- *
+ *     All the MethodAccessors are generated from <code>MethodAccessor_B y t e</code>
+ * </p>
  * @author Kohsuke Kawaguchi
  */
 public class MethodAccessor_Integer extends Accessor {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Long.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Long.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,10 +29,12 @@
 
 /**
  * Template {@link Accessor} for boolean getter/setter.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * All the MethodAccessors are generated from <code>MethodAccessor_B y t e</code>
- *
+ *     All the MethodAccessors are generated from <code>MethodAccessor_B y t e</code>
+ * </p>
  * @author Kohsuke Kawaguchi
  */
 public class MethodAccessor_Long extends Accessor {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Short.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/MethodAccessor_Short.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,10 +29,12 @@
 
 /**
  * Template {@link Accessor} for boolean getter/setter.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * All the MethodAccessors are generated from <code>MethodAccessor_B y t e</code>
- *
+ *     All the MethodAccessors are generated from <code>MethodAccessor_B y t e</code>
+ * </p>
  * @author Kohsuke Kawaguchi
  */
 public class MethodAccessor_Short extends Accessor {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Double.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Double.java	Thu Aug 29 16:18:31 2013 -0700
@@ -31,10 +31,12 @@
 
 /**
  * Template {@link TransducedAccessor} for a double field.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * All the TransducedAccessor_field are generated from <code>TransducedAccessor_field_B y t e</code>
- *
+ *     All the TransducedAccessor_field are generated from <code>TransducedAccessor_field_B y t e</code>
+ * </p>
  * @author Kohsuke Kawaguchi
  *
  * @see TransducedAccessor#get
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Float.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Float.java	Thu Aug 29 16:18:31 2013 -0700
@@ -31,10 +31,12 @@
 
 /**
  * Template {@link TransducedAccessor} for a float field.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * All the TransducedAccessor_field are generated from <code>TransducedAccessor_field_B y t e</code>
- *
+ *     All the TransducedAccessor_field are generated from <code>TransducedAccessor_field_B y t e</code>
+ * </p>
  * @author Kohsuke Kawaguchi
  *
  * @see TransducedAccessor#get
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Long.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Long.java	Thu Aug 29 16:18:31 2013 -0700
@@ -31,10 +31,12 @@
 
 /**
  * Template {@link TransducedAccessor} for a long field.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * All the TransducedAccessor_field are generated from <code>TransducedAccessor_field_B y t e</code>
- *
+ *     All the TransducedAccessor_field are generated from <code>TransducedAccessor_field_B y t e</code>
+ * </p>
  * @author Kohsuke Kawaguchi
  *
  * @see TransducedAccessor#get
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Short.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_field_Short.java	Thu Aug 29 16:18:31 2013 -0700
@@ -31,10 +31,12 @@
 
 /**
  * Template {@link TransducedAccessor} for a short field.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * All the TransducedAccessor_field are generated from <code>TransducedAccessor_field_B y t e</code>
- *
+ *     All the TransducedAccessor_field are generated from <code>TransducedAccessor_field_B y t e</code>
+ * </p>
  * @author Kohsuke Kawaguchi
  *
  * @see TransducedAccessor#get
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Boolean.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Boolean.java	Thu Aug 29 16:18:31 2013 -0700
@@ -31,10 +31,12 @@
 
 /**
  * Template {@link TransducedAccessor} for a boolean field.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * All the TransducedAccessor_field are generated from <code>TransducedAccessor_field_B y t e</code>
- *
+ *     All the TransducedAccessor_field are generated from <code>TransducedAccessor_field_B y t e</code>
+ * </p>
  * @author Kohsuke Kawaguchi
  *
  * @see TransducedAccessor#get
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Double.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Double.java	Thu Aug 29 16:18:31 2013 -0700
@@ -31,10 +31,12 @@
 
 /**
  * Template {@link TransducedAccessor} for a double field.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * All the TransducedAccessor_field are generated from <code>TransducedAccessor_field_B y t e</code>
- *
+ *     All the TransducedAccessor_field are generated from <code>TransducedAccessor_field_B y t e</code>
+ * </p>
  * @author Kohsuke Kawaguchi
  *
  * @see TransducedAccessor#get
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Float.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Float.java	Thu Aug 29 16:18:31 2013 -0700
@@ -31,10 +31,12 @@
 
 /**
  * Template {@link TransducedAccessor} for a float field.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * All the TransducedAccessor_field are generated from <code>TransducedAccessor_field_B y t e</code>
- *
+ *     All the TransducedAccessor_field are generated from <code>TransducedAccessor_field_B y t e</code>
+ * </p>
  * @author Kohsuke Kawaguchi
  *
  * @see TransducedAccessor#get
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Long.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Long.java	Thu Aug 29 16:18:31 2013 -0700
@@ -31,10 +31,12 @@
 
 /**
  * Template {@link TransducedAccessor} for a long field.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * All the TransducedAccessor_field are generated from <code>TransducedAccessor_field_B y t e</code>
- *
+ *     All the TransducedAccessor_field are generated from <code>TransducedAccessor_field_B y t e</code>
+ * </p>
  * @author Kohsuke Kawaguchi
  *
  * @see TransducedAccessor#get
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Short.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/opt/TransducedAccessor_method_Short.java	Thu Aug 29 16:18:31 2013 -0700
@@ -31,10 +31,12 @@
 
 /**
  * Template {@link TransducedAccessor} for a short field.
- *
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
  * <p>
- * All the TransducedAccessor_field are generated from <code>TransducedAccessor_field_B y t e</code>
- *
+ *     All the TransducedAccessor_field are generated from <code>TransducedAccessor_field_B y t e</code>
+ * </p>
  * @author Kohsuke Kawaguchi
  *
  * @see TransducedAccessor#get
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Loader.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Loader.java	Thu Aug 29 16:18:31 2013 -0700
@@ -94,11 +94,15 @@
 
     @SuppressWarnings({"StringEquality"})
     protected final void reportUnexpectedChildElement(TagName ea, boolean canRecover) throws SAXException {
-        if(canRecover && !UnmarshallingContext.getInstance().parent.hasEventHandler())
+        if (canRecover) {
             // this error happens particurly often (when input documents contain a lot of unexpected elements to be ignored),
             // so don't bother computing all the messages and etc if we know that
             // there's no event handler to receive the error in the end. See #286
-            return;
+            UnmarshallingContext context = UnmarshallingContext.getInstance();
+            if (!context.parent.hasEventHandler() // is somebody listening?
+                    || !context.shouldErrorBeReported()) // should we report error?
+                return;
+        }
         if(ea.uri!=ea.uri.intern() || ea.local!=ea.local.intern())
             reportError(Messages.UNINTERNED_STRINGS.format(), canRecover );
         else
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Messages.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Messages.java	Thu Aug 29 16:18:31 2013 -0700
@@ -40,6 +40,7 @@
     UNRECOGNIZED_TYPE_NAME_MAYBE, // 2 args
     UNABLE_TO_CREATE_MAP, // 1 arg
     UNINTERNED_STRINGS, // no args
+    ERRORS_LIMIT_EXCEEDED, // no arg
     ;
 
     private static final ResourceBundle rb = ResourceBundle.getBundle(Messages.class.getName());
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Messages.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Messages.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -50,3 +50,7 @@
 
 UNINTERNED_STRINGS = \
     Namespace URIs and local names to the unmarshaller needs to be interned.
+
+# user have to set Logger.getLogger("com.sun.xml.internal.bind").setLevel(Level.FINEST)
+ERRORS_LIMIT_EXCEEDED = \
+    Errors limit exceeded. To receive all errors set 'com.sun.xml.internal.bind' logger to FINEST level.
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/SAXConnector.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/SAXConnector.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,11 +25,14 @@
 
 package com.sun.xml.internal.bind.v2.runtime.unmarshaller;
 
+import com.sun.xml.internal.bind.Util;
 import javax.xml.bind.JAXBException;
 import javax.xml.bind.UnmarshallerHandler;
 
 import com.sun.xml.internal.bind.WhiteSpaceProcessor;
 import com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 import org.xml.sax.Attributes;
 import org.xml.sax.Locator;
@@ -44,6 +47,8 @@
 
     private LocatorEx loc;
 
+    private static final Logger logger = Util.getClassLogger();
+
     /**
      * SAX may fire consecutive characters event, but we don't allow it.
      * so use this buffer to perform buffering.
@@ -56,6 +61,7 @@
 
     private static final class TagNameImpl extends TagName {
         String qname;
+        @Override
         public String getQname() {
             return qname;
         }
@@ -76,6 +82,7 @@
         this.loc = externalLocator;
     }
 
+    @Override
     public Object getResult() throws JAXBException, IllegalStateException {
         return context.getResult();
     }
@@ -84,6 +91,7 @@
         return context;
     }
 
+    @Override
     public void setDocumentLocator(final Locator locator) {
         if(loc!=null)
             return; // we already have an external locator. ignore.
@@ -91,23 +99,43 @@
         this.loc = new LocatorExWrapper(locator);
     }
 
+    @Override
     public void startDocument() throws SAXException {
+        if (logger.isLoggable(Level.FINER)) {
+            logger.log(Level.FINER, "SAXConnector.startDocument");
+        }
         next.startDocument(loc,null);
     }
 
+    @Override
     public void endDocument() throws SAXException {
+        if (logger.isLoggable(Level.FINER)) {
+            logger.log(Level.FINER, "SAXConnector.endDocument");
+        }
         next.endDocument();
     }
 
+    @Override
     public void startPrefixMapping(String prefix, String uri) throws SAXException {
+        if (logger.isLoggable(Level.FINER)) {
+            logger.log(Level.FINER, "SAXConnector.startPrefixMapping: {0}:{1}", new Object[]{prefix, uri});
+        }
         next.startPrefixMapping(prefix,uri);
     }
 
+    @Override
     public void endPrefixMapping(String prefix) throws SAXException {
+        if (logger.isLoggable(Level.FINER)) {
+            logger.log(Level.FINER, "SAXConnector.endPrefixMapping: {0}", new Object[]{prefix});
+        }
         next.endPrefixMapping(prefix);
     }
 
+    @Override
     public void startElement(String uri, String local, String qname, Attributes atts) throws SAXException {
+        if (logger.isLoggable(Level.FINER)) {
+            logger.log(Level.FINER, "SAXConnector.startElement: {0}:{1}:{2}, attrs: {3}", new Object[]{uri, local, qname, atts});
+        }
         // work gracefully with misconfigured parsers that don't support namespaces
         if( uri==null || uri.length()==0 )
             uri="";
@@ -135,7 +163,11 @@
         next.startElement(tagName);
     }
 
+    @Override
     public void endElement(String uri, String localName, String qName) throws SAXException {
+        if (logger.isLoggable(Level.FINER)) {
+            logger.log(Level.FINER, "SAXConnector.startElement: {0}:{1}:{2}", new Object[]{uri, localName, qName});
+        }
         processText(false);
         tagName.uri = uri;
         tagName.local = localName;
@@ -144,19 +176,29 @@
     }
 
 
+    @Override
     public final void characters( char[] buf, int start, int len ) {
+        if (logger.isLoggable(Level.FINEST)) {
+            logger.log(Level.FINEST, "SAXConnector.characters: {0}", buf);
+        }
         if( predictor.expectText() )
             buffer.append(buf,start,len);
     }
 
+    @Override
     public final void ignorableWhitespace( char[] buf, int start, int len ) {
+        if (logger.isLoggable(Level.FINEST)) {
+            logger.log(Level.FINEST, "SAXConnector.characters{0}", buf);
+        }
         characters(buf,start,len);
     }
 
+    @Override
     public void processingInstruction(String target, String data) {
         // nop
     }
 
+    @Override
     public void skippedEntity(String name) {
         // nop
     }
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/UnmarshallingContext.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/UnmarshallingContext.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,6 +35,8 @@
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.Callable;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 import javax.xml.XMLConstants;
 import javax.xml.bind.JAXBElement;
@@ -51,6 +53,7 @@
 import com.sun.istack.internal.Nullable;
 import com.sun.istack.internal.SAXParseException2;
 import com.sun.xml.internal.bind.IDResolver;
+import com.sun.xml.internal.bind.Util;
 import com.sun.xml.internal.bind.api.AccessorException;
 import com.sun.xml.internal.bind.api.ClassResolver;
 import com.sun.xml.internal.bind.unmarshaller.InfosetScanner;
@@ -59,6 +62,8 @@
 import com.sun.xml.internal.bind.v2.runtime.Coordinator;
 import com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl;
 import com.sun.xml.internal.bind.v2.runtime.JaxBeanInfo;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 import org.xml.sax.ErrorHandler;
 import org.xml.sax.SAXException;
@@ -76,6 +81,8 @@
 public final class UnmarshallingContext extends Coordinator
     implements NamespaceContext, ValidationEventHandler, ErrorHandler, XmlVisitor, XmlVisitor.TextPredictor {
 
+    private static final Logger logger = Logger.getLogger(UnmarshallingContext.class.getName());
+
     /**
      * Root state.
      */
@@ -177,6 +184,14 @@
     public @Nullable ClassLoader classLoader;
 
     /**
+     * The variable introduced to avoid reporting n^10 similar errors.
+     * After error is reported counter is decremented. When it became 0 - errors should not be reported any more.
+     *
+     * volatile is required to ensure that concurrent threads will see changed value
+     */
+    private static volatile int errorsCounter = 10;
+
+    /**
      * State information for each element.
      */
     public final class State {
@@ -260,21 +275,32 @@
             return UnmarshallingContext.this;
         }
 
+        @SuppressWarnings("LeakingThisInConstructor")
         private State(State prev) {
             this.prev = prev;
-            if(prev!=null)
+            if (prev!=null) {
                 prev.next = this;
+            }
         }
 
         private void push() {
-            if(next==null)
+            if (logger.isLoggable(Level.FINEST)) {
+                logger.log(Level.FINEST, "State.push");
+            }
+            if (next==null) {
+                assert current == this;
                 allocateMoreStates();
+            }
+            nil = false;
             State n = next;
             n.numNsDecl = nsLen;
             current = n;
         }
 
         private void pop() {
+            if (logger.isLoggable(Level.FINEST)) {
+                logger.log(Level.FINEST, "State.pop");
+            }
             assert prev!=null;
             loader = null;
             nil = false;
@@ -381,8 +407,9 @@
         assert current.next==null;
 
         State s = current;
-        for( int i=0; i<8; i++ )
+        for (int i=0; i<8; i++) {
             s = new State(s);
+        }
     }
 
     public void clearStates() {
@@ -436,6 +463,7 @@
         }
     }
 
+    @Override
     public void startDocument(LocatorEx locator, NamespaceContext nsContext) throws SAXException {
         if(locator!=null)
             this.locator = locator;
@@ -449,8 +477,6 @@
         isUnmarshalInProgress = true;
         nsLen=0;
 
-        setThreadAffinity();
-
         if(expectedType!=null)
             root.loader = EXPECTED_TYPE_ROOT_LOADER;
         else
@@ -459,6 +485,7 @@
         idResolver.startDocument(this);
     }
 
+    @Override
     public void startElement(TagName tagName) throws SAXException {
         pushCoordinator();
         try {
@@ -486,6 +513,7 @@
         current.loader.startElement(current,tagName);
     }
 
+    @Override
     public void text(CharSequence pcdata) throws SAXException {
         State cur = current;
         pushCoordinator();
@@ -502,6 +530,7 @@
         }
     }
 
+    @Override
     public final void endElement(TagName tagName) throws SAXException {
         pushCoordinator();
         try {
@@ -526,6 +555,7 @@
         }
     }
 
+    @Override
     public void endDocument() throws SAXException {
         runPatchers();
         idResolver.endDocument();
@@ -537,14 +567,13 @@
 
         // at the successful completion, scope must be all closed
         assert root==current;
-
-        resetThreadAffinity();
     }
 
     /**
      * You should be always calling this through {@link TextPredictor}.
      */
     @Deprecated
+    @Override
     public boolean expectText() {
         return current.loader.expectText;
     }
@@ -553,10 +582,12 @@
      * You should be always getting {@link TextPredictor} from {@link XmlVisitor}.
      */
     @Deprecated
+    @Override
     public TextPredictor getPredictor() {
         return this;
     }
 
+    @Override
     public UnmarshallingContext getContext() {
         return this;
     }
@@ -650,6 +681,7 @@
                     event.getLinkedException() ) );
     }
 
+    @Override
     public boolean handleEvent(ValidationEvent event) {
         try {
             // if the handler says "abort", we will not return the object.
@@ -680,6 +712,7 @@
         handleEvent(new ValidationEventImpl(ValidationEvent.ERROR,msg,locator.getLocation()));
     }
 
+    @Override
     protected ValidationEventLocator getLocation() {
         return locator.getLocation();
     }
@@ -801,6 +834,7 @@
     private String[] nsBind = new String[16];
     private int nsLen=0;
 
+    @Override
     public void startPrefixMapping( String prefix, String uri ) {
         if(nsBind.length==nsLen) {
             // expand the buffer
@@ -811,6 +845,7 @@
         nsBind[nsLen++] = prefix;
         nsBind[nsLen++] = uri;
     }
+    @Override
     public void endPrefixMapping( String prefix ) {
         nsLen-=2;
     }
@@ -868,6 +903,7 @@
 
     //  NamespaceContext2 implementation
     //
+    @Override
     public Iterator<String> getPrefixes(String uri) {
         // TODO: could be implemented much faster
         // wrap it into unmodifiable list so that the remove method
@@ -899,6 +935,7 @@
         return a;
     }
 
+    @Override
     public String getPrefix(String uri) {
         if( uri==null )
             throw new IllegalArgumentException();
@@ -919,6 +956,7 @@
         return null;
     }
 
+    @Override
     public String getNamespaceURI(String prefix) {
         if (prefix == null)
             throw new IllegalArgumentException();
@@ -1059,6 +1097,7 @@
             return getInstance().getJAXBContext().getValidRootNames();
         }
 
+        @Override
         public void receive(State state, Object o) {
              if(state.backup!=null) {
                 ((JAXBElement<Object>)state.backup).setValue(o);
@@ -1095,6 +1134,7 @@
             state.loader = new XsiNilLoader(context.expectedType.getLoader(null,true));
         }
 
+        @Override
         public void receive(State state, Object o) {
             JAXBElement e = (JAXBElement)state.target;
             e.setValue(o);
@@ -1233,4 +1273,27 @@
         return null;
     }
 
+    /**
+     * Based on current {@link Logger} {@link Level} and errorCounter value determines if error should be reported.
+     *
+     * If the method called and return true it is expected that error will be reported. And that's why
+     * errorCounter is automatically decremented during the check.
+     *
+     * NOT THREAD SAFE!!! In case of heave concurrency access several additional errors could be reported. It's not expected to be the
+     * problem. Otherwise add synchronization here.
+     *
+     * @return true in case if {@link Level#FINEST} is set OR we haven't exceed errors reporting limit.
+     */
+    public boolean shouldErrorBeReported() throws SAXException {
+        if (logger.isLoggable(Level.FINEST))
+            return true;
+
+        if (errorsCounter >= 0) {
+            --errorsCounter;
+            if (errorsCounter == 0) // it's possible to miss this because of concurrency. If required add synchronization here
+                handleEvent(new ValidationEventImpl(ValidationEvent.WARNING, Messages.ERRORS_LIMIT_EXCEEDED.format(),
+                        getLocator().getLocation(), null), true);
+        }
+        return errorsCounter >= 0;
+    }
 }
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/XsiTypeLoader.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/XsiTypeLoader.java	Thu Aug 29 16:18:31 2013 -0700
@@ -92,12 +92,15 @@
                     return defaultBeanInfo;
 
                 beanInfo = context.getJAXBContext().getGlobalType(type);
-                if(beanInfo==null) {
-                    String nearest = context.getJAXBContext().getNearestTypeName(type);
-                    if(nearest!=null)
-                        reportError(Messages.UNRECOGNIZED_TYPE_NAME_MAYBE.format(type,nearest),true);
-                    else
-                        reportError(Messages.UNRECOGNIZED_TYPE_NAME.format(type),true);
+                if(beanInfo==null) { // let's report an error
+                    if (context.parent.hasEventHandler() // is somebody listening?
+                            && context.shouldErrorBeReported()) { // should we report error?
+                        String nearest = context.getJAXBContext().getNearestTypeName(type);
+                        if(nearest!=null)
+                            reportError(Messages.UNRECOGNIZED_TYPE_NAME_MAYBE.format(type,nearest),true);
+                        else
+                            reportError(Messages.UNRECOGNIZED_TYPE_NAME.format(type),true);
+                    }
                 }
                 // TODO: resurrect the following check
         //                    else
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Annotated.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Annotated.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface Annotated
     extends TypedXmlWriter
 {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Annotation.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Annotation.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 @XmlElement("annotation")
 public interface Annotation
     extends TypedXmlWriter
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Any.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Any.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import com.sun.xml.internal.txw2.TypedXmlWriter;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 @XmlElement("any")
 public interface Any
     extends Occurs, Wildcard, TypedXmlWriter
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Appinfo.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Appinfo.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 @XmlElement("appinfo")
 public interface Appinfo
     extends TypedXmlWriter
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/AttrDecls.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/AttrDecls.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import com.sun.xml.internal.txw2.TypedXmlWriter;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface AttrDecls
     extends TypedXmlWriter
 {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/AttributeType.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/AttributeType.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import com.sun.xml.internal.txw2.TypedXmlWriter;
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface AttributeType
     extends SimpleTypeHost, TypedXmlWriter
 {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexContent.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexContent.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 @XmlElement("complexContent")
 public interface ComplexContent
     extends Annotated, TypedXmlWriter
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexExtension.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexExtension.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import com.sun.xml.internal.txw2.TypedXmlWriter;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 @XmlElement("extension")
 public interface ComplexExtension
     extends AttrDecls, ExtensionType, TypeDefParticle, TypedXmlWriter
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexRestriction.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexRestriction.java	Thu Aug 29 16:18:31 2013 -0700
@@ -30,6 +30,11 @@
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 @XmlElement("restriction")
 public interface ComplexRestriction
     extends Annotated, AttrDecls, TypeDefParticle, TypedXmlWriter
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexType.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexType.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 @XmlElement("complexType")
 public interface ComplexType
     extends Annotated, ComplexTypeModel, TypedXmlWriter
@@ -36,17 +41,17 @@
 
 
     @XmlAttribute("final")
+    public ComplexType _final(String[] value);
+
+    @XmlAttribute("final")
     public ComplexType _final(String value);
 
-    @XmlAttribute("final")
-    public ComplexType _final(String[] value);
+    @XmlAttribute
+    public ComplexType block(String[] value);
 
     @XmlAttribute
     public ComplexType block(String value);
 
-    @XmlAttribute
-    public ComplexType block(String[] value);
-
     @XmlAttribute("abstract")
     public ComplexType _abstract(boolean value);
 
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexTypeHost.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexTypeHost.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import com.sun.xml.internal.txw2.TypedXmlWriter;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface ComplexTypeHost
     extends TypeHost, TypedXmlWriter
 {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexTypeModel.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ComplexTypeModel.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface ComplexTypeModel
     extends AttrDecls, TypeDefParticle, TypedXmlWriter
 {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Documentation.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Documentation.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 @XmlElement("documentation")
 public interface Documentation
     extends TypedXmlWriter
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Element.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Element.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import com.sun.xml.internal.txw2.TypedXmlWriter;
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface Element
     extends Annotated, ComplexTypeHost, FixedOrDefault, SimpleTypeHost, TypedXmlWriter
 {
@@ -38,10 +43,10 @@
     public Element type(QName value);
 
     @XmlAttribute
-    public Element block(String value);
+    public Element block(String[] value);
 
     @XmlAttribute
-    public Element block(String[] value);
+    public Element block(String value);
 
     @XmlAttribute
     public Element nillable(boolean value);
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ExplicitGroup.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ExplicitGroup.java	Thu Aug 29 16:18:31 2013 -0700
@@ -27,6 +27,11 @@
 
 import com.sun.xml.internal.txw2.TypedXmlWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface ExplicitGroup
     extends Annotated, NestedParticle, Occurs, TypedXmlWriter
 {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ExtensionType.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/ExtensionType.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import com.sun.xml.internal.txw2.TypedXmlWriter;
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface ExtensionType
     extends Annotated, TypedXmlWriter
 {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/FixedOrDefault.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/FixedOrDefault.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import com.sun.xml.internal.txw2.TypedXmlWriter;
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface FixedOrDefault
     extends TypedXmlWriter
 {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Import.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Import.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 @XmlElement("import")
 public interface Import
     extends Annotated, TypedXmlWriter
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/List.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/List.java	Thu Aug 29 16:18:31 2013 -0700
@@ -30,6 +30,11 @@
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 @XmlElement("list")
 public interface List
     extends Annotated, SimpleTypeHost, TypedXmlWriter
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/LocalAttribute.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/LocalAttribute.java	Thu Aug 29 16:18:31 2013 -0700
@@ -30,6 +30,11 @@
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 @XmlElement("attribute")
 public interface LocalAttribute
     extends Annotated, AttributeType, FixedOrDefault, TypedXmlWriter
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/LocalElement.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/LocalElement.java	Thu Aug 29 16:18:31 2013 -0700
@@ -30,6 +30,11 @@
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 @XmlElement("element")
 public interface LocalElement
     extends Element, Occurs, TypedXmlWriter
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/NestedParticle.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/NestedParticle.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import com.sun.xml.internal.txw2.TypedXmlWriter;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface NestedParticle
     extends TypedXmlWriter
 {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/NoFixedFacet.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/NoFixedFacet.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import com.sun.xml.internal.txw2.TypedXmlWriter;
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface NoFixedFacet
     extends Annotated, TypedXmlWriter
 {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Occurs.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Occurs.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import com.sun.xml.internal.txw2.TypedXmlWriter;
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface Occurs
     extends TypedXmlWriter
 {
@@ -37,9 +42,9 @@
     public Occurs minOccurs(int value);
 
     @XmlAttribute
+    public Occurs maxOccurs(String value);
+
+    @XmlAttribute
     public Occurs maxOccurs(int value);
 
-    @XmlAttribute
-    public Occurs maxOccurs(String value);
-
 }
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Redefinable.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Redefinable.java	Thu Aug 29 16:18:31 2013 -0700
@@ -27,6 +27,11 @@
 
 import com.sun.xml.internal.txw2.TypedXmlWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface Redefinable
     extends ComplexTypeHost, SimpleTypeHost, TypedXmlWriter
 {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Schema.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Schema.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 @XmlElement("schema")
 public interface Schema
     extends SchemaTop, TypedXmlWriter
@@ -57,18 +62,18 @@
     public Schema attributeFormDefault(String value);
 
     @XmlAttribute
+    public Schema blockDefault(String[] value);
+
+    @XmlAttribute
     public Schema blockDefault(String value);
 
     @XmlAttribute
-    public Schema blockDefault(String[] value);
+    public Schema finalDefault(String[] value);
 
     @XmlAttribute
     public Schema finalDefault(String value);
 
     @XmlAttribute
-    public Schema finalDefault(String[] value);
-
-    @XmlAttribute
     public Schema version(String value);
 
 }
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SchemaTop.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SchemaTop.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import com.sun.xml.internal.txw2.TypedXmlWriter;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface SchemaTop
     extends Redefinable, TypedXmlWriter
 {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleContent.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleContent.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import com.sun.xml.internal.txw2.TypedXmlWriter;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 @XmlElement("simpleContent")
 public interface SimpleContent
     extends Annotated, TypedXmlWriter
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleDerivation.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleDerivation.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import com.sun.xml.internal.txw2.TypedXmlWriter;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface SimpleDerivation
     extends TypedXmlWriter
 {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleExtension.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleExtension.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import com.sun.xml.internal.txw2.TypedXmlWriter;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 @XmlElement("extension")
 public interface SimpleExtension
     extends AttrDecls, ExtensionType, TypedXmlWriter
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleRestriction.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleRestriction.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import com.sun.xml.internal.txw2.TypedXmlWriter;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 @XmlElement("restriction")
 public interface SimpleRestriction
     extends Annotated, AttrDecls, SimpleRestrictionModel, TypedXmlWriter
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleRestrictionModel.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleRestrictionModel.java	Thu Aug 29 16:18:31 2013 -0700
@@ -30,6 +30,11 @@
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface SimpleRestrictionModel
     extends SimpleTypeHost, TypedXmlWriter
 {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleType.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleType.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 @XmlElement("simpleType")
 public interface SimpleType
     extends Annotated, SimpleDerivation, TypedXmlWriter
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleTypeHost.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/SimpleTypeHost.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import com.sun.xml.internal.txw2.TypedXmlWriter;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface SimpleTypeHost
     extends TypeHost, TypedXmlWriter
 {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TopLevelAttribute.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TopLevelAttribute.java	Thu Aug 29 16:18:31 2013 -0700
@@ -29,6 +29,11 @@
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 @XmlElement("attribute")
 public interface TopLevelAttribute
     extends Annotated, AttributeType, FixedOrDefault, TypedXmlWriter
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TopLevelElement.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TopLevelElement.java	Thu Aug 29 16:18:31 2013 -0700
@@ -30,6 +30,11 @@
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 @XmlElement("element")
 public interface TopLevelElement
     extends Element, TypedXmlWriter
@@ -37,10 +42,10 @@
 
 
     @XmlAttribute("final")
-    public TopLevelElement _final(String value);
+    public TopLevelElement _final(String[] value);
 
     @XmlAttribute("final")
-    public TopLevelElement _final(String[] value);
+    public TopLevelElement _final(String value);
 
     @XmlAttribute("abstract")
     public TopLevelElement _abstract(boolean value);
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TypeDefParticle.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TypeDefParticle.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import com.sun.xml.internal.txw2.TypedXmlWriter;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface TypeDefParticle
     extends TypedXmlWriter
 {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TypeHost.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/TypeHost.java	Thu Aug 29 16:18:31 2013 -0700
@@ -27,6 +27,11 @@
 
 import com.sun.xml.internal.txw2.TypedXmlWriter;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface TypeHost
     extends TypedXmlWriter
 {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Union.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Union.java	Thu Aug 29 16:18:31 2013 -0700
@@ -30,6 +30,11 @@
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 import com.sun.xml.internal.txw2.annotation.XmlElement;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 @XmlElement("union")
 public interface Union
     extends Annotated, SimpleTypeHost, TypedXmlWriter
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Wildcard.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/xmlschema/Wildcard.java	Thu Aug 29 16:18:31 2013 -0700
@@ -28,6 +28,11 @@
 import com.sun.xml.internal.txw2.TypedXmlWriter;
 import com.sun.xml.internal.txw2.annotation.XmlAttribute;
 
+/**
+ * <p><b>
+ *     Auto-generated, do not edit.
+ * </b></p>
+ */
 public interface Wildcard
     extends Annotated, TypedXmlWriter
 {
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/util/EditDistance.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/util/EditDistance.java	Thu Aug 29 16:18:31 2013 -0700
@@ -25,8 +25,10 @@
 
 package com.sun.xml.internal.bind.v2.util;
 
+import java.util.AbstractMap;
+import java.util.Arrays;
 import java.util.Collection;
-import java.util.Arrays;
+import java.util.WeakHashMap;
 
 /**
  * Computes the string edit distance.
@@ -41,13 +43,29 @@
 public class EditDistance {
 
     /**
+     * Weak results cache to avoid additional computations.
+     * Because of high complexity caching is required.
+     */
+    private static final WeakHashMap<AbstractMap.SimpleEntry<String,String>, Integer> CACHE = new WeakHashMap<AbstractMap.SimpleEntry<String, String>, Integer>();
+
+    /**
      * Computes the edit distance between two strings.
      *
      * <p>
      * The complexity is O(nm) where n=a.length() and m=b.length().
      */
     public static int editDistance( String a, String b ) {
-        return new EditDistance(a,b).calc();
+        // let's check cache
+        AbstractMap.SimpleEntry<String,String> entry = new AbstractMap.SimpleEntry<String, String>(a, b); // using this class to avoid creation of my own which will handle PAIR of values
+        Integer result = null;
+        if (CACHE.containsKey(entry))
+            result = CACHE.get(entry); // looks like we have it
+
+        if (result == null) {
+            result = new EditDistance(a, b).calc();
+            CACHE.put(entry, result); // cache the result
+        }
+        return result;
     }
 
     /**
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/util/XmlFactory.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/util/XmlFactory.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -38,6 +38,8 @@
 import javax.xml.validation.SchemaFactory;
 import javax.xml.xpath.XPathFactory;
 import javax.xml.xpath.XPathFactoryConfigurationException;
+
+import org.xml.sax.SAXException;
 import org.xml.sax.SAXNotRecognizedException;
 import org.xml.sax.SAXNotSupportedException;
 
@@ -49,6 +51,9 @@
  */
 public class XmlFactory {
 
+    // not in older JDK, so must be duplicated here, otherwise javax.xml.XMLConstants should be used
+    public static final String ACCESS_EXTERNAL_SCHEMA = "http://javax.xml.XMLConstants/property/accessExternalSchema";
+
     private static final Logger LOGGER = Logger.getLogger(XmlFactory.class.getName());
 
     /**
@@ -186,4 +191,22 @@
         }
     }
 
+    public static SchemaFactory allowFileAccess(SchemaFactory sf, boolean disableSecureProcessing) {
+
+        // if feature secure processing enabled, nothing to do, file is allowed,
+        // or user is able to control access by standard JAXP mechanisms
+        if (disableSecureProcessing) {
+            return sf;
+        }
+
+        try {
+            sf.setProperty(ACCESS_EXTERNAL_SCHEMA, "file");
+            LOGGER.log(Level.FINE, Messages.JAXP_SUPPORTED_PROPERTY.format(ACCESS_EXTERNAL_SCHEMA));
+        } catch (SAXException ignored) {
+            // nothing to do; support depends on version JDK or SAX implementation
+            LOGGER.log(Level.CONFIG, Messages.JAXP_UNSUPPORTED_PROPERTY.format(ACCESS_EXTERNAL_SCHEMA), ignored);
+        }
+        return sf;
+    }
+
 }
--- a/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/DTDEventListener.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/DTDEventListener.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/DTDHandlerBase.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/DTDHandlerBase.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/DTDParser.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/DTDParser.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -57,7 +57,7 @@
  * @author David Brownell
  * @author Janet Koenig
  * @author Kohsuke KAWAGUCHI
- * @version $Id: DTDParser.java,v 1.2 2009-04-16 15:25:49 snajper Exp $
+ * @version $Id: DTDParser.java,v 1.2 2009/04/16 15:25:49 snajper Exp $
  */
 public class DTDParser {
     public final static String TYPE_CDATA = "CDATA";
@@ -215,25 +215,25 @@
      */
     public void parse(String uri)
             throws IOException, SAXException {
-        InputSource inSource;
+        InputSource in;
 
         init();
         // System.out.println ("parse (\"" + uri + "\")");
-        inSource = resolver.resolveEntity(null, uri);
+        in = resolver.resolveEntity(null, uri);
 
         // If custom resolver punts resolution to parser, handle it ...
-        if (inSource == null) {
-            inSource = Resolver.createInputSource(new java.net.URL(uri), false);
+        if (in == null) {
+            in = Resolver.createInputSource(new java.net.URL(uri), false);
 
             // ... or if custom resolver doesn't correctly construct the
             // input entity, patch it up enough so relative URIs work, and
             // issue a warning to minimize later confusion.
-        } else if (inSource.getSystemId() == null) {
+        } else if (in.getSystemId() == null) {
             warning("P-065", null);
-            inSource.setSystemId(uri);
+            in.setSystemId(uri);
         }
 
-        parseInternal(inSource);
+        parseInternal(in);
     }
 
     // makes sure the parser is reset to "before a document"
--- a/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/EndOfInputException.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/EndOfInputException.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/EntityDecl.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/EntityDecl.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/ExternalEntity.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/ExternalEntity.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/InputEntity.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/InputEntity.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/InternalEntity.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/InternalEntity.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/MessageCatalog.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/MessageCatalog.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/Resolver.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/Resolver.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/SimpleHashtable.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/SimpleHashtable.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/XmlChars.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/XmlChars.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/XmlNames.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/XmlNames.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/XmlReader.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/XmlReader.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -86,7 +86,7 @@
     //
 
     /**
-     * Constructs the reader from an input stream, auto-detecting
+     * Constructs the reader from an input stream, autodetecting
      * the encoding to use according to the heuristic specified
      * in the XML 1.0 recommendation.
      *
@@ -104,7 +104,7 @@
      *
      * @param in       the input stream from which the reader is constructed
      * @param encoding the IETF standard name of the encoding to use;
-     *                 if null, auto-detection is used.
+     *                 if null, autodetection is used.
      * @throws IOException on error, including unrecognized encoding
      */
     public static Reader createReader(InputStream in, String encoding)
--- a/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/package.html	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/package.html	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 <!--
- Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 
  This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/resources/Messages.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/dtdparser/resources/Messages.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/AbstractCreatorProcessor.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/AbstractCreatorProcessor.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
 
 package com.sun.xml.internal.stream.buffer;
 
+@SuppressWarnings("PointlessBitwiseExpression")
 public abstract class AbstractCreatorProcessor {
     /**
      * Flag on a T_DOCUMENT to indicate if a fragment
--- a/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/AbstractProcessor.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/AbstractProcessor.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/AttributesHolder.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/AttributesHolder.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,19 +35,19 @@
  */
 @SuppressWarnings({"PointlessArithmeticExpression"})
 public final class AttributesHolder implements Attributes {
-    protected static final int DEFAULT_CAPACITY = 8;
-    protected static final int ITEM_SIZE = 1 << 3;
+    private static final int DEFAULT_CAPACITY = 8;
+    private static final int ITEM_SIZE = 1 << 3;
 
-    protected static final int PREFIX     = 0;
-    protected static final int URI        = 1;
-    protected static final int LOCAL_NAME = 2;
-    protected static final int QNAME      = 3;
-    protected static final int TYPE       = 4;
-    protected static final int VALUE      = 5;
+    private static final int PREFIX     = 0;
+    private static final int URI        = 1;
+    private static final int LOCAL_NAME = 2;
+    private static final int QNAME      = 3;
+    private static final int TYPE       = 4;
+    private static final int VALUE      = 5;
 
-    protected int _attributeCount;
+    private int _attributeCount;
 
-    protected String[] _strings;
+    private String[] _strings;
 
     public AttributesHolder() {
         _strings = new String[DEFAULT_CAPACITY * ITEM_SIZE];
--- a/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/FragmentedArray.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/FragmentedArray.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,10 +25,10 @@
 
 package com.sun.xml.internal.stream.buffer;
 
-class FragmentedArray<T> {
-    protected T _item;
-    protected FragmentedArray<T> _next;
-    protected FragmentedArray<T> _previous;
+final class FragmentedArray<T> {
+    private T _item;
+    private FragmentedArray<T> _next;
+    private FragmentedArray<T> _previous;
 
     FragmentedArray(T item) {
         this(item, null);
--- a/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/MutableXMLStreamBuffer.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/MutableXMLStreamBuffer.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/XMLStreamBuffer.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/XMLStreamBuffer.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/XMLStreamBufferException.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/XMLStreamBufferException.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/XMLStreamBufferMark.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/XMLStreamBufferMark.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/XMLStreamBufferResult.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/XMLStreamBufferResult.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/XMLStreamBufferSource.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/XMLStreamBufferSource.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/sax/DefaultWithLexicalHandler.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/sax/DefaultWithLexicalHandler.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/sax/Features.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/sax/Features.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/sax/Properties.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/sax/Properties.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/sax/SAXBufferCreator.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/sax/SAXBufferCreator.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/stax/StreamBufferCreator.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/stax/StreamBufferCreator.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/stax/StreamReaderBufferCreator.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/stax/StreamReaderBufferCreator.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -215,7 +215,8 @@
                     CharSequence c = reader.getPCDATA();
                     if (c instanceof Base64Data) {
                         storeStructure(T_TEXT_AS_OBJECT);
-                        storeContentObject(((Base64Data)c).clone());
+                        //Instead of clone the Base64Data, the original Base64Data instance is used here to preserve the DataHandler
+                        storeContentObject(c);
                     } else {
                         storeContentCharacters(T_TEXT_AS_CHAR_ARRAY,
                                 reader.getTextCharacters(), reader.getTextStart(),
--- a/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/stax/StreamReaderBufferProcessor.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/stax/StreamReaderBufferProcessor.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/stax/StreamWriterBufferCreator.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/stream/buffer/stax/StreamWriterBufferCreator.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/jaxws_classes/com/sun/xml/internal/txw2/output/XMLWriter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/txw2/output/XMLWriter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -932,7 +932,7 @@
             write("<![CDATA[");
             inCDATA = true;
         } catch (IOException e) {
-            new SAXException(e);
+            throw new SAXException(e);
         }
     }
 
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/Packet.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/Packet.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1423,6 +1423,9 @@
                 if (getMtomRequest() != null && getMtomRequest() && getState().equals(State.ServerResponse)) {
                     return true;
                 }
+                if (getMtomRequest() != null && getMtomRequest() && getState().equals(State.ClientRequest)) {
+                    return true;
+                }
             }
         }
         return false;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/StreamingSOAP.java	Thu Aug 29 16:18:31 2013 -0700
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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 General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.xml.internal.ws.api.message;
+
+import javax.xml.stream.XMLStreamReader;
+
+public interface StreamingSOAP {
+    public XMLStreamReader readEnvelope();
+}
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/api/server/Container.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/api/server/Container.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,7 +27,6 @@
 
 import java.util.Collection;
 import java.util.Collections;
-import java.util.HashSet;
 import java.util.Set;
 import java.util.concurrent.CopyOnWriteArraySet;
 
@@ -91,6 +90,7 @@
     }
 
     public <S> S getSPI(Class<S> spiType) {
+        if (components == null) return null;
         for (Component c : components) {
                 S s = c.getSPI(spiType);
                 if (s != null)
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/api/server/ThreadLocalContainerResolver.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/api/server/ThreadLocalContainerResolver.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -46,7 +46,7 @@
  * @since 2.2.7
  */
 public class ThreadLocalContainerResolver extends ContainerResolver {
-    private ThreadLocal<Container> containers = new ThreadLocal<Container>() {
+    private ThreadLocal<Container> containerThreadLocal = new ThreadLocal<Container>() {
         @Override
         protected Container initialValue() {
             return Container.NONE;
@@ -54,7 +54,7 @@
     };
 
     public Container getContainer() {
-        return containers.get();
+        return containerThreadLocal.get();
     }
 
     /**
@@ -63,8 +63,8 @@
      * @return Previous container; must be remembered and passed to exitContainer
      */
     public Container enterContainer(Container container) {
-        Container old = containers.get();
-        containers.set(container);
+        Container old = containerThreadLocal.get();
+        containerThreadLocal.set(container);
         return old;
     }
 
@@ -73,7 +73,7 @@
      * @param old Container returned from enterContainer
      */
     public void exitContainer(Container old) {
-        containers.set(old);
+        containerThreadLocal.set(old);
     }
 
     /**
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/api/streaming/XMLStreamReaderFactory.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/api/streaming/XMLStreamReaderFactory.java	Thu Aug 29 16:18:31 2013 -0700
@@ -34,7 +34,12 @@
 import javax.xml.stream.XMLInputFactory;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
-import java.io.*;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.io.StringReader;
+import java.io.UnsupportedEncodingException;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.net.URL;
@@ -42,6 +47,8 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import com.sun.xml.internal.ws.resources.StreamingMessages;
+
 /**
  * Factory for {@link XMLStreamReader}.
  *
@@ -61,6 +68,8 @@
      */
     private static volatile @NotNull XMLStreamReaderFactory theInstance;
 
+    private static final String CLASS_NAME_OF_WSTXINPUTFACTORY = "com.ctc.wstx.stax.WstxInputFactory";
+
     static {
         XMLInputFactory xif = getXMLInputFactory();
         XMLStreamReaderFactory f=null;
@@ -73,7 +82,7 @@
 
         if(f==null) {
             // is this Woodstox?
-            if (xif.getClass().getName().equals("com.ctc.wstx.stax.WstxInputFactory")) {
+            if (xif.getClass().getName().equals(CLASS_NAME_OF_WSTXINPUTFACTORY)) {
                 f = new Woodstox(xif);
             }
         }
@@ -83,7 +92,9 @@
         }
 
         theInstance = f;
-        LOGGER.log(Level.FINE, "XMLStreamReaderFactory instance is = {0}", theInstance);
+        if (LOGGER.isLoggable(Level.FINE)) {
+            LOGGER.log(Level.FINE, "XMLStreamReaderFactory instance is = {0}", theInstance);
+        }
     }
 
     private static XMLInputFactory getXMLInputFactory() {
@@ -92,7 +103,9 @@
             try {
                 xif = (XMLInputFactory)Class.forName("com.ctc.wstx.stax.WstxInputFactory").newInstance();
             } catch (Exception e) {
-                // Ignore and fallback to default XMLInputFactory
+                if (LOGGER.isLoggable(Level.WARNING)) {
+                    LOGGER.log(Level.WARNING, StreamingMessages.WOODSTOX_CANT_LOAD(CLASS_NAME_OF_WSTXINPUTFACTORY), e);
+                }
             }
         }
         if (xif == null) {
@@ -101,10 +114,10 @@
         xif.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, true);
         xif.setProperty(XMLInputFactory.SUPPORT_DTD, false);
         xif.setProperty(XMLInputFactory.IS_COALESCING, true);
+
         return xif;
     }
 
-
     /**
      * Overrides the singleton {@link XMLStreamReaderFactory} instance that
      * the JAX-WS RI uses.
@@ -168,7 +181,7 @@
      * it takes to recycle vs the possible performance gain by doing so.
      *
      * <p>
-     * This method may be invked by multiple threads concurrently.
+     * This method may be invoked by multiple threads concurrently.
      *
      * @param r
      *      The {@link XMLStreamReader} instance that the caller finished using.
@@ -282,11 +295,13 @@
             return sr;
         }
 
+        @Override
         public void doRecycle(XMLStreamReader r) {
             if(zephyrClass.isInstance(r))
                 pool.set(r);
         }
 
+        @Override
         public XMLStreamReader doCreate(String systemId, InputStream in, boolean rejectDTDs) {
             try {
                 XMLStreamReader xsr = fetch();
@@ -307,6 +322,7 @@
             }
         }
 
+        @Override
         public XMLStreamReader doCreate(String systemId, Reader in, boolean rejectDTDs) {
             try {
                 XMLStreamReader xsr = fetch();
@@ -345,7 +361,7 @@
      * {@link XMLInputFactory} is not required to be thread-safe, but
      * if the create method on this implementation is synchronized,
      * it may run into (see <a href="https://jax-ws.dev.java.net/issues/show_bug.cgi?id=555">
-     * race condition</a>). Hence, using a XMLInputFactory per theread.
+     * race condition</a>). Hence, using a XMLInputFactory per thread.
      */
     public static final class Default extends XMLStreamReaderFactory {
 
@@ -356,6 +372,7 @@
             }
         };
 
+        @Override
         public XMLStreamReader doCreate(String systemId, InputStream in, boolean rejectDTDs) {
             try {
                 return xif.get().createXMLStreamReader(systemId,in);
@@ -364,6 +381,7 @@
             }
         }
 
+        @Override
         public XMLStreamReader doCreate(String systemId, Reader in, boolean rejectDTDs) {
             try {
                 return xif.get().createXMLStreamReader(systemId,in);
@@ -372,6 +390,7 @@
             }
         }
 
+        @Override
         public void doRecycle(XMLStreamReader r) {
             // there's no way to recycle with the default StAX API.
         }
@@ -391,6 +410,7 @@
             this.xif = xif;
         }
 
+        @Override
         public XMLStreamReader doCreate(String systemId, InputStream in, boolean rejectDTDs) {
             try {
                 return xif.createXMLStreamReader(systemId,in);
@@ -399,6 +419,7 @@
             }
         }
 
+        @Override
         public XMLStreamReader doCreate(String systemId, Reader in, boolean rejectDTDs) {
             try {
                 return xif.createXMLStreamReader(systemId,in);
@@ -407,33 +428,182 @@
             }
         }
 
+        @Override
         public void doRecycle(XMLStreamReader r) {
             // there's no way to recycle with the default StAX API.
         }
     }
 
     /**
-     * Handles Woodstox's XIF but set properties to do the string interning.
+     * Handles Woodstox's XIF, but sets properties to do the string interning, sets various limits, ...
      * Woodstox {@link XMLInputFactory} is thread safe.
      */
     public static final class Woodstox extends NoLock {
+
+        public final static String PROPERTY_MAX_ATTRIBUTES_PER_ELEMENT = "xml.ws.maximum.AttributesPerElement";
+        public final static String PROPERTY_MAX_ATTRIBUTE_SIZE = "xml.ws.maximum.AttributeSize";
+        public final static String PROPERTY_MAX_CHILDREN_PER_ELEMENT = "xml.ws.maximum.ChildrenPerElement";
+        public final static String PROPERTY_MAX_ELEMENT_COUNT = "xml.ws.maximum.ElementCount";
+        public final static String PROPERTY_MAX_ELEMENT_DEPTH = "xml.ws.maximum.ElementDepth";
+        public final static String PROPERTY_MAX_CHARACTERS = "xml.ws.maximum.Characters";
+
+        private static final int DEFAULT_MAX_ATTRIBUTES_PER_ELEMENT = 500;
+        private static final int DEFAULT_MAX_ATTRIBUTE_SIZE = 65536 * 8;
+        private static final int DEFAULT_MAX_CHILDREN_PER_ELEMENT = Integer.MAX_VALUE;
+        private static final int DEFAULT_MAX_ELEMENT_DEPTH = 500;
+        private static final long DEFAULT_MAX_ELEMENT_COUNT = Integer.MAX_VALUE;
+        private static final long DEFAULT_MAX_CHARACTERS = Long.MAX_VALUE;
+
+        /* Woodstox default setting:
+         int mMaxAttributesPerElement = 1000;
+         int mMaxAttributeSize = 65536 * 8;
+         int mMaxChildrenPerElement = Integer.MAX_VALUE;
+         int mMaxElementDepth = 1000;
+         long mMaxElementCount = Long.MAX_VALUE;
+         long mMaxCharacters = Long.MAX_VALUE;
+         */
+
+        private int maxAttributesPerElement = DEFAULT_MAX_ATTRIBUTES_PER_ELEMENT;
+        private int maxAttributeSize = DEFAULT_MAX_ATTRIBUTE_SIZE;
+        private int maxChildrenPerElement = DEFAULT_MAX_CHILDREN_PER_ELEMENT;
+        private int maxElementDepth = DEFAULT_MAX_ELEMENT_DEPTH;
+        private long maxElementCount = DEFAULT_MAX_ELEMENT_COUNT;
+        private long maxCharacters = DEFAULT_MAX_CHARACTERS;
+
+        // Note: this is a copy from com.ctc.wstx.api.WstxInputProperties, to be removed in the future
+        private static final java.lang.String P_MAX_ATTRIBUTES_PER_ELEMENT = "com.ctc.wstx.maxAttributesPerElement";
+        private static final java.lang.String P_MAX_ATTRIBUTE_SIZE = "com.ctc.wstx.maxAttributeSize";
+        private static final java.lang.String P_MAX_CHILDREN_PER_ELEMENT = "com.ctc.wstx.maxChildrenPerElement";
+        private static final java.lang.String P_MAX_ELEMENT_COUNT = "com.ctc.wstx.maxElementCount";
+        private static final java.lang.String P_MAX_ELEMENT_DEPTH = "com.ctc.wstx.maxElementDepth";
+        private static final java.lang.String P_MAX_CHARACTERS = "com.ctc.wstx.maxCharacters";
+        private static final java.lang.String P_INTERN_NSURIS = "org.codehaus.stax2.internNsUris";
+
         public Woodstox(XMLInputFactory xif) {
             super(xif);
-            xif.setProperty("org.codehaus.stax2.internNsUris",true);
+
+            if (xif.isPropertySupported(P_INTERN_NSURIS)) {
+                xif.setProperty(P_INTERN_NSURIS, true);
+                if (LOGGER.isLoggable(Level.FINE)) {
+                    LOGGER.log(Level.FINE, P_INTERN_NSURIS + " is {0}", true);
+                }
+            }
+
+            if (xif.isPropertySupported(P_MAX_ATTRIBUTES_PER_ELEMENT)) {
+                maxAttributesPerElement = Integer.valueOf(buildIntegerValue(
+                    PROPERTY_MAX_ATTRIBUTES_PER_ELEMENT, DEFAULT_MAX_ATTRIBUTES_PER_ELEMENT)
+                );
+                xif.setProperty(P_MAX_ATTRIBUTES_PER_ELEMENT, maxAttributesPerElement);
+                if (LOGGER.isLoggable(Level.FINE)) {
+                    LOGGER.log(Level.FINE, P_MAX_ATTRIBUTES_PER_ELEMENT + " is {0}", maxAttributesPerElement);
+                }
+            }
+
+            if (xif.isPropertySupported(P_MAX_ATTRIBUTE_SIZE)) {
+                maxAttributeSize = Integer.valueOf(buildIntegerValue(
+                    PROPERTY_MAX_ATTRIBUTE_SIZE, DEFAULT_MAX_ATTRIBUTE_SIZE)
+                );
+                xif.setProperty(P_MAX_ATTRIBUTE_SIZE, maxAttributeSize);
+                if (LOGGER.isLoggable(Level.FINE)) {
+                    LOGGER.log(Level.FINE, P_MAX_ATTRIBUTE_SIZE + " is {0}", maxAttributeSize);
+                }
+            }
+
+            if (xif.isPropertySupported(P_MAX_CHILDREN_PER_ELEMENT)) {
+                maxChildrenPerElement = Integer.valueOf(buildIntegerValue(
+                    PROPERTY_MAX_CHILDREN_PER_ELEMENT, DEFAULT_MAX_CHILDREN_PER_ELEMENT)
+                );
+                xif.setProperty(P_MAX_CHILDREN_PER_ELEMENT, maxChildrenPerElement);
+                if (LOGGER.isLoggable(Level.FINE)) {
+                    LOGGER.log(Level.FINE, P_MAX_CHILDREN_PER_ELEMENT + " is {0}", maxChildrenPerElement);
+                }
+            }
+
+            if (xif.isPropertySupported(P_MAX_ELEMENT_DEPTH)) {
+                maxElementDepth = Integer.valueOf(buildIntegerValue(
+                    PROPERTY_MAX_ELEMENT_DEPTH, DEFAULT_MAX_ELEMENT_DEPTH)
+                );
+                xif.setProperty(P_MAX_ELEMENT_DEPTH, maxElementDepth);
+                if (LOGGER.isLoggable(Level.FINE)) {
+                    LOGGER.log(Level.FINE, P_MAX_ELEMENT_DEPTH + " is {0}", maxElementDepth);
+                }
+            }
+
+            if (xif.isPropertySupported(P_MAX_ELEMENT_COUNT)) {
+                maxElementCount = Long.valueOf(buildLongValue(
+                    PROPERTY_MAX_ELEMENT_COUNT, DEFAULT_MAX_ELEMENT_COUNT)
+                );
+                xif.setProperty(P_MAX_ELEMENT_COUNT, maxElementCount);
+                if (LOGGER.isLoggable(Level.FINE)) {
+                    LOGGER.log(Level.FINE, P_MAX_ELEMENT_COUNT + " is {0}", maxElementCount);
+                }
+            }
+
+            if (xif.isPropertySupported(P_MAX_CHARACTERS)) {
+                maxCharacters = Long.valueOf(buildLongValue(
+                    PROPERTY_MAX_CHARACTERS, DEFAULT_MAX_CHARACTERS)
+                );
+                xif.setProperty(P_MAX_CHARACTERS, maxCharacters);
+                if (LOGGER.isLoggable(Level.FINE)) {
+                    LOGGER.log(Level.FINE, P_MAX_CHARACTERS + " is {0}", maxCharacters);
+                }
+            }
         }
 
+        @Override
         public XMLStreamReader doCreate(String systemId, InputStream in, boolean rejectDTDs) {
             return super.doCreate(systemId, in, rejectDTDs);
         }
 
+        @Override
         public XMLStreamReader doCreate(String systemId, Reader in, boolean rejectDTDs) {
             return super.doCreate(systemId, in, rejectDTDs);
         }
     }
 
+    private static int buildIntegerValue(String propertyName, int defaultValue) {
+        String propVal = System.getProperty(propertyName);
+        if (propVal != null && propVal.length() > 0) {
+            try {
+                Integer value = Integer.parseInt(propVal);
+                if (value > 0) {
+                    // return with the value in System property
+                    return value;
+                }
+            } catch (NumberFormatException nfe) {
+                if (LOGGER.isLoggable(Level.WARNING)) {
+                    LOGGER.log(Level.WARNING, StreamingMessages.INVALID_PROPERTY_VALUE_INTEGER(propertyName, propVal, Integer.toString(defaultValue)), nfe);
+                }
+            }
+        }
+        // return with the default value
+        return defaultValue;
+    }
+
+    private static long buildLongValue(String propertyName, long defaultValue) {
+        String propVal = System.getProperty(propertyName);
+        if (propVal != null && propVal.length() > 0) {
+            try {
+                long value = Long.parseLong(propVal);
+                if (value > 0L) {
+                    // return with the value in System property
+                    return value;
+                }
+            } catch (NumberFormatException nfe) {
+                // defult will be returned
+                if (LOGGER.isLoggable(Level.WARNING)) {
+                    LOGGER.log(Level.WARNING, StreamingMessages.INVALID_PROPERTY_VALUE_LONG(propertyName, propVal, Long.toString(defaultValue)), nfe);
+                }
+            }
+        }
+        // return with the default value
+        return defaultValue;
+    }
+
     private static Boolean getProperty(final String prop) {
         return AccessController.doPrivileged(
             new java.security.PrivilegedAction<Boolean>() {
+                @Override
                 public Boolean run() {
                     String value = System.getProperty(prop);
                     return value != null ? Boolean.valueOf(value) : Boolean.FALSE;
@@ -441,4 +611,5 @@
             }
         );
     }
+
 }
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/api/wsdl/writer/WSDLGeneratorExtension.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/api/wsdl/writer/WSDLGeneratorExtension.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -42,7 +42,7 @@
  * <p/>
  * The JAX-WS WSDLGenerator uses TXW to serialize the WSDL out to XML.
  * More information about TXW can be located at
- * <a href="http://txw.dev.java.net">http://txw.dev.java.net</a>.
+ * <a href="http://txw.java.net">http://txw.java.net</a>.
  */
 public abstract class WSDLGeneratorExtension {
     /**
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/commons/xmlutil/Converter.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/commons/xmlutil/Converter.java	Thu Aug 29 16:18:31 2013 -0700
@@ -81,10 +81,27 @@
         }
 
         return toString(packet.getMessage());
+    }
 
+    public static String toStringNoIndent(Packet packet) {
+        if (packet == null) {
+            return "[ Null packet ]";
+        } else if (packet.getMessage() == null) {
+                return "[ Empty packet ]";
+        }
+
+        return toStringNoIndent(packet.getMessage());
     }
 
     public static String toString(Message message) {
+        return toString(message, true);
+    }
+
+    public static String toStringNoIndent(Message message) {
+        return toString(message, false);
+    }
+
+    private static String toString(Message message, boolean createIndenter) {
         if (message == null) {
             return "[ Null message ]";
         }
@@ -94,7 +111,9 @@
             XMLStreamWriter writer = null;
             try {
                 writer = xmlOutputFactory.createXMLStreamWriter(stringOut);
-                writer = createIndenter(writer);
+                if (createIndenter) {
+                    writer = createIndenter(writer);
+                }
                 message.copy().writeTo(writer);
             } catch (Exception e) { // WSIT-1596 - Message Dumping should not affect other processing
                 LOGGER.log(Level.WARNING, "Unexpected exception occured while dumping message", e);
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/MtomCodec.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/MtomCodec.java	Thu Aug 29 16:18:31 2013 -0700
@@ -41,6 +41,7 @@
 import com.sun.xml.internal.ws.message.MimeAttachmentSet;
 import com.sun.xml.internal.ws.streaming.XMLStreamWriterUtil;
 import com.sun.xml.internal.ws.util.ByteArrayDataSource;
+import com.sun.xml.internal.ws.util.xml.NamespaceContextExAdaper;
 import com.sun.xml.internal.ws.util.xml.XMLStreamReaderFilter;
 import com.sun.xml.internal.ws.util.xml.XMLStreamWriterFilter;
 import com.sun.xml.internal.ws.streaming.MtomStreamWriter;
@@ -374,8 +375,11 @@
         private void writeBinary(ByteArrayBuffer bab) {
             try {
                 mtomAttachments.add(bab);
-                writer.setPrefix("xop", XOP_NAMESPACEURI);
-                writer.writeNamespace("xop", XOP_NAMESPACEURI);
+                String prefix = writer.getPrefix(XOP_NAMESPACEURI);
+                if (prefix == null || !prefix.equals("xop")) {
+                    writer.setPrefix("xop", XOP_NAMESPACEURI);
+                    writer.writeNamespace("xop", XOP_NAMESPACEURI);
+                }
                 writer.writeStartElement(XOP_NAMESPACEURI, XOP_LOCALNAME);
                 writer.writeAttribute("href", "cid:"+bab.contentId);
                 writer.writeEndElement();
@@ -513,8 +517,7 @@
 
         @Override
         public NamespaceContextEx getNamespaceContext() {
-            NamespaceContext nsContext = reader.getNamespaceContext();
-            return new MtomNamespaceContextEx(nsContext);
+            return new NamespaceContextExAdaper(reader.getNamespaceContext());
         }
 
         @Override
@@ -522,35 +525,6 @@
             throw new UnsupportedOperationException();
         }
 
-        private static class MtomNamespaceContextEx implements NamespaceContextEx {
-            private final NamespaceContext nsContext;
-
-            public MtomNamespaceContextEx(NamespaceContext nsContext) {
-                this.nsContext = nsContext;
-            }
-
-            @Override
-            public Iterator<Binding> iterator() {
-                throw new UnsupportedOperationException();
-            }
-
-            @Override
-            public String getNamespaceURI(String prefix) {
-                return nsContext.getNamespaceURI(prefix);
-            }
-
-            @Override
-            public String getPrefix(String namespaceURI) {
-                return nsContext.getPrefix(namespaceURI);
-            }
-
-            @Override
-            public Iterator getPrefixes(String namespaceURI) {
-                return nsContext.getPrefixes(namespaceURI);
-            }
-
-        }
-
         @Override
         public int getTextLength() {
             if (xopReferencePresent) {
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/StreamSOAP11Codec.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/StreamSOAP11Codec.java	Thu Aug 29 16:18:31 2013 -0700
@@ -44,12 +44,6 @@
  * @author Paul.Sandoz@Sun.Com
  */
 final class StreamSOAP11Codec extends StreamSOAPCodec {
-    static final StreamHeaderDecoder SOAP11StreamHeaderDecoder = new StreamHeaderDecoder() {
-        @Override
-        public Header decodeHeader(XMLStreamReader reader, XMLStreamBuffer mark) {
-            return new StreamHeader11(reader, mark);
-        }
-    };
 
     public static final String SOAP11_MIME_TYPE = "text/xml";
     public static final String DEFAULT_SOAP11_CONTENT_TYPE =
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/StreamSOAP12Codec.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/StreamSOAP12Codec.java	Thu Aug 29 16:18:31 2013 -0700
@@ -47,12 +47,6 @@
  * @author Paul.Sandoz@Sun.Com
  */
 final class StreamSOAP12Codec extends StreamSOAPCodec {
-    static final StreamHeaderDecoder SOAP12StreamHeaderDecoder = new StreamHeaderDecoder() {
-        @Override
-        public Header decodeHeader(XMLStreamReader reader, XMLStreamBuffer mark) {
-            return new StreamHeader12(reader, mark);
-        }
-    };
 
     public static final String SOAP12_MIME_TYPE = "application/soap+xml";
     public static final String DEFAULT_SOAP12_CONTENT_TYPE =
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/StreamSOAPCodec.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/StreamSOAPCodec.java	Thu Aug 29 16:18:31 2013 -0700
@@ -194,9 +194,7 @@
         return decode(soapVersion, reader, attachmentSet);
     }
 
-    public static final Message decode(SOAPVersion soapVersion, XMLStreamReader reader,
-            @NotNull AttachmentSet attachmentSet) {
-
+    public static final Message decode(SOAPVersion soapVersion, XMLStreamReader reader, @NotNull AttachmentSet attachmentSet) {
         // Move to soap:Envelope and verify
         if(reader.getEventType()!=XMLStreamConstants.START_ELEMENT)
             XMLStreamReaderUtil.nextElementContent(reader);
@@ -205,61 +203,7 @@
             throw new VersionMismatchException(soapVersion, soapVersion.nsUri, reader.getNamespaceURI());
         }
         XMLStreamReaderUtil.verifyTag(reader, soapVersion.nsUri, SOAP_ENVELOPE);
-
-        TagInfoset envelopeTag = new TagInfoset(reader);
-
-        // Collect namespaces on soap:Envelope
-        Map<String,String> namespaces = new HashMap<String,String>();
-        for(int i=0; i< reader.getNamespaceCount();i++){
-                namespaces.put(reader.getNamespacePrefix(i), reader.getNamespaceURI(i));
-        }
-
-        // Move to next element
-        XMLStreamReaderUtil.nextElementContent(reader);
-        XMLStreamReaderUtil.verifyReaderState(reader,
-                javax.xml.stream.XMLStreamConstants.START_ELEMENT);
-
-        HeaderList headers = null;
-        TagInfoset headerTag = null;
-
-        if (reader.getLocalName().equals(SOAP_HEADER)
-                && reader.getNamespaceURI().equals(soapVersion.nsUri)) {
-            headerTag = new TagInfoset(reader);
-
-            // Collect namespaces on soap:Header
-            for(int i=0; i< reader.getNamespaceCount();i++){
-                namespaces.put(reader.getNamespacePrefix(i), reader.getNamespaceURI(i));
-            }
-            // skip <soap:Header>
-            XMLStreamReaderUtil.nextElementContent(reader);
-
-            // If SOAP header blocks are present (i.e. not <soap:Header/>)
-            if (reader.getEventType() == XMLStreamConstants.START_ELEMENT) {
-                headers = new HeaderList(soapVersion);
-
-                try {
-                    // Cache SOAP header blocks
-                    StreamHeaderDecoder headerDecoder = SOAPVersion.SOAP_11.equals(soapVersion) ? StreamSOAP11Codec.SOAP11StreamHeaderDecoder : StreamSOAP12Codec.SOAP12StreamHeaderDecoder;
-                    cacheHeaders(reader, namespaces, headers, headerDecoder);
-                } catch (XMLStreamException e) {
-                    // TODO need to throw more meaningful exception
-                    throw new WebServiceException(e);
-                }
-            }
-
-            // Move to soap:Body
-            XMLStreamReaderUtil.nextElementContent(reader);
-        }
-
-        // Verify that <soap:Body> is present
-        XMLStreamReaderUtil.verifyTag(reader, soapVersion.nsUri, SOAP_BODY);
-        TagInfoset bodyTag = new TagInfoset(reader);
-
-        String bodyPrologue = XMLStreamReaderUtil.nextWhiteSpaceContent(reader);
-        return new StreamMessage(envelopeTag,headerTag,attachmentSet,headers,bodyPrologue,bodyTag,null,reader,soapVersion);
-        // when there's no payload,
-        // it's tempting to use EmptyMessageImpl, but it doesn't preserve the infoset
-        // of <envelope>,<header>, and <body>, so we need to stick to StreamMessage.
+        return new StreamMessage(soapVersion, reader, attachmentSet);
     }
 
     public void decode(ReadableByteChannel in, String contentType, Packet packet ) {
@@ -270,56 +214,6 @@
         return this;
     }
 
-    private static XMLStreamBuffer cacheHeaders(XMLStreamReader reader,
-            Map<String, String> namespaces, HeaderList headers,
-            StreamHeaderDecoder headerDecoder) throws XMLStreamException {
-        MutableXMLStreamBuffer buffer = createXMLStreamBuffer();
-        StreamReaderBufferCreator creator = new StreamReaderBufferCreator();
-        creator.setXMLStreamBuffer(buffer);
-
-        // Reader is positioned at the first header block
-        while(reader.getEventType() == javax.xml.stream.XMLStreamConstants.START_ELEMENT) {
-            Map<String,String> headerBlockNamespaces = namespaces;
-
-            // Collect namespaces on SOAP header block
-            if (reader.getNamespaceCount() > 0) {
-                headerBlockNamespaces = new HashMap<String,String>(namespaces);
-                for (int i = 0; i < reader.getNamespaceCount(); i++) {
-                    headerBlockNamespaces.put(reader.getNamespacePrefix(i), reader.getNamespaceURI(i));
-                }
-            }
-
-            // Mark
-            XMLStreamBuffer mark = new XMLStreamBufferMark(headerBlockNamespaces, creator);
-            // Create Header
-            headers.add(headerDecoder.decodeHeader(reader, mark));
-
-
-            // Cache the header block
-            // After caching Reader will be positioned at next header block or
-            // the end of the </soap:header>
-            creator.createElementFragment(reader, false);
-            if (reader.getEventType() != XMLStreamConstants.START_ELEMENT &&
-                    reader.getEventType() != XMLStreamConstants.END_ELEMENT) {
-                XMLStreamReaderUtil.nextElementContent(reader);
-            }
-        }
-
-        return buffer;
-    }
-
-    protected interface StreamHeaderDecoder {
-        public Header decodeHeader(XMLStreamReader reader, XMLStreamBuffer mark);
-    }
-
-    private static MutableXMLStreamBuffer createXMLStreamBuffer() {
-        // TODO: Decode should own one MutableXMLStreamBuffer for reuse
-        // since it is more efficient. ISSUE: possible issue with
-        // lifetime of information in the buffer if accessed beyond
-        // the pipe line.
-        return new MutableXMLStreamBuffer();
-    }
-
     public void decode(InputStream in, String contentType, Packet packet, AttachmentSet att ) throws IOException {
         List<String> expectedContentTypes = getExpectedContentTypes();
         if (contentType != null && !isContentTypeSupported(contentType,expectedContentTypes)) {
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/TagInfoset.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/TagInfoset.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,8 @@
 
 package com.sun.xml.internal.ws.encoding;
 
+import java.util.List;
+
 import org.xml.sax.helpers.AttributesImpl;
 import org.xml.sax.ContentHandler;
 import org.xml.sax.SAXException;
@@ -221,4 +223,35 @@
 
     private static final String[] EMPTY_ARRAY = new String[0];
     private static final AttributesImpl EMPTY_ATTRIBUTES = new AttributesImpl();
+
+    public String getNamespaceURI(String prefix) {
+        int size = ns.length/2;
+        for(int i=0; i<size; i++){
+            String p = ns[i*2  ];
+            String n = ns[i*2+1];
+            if (prefix.equals(p)) return n;
+        }
+        return null;
+    }
+
+    public String getPrefix(String namespaceURI) {
+        int size = ns.length/2;
+        for(int i=0; i<size; i++){
+            String p = ns[i*2  ];
+            String n = ns[i*2+1];
+            if (namespaceURI.equals(n)) return p;
+        }
+        return null;
+    }
+    //Who wants this?
+    public List<String> allPrefixes(String namespaceURI) {
+        int size = ns.length/2;
+        List<String> l = new java.util.ArrayList<String>();
+        for(int i=0; i<size; i++){
+            String p = ns[i*2  ];
+            String n = ns[i*2+1];
+            if (namespaceURI.equals(n)) l.add(p);
+        }
+        return l;
+    }
 }
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/message/AbstractMessageImpl.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/message/AbstractMessageImpl.java	Thu Aug 29 16:18:31 2013 -0700
@@ -25,6 +25,7 @@
 
 package com.sun.xml.internal.ws.message;
 
+import com.sun.istack.internal.NotNull;
 import com.sun.xml.internal.bind.api.Bridge;
 import com.sun.xml.internal.ws.api.SOAPVersion;
 import com.sun.xml.internal.ws.api.message.Header;
@@ -33,8 +34,11 @@
 import com.sun.xml.internal.ws.api.message.MessageWritable;
 import com.sun.xml.internal.ws.api.message.Packet;
 import com.sun.xml.internal.ws.api.message.saaj.SAAJFactory;
+import com.sun.xml.internal.ws.encoding.TagInfoset;
 import com.sun.xml.internal.ws.message.saaj.SAAJMessage;
 import com.sun.xml.internal.ws.spi.db.XMLBridge;
+import java.util.ArrayList;
+import java.util.Collections;
 import org.xml.sax.ContentHandler;
 import org.xml.sax.ErrorHandler;
 import org.xml.sax.SAXException;
@@ -80,10 +84,34 @@
      */
     protected final SOAPVersion soapVersion;
 
+    protected @NotNull TagInfoset envelopeTag;
+    protected @NotNull TagInfoset headerTag;
+    protected @NotNull TagInfoset bodyTag;
+
+    protected static final AttributesImpl EMPTY_ATTS;
+    protected static final LocatorImpl NULL_LOCATOR = new LocatorImpl();
+    protected static final List<TagInfoset> DEFAULT_TAGS;
+
+    static void create(SOAPVersion v, List c) {
+        int base = v.ordinal()*3;
+        c.add(base, new TagInfoset(v.nsUri, "Envelope", "S", EMPTY_ATTS,"S", v.nsUri));
+        c.add(base+1, new TagInfoset(v.nsUri, "Header", "S", EMPTY_ATTS));
+        c.add(base+2, new TagInfoset(v.nsUri, "Body", "S", EMPTY_ATTS));
+    }
+
+    static {
+        EMPTY_ATTS = new AttributesImpl();
+        List<TagInfoset> tagList = new ArrayList<TagInfoset>();
+        create(SOAPVersion.SOAP_11, tagList);
+        create(SOAPVersion.SOAP_12, tagList);
+        DEFAULT_TAGS = Collections.unmodifiableList(tagList);
+    }
+
     protected AbstractMessageImpl(SOAPVersion soapVersion) {
         this.soapVersion = soapVersion;
     }
 
+    @Override
     public SOAPVersion getSOAPVersion() {
         return soapVersion;
     }
@@ -94,10 +122,12 @@
         this.soapVersion = that.soapVersion;
     }
 
+    @Override
     public Source readEnvelopeAsSource() {
         return new SAXSource(new XMLReaderImpl(this), XMLReaderImpl.THE_SOURCE);
     }
 
+    @Override
     public <T> T readPayloadAsJAXB(Unmarshaller unmarshaller) throws JAXBException {
         if(hasAttachments())
             unmarshaller.setAttachmentUnmarshaller(new AttachmentUnmarshallerImpl(getAttachments()));
@@ -108,11 +138,13 @@
         }
     }
     /** @deprecated */
+    @Override
     public <T> T readPayloadAsJAXB(Bridge<T> bridge) throws JAXBException {
         return bridge.unmarshal(readPayloadAsSource(),
             hasAttachments()? new AttachmentUnmarshallerImpl(getAttachments()) : null );
     }
 
+    @Override
     public <T> T readPayloadAsJAXB(XMLBridge<T> bridge) throws JAXBException {
         return bridge.unmarshal(readPayloadAsSource(),
             hasAttachments()? new AttachmentUnmarshallerImpl(getAttachments()) : null );
@@ -121,6 +153,7 @@
     /**
      * Default implementation that relies on {@link #writePayloadTo(XMLStreamWriter)}
      */
+    @Override
     public void writeTo(XMLStreamWriter w) throws XMLStreamException {
         String soapNsUri = soapVersion.nsUri;
         w.writeStartDocument();
@@ -147,6 +180,7 @@
     /**
      * Writes the whole envelope as SAX events.
      */
+    @Override
     public void writeTo( ContentHandler contentHandler, ErrorHandler errorHandler ) throws SAXException {
         String soapNsUri = soapVersion.nsUri;
 
@@ -191,13 +225,12 @@
     /**
      * Default implementation that uses {@link #writeTo(ContentHandler, ErrorHandler)}
      */
+    @Override
     public SOAPMessage readAsSOAPMessage() throws SOAPException {
         return SAAJFactory.read(soapVersion, this);
     }
 
-    /**
-     *
-     */
+    @Override
     public SOAPMessage readAsSOAPMessage(Packet packet, boolean inbound) throws SOAPException {
         SOAPMessage msg = SAAJFactory.read(soapVersion, this, packet);
         transportHeaders(packet, inbound, msg);
@@ -211,7 +244,4 @@
         }
         if (msg.saveRequired()) msg.saveChanges();
     }
-
-    protected static final AttributesImpl EMPTY_ATTS = new AttributesImpl();
-    protected static final LocatorImpl NULL_LOCATOR = new LocatorImpl();
 }
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/message/jaxb/JAXBHeader.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/message/jaxb/JAXBHeader.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,6 +28,7 @@
 import com.sun.istack.internal.NotNull;
 import com.sun.istack.internal.XMLStreamException2;
 import com.sun.xml.internal.bind.api.Bridge;
+import com.sun.xml.internal.stream.buffer.MutableXMLStreamBuffer;
 import com.sun.xml.internal.stream.buffer.XMLStreamBuffer;
 import com.sun.xml.internal.stream.buffer.XMLStreamBufferResult;
 import com.sun.xml.internal.ws.api.message.Header;
@@ -142,16 +143,12 @@
     }
 
     public XMLStreamReader readHeader() throws XMLStreamException {
-        try {
-            if(infoset==null) {
-                XMLStreamBufferResult sbr = new XMLStreamBufferResult();
-                bridge.marshal(jaxbObject,sbr);
-                infoset = sbr.getXMLStreamBuffer();
-            }
-            return infoset.readAsXMLStreamReader();
-        } catch (JAXBException e) {
-            throw new XMLStreamException2(e);
+        if(infoset==null) {
+            MutableXMLStreamBuffer buffer = new MutableXMLStreamBuffer();
+            writeTo(buffer.createFromXMLStreamWriter());
+            infoset = buffer;
         }
+        return infoset.readAsXMLStreamReader();
     }
 
     public <T> T readAsJAXB(Unmarshaller unmarshaller) throws JAXBException {
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/message/jaxb/JAXBMessage.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/message/jaxb/JAXBMessage.java	Thu Aug 29 16:18:31 2013 -0700
@@ -31,9 +31,11 @@
 import com.sun.xml.internal.stream.buffer.XMLStreamBufferResult;
 import com.sun.xml.internal.ws.api.SOAPVersion;
 import com.sun.xml.internal.ws.api.message.AttachmentSet;
+import com.sun.xml.internal.ws.api.message.Header;
 import com.sun.xml.internal.ws.api.message.HeaderList;
 import com.sun.xml.internal.ws.api.message.Message;
 import com.sun.xml.internal.ws.api.message.MessageHeaders;
+import com.sun.xml.internal.ws.api.message.StreamingSOAP;
 import com.sun.xml.internal.ws.encoding.SOAPBindingCodec;
 import com.sun.xml.internal.ws.message.AbstractMessageImpl;
 import com.sun.xml.internal.ws.message.AttachmentSetImpl;
@@ -45,6 +47,9 @@
 import com.sun.xml.internal.ws.streaming.XMLStreamWriterUtil;
 import com.sun.xml.internal.ws.streaming.XMLStreamReaderUtil;
 import com.sun.xml.internal.ws.streaming.MtomStreamWriter;
+import com.sun.xml.internal.ws.util.xml.XMLReaderComposite;
+import com.sun.xml.internal.ws.util.xml.XMLReaderComposite.ElemInfo;
+
 import org.xml.sax.ContentHandler;
 import org.xml.sax.ErrorHandler;
 import org.xml.sax.SAXException;
@@ -65,13 +70,14 @@
 import javax.xml.transform.Source;
 import javax.xml.ws.WebServiceException;
 import java.io.OutputStream;
+import java.util.List;
 
 /**
  * {@link Message} backed by a JAXB bean.
  *
  * @author Kohsuke Kawaguchi
  */
-public final class JAXBMessage extends AbstractMessageImpl {
+public final class JAXBMessage extends AbstractMessageImpl implements StreamingSOAP {
     private MessageHeaders headers;
 
     /**
@@ -319,14 +325,17 @@
     public XMLStreamReader readPayload() throws XMLStreamException {
        try {
             if(infoset==null) {
-                XMLStreamBufferResult sbr = new XMLStreamBufferResult();
                                 if (rawContext != null) {
+                        XMLStreamBufferResult sbr = new XMLStreamBufferResult();
                                         Marshaller m = rawContext.createMarshaller();
                                         m.setProperty("jaxb.fragment", Boolean.TRUE);
                                         m.marshal(jaxbObject, sbr);
-                                } else
-                                        bridge.marshal(jaxbObject, sbr);
-                infoset = sbr.getXMLStreamBuffer();
+                        infoset = sbr.getXMLStreamBuffer();
+                                } else {
+                                    MutableXMLStreamBuffer buffer = new MutableXMLStreamBuffer();
+                                    writePayloadTo(buffer.createFromXMLStreamWriter());
+                                    infoset = buffer;
+                                }
             }
             XMLStreamReader reader = infoset.readAsXMLStreamReader();
             if(reader.getEventType()== START_DOCUMENT)
@@ -376,21 +385,22 @@
 
             // Get output stream and use JAXB UTF-8 writer
             OutputStream os = bridge.supportOutputStream() ? XMLStreamWriterUtil.getOutputStream(sw) : null;
-                        if (rawContext != null) {
-                                Marshaller m = rawContext.createMarshaller();
-                                m.setProperty("jaxb.fragment", Boolean.TRUE);
-                                m.setAttachmentMarshaller(am);
-                                if (os != null)
-                                        m.marshal(jaxbObject, os);
-                                else
-                                        m.marshal(jaxbObject, sw);
-                        } else {
-                                if (os != null  && encoding != null && encoding.equalsIgnoreCase(SOAPBindingCodec.UTF8_ENCODING)) {
-                                        bridge.marshal(jaxbObject, os, sw.getNamespaceContext(), am);
-                                } else {
-                                        bridge.marshal(jaxbObject, sw, am);
-                                }
-                        }
+            if (rawContext != null) {
+                Marshaller m = rawContext.createMarshaller();
+                m.setProperty("jaxb.fragment", Boolean.TRUE);
+                m.setAttachmentMarshaller(am);
+                if (os != null) {
+                    m.marshal(jaxbObject, os);
+                } else {
+                    m.marshal(jaxbObject, sw);
+                }
+            } else {
+                if (os != null && encoding != null && encoding.equalsIgnoreCase(SOAPBindingCodec.UTF8_ENCODING)) {
+                    bridge.marshal(jaxbObject, os, sw.getNamespaceContext(), am);
+                } else {
+                    bridge.marshal(jaxbObject, sw, am);
+                }
+            }
             //cleanup() is not needed since JAXB doesn't keep ref to AttachmentMarshaller
             //am.cleanup();
         } catch (JAXBException e) {
@@ -404,4 +414,33 @@
         return new JAXBMessage(this);
     }
 
+    public XMLStreamReader readEnvelope() {
+        int base = soapVersion.ordinal()*3;
+        this.envelopeTag = DEFAULT_TAGS.get(base);
+        this.bodyTag = DEFAULT_TAGS.get(base+2);
+        List<XMLStreamReader> hReaders = new java.util.ArrayList<XMLStreamReader>();
+        ElemInfo envElem =  new ElemInfo(envelopeTag, null);
+        ElemInfo bdyElem =  new ElemInfo(bodyTag, envElem);
+        for (Header h : getHeaders().asList()) {
+            try {
+                hReaders.add(h.readHeader());
+            } catch (XMLStreamException e) {
+                throw new RuntimeException(e);
+            }
+        }
+        XMLStreamReader soapHeader = null;
+        if(hReaders.size()>0) {
+            headerTag = DEFAULT_TAGS.get(base+1);
+            ElemInfo hdrElem = new ElemInfo(headerTag, envElem);
+            soapHeader = new XMLReaderComposite(hdrElem, hReaders.toArray(new XMLStreamReader[hReaders.size()]));
+        }
+        try {
+            XMLStreamReader payload= readPayload();
+            XMLStreamReader soapBody = new XMLReaderComposite(bdyElem, new XMLStreamReader[]{payload});
+            XMLStreamReader[] soapContent = (soapHeader != null) ? new XMLStreamReader[]{soapHeader, soapBody} : new XMLStreamReader[]{soapBody};
+            return new XMLReaderComposite(envElem, soapContent);
+        } catch (XMLStreamException e) {
+            throw new RuntimeException(e);
+        }
+    }
 }
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/message/saaj/SAAJMessage.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/message/saaj/SAAJMessage.java	Thu Aug 29 16:18:31 2013 -0700
@@ -175,7 +175,7 @@
      */
     @Override
     public @NotNull AttachmentSet getAttachments() {
-        parse();
+        if (attachmentSet == null) attachmentSet = new SAAJAttachmentSet(sm);
         return attachmentSet;
     }
 
@@ -185,23 +185,21 @@
      */
     @Override
     protected boolean hasAttachments() {
-        parse();
-        return attachmentSet!=null;
+        return !getAttachments().isEmpty();
     }
 
     public @Nullable String getPayloadLocalPart() {
-        access();
+        soapBodyFirstChild();
         return payloadLocalName;
     }
 
     public String getPayloadNamespaceURI() {
-        access();
+        soapBodyFirstChild();
         return payloadNamespace;
     }
 
     public boolean hasPayload() {
-        access();
-        return payloadNamespace != null;
+        return soapBodyFirstChild() != null;
     }
 
     private void addAttributes(Element e, NamedNodeMap attrs) {
@@ -327,15 +325,7 @@
     }
 
     public XMLStreamReader readPayload() throws XMLStreamException {
-        access();
-        if (payload != null) {
-            DOMStreamReader dss = new DOMStreamReader();
-            dss.setCurrentNode(payload);
-            dss.nextTag();
-            assert dss.getEventType() == XMLStreamReader.START_ELEMENT;
-            return dss;
-        }
-        return null;
+        return soapBodyFirstChildReader();
     }
 
     public void writePayloadTo(XMLStreamWriter sw) throws XMLStreamException {
@@ -522,7 +512,7 @@
     private static final AttributesImpl EMPTY_ATTS = new AttributesImpl();
     private static final LocatorImpl NULL_LOCATOR = new LocatorImpl();
 
-    private static class SAAJAttachment implements AttachmentEx {
+    protected static class SAAJAttachment implements AttachmentEx {
 
         final AttachmentPart ap;
 
@@ -651,7 +641,7 @@
      * SAAJ wants '&lt;' and '>' for the content ID, but {@link AttachmentSet}
      * doesn't. S this class also does the conversion between them.
      */
-    private static class SAAJAttachmentSet implements AttachmentSet {
+    protected static class SAAJAttachmentSet implements AttachmentSet {
 
         private Map<String, Attachment> attMap;
         private Iterator attIter;
@@ -715,4 +705,74 @@
     public SOAPVersion getSOAPVersion() {
         return soapVersion;
     }
+
+    private XMLStreamReader soapBodyFirstChildReader;
+
+    /**
+     * This allow the subclass to retain the XMLStreamReader.
+     */
+    protected XMLStreamReader getXMLStreamReader(SOAPElement soapElement) {
+        return null;
+    }
+
+    protected XMLStreamReader createXMLStreamReader(SOAPElement soapElement) {
+        DOMStreamReader dss = new DOMStreamReader();
+        dss.setCurrentNode(soapElement);
+        return dss;
+    }
+
+    protected XMLStreamReader soapBodyFirstChildReader() {
+        if (soapBodyFirstChildReader != null) return soapBodyFirstChildReader;
+        soapBodyFirstChild();
+        if (soapBodyFirstChild != null) {
+            soapBodyFirstChildReader = getXMLStreamReader(soapBodyFirstChild);
+            if (soapBodyFirstChildReader == null) soapBodyFirstChildReader =
+                createXMLStreamReader(soapBodyFirstChild);
+            if (soapBodyFirstChildReader.getEventType() == XMLStreamReader.START_DOCUMENT) {
+                try {
+                    while(soapBodyFirstChildReader.getEventType() != XMLStreamReader.START_ELEMENT)
+                        soapBodyFirstChildReader.next();
+                } catch (XMLStreamException e) {
+                    throw new RuntimeException(e);
+                }
+            }
+            return soapBodyFirstChildReader;
+        } else {
+            payloadLocalName = null;
+            payloadNamespace = null;
+            return null;
+        }
+    }
+
+    private SOAPElement soapBodyFirstChild;
+
+    SOAPElement soapBodyFirstChild() {
+        if (soapBodyFirstChild != null) return soapBodyFirstChild;
+        try {
+            boolean foundElement = false;
+            for (Node n = sm.getSOAPBody().getFirstChild(); n != null && !foundElement; n = n.getNextSibling()) {
+                if (n.getNodeType() == Node.ELEMENT_NODE) {
+                    foundElement = true;
+                    if (n instanceof SOAPElement) {
+                        soapBodyFirstChild = (SOAPElement) n;
+                        payloadLocalName = soapBodyFirstChild.getLocalName();
+                        payloadNamespace = soapBodyFirstChild.getNamespaceURI();
+                        return soapBodyFirstChild;
+                    }
+                }
+            }
+            if(foundElement) for(Iterator i = sm.getSOAPBody().getChildElements(); i.hasNext();){
+                Object o = i.next();
+                if (o instanceof SOAPElement) {
+                    soapBodyFirstChild = (SOAPElement)o;
+                    payloadLocalName = soapBodyFirstChild.getLocalName();
+                    payloadNamespace = soapBodyFirstChild.getNamespaceURI();
+                    return soapBodyFirstChild;
+                }
+            }
+        } catch (SOAPException e) {
+            throw new RuntimeException(e);
+        }
+        return soapBodyFirstChild;
+    }
 }
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/message/stream/StreamMessage.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/message/stream/StreamMessage.java	Thu Aug 29 16:18:31 2013 -0700
@@ -30,6 +30,8 @@
 import com.sun.istack.internal.XMLStreamReaderToContentHandler;
 import com.sun.xml.internal.bind.api.Bridge;
 import com.sun.xml.internal.stream.buffer.MutableXMLStreamBuffer;
+import com.sun.xml.internal.stream.buffer.XMLStreamBuffer;
+import com.sun.xml.internal.stream.buffer.XMLStreamBufferMark;
 import com.sun.xml.internal.stream.buffer.stax.StreamReaderBufferCreator;
 import com.sun.xml.internal.ws.api.SOAPVersion;
 import com.sun.xml.internal.ws.api.message.AttachmentSet;
@@ -37,15 +39,20 @@
 import com.sun.xml.internal.ws.api.message.HeaderList;
 import com.sun.xml.internal.ws.api.message.Message;
 import com.sun.xml.internal.ws.api.message.MessageHeaders;
+import com.sun.xml.internal.ws.api.message.StreamingSOAP;
 import com.sun.xml.internal.ws.api.streaming.XMLStreamReaderFactory;
 import com.sun.xml.internal.ws.encoding.TagInfoset;
 import com.sun.xml.internal.ws.message.AbstractMessageImpl;
 import com.sun.xml.internal.ws.message.AttachmentUnmarshallerImpl;
+import com.sun.xml.internal.ws.protocol.soap.VersionMismatchException;
 import com.sun.xml.internal.ws.spi.db.XMLBridge;
 import com.sun.xml.internal.ws.streaming.XMLStreamReaderUtil;
 import com.sun.xml.internal.ws.util.xml.DummyLocation;
 import com.sun.xml.internal.ws.util.xml.StAXSource;
+import com.sun.xml.internal.ws.util.xml.XMLReaderComposite;
 import com.sun.xml.internal.ws.util.xml.XMLStreamReaderToXMLStreamWriter;
+import com.sun.xml.internal.ws.util.xml.XMLReaderComposite.ElemInfo;
+
 import org.xml.sax.ContentHandler;
 import org.xml.sax.ErrorHandler;
 import org.xml.sax.SAXException;
@@ -55,6 +62,7 @@
 import javax.xml.bind.JAXBException;
 import javax.xml.bind.Unmarshaller;
 import javax.xml.stream.*;
+
 import static javax.xml.stream.XMLStreamConstants.START_DOCUMENT;
 import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
 import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
@@ -62,7 +70,9 @@
 import javax.xml.ws.WebServiceException;
 import java.util.ArrayList;
 import java.util.Enumeration;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * {@link Message} implementation backed by {@link XMLStreamReader}.
@@ -70,7 +80,7 @@
  * TODO: we need another message class that keeps {@link XMLStreamReader} that points
  * at the start of the envelope element.
  */
-public class StreamMessage extends AbstractMessageImpl {
+public class StreamMessage extends AbstractMessageImpl implements StreamingSOAP {
     /**
      * The reader will be positioned at
      * the first child of the SOAP body
@@ -93,44 +103,51 @@
      */
     private String bodyEpilogue = null;
 
-    private final String payloadLocalName;
+    private String payloadLocalName;
 
-    private final String payloadNamespaceURI;
-
-    /**
-     * infoset about the SOAP envelope, header, and body.
-     *
-     * <p>
-     * If the creater of this object didn't care about those,
-     * we use stock values.
-     */
-    private @NotNull TagInfoset envelopeTag;
-    private @NotNull TagInfoset headerTag;
-    private @NotNull TagInfoset bodyTag;
+    private String payloadNamespaceURI;
 
     /**
      * Used only for debugging. This records where the message was consumed.
      */
     private Throwable consumedAt;
 
-    /**
-     * Default s:Envelope, s:Header, and s:Body tag infoset definitions.
-     *
-     * We need 3 for SOAP 1.1, 3 for SOAP 1.2.
-     */
-    private static final TagInfoset[] DEFAULT_TAGS;
-
-    static {
-        DEFAULT_TAGS = new TagInfoset[6];
-        create(SOAPVersion.SOAP_11);
-        create(SOAPVersion.SOAP_12);
-    }
+    private XMLStreamReader envelopeReader;
 
     public StreamMessage(SOAPVersion v) {
         super(v);
         payloadLocalName = null;
         payloadNamespaceURI = null;
     }
+
+    public StreamMessage(SOAPVersion v, @NotNull XMLStreamReader envelope, @NotNull AttachmentSet attachments) {
+        super(v);
+        envelopeReader = envelope;
+        attachmentSet = attachments;
+    }
+
+    public XMLStreamReader readEnvelope() {
+        if (envelopeReader == null) {
+            List<XMLStreamReader> hReaders = new java.util.ArrayList<XMLStreamReader>();
+            ElemInfo envElem =  new ElemInfo(envelopeTag, null);
+            ElemInfo hdrElem =  (headerTag != null) ? new ElemInfo(headerTag, envElem) : null;
+            ElemInfo bdyElem =  new ElemInfo(bodyTag,   envElem);
+            for (Header h : getHeaders().asList()) {
+                try {
+                    hReaders.add(h.readHeader());
+                } catch (XMLStreamException e) {
+                    throw new RuntimeException(e);
+                }
+            }
+            XMLStreamReader soapHeader = (hdrElem != null) ? new XMLReaderComposite(hdrElem, hReaders.toArray(new XMLStreamReader[hReaders.size()])) : null;
+            XMLStreamReader[] payload = {readPayload()};
+            XMLStreamReader soapBody = new XMLReaderComposite(bdyElem, payload);
+            XMLStreamReader[] soapContent = (soapHeader != null) ? new XMLStreamReader[]{soapHeader, soapBody} : new XMLStreamReader[]{soapBody};
+            return new XMLReaderComposite(envElem, soapContent);
+        }
+        return envelopeReader;
+    }
+
     /**
      * Creates a {@link StreamMessage} from a {@link XMLStreamReader}
      * that points at the start element of the payload, and headers.
@@ -147,6 +164,10 @@
      */
     public StreamMessage(@Nullable MessageHeaders headers, @NotNull AttachmentSet attachmentSet, @NotNull XMLStreamReader reader, @NotNull SOAPVersion soapVersion) {
         super(soapVersion);
+        init(headers, attachmentSet, reader, soapVersion);
+    }
+
+    private void init(@Nullable MessageHeaders headers, @NotNull AttachmentSet attachmentSet, @NotNull XMLStreamReader reader, @NotNull SOAPVersion soapVersion) {
         this.headers = headers;
         this.attachmentSet = attachmentSet;
         this.reader = reader;
@@ -175,9 +196,9 @@
 
         // use the default infoset representation for headers
         int base = soapVersion.ordinal()*3;
-        this.envelopeTag = DEFAULT_TAGS[base];
-        this.headerTag = DEFAULT_TAGS[base+1];
-        this.bodyTag = DEFAULT_TAGS[base+2];
+        this.envelopeTag = DEFAULT_TAGS.get(base);
+        this.headerTag = DEFAULT_TAGS.get(base+1);
+        this.bodyTag = DEFAULT_TAGS.get(base+2);
     }
 
     /**
@@ -197,7 +218,12 @@
     }
 
     public StreamMessage(@NotNull TagInfoset envelopeTag, @Nullable TagInfoset headerTag, @NotNull AttachmentSet attachmentSet, @Nullable MessageHeaders headers, @Nullable String bodyPrologue, @NotNull TagInfoset bodyTag, @Nullable String bodyEpilogue, @NotNull XMLStreamReader reader, @NotNull SOAPVersion soapVersion) {
-        this(headers,attachmentSet,reader,soapVersion);
+        super(soapVersion);
+        init(envelopeTag, headerTag, attachmentSet, headers, bodyPrologue, bodyTag, bodyEpilogue, reader, soapVersion);
+    }
+
+    private void init(@NotNull TagInfoset envelopeTag, @Nullable TagInfoset headerTag, @NotNull AttachmentSet attachmentSet, @Nullable MessageHeaders headers, @Nullable String bodyPrologue, @NotNull TagInfoset bodyTag, @Nullable String bodyEpilogue, @NotNull XMLStreamReader reader, @NotNull SOAPVersion soapVersion) {
+        init(headers,attachmentSet,reader,soapVersion);
         if(envelopeTag == null ) {
             throw new IllegalArgumentException("EnvelopeTag TagInfoset cannot be null");
         }
@@ -212,10 +238,12 @@
     }
 
     public boolean hasHeaders() {
+        if ( envelopeReader != null ) readEnvelope(this);
         return headers!=null && headers.hasHeaders();
     }
 
     public MessageHeaders getHeaders() {
+        if ( envelopeReader != null ) readEnvelope(this);
         if (headers == null) {
             headers = new HeaderList(getSOAPVersion());
         }
@@ -223,14 +251,17 @@
     }
 
     public String getPayloadLocalPart() {
+        if ( envelopeReader != null ) readEnvelope(this);
         return payloadLocalName;
     }
 
     public String getPayloadNamespaceURI() {
+        if ( envelopeReader != null ) readEnvelope(this);
         return payloadNamespaceURI;
     }
 
     public boolean hasPayload() {
+        if ( envelopeReader != null ) readEnvelope(this);
         return payloadLocalName!=null;
     }
 
@@ -329,6 +360,7 @@
     }
 
     public void writePayloadTo(XMLStreamWriter writer)throws XMLStreamException {
+        if ( envelopeReader != null ) readEnvelope(this);
         assert unconsumed();
 
         if(payloadLocalName==null) {
@@ -379,6 +411,7 @@
     }
 
     public void writeTo(XMLStreamWriter sw) throws XMLStreamException{
+        if ( envelopeReader != null ) readEnvelope(this);
         writeEnvelope(sw);
     }
 
@@ -387,6 +420,7 @@
      * @param writer
      */
     private void writeEnvelope(XMLStreamWriter writer) throws XMLStreamException {
+        if ( envelopeReader != null ) readEnvelope(this);
         writer.writeStartDocument();
         envelopeTag.writeStart(writer);
 
@@ -411,6 +445,7 @@
     }
 
     public void writePayloadTo(ContentHandler contentHandler, ErrorHandler errorHandler, boolean fragment) throws SAXException {
+        if ( envelopeReader != null ) readEnvelope(this);
         assert unconsumed();
 
         try {
@@ -465,8 +500,10 @@
         }
     }
 
-    // TODO: this method should be probably rewritten to respect spaces between eelements; is it used at all?
+    // TODO: this method should be probably rewritten to respect spaces between elements; is it used at all?
+    @Override
     public Message copy() {
+        if ( envelopeReader != null ) readEnvelope(this);
         try {
             assert unconsumed();
             consumedAt = null; // but we don't want to mark it as consumed
@@ -528,6 +565,7 @@
     }
 
     public void writeTo(ContentHandler contentHandler, ErrorHandler errorHandler ) throws SAXException {
+        if ( envelopeReader != null ) readEnvelope(this);
         contentHandler.setDocumentLocator(NULL_LOCATOR);
         contentHandler.startDocument();
         envelopeTag.writeStart(contentHandler);
@@ -570,23 +608,159 @@
         return true;
     }
 
-    private static void create(SOAPVersion v) {
-        int base = v.ordinal()*3;
-        DEFAULT_TAGS[base  ] = new TagInfoset(v.nsUri,"Envelope","S",EMPTY_ATTS,"S",v.nsUri);
-        DEFAULT_TAGS[base+1] = new TagInfoset(v.nsUri,"Header","S",EMPTY_ATTS);
-        DEFAULT_TAGS[base+2] = new TagInfoset(v.nsUri,"Body","S",EMPTY_ATTS);
-    }
-
     public String getBodyPrologue() {
+        if ( envelopeReader != null ) readEnvelope(this);
         return bodyPrologue;
     }
 
     public String getBodyEpilogue() {
+        if ( envelopeReader != null ) readEnvelope(this);
         return bodyEpilogue;
     }
 
     public XMLStreamReader getReader() {
+        if ( envelopeReader != null ) readEnvelope(this);
         assert unconsumed();
         return reader;
     }
+
+
+    private static final String SOAP_ENVELOPE = "Envelope";
+    private static final String SOAP_HEADER = "Header";
+    private static final String SOAP_BODY = "Body";
+
+    protected interface StreamHeaderDecoder {
+        public Header decodeHeader(XMLStreamReader reader, XMLStreamBuffer mark);
+    }
+
+    static final StreamHeaderDecoder SOAP12StreamHeaderDecoder = new StreamHeaderDecoder() {
+        @Override
+        public Header decodeHeader(XMLStreamReader reader, XMLStreamBuffer mark) {
+            return new StreamHeader12(reader, mark);
+        }
+    };
+
+    static final StreamHeaderDecoder SOAP11StreamHeaderDecoder = new StreamHeaderDecoder() {
+        @Override
+        public Header decodeHeader(XMLStreamReader reader, XMLStreamBuffer mark) {
+            return new StreamHeader11(reader, mark);
+        }
+    };
+
+    static private void readEnvelope(StreamMessage message) {
+        if ( message.envelopeReader == null ) return;
+        XMLStreamReader reader = message.envelopeReader;
+        message.envelopeReader = null;
+        SOAPVersion soapVersion = message.soapVersion;
+        // Move to soap:Envelope and verify
+        if(reader.getEventType()!=XMLStreamConstants.START_ELEMENT)
+            XMLStreamReaderUtil.nextElementContent(reader);
+        XMLStreamReaderUtil.verifyReaderState(reader,XMLStreamConstants.START_ELEMENT);
+        if (SOAP_ENVELOPE.equals(reader.getLocalName()) && !soapVersion.nsUri.equals(reader.getNamespaceURI())) {
+            throw new VersionMismatchException(soapVersion, soapVersion.nsUri, reader.getNamespaceURI());
+        }
+        XMLStreamReaderUtil.verifyTag(reader, soapVersion.nsUri, SOAP_ENVELOPE);
+
+        TagInfoset envelopeTag = new TagInfoset(reader);
+
+        // Collect namespaces on soap:Envelope
+        Map<String,String> namespaces = new HashMap<String,String>();
+        for(int i=0; i< reader.getNamespaceCount();i++){
+                namespaces.put(reader.getNamespacePrefix(i), reader.getNamespaceURI(i));
+        }
+
+        // Move to next element
+        XMLStreamReaderUtil.nextElementContent(reader);
+        XMLStreamReaderUtil.verifyReaderState(reader,
+                javax.xml.stream.XMLStreamConstants.START_ELEMENT);
+
+        HeaderList headers = null;
+        TagInfoset headerTag = null;
+
+        if (reader.getLocalName().equals(SOAP_HEADER)
+                && reader.getNamespaceURI().equals(soapVersion.nsUri)) {
+            headerTag = new TagInfoset(reader);
+
+            // Collect namespaces on soap:Header
+            for(int i=0; i< reader.getNamespaceCount();i++){
+                namespaces.put(reader.getNamespacePrefix(i), reader.getNamespaceURI(i));
+            }
+            // skip <soap:Header>
+            XMLStreamReaderUtil.nextElementContent(reader);
+
+            // If SOAP header blocks are present (i.e. not <soap:Header/>)
+            if (reader.getEventType() == XMLStreamConstants.START_ELEMENT) {
+                headers = new HeaderList(soapVersion);
+
+                try {
+                    // Cache SOAP header blocks
+                    StreamHeaderDecoder headerDecoder = SOAPVersion.SOAP_11.equals(soapVersion) ? SOAP11StreamHeaderDecoder : SOAP12StreamHeaderDecoder;
+                    cacheHeaders(reader, namespaces, headers, headerDecoder);
+                } catch (XMLStreamException e) {
+                    // TODO need to throw more meaningful exception
+                    throw new WebServiceException(e);
+                }
+            }
+
+            // Move to soap:Body
+            XMLStreamReaderUtil.nextElementContent(reader);
+        }
+
+        // Verify that <soap:Body> is present
+        XMLStreamReaderUtil.verifyTag(reader, soapVersion.nsUri, SOAP_BODY);
+        TagInfoset bodyTag = new TagInfoset(reader);
+
+        String bodyPrologue = XMLStreamReaderUtil.nextWhiteSpaceContent(reader);
+        message.init(envelopeTag,headerTag,message.attachmentSet,headers,bodyPrologue,bodyTag,null,reader,soapVersion);
+        // when there's no payload,
+        // it's tempting to use EmptyMessageImpl, but it doesn't preserve the infoset
+        // of <envelope>,<header>, and <body>, so we need to stick to StreamMessage.
+    }
+
+
+    private static XMLStreamBuffer cacheHeaders(XMLStreamReader reader,
+            Map<String, String> namespaces, HeaderList headers,
+            StreamHeaderDecoder headerDecoder) throws XMLStreamException {
+        MutableXMLStreamBuffer buffer = createXMLStreamBuffer();
+        StreamReaderBufferCreator creator = new StreamReaderBufferCreator();
+        creator.setXMLStreamBuffer(buffer);
+
+        // Reader is positioned at the first header block
+        while(reader.getEventType() == javax.xml.stream.XMLStreamConstants.START_ELEMENT) {
+            Map<String,String> headerBlockNamespaces = namespaces;
+
+            // Collect namespaces on SOAP header block
+            if (reader.getNamespaceCount() > 0) {
+                headerBlockNamespaces = new HashMap<String,String>(namespaces);
+                for (int i = 0; i < reader.getNamespaceCount(); i++) {
+                    headerBlockNamespaces.put(reader.getNamespacePrefix(i), reader.getNamespaceURI(i));
+                }
+            }
+
+            // Mark
+            XMLStreamBuffer mark = new XMLStreamBufferMark(headerBlockNamespaces, creator);
+            // Create Header
+            headers.add(headerDecoder.decodeHeader(reader, mark));
+
+
+            // Cache the header block
+            // After caching Reader will be positioned at next header block or
+            // the end of the </soap:header>
+            creator.createElementFragment(reader, false);
+            if (reader.getEventType() != XMLStreamConstants.START_ELEMENT &&
+                    reader.getEventType() != XMLStreamConstants.END_ELEMENT) {
+                XMLStreamReaderUtil.nextElementContent(reader);
+            }
+        }
+
+        return buffer;
+    }
+
+    private static MutableXMLStreamBuffer createXMLStreamBuffer() {
+        // TODO: Decode should own one MutableXMLStreamBuffer for reuse
+        // since it is more efficient. ISSUE: possible issue with
+        // lifetime of information in the buffer if accessed beyond
+        // the pipe line.
+        return new MutableXMLStreamBuffer();
+    }
 }
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/resources/StreamingMessages.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/resources/StreamingMessages.java	Thu Aug 29 16:18:31 2013 -0700
@@ -99,6 +99,18 @@
         return localizer.localize(localizableXMLREADER_UNEXPECTED_STATE(arg0, arg1));
     }
 
+    public static Localizable localizableWOODSTOX_CANT_LOAD(Object arg0) {
+        return messageFactory.getMessage("woodstox.cant.load", arg0);
+    }
+
+    /**
+     * Unable to load Woodstox class {0}
+     *
+     */
+    public static String WOODSTOX_CANT_LOAD(Object arg0) {
+        return localizer.localize(localizableWOODSTOX_CANT_LOAD(arg0));
+    }
+
     public static Localizable localizableXMLREADER_IO_EXCEPTION(Object arg0) {
         return messageFactory.getMessage("xmlreader.ioException", arg0);
     }
@@ -123,6 +135,18 @@
         return localizer.localize(localizableFASTINFOSET_NO_IMPLEMENTATION());
     }
 
+    public static Localizable localizableINVALID_PROPERTY_VALUE_INTEGER(Object arg0, Object arg1, Object arg2) {
+        return messageFactory.getMessage("invalid.property.value.integer", arg0, arg1, arg2);
+    }
+
+    /**
+     * Ignoring system property "{0}" as value "{1}" is invalid, property value must be a valid integer. Using default value "{2}".
+     *
+     */
+    public static String INVALID_PROPERTY_VALUE_INTEGER(Object arg0, Object arg1, Object arg2) {
+        return localizer.localize(localizableINVALID_PROPERTY_VALUE_INTEGER(arg0, arg1, arg2));
+    }
+
     public static Localizable localizableXMLWRITER_IO_EXCEPTION(Object arg0) {
         return messageFactory.getMessage("xmlwriter.ioException", arg0);
     }
@@ -183,6 +207,18 @@
         return localizer.localize(localizableXMLREADER_NESTED_ERROR(arg0));
     }
 
+    public static Localizable localizableINVALID_PROPERTY_VALUE_LONG(Object arg0, Object arg1, Object arg2) {
+        return messageFactory.getMessage("invalid.property.value.long", arg0, arg1, arg2);
+    }
+
+    /**
+     * Ignoring system property "{0}" as value "{1}" is invalid, property value must be a valid long. Using default value "{2}".
+     *
+     */
+    public static String INVALID_PROPERTY_VALUE_LONG(Object arg0, Object arg1, Object arg2) {
+        return localizer.localize(localizableINVALID_PROPERTY_VALUE_LONG(arg0, arg1, arg2));
+    }
+
     public static Localizable localizableSTAXREADER_XMLSTREAMEXCEPTION(Object arg0) {
         return messageFactory.getMessage("staxreader.xmlstreamexception", arg0);
     }
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/resources/streaming.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/resources/streaming.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -48,3 +48,8 @@
 fastinfoset.noImplementation=Unable to locate compatible implementation of Fast Infoset in classpath
 
 sourcereader.invalidSource=Unable to create reader from source \"{0}\"
+
+woodstox.cant.load=Unable to load Woodstox class {0}
+
+invalid.property.value.integer=Ignoring system property \"{0}\" as value \"{1}\" is invalid, property value must be a valid integer. Using default value \"{2}\".
+invalid.property.value.long=Ignoring system property \"{0}\" as value \"{1}\" is invalid, property value must be a valid long. Using default value \"{2}\".
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/server/SDDocumentImpl.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/server/SDDocumentImpl.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -66,7 +66,7 @@
     private static final QName SCHEMA_IMPORT_QNAME = new QName(NS_XSD, "import");
     private static final QName SCHEMA_REDEFINE_QNAME = new QName(NS_XSD, "redefine");
     private static final String VERSION_COMMENT =
-        " Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is "+RuntimeVersion.VERSION+". ";
+        " Published by JAX-WS RI (http://jax-ws.java.net). RI's version is "+RuntimeVersion.VERSION+". ";
 
     private final QName rootName;
     private final SDDocumentSource source;
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/BindingContext.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/BindingContext.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,13 +36,9 @@
 import javax.xml.bind.Unmarshaller;
 import javax.xml.bind.annotation.XmlAttachmentRef;
 import javax.xml.namespace.QName;
-import javax.xml.transform.Result;
 
 import com.sun.istack.internal.NotNull;
 import com.sun.istack.internal.Nullable;
-//import com.sun.xml.internal.bind.api.BridgeContext;
-//import com.sun.xml.internal.bind.v2.model.annotation.RuntimeAnnotationReader;
-//import com.sun.xml.internal.bind.v2.model.runtime.RuntimeTypeInfoSet;
 
 /**
  * {@link JAXBContext} enhanced with JAXB RI specific functionalities.
@@ -222,32 +218,6 @@
     public abstract @NotNull String getBuildId();
 
     /**
-     * Generates the episode file that represents the binding known to this {@link JAXBContext},
-     * so that XJC can later do separate compilation.
-     *
-     * <p>
-     * Episode file is really just a JAXB customization file, except that currently
-     * we use the RI-specific SCD to refer to schema components.
-     *
-     * @param output
-     *      This receives the generated episode file.
-     *
-     * @since 2.1
-     */
-//    public abstract void generateEpisode(Result output);
-
-    /**
-     * Allows you to access the runtime model information of the JAXB XML/Java binding.
-     *
-     * <p>
-     * This is useful for doing a deeper integration with the JAXB RI.
-     * For more information about the model, see https://jaxb2-reflection.dev.java.net/
-     *
-     * @since 2.1.10
-     */
-//    public abstract RuntimeTypeInfoSet getRuntimeTypeInfoSet();
-
-    /**
      * The property that you can specify to {@link JAXBContext#newInstance}
      * to reassign the default namespace URI to something else at the runtime.
      *
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/util/pipe/AbstractSchemaValidationTube.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/util/pipe/AbstractSchemaValidationTube.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -72,6 +72,8 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import static com.sun.xml.internal.ws.util.xml.XmlUtil.allowFileAccess;
+
 /**
  * {@link Tube} that does the schema validation.
  *
@@ -90,7 +92,7 @@
         super(next);
         this.binding = binding;
         feature = binding.getFeature(SchemaValidationFeature.class);
-        sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
+        sf = allowFileAccess(SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI), false);
     }
 
     protected AbstractSchemaValidationTube(AbstractSchemaValidationTube that, TubeCloner cloner) {
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/util/resources/Messages_en.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/util/resources/Messages_en.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -274,7 +274,7 @@
 V-030 = Attribute value "{0}" does not name a notation
 V-031 = Attribute value "{0}" does not name an unparsed entity
 V-032 = NMTOKENS attributes must have at least one value
-# Empty content model is a special type of XML element. I?d leave the message in English as is (also libraries from outside of Oracle use this exact message) but the word EMPTY can be translated.
+# Empty content model is a special type of XML element. I�d leave the message in English as is (also libraries from outside of Oracle use this exact message) but the word EMPTY can be translated.
 V-033 = Empty content models must have no content
 # Usage not found. TODO Remove
 #V-034 = Element "{0}" does not allow "{1}" -- {2}
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/util/version.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/util/version.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,7 +23,7 @@
 # questions.
 #
 
-build-id=2.2.9-b14027
-build-version=JAX-WS RI 2.2.9-b14027
+build-id=2.2.9-b14140
+build-version=JAX-WS RI 2.2.9-b14140
 major-version=2.2.9
-svn-revision=14027
+svn-revision=14140
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/NamespaceContextExAdaper.java	Thu Aug 29 16:18:31 2013 -0700
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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 General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.xml.internal.ws.util.xml;
+
+import java.util.Iterator;
+
+import javax.xml.namespace.NamespaceContext;
+
+import com.sun.xml.internal.org.jvnet.staxex.NamespaceContextEx;
+
+public class NamespaceContextExAdaper implements NamespaceContextEx {
+
+    private final NamespaceContext nsContext;
+
+    public NamespaceContextExAdaper(NamespaceContext nsContext) {
+        this.nsContext = nsContext;
+    }
+
+    @Override //Who wants this?
+    public Iterator<Binding> iterator() {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public String getNamespaceURI(String prefix) {
+        return nsContext.getNamespaceURI(prefix);
+    }
+
+    @Override
+    public String getPrefix(String namespaceURI) {
+        return nsContext.getPrefix(namespaceURI);
+    }
+
+    @Override
+    public Iterator getPrefixes(String namespaceURI) {
+        return nsContext.getPrefixes(namespaceURI);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/XMLReaderComposite.java	Thu Aug 29 16:18:31 2013 -0700
@@ -0,0 +1,662 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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 General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.xml.internal.ws.util.xml;
+
+import java.util.Iterator;
+import java.util.List;
+
+import javax.xml.namespace.NamespaceContext;
+import javax.xml.namespace.QName;
+import javax.xml.stream.Location;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+
+import com.sun.xml.internal.org.jvnet.staxex.NamespaceContextEx;
+import com.sun.xml.internal.org.jvnet.staxex.XMLStreamReaderEx;
+
+import com.sun.xml.internal.ws.encoding.TagInfoset;
+
+/**
+ * XMLReaderComposite
+ *
+ * @author shih-chang.chen@oracle.com
+ */
+public class XMLReaderComposite implements XMLStreamReaderEx {
+
+    static public enum State { StartTag, Payload, EndTag }
+
+    protected State state = State.StartTag;
+    protected ElemInfo elemInfo;
+    protected TagInfoset tagInfo;
+    protected XMLStreamReader[] children;
+    protected int payloadIndex = -1;
+    protected XMLStreamReader payloadReader;
+
+    static public class ElemInfo implements NamespaceContext {
+        ElemInfo ancestor;
+        TagInfoset tagInfo;
+        public ElemInfo(TagInfoset tag, ElemInfo parent) { tagInfo = tag; ancestor = parent; }
+        public String getNamespaceURI(String prefix) {
+            String n = tagInfo.getNamespaceURI(prefix);
+            return (n != null) ? n : (ancestor != null) ?  ancestor.getNamespaceURI(prefix) : null;
+        }
+        public String getPrefix(String uri) {
+            String p = tagInfo.getPrefix(uri);
+            return (p != null) ? p : (ancestor != null) ?  ancestor.getPrefix(uri) : null;
+        }
+        //Who wants this?
+        public List<String> allPrefixes(String namespaceURI) {
+            List<String> l = tagInfo.allPrefixes(namespaceURI);
+            if (ancestor != null) {
+                List<String> p = ancestor.allPrefixes(namespaceURI);
+                p.addAll(l);
+                return p;
+            }
+            return l;
+        }
+        public Iterator<String> getPrefixes(String namespaceURI) {
+            return allPrefixes(namespaceURI).iterator();
+        }
+    }
+
+    public XMLReaderComposite(final ElemInfo elem, XMLStreamReader[] wrapees) {
+        elemInfo = elem;
+        tagInfo = elem.tagInfo;
+        children = wrapees;
+        if (children != null && children.length > 0) {
+            payloadIndex = 0;
+            payloadReader = children[payloadIndex];
+        }
+    }
+
+
+    @Override
+    public int next() throws XMLStreamException {
+        switch (state) {
+        case StartTag:
+            if (payloadReader != null) {
+                state = State.Payload;
+                return payloadReader.getEventType();
+            } else {
+                state = State.EndTag;
+                return XMLStreamReader.END_ELEMENT;
+            }
+        case EndTag: return XMLStreamReader.END_DOCUMENT;
+        case Payload:
+        default:
+            int next = XMLStreamReader.END_DOCUMENT;
+            if (payloadReader != null && payloadReader.hasNext()) {
+                next = payloadReader.next();
+            }
+            if (next != XMLStreamReader.END_DOCUMENT) return next;
+            else {
+                if (payloadIndex+1 < children.length ) {
+                    payloadIndex++;
+                    payloadReader = children[payloadIndex];
+                    return payloadReader.getEventType();
+                } else {
+                    state = State.EndTag;
+                    return XMLStreamReader.END_ELEMENT;
+                }
+            }
+        }
+    }
+
+    @Override
+    public boolean hasNext() throws XMLStreamException {
+        switch (state) {
+        case EndTag: return false;
+        case StartTag:
+        case Payload:
+        default: return true;
+        }
+    }
+
+    @Override
+    public String getElementText() throws XMLStreamException {
+        switch (state) {
+        case StartTag:
+            if (payloadReader.isCharacters()) return payloadReader.getText();
+            return "";
+        case Payload:
+        default:
+            return payloadReader.getElementText();
+        }
+    }
+
+    @Override
+    public int nextTag() throws XMLStreamException {
+        int e = next();
+        if (e == XMLStreamReader.END_DOCUMENT) return e;
+        while (e != XMLStreamReader.END_DOCUMENT) {
+            if (e == XMLStreamReader.START_ELEMENT) return e;
+            if (e == XMLStreamReader.END_ELEMENT) return e;
+            e = next();
+        }
+        return e;
+    }
+
+    @Override
+    public Object getProperty(String name) throws IllegalArgumentException {
+        return (payloadReader != null) ? payloadReader.getProperty(name) : null;
+    }
+
+    @Override
+    public void require(int type, String namespaceURI, String localName) throws XMLStreamException {
+        if (payloadReader!=null) payloadReader.require(type, namespaceURI, localName);
+    }
+
+    @Override
+    public void close() throws XMLStreamException {
+        if (payloadReader!=null) payloadReader.close();
+    }
+
+    @Override
+    public String getNamespaceURI(String prefix) {
+        switch (state) {
+        case StartTag:
+        case EndTag:
+            return elemInfo.getNamespaceURI(prefix);
+        case Payload:
+        default:
+            return payloadReader.getNamespaceURI(prefix);
+        }
+    }
+
+    @Override
+    public boolean isStartElement() {
+        switch (state) {
+        case StartTag: return true;
+        case EndTag: return false;
+        case Payload:
+        default:
+            return payloadReader.isStartElement();
+        }
+    }
+
+    @Override
+    public boolean isEndElement() {
+        switch (state) {
+        case StartTag: return false;
+        case EndTag: return true;
+        case Payload:
+        default:
+            return payloadReader.isEndElement();
+        }
+    }
+
+    @Override
+    public boolean isCharacters() {
+        switch (state) {
+        case StartTag:
+        case EndTag: return false;
+        case Payload:
+        default:
+            return payloadReader.isCharacters();
+        }
+    }
+
+    @Override
+    public boolean isWhiteSpace() {
+        switch (state) {
+        case StartTag:
+        case EndTag: return false;
+        case Payload:
+        default:
+            return payloadReader.isWhiteSpace();
+        }
+    }
+
+    @Override
+    public String getAttributeValue(String uri, String localName) {
+        switch (state) {
+        case StartTag:
+        case EndTag: return tagInfo.atts.getValue(uri, localName);
+        case Payload:
+        default:
+            return payloadReader.getAttributeValue(uri, localName);
+        }
+    }
+
+    @Override
+    public int getAttributeCount() {
+        switch (state) {
+        case StartTag:
+        case EndTag: return tagInfo.atts.getLength();
+        case Payload:
+        default:
+            return payloadReader.getAttributeCount();
+        }
+    }
+
+    @Override
+    public QName getAttributeName(int i) {
+        switch (state) {
+        case StartTag:
+        case EndTag: return new QName(tagInfo.atts.getURI(i),tagInfo.atts.getLocalName(i),getPrfix(tagInfo.atts.getQName(i)));
+        case Payload:
+        default:
+            return payloadReader.getAttributeName(i);
+        }
+    }
+
+    @Override
+    public String getAttributeNamespace(int index) {
+        switch (state) {
+        case StartTag:
+        case EndTag: return tagInfo.atts.getURI(index);
+        case Payload:
+        default:
+            return payloadReader.getAttributeNamespace(index);
+        }
+    }
+
+    @Override
+    public String getAttributeLocalName(int index) {
+        switch (state) {
+        case StartTag:
+        case EndTag: return tagInfo.atts.getLocalName(index);
+        case Payload:
+        default:
+            return payloadReader.getAttributeLocalName(index);
+        }
+    }
+
+    @Override
+    public String getAttributePrefix(int index) {
+        switch (state) {
+        case StartTag:
+        case EndTag: return getPrfix(tagInfo.atts.getQName(index));
+        case Payload:
+        default:
+            return payloadReader.getAttributePrefix(index);
+        }
+    }
+
+    static private String getPrfix(String qName) {
+        if (qName == null) return null;
+        int i = qName.indexOf(":");
+        return (i > 0)? qName.substring(0, i) : "";
+    }
+
+
+    @Override
+    public String getAttributeType(int index) {
+        switch (state) {
+        case StartTag:
+        case EndTag: return tagInfo.atts.getType(index);
+        case Payload:
+        default:
+            return payloadReader.getAttributeType(index);
+        }
+    }
+
+    @Override
+    public String getAttributeValue(int index) {
+        switch (state) {
+        case StartTag:
+        case EndTag: return tagInfo.atts.getValue(index);
+        case Payload:
+        default:
+            return payloadReader.getAttributeValue(index);
+        }
+    }
+
+    @Override
+    public boolean isAttributeSpecified(int index) {
+        switch (state) {
+        case StartTag:
+        case EndTag: return (index < tagInfo.atts.getLength()) ? tagInfo.atts.getLocalName(index) != null : false;
+        case Payload:
+        default:
+            return payloadReader.isAttributeSpecified(index);
+        }
+    }
+
+    @Override
+    public int getNamespaceCount() {
+        switch (state) {
+        case StartTag:
+        case EndTag: return (tagInfo.ns.length/2);
+        case Payload:
+        default:
+            return payloadReader.getNamespaceCount();
+        }
+    }
+
+    @Override
+    public String getNamespacePrefix(int index) {
+        switch (state) {
+        case StartTag:
+        case EndTag: return tagInfo.ns[2*index];
+        case Payload:
+        default:
+            return payloadReader.getNamespacePrefix(index);
+        }
+    }
+
+    @Override
+    public String getNamespaceURI(int index) {
+        switch (state) {
+        case StartTag:
+        case EndTag: return tagInfo.ns[2*index+1];
+        case Payload:
+        default:
+            return payloadReader.getNamespaceURI(index);
+        }
+    }
+
+    @Override
+    public NamespaceContextEx getNamespaceContext() {
+        switch (state) {
+        case StartTag:
+        case EndTag: return new NamespaceContextExAdaper(elemInfo);
+        case Payload:
+        default:
+            return isPayloadReaderEx()?
+                   payloadReaderEx().getNamespaceContext() :
+                   new NamespaceContextExAdaper(payloadReader.getNamespaceContext());
+        }
+    }
+
+    private boolean isPayloadReaderEx() { return (payloadReader instanceof XMLStreamReaderEx); }
+
+    private XMLStreamReaderEx payloadReaderEx() { return (XMLStreamReaderEx)payloadReader; }
+
+    @Override
+    public int getEventType() {
+        switch (state) {
+        case StartTag: return XMLStreamReader.START_ELEMENT;
+        case EndTag: return XMLStreamReader.END_ELEMENT;
+        case Payload:
+        default:
+            return payloadReader.getEventType();
+        }
+    }
+
+    @Override
+    public String getText() {
+        switch (state) {
+        case StartTag:
+        case EndTag: return null;
+        case Payload:
+        default:
+            return payloadReader.getText();
+        }
+    }
+
+    @Override
+    public char[] getTextCharacters() {
+        switch (state) {
+        case StartTag:
+        case EndTag: return null;
+        case Payload:
+        default:
+            return payloadReader.getTextCharacters();
+        }
+    }
+
+    @Override
+    public int getTextCharacters(int sourceStart, char[] target, int targetStart, int length) throws XMLStreamException {
+        switch (state) {
+        case StartTag:
+        case EndTag: return -1;
+        case Payload:
+        default:
+            return payloadReader.getTextCharacters(sourceStart, target, targetStart, length);
+        }
+    }
+
+    @Override
+    public int getTextStart() {
+        switch (state) {
+        case StartTag:
+        case EndTag: return 0;
+        case Payload:
+        default:
+            return payloadReader.getTextStart();
+        }
+    }
+
+    @Override
+    public int getTextLength() {
+        switch (state) {
+        case StartTag:
+        case EndTag: return 0;
+        case Payload:
+        default:
+            return payloadReader.getTextLength();
+        }
+    }
+
+    @Override
+    public String getEncoding() {
+        switch (state) {
+        case StartTag:
+        case EndTag: return null;
+        case Payload:
+        default:
+            return payloadReader.getEncoding();
+        }
+    }
+
+    @Override
+    public boolean hasText() {
+        switch (state) {
+        case StartTag:
+        case EndTag: return false;
+        case Payload:
+        default:
+            return payloadReader.hasText();
+        }
+    }
+
+    @Override
+    public Location getLocation() {
+        switch (state) {
+        case StartTag:
+        case EndTag: return new Location() {
+
+            @Override
+            public int getLineNumber() {
+                // TODO Auto-generated method stub
+                return 0;
+            }
+
+            @Override
+            public int getColumnNumber() {
+                // TODO Auto-generated method stub
+                return 0;
+            }
+
+            @Override
+            public int getCharacterOffset() {
+                // TODO Auto-generated method stub
+                return 0;
+            }
+
+            @Override
+            public String getPublicId() {
+                // TODO Auto-generated method stub
+                return null;
+            }
+
+            @Override
+            public String getSystemId() {
+                // TODO Auto-generated method stub
+                return null;
+            }
+
+        };
+        case Payload:
+        default:
+            return payloadReader.getLocation();
+        }
+    }
+
+    @Override
+    public QName getName() {
+        switch (state) {
+        case StartTag:
+        case EndTag: return new QName(tagInfo.nsUri, tagInfo.localName, tagInfo.prefix);
+        case Payload:
+        default:
+            return payloadReader.getName();
+        }
+    }
+
+    @Override
+    public String getLocalName() {
+        switch (state) {
+        case StartTag:
+        case EndTag: return tagInfo.localName;
+        case Payload:
+        default:
+            return payloadReader.getLocalName();
+        }
+    }
+
+    @Override
+    public boolean hasName() {
+        switch (state) {
+        case StartTag:
+        case EndTag: return true;
+        case Payload:
+        default:
+            return payloadReader.hasName();
+        }
+    }
+
+    @Override
+    public String getNamespaceURI() {
+        switch (state) {
+        case StartTag:
+        case EndTag: return tagInfo.nsUri;
+        case Payload:
+        default:
+            return payloadReader.getNamespaceURI();
+        }
+    }
+
+    @Override
+    public String getPrefix() {
+        switch (state) {
+        case StartTag:
+        case EndTag: return tagInfo.prefix;
+        case Payload:
+        default:
+            return payloadReader.getPrefix();
+        }
+    }
+
+    @Override
+    public String getVersion() {
+        switch (state) {
+        case StartTag:
+        case EndTag: return null;
+        case Payload:
+        default:
+            return payloadReader.getVersion();
+        }
+    }
+
+    @Override
+    public boolean isStandalone() {
+        switch (state) {
+        case StartTag:
+        case EndTag: return true;
+        case Payload:
+        default:
+            return payloadReader.isStandalone();
+        }
+    }
+
+    @Override
+    public boolean standaloneSet() {
+        switch (state) {
+        case StartTag:
+        case EndTag: return true;
+        case Payload:
+        default:
+            return payloadReader.standaloneSet();
+        }
+    }
+
+    @Override
+    public String getCharacterEncodingScheme() {
+        switch (state) {
+        case StartTag:
+        case EndTag: return null;
+        case Payload:
+        default:
+            return payloadReader.getCharacterEncodingScheme();
+        }
+    }
+
+    @Override
+    public String getPITarget() {
+        switch (state) {
+        case StartTag:
+        case EndTag: return null;
+        case Payload:
+        default:
+            return payloadReader.getPITarget();
+        }
+    }
+
+    @Override
+    public String getPIData() {
+        switch (state) {
+        case StartTag:
+        case EndTag: return null;
+        case Payload:
+        default:
+            return payloadReader.getPIData();
+        }
+    }
+
+    @Override
+    public String getElementTextTrim() throws XMLStreamException {
+        switch (state) {
+        case StartTag:
+        case EndTag: return null;
+        case Payload:
+        default:
+            return isPayloadReaderEx()? payloadReaderEx().getElementTextTrim() : payloadReader.getElementText().trim();
+        }
+    }
+
+    @Override
+    public CharSequence getPCDATA() throws XMLStreamException {
+        switch (state) {
+        case StartTag:
+        case EndTag: return null;
+        case Payload:
+        default:
+            return isPayloadReaderEx()? payloadReaderEx().getPCDATA() : payloadReader.getElementText();
+        }
+    }
+}
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/XmlUtil.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/XmlUtil.java	Thu Aug 29 16:18:31 2013 -0700
@@ -54,6 +54,7 @@
 import javax.xml.transform.sax.SAXTransformerFactory;
 import javax.xml.transform.sax.TransformerHandler;
 import javax.xml.transform.stream.StreamSource;
+import javax.xml.validation.SchemaFactory;
 import javax.xml.ws.WebServiceException;
 import javax.xml.xpath.XPathFactory;
 import javax.xml.xpath.XPathFactoryConfigurationException;
@@ -74,6 +75,10 @@
  * @author WS Development Team
  */
 public class XmlUtil {
+
+    // not in older JDK, so must be duplicated here, otherwise javax.xml.XMLConstants should be used
+    private static final String ACCESS_EXTERNAL_SCHEMA = "http://javax.xml.XMLConstants/property/accessExternalSchema";
+
     private final static String LEXICAL_HANDLER_PROPERTY =
         "http://xml.org/sax/properties/lexical-handler";
 
@@ -414,4 +419,21 @@
         return globalSecureXmlProcessingEnabled && localSecureXmlProcessingEnabled;
     }
 
+    public static SchemaFactory allowFileAccess(SchemaFactory sf, boolean disableSecureProcessing) {
+
+        // if feature secure processing enabled, nothing to do, file is allowed,
+        // or user is able to control access by standard JAXP mechanisms
+        if (checkGlobalOverride(disableSecureProcessing)) {
+            return sf;
+        }
+
+        try {
+            sf.setProperty(ACCESS_EXTERNAL_SCHEMA, "file");
+            LOGGER.log(Level.FINE, "Property \"{}\" is supported and has been successfully set by used JAXP implementation.", new Object[]{ACCESS_EXTERNAL_SCHEMA});
+        } catch (SAXException ignored) {
+            // depending on JDK/SAX implementation used
+            LOGGER.log(Level.CONFIG, "Property \"{}\" is not supported by used JAXP implementation.", new Object[]{ACCESS_EXTERNAL_SCHEMA});
+        }
+        return sf;
+    }
 }
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/wsdl/writer/WSDLGenerator.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/wsdl/writer/WSDLGenerator.java	Thu Aug 29 16:18:31 2013 -0700
@@ -329,7 +329,7 @@
     private static class CommentFilter implements XmlSerializer {
         final XmlSerializer serializer;
         private static final String VERSION_COMMENT =
-                " Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is " + RuntimeVersion.VERSION + ". ";
+                " Generated by JAX-WS RI (http://jax-ws.java.net). RI's version is " + RuntimeVersion.VERSION + ". ";
 
         CommentFilter(XmlSerializer serializer) {
             this.serializer = serializer;
--- a/src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/Messages.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/Messages.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -77,4 +77,10 @@
 
     public static final String ERR_SIMPLE_CONTENT_EXPECTED =
         "SimpleContentExpected"; // arg:2
+
+    public static final String JAXP_UNSUPPORTED_PROPERTY =
+        "JAXPUnsupportedProperty"; // arg:1
+
+    public static final String JAXP_SUPPORTED_PROPERTY =
+        "JAXPSupportedProperty"; // arg:1
 }
--- a/src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/Messages.properties	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/Messages.properties	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -71,3 +71,9 @@
 
 SimpleContentExpected = \
   A complex type with a simple content or a simple type is expected but found ''{0}'':{1}
+
+JAXPUnsupportedProperty = \
+    Property "{0}" is not supported by used JAXP implementation.
+
+JAXPSupportedProperty = \
+    Property "{0}" is supported and has been successfuly set by used JAXP implementation.
--- a/src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/SAXParserFactoryAdaptor.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/SAXParserFactoryAdaptor.java	Thu Aug 29 16:18:31 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -42,6 +42,8 @@
  * {@link SAXParserFactory} implementation that ultimately
  * uses {@link XMLParser} to parse documents.
  *
+ * @deprecated
+ *
  * @author
  *     Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
  */
@@ -58,7 +60,7 @@
     }
 
     public void setFeature(String name, boolean value) {
-        ;
+        throw new UnsupportedOperationException("XSOM parser does not support JAXP features.");
     }
 
     public boolean getFeature(String name) {
--- a/src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/Schema.java	Thu Aug 29 09:41:59 2013 -0700
+++ b/src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/Schema.java	Thu Aug 29 16:18:31 2013 -0700
@@ -195,6 +195,70 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 49:
+            {
+                if(($ai = $runtime.getAttributeIndex("","attributeFormDefault"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 45;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
+        case 36:
+            {
+                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("notation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("include")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("redefine")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("import"))))))))))))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 527, null);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    unexpectedEnterElement($__qname);
+                }
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
+            }
+            break;
+        case 16:
+            {
+                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 12;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
+        case 53:
+            {
+                if(($ai = $runtime.getAttributeIndex("","targetNamespace"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 49;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
+        case 37:
+            {
+                if(($ai = $runtime.getAttributeIndex("","finalDefault"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+                else {
+                    $_ngcc_current_state = 36;
+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                }
+            }
+            break;
         case 12:
             {
                 if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
@@ -207,103 +271,14 @@
                 }
             }
             break;
-        case 36:
+        case 45:
             {
-                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("redefine")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("notation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("import")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("include"))))))))))))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 374, null);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
-        case 1:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 351, anno,AnnotationContext.SCHEMA);
-                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("include"))) {
-                        NGCCHandler h = new includeDecl(this, super._source, $runtime, 352);
-                        spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                    }
-                    else {
-                        if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("import"))) {
-                            NGCCHandler h = new importDecl(this, super._source, $runtime, 353);
-                            spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                        }
-                        else {
-                            if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("redefine"))) {
-                                NGCCHandler h = new redefine(this, super._source, $runtime, 354);
-                                spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                            }
-                            else {
-                                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) {
-                                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
-                                    action8();
-                                    $_ngcc_current_state = 27;
-                                }
-                                else {
-                                    if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
-                                        NGCCHandler h = new simpleType(this, super._source, $runtime, 356);
-                                        spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                                    }
-                                    else {
-                                        if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
-                                            NGCCHandler h = new complexType(this, super._source, $runtime, 357);
-                                            spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                                        }
-                                        else {
-                                            if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))) {
-                                                $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
-                                                action4();
-                                                $_ngcc_current_state = 16;
-                                            }
-                                            else {
-                                                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group"))) {
-                                                    NGCCHandler h = new group(this, super._source, $runtime, 359);
-                                                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                                                }
-                                                else {
-                                                    if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("notation"))) {
-                                                        NGCCHandler h = new notation(this, super._source, $runtime, 360);
-                                                        spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                                                    }
-                                                    else {
-                                                        if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))) {
-                                                            NGCCHandler h = new attributeGroupDecl(this, super._source, $runtime, 361);
-                                                            spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                                                        }
-                                                        else {
-                                                            unexpectedEnterElement($__qname);
-                                                        }
-                                                    }
-                                                }
-                                            }
-                                        }
-                                    }
-                                }
-                            }
-                        }
-                    }
-                }
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
-            }
-            break;
-        case 53:
-            {
-                if(($ai = $runtime.getAttributeIndex("","targetNamespace"))>=0) {
+                if(($ai = $runtime.getAttributeIndex("","elementFormDefault"))>=0) {
                     $runtime.consumeAttribute($ai);
                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
-                    $_ngcc_current_state = 49;
+                    $_ngcc_current_state = 41;
                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
                 }
             }
@@ -320,37 +295,25 @@
                 }
             }
             break;
-        case 37:
-            {
-                if(($ai = $runtime.getAttributeIndex("","finalDefault"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 36;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
         case 2:
             {
                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
-                    NGCCHandler h = new annotation(this, super._source, $runtime, 362, anno,AnnotationContext.SCHEMA);
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 515, anno,AnnotationContext.SCHEMA);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
                     if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("include"))) {
-                        NGCCHandler h = new includeDecl(this, super._source, $runtime, 363);
+                        NGCCHandler h = new includeDecl(this, super._source, $runtime, 516);
                         spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                     }
                     else {
                         if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("import"))) {
-                            NGCCHandler h = new importDecl(this, super._source, $runtime, 364);
+                            NGCCHandler h = new importDecl(this, super._source, $runtime, 517);
                             spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                         }
                         else {
                             if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("redefine"))) {
-                                NGCCHandler h = new redefine(this, super._source, $runtime, 365);
+                                NGCCHandler h = new redefine(this, super._source, $runtime, 518);
                                 spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                             }
                             else {
@@ -361,12 +324,12 @@
                                 }
                                 else {
                                     if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
-                                        NGCCHandler h = new simpleType(this, super._source, $runtime, 367);
+                                        NGCCHandler h = new simpleType(this, super._source, $runtime, 520);
                                         spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                                     }
                                     else {
                                         if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
-                                            NGCCHandler h = new complexType(this, super._source, $runtime, 368);
+                                            NGCCHandler h = new complexType(this, super._source, $runtime, 521);
                                             spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                                         }
                                         else {
@@ -377,17 +340,17 @@
                                             }
                                             else {
                                                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group"))) {
-                                                    NGCCHandler h = new group(this, super._source, $runtime, 370);
+                                                    NGCCHandler h = new group(this, super._source, $runtime, 523);
                                                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                                                 }
                                                 else {
                                                     if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("notation"))) {
-                                                        NGCCHandler h = new notation(this, super._source, $runtime, 371);
+                                                        NGCCHandler h = new notation(this, super._source, $runtime, 524);
                                                         spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                                                     }
                                                     else {
                                                         if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))) {
-                                                            NGCCHandler h = new attributeGroupDecl(this, super._source, $runtime, 372);
+                                                            NGCCHandler h = new attributeGroupDecl(this, super._source, $runtime, 525);
                                                             spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                                                         }
                                                         else {
@@ -406,15 +369,14 @@
                 }
             }
             break;
-        case 45:
+        case 27:
             {
-                if(($ai = $runtime.getAttributeIndex("","elementFormDefault"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                if((($ai = $runtime.getAttributeIndex("","default"))>=0 || (($ai = $runtime.getAttributeIndex("","fixed"))>=0 || (($ai = $runtime.getAttributeIndex("","form"))>=0 || (($ai = $runtime.getAttributeIndex("","final"))>=0 || (($ai = $runtime.getAttributeIndex("","block"))>=0 || (($ai = $runtime.getAttributeIndex("","name"))>=0 || ($ai = $runtime.getAttributeIndex("","abstract"))>=0))))))) {
+                    NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 439, locator,true);
+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
-                    $_ngcc_current_state = 41;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                    unexpectedEnterElement($__qname);
                 }
             }
             break;
@@ -430,10 +392,10 @@
                 }
             }
             break;
-        case 27:
+        case 11:
             {
-                if((($ai = $runtime.getAttributeIndex("","name"))>=0 || (($ai = $runtime.getAttributeIndex("","final"))>=0 || (($ai = $runtime.getAttributeIndex("","form"))>=0 || (($ai = $runtime.getAttributeIndex("","block"))>=0 || (($ai = $runtime.getAttributeIndex("","fixed"))>=0 || (($ai = $runtime.getAttributeIndex("","default"))>=0 || ($ai = $runtime.getAttributeIndex("","abstract"))>=0))))))) {
-                    NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 286, locator,true);
+                if((($ai = $runtime.getAttributeIndex("","name"))>=0 || ($ai = $runtime.getAttributeIndex("","form"))>=0)) {
+                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 421, locator,false,defaultValue,fixedValue);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
@@ -441,38 +403,76 @@
                 }
             }
             break;
-        case 11:
+        case 1:
             {
-                if((($ai = $runtime.getAttributeIndex("","form"))>=0 || ($ai = $runtime.getAttributeIndex("","name"))>=0)) {
-                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 268, locator,false,defaultValue,fixedValue);
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
+                    NGCCHandler h = new annotation(this, super._source, $runtime, 504, anno,AnnotationContext.SCHEMA);
                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
                 }
                 else {
-                    unexpectedEnterElement($__qname);
-                }
-            }
-            break;
-        case 49:
-            {
-                if(($ai = $runtime.getAttributeIndex("","attributeFormDefault"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 45;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-            }
-            break;
-        case 16:
-            {
-                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                }
-                else {
-                    $_ngcc_current_state = 12;
-                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+                    if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("include"))) {
+                        NGCCHandler h = new includeDecl(this, super._source, $runtime, 505);
+                        spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                    }
+                    else {
+                        if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("import"))) {
+                            NGCCHandler h = new importDecl(this, super._source, $runtime, 506);
+                            spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                        }
+                        else {
+                            if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("redefine"))) {
+                                NGCCHandler h = new redefine(this, super._source, $runtime, 507);
+                                spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                            }
+                            else {
+                                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) {
+                                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
+                                    action8();
+                                    $_ngcc_current_state = 27;
+                                }
+                                else {
+                                    if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
+                                        NGCCHandler h = new simpleType(this, super._source, $runtime, 509);
+                                        spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                                    }
+                                    else {
+                                        if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
+                                            NGCCHandler h = new complexType(this, super._source, $runtime, 510);
+                                            spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                                        }
+                                        else {
+                                            if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))) {
+                                                $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
+                                                action4();
+                                                $_ngcc_current_state = 16;
+                                            }
+                                            else {
+                                                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group"))) {
+                                                    NGCCHandler h = new group(this, super._source, $runtime, 512);
+                                                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                                                }
+                                                else {
+                                                    if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("notation"))) {
+                                                        NGCCHandler h = new notation(this, super._source, $runtime, 513);
+                                                        spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                                                    }
+                                                    else {
+                                                        if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))) {
+                                                            NGCCHandler h = new attributeGroupDecl(this, super._source, $runtime, 514);
+                                                            spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+                                                        }
+                                                        else {
+                                                            unexpectedEnterElement($__qname);
+                                                        }
+                                                    }
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
                 }
             }
             break;
@@ -490,6 +490,92 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
+        case 49:
+            {
+                if(($ai = $runtime.getAttributeIndex("","attributeFormDefault"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+                else {
+                    $_ngcc_current_state = 45;
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
+        case 36:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("schema"))) {
+                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 527, null);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 0:
+            {
+                revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 10:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))) {
+                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
+                    $_ngcc_current_state = 1;
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 16:
+            {
+                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+                else {
+                    $_ngcc_current_state = 12;
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
+        case 53:
+            {
+                if(($ai = $runtime.getAttributeIndex("","targetNamespace"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+                else {
+                    $_ngcc_current_state = 49;
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
+        case 26:
+            {
+                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) {
+                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
+                    $_ngcc_current_state = 1;
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 37:
+            {
+                if(($ai = $runtime.getAttributeIndex("","finalDefault"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+                else {
+                    $_ngcc_current_state = 36;
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
         case 12:
             {
                 if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
@@ -502,10 +588,51 @@
                 }
             }
             break;
-        case 36:
+        case 45:
             {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("schema"))) {
-                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 374, null);
+                if(($ai = $runtime.getAttributeIndex("","elementFormDefault"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+                else {
+                    $_ngcc_current_state = 41;
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
+        case 41:
+            {
+                if(($ai = $runtime.getAttributeIndex("","blockDefault"))>=0) {
+                    $runtime.consumeAttribute($ai);
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+                else {
+                    $_ngcc_current_state = 37;
+                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
+        case 2:
+            {
+                $_ngcc_current_state = 1;
+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+            }
+            break;
+        case 27:
+            {
+                if(((($ai = $runtime.getAttributeIndex("","default"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","fixed"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","form"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","final"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","block"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","name"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || (($ai = $runtime.getAttributeIndex("","abstract"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")))))))))) {
+                    NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 439, locator,true);
+                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
+                }
+                else {
+                    unexpectedLeaveElement($__qname);
+                }
+            }
+            break;
+        case 11:
+            {
+                if(((($ai = $runtime.getAttributeIndex("","name"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))) || (($ai = $runtime.getAttributeIndex("","form"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))))) {
+                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 421, locator,false,defaultValue,fixedValue);
                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
                 }
                 else {
@@ -524,133 +651,6 @@
                 }
             }
             break;
-        case 0:
-            {
-                revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 53:
-            {
-                if(($ai = $runtime.getAttributeIndex("","targetNamespace"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-                else {
-                    $_ngcc_current_state = 49;
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
-        case 10:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))) {
-                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
-                    $_ngcc_current_state = 1;
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 41:
-            {
-                if(($ai = $runtime.getAttributeIndex("","blockDefault"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-                else {
-                    $_ngcc_current_state = 37;
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
-        case 45:
-            {
-                if(($ai = $runtime.getAttributeIndex("","elementFormDefault"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-                else {
-                    $_ngcc_current_state = 41;
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
-        case 37:
-            {
-                if(($ai = $runtime.getAttributeIndex("","finalDefault"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-                else {
-                    $_ngcc_current_state = 36;
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
-        case 2:
-            {
-                $_ngcc_current_state = 1;
-                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 27:
-            {
-                if(((($ai = $runtime.getAttributeIndex("","name"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","final"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","form"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","block"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","fixed"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","default"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || (($ai = $runtime.getAttributeIndex("","abstract"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")))))))))) {
-                    NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 286, locator,true);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 11:
-            {
-                if(((($ai = $runtime.getAttributeIndex("","form"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))) || (($ai = $runtime.getAttributeIndex("","name"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))))) {
-                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 268, locator,false,defaultValue,fixedValue);
-                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 26:
-            {
-                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) {
-                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
-                    $_ngcc_current_state = 1;
-                }
-                else {
-                    unexpectedLeaveElement($__qname);
-                }
-            }
-            break;
-        case 49:
-            {
-                if(($ai = $runtime.getAttributeIndex("","attributeFormDefault"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-                else {
-                    $_ngcc_current_state = 45;
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
-        case 16:
-            {
-                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
-                    $runtime.consumeAttribute($ai);
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-                else {
-                    $_ngcc_current_state = 12;
-                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
         default:
             {
                 unexpectedLeaveElement($__qname);
@@ -665,66 +665,6 @@
         $localName = $__local;
         $qname = $__qname;
         switch($_ngcc_current_state) {
-        case 12:
-            {
-                if(($__uri.equals("") && $__local.equals("fixed"))) {
-                    $_ngcc_current_state = 14;
-                }
-                else {
-                    $_ngcc_current_state = 11;
-                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
-        case 0:
-            {
-                revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
-            }
-            break;
-        case 27:
-            {
-                if((($__uri.equals("") && $__local.equals("name")) || (($__uri.equals("") && $__local.equals("final")) || (($__uri.equals("") && $__local.equals("form")) || (($__uri.equals("") && $__local.equals("block")) || (($__uri.equals("") && $__local.equals("fixed")) || (($__uri.equals("") && $__local.equals("default")) || ($__uri.equals("") && $__local.equals("abstract"))))))))) {
-                    NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 286, locator,true);
-                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedEnterAttribute($__qname);
-                }
-            }
-            break;
-        case 53:
-            {
-                if(($__uri.equals("") && $__local.equals("targetNamespace"))) {
-                    $_ngcc_current_state = 55;
-                }
-                else {
-                    $_ngcc_current_state = 49;
-                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
-        case 11:
-            {
-                if((($__uri.equals("") && $__local.equals("form")) || ($__uri.equals("") && $__local.equals("name")))) {
-                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 268, locator,false,defaultValue,fixedValue);
-                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
-                }
-                else {
-                    unexpectedEnterAttribute($__qname);
-                }
-            }
-            break;
-        case 41:
-            {
-                if(($__uri.equals("") && $__local.equals("blockDefault"))) {
-                    $_ngcc_current_state = 43;
-                }
-                else {
-                    $_ngcc_current_state = 37;
-                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-                }
-            }
-            break;
         case 49:
             {
                 if(($__uri.equals("") && $__local.equals("attributeFormDefault"))) {
@@ -747,12 +687,50 @@
                 }
             }
             break;
+        case 41:
+            {
+                if(($__uri.equals("") && $__local.equals("blockDefault"))) {
+                    $_ngcc_current_state = 43;
+                }
+                else {
+                    $_ngcc_current_state = 37;
+                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+                }
+            }
+            break;
         case 2:
             {
                 $_ngcc_current_state = 1;
                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
             }
             break;
+        case 27:
+            {
+                if((($__uri.equals("") && $__local.equals("default")) || (($__uri.equals("") && $__local.equals("fixed")) || (($__uri.equals("") && $__local.equals("form")) || (($__uri.equals("") && $__local.equals("final")) || (($__uri.equals("") && $__local.equals("block")) ||