diff --git a/.hgtags b/.hgtags
index 0244212bbe4..a470c9afa31 100644
--- a/.hgtags
+++ b/.hgtags
@@ -216,3 +216,6 @@ f09ab0c416185e3cba371e81bcb6a16060c90f44 jdk8-b90
2fd6acba737b01e705e1f7c33588c922a3787f13 jdk8-b92
b72ae39e1329fefae50d4690db4fde43f3841a95 jdk8-b93
0d804e3b955dce406af6a79ac1cc35c696aff7fb jdk8-b94
+49fe9c8049132647ad38837a877dd473e6c9b0e5 jdk8-b95
+ea73f01b9053e7165e7ba80f242bafecbc6af712 jdk8-b96
+0a85476a0b9cb876d5666d45097dac68bef3fce1 jdk8-b97
diff --git a/.hgtags-top-repo b/.hgtags-top-repo
index 22bffa459a6..64129189d67 100644
--- a/.hgtags-top-repo
+++ b/.hgtags-top-repo
@@ -216,3 +216,6 @@ cb51fb4789ac0b8be4056482077ddfb8f3bd3805 jdk8-b91
3a36c926a7aafa9d4a892a45ef3678e87ad8359b jdk8-b92
27c51c6e31c1ef36afa0e6efb031f9b13f26c12b jdk8-b93
50d2bde060f2a9bbbe4da0c8986e20aca61f2e2e jdk8-b94
+785d07fe38901ecc1b7e0145e53e1c3da9361fee jdk8-b95
+c156084add486f941c12d886a0b1b2854795d557 jdk8-b96
+a1c1e8bf71f354f3aec0214cf13d6668811e021d jdk8-b97
diff --git a/NewMakefile.gmk b/NewMakefile.gmk
index 033183289ff..101ebe06278 100644
--- a/NewMakefile.gmk
+++ b/NewMakefile.gmk
@@ -68,12 +68,15 @@ else
# First, find out the valid targets
# Run the makefile with an arbitraty SPEC using -p -q (quiet dry-run and dump rules) to find
# available PHONY targets. Use this list as valid targets to pass on to the repeated calls.
- all_phony_targets=$(filter-out $(global_targets), $(strip $(shell \
- $(MAKE) -p -q -f common/makefiles SPEC=$(firstword $(SPEC)) | \
+ all_phony_targets=$(filter-out $(global_targets) bundles-only, $(strip $(shell \
+ $(MAKE) -p -q -f common/makefiles/Main.gmk SPEC=$(firstword $(SPEC)) | \
grep ^.PHONY: | head -n 1 | cut -d " " -f 2-)))
-$(all_phony_targets):
- @$(foreach spec,$(SPEC),($(MAKE) -f NewMakefile.gmk SPEC=$(spec) $(VERBOSE) VERBOSE=$(VERBOSE) LOG_LEVEL=$(LOG_LEVEL) $@) &&) true
+ $(all_phony_targets):
+ $(foreach spec,$(SPEC),($(MAKE) -f NewMakefile.gmk SPEC=$(spec) \
+ $(VERBOSE) VERBOSE=$(VERBOSE) LOG_LEVEL=$(LOG_LEVEL) $@) &&) true
+
+ .PHONY: $(all_phony_targets)
endif
endif
diff --git a/README-builds.html b/README-builds.html
index 9a52859f8c2..5573c8cd2f1 100644
--- a/README-builds.html
+++ b/README-builds.html
@@ -355,12 +355,24 @@
Install a
- Bootstrap JDK
-
+ Bootstrap JDK.
All OpenJDK builds require access to a previously released
- JDK, this is often called a bootstrap JDK.
- Currently, for this JDK release we require
- JDK 7 Update 7 or newer.
+ JDK called the bootstrap JDK or boot JDK.
+ The general rule is that the bootstrap JDK
+ must be an instance of the previous major
+ release of the JDK. In addition, there may be
+ a requirement to use a release at or beyond a
+ particular update level.
+
+
+ Building JDK 8 requires use of a version
+ of JDK 7 that is at Update 7 or newer. JDK 8
+ developers should not use JDK 8 as the boot
+ JDK, to ensure that JDK 8 dependencies are
+ not introduced into the parts of the system
+ that are built with JDK 7.
+
+
The JDK 7 binaries can be downloaded from Oracle's
JDK 7 download site.
diff --git a/common/autoconf/basics.m4 b/common/autoconf/basics.m4
index 03b088e883f..126993b5cd7 100644
--- a/common/autoconf/basics.m4
+++ b/common/autoconf/basics.m4
@@ -43,6 +43,16 @@ AC_DEFUN([ADD_JVM_ARG_IF_OK],
fi
])
+# Appends a string to a path variable, only adding the : when needed.
+AC_DEFUN([BASIC_APPEND_TO_PATH],
+[
+ if test "x[$]$1" = x; then
+ $1="$2"
+ else
+ $1="[$]$1:$2"
+ fi
+])
+
# This will make sure the given variable points to a full and proper
# path. This means:
# 1) There will be no spaces in the path. On posix platforms,
@@ -351,7 +361,9 @@ fi
AC_SUBST(SYS_ROOT)
AC_ARG_WITH([tools-dir], [AS_HELP_STRING([--with-tools-dir],
- [search this directory for compilers and tools (for cross-compiling)])], [TOOLS_DIR=$with_tools_dir])
+ [search this directory for compilers and tools (for cross-compiling)])],
+ [TOOLS_DIR=$with_tools_dir]
+)
AC_ARG_WITH([devkit], [AS_HELP_STRING([--with-devkit],
[use this directory as base for tools-dir and sys-root (for cross-compiling)])],
@@ -359,17 +371,14 @@ AC_ARG_WITH([devkit], [AS_HELP_STRING([--with-devkit],
if test "x$with_sys_root" != x; then
AC_MSG_ERROR([Cannot specify both --with-devkit and --with-sys-root at the same time])
fi
- if test "x$with_tools_dir" != x; then
- AC_MSG_ERROR([Cannot specify both --with-devkit and --with-tools-dir at the same time])
- fi
- TOOLS_DIR=$with_devkit/bin
+ BASIC_FIXUP_PATH([with_devkit])
+ BASIC_APPEND_TO_PATH([TOOLS_DIR],$with_devkit/bin)
if test -d "$with_devkit/$host_alias/libc"; then
SYS_ROOT=$with_devkit/$host_alias/libc
elif test -d "$with_devkit/$host/sys-root"; then
SYS_ROOT=$with_devkit/$host/sys-root
fi
])
-
])
AC_DEFUN_ONCE([BASIC_SETUP_OUTPUT_DIR],
@@ -612,6 +621,14 @@ AC_PATH_PROGS(READELF, [readelf greadelf])
AC_PATH_PROG(HG, hg)
AC_PATH_PROG(STAT, stat)
AC_PATH_PROG(TIME, time)
+# Check if it's GNU time
+IS_GNU_TIME=`$TIME --version 2>&1 | $GREP 'GNU time'`
+if test "x$IS_GNU_TIME" != x; then
+ IS_GNU_TIME=yes
+else
+ IS_GNU_TIME=no
+fi
+AC_SUBST(IS_GNU_TIME)
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
BASIC_REQUIRE_PROG(COMM, comm)
diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh
index e41a488f336..1f084da68c9 100644
--- a/common/autoconf/generated-configure.sh
+++ b/common/autoconf/generated-configure.sh
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.67 for OpenJDK jdk8.
+# Generated by GNU Autoconf 2.68 for OpenJDK jdk8.
#
# Report bugs to .
#
@@ -91,6 +91,7 @@ fi
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -216,11 +217,18 @@ IFS=$as_save_IFS
# We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
+ # Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+ case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+ esac
+ exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
fi
if test x$as_have_required = xno; then :
@@ -799,6 +807,7 @@ OS_VERSION_MAJOR
PKG_CONFIG
CODESIGN
XATTR
+IS_GNU_TIME
TIME
STAT
HG
@@ -1460,7 +1469,7 @@ Try \`$0 --help' for more information"
$as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
$as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
;;
esac
@@ -1896,7 +1905,7 @@ test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
OpenJDK configure jdk8
-generated by GNU Autoconf 2.67
+generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
@@ -1942,7 +1951,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_compile
@@ -1980,7 +1989,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_cxx_try_compile
@@ -2018,7 +2027,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_objc_try_compile
@@ -2055,7 +2064,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_cpp
@@ -2092,7 +2101,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_cxx_try_cpp
@@ -2105,10 +2114,10 @@ fi
ac_fn_cxx_check_header_mongrel ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if eval "test \"\${$3+set}\"" = set; then :
+ if eval \${$3+:} false; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
fi
eval ac_res=\$$3
@@ -2175,7 +2184,7 @@ $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
eval "$3=\$ac_header_compiler"
@@ -2184,7 +2193,7 @@ eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_cxx_check_header_mongrel
@@ -2225,7 +2234,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=$ac_status
fi
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_cxx_try_run
@@ -2239,7 +2248,7 @@ ac_fn_cxx_check_header_compile ()
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2257,7 +2266,7 @@ fi
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_cxx_check_header_compile
@@ -2434,7 +2443,7 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
rm -f conftest.val
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_cxx_compute_int
@@ -2480,7 +2489,7 @@ fi
# interfere with the next link command; also delete a directory that is
# left behind by Apple's compiler. We do this before executing the actions.
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_cxx_try_link
@@ -2493,7 +2502,7 @@ ac_fn_cxx_check_func ()
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2548,7 +2557,7 @@ fi
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_cxx_check_func
@@ -2561,7 +2570,7 @@ ac_fn_c_check_header_compile ()
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2579,7 +2588,7 @@ fi
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_header_compile
cat >config.log <<_ACEOF
@@ -2587,7 +2596,7 @@ This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by OpenJDK $as_me jdk8, which was
-generated by GNU Autoconf 2.67. Invocation command line was
+generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -2845,7 +2854,7 @@ $as_echo "$as_me: loading site script $ac_site_file" >&6;}
|| { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
done
@@ -3083,6 +3092,9 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
# Also set JVM_ARG_OK to true/false depending on outcome.
+# Appends a string to a path variable, only adding the : when needed.
+
+
# This will make sure the given variable points to a full and proper
# path. This means:
# 1) There will be no spaces in the path. On posix platforms,
@@ -3782,7 +3794,7 @@ fi
#CUSTOM_AUTOCONF_INCLUDE
# Do not change or remove the following line, it is needed for consistency checks:
-DATE_WHEN_GENERATED=1371547824
+DATE_WHEN_GENERATED=1373384053
###############################################################################
#
@@ -3820,7 +3832,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_BASENAME+set}" = set; then :
+if ${ac_cv_path_BASENAME+:} false; then :
$as_echo_n "(cached) " >&6
else
case $BASENAME in
@@ -3879,7 +3891,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_BASH+set}" = set; then :
+if ${ac_cv_path_BASH+:} false; then :
$as_echo_n "(cached) " >&6
else
case $BASH in
@@ -3938,7 +3950,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_CAT+set}" = set; then :
+if ${ac_cv_path_CAT+:} false; then :
$as_echo_n "(cached) " >&6
else
case $CAT in
@@ -3997,7 +4009,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_CHMOD+set}" = set; then :
+if ${ac_cv_path_CHMOD+:} false; then :
$as_echo_n "(cached) " >&6
else
case $CHMOD in
@@ -4056,7 +4068,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_CMP+set}" = set; then :
+if ${ac_cv_path_CMP+:} false; then :
$as_echo_n "(cached) " >&6
else
case $CMP in
@@ -4115,7 +4127,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_COMM+set}" = set; then :
+if ${ac_cv_path_COMM+:} false; then :
$as_echo_n "(cached) " >&6
else
case $COMM in
@@ -4174,7 +4186,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_CP+set}" = set; then :
+if ${ac_cv_path_CP+:} false; then :
$as_echo_n "(cached) " >&6
else
case $CP in
@@ -4233,7 +4245,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_CPIO+set}" = set; then :
+if ${ac_cv_path_CPIO+:} false; then :
$as_echo_n "(cached) " >&6
else
case $CPIO in
@@ -4292,7 +4304,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_CUT+set}" = set; then :
+if ${ac_cv_path_CUT+:} false; then :
$as_echo_n "(cached) " >&6
else
case $CUT in
@@ -4351,7 +4363,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_DATE+set}" = set; then :
+if ${ac_cv_path_DATE+:} false; then :
$as_echo_n "(cached) " >&6
else
case $DATE in
@@ -4410,7 +4422,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_DIFF+set}" = set; then :
+if ${ac_cv_path_DIFF+:} false; then :
$as_echo_n "(cached) " >&6
else
case $DIFF in
@@ -4469,7 +4481,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_DIRNAME+set}" = set; then :
+if ${ac_cv_path_DIRNAME+:} false; then :
$as_echo_n "(cached) " >&6
else
case $DIRNAME in
@@ -4528,7 +4540,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_ECHO+set}" = set; then :
+if ${ac_cv_path_ECHO+:} false; then :
$as_echo_n "(cached) " >&6
else
case $ECHO in
@@ -4587,7 +4599,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_EXPR+set}" = set; then :
+if ${ac_cv_path_EXPR+:} false; then :
$as_echo_n "(cached) " >&6
else
case $EXPR in
@@ -4646,7 +4658,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_FILE+set}" = set; then :
+if ${ac_cv_path_FILE+:} false; then :
$as_echo_n "(cached) " >&6
else
case $FILE in
@@ -4705,7 +4717,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_FIND+set}" = set; then :
+if ${ac_cv_path_FIND+:} false; then :
$as_echo_n "(cached) " >&6
else
case $FIND in
@@ -4764,7 +4776,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_HEAD+set}" = set; then :
+if ${ac_cv_path_HEAD+:} false; then :
$as_echo_n "(cached) " >&6
else
case $HEAD in
@@ -4823,7 +4835,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_LN+set}" = set; then :
+if ${ac_cv_path_LN+:} false; then :
$as_echo_n "(cached) " >&6
else
case $LN in
@@ -4882,7 +4894,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_LS+set}" = set; then :
+if ${ac_cv_path_LS+:} false; then :
$as_echo_n "(cached) " >&6
else
case $LS in
@@ -4941,7 +4953,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_MKDIR+set}" = set; then :
+if ${ac_cv_path_MKDIR+:} false; then :
$as_echo_n "(cached) " >&6
else
case $MKDIR in
@@ -5000,7 +5012,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_MKTEMP+set}" = set; then :
+if ${ac_cv_path_MKTEMP+:} false; then :
$as_echo_n "(cached) " >&6
else
case $MKTEMP in
@@ -5059,7 +5071,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_MV+set}" = set; then :
+if ${ac_cv_path_MV+:} false; then :
$as_echo_n "(cached) " >&6
else
case $MV in
@@ -5118,7 +5130,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_PRINTF+set}" = set; then :
+if ${ac_cv_path_PRINTF+:} false; then :
$as_echo_n "(cached) " >&6
else
case $PRINTF in
@@ -5177,7 +5189,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_RM+set}" = set; then :
+if ${ac_cv_path_RM+:} false; then :
$as_echo_n "(cached) " >&6
else
case $RM in
@@ -5236,7 +5248,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_SH+set}" = set; then :
+if ${ac_cv_path_SH+:} false; then :
$as_echo_n "(cached) " >&6
else
case $SH in
@@ -5295,7 +5307,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_SORT+set}" = set; then :
+if ${ac_cv_path_SORT+:} false; then :
$as_echo_n "(cached) " >&6
else
case $SORT in
@@ -5354,7 +5366,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_TAIL+set}" = set; then :
+if ${ac_cv_path_TAIL+:} false; then :
$as_echo_n "(cached) " >&6
else
case $TAIL in
@@ -5413,7 +5425,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_TAR+set}" = set; then :
+if ${ac_cv_path_TAR+:} false; then :
$as_echo_n "(cached) " >&6
else
case $TAR in
@@ -5472,7 +5484,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_TEE+set}" = set; then :
+if ${ac_cv_path_TEE+:} false; then :
$as_echo_n "(cached) " >&6
else
case $TEE in
@@ -5531,7 +5543,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_TOUCH+set}" = set; then :
+if ${ac_cv_path_TOUCH+:} false; then :
$as_echo_n "(cached) " >&6
else
case $TOUCH in
@@ -5590,7 +5602,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_TR+set}" = set; then :
+if ${ac_cv_path_TR+:} false; then :
$as_echo_n "(cached) " >&6
else
case $TR in
@@ -5649,7 +5661,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_UNAME+set}" = set; then :
+if ${ac_cv_path_UNAME+:} false; then :
$as_echo_n "(cached) " >&6
else
case $UNAME in
@@ -5708,7 +5720,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_UNIQ+set}" = set; then :
+if ${ac_cv_path_UNIQ+:} false; then :
$as_echo_n "(cached) " >&6
else
case $UNIQ in
@@ -5767,7 +5779,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_WC+set}" = set; then :
+if ${ac_cv_path_WC+:} false; then :
$as_echo_n "(cached) " >&6
else
case $WC in
@@ -5826,7 +5838,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_WHICH+set}" = set; then :
+if ${ac_cv_path_WHICH+:} false; then :
$as_echo_n "(cached) " >&6
else
case $WHICH in
@@ -5885,7 +5897,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_XARGS+set}" = set; then :
+if ${ac_cv_path_XARGS+:} false; then :
$as_echo_n "(cached) " >&6
else
case $XARGS in
@@ -5945,7 +5957,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$AWK"; then
@@ -5995,7 +6007,7 @@ $as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -z "$GREP"; then
@@ -6070,7 +6082,7 @@ $as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
$as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
$as_echo_n "(cached) " >&6
else
if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -6149,7 +6161,7 @@ $as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
$as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
+if ${ac_cv_path_FGREP+:} false; then :
$as_echo_n "(cached) " >&6
else
if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -6228,7 +6240,7 @@ $as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -6314,7 +6326,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_NAWK+set}" = set; then :
+if ${ac_cv_path_NAWK+:} false; then :
$as_echo_n "(cached) " >&6
else
case $NAWK in
@@ -6378,7 +6390,7 @@ THEPWDCMD=pwd
set dummy cygpath; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_CYGPATH+set}" = set; then :
+if ${ac_cv_path_CYGPATH+:} false; then :
$as_echo_n "(cached) " >&6
else
case $CYGPATH in
@@ -6418,7 +6430,7 @@ fi
set dummy readlink; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_READLINK+set}" = set; then :
+if ${ac_cv_path_READLINK+:} false; then :
$as_echo_n "(cached) " >&6
else
case $READLINK in
@@ -6458,7 +6470,7 @@ fi
set dummy df; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_DF+set}" = set; then :
+if ${ac_cv_path_DF+:} false; then :
$as_echo_n "(cached) " >&6
else
case $DF in
@@ -6498,7 +6510,7 @@ fi
set dummy SetFile; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_SETFILE+set}" = set; then :
+if ${ac_cv_path_SETFILE+:} false; then :
$as_echo_n "(cached) " >&6
else
case $SETFILE in
@@ -6544,7 +6556,7 @@ $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
$as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_build_alias=$build_alias
@@ -6560,7 +6572,7 @@ fi
$as_echo "$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
esac
build=$ac_cv_build
ac_save_IFS=$IFS; IFS='-'
@@ -6578,7 +6590,7 @@ case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
$as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "x$host_alias" = x; then
@@ -6593,7 +6605,7 @@ fi
$as_echo "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
esac
host=$ac_cv_host
ac_save_IFS=$IFS; IFS='-'
@@ -6611,7 +6623,7 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
$as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then :
+if ${ac_cv_target+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "x$target_alias" = x; then
@@ -6626,7 +6638,7 @@ fi
$as_echo "$ac_cv_target" >&6; }
case $ac_cv_target in
*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5 ;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
esac
target=$ac_cv_target
ac_save_IFS=$IFS; IFS='-'
@@ -7457,6 +7469,7 @@ fi
# Check whether --with-tools-dir was given.
if test "${with_tools_dir+set}" = set; then :
withval=$with_tools_dir; TOOLS_DIR=$with_tools_dir
+
fi
@@ -7467,10 +7480,135 @@ if test "${with_devkit+set}" = set; then :
if test "x$with_sys_root" != x; then
as_fn_error $? "Cannot specify both --with-devkit and --with-sys-root at the same time" "$LINENO" 5
fi
- if test "x$with_tools_dir" != x; then
- as_fn_error $? "Cannot specify both --with-devkit and --with-tools-dir at the same time" "$LINENO" 5
+
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+
+ # Input might be given as Windows format, start by converting to
+ # unix format.
+ path="$with_devkit"
+ new_path=`$CYGPATH -u "$path"`
+
+ # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
+ # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
+ # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
+ # "foo.exe" is OK but "foo" is an error.
+ #
+ # This test is therefore slightly more accurate than "test -f" to check for file precense.
+ # It is also a way to make sure we got the proper file name for the real test later on.
+ test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
+ if test "x$test_shortpath" = x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of with_devkit, which resolves as \"$path\", is invalid." >&5
+$as_echo "$as_me: The path of with_devkit, which resolves as \"$path\", is invalid." >&6;}
+ as_fn_error $? "Cannot locate the the path of with_devkit" "$LINENO" 5
+ fi
+
+ # Call helper function which possibly converts this using DOS-style short mode.
+ # If so, the updated path is stored in $new_path.
+
+ input_path="$new_path"
+ # Check if we need to convert this using DOS-style short mode. If the path
+ # contains just simple characters, use it. Otherwise (spaces, weird characters),
+ # take no chances and rewrite it.
+ # Note: m4 eats our [], so we need to use [ and ] instead.
+ has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
+ if test "x$has_forbidden_chars" != x; then
+ # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+ shortmode_path=`$CYGPATH -s -m -a "$input_path"`
+ path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
+ if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
+ # Going to short mode and back again did indeed matter. Since short mode is
+ # case insensitive, let's make it lowercase to improve readability.
+ shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ # Now convert it back to Unix-stile (cygpath)
+ input_path=`$CYGPATH -u "$shortmode_path"`
+ new_path="$input_path"
fi
- TOOLS_DIR=$with_devkit/bin
+ fi
+
+ test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
+ if test "x$test_cygdrive_prefix" = x; then
+ # As a simple fix, exclude /usr/bin since it's not a real path.
+ if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
+ # The path is in a Cygwin special directory (e.g. /home). We need this converted to
+ # a path prefixed by /cygdrive for fixpath to work.
+ new_path="$CYGWIN_ROOT_PATH$input_path"
+ fi
+ fi
+
+
+ if test "x$path" != "x$new_path"; then
+ with_devkit="$new_path"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting with_devkit to \"$new_path\"" >&5
+$as_echo "$as_me: Rewriting with_devkit to \"$new_path\"" >&6;}
+ fi
+
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+
+ path="$with_devkit"
+ has_colon=`$ECHO $path | $GREP ^.:`
+ new_path="$path"
+ if test "x$has_colon" = x; then
+ # Not in mixed or Windows style, start by that.
+ new_path=`cmd //c echo $path`
+ fi
+
+
+ input_path="$new_path"
+ # Check if we need to convert this using DOS-style short mode. If the path
+ # contains just simple characters, use it. Otherwise (spaces, weird characters),
+ # take no chances and rewrite it.
+ # Note: m4 eats our [], so we need to use [ and ] instead.
+ has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
+ if test "x$has_forbidden_chars" != x; then
+ # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+ new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ fi
+
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+ if test "x$path" != "x$new_path"; then
+ with_devkit="$new_path"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting with_devkit to \"$new_path\"" >&5
+$as_echo "$as_me: Rewriting with_devkit to \"$new_path\"" >&6;}
+ fi
+
+ # Save the first 10 bytes of this path to the storage, so fixpath can work.
+ all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
+
+ else
+ # We're on a posix platform. Hooray! :)
+ path="$with_devkit"
+ has_space=`$ECHO "$path" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of with_devkit, which resolves as \"$path\", is invalid." >&5
+$as_echo "$as_me: The path of with_devkit, which resolves as \"$path\", is invalid." >&6;}
+ as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
+ fi
+
+ # Use eval to expand a potential ~
+ eval path="$path"
+ if test ! -f "$path" && test ! -d "$path"; then
+ as_fn_error $? "The path of with_devkit, which resolves as \"$path\", is not found." "$LINENO" 5
+ fi
+
+ with_devkit="`cd "$path"; $THEPWDCMD -L`"
+ fi
+
+
+ if test "x$TOOLS_DIR" = x; then
+ TOOLS_DIR="$with_devkit/bin"
+ else
+ TOOLS_DIR="$TOOLS_DIR:$with_devkit/bin"
+ fi
+
if test -d "$with_devkit/$host_alias/libc"; then
SYS_ROOT=$with_devkit/$host_alias/libc
elif test -d "$with_devkit/$host/sys-root"; then
@@ -7481,7 +7619,6 @@ fi
-
# Setup default logging of stdout and stderr to build.log in the output root.
BUILD_LOG='$(OUTPUT_ROOT)/build.log'
BUILD_LOG_PREVIOUS='$(OUTPUT_ROOT)/build.log.old'
@@ -8027,7 +8164,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_PKGHANDLER+set}" = set; then :
+if ${ac_cv_prog_PKGHANDLER+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$PKGHANDLER"; then
@@ -8392,7 +8529,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_CHECK_GMAKE+set}" = set; then :
+if ${ac_cv_path_CHECK_GMAKE+:} false; then :
$as_echo_n "(cached) " >&6
else
case $CHECK_GMAKE in
@@ -8746,7 +8883,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_CHECK_MAKE+set}" = set; then :
+if ${ac_cv_path_CHECK_MAKE+:} false; then :
$as_echo_n "(cached) " >&6
else
case $CHECK_MAKE in
@@ -9105,7 +9242,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_CHECK_TOOLSDIR_GMAKE+set}" = set; then :
+if ${ac_cv_path_CHECK_TOOLSDIR_GMAKE+:} false; then :
$as_echo_n "(cached) " >&6
else
case $CHECK_TOOLSDIR_GMAKE in
@@ -9458,7 +9595,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_CHECK_TOOLSDIR_MAKE+set}" = set; then :
+if ${ac_cv_path_CHECK_TOOLSDIR_MAKE+:} false; then :
$as_echo_n "(cached) " >&6
else
case $CHECK_TOOLSDIR_MAKE in
@@ -9854,7 +9991,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_UNZIP+set}" = set; then :
+if ${ac_cv_path_UNZIP+:} false; then :
$as_echo_n "(cached) " >&6
else
case $UNZIP in
@@ -9913,7 +10050,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_ZIP+set}" = set; then :
+if ${ac_cv_path_ZIP+:} false; then :
$as_echo_n "(cached) " >&6
else
case $ZIP in
@@ -9972,7 +10109,7 @@ $as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
set dummy ldd; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_LDD+set}" = set; then :
+if ${ac_cv_path_LDD+:} false; then :
$as_echo_n "(cached) " >&6
else
case $LDD in
@@ -10018,7 +10155,7 @@ fi
set dummy otool; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_OTOOL+set}" = set; then :
+if ${ac_cv_path_OTOOL+:} false; then :
$as_echo_n "(cached) " >&6
else
case $OTOOL in
@@ -10063,7 +10200,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_READELF+set}" = set; then :
+if ${ac_cv_path_READELF+:} false; then :
$as_echo_n "(cached) " >&6
else
case $READELF in
@@ -10106,7 +10243,7 @@ done
set dummy hg; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_HG+set}" = set; then :
+if ${ac_cv_path_HG+:} false; then :
$as_echo_n "(cached) " >&6
else
case $HG in
@@ -10146,7 +10283,7 @@ fi
set dummy stat; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_STAT+set}" = set; then :
+if ${ac_cv_path_STAT+:} false; then :
$as_echo_n "(cached) " >&6
else
case $STAT in
@@ -10186,7 +10323,7 @@ fi
set dummy time; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_TIME+set}" = set; then :
+if ${ac_cv_path_TIME+:} false; then :
$as_echo_n "(cached) " >&6
else
case $TIME in
@@ -10222,6 +10359,14 @@ $as_echo "no" >&6; }
fi
+# Check if it's GNU time
+IS_GNU_TIME=`$TIME --version 2>&1 | $GREP 'GNU time'`
+if test "x$IS_GNU_TIME" != x; then
+ IS_GNU_TIME=yes
+else
+ IS_GNU_TIME=no
+fi
+
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
@@ -10231,7 +10376,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_COMM+set}" = set; then :
+if ${ac_cv_path_COMM+:} false; then :
$as_echo_n "(cached) " >&6
else
case $COMM in
@@ -10293,7 +10438,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_XATTR+set}" = set; then :
+if ${ac_cv_path_XATTR+:} false; then :
$as_echo_n "(cached) " >&6
else
case $XATTR in
@@ -10349,7 +10494,7 @@ $as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
set dummy codesign; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_CODESIGN+set}" = set; then :
+if ${ac_cv_path_CODESIGN+:} false; then :
$as_echo_n "(cached) " >&6
else
case $CODESIGN in
@@ -10413,7 +10558,7 @@ if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_PKG_CONFIG+set}" = set; then :
+if ${ac_cv_path_PKG_CONFIG+:} false; then :
$as_echo_n "(cached) " >&6
else
case $PKG_CONFIG in
@@ -10456,7 +10601,7 @@ if test -z "$ac_cv_path_PKG_CONFIG"; then
set dummy pkg-config; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then :
+if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
$as_echo_n "(cached) " >&6
else
case $ac_pt_PKG_CONFIG in
@@ -10629,7 +10774,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_BDEPS_UNZIP+set}" = set; then :
+if ${ac_cv_prog_BDEPS_UNZIP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$BDEPS_UNZIP"; then
@@ -10675,7 +10820,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_BDEPS_FTP+set}" = set; then :
+if ${ac_cv_prog_BDEPS_FTP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$BDEPS_FTP"; then
@@ -11971,7 +12116,7 @@ $as_echo "$BOOT_JDK_VERSION" >&6; }
set dummy javac; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_JAVAC_CHECK+set}" = set; then :
+if ${ac_cv_path_JAVAC_CHECK+:} false; then :
$as_echo_n "(cached) " >&6
else
case $JAVAC_CHECK in
@@ -12011,7 +12156,7 @@ fi
set dummy java; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_JAVA_CHECK+set}" = set; then :
+if ${ac_cv_path_JAVA_CHECK+:} false; then :
$as_echo_n "(cached) " >&6
else
case $JAVA_CHECK in
@@ -16340,7 +16485,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_JTREGEXE+set}" = set; then :
+if ${ac_cv_path_JTREGEXE+:} false; then :
$as_echo_n "(cached) " >&6
else
case $JTREGEXE in
@@ -16408,7 +16553,7 @@ if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
set dummy link; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_CYGWIN_LINK+set}" = set; then :
+if ${ac_cv_path_CYGWIN_LINK+:} false; then :
$as_echo_n "(cached) " >&6
else
case $CYGWIN_LINK in
@@ -17182,6 +17327,8 @@ $as_echo "ok" >&6; }
# Remove any trailing \ from INCLUDE and LIB to avoid trouble in spec.gmk.
VS_INCLUDE=`$ECHO "$INCLUDE" | $SED 's/\\\\$//'`
VS_LIB=`$ECHO "$LIB" | $SED 's/\\\\$//'`
+ # Remove any paths containing # (typically F#) as that messes up make
+ PATH=`$ECHO "$PATH" | $SED 's/[^:#]*#[^:]*://g'`
VS_PATH="$PATH"
@@ -17849,7 +17996,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_BUILD_CC+set}" = set; then :
+if ${ac_cv_path_BUILD_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
case $BUILD_CC in
@@ -18160,7 +18307,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_BUILD_CXX+set}" = set; then :
+if ${ac_cv_path_BUILD_CXX+:} false; then :
$as_echo_n "(cached) " >&6
else
case $BUILD_CXX in
@@ -18469,7 +18616,7 @@ $as_echo "$as_me: Rewriting BUILD_CXX to \"$new_complete\"" >&6;}
set dummy ld; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_BUILD_LD+set}" = set; then :
+if ${ac_cv_path_BUILD_LD+:} false; then :
$as_echo_n "(cached) " >&6
else
case $BUILD_LD in
@@ -18933,15 +19080,6 @@ $as_echo "$as_me: Downloading build dependency devkit from $with_builddeps_serve
fi
-if test "x$SYS_ROOT" != "x/" ; then
- CFLAGS="--sysroot=$SYS_ROOT $CFLAGS"
- CXXFLAGS="--sysroot=$SYS_ROOT $CXXFLAGS"
- OBJCFLAGS="--sysroot=$SYS_ROOT $OBJCFLAGS"
- OBJCXXFLAGS="--sysroot=$SYS_ROOT $OBJCFLAGS"
- CPPFLAGS="--sysroot=$SYS_ROOT $CPPFLAGS"
- LDFLAGS="--sysroot=$SYS_ROOT $LDFLAGS"
-fi
-
# Store the CFLAGS etal passed to the configure script.
ORG_CFLAGS="$CFLAGS"
ORG_CXXFLAGS="$CXXFLAGS"
@@ -18985,7 +19123,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_TOOLS_DIR_CC+set}" = set; then :
+if ${ac_cv_path_TOOLS_DIR_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
case $TOOLS_DIR_CC in
@@ -19037,7 +19175,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_POTENTIAL_CC+set}" = set; then :
+if ${ac_cv_path_POTENTIAL_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
case $POTENTIAL_CC in
@@ -19450,7 +19588,7 @@ $as_echo "yes, trying to find proper $COMPILER_NAME compiler" >&6; }
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_PROPER_COMPILER_CC+set}" = set; then :
+if ${ac_cv_prog_PROPER_COMPILER_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$PROPER_COMPILER_CC"; then
@@ -19494,7 +19632,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_PROPER_COMPILER_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_PROPER_COMPILER_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_PROPER_COMPILER_CC"; then
@@ -19892,7 +20030,7 @@ $as_echo "$as_me: The result from running with -V was: \"$COMPILER_VERSION_TEST\
elif test "x$OPENJDK_TARGET_OS" = xwindows; then
# First line typically looks something like:
# Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
- COMPILER_VERSION_TEST=`$COMPILER 2>&1 | $HEAD -n 1`
+ COMPILER_VERSION_TEST=`$COMPILER 2>&1 | $HEAD -n 1 | $TR -d '\r'`
COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.*Version \([1-9][0-9.]*\) .*/\1/p"`
COMPILER_VENDOR="Microsoft CL.EXE"
COMPILER_CPU_TEST=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.* for \(.*\)$/\1/p"`
@@ -19944,7 +20082,7 @@ if test -n "$ac_tool_prefix"; then
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -19988,7 +20126,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
@@ -20041,7 +20179,7 @@ fi
test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
# Provide some information about the compiler.
$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -20156,7 +20294,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
@@ -20199,7 +20337,7 @@ else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest conftest$ac_cv_exeext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
@@ -20258,7 +20396,7 @@ $as_echo "$ac_try_echo"; } >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
fi
fi
@@ -20269,7 +20407,7 @@ rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
ac_clean_files=$ac_clean_files_save
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
$as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -20310,7 +20448,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
@@ -20320,7 +20458,7 @@ OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -20357,7 +20495,7 @@ ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_save_c_werror_flag=$ac_c_werror_flag
@@ -20435,7 +20573,7 @@ else
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_cv_prog_cc_c89=no
@@ -20558,7 +20696,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_TOOLS_DIR_CXX+set}" = set; then :
+if ${ac_cv_path_TOOLS_DIR_CXX+:} false; then :
$as_echo_n "(cached) " >&6
else
case $TOOLS_DIR_CXX in
@@ -20610,7 +20748,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_POTENTIAL_CXX+set}" = set; then :
+if ${ac_cv_path_POTENTIAL_CXX+:} false; then :
$as_echo_n "(cached) " >&6
else
case $POTENTIAL_CXX in
@@ -21023,7 +21161,7 @@ $as_echo "yes, trying to find proper $COMPILER_NAME compiler" >&6; }
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_PROPER_COMPILER_CXX+set}" = set; then :
+if ${ac_cv_prog_PROPER_COMPILER_CXX+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$PROPER_COMPILER_CXX"; then
@@ -21067,7 +21205,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_PROPER_COMPILER_CXX+set}" = set; then :
+if ${ac_cv_prog_ac_ct_PROPER_COMPILER_CXX+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_PROPER_COMPILER_CXX"; then
@@ -21465,7 +21603,7 @@ $as_echo "$as_me: The result from running with -V was: \"$COMPILER_VERSION_TEST\
elif test "x$OPENJDK_TARGET_OS" = xwindows; then
# First line typically looks something like:
# Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
- COMPILER_VERSION_TEST=`$COMPILER 2>&1 | $HEAD -n 1`
+ COMPILER_VERSION_TEST=`$COMPILER 2>&1 | $HEAD -n 1 | $TR -d '\r'`
COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.*Version \([1-9][0-9.]*\) .*/\1/p"`
COMPILER_VENDOR="Microsoft CL.EXE"
COMPILER_CPU_TEST=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.* for \(.*\)$/\1/p"`
@@ -21521,7 +21659,7 @@ if test -z "$CXX"; then
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CXX+set}" = set; then :
+if ${ac_cv_prog_CXX+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CXX"; then
@@ -21565,7 +21703,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CXX+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CXX"; then
@@ -21643,7 +21781,7 @@ done
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then :
+if ${ac_cv_cxx_compiler_gnu+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -21680,7 +21818,7 @@ ac_test_CXXFLAGS=${CXXFLAGS+set}
ac_save_CXXFLAGS=$CXXFLAGS
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
$as_echo_n "checking whether $CXX accepts -g... " >&6; }
-if test "${ac_cv_prog_cxx_g+set}" = set; then :
+if ${ac_cv_prog_cxx_g+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_save_cxx_werror_flag=$ac_cxx_werror_flag
@@ -21778,7 +21916,7 @@ if test -n "$ac_tool_prefix"; then
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJC+set}" = set; then :
+if ${ac_cv_prog_OBJC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$OBJC"; then
@@ -21822,7 +21960,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_OBJC"; then
@@ -21898,7 +22036,7 @@ done
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Objective C compiler" >&5
$as_echo_n "checking whether we are using the GNU Objective C compiler... " >&6; }
-if test "${ac_cv_objc_compiler_gnu+set}" = set; then :
+if ${ac_cv_objc_compiler_gnu+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -21935,7 +22073,7 @@ ac_test_OBJCFLAGS=${OBJCFLAGS+set}
ac_save_OBJCFLAGS=$OBJCFLAGS
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $OBJC accepts -g" >&5
$as_echo_n "checking whether $OBJC accepts -g... " >&6; }
-if test "${ac_cv_prog_objc_g+set}" = set; then :
+if ${ac_cv_prog_objc_g+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_save_objc_werror_flag=$ac_objc_werror_flag
@@ -22311,7 +22449,7 @@ if test "x$OPENJDK_TARGET_OS" != xwindows; then
set dummy ${ac_tool_prefix}ar; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$AR"; then
@@ -22351,7 +22489,7 @@ if test -z "$ac_cv_prog_AR"; then
set dummy ar; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_AR"; then
@@ -22693,7 +22831,7 @@ if test "x$OPENJDK_TARGET_OS" = xwindows; then :
set dummy link; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_WINLD+set}" = set; then :
+if ${ac_cv_prog_WINLD+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$WINLD"; then
@@ -23032,7 +23170,7 @@ $as_echo "yes" >&6; }
set dummy mt; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MT+set}" = set; then :
+if ${ac_cv_prog_MT+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$MT"; then
@@ -23353,7 +23491,7 @@ $as_echo "$as_me: Rewriting MT to \"$new_complete\"" >&6;}
set dummy rc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RC+set}" = set; then :
+if ${ac_cv_prog_RC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$RC"; then
@@ -23725,26 +23863,27 @@ $as_echo "$as_me: Rewriting RC to \"$new_complete\"" >&6;}
RC_FLAGS="$RC_FLAGS -d NDEBUG"
fi
- JDK_UPDATE_VERSION_NOTNULL=$JDK_UPDATE_VERSION
- if test "x$JDK_UPDATE_VERSION" = x; then :
- JDK_UPDATE_VERSION_NOTNULL=0
-
-fi
- RC_FLAGS="$RC_FLAGS -d \"JDK_BUILD_ID=$FULL_VERSION\""
- RC_FLAGS="$RC_FLAGS -d \"JDK_COMPANY=$COMPANY_NAME\""
- RC_FLAGS="$RC_FLAGS -d \"JDK_COMPONENT=$PRODUCT_NAME $JDK_RC_PLATFORM_NAME binary\""
- RC_FLAGS="$RC_FLAGS -d \"JDK_VER=$JDK_MINOR_VERSION.$JDK_MICRO_VERSION.$JDK_UPDATE_VERSION_NOTNULL.$COOKED_BUILD_NUMBER\""
- RC_FLAGS="$RC_FLAGS -d \"JDK_COPYRIGHT=Copyright \xA9 $COPYRIGHT_YEAR\""
- RC_FLAGS="$RC_FLAGS -d \"JDK_NAME=$PRODUCT_NAME $JDK_RC_PLATFORM_NAME $JDK_MINOR_VERSION $JDK_UPDATE_META_TAG\""
- RC_FLAGS="$RC_FLAGS -d \"JDK_FVER=$JDK_MINOR_VERSION,$JDK_MICRO_VERSION,$JDK_UPDATE_VERSION_NOTNULL,$COOKED_BUILD_NUMBER\""
+ # The version variables used to create RC_FLAGS may be overridden
+ # in a custom configure script, or possibly the command line.
+ # Let those variables be expanded at make time in spec.gmk.
+ # The \$ are escaped to the shell, and the $(...) variables
+ # are evaluated by make.
+ RC_FLAGS="$RC_FLAGS \
+ -d \"JDK_BUILD_ID=\$(FULL_VERSION)\" \
+ -d \"JDK_COMPANY=\$(COMPANY_NAME)\" \
+ -d \"JDK_COMPONENT=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) binary\" \
+ -d \"JDK_VER=\$(JDK_MINOR_VERSION).\$(JDK_MICRO_VERSION).\$(if \$(JDK_UPDATE_VERSION),\$(JDK_UPDATE_VERSION),0).\$(COOKED_BUILD_NUMBER)\" \
+ -d \"JDK_COPYRIGHT=Copyright \xA9 $COPYRIGHT_YEAR\" \
+ -d \"JDK_NAME=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) \$(JDK_MINOR_VERSION) \$(JDK_UPDATE_META_TAG)\" \
+ -d \"JDK_FVER=\$(JDK_MINOR_VERSION),\$(JDK_MICRO_VERSION),\$(if \$(JDK_UPDATE_VERSION),\$(JDK_UPDATE_VERSION),0),\$(COOKED_BUILD_NUMBER)\""
# lib.exe is used to create static libraries.
# Extract the first word of "lib", so it can be a program name with args.
set dummy lib; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_WINAR+set}" = set; then :
+if ${ac_cv_prog_WINAR+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$WINAR"; then
@@ -24050,7 +24189,7 @@ $as_echo "$as_me: Rewriting WINAR to \"$new_complete\"" >&6;}
set dummy dumpbin; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_DUMPBIN+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$DUMPBIN"; then
@@ -24369,7 +24508,7 @@ if test -n "$CPP" && test -d "$CPP"; then
CPP=
fi
if test -z "$CPP"; then
- if test "${ac_cv_prog_CPP+set}" = set; then :
+ if ${ac_cv_prog_CPP+:} false; then :
$as_echo_n "(cached) " >&6
else
# Double quotes because CPP needs to be expanded
@@ -24485,7 +24624,7 @@ else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
ac_ext=cpp
@@ -24769,7 +24908,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
if test -z "$CXXCPP"; then
- if test "${ac_cv_prog_CXXCPP+set}" = set; then :
+ if ${ac_cv_prog_CXXCPP+:} false; then :
$as_echo_n "(cached) " >&6
else
# Double quotes because CXXCPP needs to be expanded
@@ -24885,7 +25024,7 @@ else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
ac_ext=cpp
@@ -25187,7 +25326,7 @@ if test "x$OPENJDK_TARGET_OS" = xsolaris; then
set dummy as; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_AS+set}" = set; then :
+if ${ac_cv_path_AS+:} false; then :
$as_echo_n "(cached) " >&6
else
case $AS in
@@ -25499,7 +25638,7 @@ if test "x$OPENJDK_TARGET_OS" = xsolaris; then
set dummy nm; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_NM+set}" = set; then :
+if ${ac_cv_path_NM+:} false; then :
$as_echo_n "(cached) " >&6
else
case $NM in
@@ -25805,7 +25944,7 @@ $as_echo "$as_me: Rewriting NM to \"$new_complete\"" >&6;}
set dummy gnm; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_GNM+set}" = set; then :
+if ${ac_cv_path_GNM+:} false; then :
$as_echo_n "(cached) " >&6
else
case $GNM in
@@ -26111,7 +26250,7 @@ $as_echo "$as_me: Rewriting GNM to \"$new_complete\"" >&6;}
set dummy strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_STRIP+set}" = set; then :
+if ${ac_cv_path_STRIP+:} false; then :
$as_echo_n "(cached) " >&6
else
case $STRIP in
@@ -26417,7 +26556,7 @@ $as_echo "$as_me: Rewriting STRIP to \"$new_complete\"" >&6;}
set dummy mcs; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_MCS+set}" = set; then :
+if ${ac_cv_path_MCS+:} false; then :
$as_echo_n "(cached) " >&6
else
case $MCS in
@@ -26725,7 +26864,7 @@ elif test "x$OPENJDK_TARGET_OS" != xwindows; then
set dummy ${ac_tool_prefix}nm; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NM+set}" = set; then :
+if ${ac_cv_prog_NM+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$NM"; then
@@ -26765,7 +26904,7 @@ if test -z "$ac_cv_prog_NM"; then
set dummy nm; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NM+set}" = set; then :
+if ${ac_cv_prog_ac_ct_NM+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_NM"; then
@@ -27085,7 +27224,7 @@ $as_echo "$as_me: Rewriting NM to \"$new_complete\"" >&6;}
set dummy ${ac_tool_prefix}strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$STRIP"; then
@@ -27125,7 +27264,7 @@ if test -z "$ac_cv_prog_STRIP"; then
set dummy strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_STRIP"; then
@@ -27450,7 +27589,7 @@ if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux;
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJCOPY+set}" = set; then :
+if ${ac_cv_prog_OBJCOPY+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$OBJCOPY"; then
@@ -27494,7 +27633,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJCOPY+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJCOPY+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_OBJCOPY"; then
@@ -27821,7 +27960,7 @@ if test -n "$ac_tool_prefix"; then
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$OBJDUMP"; then
@@ -27865,7 +28004,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_OBJDUMP"; then
@@ -28189,7 +28328,7 @@ if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
set dummy lipo; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_LIPO+set}" = set; then :
+if ${ac_cv_path_LIPO+:} false; then :
$as_echo_n "(cached) " >&6
else
case $LIPO in
@@ -28506,7 +28645,7 @@ PATH="$OLD_PATH"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
$as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -28683,7 +28822,7 @@ fi
for ac_header in stdio.h
do :
ac_fn_cxx_check_header_mongrel "$LINENO" "stdio.h" "ac_cv_header_stdio_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdio_h" = x""yes; then :
+if test "x$ac_cv_header_stdio_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_STDIO_H 1
_ACEOF
@@ -28712,7 +28851,7 @@ done
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int *" >&5
$as_echo_n "checking size of int *... " >&6; }
-if test "${ac_cv_sizeof_int_p+set}" = set; then :
+if ${ac_cv_sizeof_int_p+:} false; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_cxx_compute_int "$LINENO" "(long int) (sizeof (int *))" "ac_cv_sizeof_int_p" "$ac_includes_default"; then :
@@ -28722,7 +28861,7 @@ else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (int *)
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_int_p=0
fi
@@ -28769,7 +28908,7 @@ $as_echo "$OPENJDK_TARGET_CPU_BITS bits" >&6; }
#
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_cv_c_bigendian=unknown
@@ -29945,8 +30084,8 @@ if test "x$with_x" = xno; then
have_x=disabled
else
case $x_includes,$x_libraries in #(
- *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5 ;; #(
- *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then :
+ *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5;; #(
+ *,NONE | NONE,*) if ${ac_cv_have_x+:} false; then :
$as_echo_n "(cached) " >&6
else
# One or both of the vars are not set, and there is no cached value.
@@ -30223,7 +30362,7 @@ if ac_fn_cxx_try_link "$LINENO"; then :
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet" >&5
$as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; }
-if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then :
+if ${ac_cv_lib_dnet_dnet_ntoa+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -30257,14 +30396,14 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
$as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; }
-if test "x$ac_cv_lib_dnet_dnet_ntoa" = x""yes; then :
+if test "x$ac_cv_lib_dnet_dnet_ntoa" = xyes; then :
X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
fi
if test $ac_cv_lib_dnet_dnet_ntoa = no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet_stub" >&5
$as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; }
-if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then :
+if ${ac_cv_lib_dnet_stub_dnet_ntoa+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -30298,7 +30437,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
$as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; }
-if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = x""yes; then :
+if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = xyes; then :
X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
fi
@@ -30317,14 +30456,14 @@ rm -f core conftest.err conftest.$ac_objext \
# The functions gethostbyname, getservbyname, and inet_addr are
# in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
ac_fn_cxx_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname"
-if test "x$ac_cv_func_gethostbyname" = x""yes; then :
+if test "x$ac_cv_func_gethostbyname" = xyes; then :
fi
if test $ac_cv_func_gethostbyname = no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
$as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -30358,14 +30497,14 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
fi
if test $ac_cv_lib_nsl_gethostbyname = no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lbsd" >&5
$as_echo_n "checking for gethostbyname in -lbsd... " >&6; }
-if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then :
+if ${ac_cv_lib_bsd_gethostbyname+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -30399,7 +30538,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gethostbyname" >&5
$as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; }
-if test "x$ac_cv_lib_bsd_gethostbyname" = x""yes; then :
+if test "x$ac_cv_lib_bsd_gethostbyname" = xyes; then :
X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
fi
@@ -30414,14 +30553,14 @@ fi
# must be given before -lnsl if both are needed. We assume that
# if connect needs -lnsl, so does gethostbyname.
ac_fn_cxx_check_func "$LINENO" "connect" "ac_cv_func_connect"
-if test "x$ac_cv_func_connect" = x""yes; then :
+if test "x$ac_cv_func_connect" = xyes; then :
fi
if test $ac_cv_func_connect = no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5
$as_echo_n "checking for connect in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_connect+set}" = set; then :
+if ${ac_cv_lib_socket_connect+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -30455,7 +30594,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5
$as_echo "$ac_cv_lib_socket_connect" >&6; }
-if test "x$ac_cv_lib_socket_connect" = x""yes; then :
+if test "x$ac_cv_lib_socket_connect" = xyes; then :
X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
fi
@@ -30463,14 +30602,14 @@ fi
# Guillermo Gomez says -lposix is necessary on A/UX.
ac_fn_cxx_check_func "$LINENO" "remove" "ac_cv_func_remove"
-if test "x$ac_cv_func_remove" = x""yes; then :
+if test "x$ac_cv_func_remove" = xyes; then :
fi
if test $ac_cv_func_remove = no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for remove in -lposix" >&5
$as_echo_n "checking for remove in -lposix... " >&6; }
-if test "${ac_cv_lib_posix_remove+set}" = set; then :
+if ${ac_cv_lib_posix_remove+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -30504,7 +30643,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix_remove" >&5
$as_echo "$ac_cv_lib_posix_remove" >&6; }
-if test "x$ac_cv_lib_posix_remove" = x""yes; then :
+if test "x$ac_cv_lib_posix_remove" = xyes; then :
X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
fi
@@ -30512,14 +30651,14 @@ fi
# BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
ac_fn_cxx_check_func "$LINENO" "shmat" "ac_cv_func_shmat"
-if test "x$ac_cv_func_shmat" = x""yes; then :
+if test "x$ac_cv_func_shmat" = xyes; then :
fi
if test $ac_cv_func_shmat = no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for shmat in -lipc" >&5
$as_echo_n "checking for shmat in -lipc... " >&6; }
-if test "${ac_cv_lib_ipc_shmat+set}" = set; then :
+if ${ac_cv_lib_ipc_shmat+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -30553,7 +30692,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ipc_shmat" >&5
$as_echo "$ac_cv_lib_ipc_shmat" >&6; }
-if test "x$ac_cv_lib_ipc_shmat" = x""yes; then :
+if test "x$ac_cv_lib_ipc_shmat" = xyes; then :
X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
fi
@@ -30571,7 +30710,7 @@ fi
# John Interrante, Karl Berry
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceConnectionNumber in -lICE" >&5
$as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; }
-if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then :
+if ${ac_cv_lib_ICE_IceConnectionNumber+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -30605,7 +30744,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
$as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; }
-if test "x$ac_cv_lib_ICE_IceConnectionNumber" = x""yes; then :
+if test "x$ac_cv_lib_ICE_IceConnectionNumber" = xyes; then :
X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
fi
@@ -31623,7 +31762,7 @@ $as_echo "$FREETYPE2_FOUND" >&6; }
LDFLAGS="$FREETYPE2_LIBS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for FT_Init_FreeType in -lfreetype" >&5
$as_echo_n "checking for FT_Init_FreeType in -lfreetype... " >&6; }
-if test "${ac_cv_lib_freetype_FT_Init_FreeType+set}" = set; then :
+if ${ac_cv_lib_freetype_FT_Init_FreeType+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -31657,7 +31796,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_freetype_FT_Init_FreeType" >&5
$as_echo "$ac_cv_lib_freetype_FT_Init_FreeType" >&6; }
-if test "x$ac_cv_lib_freetype_FT_Init_FreeType" = x""yes; then :
+if test "x$ac_cv_lib_freetype_FT_Init_FreeType" = xyes; then :
FREETYPE2_FOUND=true
else
as_fn_error $? "Could not find freetype2! $HELP_MSG " "$LINENO" 5
@@ -31945,7 +32084,7 @@ fi
for ac_header in alsa/asoundlib.h
do :
ac_fn_cxx_check_header_mongrel "$LINENO" "alsa/asoundlib.h" "ac_cv_header_alsa_asoundlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_alsa_asoundlib_h" = x""yes; then :
+if test "x$ac_cv_header_alsa_asoundlib_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_ALSA_ASOUNDLIB_H 1
_ACEOF
@@ -32004,7 +32143,7 @@ fi
USE_EXTERNAL_LIBJPEG=true
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -ljpeg" >&5
$as_echo_n "checking for main in -ljpeg... " >&6; }
-if test "${ac_cv_lib_jpeg_main+set}" = set; then :
+if ${ac_cv_lib_jpeg_main+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -32032,7 +32171,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jpeg_main" >&5
$as_echo "$ac_cv_lib_jpeg_main" >&6; }
-if test "x$ac_cv_lib_jpeg_main" = x""yes; then :
+if test "x$ac_cv_lib_jpeg_main" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBJPEG 1
_ACEOF
@@ -32081,7 +32220,7 @@ if test "x${with_giflib}" = "xbundled"; then
USE_EXTERNAL_LIBGIF=false
elif test "x${with_giflib}" = "xsystem"; then
ac_fn_cxx_check_header_mongrel "$LINENO" "gif_lib.h" "ac_cv_header_gif_lib_h" "$ac_includes_default"
-if test "x$ac_cv_header_gif_lib_h" = x""yes; then :
+if test "x$ac_cv_header_gif_lib_h" = xyes; then :
else
as_fn_error $? "--with-giflib=system specified, but gif_lib.h not found!" "$LINENO" 5
@@ -32090,7 +32229,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for DGifGetCode in -lgif" >&5
$as_echo_n "checking for DGifGetCode in -lgif... " >&6; }
-if test "${ac_cv_lib_gif_DGifGetCode+set}" = set; then :
+if ${ac_cv_lib_gif_DGifGetCode+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -32124,7 +32263,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gif_DGifGetCode" >&5
$as_echo "$ac_cv_lib_gif_DGifGetCode" >&6; }
-if test "x$ac_cv_lib_gif_DGifGetCode" = x""yes; then :
+if test "x$ac_cv_lib_gif_DGifGetCode" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBGIF 1
_ACEOF
@@ -32156,7 +32295,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for compress in -lz" >&5
$as_echo_n "checking for compress in -lz... " >&6; }
-if test "${ac_cv_lib_z_compress+set}" = set; then :
+if ${ac_cv_lib_z_compress+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -32190,7 +32329,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_compress" >&5
$as_echo "$ac_cv_lib_z_compress" >&6; }
-if test "x$ac_cv_lib_z_compress" = x""yes; then :
+if test "x$ac_cv_lib_z_compress" = xyes; then :
ZLIB_FOUND=yes
else
ZLIB_FOUND=no
@@ -32283,7 +32422,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5
$as_echo_n "checking for cos in -lm... " >&6; }
-if test "${ac_cv_lib_m_cos+set}" = set; then :
+if ${ac_cv_lib_m_cos+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -32317,7 +32456,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5
$as_echo "$ac_cv_lib_m_cos" >&6; }
-if test "x$ac_cv_lib_m_cos" = x""yes; then :
+if test "x$ac_cv_lib_m_cos" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBM 1
_ACEOF
@@ -32341,7 +32480,7 @@ save_LIBS="$LIBS"
LIBS=""
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -32375,7 +32514,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBDL 1
_ACEOF
@@ -32605,7 +32744,7 @@ and LIBFFI_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
To get pkg-config, see .
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
LIBFFI_CFLAGS=$pkg_cv_LIBFFI_CFLAGS
LIBFFI_LIBS=$pkg_cv_LIBFFI_LIBS
@@ -32621,7 +32760,7 @@ if test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
set dummy llvm-config; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LLVM_CONFIG+set}" = set; then :
+if ${ac_cv_prog_LLVM_CONFIG+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$LLVM_CONFIG"; then
@@ -33237,7 +33376,7 @@ fi
set dummy ccache; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_CCACHE+set}" = set; then :
+if ${ac_cv_path_CCACHE+:} false; then :
$as_echo_n "(cached) " >&6
else
case $CCACHE in
@@ -33499,10 +33638,21 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
:end' >>confcache
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
if test -w "$cache_file"; then
- test "x$cache_file" != "x/dev/null" &&
+ if test "x$cache_file" != "x/dev/null"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
$as_echo "$as_me: updating cache $cache_file" >&6;}
- cat confcache >$cache_file
+ if test ! -f "$cache_file" || test -h "$cache_file"; then
+ cat confcache >"$cache_file"
+ else
+ case $cache_file in #(
+ */* | ?:*)
+ mv -f confcache "$cache_file"$$ &&
+ mv -f "$cache_file"$$ "$cache_file" ;; #(
+ *)
+ mv -f confcache "$cache_file" ;;
+ esac
+ fi
+ fi
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -33534,7 +33684,7 @@ LTLIBOBJS=$ac_ltlibobjs
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -33635,6 +33785,7 @@ fi
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -33942,7 +34093,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# values after options handling.
ac_log="
This file was extended by OpenJDK $as_me jdk8, which was
-generated by GNU Autoconf 2.67. Invocation command line was
+generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -34005,7 +34156,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
OpenJDK config.status jdk8
-configured by $0, generated by GNU Autoconf 2.67,
+configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -34134,7 +34285,7 @@ do
"$OUTPUT_ROOT/spec.sh") CONFIG_FILES="$CONFIG_FILES $OUTPUT_ROOT/spec.sh:$AUTOCONF_DIR/spec.sh.in" ;;
"$OUTPUT_ROOT/Makefile") CONFIG_FILES="$CONFIG_FILES $OUTPUT_ROOT/Makefile:$AUTOCONF_DIR/Makefile.in" ;;
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
done
@@ -34156,9 +34307,10 @@ fi
# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
- tmp=
+ tmp= ac_tmp=
trap 'exit_status=$?
- { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+ : "${ac_tmp:=$tmp}"
+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
' 0
trap 'as_fn_exit 1' 1 2 13 15
}
@@ -34166,12 +34318,13 @@ $debug ||
{
tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
+ test -d "$tmp"
} ||
{
tmp=./conf$$-$RANDOM
(umask 077 && mkdir "$tmp")
} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
# Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES.
@@ -34193,7 +34346,7 @@ else
ac_cs_awk_cr=$ac_cr
fi
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
_ACEOF
@@ -34221,7 +34374,7 @@ done
rm -f conf$$subs.sh
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
_ACEOF
sed -n '
h
@@ -34269,7 +34422,7 @@ t delim
rm -f conf$$subs.awk
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
for (key in S) S_is_set[key] = 1
FS = ""
@@ -34301,7 +34454,7 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
else
cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
|| as_fn_error $? "could not setup config files machinery" "$LINENO" 5
_ACEOF
@@ -34335,7 +34488,7 @@ fi # test -n "$CONFIG_FILES"
# No need to generate them if there are no CONFIG_HEADERS.
# This happens for instance with `./config.status Makefile'.
if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
BEGIN {
_ACEOF
@@ -34347,8 +34500,8 @@ _ACEOF
# handling of long lines.
ac_delim='%!_!# '
for ac_last_try in false false :; do
- ac_t=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_t"; then
+ ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_tt"; then
break
elif $ac_last_try; then
as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
@@ -34449,7 +34602,7 @@ do
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;;
+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
esac
@@ -34468,7 +34621,7 @@ do
for ac_f
do
case $ac_f in
- -) ac_f="$tmp/stdin";;
+ -) ac_f="$ac_tmp/stdin";;
*) # Look for the file first in the build tree, then in the source tree
# (if the path is not absolute). The absolute path cannot be DOS-style,
# because $ac_f cannot contain `:'.
@@ -34477,7 +34630,7 @@ do
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;;
+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
esac
case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
as_fn_append ac_file_inputs " '$ac_f'"
@@ -34503,8 +34656,8 @@ $as_echo "$as_me: creating $ac_file" >&6;}
esac
case $ac_tag in
- *:-:* | *:-) cat >"$tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+ *:-:* | *:-) cat >"$ac_tmp/stdin" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
esac
;;
esac
@@ -34629,21 +34782,22 @@ s&@abs_builddir@&$ac_abs_builddir&;t t
s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
$ac_datarootdir_hack
"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
+ "$ac_tmp/out"`; test -z "$ac_out"; } &&
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined" >&5
$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined" >&2;}
- rm -f "$tmp/stdin"
+ rm -f "$ac_tmp/stdin"
case $ac_file in
- -) cat "$tmp/out" && rm -f "$tmp/out";;
- *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
esac \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
;;
@@ -34654,20 +34808,20 @@ which seems to be undefined. Please make sure it is defined" >&2;}
if test x"$ac_file" != x-; then
{
$as_echo "/* $configure_input */" \
- && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
- } >"$tmp/config.h" \
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+ } >"$ac_tmp/config.h" \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
$as_echo "$as_me: $ac_file is unchanged" >&6;}
else
rm -f "$ac_file"
- mv "$tmp/config.h" "$ac_file" \
+ mv "$ac_tmp/config.h" "$ac_file" \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
fi
else
$as_echo "/* $configure_input */" \
- && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
|| as_fn_error $? "could not create -" "$LINENO" 5
fi
;;
diff --git a/common/autoconf/spec.gmk.in b/common/autoconf/spec.gmk.in
index 272a003673f..c30fd35dc18 100644
--- a/common/autoconf/spec.gmk.in
+++ b/common/autoconf/spec.gmk.in
@@ -510,6 +510,7 @@ TAR:=@TAR@
TAIL:=@TAIL@
TEE:=@TEE@
TIME:=@TIME@
+IS_GNU_TIME:=@IS_GNU_TIME@
TR:=@TR@
TOUCH:=@TOUCH@
UNIQ:=@UNIQ@
diff --git a/common/autoconf/toolchain.m4 b/common/autoconf/toolchain.m4
index 10d7728cc33..b2b367f63c2 100644
--- a/common/autoconf/toolchain.m4
+++ b/common/autoconf/toolchain.m4
@@ -47,7 +47,7 @@ AC_DEFUN([TOOLCHAIN_CHECK_COMPILER_VERSION],
elif test "x$OPENJDK_TARGET_OS" = xwindows; then
# First line typically looks something like:
# Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
- COMPILER_VERSION_TEST=`$COMPILER 2>&1 | $HEAD -n 1`
+ COMPILER_VERSION_TEST=`$COMPILER 2>&1 | $HEAD -n 1 | $TR -d '\r'`
COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.*Version \(@<:@1-9@:>@@<:@0-9.@:>@*\) .*/\1/p"`
COMPILER_VENDOR="Microsoft CL.EXE"
COMPILER_CPU_TEST=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.* for \(.*\)$/\1/p"`
@@ -226,15 +226,6 @@ BDEPS_CHECK_MODULE(DEVKIT, devkit, xxx,
],
[])
-if test "x$SYS_ROOT" != "x/" ; then
- CFLAGS="--sysroot=$SYS_ROOT $CFLAGS"
- CXXFLAGS="--sysroot=$SYS_ROOT $CXXFLAGS"
- OBJCFLAGS="--sysroot=$SYS_ROOT $OBJCFLAGS"
- OBJCXXFLAGS="--sysroot=$SYS_ROOT $OBJCFLAGS"
- CPPFLAGS="--sysroot=$SYS_ROOT $CPPFLAGS"
- LDFLAGS="--sysroot=$SYS_ROOT $LDFLAGS"
-fi
-
# Store the CFLAGS etal passed to the configure script.
ORG_CFLAGS="$CFLAGS"
ORG_CXXFLAGS="$CXXFLAGS"
@@ -378,17 +369,20 @@ AS_IF([test "x$OPENJDK_TARGET_OS" = xwindows], [
AS_IF([test "x$VARIANT" = xOPT], [
RC_FLAGS="$RC_FLAGS -d NDEBUG"
])
- JDK_UPDATE_VERSION_NOTNULL=$JDK_UPDATE_VERSION
- AS_IF([test "x$JDK_UPDATE_VERSION" = x], [
- JDK_UPDATE_VERSION_NOTNULL=0
- ])
- RC_FLAGS="$RC_FLAGS -d \"JDK_BUILD_ID=$FULL_VERSION\""
- RC_FLAGS="$RC_FLAGS -d \"JDK_COMPANY=$COMPANY_NAME\""
- RC_FLAGS="$RC_FLAGS -d \"JDK_COMPONENT=$PRODUCT_NAME $JDK_RC_PLATFORM_NAME binary\""
- RC_FLAGS="$RC_FLAGS -d \"JDK_VER=$JDK_MINOR_VERSION.$JDK_MICRO_VERSION.$JDK_UPDATE_VERSION_NOTNULL.$COOKED_BUILD_NUMBER\""
- RC_FLAGS="$RC_FLAGS -d \"JDK_COPYRIGHT=Copyright \xA9 $COPYRIGHT_YEAR\""
- RC_FLAGS="$RC_FLAGS -d \"JDK_NAME=$PRODUCT_NAME $JDK_RC_PLATFORM_NAME $JDK_MINOR_VERSION $JDK_UPDATE_META_TAG\""
- RC_FLAGS="$RC_FLAGS -d \"JDK_FVER=$JDK_MINOR_VERSION,$JDK_MICRO_VERSION,$JDK_UPDATE_VERSION_NOTNULL,$COOKED_BUILD_NUMBER\""
+
+ # The version variables used to create RC_FLAGS may be overridden
+ # in a custom configure script, or possibly the command line.
+ # Let those variables be expanded at make time in spec.gmk.
+ # The \$ are escaped to the shell, and the $(...) variables
+ # are evaluated by make.
+ RC_FLAGS="$RC_FLAGS \
+ -d \"JDK_BUILD_ID=\$(FULL_VERSION)\" \
+ -d \"JDK_COMPANY=\$(COMPANY_NAME)\" \
+ -d \"JDK_COMPONENT=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) binary\" \
+ -d \"JDK_VER=\$(JDK_MINOR_VERSION).\$(JDK_MICRO_VERSION).\$(if \$(JDK_UPDATE_VERSION),\$(JDK_UPDATE_VERSION),0).\$(COOKED_BUILD_NUMBER)\" \
+ -d \"JDK_COPYRIGHT=Copyright \xA9 $COPYRIGHT_YEAR\" \
+ -d \"JDK_NAME=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) \$(JDK_MINOR_VERSION) \$(JDK_UPDATE_META_TAG)\" \
+ -d \"JDK_FVER=\$(JDK_MINOR_VERSION),\$(JDK_MICRO_VERSION),\$(if \$(JDK_UPDATE_VERSION),\$(JDK_UPDATE_VERSION),0),\$(COOKED_BUILD_NUMBER)\""
# lib.exe is used to create static libraries.
AC_CHECK_PROG([WINAR], [lib],[lib],,,)
diff --git a/common/autoconf/toolchain_windows.m4 b/common/autoconf/toolchain_windows.m4
index 966c0133995..e5d4fff38f9 100644
--- a/common/autoconf/toolchain_windows.m4
+++ b/common/autoconf/toolchain_windows.m4
@@ -208,6 +208,8 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
# Remove any trailing \ from INCLUDE and LIB to avoid trouble in spec.gmk.
VS_INCLUDE=`$ECHO "$INCLUDE" | $SED 's/\\\\$//'`
VS_LIB=`$ECHO "$LIB" | $SED 's/\\\\$//'`
+ # Remove any paths containing # (typically F#) as that messes up make
+ PATH=`$ECHO "$PATH" | $SED 's/[[^:#]]*#[^:]*://g'`
VS_PATH="$PATH"
AC_SUBST(VS_INCLUDE)
AC_SUBST(VS_LIB)
diff --git a/common/makefiles/JavaCompilation.gmk b/common/makefiles/JavaCompilation.gmk
index 4301cee1f0b..50b05865f00 100644
--- a/common/makefiles/JavaCompilation.gmk
+++ b/common/makefiles/JavaCompilation.gmk
@@ -155,7 +155,7 @@ define SetupArchive
# lines, but not here for use in make dependencies.
$1_DEPS+=$$(subst \,,$$(foreach src,$$($1_SRCS),$$(addprefix $$(src)/,$$($1_EXTRA_FILES))))
ifeq (,$$($1_SKIP_METAINF))
- $1_DEPS+=$$(call CacheFind $$(wildcard $$(addsuffix /META-INF,$$($1_SRCS))))
+ $1_DEPS+=$$(call CacheFind,$$(wildcard $$(addsuffix /META-INF,$$($1_SRCS))))
endif
endif
@@ -255,12 +255,21 @@ define SetupZipArchive
$(call LogSetupMacroEntry,SetupZipArchive($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15))
$(if $(16),$(error Internal makefile error: Too many arguments to SetupZipArchive, please update JavaCompilation.gmk))
+ # To avoid running find over too large sets of files, which causes make to crash
+ # on some configurations (cygwin), use INCLUDES and INCLUDE_FILES to build a set
+ # of directories to run find in, if available.
+ ifneq ($$($1_INCLUDES)$$($1_INCLUDE_FILES),)
+ $1_FIND_LIST := $$(wildcard $$(foreach i,$$($1_SRC),\
+ $$(addprefix $$i/,$$($1_INCLUDES) $$($1_INCLUDE_FILES))))
+ else
+ $1_FIND_LIST := $$($1_SRC)
+ endif
+
# Find all files in the source tree.
$1_ALL_SRCS := $$(call not-containing,_the.,\
- $$(filter $$(addprefix %,$$($1_SUFFIXES)),$$(call CacheFind $$($1_SRC))))
+ $$(filter $$(addprefix %,$$($1_SUFFIXES)),$$(call CacheFind,$$($1_FIND_LIST))))
ifneq ($$($1_INCLUDES),)
- $1_SRC_INCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_INCLUDES))))
ifneq ($$($1_SUFFIXES),)
$1_ZIP_INCLUDES := $$(foreach s,$$($1_SUFFIXES),\
$$(addprefix -i$(SPACE)$(DQUOTE),$$(addsuffix /*$$s$(DQUOTE),$$($1_INCLUDES))))
@@ -269,12 +278,8 @@ define SetupZipArchive
endif
endif
ifneq ($$($1_INCLUDE_FILES),)
- $1_SRC_INCLUDES += $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$($1_INCLUDE_FILES)))
$1_ZIP_INCLUDES += $$(addprefix -i$(SPACE),$$($1_INCLUDE_FILES))
endif
- ifneq ($$($1_SRC_INCLUDES),)
- $1_ALL_SRCS := $$(filter $$($1_SRC_INCLUDES),$$($1_ALL_SRCS))
- endif
ifneq ($$($1_EXCLUDES),)
$1_SRC_EXCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_EXCLUDES))))
$1_ZIP_EXCLUDES := $$(addprefix -x$(SPACE)$(DQUOTE),$$(addsuffix /*$(DQUOTE),$$($1_EXCLUDES)))
diff --git a/common/makefiles/Main.gmk b/common/makefiles/Main.gmk
index 0120c1f33f3..1214ce56427 100644
--- a/common/makefiles/Main.gmk
+++ b/common/makefiles/Main.gmk
@@ -183,7 +183,7 @@ bootcycle-images-only: start-make
test: images test-only
test-only: start-make
@$(call TargetEnter)
- @($(CD) $(SRC_ROOT)/test && $(BUILD_LOG_WRAPPER) $(MAKE) -j1 -k JT_HOME=$(JT_HOME) MAKEFLAGS= PRODUCT_HOME=$(JDK_IMAGE_DIR) JPRT_JAVA_HOME=$(JDK_IMAGE_DIR) ALT_OUTPUTDIR=$(OUTPUT_ROOT) $(TEST)) || true
+ @($(CD) $(SRC_ROOT)/test && $(BUILD_LOG_WRAPPER) $(MAKE) -j1 -k MAKEFLAGS= JT_HOME=$(JT_HOME) PRODUCT_HOME=$(JDK_IMAGE_DIR) JPRT_JAVA_HOME=$(JDK_IMAGE_DIR) ALT_OUTPUTDIR=$(OUTPUT_ROOT) CONCURRENCY=$(JOBS) $(TEST)) || true
@$(call TargetExit)
# Stores the tips for each repository. This file is be used when constructing the jdk image and can be
@@ -192,7 +192,7 @@ source-tips: $(OUTPUT_ROOT)/source_tips
$(OUTPUT_ROOT)/source_tips: FRC
@$(MKDIR) -p $(@D)
@$(RM) $@
- @$(if $(HG),$(call GetSourceTips),$(ECHO) "hg not installed" > $@)
+ @$(call GetSourceTips)
# Remove everything, except the output from configure.
diff --git a/common/makefiles/MakeBase.gmk b/common/makefiles/MakeBase.gmk
index 98a56f86cd1..d2bf4aaabee 100644
--- a/common/makefiles/MakeBase.gmk
+++ b/common/makefiles/MakeBase.gmk
@@ -332,9 +332,11 @@ define SetupLogging
# Shell redefinition trick inspired by http://www.cmcrossroads.com/ask-mr-make/6535-tracing-rule-execution-in-gnu-make
# For each target executed, will print
# Building (from ) ( newer)
- # but with a limit of 20 on , to avoid cluttering logs too much (and causing a crash on Cygwin).
- OLD_SHELL:=$$(SHELL)
- WRAPPER_SHELL:=$$(OLD_SHELL) $$(SRC_ROOT)/common/bin/shell-tracer.sh $$(if $$(TIME),$$(TIME),-) $$(OUTPUT_ROOT)/build-trace-time.log $$(OLD_SHELL)
+ # but with a limit of 20 on , to avoid cluttering logs too much
+ # (and causing a crash on Cygwin).
+ # Default shell seems to always be /bin/sh. Must override with bash to get this to work on Solaris.
+ # Only use time if it's GNU time which supports format and output file.
+ WRAPPER_SHELL:=/bin/bash $$(SRC_ROOT)/common/bin/shell-tracer.sh $$(if $$(findstring yes,$$(IS_GNU_TIME)),$$(TIME),-) $$(OUTPUT_ROOT)/build-trace-time.log /bin/bash
SHELL=$$(warning $$(if $$@,Building $$@,Running shell command) $$(if $$<, (from $$<))$$(if $$?, ($$(wordlist 1, 20, $$?) $$(if $$(wordlist 21, 22, $$?), ... [in total $$(words $$?) files]) newer)))$$(WRAPPER_SHELL)
endif
# Never remove warning messages; this is just for completeness
diff --git a/corba/.hgtags b/corba/.hgtags
index 3a3e0a8a776..28f0b92d88b 100644
--- a/corba/.hgtags
+++ b/corba/.hgtags
@@ -216,3 +216,6 @@ c8286839d0df04aba819ec4bef12b86babccf30e jdk8-b90
717aa26f8e0a1c0e768aebb3a763aca56db0c83e jdk8-b92
8dc9d7ccbb2d77fd89bc321bb02e67c152aca257 jdk8-b93
22f5d7f261d9d61a953d2d9a53f2e9ce0ca361d1 jdk8-b94
+2cf36f43df36137980d9828cec27003ec10daeee jdk8-b95
+3357c2776431d51a8de326a85e0f41420e40774f jdk8-b96
+469995a8e97424f450c880606d689bf345277b19 jdk8-b97
diff --git a/corba/make/com/sun/corba/minclude/com_sun_corba_se_impl_orbutil.jmk b/corba/make/com/sun/corba/minclude/com_sun_corba_se_impl_orbutil.jmk
index 465c546ec59..d007b4e374c 100644
--- a/corba/make/com/sun/corba/minclude/com_sun_corba_se_impl_orbutil.jmk
+++ b/corba/make/com/sun/corba/minclude/com_sun_corba_se_impl_orbutil.jmk
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 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
@@ -39,7 +39,6 @@ com_sun_corba_se_impl_orbutil_java = \
com/sun/corba/se/impl/orbutil/ObjectStreamClassUtil_1_3.java \
com/sun/corba/se/impl/orbutil/ORBConstants.java \
com/sun/corba/se/impl/orbutil/ORBUtility.java \
- com/sun/corba/se/impl/orbutil/ORBClassLoader.java \
com/sun/corba/se/impl/orbutil/RepIdDelegator.java \
com/sun/corba/se/impl/orbutil/RepositoryIdFactory.java \
com/sun/corba/se/impl/orbutil/RepositoryIdStrings.java \
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/activation/ServerManagerImpl.java b/corba/src/share/classes/com/sun/corba/se/impl/activation/ServerManagerImpl.java
index 4fde9aad06a..745f0aafadb 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/activation/ServerManagerImpl.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/activation/ServerManagerImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2004, 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
@@ -81,7 +81,6 @@ import com.sun.corba.se.impl.logging.ActivationSystemException ;
import com.sun.corba.se.impl.oa.poa.BadServerIdHandler;
import com.sun.corba.se.impl.orbutil.ORBConstants;
-import com.sun.corba.se.impl.orbutil.ORBClassLoader;
import com.sun.corba.se.impl.orbutil.ORBUtility;
import com.sun.corba.se.impl.util.Utility;
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java b/corba/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java
index 0177bdd6407..3018cdef99e 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java
@@ -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
@@ -33,6 +33,8 @@ package com.sun.corba.se.impl.corba;
import java.io.Serializable;
import java.math.BigDecimal;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
import java.util.List ;
import java.util.ArrayList ;
@@ -504,7 +506,13 @@ public class AnyImpl extends Any
public org.omg.CORBA.portable.OutputStream create_output_stream()
{
//debug.log ("create_output_stream");
- return new AnyOutputStream(orb);
+ final ORB finalorb = this.orb;
+ return AccessController.doPrivileged(new PrivilegedAction() {
+ @Override
+ public AnyOutputStream run() {
+ return new AnyOutputStream(finalorb);
+ }
+ });
}
/**
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/corba/TypeCodeImpl.java b/corba/src/share/classes/com/sun/corba/se/impl/corba/TypeCodeImpl.java
index 7e926ddba63..4e90f7f2a32 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/corba/TypeCodeImpl.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/corba/TypeCodeImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
@@ -600,7 +600,8 @@ public final class TypeCodeImpl extends TypeCode
}
public static CDROutputStream newOutputStream(ORB orb) {
- TypeCodeOutputStream tcos = new TypeCodeOutputStream((ORB)orb);
+ TypeCodeOutputStream tcos =
+ sun.corba.OutputStreamFactory.newTypeCodeOutputStream(orb);
//if (debug) System.out.println("Created TypeCodeOutputStream " + tcos +
// " with no parent");
return tcos;
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/encoding/IDLJavaSerializationOutputStream.java b/corba/src/share/classes/com/sun/corba/se/impl/encoding/IDLJavaSerializationOutputStream.java
index b26d2db2214..6914e0ec87a 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/encoding/IDLJavaSerializationOutputStream.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/encoding/IDLJavaSerializationOutputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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 @@ import org.omg.CORBA.CompletionStatus;
*
* @author Ram Jeyaraman
*/
-public class IDLJavaSerializationOutputStream extends CDROutputStreamBase {
+final class IDLJavaSerializationOutputStream extends CDROutputStreamBase {
private ORB orb;
private byte encodingVersion;
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java b/corba/src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java
index 79139f15de6..94f6466013a 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
@@ -196,7 +196,8 @@ public final class TypeCodeOutputStream extends EncapsOutputStream
}
public TypeCodeOutputStream createEncapsulation(org.omg.CORBA.ORB _orb) {
- TypeCodeOutputStream encap = new TypeCodeOutputStream((ORB)_orb, isLittleEndian());
+ TypeCodeOutputStream encap =
+ sun.corba.OutputStreamFactory.newTypeCodeOutputStream((ORB)_orb, isLittleEndian());
encap.setEnclosingOutputStream(this);
encap.makeEncapsulation();
//if (TypeCodeImpl.debug) System.out.println("Created TypeCodeOutputStream " + encap + " with parent " + this);
@@ -211,7 +212,8 @@ public final class TypeCodeOutputStream extends EncapsOutputStream
public static TypeCodeOutputStream wrapOutputStream(OutputStream os) {
boolean littleEndian = ((os instanceof CDROutputStream) ? ((CDROutputStream)os).isLittleEndian() : false);
- TypeCodeOutputStream tos = new TypeCodeOutputStream((ORB)os.orb(), littleEndian);
+ TypeCodeOutputStream tos =
+ sun.corba.OutputStreamFactory.newTypeCodeOutputStream((ORB)os.orb(), littleEndian);
tos.setEnclosingOutputStream(os);
//if (TypeCodeImpl.debug) System.out.println("Created TypeCodeOutputStream " + tos + " with parent " + os);
return tos;
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/interceptors/CDREncapsCodec.java b/corba/src/share/classes/com/sun/corba/se/impl/interceptors/CDREncapsCodec.java
index 2b3e0fae116..6f469e2dc7d 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/interceptors/CDREncapsCodec.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/interceptors/CDREncapsCodec.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -155,7 +155,8 @@ public final class CDREncapsCodec
// be versioned. This can be handled once this work is complete.
// Create output stream with default endianness.
- EncapsOutputStream cdrOut = new EncapsOutputStream(
+ EncapsOutputStream cdrOut =
+ sun.corba.OutputStreamFactory.newEncapsOutputStream(
(com.sun.corba.se.spi.orb.ORB)orb, giopVersion );
// This is an encapsulation, so put out the endian:
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java b/corba/src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java
index e7d7ae27e76..9ad417e464e 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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,7 +77,6 @@ import com.sun.corba.se.impl.logging.InterceptorsSystemException;
import com.sun.corba.se.impl.logging.ORBUtilSystemException;
import com.sun.corba.se.impl.logging.OMGSystemException;
import com.sun.corba.se.impl.corba.RequestImpl;
-import com.sun.corba.se.impl.orbutil.ORBClassLoader;
import com.sun.corba.se.impl.orbutil.ORBConstants;
import com.sun.corba.se.impl.orbutil.ORBUtility;
import com.sun.corba.se.impl.orbutil.StackImpl;
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java b/corba/src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java
index a20de7a3af0..52e457f2220 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -86,13 +86,14 @@ import com.sun.corba.se.impl.encoding.CDRInputStream_1_0;
import com.sun.corba.se.impl.encoding.EncapsOutputStream;
import com.sun.corba.se.impl.orbutil.ORBUtility;
-import com.sun.corba.se.impl.orbutil.ORBClassLoader;
import com.sun.corba.se.impl.util.RepositoryId;
import com.sun.corba.se.impl.logging.InterceptorsSystemException;
import com.sun.corba.se.impl.logging.OMGSystemException;
+import sun.corba.SharedSecrets;
+
/**
* Implementation of the RequestInfo interface as specified in
* orbos/99-12-02 section 5.4.1.
@@ -452,7 +453,8 @@ public abstract class RequestInfoImpl
// Find the read method on the helper class:
String helperClassName = className + "Helper";
- Class helperClass = ORBClassLoader.loadClass( helperClassName );
+ Class> helperClass =
+ SharedSecrets.getJavaCorbaAccess().loadClass( helperClassName );
Class[] readParams = new Class[1];
readParams[0] = org.omg.CORBA.portable.InputStream.class;
Method readMethod = helperClass.getMethod( "read", readParams );
@@ -512,7 +514,8 @@ public abstract class RequestInfoImpl
Class exceptionClass = userException.getClass();
String className = exceptionClass.getName();
String helperClassName = className + "Helper";
- Class helperClass = ORBClassLoader.loadClass( helperClassName );
+ Class> helperClass =
+ SharedSecrets.getJavaCorbaAccess().loadClass( helperClassName );
// Find insert( Any, class ) method
Class[] insertMethodParams = new Class[2];
@@ -656,7 +659,8 @@ public abstract class RequestInfoImpl
// Convert the "core" service context to an
// "IOP" ServiceContext by writing it to a
// CDROutputStream and reading it back.
- EncapsOutputStream out = new EncapsOutputStream(myORB);
+ EncapsOutputStream out =
+ sun.corba.OutputStreamFactory.newEncapsOutputStream(myORB);
context.write( out, GIOPVersion.V1_2 );
InputStream inputStream = out.create_input_stream();
@@ -692,8 +696,8 @@ public abstract class RequestInfoImpl
{
int id = 0 ;
// Convert IOP.service_context to core.ServiceContext:
- EncapsOutputStream outputStream = new EncapsOutputStream(
- myORB );
+ EncapsOutputStream outputStream =
+ sun.corba.OutputStreamFactory.newEncapsOutputStream(myORB);
InputStream inputStream = null;
UnknownServiceContext coreServiceContext = null;
ServiceContextHelper.write( outputStream, service_context );
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java b/corba/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java
index 9f7008a16f8..b8afc9ce839 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java
@@ -300,11 +300,11 @@ public class IIOPInputStream
resetStream();
}
- public final void setOrbStream(org.omg.CORBA_2_3.portable.InputStream os) {
+ final void setOrbStream(org.omg.CORBA_2_3.portable.InputStream os) {
orbStream = os;
}
- public final org.omg.CORBA_2_3.portable.InputStream getOrbStream() {
+ final org.omg.CORBA_2_3.portable.InputStream getOrbStream() {
return orbStream;
}
@@ -327,11 +327,11 @@ public class IIOPInputStream
return (javax.rmi.CORBA.ValueHandler) vhandler;
}
- public final void increaseRecursionDepth(){
+ final void increaseRecursionDepth(){
recursionDepth++;
}
- public final int decreaseRecursionDepth(){
+ final int decreaseRecursionDepth(){
return --recursionDepth;
}
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/io/IIOPOutputStream.java b/corba/src/share/classes/com/sun/corba/se/impl/io/IIOPOutputStream.java
index 9cf6afd6dbb..1ca9e118cfd 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/io/IIOPOutputStream.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/io/IIOPOutputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -124,19 +124,19 @@ public class IIOPOutputStream
}
}
- public final void setOrbStream(org.omg.CORBA_2_3.portable.OutputStream os) {
+ final void setOrbStream(org.omg.CORBA_2_3.portable.OutputStream os) {
orbStream = os;
}
- public final org.omg.CORBA_2_3.portable.OutputStream getOrbStream() {
+ final org.omg.CORBA_2_3.portable.OutputStream getOrbStream() {
return orbStream;
}
- public final void increaseRecursionDepth(){
+ final void increaseRecursionDepth(){
recursionDepth++;
}
- public final int decreaseRecursionDepth(){
+ final int decreaseRecursionDepth(){
return --recursionDepth;
}
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java b/corba/src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java
index a55f0020adb..f8dcbe5b6d8 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java
@@ -251,7 +251,7 @@ public abstract class InputStreamHook extends ObjectInputStream
}
protected abstract byte getStreamFormatVersion();
- protected abstract org.omg.CORBA_2_3.portable.InputStream getOrbStream();
+ abstract org.omg.CORBA_2_3.portable.InputStream getOrbStream();
// Description of possible actions
protected static class ReadObjectState {
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java b/corba/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java
index d596accfb49..a40b007bac5 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java
@@ -179,7 +179,7 @@ public abstract class OutputStreamHook extends ObjectOutputStream
putFields.write(this);
}
- public abstract org.omg.CORBA_2_3.portable.OutputStream getOrbStream();
+ abstract org.omg.CORBA_2_3.portable.OutputStream getOrbStream();
protected abstract void beginOptionalCustomData();
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/io/ValueUtility.java b/corba/src/share/classes/com/sun/corba/se/impl/io/ValueUtility.java
index 41d85a265fc..20cec8d7b30 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/io/ValueUtility.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/io/ValueUtility.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
@@ -98,6 +98,14 @@ public class ValueUtility {
public ValueHandlerImpl newValueHandlerImpl() {
return ValueHandlerImpl.getInstance();
}
+ public Class> loadClass(String className) throws ClassNotFoundException {
+ if (Thread.currentThread().getContextClassLoader() != null) {
+ return Thread.currentThread().getContextClassLoader().
+ loadClass(className);
+ } else {
+ return ClassLoader.getSystemClassLoader().loadClass(className);
+ }
+ }
});
}
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java b/corba/src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java
index 9071fc0c5aa..1d0f3c457f4 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java
@@ -128,7 +128,8 @@ public class EncapsulationUtility
static public void writeEncapsulation( WriteContents obj,
OutputStream os )
{
- EncapsOutputStream out = new EncapsOutputStream( (ORB)os.orb() ) ;
+ EncapsOutputStream out =
+ sun.corba.OutputStreamFactory.newEncapsOutputStream((ORB)os.orb());
out.putEndian() ;
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/ior/GenericTaggedProfile.java b/corba/src/share/classes/com/sun/corba/se/impl/ior/GenericTaggedProfile.java
index 1d43402e668..b715dce5a39 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/ior/GenericTaggedProfile.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/ior/GenericTaggedProfile.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -95,7 +95,8 @@ public class GenericTaggedProfile extends GenericIdentifiable implements TaggedP
public org.omg.IOP.TaggedProfile getIOPProfile()
{
- EncapsOutputStream os = new EncapsOutputStream( orb ) ;
+ EncapsOutputStream os =
+ sun.corba.OutputStreamFactory.newEncapsOutputStream(orb);
write( os ) ;
InputStream is = (InputStream)(os.create_input_stream()) ;
return org.omg.IOP.TaggedProfileHelper.read( is ) ;
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/ior/IORImpl.java b/corba/src/share/classes/com/sun/corba/se/impl/ior/IORImpl.java
index 8cd6fa271f0..8c531d0933a 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/ior/IORImpl.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/ior/IORImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -213,7 +213,8 @@ public class IORImpl extends IdentifiableContainerBase implements IOR
{
StringWriter bs;
- MarshalOutputStream s = new EncapsOutputStream(factory);
+ MarshalOutputStream s =
+ sun.corba.OutputStreamFactory.newEncapsOutputStream(factory);
s.putEndian();
write( (OutputStream)s );
bs = new StringWriter();
@@ -237,7 +238,8 @@ public class IORImpl extends IdentifiableContainerBase implements IOR
}
public org.omg.IOP.IOR getIOPIOR() {
- EncapsOutputStream os = new EncapsOutputStream(factory);
+ EncapsOutputStream os =
+ sun.corba.OutputStreamFactory.newEncapsOutputStream(factory);
write(os);
InputStream is = (InputStream) (os.create_input_stream());
return org.omg.IOP.IORHelper.read(is);
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyImpl.java b/corba/src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyImpl.java
index df2a1f5644e..614e035828d 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyImpl.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyImpl.java
@@ -87,7 +87,8 @@ public class ObjectKeyImpl implements ObjectKey
public byte[] getBytes( org.omg.CORBA.ORB orb )
{
- EncapsOutputStream os = new EncapsOutputStream( (ORB)orb ) ;
+ EncapsOutputStream os =
+ sun.corba.OutputStreamFactory.newEncapsOutputStream((ORB)orb);
write( os ) ;
return os.toByteArray() ;
}
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/ior/TaggedComponentFactoryFinderImpl.java b/corba/src/share/classes/com/sun/corba/se/impl/ior/TaggedComponentFactoryFinderImpl.java
index bc1dbda9f4e..db334e75c79 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/ior/TaggedComponentFactoryFinderImpl.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/ior/TaggedComponentFactoryFinderImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -61,7 +61,8 @@ public class TaggedComponentFactoryFinderImpl extends
public TaggedComponent create( org.omg.CORBA.ORB orb,
org.omg.IOP.TaggedComponent comp )
{
- EncapsOutputStream os = new EncapsOutputStream( (ORB)orb ) ;
+ EncapsOutputStream os =
+ sun.corba.OutputStreamFactory.newEncapsOutputStream((ORB)orb);
org.omg.IOP.TaggedComponentHelper.write( os, comp ) ;
InputStream is = (InputStream)(os.create_input_stream() ) ;
// Skip the component ID: we just wrote it out above
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileImpl.java b/corba/src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileImpl.java
index be59b3f7959..4a7b0b921de 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileImpl.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -247,7 +247,8 @@ public class IIOPProfileImpl extends IdentifiableBase implements IIOPProfile
public org.omg.IOP.TaggedProfile getIOPProfile()
{
- EncapsOutputStream os = new EncapsOutputStream( orb ) ;
+ EncapsOutputStream os =
+ sun.corba.OutputStreamFactory.newEncapsOutputStream(orb);
os.write_long( getId() ) ;
write( os ) ;
InputStream is = (InputStream)(os.create_input_stream()) ;
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileTemplateImpl.java b/corba/src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileTemplateImpl.java
index 26ac601daac..32a7d66d665 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileTemplateImpl.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileTemplateImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -132,8 +132,9 @@ public class IIOPProfileTemplateImpl extends TaggedProfileTemplateBase
// Note that this cannot be accomplished with a codec!
// Use the byte order of the given stream
- OutputStream encapsulatedOS = new EncapsOutputStream( (ORB)os.orb(),
- ((CDROutputStream)os).isLittleEndian() ) ;
+ OutputStream encapsulatedOS =
+ sun.corba.OutputStreamFactory.newEncapsOutputStream(
+ (ORB)os.orb(), ((CDROutputStream)os).isLittleEndian() ) ;
okeyTemplate.write( id, encapsulatedOS ) ;
EncapsulationUtility.writeOutputStream( encapsulatedOS, os ) ;
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/StubDelegateImpl.java b/corba/src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/StubDelegateImpl.java
index 9b87ee1b8f2..6af71ee77cb 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/StubDelegateImpl.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/StubDelegateImpl.java
@@ -147,6 +147,14 @@ public class StubDelegateImpl implements javax.rmi.CORBA.StubDelegate
return ior.equals( other.ior ) ;
}
+ public int hashCode() {
+ if (ior == null) {
+ return 0;
+ } else {
+ return ior.hashCode();
+ }
+ }
+
/**
* Returns a string representation of this stub. Returns the same string
* for all stubs that represent the same remote object.
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/Util.java b/corba/src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/Util.java
index aa2c6483804..7829d52a495 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/Util.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/Util.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
@@ -109,12 +109,9 @@ import com.sun.corba.se.impl.logging.OMGSystemException;
import com.sun.corba.se.impl.util.Utility;
import com.sun.corba.se.impl.util.IdentityHashtable;
import com.sun.corba.se.impl.util.JDKBridge;
-import com.sun.corba.se.impl.orbutil.ORBClassLoader;
import com.sun.corba.se.impl.logging.UtilSystemException;
import com.sun.corba.se.spi.logging.CORBALogDomains;
import sun.corba.SharedSecrets;
-import sun.corba.JavaCorbaAccess;
-
/**
* Provides utility methods that can be used by stubs and ties to
@@ -263,7 +260,7 @@ public class Util implements javax.rmi.CORBA.UtilDelegate
return new MarshalException(message,inner);
} else if (ex instanceof ACTIVITY_REQUIRED) {
try {
- Class cl = ORBClassLoader.loadClass(
+ Class> cl = SharedSecrets.getJavaCorbaAccess().loadClass(
"javax.activity.ActivityRequiredException");
Class[] params = new Class[2];
params[0] = java.lang.String.class;
@@ -279,7 +276,7 @@ public class Util implements javax.rmi.CORBA.UtilDelegate
}
} else if (ex instanceof ACTIVITY_COMPLETED) {
try {
- Class cl = ORBClassLoader.loadClass(
+ Class> cl = SharedSecrets.getJavaCorbaAccess().loadClass(
"javax.activity.ActivityCompletedException");
Class[] params = new Class[2];
params[0] = java.lang.String.class;
@@ -295,7 +292,7 @@ public class Util implements javax.rmi.CORBA.UtilDelegate
}
} else if (ex instanceof INVALID_ACTIVITY) {
try {
- Class cl = ORBClassLoader.loadClass(
+ Class> cl = SharedSecrets.getJavaCorbaAccess().loadClass(
"javax.activity.InvalidActivityException");
Class[] params = new Class[2];
params[0] = java.lang.String.class;
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBDataParserImpl.java b/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBDataParserImpl.java
index 46b0627ae35..94bb5d9ee8f 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBDataParserImpl.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBDataParserImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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,7 +48,6 @@ import com.sun.corba.se.spi.transport.ReadTimeouts;
import com.sun.corba.se.impl.encoding.CodeSetComponentInfo ;
import com.sun.corba.se.impl.legacy.connection.USLPort;
-import com.sun.corba.se.impl.orbutil.ORBClassLoader ;
import com.sun.corba.se.impl.orbutil.ORBConstants ;
import com.sun.corba.se.impl.logging.ORBUtilSystemException ;
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java b/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java
index 5db85734a95..8bda9dcbf0b 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
@@ -152,7 +152,6 @@ import com.sun.corba.se.impl.oa.toa.TOAFactory;
import com.sun.corba.se.impl.oa.poa.BadServerIdHandler;
import com.sun.corba.se.impl.oa.poa.DelegateImpl;
import com.sun.corba.se.impl.oa.poa.POAFactory;
-import com.sun.corba.se.impl.orbutil.ORBClassLoader;
import com.sun.corba.se.impl.orbutil.ORBConstants;
import com.sun.corba.se.impl.orbutil.ORBUtility;
import com.sun.corba.se.impl.orbutil.StackImpl;
@@ -551,7 +550,7 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
public synchronized org.omg.CORBA.portable.OutputStream create_output_stream()
{
checkShutdownState();
- return new EncapsOutputStream(this);
+ return sun.corba.OutputStreamFactory.newEncapsOutputStream(this);
}
/**
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBSingleton.java b/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBSingleton.java
index 9bf7a83df42..63bec8b1161 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBSingleton.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBSingleton.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2009, 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
@@ -149,7 +149,7 @@ public class ORBSingleton extends ORB
}
public OutputStream create_output_stream() {
- return new EncapsOutputStream(this);
+ return sun.corba.OutputStreamFactory.newEncapsOutputStream(this);
}
public TypeCode create_struct_tc(String id,
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/orb/ParserTable.java b/corba/src/share/classes/com/sun/corba/se/impl/orb/ParserTable.java
index 550c4a7f304..f1ddd172ce9 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/orb/ParserTable.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orb/ParserTable.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
@@ -78,7 +78,6 @@ import com.sun.corba.se.impl.encoding.OSFCodeSetRegistry ;
import com.sun.corba.se.impl.legacy.connection.USLPort ;
import com.sun.corba.se.impl.logging.ORBUtilSystemException ;
import com.sun.corba.se.impl.oa.poa.BadServerIdHandler ;
-import com.sun.corba.se.impl.orbutil.ORBClassLoader ;
import com.sun.corba.se.impl.orbutil.ORBConstants ;
import com.sun.corba.se.impl.protocol.giopmsgheaders.KeyAddr ;
import com.sun.corba.se.impl.protocol.giopmsgheaders.ProfileAddr ;
@@ -86,6 +85,8 @@ import com.sun.corba.se.impl.protocol.giopmsgheaders.ReferenceAddr ;
import com.sun.corba.se.impl.transport.DefaultIORToSocketInfoImpl;
import com.sun.corba.se.impl.transport.DefaultSocketFactoryImpl;
+import sun.corba.SharedSecrets;
+
/** Initialize the parser data for the standard ORB parser. This is used both
* to implement ORBDataParserImpl and to provide the basic testing framework
* for ORBDataParserImpl.
@@ -455,6 +456,10 @@ public class ParserTable {
return other instanceof TestBadServerIdHandler ;
}
+ public int hashCode() {
+ return 1;
+ }
+
public void handle( ObjectKey objectKey )
{
}
@@ -518,6 +523,10 @@ public class ParserTable {
return other instanceof TestLegacyORBSocketFactory ;
}
+ public int hashCode() {
+ return 1;
+ }
+
public ServerSocket createServerSocket( String type, int port )
{
return null ;
@@ -543,6 +552,10 @@ public class ParserTable {
return other instanceof TestORBSocketFactory ;
}
+ public int hashCode() {
+ return 1;
+ }
+
public void setORB(ORB orb)
{
}
@@ -572,6 +585,10 @@ public class ParserTable {
return other instanceof TestIORToSocketInfo;
}
+ public int hashCode() {
+ return 1;
+ }
+
public List getSocketInfo(IOR ior)
{
return null;
@@ -608,6 +625,10 @@ public class ParserTable {
return other instanceof TestContactInfoListFactory;
}
+ public int hashCode() {
+ return 1;
+ }
+
public void setORB(ORB orb) { }
public CorbaContactInfoList create( IOR ior ) { return null; }
@@ -640,8 +661,8 @@ public class ParserTable {
String param = (String)value ;
try {
- Class legacySocketFactoryClass =
- ORBClassLoader.loadClass(param);
+ Class> legacySocketFactoryClass =
+ SharedSecrets.getJavaCorbaAccess().loadClass(param);
// For security reasons avoid creating an instance if
// this socket factory class is not one that would fail
// the class cast anyway.
@@ -670,7 +691,8 @@ public class ParserTable {
String param = (String)value ;
try {
- Class socketFactoryClass = ORBClassLoader.loadClass(param);
+ Class> socketFactoryClass =
+ SharedSecrets.getJavaCorbaAccess().loadClass(param);
// For security reasons avoid creating an instance if
// this socket factory class is not one that would fail
// the class cast anyway.
@@ -699,7 +721,8 @@ public class ParserTable {
String param = (String)value ;
try {
- Class iorToSocketInfoClass = ORBClassLoader.loadClass(param);
+ Class> iorToSocketInfoClass =
+ SharedSecrets.getJavaCorbaAccess().loadClass(param);
// For security reasons avoid creating an instance if
// this socket factory class is not one that would fail
// the class cast anyway.
@@ -728,7 +751,8 @@ public class ParserTable {
String param = (String)value ;
try {
- Class iiopPrimaryToContactInfoClass = ORBClassLoader.loadClass(param);
+ Class> iiopPrimaryToContactInfoClass =
+ SharedSecrets.getJavaCorbaAccess().loadClass(param);
// For security reasons avoid creating an instance if
// this socket factory class is not one that would fail
// the class cast anyway.
@@ -757,8 +781,8 @@ public class ParserTable {
String param = (String)value ;
try {
- Class contactInfoListFactoryClass =
- ORBClassLoader.loadClass(param);
+ Class> contactInfoListFactoryClass =
+ SharedSecrets.getJavaCorbaAccess().loadClass(param);
// For security reasons avoid creating an instance if
// this socket factory class is not one that would fail
// the class cast anyway.
@@ -865,6 +889,10 @@ public class ParserTable {
return other instanceof TestORBInitializer1 ;
}
+ public int hashCode() {
+ return 1;
+ }
+
public void pre_init( ORBInitInfo info )
{
}
@@ -882,6 +910,10 @@ public class ParserTable {
return other instanceof TestORBInitializer2 ;
}
+ public int hashCode() {
+ return 1;
+ }
+
public void pre_init( ORBInitInfo info )
{
}
@@ -950,6 +982,8 @@ public class ParserTable {
{
return other instanceof TestAcceptor1 ;
}
+
+ public int hashCode() { return 1; }
public boolean initialize() { return true; }
public boolean initialized() { return true; }
public String getConnectionCacheType() { return "FOO"; }
@@ -981,6 +1015,7 @@ public class ParserTable {
{
return other instanceof TestAcceptor2 ;
}
+ public int hashCode() { return 1; }
public boolean initialize() { return true; }
public boolean initialized() { return true; }
public String getConnectionCacheType() { return "FOO"; }
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/ORBUtility.java b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/ORBUtility.java
index 23d51f9008a..41dba4d9489 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/ORBUtility.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/ORBUtility.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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 @@ import com.sun.corba.se.impl.logging.ORBUtilSystemException ;
import com.sun.corba.se.impl.logging.OMGSystemException ;
import com.sun.corba.se.impl.ior.iiop.JavaSerializationComponent;
+import sun.corba.SharedSecrets;
+
/**
* Handy class full of static functions that don't belong in util.Utility for pure ORB reasons.
*/
@@ -262,8 +264,8 @@ public final class ORBUtility {
{
try {
String name = classNameOf(strm.read_string());
- SystemException ex
- = (SystemException)ORBClassLoader.loadClass(name).newInstance();
+ SystemException ex = (SystemException)SharedSecrets.
+ getJavaCorbaAccess().loadClass(name).newInstance();
ex.minor = strm.read_long();
ex.completed = CompletionStatus.from_int(strm.read_long());
return ex;
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator.java b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator.java
index 7fb16589162..c2bc23cacac 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator.java
@@ -151,7 +151,9 @@ public final class RepIdDelegator
}
// Constructor used for factory/utility cases
- public RepIdDelegator() {}
+ public RepIdDelegator() {
+ this(null);
+ }
// Constructor used by getIdFromString. All non-static
// RepositoryId methods will use the provided delegate.
@@ -159,7 +161,7 @@ public final class RepIdDelegator
this.delegate = _delegate;
}
- private RepositoryId delegate;
+ private final RepositoryId delegate;
public String toString() {
if (delegate != null)
@@ -174,4 +176,12 @@ public final class RepIdDelegator
else
return super.equals(obj);
}
+
+ public int hashCode() {
+ if (delegate != null) {
+ return delegate.hashCode();
+ } else {
+ return super.hashCode();
+ }
+ }
}
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ko.properties b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ko.properties
index 7be6158a9f5..794723ffa12 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ko.properties
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ko.properties
@@ -26,7 +26,7 @@
orbd.usage=\uC0AC\uC6A9\uBC95: {0} \n\n\uC5EC\uAE30\uC11C \uB294 \uB2E4\uC74C\uACFC \uAC19\uC2B5\uB2C8\uB2E4.\n -port ORBD\uAC00 \uC2DC\uC791\uB418\uC5B4\uC57C \uD558\uB294 \uD65C\uC131 \uD3EC\uD2B8\uB85C, \uAE30\uBCF8\uAC12\uC740 1049\uC785\uB2C8\uB2E4(\uC120\uD0DD \uC0AC\uD56D).\n -defaultdb ORBD \uD30C\uC77C\uC758 \uB514\uB809\uD1A0\uB9AC\uB85C, \uAE30\uBCF8\uAC12\uC740 "./orb.db"\uC785\uB2C8\uB2E4(\uC120\uD0DD \uC0AC\uD56D).\n -serverid ORBD\uC758 \uC11C\uBC84 ID\uB85C, \uAE30\uBCF8\uAC12\uC740 1 \uC785\uB2C8\uB2E4(\uC120\uD0DD \uC0AC\uD56D).\n -ORBInitialPort \uCD08\uAE30 \uD3EC\uD2B8\uC785\uB2C8\uB2E4(\uD544\uC218).\n -ORBInitialHost \uCD08\uAE30 HostName\uC785\uB2C8\uB2E4(\uD544\uC218).\n
servertool.usage=\uC0AC\uC6A9\uBC95: {0} \n\n\uC5EC\uAE30\uC11C \uB294 \uB2E4\uC74C\uACFC \uAC19\uC2B5\uB2C8\uB2E4.\n -ORBInitialPort \uCD08\uAE30 \uD3EC\uD2B8\uC785\uB2C8\uB2E4(\uD544\uC218).\n -ORBInitialHost \uCD08\uAE30 HostName\uC785\uB2C8\uB2E4(\uD544\uC218).\n
-servertool.banner=\n\nJava IDL \uC11C\uBC84 \uD234 \uC2DC\uC791 \n\uD504\uB86C\uD504\uD2B8\uC5D0 \uBA85\uB839\uC744 \uC785\uB825\uD558\uC2ED\uC2DC\uC624.\n
+servertool.banner=\n\nJava IDL \uC11C\uBC84 \uD234 \uC2DC\uC791 \n\uD504\uB86C\uD504\uD2B8\uC5D0 \uBA85\uB839\uC744 \uC785\uB825\uD558\uC2ED\uC2DC\uC624. \n
servertool.shorthelp=\n\n\t\uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uBA85\uB839: \n\t------------------- \n
servertool.baddef=\uC798\uBABB\uB41C \uC11C\uBC84 \uC815\uC758: {0}
servertool.nosuchserver=\t\uD574\uB2F9 \uC11C\uBC84\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/protocol/CorbaMessageMediatorImpl.java b/corba/src/share/classes/com/sun/corba/se/impl/protocol/CorbaMessageMediatorImpl.java
index a5ee15ba763..9badc182efd 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/protocol/CorbaMessageMediatorImpl.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/protocol/CorbaMessageMediatorImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -1794,8 +1794,7 @@ public class CorbaMessageMediatorImpl
if (msg.getGIOPVersion().lessThan(GIOPVersion.V1_2)) {
// locate msgs 1.0 & 1.1 :=> grow,
- // REVISIT - build from factory
- outputObject = new CDROutputObject(
+ outputObject = sun.corba.OutputStreamFactory.newCDROutputObject(
(ORB) messageMediator.getBroker(),
this,
GIOPVersion.V1_0,
@@ -1804,8 +1803,7 @@ public class CorbaMessageMediatorImpl
ORBConstants.STREAM_FORMAT_VERSION_1);
} else {
// 1.2 :=> stream
- // REVISIT - build from factory
- outputObject = new CDROutputObject(
+ outputObject = sun.corba.OutputStreamFactory.newCDROutputObject(
(ORB) messageMediator.getBroker(),
messageMediator,
reply,
@@ -1959,7 +1957,8 @@ public class CorbaMessageMediatorImpl
ReplyMessage.NEEDS_ADDRESSING_MODE,
null, null);
// REVISIT: via acceptor factory.
- CDROutputObject outputObject = new CDROutputObject(
+ CDROutputObject outputObject =
+ sun.corba.OutputStreamFactory.newCDROutputObject(
(ORB)messageMediator.getBroker(),
this,
messageMediator.getGIOPVersion(),
@@ -2126,7 +2125,7 @@ public class CorbaMessageMediatorImpl
ex.printStackTrace(pw);
pw.flush(); // NOTE: you must flush or baos will be empty.
EncapsOutputStream encapsOutputStream =
- new EncapsOutputStream((ORB)mediator.getBroker());
+ sun.corba.OutputStreamFactory.newEncapsOutputStream((ORB)mediator.getBroker());
encapsOutputStream.putEndian();
encapsOutputStream.write_wstring(baos.toString());
UnknownServiceContext serviceContext =
@@ -2203,12 +2202,11 @@ public class CorbaMessageMediatorImpl
// REVISIT = do not use null.
//
if (messageMediator.getConnection() == null) {
- // REVISIT - needs factory
replyOutputObject =
- new CDROutputObject(orb, messageMediator,
- messageMediator.getReplyHeader(),
- messageMediator.getStreamFormatVersion(),
- BufferManagerFactory.GROW);
+ sun.corba.OutputStreamFactory.newCDROutputObject(orb,
+ messageMediator, messageMediator.getReplyHeader(),
+ messageMediator.getStreamFormatVersion(),
+ BufferManagerFactory.GROW);
} else {
replyOutputObject = messageMediator.getConnection().getAcceptor()
.createOutputObject(messageMediator.getBroker(), messageMediator);
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateReplyMessage_1_2.java b/corba/src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateReplyMessage_1_2.java
index a3af1ec2a41..8274de69f84 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateReplyMessage_1_2.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateReplyMessage_1_2.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -41,7 +41,6 @@ import com.sun.corba.se.impl.encoding.CDROutputStream;
import com.sun.corba.se.impl.orbutil.ORBUtility;
import com.sun.corba.se.impl.orbutil.ORBConstants;
-import com.sun.corba.se.impl.orbutil.ORBClassLoader;
import com.sun.corba.se.spi.logging.CORBALogDomains ;
import com.sun.corba.se.impl.logging.ORBUtilSystemException ;
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/MessageBase.java b/corba/src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/MessageBase.java
index b1eb366882a..6559be7fca4 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/MessageBase.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/MessageBase.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -60,9 +60,10 @@ import com.sun.corba.se.impl.encoding.CDRInputStream_1_0;
import com.sun.corba.se.impl.logging.ORBUtilSystemException ;
import com.sun.corba.se.impl.orbutil.ORBUtility;
import com.sun.corba.se.impl.orbutil.ORBConstants;
-import com.sun.corba.se.impl.orbutil.ORBClassLoader;
import com.sun.corba.se.impl.protocol.AddressingDispositionException;
+import sun.corba.SharedSecrets;
+
/**
* This class acts as the base class for the various GIOP message types. This
* also serves as a factory to create various message types. We currently
@@ -909,7 +910,8 @@ public abstract class MessageBase implements Message{
SystemException sysEx = null;
try {
- Class clazz = ORBClassLoader.loadClass(exClassName);
+ Class> clazz =
+ SharedSecrets.getJavaCorbaAccess().loadClass(exClassName);
if (message == null) {
sysEx = (SystemException) clazz.newInstance();
} else {
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage_1_0.java b/corba/src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage_1_0.java
index 8bcc4e8aec6..4d77e3aff0b 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage_1_0.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage_1_0.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -37,7 +37,6 @@ import com.sun.corba.se.spi.orb.ORB;
import com.sun.corba.se.spi.servicecontext.ServiceContexts;
import com.sun.corba.se.spi.ior.iiop.GIOPVersion;
import com.sun.corba.se.impl.orbutil.ORBUtility;
-import com.sun.corba.se.impl.orbutil.ORBClassLoader;
import com.sun.corba.se.spi.ior.IOR;
import com.sun.corba.se.impl.encoding.CDRInputStream;
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage_1_1.java b/corba/src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage_1_1.java
index e22e0fb64f8..65d8578f634 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage_1_1.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage_1_1.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -37,7 +37,6 @@ import com.sun.corba.se.spi.orb.ORB;
import com.sun.corba.se.spi.servicecontext.ServiceContexts;
import com.sun.corba.se.spi.ior.iiop.GIOPVersion;
import com.sun.corba.se.impl.orbutil.ORBUtility;
-import com.sun.corba.se.impl.orbutil.ORBClassLoader;
import com.sun.corba.se.spi.ior.IOR;
import com.sun.corba.se.impl.encoding.CDRInputStream;
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/transport/CorbaContactInfoBase.java b/corba/src/share/classes/com/sun/corba/se/impl/transport/CorbaContactInfoBase.java
index 1a439e1b5a5..419efe7e68d 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/transport/CorbaContactInfoBase.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/transport/CorbaContactInfoBase.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -214,7 +214,7 @@ public abstract class CorbaContactInfoBase
messageMediator;
OutputObject outputObject =
- new CDROutputObject(orb, messageMediator,
+ sun.corba.OutputStreamFactory.newCDROutputObject(orb, messageMediator,
corbaMessageMediator.getRequestHeader(),
corbaMessageMediator.getStreamFormatVersion());
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/transport/SharedCDRContactInfoImpl.java b/corba/src/share/classes/com/sun/corba/se/impl/transport/SharedCDRContactInfoImpl.java
index 08cc96f5da6..49f2b8a2062 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/transport/SharedCDRContactInfoImpl.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/transport/SharedCDRContactInfoImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -134,7 +134,7 @@ public class SharedCDRContactInfoImpl
messageMediator;
// NOTE: GROW.
OutputObject outputObject =
- new CDROutputObject(orb, messageMediator,
+ sun.corba.OutputStreamFactory.newCDROutputObject(orb, messageMediator,
corbaMessageMediator.getRequestHeader(),
corbaMessageMediator.getStreamFormatVersion(),
BufferManagerFactory.GROW);
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelAcceptorImpl.java b/corba/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelAcceptorImpl.java
index 01d344b8c7f..e5fb14c754f 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelAcceptorImpl.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelAcceptorImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -534,9 +534,9 @@ public class SocketOrChannelAcceptorImpl
{
CorbaMessageMediator corbaMessageMediator = (CorbaMessageMediator)
messageMediator;
- return new CDROutputObject((ORB) broker, corbaMessageMediator,
- corbaMessageMediator.getReplyHeader(),
- corbaMessageMediator.getStreamFormatVersion());
+ return sun.corba.OutputStreamFactory.newCDROutputObject((ORB) broker,
+ corbaMessageMediator, corbaMessageMediator.getReplyHeader(),
+ corbaMessageMediator.getStreamFormatVersion());
}
////////////////////////////////////////////////////
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelConnectionImpl.java b/corba/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelConnectionImpl.java
index 39fb4fecc14..fa87b568df4 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelConnectionImpl.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelConnectionImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -1587,8 +1587,8 @@ public class SocketOrChannelConnectionImpl
{
// REVISIT: See comments in CDROutputObject constructor.
CDROutputObject outputObject =
- new CDROutputObject((ORB)orb, null, giopVersion, this, msg,
- ORBConstants.STREAM_FORMAT_VERSION_1);
+ sun.corba.OutputStreamFactory.newCDROutputObject((ORB)orb, null, giopVersion,
+ this, msg, ORBConstants.STREAM_FORMAT_VERSION_1);
msg.write(outputObject);
outputObject.writeTo(this);
diff --git a/corba/src/share/classes/com/sun/corba/se/spi/ior/TaggedComponentBase.java b/corba/src/share/classes/com/sun/corba/se/spi/ior/TaggedComponentBase.java
index 9e9a2a2f12a..74617235d70 100644
--- a/corba/src/share/classes/com/sun/corba/se/spi/ior/TaggedComponentBase.java
+++ b/corba/src/share/classes/com/sun/corba/se/spi/ior/TaggedComponentBase.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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,8 @@ public abstract class TaggedComponentBase extends IdentifiableBase
public org.omg.IOP.TaggedComponent getIOPComponent(
org.omg.CORBA.ORB orb )
{
- EncapsOutputStream os = new EncapsOutputStream( (ORB)orb ) ;
+ EncapsOutputStream os =
+ sun.corba.OutputStreamFactory.newEncapsOutputStream((ORB)orb);
write( os ) ;
InputStream is = (InputStream)(os.create_input_stream() ) ;
return org.omg.IOP.TaggedComponentHelper.read( is ) ;
diff --git a/corba/src/share/classes/com/sun/corba/se/spi/orb/ORB.java b/corba/src/share/classes/com/sun/corba/se/spi/orb/ORB.java
index 306a9f7d2bf..91a691e2b25 100644
--- a/corba/src/share/classes/com/sun/corba/se/spi/orb/ORB.java
+++ b/corba/src/share/classes/com/sun/corba/se/spi/orb/ORB.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
@@ -97,8 +97,8 @@ import com.sun.corba.se.impl.logging.OMGSystemException ;
import com.sun.corba.se.impl.presentation.rmi.PresentationManagerImpl ;
-import com.sun.corba.se.impl.orbutil.ORBClassLoader ;
import sun.awt.AppContext;
+import sun.corba.SharedSecrets;
public abstract class ORB extends com.sun.corba.se.org.omg.CORBA.ORB
implements Broker, TypeCodeFactory
@@ -201,7 +201,7 @@ public abstract class ORB extends com.sun.corba.se.org.omg.CORBA.ORB
try {
// First try the configured class name, if any
- Class cls = ORBClassLoader.loadClass( className ) ;
+ Class> cls = SharedSecrets.getJavaCorbaAccess().loadClass( className ) ;
sff = (PresentationManager.StubFactoryFactory)cls.newInstance() ;
} catch (Exception exc) {
// Use the default. Log the error as a warning.
diff --git a/corba/src/share/classes/com/sun/corba/se/spi/orb/OperationFactory.java b/corba/src/share/classes/com/sun/corba/se/spi/orb/OperationFactory.java
index eb81eb56be0..d84523b0fd9 100644
--- a/corba/src/share/classes/com/sun/corba/se/spi/orb/OperationFactory.java
+++ b/corba/src/share/classes/com/sun/corba/se/spi/orb/OperationFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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,9 +35,10 @@ import java.net.MalformedURLException ;
import com.sun.corba.se.spi.logging.CORBALogDomains ;
import com.sun.corba.se.impl.logging.ORBUtilSystemException ;
-import com.sun.corba.se.impl.orbutil.ORBClassLoader ;
import com.sun.corba.se.impl.orbutil.ObjectUtility ;
+import sun.corba.SharedSecrets;
+
/** This is a static factory class for commonly used operations
* for property parsing. The following operations are supported:
*
@@ -247,7 +248,8 @@ public abstract class OperationFactory {
String className = getString( value ) ;
try {
- Class result = ORBClassLoader.loadClass( className ) ;
+ Class> result =
+ SharedSecrets.getJavaCorbaAccess().loadClass( className ) ;
return result ;
} catch (Exception exc) {
ORBUtilSystemException wrapper = ORBUtilSystemException.get(
diff --git a/corba/src/share/classes/com/sun/corba/se/spi/servicecontext/ServiceContext.java b/corba/src/share/classes/com/sun/corba/se/spi/servicecontext/ServiceContext.java
index db7a5db51b4..30994d385c3 100644
--- a/corba/src/share/classes/com/sun/corba/se/spi/servicecontext/ServiceContext.java
+++ b/corba/src/share/classes/com/sun/corba/se/spi/servicecontext/ServiceContext.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -92,7 +92,8 @@ public abstract class ServiceContext {
*/
public void write(OutputStream s, GIOPVersion gv) throws SystemException
{
- EncapsOutputStream os = new EncapsOutputStream( (ORB)(s.orb()), gv ) ;
+ EncapsOutputStream os =
+ sun.corba.OutputStreamFactory.newEncapsOutputStream((ORB)(s.orb()), gv);
os.putEndian() ;
writeData( os ) ;
byte[] data = os.toByteArray() ;
diff --git a/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_zh_CN.prp b/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_zh_CN.prp
index 630b55d0d7f..d1f86754a8d 100644
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_zh_CN.prp
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_zh_CN.prp
@@ -64,7 +64,7 @@
#
# Translator: Start Translating
-Compile.parsing=\u6B63\u5728\u5BF9 %0 \u8FDB\u884C\u8BED\u6CD5\u5206\u6790
+Compile.parsing=\u6B63\u5728\u89E3\u6790 %0
Compile.parseDone=\u5B8C\u6210 - %0
Compile.generating=\u6B63\u5728\u751F\u6210 %0
Compile.genDone=\u5B8C\u6210 - %0
@@ -165,7 +165,7 @@ Token.identifier=<\u6807\u8BC6\u7B26>
Token.endOfFile=EOF
Token.unknown=?
Util.cantCreatePkg=\u65E0\u6CD5\u521B\u5EFA\u7A0B\u5E8F\u5305%0\u3002
-Version.product=IDL \u8BED\u6CD5\u5206\u6790\u5668\u6846\u67B6, \u7248\u672C "%0"
+Version.product=IDL \u89E3\u6790\u5668\u6846\u67B6, \u7248\u672C "%0"
Version.number=3.2
default=\u9519\u8BEF! \u8BF7\u6C42\u4E86\u4E0D\u5B58\u5728\u7684\u6D88\u606F\u3002\u6D88\u606F\u6587\u4EF6\u672A\u5305\u542B\u5173\u952E\u5B57: %0\u3002
diff --git a/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_ja.prp b/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_ja.prp
index 35cee81cd2d..35ae4fdb054 100644
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_ja.prp
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_ja.prp
@@ -65,4 +65,5 @@ NameModifier.InvalidChar=\u30D1\u30BF\u30FC\u30F3\u306B\u7121\u52B9\u306A\u6587\
# -d, -emitAll, -f, -i, -keep, -m, -sep, -pkgPrefix, -td, -v, -verbose, -version, -implbase
# Do not translate the string "java com.sun.tools.corba.se.idl.toJavaPortable.Compile"
#
-usage=\u30B3\u30F3\u30D1\u30A4\u30E9\u306E\u4F7F\u7528\u65B9\u6CD5:\n\n java com.sun.tools.corba.se.idl.toJavaPortable.Compile [options] \n\n\u306FIDL\u5B9A\u7FA9\u3092\u542B\u3080\u30D5\u30A1\u30A4\u30EB\u306E\u540D\u524D\u3067\u3001\n[options]\u306F\u6B21\u306B\u30EA\u30B9\u30C8\u3059\u308B\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u7D44\u5408\u305B\u3067\u3059\u3002\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\n\u7701\u7565\u53EF\u80FD\u3067\u3001\u4EFB\u610F\u306E\u9806\u5E8F\u3067\u8868\u793A\u3055\u308C\u307E\u3059\u3002\u306F\u5FC5\u9808\u3067\u3001\n\u6700\u5F8C\u306B\u8868\u793A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n \n\u30AA\u30D7\u30B7\u30E7\u30F3:\n-d IDL\u30D5\u30A1\u30A4\u30EB\u306E\u6B21\u306E\u884C\u3068\n \u540C\u3058\u3067\u3059: #define \n-emitAll #included\u30D5\u30A1\u30A4\u30EB\u3067\u898B\u3064\u304B\u3063\u305F\u30BF\u30A4\u30D7\u3092\u542B\u3080\u3001\u3059\u3079\u3066\u306E\u30BF\u30A4\u30D7\u3092\u767A\u884C\u3057\u307E\u3059\u3002\n-f \u767A\u884C\u3059\u308B\u30D0\u30A4\u30F3\u30C7\u30A3\u30F3\u30B0\u3092\u5B9A\u7FA9\u3057\u307E\u3059\u3002\u306Fclient\u3001\n server\u3001all\u3001serverTIE\u3001allTIE\u306E\u3044\u305A\u308C\u304B\u3067\u3059\u3002serverTIE\u3068allTIE\u306F\n \u59D4\u4EFB\u30E2\u30C7\u30EB\u30FB\u30B9\u30B1\u30EB\u30C8\u30F3\u3092\u767A\u884C\u3057\u307E\u3059\u3002\u3053\u306E\u30D5\u30E9\u30B0\u3092\n \u4F7F\u7528\u3057\u306A\u3044\u5834\u5408\u306F\u3001-fclient\u3068\u307F\u306A\u3055\u308C\u307E\u3059\u3002\n-i \u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u306F\u3001\u73FE\u5728\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u30A4\u30F3\u30AF\u30EB\u30FC\u30C9\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u304C\n \u30B9\u30AD\u30E3\u30F3\u3055\u308C\u307E\u3059\u3002\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u5225\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u8FFD\u52A0\u3057\u307E\u3059\u3002\n-keep \u751F\u6210\u3055\u308C\u308B\u30D5\u30A1\u30A4\u30EB\u304C\u3059\u3067\u306B\u5B58\u5728\u3059\u308B\u5834\u5408\u306F\u3001\u4E0A\u66F8\u304D\n \u3057\u307E\u305B\u3093\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u306F\u4E0A\u66F8\u304D\u3055\u308C\u307E\u3059\u3002\n-noWarn \u8B66\u544A\u3092\u51FA\u3055\u306A\u3044\u3088\u3046\u306B\u3057\u307E\u3059\u3002\n-oldImplBase \u53E4\u3044(1.4\u4EE5\u524D) JDK ORB\u3068\u4E92\u63DB\u6027\u306E\u3042\u308B\u30B9\u30B1\u30EB\u30C8\u30F3\u3092\u751F\u6210\u3057\u307E\u3059\u3002\n-pkgPrefix \u30D5\u30A1\u30A4\u30EB\u30FB\u30B9\u30B3\u30FC\u30D7\u3067\u30BF\u30A4\u30D7\u307E\u305F\u306F\u30E2\u30B8\u30E5\u30FC\u30EB\u540D\u304C\u691C\u51FA\u3055\u308C\u305F\u5834\u5408\u3001\n \u306B\u5BFE\u3057\u3066\u751F\u6210\u3055\u308C\u305F\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB\u306EJava\u30D1\u30C3\u30B1\u30FC\u30B8\u540D\u3092\n \u3067\u59CB\u3081\u307E\u3059\u3002\n-pkgTranslate \u30BF\u30A4\u30D7\u307E\u305F\u306F\u30E2\u30B8\u30E5\u30FC\u30EB\u540D\u304C\u691C\u51FA\u3055\u308C\u305F\u5834\u5408\u3001\n \u751F\u6210\u3055\u308C\u305FJava\u30D1\u30C3\u30B1\u30FC\u30B8\u5185\u3067\u306B\u7F6E\u63DB\u3055\u308C\u307E\u3059\u3002pkgPrefix\u306E\n \u5909\u66F4\u304C\u5148\u306B\u884C\u308F\u308C\u308B\u3053\u3068\u306B\u6CE8\u610F\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u306F\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\n \u6B63\u5F0F\u540D\u3068\u5B8C\u5168\u306B\u4E00\u81F4\u3057\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\u307E\u305F\u3001\u3092\n org\u3001org.omg\u307E\u305F\u306Forg.omg\u306E\u30B5\u30D6\u30D1\u30C3\u30B1\u30FC\u30B8\u306B\u3057\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002\n-skeletonName \u30D1\u30BF\u30FC\u30F3\u306B\u5F93\u3063\u3066\u30B9\u30B1\u30EB\u30C8\u30F3\u306B\u540D\u524D\u3092\u4ED8\u3051\u307E\u3059\u3002\n \u30C7\u30D5\u30A9\u30EB\u30C8\u306F\u6B21\u306E\u3068\u304A\u308A\u3067\u3059:\n POA\u30D9\u30FC\u30B9\u30FB\u30AF\u30E9\u30B9\u306E\u5834\u5408\u306F%POA (-fserver\u307E\u305F\u306F-fall) \n oldImplBase\u30D9\u30FC\u30B9\u30FB\u30AF\u30E9\u30B9\u306E\u5834\u5408\u306F_%ImplBase\n (-oldImplBase\u304A\u3088\u3073(-fserver\u307E\u305F\u306F-fall))\u3002\n-td \u51FA\u529B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u306F\u3001\u73FE\u5728\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u304B\u308F\u308A\u306B\u3092\n \u4F7F\u7528\u3057\u307E\u3059\u3002\n-tieName \u30D1\u30BF\u30FC\u30F3\u306B\u5F93\u3063\u3066tie\u306B\u540D\u524D\u3092\u4ED8\u3051\u307E\u3059\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u306F\u6B21\u306E\u3068\u304A\u308A\u3067\u3059:\n POA tie\u306E\u5834\u5408\u306F%POATie (-fserverTie\u307E\u305F\u306F-fallTie) \n oldImplBase tie\u306E\u5834\u5408\u306F%_Tie\n (-oldImplBase\u304A\u3088\u3073(-fserverTie\u307E\u305F\u306F-fallTie))\u3002\n-v, -verbose \u8A73\u7D30\u30E2\u30FC\u30C9\u3002\n-version \u30D0\u30FC\u30B8\u30E7\u30F3\u756A\u53F7\u3092\u8868\u793A\u3057\u3066\u7D42\u4E86\u3057\u307E\u3059\u3002\n
+usage=\u30B3\u30F3\u30D1\u30A4\u30E9\u306E\u4F7F\u7528\u65B9\u6CD5:\n\n java com.sun.tools.corba.se.idl.toJavaPortable.Compile [options] \n\n\u306FIDL\u5B9A\u7FA9\u3092\u542B\u3080\u30D5\u30A1\u30A4\u30EB\u306E\u540D\u524D\u3067\u3001\n[options]\u306F\u6B21\u306B\u30EA\u30B9\u30C8\u3059\u308B\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u7D44\u5408\u305B\u3067\u3059\u3002\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\n\u7701\u7565\u53EF\u80FD\u3067\u3001\u4EFB\u610F\u306E\u9806\u5E8F\u3067\u8868\u793A\u3055\u308C\u307E\u3059\u3002\u306F\u5FC5\u9808\u3067\u3001\n\u6700\u5F8C\u306B\u8868\u793A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n \n\u30AA\u30D7\u30B7\u30E7\u30F3:\n-d IDL\u30D5\u30A1\u30A4\u30EB\u306E\u6B21\u306E\u884C\u3068\n \u540C\u3058\u3067\u3059: #define \n-emitAll #included\u30D5\u30A1\u30A4\u30EB\u3067\u898B\u3064\u304B\u3063\u305F\u30BF\u30A4\u30D7\u3092\u542B\u3080\u3001\u3059\u3079\u3066\u306E\u30BF\u30A4\u30D7\u3092\u767A\u884C\u3057\u307E\u3059\u3002\n-f \u767A\u884C\u3059\u308B\u30D0\u30A4\u30F3\u30C7\u30A3\u30F3\u30B0\u3092\u5B9A\u7FA9\u3057\u307E\u3059\u3002\u306Fclient\u3001\n server\u3001all\u3001serverTIE\u3001allTIE\u306E\u3044\u305A\u308C\u304B\u3067\u3059\u3002serverTIE\u3068allTIE\u306F\n \u59D4\u4EFB\u30E2\u30C7\u30EB\u30FB\u30B9\u30B1\u30EB\u30C8\u30F3\u3092\u767A\u884C\u3057\u307E\u3059\u3002\u3053\u306E\u30D5\u30E9\u30B0\u3092\n \u4F7F\u7528\u3057\u306A\u3044\u5834\u5408\u306F\u3001-fclient\u3068\u307F\u306A\u3055\u308C\u307E\u3059\u3002\n-i \u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u306F\u3001\u73FE\u5728\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u30A4\u30F3\u30AF\u30EB\u30FC\u30C9\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u304C\n \u30B9\u30AD\u30E3\u30F3\u3055\u308C\u307E\u3059\u3002\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u5225\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u8FFD\u52A0\u3057\u307E\u3059\u3002\n-keep \u751F\u6210\u3055\u308C\u308B\u30D5\u30A1\u30A4\u30EB\u304C\u3059\u3067\u306B\u5B58\u5728\u3059\u308B\u5834\u5408\u306F\u3001\u4E0A\u66F8\u304D\n \u3057\u307E\u305B\u3093\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u306F\u4E0A\u66F8\u304D\u3055\u308C\u307E\u3059\u3002\n-noWarn \u8B66\u544A\u3092\u51FA\u3055\u306A\u3044\u3088\u3046\u306B\u3057\u307E\u3059\u3002\n-oldImplBase \u53E4\u3044(1.4\u4EE5\u524D) JDK ORB\u3068\u4E92\u63DB\u6027\u306E\u3042\u308B\u30B9\u30B1\u30EB\u30C8\u30F3\u3092\u751F\u6210\u3057\u307E\u3059\u3002\n-pkgPrefix \u30D5\u30A1\u30A4\u30EB\u30FB\u30B9\u30B3\u30FC\u30D7\u3067\u30BF\u30A4\u30D7\u307E\u305F\u306F\u30E2\u30B8\u30E5\u30FC\u30EB\u540D\u304C\u691C\u51FA\u3055\u308C\u305F\u5834\u5408\u3001\n \u306B\u5BFE\u3057\u3066\u751F\u6210\u3055\u308C\u305F\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB\u306EJava\u30D1\u30C3\u30B1\u30FC\u30B8\u540D\u3092\n \u3067\u59CB\u3081\u307E\u3059\u3002\n-pkgTranslate \u30BF\u30A4\u30D7\u307E\u305F\u306F\u30E2\u30B8\u30E5\u30FC\u30EB\u540D\u304C\u691C\u51FA\u3055\u308C\u305F\u5834\u5408\u3001\n \u751F\u6210\u3055\u308C\u305FJava\u30D1\u30C3\u30B1\u30FC\u30B8\u5185\u3067\u306B\u7F6E\u63DB\u3055\u308C\u307E\u3059\u3002pkgPrefix\u306E\n \u5909\u66F4\u304C\u5148\u306B\u884C\u308F\u308C\u308B\u3053\u3068\u306B\u6CE8\u610F\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u306F\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\n \u6B63\u5F0F\u540D\u3068\u5B8C\u5168\u306B\u4E00\u81F4\u3057\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\u307E\u305F\u3001\u3092\n \
+org\u3001org.omg\u307E\u305F\u306Forg.omg\u306E\u30B5\u30D6\u30D1\u30C3\u30B1\u30FC\u30B8\u306B\u3057\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002\n-skeletonName \u30D1\u30BF\u30FC\u30F3\u306B\u5F93\u3063\u3066\u30B9\u30B1\u30EB\u30C8\u30F3\u306B\u540D\u524D\u3092\u4ED8\u3051\u307E\u3059\u3002\n \u30C7\u30D5\u30A9\u30EB\u30C8\u306F\u6B21\u306E\u3068\u304A\u308A\u3067\u3059:\n POA\u30D9\u30FC\u30B9\u30FB\u30AF\u30E9\u30B9\u306E\u5834\u5408\u306F%POA (-fserver\u307E\u305F\u306F-fall) \n oldImplBase\u30D9\u30FC\u30B9\u30FB\u30AF\u30E9\u30B9\u306E\u5834\u5408\u306F_%ImplBase\n (-oldImplBase\u304A\u3088\u3073(-fserver\u307E\u305F\u306F-fall))\u3002\n-td \u51FA\u529B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u306F\u3001\u73FE\u5728\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u304B\u308F\u308A\u306B\u3092\n \u4F7F\u7528\u3057\u307E\u3059\u3002\n-tieName \u30D1\u30BF\u30FC\u30F3\u306B\u5F93\u3063\u3066tie\u306B\u540D\u524D\u3092\u4ED8\u3051\u307E\u3059\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u306F\u6B21\u306E\u3068\u304A\u308A\u3067\u3059:\n POA tie\u306E\u5834\u5408\u306F%POATie (-fserverTie\u307E\u305F\u306F-fallTie) \n oldImplBase tie\u306E\u5834\u5408\u306F%_Tie\n (-oldImplBase\u304A\u3088\u3073(-fserverTie\u307E\u305F\u306F-fallTie))\u3002\n-v, -verbose \u8A73\u7D30\u30E2\u30FC\u30C9\u3002\n-version \u30D0\u30FC\u30B8\u30E7\u30F3\u756A\u53F7\u3092\u8868\u793A\u3057\u3066\u7D42\u4E86\u3057\u307E\u3059\u3002\n
diff --git a/corba/src/share/classes/org/omg/CORBA_2_3/portable/OutputStream.java b/corba/src/share/classes/org/omg/CORBA_2_3/portable/OutputStream.java
index d29c8a04e52..b1222dfe99b 100644
--- a/corba/src/share/classes/org/omg/CORBA_2_3/portable/OutputStream.java
+++ b/corba/src/share/classes/org/omg/CORBA_2_3/portable/OutputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -31,6 +31,10 @@
package org.omg.CORBA_2_3.portable;
+import java.io.SerializablePermission;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
/**
* OutputStream provides interface for writing of all of the mapped IDL type
* to the stream. It extends org.omg.CORBA.portable.OutputStream, and defines
@@ -43,6 +47,40 @@ package org.omg.CORBA_2_3.portable;
public abstract class OutputStream extends org.omg.CORBA.portable.OutputStream {
+ private static final String ALLOW_SUBCLASS_PROP = "jdk.corba.allowOutputStreamSubclass";
+ private static final boolean allowSubclass = AccessController.doPrivileged(
+ new PrivilegedAction() {
+ @Override
+ public Boolean run() {
+ String prop = System.getProperty(ALLOW_SUBCLASS_PROP);
+ return prop == null ? false :
+ (prop.equalsIgnoreCase("false") ? false : true);
+ }
+ });
+
+ private static Void checkPermission() {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null) {
+ if (!allowSubclass)
+ sm.checkPermission(new
+ SerializablePermission("enableSubclassImplementation"));
+ }
+ return null;
+ }
+ private OutputStream(Void ignore) { }
+
+ /**
+ * Create a new instance of this class.
+ *
+ * throw SecurityException if SecurityManager is installed and
+ * enableSubclassImplementation SerializablePermission
+ * is not granted or jdk.corba.allowOutputStreamSubclass system
+ * property is either not set or is set to 'false'
+ */
+ public OutputStream() {
+ this(checkPermission());
+ }
+
/**
* Marshals a value type to the output stream.
* @param value is the acutal value to write
diff --git a/corba/src/share/classes/sun/corba/JavaCorbaAccess.java b/corba/src/share/classes/sun/corba/JavaCorbaAccess.java
index 046453f2767..0d21551ef3e 100644
--- a/corba/src/share/classes/sun/corba/JavaCorbaAccess.java
+++ b/corba/src/share/classes/sun/corba/JavaCorbaAccess.java
@@ -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
@@ -29,4 +29,5 @@ import com.sun.corba.se.impl.io.ValueHandlerImpl;
public interface JavaCorbaAccess {
public ValueHandlerImpl newValueHandlerImpl();
+ public Class> loadClass(String className) throws ClassNotFoundException;
}
diff --git a/corba/src/share/classes/sun/corba/OutputStreamFactory.java b/corba/src/share/classes/sun/corba/OutputStreamFactory.java
new file mode 100644
index 00000000000..d723e22c004
--- /dev/null
+++ b/corba/src/share/classes/sun/corba/OutputStreamFactory.java
@@ -0,0 +1,149 @@
+/*
+ * 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 sun.corba;
+
+import com.sun.corba.se.impl.corba.AnyImpl;
+import com.sun.corba.se.impl.encoding.BufferManagerWrite;
+import com.sun.corba.se.impl.encoding.CDROutputObject;
+import com.sun.corba.se.impl.encoding.EncapsOutputStream;
+import com.sun.corba.se.impl.encoding.TypeCodeOutputStream;
+import com.sun.corba.se.impl.protocol.giopmsgheaders.Message;
+
+import com.sun.corba.se.pept.protocol.MessageMediator;
+
+import com.sun.corba.se.spi.orb.ORB;
+import com.sun.corba.se.spi.transport.CorbaConnection;
+import com.sun.corba.se.spi.ior.iiop.GIOPVersion;
+import com.sun.corba.se.spi.protocol.CorbaMessageMediator;
+
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
+public final class OutputStreamFactory {
+
+ private OutputStreamFactory() {
+ }
+
+ public static TypeCodeOutputStream newTypeCodeOutputStream(
+ final ORB orb) {
+ return AccessController.doPrivileged(
+ new PrivilegedAction() {
+ @Override
+ public TypeCodeOutputStream run() {
+ return new TypeCodeOutputStream(orb);
+ }
+ });
+ }
+
+ public static TypeCodeOutputStream newTypeCodeOutputStream(
+ final ORB orb, final boolean littleEndian) {
+ return AccessController.doPrivileged(
+ new PrivilegedAction() {
+ @Override
+ public TypeCodeOutputStream run() {
+ return new TypeCodeOutputStream(orb, littleEndian);
+ }
+ });
+ }
+
+ public static EncapsOutputStream newEncapsOutputStream(
+ final ORB orb) {
+ return AccessController.doPrivileged(
+ new PrivilegedAction() {
+ @Override
+ public EncapsOutputStream run() {
+ return new EncapsOutputStream(
+ (com.sun.corba.se.spi.orb.ORB)orb);
+ }
+ });
+ }
+
+ public static EncapsOutputStream newEncapsOutputStream(
+ final ORB orb, final GIOPVersion giopVersion) {
+ return AccessController.doPrivileged(
+ new PrivilegedAction() {
+ @Override
+ public EncapsOutputStream run() {
+ return new EncapsOutputStream(
+ (com.sun.corba.se.spi.orb.ORB)orb, giopVersion);
+ }
+ });
+ }
+
+ public static EncapsOutputStream newEncapsOutputStream(
+ final ORB orb, final boolean isLittleEndian) {
+ return AccessController.doPrivileged(
+ new PrivilegedAction() {
+ @Override
+ public EncapsOutputStream run() {
+ return new EncapsOutputStream(
+ (com.sun.corba.se.spi.orb.ORB)orb, isLittleEndian);
+ }
+ });
+ }
+
+ public static CDROutputObject newCDROutputObject(
+ final ORB orb, final MessageMediator messageMediator,
+ final Message header, final byte streamFormatVersion) {
+ return AccessController.doPrivileged(
+ new PrivilegedAction() {
+ @Override
+ public CDROutputObject run() {
+ return new CDROutputObject(orb, messageMediator,
+ header, streamFormatVersion);
+ }
+ });
+ }
+
+ public static CDROutputObject newCDROutputObject(
+ final ORB orb, final MessageMediator messageMediator,
+ final Message header, final byte streamFormatVersion,
+ final int strategy) {
+ return AccessController.doPrivileged(
+ new PrivilegedAction() {
+ @Override
+ public CDROutputObject run() {
+ return new CDROutputObject(orb, messageMediator,
+ header, streamFormatVersion, strategy);
+ }
+ });
+ }
+
+ public static CDROutputObject newCDROutputObject(
+ final ORB orb, final CorbaMessageMediator mediator,
+ final GIOPVersion giopVersion, final CorbaConnection connection,
+ final Message header, final byte streamFormatVersion) {
+ return AccessController.doPrivileged(
+ new PrivilegedAction() {
+ @Override
+ public CDROutputObject run() {
+ return new CDROutputObject(orb, mediator,
+ giopVersion, connection, header, streamFormatVersion);
+ }
+ });
+ }
+
+}
diff --git a/corba/src/share/classes/sun/rmi/rmic/iiop/CompoundType.java b/corba/src/share/classes/sun/rmi/rmic/iiop/CompoundType.java
index 2c55bf72148..eba506daf73 100644
--- a/corba/src/share/classes/sun/rmi/rmic/iiop/CompoundType.java
+++ b/corba/src/share/classes/sun/rmi/rmic/iiop/CompoundType.java
@@ -32,6 +32,7 @@
package sun.rmi.rmic.iiop;
+import java.util.Arrays;
import java.util.Vector;
import sun.tools.java.Identifier;
import sun.tools.java.ClassNotFound;
@@ -1851,6 +1852,10 @@ public abstract class CompoundType extends Type {
return false;
}
+ public int hashCode() {
+ return getName().hashCode() ^ Arrays.hashCode(arguments);
+ }
+
/**
* Return a new Method object that is a legal combination of
* this method object and another one.
diff --git a/hotspot/.hgtags b/hotspot/.hgtags
index 974522a6a2b..f8540b7e06c 100644
--- a/hotspot/.hgtags
+++ b/hotspot/.hgtags
@@ -351,3 +351,10 @@ b786c04b7be15194febe88dc1f0c9443e737a84b hs25-b35
3c78a14da19d26d6937af5f98b97e2a21c653b04 hs25-b36
1beed1f6f9edefe47ba8ed1355fbd3e7606b8288 jdk8-b94
69689078dff8b21e6df30870464f5d736eebdf72 hs25-b37
+5d65c078cd0ac455aa5e58a09844c7acce54b487 jdk8-b95
+2cc5a9d1ba66dfdff578918b393c727bd9450210 hs25-b38
+e6a4b8c71fa6f225bd989a34de2d0d0a656a8be8 jdk8-b96
+2b9380b0bf0b649f40704735773e8956c2d88ba0 hs25-b39
+d197d377ab2e016d024e8c86cb06a57bd7eae590 jdk8-b97
+c9dd82da51ed34a28f7c6b3245163ee962e94572 hs25-b40
+30b5b75c42ac5174b640fbef8aa87527668e8400 jdk8-b98
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/CLHSDB.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/CLHSDB.java
index 5071235fa3e..9e8d016dcc2 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/CLHSDB.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/CLHSDB.java
@@ -31,13 +31,19 @@ import java.io.*;
import java.util.*;
public class CLHSDB {
+
+ public CLHSDB(JVMDebugger d) {
+ jvmDebugger = d;
+ }
+
public static void main(String[] args) {
new CLHSDB(args).run();
}
- private void run() {
- // At this point, if pidText != null we are supposed to attach to it.
- // Else, if execPath != null, it is the path of a jdk/bin/java
+ public void run() {
+ // If jvmDebugger is already set, we have been given a JVMDebugger.
+ // Otherwise, if pidText != null we are supposed to attach to it.
+ // Finally, if execPath != null, it is the path of a jdk/bin/java
// and coreFilename is the pathname of a core file we are
// supposed to attach to.
@@ -49,7 +55,9 @@ public class CLHSDB {
}
});
- if (pidText != null) {
+ if (jvmDebugger != null) {
+ attachDebugger(jvmDebugger);
+ } else if (pidText != null) {
attachDebugger(pidText);
} else if (execPath != null) {
attachDebugger(execPath, coreFilename);
@@ -96,6 +104,7 @@ public class CLHSDB {
// Internals only below this point
//
private HotSpotAgent agent;
+ private JVMDebugger jvmDebugger;
private boolean attached;
// These had to be made data members because they are referenced in inner classes.
private String pidText;
@@ -120,7 +129,7 @@ public class CLHSDB {
case (1):
if (args[0].equals("help") || args[0].equals("-help")) {
doUsage();
- System.exit(0);
+ return;
}
// If all numbers, it is a PID to attach to
// Else, it is a pathname to a .../bin/java for a core file.
@@ -142,10 +151,15 @@ public class CLHSDB {
default:
System.out.println("HSDB Error: Too many options specified");
doUsage();
- System.exit(1);
+ return;
}
}
+ private void attachDebugger(JVMDebugger d) {
+ agent.attach(d);
+ attached = true;
+ }
+
/** NOTE we are in a different thread here than either the main
thread or the Swing/AWT event handler thread, so we must be very
careful when creating or removing widgets */
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java
index 2233844267c..1840caf9313 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java
@@ -101,6 +101,9 @@ import sun.jvm.hotspot.utilities.soql.JSJavaFactoryImpl;
import sun.jvm.hotspot.utilities.soql.JSJavaScriptEngine;
public class CommandProcessor {
+
+ volatile boolean quit;
+
public abstract static class DebuggerInterface {
public abstract HotSpotAgent getAgent();
public abstract boolean isAttached();
@@ -1135,7 +1138,7 @@ public class CommandProcessor {
usage();
} else {
debugger.detach();
- System.exit(0);
+ quit = true;
}
}
},
@@ -1714,7 +1717,7 @@ public class CommandProcessor {
}
protected void quit() {
debugger.detach();
- System.exit(0);
+ quit = true;
}
protected BufferedReader getInputReader() {
return in;
@@ -1781,7 +1784,7 @@ public class CommandProcessor {
public void run(boolean prompt) {
// Process interactive commands.
- while (true) {
+ while (!quit) {
if (prompt) printPrompt();
String ln = null;
try {
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/HSDB.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/HSDB.java
index 5143408c687..d50cbaa5140 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/HSDB.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/HSDB.java
@@ -59,8 +59,11 @@ public class HSDB implements ObjectHistogramPanel.Listener, SAListener {
// Internals only below this point
//
private HotSpotAgent agent;
+ private JVMDebugger jvmDebugger;
private JDesktopPane desktop;
private boolean attached;
+ private boolean argError;
+ private JFrame frame;
/** List */
private java.util.List attachMenuItems;
/** List */
@@ -85,6 +88,11 @@ public class HSDB implements ObjectHistogramPanel.Listener, SAListener {
System.out.println(" path-to-corefile: Debug this corefile. The default is 'core'");
System.out.println(" If no arguments are specified, you can select what to do from the GUI.\n");
HotSpotAgent.showUsage();
+ argError = true;
+ }
+
+ public HSDB(JVMDebugger d) {
+ jvmDebugger = d;
}
private HSDB(String[] args) {
@@ -95,7 +103,6 @@ public class HSDB implements ObjectHistogramPanel.Listener, SAListener {
case (1):
if (args[0].equals("help") || args[0].equals("-help")) {
doUsage();
- System.exit(0);
}
// If all numbers, it is a PID to attach to
// Else, it is a pathname to a .../bin/java for a core file.
@@ -117,24 +124,29 @@ public class HSDB implements ObjectHistogramPanel.Listener, SAListener {
default:
System.out.println("HSDB Error: Too many options specified");
doUsage();
- System.exit(1);
}
}
- private void run() {
- // At this point, if pidText != null we are supposed to attach to it.
- // Else, if execPath != null, it is the path of a jdk/bin/java
- // and coreFilename is the pathname of a core file we are
- // supposed to attach to.
+ // close this tool without calling System.exit
+ protected void closeUI() {
+ workerThread.shutdown();
+ frame.dispose();
+ }
+
+ public void run() {
+ // Don't start the UI if there were bad arguments.
+ if (argError) {
+ return;
+ }
agent = new HotSpotAgent();
workerThread = new WorkerThread();
attachMenuItems = new java.util.ArrayList();
detachMenuItems = new java.util.ArrayList();
- JFrame frame = new JFrame("HSDB - HotSpot Debugger");
+ frame = new JFrame("HSDB - HotSpot Debugger");
frame.setSize(800, 600);
- frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
+ frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
JMenuBar menuBar = new JMenuBar();
@@ -197,7 +209,7 @@ public class HSDB implements ObjectHistogramPanel.Listener, SAListener {
item = createMenuItem("Exit",
new ActionListener() {
public void actionPerformed(ActionEvent e) {
- System.exit(0);
+ closeUI();
}
});
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, ActionEvent.ALT_MASK));
@@ -406,7 +418,15 @@ public class HSDB implements ObjectHistogramPanel.Listener, SAListener {
}
});
- if (pidText != null) {
+ // If jvmDebugger is already set, we have been given a JVMDebugger.
+ // Otherwise, if pidText != null we are supposed to attach to it.
+ // Finally, if execPath != null, it is the path of a jdk/bin/java
+ // and coreFilename is the pathname of a core file we are
+ // supposed to attach to.
+
+ if (jvmDebugger != null) {
+ attach(jvmDebugger);
+ } else if (pidText != null) {
attach(pidText);
} else if (execPath != null) {
attach(execPath, coreFilename);
@@ -1113,6 +1133,12 @@ public class HSDB implements ObjectHistogramPanel.Listener, SAListener {
});
}
+ // Attach to existing JVMDebugger, which should be already attached to a core/process.
+ private void attach(JVMDebugger d) {
+ attached = true;
+ showThreadsDialog();
+ }
+
/** NOTE we are in a different thread here than either the main
thread or the Swing/AWT event handler thread, so we must be very
careful when creating or removing widgets */
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java
index bdf9bd369e6..c963350591d 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java
@@ -25,6 +25,8 @@
package sun.jvm.hotspot;
import java.rmi.RemoteException;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
import sun.jvm.hotspot.debugger.Debugger;
import sun.jvm.hotspot.debugger.DebuggerException;
@@ -63,7 +65,6 @@ public class HotSpotAgent {
private String os;
private String cpu;
- private String fileSep;
// The system can work in several ways:
// - Attaching to local process
@@ -155,6 +156,14 @@ public class HotSpotAgent {
go();
}
+ /** This uses a JVMDebugger that is already attached to the core or process */
+ public synchronized void attach(JVMDebugger d)
+ throws DebuggerException {
+ debugger = d;
+ isServer = false;
+ go();
+ }
+
/** This attaches to a "debug server" on a remote machine; this
remote server has already attached to a process or opened a
core file and is waiting for RMI calls on the Debugger object to
@@ -303,28 +312,37 @@ public class HotSpotAgent {
// server, but not client attaching to server)
//
- try {
- os = PlatformInfo.getOS();
- cpu = PlatformInfo.getCPU();
- }
- catch (UnsupportedPlatformException e) {
- throw new DebuggerException(e);
- }
- fileSep = System.getProperty("file.separator");
+ // Handle existing or alternate JVMDebugger:
+ // these will set os, cpu independently of our PlatformInfo implementation.
+ String alternateDebugger = System.getProperty("sa.altDebugger");
+ if (debugger != null) {
+ setupDebuggerExisting();
+
+ } else if (alternateDebugger != null) {
+ setupDebuggerAlternate(alternateDebugger);
- if (os.equals("solaris")) {
- setupDebuggerSolaris();
- } else if (os.equals("win32")) {
- setupDebuggerWin32();
- } else if (os.equals("linux")) {
- setupDebuggerLinux();
- } else if (os.equals("bsd")) {
- setupDebuggerBsd();
- } else if (os.equals("darwin")) {
- setupDebuggerDarwin();
} else {
- // Add support for more operating systems here
- throw new DebuggerException("Operating system " + os + " not yet supported");
+ // Otherwise, os, cpu are those of our current platform:
+ try {
+ os = PlatformInfo.getOS();
+ cpu = PlatformInfo.getCPU();
+ } catch (UnsupportedPlatformException e) {
+ throw new DebuggerException(e);
+ }
+ if (os.equals("solaris")) {
+ setupDebuggerSolaris();
+ } else if (os.equals("win32")) {
+ setupDebuggerWin32();
+ } else if (os.equals("linux")) {
+ setupDebuggerLinux();
+ } else if (os.equals("bsd")) {
+ setupDebuggerBsd();
+ } else if (os.equals("darwin")) {
+ setupDebuggerDarwin();
+ } else {
+ // Add support for more operating systems here
+ throw new DebuggerException("Operating system " + os + " not yet supported");
+ }
}
if (isServer) {
@@ -423,6 +441,41 @@ public class HotSpotAgent {
// OS-specific debugger setup/connect routines
//
+ // Use the existing JVMDebugger, as passed to our constructor.
+ // Retrieve os and cpu from that debugger, not the current platform.
+ private void setupDebuggerExisting() {
+
+ os = debugger.getOS();
+ cpu = debugger.getCPU();
+ setupJVMLibNames(os);
+ machDesc = debugger.getMachineDescription();
+ }
+
+ // Given a classname, load an alternate implementation of JVMDebugger.
+ private void setupDebuggerAlternate(String alternateName) {
+
+ try {
+ Class c = Class.forName(alternateName);
+ Constructor cons = c.getConstructor();
+ debugger = (JVMDebugger) cons.newInstance();
+ attachDebugger();
+ setupDebuggerExisting();
+
+ } catch (ClassNotFoundException cnfe) {
+ throw new DebuggerException("Cannot find alternate SA Debugger: '" + alternateName + "'");
+ } catch (NoSuchMethodException nsme) {
+ throw new DebuggerException("Alternate SA Debugger: '" + alternateName + "' has missing constructor.");
+ } catch (InstantiationException ie) {
+ throw new DebuggerException("Alternate SA Debugger: '" + alternateName + "' fails to initialise: ", ie);
+ } catch (IllegalAccessException iae) {
+ throw new DebuggerException("Alternate SA Debugger: '" + alternateName + "' fails to initialise: ", iae);
+ } catch (InvocationTargetException iae) {
+ throw new DebuggerException("Alternate SA Debugger: '" + alternateName + "' fails to initialise: ", iae);
+ }
+
+ System.err.println("Loaded alternate HotSpot SA Debugger: " + alternateName);
+ }
+
//
// Solaris
//
@@ -466,6 +519,11 @@ public class HotSpotAgent {
debugger = new RemoteDebuggerClient(remote);
machDesc = ((RemoteDebuggerClient) debugger).getMachineDescription();
os = debugger.getOS();
+ setupJVMLibNames(os);
+ cpu = debugger.getCPU();
+ }
+
+ private void setupJVMLibNames(String os) {
if (os.equals("solaris")) {
setupJVMLibNamesSolaris();
} else if (os.equals("win32")) {
@@ -479,8 +537,6 @@ public class HotSpotAgent {
} else {
throw new RuntimeException("Unknown OS type");
}
-
- cpu = debugger.getCPU();
}
private void setupJVMLibNamesSolaris() {
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxAddress.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxAddress.java
index 9e85e133b3a..cff29ce8edc 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxAddress.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxAddress.java
@@ -26,11 +26,11 @@ package sun.jvm.hotspot.debugger.linux;
import sun.jvm.hotspot.debugger.*;
-class LinuxAddress implements Address {
+public class LinuxAddress implements Address {
protected LinuxDebugger debugger;
protected long addr;
- LinuxAddress(LinuxDebugger debugger, long addr) {
+ public LinuxAddress(LinuxDebugger debugger, long addr) {
this.debugger = debugger;
this.addr = addr;
}
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxOopHandle.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxOopHandle.java
index 310acb88ac7..99291aada29 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxOopHandle.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxOopHandle.java
@@ -26,8 +26,8 @@ package sun.jvm.hotspot.debugger.linux;
import sun.jvm.hotspot.debugger.*;
-class LinuxOopHandle extends LinuxAddress implements OopHandle {
- LinuxOopHandle(LinuxDebugger debugger, long addr) {
+public class LinuxOopHandle extends LinuxAddress implements OopHandle {
+ public LinuxOopHandle(LinuxDebugger debugger, long addr) {
super(debugger, addr);
}
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java
index 0a9d9436878..f84da894ac2 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java
@@ -246,7 +246,7 @@ public class VM {
}
}
- private static final boolean disableDerivedPrinterTableCheck;
+ private static final boolean disableDerivedPointerTableCheck;
private static final Properties saProps;
static {
@@ -256,12 +256,12 @@ public class VM {
url = VM.class.getClassLoader().getResource("sa.properties");
saProps.load(new BufferedInputStream(url.openStream()));
} catch (Exception e) {
- throw new RuntimeException("Unable to load properties " +
+ System.err.println("Unable to load properties " +
(url == null ? "null" : url.toString()) +
": " + e.getMessage());
}
- disableDerivedPrinterTableCheck = System.getProperty("sun.jvm.hotspot.runtime.VM.disableDerivedPointerTableCheck") != null;
+ disableDerivedPointerTableCheck = System.getProperty("sun.jvm.hotspot.runtime.VM.disableDerivedPointerTableCheck") != null;
}
private VM(TypeDataBase db, JVMDebugger debugger, boolean isBigEndian) {
@@ -371,7 +371,8 @@ public class VM {
/** This is used by the debugging system */
public static void initialize(TypeDataBase db, JVMDebugger debugger) {
if (soleInstance != null) {
- throw new RuntimeException("Attempt to initialize VM twice");
+ // Using multiple SA Tool classes in the same process creates a call here.
+ return;
}
soleInstance = new VM(db, debugger, debugger.getMachineDescription().isBigEndian());
@@ -683,7 +684,7 @@ public class VM {
/** Returns true if C2 derived pointer table should be used, false otherwise */
public boolean useDerivedPointerTable() {
- return !disableDerivedPrinterTableCheck;
+ return !disableDerivedPointerTableCheck;
}
/** Returns the code cache; should not be used if is core build */
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/ClassLoaderStats.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/ClassLoaderStats.java
index 77f0f800445..eeda376b1d6 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/ClassLoaderStats.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/ClassLoaderStats.java
@@ -41,6 +41,14 @@ import sun.jvm.hotspot.utilities.*;
public class ClassLoaderStats extends Tool {
boolean verbose = true;
+ public ClassLoaderStats() {
+ super();
+ }
+
+ public ClassLoaderStats(JVMDebugger d) {
+ super(d);
+ }
+
public static void main(String[] args) {
ClassLoaderStats cls = new ClassLoaderStats();
cls.start(args);
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/FinalizerInfo.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/FinalizerInfo.java
index 79e6784a63e..ed707b9ee8a 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/FinalizerInfo.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/FinalizerInfo.java
@@ -24,6 +24,7 @@
package sun.jvm.hotspot.tools;
+import sun.jvm.hotspot.debugger.JVMDebugger;
import sun.jvm.hotspot.tools.*;
import sun.jvm.hotspot.oops.*;
@@ -42,6 +43,15 @@ import java.util.Comparator;
* summary of these objects in the form of a histogram.
*/
public class FinalizerInfo extends Tool {
+
+ public FinalizerInfo() {
+ super();
+ }
+
+ public FinalizerInfo(JVMDebugger d) {
+ super(d);
+ }
+
public static void main(String[] args) {
FinalizerInfo finfo = new FinalizerInfo();
finfo.start(args);
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/FlagDumper.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/FlagDumper.java
index effeabb582a..c8db6d6b044 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/FlagDumper.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/FlagDumper.java
@@ -25,10 +25,19 @@
package sun.jvm.hotspot.tools;
import java.io.PrintStream;
+import sun.jvm.hotspot.debugger.JVMDebugger;
import sun.jvm.hotspot.runtime.*;
public class FlagDumper extends Tool {
+ public FlagDumper() {
+ super();
+ }
+
+ public FlagDumper(JVMDebugger d) {
+ super(d);
+ }
+
public void run() {
VM.Flag[] flags = VM.getVM().getCommandLineFlags();
PrintStream out = System.out;
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/HeapDumper.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/HeapDumper.java
index 5a7c06618b9..c5af0ed005d 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/HeapDumper.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/HeapDumper.java
@@ -25,6 +25,7 @@
package sun.jvm.hotspot.tools;
import sun.jvm.hotspot.utilities.HeapHprofBinWriter;
+import sun.jvm.hotspot.debugger.JVMDebugger;
import java.io.IOException;
/*
@@ -42,6 +43,11 @@ public class HeapDumper extends Tool {
this.dumpFile = dumpFile;
}
+ public HeapDumper(String dumpFile, JVMDebugger d) {
+ super(d);
+ this.dumpFile = dumpFile;
+ }
+
protected void printFlagsUsage() {
System.out.println(" \tto dump heap to " +
DEFAULT_DUMP_FILE);
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/HeapSummary.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/HeapSummary.java
index 87621655269..a0123dd4c99 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/HeapSummary.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/HeapSummary.java
@@ -29,12 +29,21 @@ import sun.jvm.hotspot.gc_interface.*;
import sun.jvm.hotspot.gc_implementation.g1.*;
import sun.jvm.hotspot.gc_implementation.parallelScavenge.*;
import sun.jvm.hotspot.gc_implementation.shared.*;
+import sun.jvm.hotspot.debugger.JVMDebugger;
import sun.jvm.hotspot.memory.*;
import sun.jvm.hotspot.oops.*;
import sun.jvm.hotspot.runtime.*;
public class HeapSummary extends Tool {
+ public HeapSummary() {
+ super();
+ }
+
+ public HeapSummary(JVMDebugger d) {
+ super(d);
+ }
+
public static void main(String[] args) {
HeapSummary hs = new HeapSummary();
hs.start(args);
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/JInfo.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/JInfo.java
index a9f6c0e9c90..f2452420744 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/JInfo.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/JInfo.java
@@ -25,12 +25,21 @@
package sun.jvm.hotspot.tools;
import sun.jvm.hotspot.runtime.*;
+import sun.jvm.hotspot.debugger.JVMDebugger;
public class JInfo extends Tool {
+ public JInfo() {
+ super();
+ }
+
public JInfo(int m) {
mode = m;
}
+ public JInfo(JVMDebugger d) {
+ super(d);
+ }
+
protected boolean needsJavaPrefix() {
return false;
}
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/JMap.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/JMap.java
index d9ea364edaa..f6f3c0741c0 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/JMap.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/JMap.java
@@ -25,6 +25,7 @@
package sun.jvm.hotspot.tools;
import java.io.*;
+import sun.jvm.hotspot.debugger.JVMDebugger;
import sun.jvm.hotspot.utilities.*;
public class JMap extends Tool {
@@ -36,6 +37,10 @@ public class JMap extends Tool {
this(MODE_PMAP);
}
+ public JMap(JVMDebugger d) {
+ super(d);
+ }
+
protected boolean needsJavaPrefix() {
return false;
}
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/JSnap.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/JSnap.java
index 95f46445f8a..9301f1059fd 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/JSnap.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/JSnap.java
@@ -25,9 +25,19 @@
package sun.jvm.hotspot.tools;
import java.io.*;
+import sun.jvm.hotspot.debugger.JVMDebugger;
import sun.jvm.hotspot.runtime.*;
public class JSnap extends Tool {
+
+ public JSnap() {
+ super();
+ }
+
+ public JSnap(JVMDebugger d) {
+ super(d);
+ }
+
public void run() {
final PrintStream out = System.out;
if (PerfMemory.initialized()) {
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/JStack.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/JStack.java
index 9e0688cf393..7cbe8f4d945 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/JStack.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/JStack.java
@@ -24,6 +24,8 @@
package sun.jvm.hotspot.tools;
+import sun.jvm.hotspot.debugger.JVMDebugger;
+
public class JStack extends Tool {
public JStack(boolean mixedMode, boolean concurrentLocks) {
this.mixedMode = mixedMode;
@@ -34,6 +36,10 @@ public class JStack extends Tool {
this(true, true);
}
+ public JStack(JVMDebugger d) {
+ super(d);
+ }
+
protected boolean needsJavaPrefix() {
return false;
}
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/ObjectHistogram.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/ObjectHistogram.java
index f03469e13f1..168202eec2c 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/ObjectHistogram.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/ObjectHistogram.java
@@ -33,6 +33,14 @@ import java.io.PrintStream;
an object histogram from a remote or crashed VM. */
public class ObjectHistogram extends Tool {
+ public ObjectHistogram() {
+ super();
+ }
+
+ public ObjectHistogram(JVMDebugger d) {
+ super(d);
+ }
+
public void run() {
run(System.out, System.err);
}
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/PMap.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/PMap.java
index 70bd55513b9..2a234130991 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/PMap.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/PMap.java
@@ -31,6 +31,15 @@ import sun.jvm.hotspot.debugger.cdbg.*;
import sun.jvm.hotspot.runtime.*;
public class PMap extends Tool {
+
+ public PMap() {
+ super();
+ }
+
+ public PMap(JVMDebugger d) {
+ super(d);
+ }
+
public void run() {
run(System.out);
}
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/PStack.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/PStack.java
index 0b3720ff594..7f10612b317 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/PStack.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/PStack.java
@@ -45,6 +45,10 @@ public class PStack extends Tool {
this(true, true);
}
+ public PStack(JVMDebugger d) {
+ super(d);
+ }
+
public void run() {
run(System.out);
}
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/StackTrace.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/StackTrace.java
index 83270bfdeff..eb0cc88d116 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/StackTrace.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/StackTrace.java
@@ -45,6 +45,16 @@ public class StackTrace extends Tool {
run(System.out);
}
+ public StackTrace(JVMDebugger d) {
+ super(d);
+ }
+
+ public StackTrace(JVMDebugger d, boolean v, boolean concurrentLocks) {
+ super(d);
+ this.verbose = v;
+ this.concurrentLocks = concurrentLocks;
+ }
+
public void run(java.io.PrintStream tty) {
// Ready to go with the database...
try {
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/SysPropsDumper.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/SysPropsDumper.java
index bb4f703c64b..d601fef4401 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/SysPropsDumper.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/SysPropsDumper.java
@@ -27,10 +27,19 @@ package sun.jvm.hotspot.tools;
import java.io.PrintStream;
import java.util.*;
+import sun.jvm.hotspot.debugger.JVMDebugger;
import sun.jvm.hotspot.runtime.*;
public class SysPropsDumper extends Tool {
+ public SysPropsDumper() {
+ super();
+ }
+
+ public SysPropsDumper(JVMDebugger d) {
+ super(d);
+ }
+
public void run() {
Properties sysProps = VM.getVM().getSystemProperties();
PrintStream out = System.out;
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/Tool.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/Tool.java
index 4279c425bd8..3021801c9dd 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/Tool.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/Tool.java
@@ -35,6 +35,7 @@ import sun.jvm.hotspot.debugger.*;
public abstract class Tool implements Runnable {
private HotSpotAgent agent;
+ private JVMDebugger jvmDebugger;
private int debugeeType;
// debugeeType is one of constants below
@@ -42,6 +43,13 @@ public abstract class Tool implements Runnable {
protected static final int DEBUGEE_CORE = 1;
protected static final int DEBUGEE_REMOTE = 2;
+ public Tool() {
+ }
+
+ public Tool(JVMDebugger d) {
+ jvmDebugger = d;
+ }
+
public String getName() {
return getClass().getName();
}
@@ -90,7 +98,6 @@ public abstract class Tool implements Runnable {
protected void usage() {
printUsage();
- System.exit(1);
}
/*
@@ -106,13 +113,13 @@ public abstract class Tool implements Runnable {
protected void stop() {
if (agent != null) {
agent.detach();
- System.exit(0);
}
}
protected void start(String[] args) {
if ((args.length < 1) || (args.length > 2)) {
usage();
+ return;
}
// Attempt to handle -h or -help or some invalid flag
@@ -185,13 +192,31 @@ public abstract class Tool implements Runnable {
}
if (e.getMessage() != null) {
err.print(e.getMessage());
+ e.printStackTrace();
}
err.println();
- System.exit(1);
+ return;
}
err.println("Debugger attached successfully.");
+ startInternal();
+ }
+ // When using an existing JVMDebugger.
+ public void start() {
+
+ if (jvmDebugger == null) {
+ throw new RuntimeException("Tool.start() called with no JVMDebugger set.");
+ }
+ agent = new HotSpotAgent();
+ agent.attach(jvmDebugger);
+ startInternal();
+ }
+
+ // Remains of the start mechanism, common to both start methods.
+ private void startInternal() {
+
+ PrintStream err = System.err;
VM vm = VM.getVM();
if (vm.isCore()) {
err.println("Core build detected.");
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ClassDump.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ClassDump.java
index 34ccc102acb..96817b26226 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ClassDump.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ClassDump.java
@@ -25,6 +25,7 @@
package sun.jvm.hotspot.tools.jcore;
import java.io.*;
+import java.lang.reflect.Constructor;
import java.util.jar.JarOutputStream;
import java.util.jar.JarEntry;
import java.util.jar.Manifest;
@@ -38,6 +39,16 @@ public class ClassDump extends Tool {
private ClassFilter classFilter;
private String outputDirectory;
private JarOutputStream jarStream;
+ private String pkgList;
+
+ public ClassDump() {
+ super();
+ }
+
+ public ClassDump(JVMDebugger d, String pkgList) {
+ super(d);
+ this.pkgList = pkgList;
+ }
public void setClassFilter(ClassFilter cf) {
classFilter = cf;
@@ -63,6 +74,25 @@ public class ClassDump extends Tool {
public void run() {
// Ready to go with the database...
try {
+ // The name of the filter always comes from a System property.
+ // If we have a pkgList, pass it, otherwise let the filter read
+ // its own System property for the list of classes.
+ String filterClassName = System.getProperty("sun.jvm.hotspot.tools.jcore.filter",
+ "sun.jvm.hotspot.tools.jcore.PackageNameFilter");
+ try {
+ Class filterClass = Class.forName(filterClassName);
+ if (pkgList == null) {
+ classFilter = (ClassFilter) filterClass.newInstance();
+ } else {
+ Constructor con = filterClass.getConstructor(String.class);
+ classFilter = (ClassFilter) con.newInstance(pkgList);
+ }
+ } catch(Exception exp) {
+ System.err.println("Warning: Can not create class filter!");
+ }
+
+ String outputDirectory = System.getProperty("sun.jvm.hotspot.tools.jcore.outputDir", ".");
+ setOutputDirectory(outputDirectory);
// walk through the system dictionary
SystemDictionary dict = VM.getVM().getSystemDictionary();
@@ -139,26 +169,8 @@ public class ClassDump extends Tool {
}
public static void main(String[] args) {
- // load class filters
- ClassFilter classFilter = null;
- String filterClassName = System.getProperty("sun.jvm.hotspot.tools.jcore.filter");
- if (filterClassName != null) {
- try {
- Class filterClass = Class.forName(filterClassName);
- classFilter = (ClassFilter) filterClass.newInstance();
- } catch(Exception exp) {
- System.err.println("Warning: Can not create class filter!");
- }
- }
-
- String outputDirectory = System.getProperty("sun.jvm.hotspot.tools.jcore.outputDir");
- if (outputDirectory == null)
- outputDirectory = ".";
-
ClassDump cd = new ClassDump();
- cd.setClassFilter(classFilter);
- cd.setOutputDirectory(outputDirectory);
cd.start(args);
cd.stop();
}
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/soql/JSDB.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/soql/JSDB.java
index e46de0194d7..09874af178e 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/soql/JSDB.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/soql/JSDB.java
@@ -24,12 +24,22 @@
package sun.jvm.hotspot.tools.soql;
+import sun.jvm.hotspot.debugger.JVMDebugger;
import sun.jvm.hotspot.tools.*;
import sun.jvm.hotspot.utilities.*;
import sun.jvm.hotspot.utilities.soql.*;
/** This is command line JavaScript debugger console */
public class JSDB extends Tool {
+
+ public JSDB() {
+ super();
+ }
+
+ public JSDB(JVMDebugger d) {
+ super(d);
+ }
+
public static void main(String[] args) {
JSDB jsdb = new JSDB();
jsdb.start(args);
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/soql/SOQL.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/soql/SOQL.java
index 3a4c2470b1b..b3054b90bd0 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/soql/SOQL.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/soql/SOQL.java
@@ -44,6 +44,14 @@ public class SOQL extends Tool {
soql.stop();
}
+ public SOQL() {
+ super();
+ }
+
+ public SOQL(JVMDebugger d) {
+ super(d);
+ }
+
protected SOQLEngine soqlEngine;
protected BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
protected PrintStream out = System.out;
diff --git a/hotspot/make/bsd/makefiles/build_vm_def.sh b/hotspot/make/bsd/makefiles/build_vm_def.sh
index fb9a0d57a78..91918635b26 100644
--- a/hotspot/make/bsd/makefiles/build_vm_def.sh
+++ b/hotspot/make/bsd/makefiles/build_vm_def.sh
@@ -7,6 +7,6 @@ else
NM=nm
fi
-$NM --defined-only $* | awk '
- { if ($3 ~ /^_ZTV/ || $3 ~ /^gHotSpotVM/) print "\t" $3 ";" }
+$NM -Uj $* | awk '
+ { if ($3 ~ /^_ZTV/ || $3 ~ /^gHotSpotVM/) print "\t" $3 }
'
diff --git a/hotspot/make/bsd/makefiles/gcc.make b/hotspot/make/bsd/makefiles/gcc.make
index 64fa53441b8..36ba062651c 100644
--- a/hotspot/make/bsd/makefiles/gcc.make
+++ b/hotspot/make/bsd/makefiles/gcc.make
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 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
@@ -368,8 +368,8 @@ ifeq ($(OS_VENDOR), Darwin)
# Standard linker flags
LFLAGS +=
- # Darwin doesn't use ELF and doesn't support version scripts
- LDNOMAP = true
+ # The apple linker has its own variant of mapfiles/version-scripts
+ MAPFLAG = -Xlinker -exported_symbols_list -Xlinker FILENAME
# Use $(SONAMEFLAG:SONAME=soname) to specify the intrinsic name of a shared obj
SONAMEFLAG =
diff --git a/hotspot/make/bsd/makefiles/mapfile-vers-debug b/hotspot/make/bsd/makefiles/mapfile-vers-debug
index eb33112062c..d371239ab06 100644
--- a/hotspot/make/bsd/makefiles/mapfile-vers-debug
+++ b/hotspot/make/bsd/makefiles/mapfile-vers-debug
@@ -1,7 +1,3 @@
-#
-# @(#)mapfile-vers-debug 1.18 07/10/25 16:47:35
-#
-
#
# Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -23,273 +19,244 @@
# 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.
-#
#
+#
+# Only used for OSX/Darwin builds
# Define public interface.
+ # _JNI
+ _JNI_CreateJavaVM
+ _JNI_GetCreatedJavaVMs
+ _JNI_GetDefaultJavaVMInitArgs
-SUNWprivate_1.1 {
- global:
- # JNI
- JNI_CreateJavaVM;
- JNI_GetCreatedJavaVMs;
- JNI_GetDefaultJavaVMInitArgs;
+ # _JVM
+ _JVM_Accept
+ _JVM_ActiveProcessorCount
+ _JVM_AllocateNewArray
+ _JVM_AllocateNewObject
+ _JVM_ArrayCopy
+ _JVM_AssertionStatusDirectives
+ _JVM_Available
+ _JVM_Bind
+ _JVM_ClassDepth
+ _JVM_ClassLoaderDepth
+ _JVM_Clone
+ _JVM_Close
+ _JVM_CX8Field
+ _JVM_CompileClass
+ _JVM_CompileClasses
+ _JVM_CompilerCommand
+ _JVM_Connect
+ _JVM_ConstantPoolGetClassAt
+ _JVM_ConstantPoolGetClassAtIfLoaded
+ _JVM_ConstantPoolGetDoubleAt
+ _JVM_ConstantPoolGetFieldAt
+ _JVM_ConstantPoolGetFieldAtIfLoaded
+ _JVM_ConstantPoolGetFloatAt
+ _JVM_ConstantPoolGetIntAt
+ _JVM_ConstantPoolGetLongAt
+ _JVM_ConstantPoolGetMethodAt
+ _JVM_ConstantPoolGetMethodAtIfLoaded
+ _JVM_ConstantPoolGetMemberRefInfoAt
+ _JVM_ConstantPoolGetSize
+ _JVM_ConstantPoolGetStringAt
+ _JVM_ConstantPoolGetUTF8At
+ _JVM_CountStackFrames
+ _JVM_CurrentClassLoader
+ _JVM_CurrentLoadedClass
+ _JVM_CurrentThread
+ _JVM_CurrentTimeMillis
+ _JVM_DefineClass
+ _JVM_DefineClassWithSource
+ _JVM_DefineClassWithSourceCond
+ _JVM_DesiredAssertionStatus
+ _JVM_DisableCompiler
+ _JVM_DoPrivileged
+ _JVM_DTraceGetVersion
+ _JVM_DTraceActivate
+ _JVM_DTraceIsProbeEnabled
+ _JVM_DTraceIsSupported
+ _JVM_DTraceDispose
+ _JVM_DumpAllStacks
+ _JVM_DumpThreads
+ _JVM_EnableCompiler
+ _JVM_Exit
+ _JVM_FillInStackTrace
+ _JVM_FindClassFromClass
+ _JVM_FindClassFromClassLoader
+ _JVM_FindClassFromBootLoader
+ _JVM_FindLibraryEntry
+ _JVM_FindLoadedClass
+ _JVM_FindPrimitiveClass
+ _JVM_FindSignal
+ _JVM_FreeMemory
+ _JVM_GC
+ _JVM_GetAllThreads
+ _JVM_GetArrayElement
+ _JVM_GetArrayLength
+ _JVM_GetCPClassNameUTF
+ _JVM_GetCPFieldClassNameUTF
+ _JVM_GetCPFieldModifiers
+ _JVM_GetCPFieldNameUTF
+ _JVM_GetCPFieldSignatureUTF
+ _JVM_GetCPMethodClassNameUTF
+ _JVM_GetCPMethodModifiers
+ _JVM_GetCPMethodNameUTF
+ _JVM_GetCPMethodSignatureUTF
+ _JVM_GetCallerClass
+ _JVM_GetClassAccessFlags
+ _JVM_GetClassAnnotations
+ _JVM_GetClassCPEntriesCount
+ _JVM_GetClassCPTypes
+ _JVM_GetClassConstantPool
+ _JVM_GetClassContext
+ _JVM_GetClassDeclaredConstructors
+ _JVM_GetClassDeclaredFields
+ _JVM_GetClassDeclaredMethods
+ _JVM_GetClassFieldsCount
+ _JVM_GetClassInterfaces
+ _JVM_GetClassLoader
+ _JVM_GetClassMethodsCount
+ _JVM_GetClassModifiers
+ _JVM_GetClassName
+ _JVM_GetClassNameUTF
+ _JVM_GetClassSignature
+ _JVM_GetClassSigners
+ _JVM_GetClassTypeAnnotations
+ _JVM_GetComponentType
+ _JVM_GetDeclaredClasses
+ _JVM_GetDeclaringClass
+ _JVM_GetEnclosingMethodInfo
+ _JVM_GetFieldAnnotations
+ _JVM_GetFieldIxModifiers
+ _JVM_GetFieldTypeAnnotations
+ _JVM_GetHostName
+ _JVM_GetInheritedAccessControlContext
+ _JVM_GetInterfaceVersion
+ _JVM_GetLastErrorString
+ _JVM_GetManagement
+ _JVM_GetMethodAnnotations
+ _JVM_GetMethodDefaultAnnotationValue
+ _JVM_GetMethodIxArgsSize
+ _JVM_GetMethodIxByteCode
+ _JVM_GetMethodIxByteCodeLength
+ _JVM_GetMethodIxExceptionIndexes
+ _JVM_GetMethodIxExceptionTableEntry
+ _JVM_GetMethodIxExceptionTableLength
+ _JVM_GetMethodIxExceptionsCount
+ _JVM_GetMethodIxLocalsCount
+ _JVM_GetMethodIxMaxStack
+ _JVM_GetMethodIxModifiers
+ _JVM_GetMethodIxNameUTF
+ _JVM_GetMethodIxSignatureUTF
+ _JVM_GetMethodParameterAnnotations
+ _JVM_GetMethodParameters
+ _JVM_GetMethodTypeAnnotations
+ _JVM_GetPrimitiveArrayElement
+ _JVM_GetProtectionDomain
+ _JVM_GetSockName
+ _JVM_GetSockOpt
+ _JVM_GetStackAccessControlContext
+ _JVM_GetStackTraceDepth
+ _JVM_GetStackTraceElement
+ _JVM_GetSystemPackage
+ _JVM_GetSystemPackages
+ _JVM_GetThreadStateNames
+ _JVM_GetThreadStateValues
+ _JVM_GetVersionInfo
+ _JVM_Halt
+ _JVM_HoldsLock
+ _JVM_IHashCode
+ _JVM_InitAgentProperties
+ _JVM_InitProperties
+ _JVM_InitializeCompiler
+ _JVM_InitializeSocketLibrary
+ _JVM_InternString
+ _JVM_Interrupt
+ _JVM_InvokeMethod
+ _JVM_IsArrayClass
+ _JVM_IsConstructorIx
+ _JVM_IsInterface
+ _JVM_IsInterrupted
+ _JVM_IsNaN
+ _JVM_IsPrimitiveClass
+ _JVM_IsSameClassPackage
+ _JVM_IsSilentCompiler
+ _JVM_IsSupportedJNIVersion
+ _JVM_IsThreadAlive
+ _JVM_IsVMGeneratedMethodIx
+ _JVM_LatestUserDefinedLoader
+ _JVM_Listen
+ _JVM_LoadClass0
+ _JVM_LoadLibrary
+ _JVM_Lseek
+ _JVM_MaxObjectInspectionAge
+ _JVM_MaxMemory
+ _JVM_MonitorNotify
+ _JVM_MonitorNotifyAll
+ _JVM_MonitorWait
+ _JVM_NanoTime
+ _JVM_NativePath
+ _JVM_NewArray
+ _JVM_NewInstanceFromConstructor
+ _JVM_NewMultiArray
+ _JVM_OnExit
+ _JVM_Open
+ _JVM_RaiseSignal
+ _JVM_RawMonitorCreate
+ _JVM_RawMonitorDestroy
+ _JVM_RawMonitorEnter
+ _JVM_RawMonitorExit
+ _JVM_Read
+ _JVM_Recv
+ _JVM_RecvFrom
+ _JVM_RegisterSignal
+ _JVM_ReleaseUTF
+ _JVM_ResolveClass
+ _JVM_ResumeThread
+ _JVM_Send
+ _JVM_SendTo
+ _JVM_SetArrayElement
+ _JVM_SetClassSigners
+ _JVM_SetLength
+ _JVM_SetNativeThreadName
+ _JVM_SetPrimitiveArrayElement
+ _JVM_SetProtectionDomain
+ _JVM_SetSockOpt
+ _JVM_SetThreadPriority
+ _JVM_Sleep
+ _JVM_Socket
+ _JVM_SocketAvailable
+ _JVM_SocketClose
+ _JVM_SocketShutdown
+ _JVM_StartThread
+ _JVM_StopThread
+ _JVM_SuspendThread
+ _JVM_SupportsCX8
+ _JVM_Sync
+ _JVM_Timeout
+ _JVM_TotalMemory
+ _JVM_TraceInstructions
+ _JVM_TraceMethodCalls
+ _JVM_UnloadLibrary
+ _JVM_Write
+ _JVM_Yield
+ _JVM_handle_bsd_signal
- # JVM
- JVM_Accept;
- JVM_ActiveProcessorCount;
- JVM_AllocateNewArray;
- JVM_AllocateNewObject;
- JVM_ArrayCopy;
- JVM_AssertionStatusDirectives;
- JVM_Available;
- JVM_Bind;
- JVM_ClassDepth;
- JVM_ClassLoaderDepth;
- JVM_Clone;
- JVM_Close;
- JVM_CX8Field;
- JVM_CompileClass;
- JVM_CompileClasses;
- JVM_CompilerCommand;
- JVM_Connect;
- JVM_ConstantPoolGetClassAt;
- JVM_ConstantPoolGetClassAtIfLoaded;
- JVM_ConstantPoolGetDoubleAt;
- JVM_ConstantPoolGetFieldAt;
- JVM_ConstantPoolGetFieldAtIfLoaded;
- JVM_ConstantPoolGetFloatAt;
- JVM_ConstantPoolGetIntAt;
- JVM_ConstantPoolGetLongAt;
- JVM_ConstantPoolGetMethodAt;
- JVM_ConstantPoolGetMethodAtIfLoaded;
- JVM_ConstantPoolGetMemberRefInfoAt;
- JVM_ConstantPoolGetSize;
- JVM_ConstantPoolGetStringAt;
- JVM_ConstantPoolGetUTF8At;
- JVM_CountStackFrames;
- JVM_CurrentClassLoader;
- JVM_CurrentLoadedClass;
- JVM_CurrentThread;
- JVM_CurrentTimeMillis;
- JVM_DefineClass;
- JVM_DefineClassWithSource;
- JVM_DefineClassWithSourceCond;
- JVM_DesiredAssertionStatus;
- JVM_DisableCompiler;
- JVM_DoPrivileged;
- JVM_DTraceGetVersion;
- JVM_DTraceActivate;
- JVM_DTraceIsProbeEnabled;
- JVM_DTraceIsSupported;
- JVM_DTraceDispose;
- JVM_DumpAllStacks;
- JVM_DumpThreads;
- JVM_EnableCompiler;
- JVM_Exit;
- JVM_FillInStackTrace;
- JVM_FindClassFromClass;
- JVM_FindClassFromClassLoader;
- JVM_FindClassFromBootLoader;
- JVM_FindLibraryEntry;
- JVM_FindLoadedClass;
- JVM_FindPrimitiveClass;
- JVM_FindSignal;
- JVM_FreeMemory;
- JVM_GC;
- JVM_GetAllThreads;
- JVM_GetArrayElement;
- JVM_GetArrayLength;
- JVM_GetCPClassNameUTF;
- JVM_GetCPFieldClassNameUTF;
- JVM_GetCPFieldModifiers;
- JVM_GetCPFieldNameUTF;
- JVM_GetCPFieldSignatureUTF;
- JVM_GetCPMethodClassNameUTF;
- JVM_GetCPMethodModifiers;
- JVM_GetCPMethodNameUTF;
- JVM_GetCPMethodSignatureUTF;
- JVM_GetCallerClass;
- JVM_GetClassAccessFlags;
- JVM_GetClassAnnotations;
- JVM_GetClassCPEntriesCount;
- JVM_GetClassCPTypes;
- JVM_GetClassConstantPool;
- JVM_GetClassContext;
- JVM_GetClassDeclaredConstructors;
- JVM_GetClassDeclaredFields;
- JVM_GetClassDeclaredMethods;
- JVM_GetClassFieldsCount;
- JVM_GetClassInterfaces;
- JVM_GetClassLoader;
- JVM_GetClassMethodsCount;
- JVM_GetClassModifiers;
- JVM_GetClassName;
- JVM_GetClassNameUTF;
- JVM_GetClassSignature;
- JVM_GetClassSigners;
- JVM_GetClassTypeAnnotations;
- JVM_GetComponentType;
- JVM_GetDeclaredClasses;
- JVM_GetDeclaringClass;
- JVM_GetEnclosingMethodInfo;
- JVM_GetFieldAnnotations;
- JVM_GetFieldIxModifiers;
- JVM_GetFieldTypeAnnotations;
- JVM_GetHostName;
- JVM_GetInheritedAccessControlContext;
- JVM_GetInterfaceVersion;
- JVM_GetLastErrorString;
- JVM_GetManagement;
- JVM_GetMethodAnnotations;
- JVM_GetMethodDefaultAnnotationValue;
- JVM_GetMethodIxArgsSize;
- JVM_GetMethodIxByteCode;
- JVM_GetMethodIxByteCodeLength;
- JVM_GetMethodIxExceptionIndexes;
- JVM_GetMethodIxExceptionTableEntry;
- JVM_GetMethodIxExceptionTableLength;
- JVM_GetMethodIxExceptionsCount;
- JVM_GetMethodIxLocalsCount;
- JVM_GetMethodIxMaxStack;
- JVM_GetMethodIxModifiers;
- JVM_GetMethodIxNameUTF;
- JVM_GetMethodIxSignatureUTF;
- JVM_GetMethodParameterAnnotations;
- JVM_GetMethodParameters;
- JVM_GetMethodTypeAnnotations;
- JVM_GetPrimitiveArrayElement;
- JVM_GetProtectionDomain;
- JVM_GetSockName;
- JVM_GetSockOpt;
- JVM_GetStackAccessControlContext;
- JVM_GetStackTraceDepth;
- JVM_GetStackTraceElement;
- JVM_GetSystemPackage;
- JVM_GetSystemPackages;
- JVM_GetThreadStateNames;
- JVM_GetThreadStateValues;
- JVM_GetVersionInfo;
- JVM_Halt;
- JVM_HoldsLock;
- JVM_IHashCode;
- JVM_InitAgentProperties;
- JVM_InitProperties;
- JVM_InitializeCompiler;
- JVM_InitializeSocketLibrary;
- JVM_InternString;
- JVM_Interrupt;
- JVM_InvokeMethod;
- JVM_IsArrayClass;
- JVM_IsConstructorIx;
- JVM_IsInterface;
- JVM_IsInterrupted;
- JVM_IsNaN;
- JVM_IsPrimitiveClass;
- JVM_IsSameClassPackage;
- JVM_IsSilentCompiler;
- JVM_IsSupportedJNIVersion;
- JVM_IsThreadAlive;
- JVM_IsVMGeneratedMethodIx;
- JVM_LatestUserDefinedLoader;
- JVM_Listen;
- JVM_LoadClass0;
- JVM_LoadLibrary;
- JVM_Lseek;
- JVM_MaxObjectInspectionAge;
- JVM_MaxMemory;
- JVM_MonitorNotify;
- JVM_MonitorNotifyAll;
- JVM_MonitorWait;
- JVM_NanoTime;
- JVM_NativePath;
- JVM_NewArray;
- JVM_NewInstanceFromConstructor;
- JVM_NewMultiArray;
- JVM_OnExit;
- JVM_Open;
- JVM_RaiseSignal;
- JVM_RawMonitorCreate;
- JVM_RawMonitorDestroy;
- JVM_RawMonitorEnter;
- JVM_RawMonitorExit;
- JVM_Read;
- JVM_Recv;
- JVM_RecvFrom;
- JVM_RegisterSignal;
- JVM_ReleaseUTF;
- JVM_ResolveClass;
- JVM_ResumeThread;
- JVM_Send;
- JVM_SendTo;
- JVM_SetArrayElement;
- JVM_SetClassSigners;
- JVM_SetLength;
- JVM_SetPrimitiveArrayElement;
- JVM_SetProtectionDomain;
- JVM_SetSockOpt;
- JVM_SetThreadPriority;
- JVM_Sleep;
- JVM_Socket;
- JVM_SocketAvailable;
- JVM_SocketClose;
- JVM_SocketShutdown;
- JVM_StartThread;
- JVM_StopThread;
- JVM_SuspendThread;
- JVM_SupportsCX8;
- JVM_Sync;
- JVM_Timeout;
- JVM_TotalMemory;
- JVM_TraceInstructions;
- JVM_TraceMethodCalls;
- JVM_UnloadLibrary;
- JVM_Write;
- JVM_Yield;
- JVM_handle_bsd_signal;
-
- # Old reflection routines
- # These do not need to be present in the product build in JDK 1.4
- # but their code has not been removed yet because there will not
- # be a substantial code savings until JVM_InvokeMethod and
- # JVM_NewInstanceFromConstructor can also be removed; see
- # reflectionCompat.hpp.
- JVM_GetClassConstructor;
- JVM_GetClassConstructors;
- JVM_GetClassField;
- JVM_GetClassFields;
- JVM_GetClassMethod;
- JVM_GetClassMethods;
- JVM_GetField;
- JVM_GetPrimitiveField;
- JVM_NewInstance;
- JVM_SetField;
- JVM_SetPrimitiveField;
-
- # debug JVM
- JVM_AccessVMBooleanFlag;
- JVM_AccessVMIntFlag;
- JVM_VMBreakPoint;
+ # debug _JVM
+ _JVM_AccessVMBooleanFlag
+ _JVM_AccessVMIntFlag
+ _JVM_VMBreakPoint
# miscellaneous functions
- jio_fprintf;
- jio_printf;
- jio_snprintf;
- jio_vfprintf;
- jio_vsnprintf;
- fork1;
- numa_warn;
- numa_error;
-
- # Needed because there is no JVM interface for this.
- sysThreadAvailableStackWithSlack;
+ _jio_fprintf
+ _jio_printf
+ _jio_snprintf
+ _jio_vfprintf
+ _jio_vsnprintf
# This is for Forte Analyzer profiling support.
- AsyncGetCallTrace;
+ _AsyncGetCallTrace
# INSERT VTABLE SYMBOLS HERE
- local:
- *;
-};
-
diff --git a/hotspot/make/bsd/makefiles/mapfile-vers-product b/hotspot/make/bsd/makefiles/mapfile-vers-product
index ace133748b7..ba9cb516620 100644
--- a/hotspot/make/bsd/makefiles/mapfile-vers-product
+++ b/hotspot/make/bsd/makefiles/mapfile-vers-product
@@ -1,7 +1,3 @@
-#
-# @(#)mapfile-vers-product 1.19 08/02/12 10:56:37
-#
-
#
# Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -23,268 +19,239 @@
# 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.
-#
#
+#
+# Only used for OSX/Darwin builds
# Define public interface.
+ # _JNI
+ _JNI_CreateJavaVM
+ _JNI_GetCreatedJavaVMs
+ _JNI_GetDefaultJavaVMInitArgs
-SUNWprivate_1.1 {
- global:
- # JNI
- JNI_CreateJavaVM;
- JNI_GetCreatedJavaVMs;
- JNI_GetDefaultJavaVMInitArgs;
-
- # JVM
- JVM_Accept;
- JVM_ActiveProcessorCount;
- JVM_AllocateNewArray;
- JVM_AllocateNewObject;
- JVM_ArrayCopy;
- JVM_AssertionStatusDirectives;
- JVM_Available;
- JVM_Bind;
- JVM_ClassDepth;
- JVM_ClassLoaderDepth;
- JVM_Clone;
- JVM_Close;
- JVM_CX8Field;
- JVM_CompileClass;
- JVM_CompileClasses;
- JVM_CompilerCommand;
- JVM_Connect;
- JVM_ConstantPoolGetClassAt;
- JVM_ConstantPoolGetClassAtIfLoaded;
- JVM_ConstantPoolGetDoubleAt;
- JVM_ConstantPoolGetFieldAt;
- JVM_ConstantPoolGetFieldAtIfLoaded;
- JVM_ConstantPoolGetFloatAt;
- JVM_ConstantPoolGetIntAt;
- JVM_ConstantPoolGetLongAt;
- JVM_ConstantPoolGetMethodAt;
- JVM_ConstantPoolGetMethodAtIfLoaded;
- JVM_ConstantPoolGetMemberRefInfoAt;
- JVM_ConstantPoolGetSize;
- JVM_ConstantPoolGetStringAt;
- JVM_ConstantPoolGetUTF8At;
- JVM_CountStackFrames;
- JVM_CurrentClassLoader;
- JVM_CurrentLoadedClass;
- JVM_CurrentThread;
- JVM_CurrentTimeMillis;
- JVM_DefineClass;
- JVM_DefineClassWithSource;
- JVM_DefineClassWithSourceCond;
- JVM_DesiredAssertionStatus;
- JVM_DisableCompiler;
- JVM_DoPrivileged;
- JVM_DTraceGetVersion;
- JVM_DTraceActivate;
- JVM_DTraceIsProbeEnabled;
- JVM_DTraceIsSupported;
- JVM_DTraceDispose;
- JVM_DumpAllStacks;
- JVM_DumpThreads;
- JVM_EnableCompiler;
- JVM_Exit;
- JVM_FillInStackTrace;
- JVM_FindClassFromClass;
- JVM_FindClassFromClassLoader;
- JVM_FindClassFromBootLoader;
- JVM_FindLibraryEntry;
- JVM_FindLoadedClass;
- JVM_FindPrimitiveClass;
- JVM_FindSignal;
- JVM_FreeMemory;
- JVM_GC;
- JVM_GetAllThreads;
- JVM_GetArrayElement;
- JVM_GetArrayLength;
- JVM_GetCPClassNameUTF;
- JVM_GetCPFieldClassNameUTF;
- JVM_GetCPFieldModifiers;
- JVM_GetCPFieldNameUTF;
- JVM_GetCPFieldSignatureUTF;
- JVM_GetCPMethodClassNameUTF;
- JVM_GetCPMethodModifiers;
- JVM_GetCPMethodNameUTF;
- JVM_GetCPMethodSignatureUTF;
- JVM_GetCallerClass;
- JVM_GetClassAccessFlags;
- JVM_GetClassAnnotations;
- JVM_GetClassCPEntriesCount;
- JVM_GetClassCPTypes;
- JVM_GetClassConstantPool;
- JVM_GetClassContext;
- JVM_GetClassDeclaredConstructors;
- JVM_GetClassDeclaredFields;
- JVM_GetClassDeclaredMethods;
- JVM_GetClassFieldsCount;
- JVM_GetClassInterfaces;
- JVM_GetClassLoader;
- JVM_GetClassMethodsCount;
- JVM_GetClassModifiers;
- JVM_GetClassName;
- JVM_GetClassNameUTF;
- JVM_GetClassSignature;
- JVM_GetClassSigners;
- JVM_GetClassTypeAnnotations;
- JVM_GetComponentType;
- JVM_GetDeclaredClasses;
- JVM_GetDeclaringClass;
- JVM_GetEnclosingMethodInfo;
- JVM_GetFieldAnnotations;
- JVM_GetFieldIxModifiers;
- JVM_GetFieldTypeAnnotations;
- JVM_GetHostName;
- JVM_GetInheritedAccessControlContext;
- JVM_GetInterfaceVersion;
- JVM_GetLastErrorString;
- JVM_GetManagement;
- JVM_GetMethodAnnotations;
- JVM_GetMethodDefaultAnnotationValue;
- JVM_GetMethodIxArgsSize;
- JVM_GetMethodIxByteCode;
- JVM_GetMethodIxByteCodeLength;
- JVM_GetMethodIxExceptionIndexes;
- JVM_GetMethodIxExceptionTableEntry;
- JVM_GetMethodIxExceptionTableLength;
- JVM_GetMethodIxExceptionsCount;
- JVM_GetMethodIxLocalsCount;
- JVM_GetMethodIxMaxStack;
- JVM_GetMethodIxModifiers;
- JVM_GetMethodIxNameUTF;
- JVM_GetMethodIxSignatureUTF;
- JVM_GetMethodParameterAnnotations;
- JVM_GetMethodParameters;
- JVM_GetMethodTypeAnnotations;
- JVM_GetPrimitiveArrayElement;
- JVM_GetProtectionDomain;
- JVM_GetSockName;
- JVM_GetSockOpt;
- JVM_GetStackAccessControlContext;
- JVM_GetStackTraceDepth;
- JVM_GetStackTraceElement;
- JVM_GetSystemPackage;
- JVM_GetSystemPackages;
- JVM_GetThreadStateNames;
- JVM_GetThreadStateValues;
- JVM_GetVersionInfo;
- JVM_Halt;
- JVM_HoldsLock;
- JVM_IHashCode;
- JVM_InitAgentProperties;
- JVM_InitProperties;
- JVM_InitializeCompiler;
- JVM_InitializeSocketLibrary;
- JVM_InternString;
- JVM_Interrupt;
- JVM_InvokeMethod;
- JVM_IsArrayClass;
- JVM_IsConstructorIx;
- JVM_IsInterface;
- JVM_IsInterrupted;
- JVM_IsNaN;
- JVM_IsPrimitiveClass;
- JVM_IsSameClassPackage;
- JVM_IsSilentCompiler;
- JVM_IsSupportedJNIVersion;
- JVM_IsThreadAlive;
- JVM_IsVMGeneratedMethodIx;
- JVM_LatestUserDefinedLoader;
- JVM_Listen;
- JVM_LoadClass0;
- JVM_LoadLibrary;
- JVM_Lseek;
- JVM_MaxObjectInspectionAge;
- JVM_MaxMemory;
- JVM_MonitorNotify;
- JVM_MonitorNotifyAll;
- JVM_MonitorWait;
- JVM_NanoTime;
- JVM_NativePath;
- JVM_NewArray;
- JVM_NewInstanceFromConstructor;
- JVM_NewMultiArray;
- JVM_OnExit;
- JVM_Open;
- JVM_RaiseSignal;
- JVM_RawMonitorCreate;
- JVM_RawMonitorDestroy;
- JVM_RawMonitorEnter;
- JVM_RawMonitorExit;
- JVM_Read;
- JVM_Recv;
- JVM_RecvFrom;
- JVM_RegisterSignal;
- JVM_ReleaseUTF;
- JVM_ResolveClass;
- JVM_ResumeThread;
- JVM_Send;
- JVM_SendTo;
- JVM_SetArrayElement;
- JVM_SetClassSigners;
- JVM_SetLength;
- JVM_SetPrimitiveArrayElement;
- JVM_SetProtectionDomain;
- JVM_SetSockOpt;
- JVM_SetThreadPriority;
- JVM_Sleep;
- JVM_Socket;
- JVM_SocketAvailable;
- JVM_SocketClose;
- JVM_SocketShutdown;
- JVM_StartThread;
- JVM_StopThread;
- JVM_SuspendThread;
- JVM_SupportsCX8;
- JVM_Sync;
- JVM_Timeout;
- JVM_TotalMemory;
- JVM_TraceInstructions;
- JVM_TraceMethodCalls;
- JVM_UnloadLibrary;
- JVM_Write;
- JVM_Yield;
- JVM_handle_bsd_signal;
-
- # Old reflection routines
- # These do not need to be present in the product build in JDK 1.4
- # but their code has not been removed yet because there will not
- # be a substantial code savings until JVM_InvokeMethod and
- # JVM_NewInstanceFromConstructor can also be removed; see
- # reflectionCompat.hpp.
- JVM_GetClassConstructor;
- JVM_GetClassConstructors;
- JVM_GetClassField;
- JVM_GetClassFields;
- JVM_GetClassMethod;
- JVM_GetClassMethods;
- JVM_GetField;
- JVM_GetPrimitiveField;
- JVM_NewInstance;
- JVM_SetField;
- JVM_SetPrimitiveField;
+ # _JVM
+ _JVM_Accept
+ _JVM_ActiveProcessorCount
+ _JVM_AllocateNewArray
+ _JVM_AllocateNewObject
+ _JVM_ArrayCopy
+ _JVM_AssertionStatusDirectives
+ _JVM_Available
+ _JVM_Bind
+ _JVM_ClassDepth
+ _JVM_ClassLoaderDepth
+ _JVM_Clone
+ _JVM_Close
+ _JVM_CX8Field
+ _JVM_CompileClass
+ _JVM_CompileClasses
+ _JVM_CompilerCommand
+ _JVM_Connect
+ _JVM_ConstantPoolGetClassAt
+ _JVM_ConstantPoolGetClassAtIfLoaded
+ _JVM_ConstantPoolGetDoubleAt
+ _JVM_ConstantPoolGetFieldAt
+ _JVM_ConstantPoolGetFieldAtIfLoaded
+ _JVM_ConstantPoolGetFloatAt
+ _JVM_ConstantPoolGetIntAt
+ _JVM_ConstantPoolGetLongAt
+ _JVM_ConstantPoolGetMethodAt
+ _JVM_ConstantPoolGetMethodAtIfLoaded
+ _JVM_ConstantPoolGetMemberRefInfoAt
+ _JVM_ConstantPoolGetSize
+ _JVM_ConstantPoolGetStringAt
+ _JVM_ConstantPoolGetUTF8At
+ _JVM_CountStackFrames
+ _JVM_CurrentClassLoader
+ _JVM_CurrentLoadedClass
+ _JVM_CurrentThread
+ _JVM_CurrentTimeMillis
+ _JVM_DefineClass
+ _JVM_DefineClassWithSource
+ _JVM_DefineClassWithSourceCond
+ _JVM_DesiredAssertionStatus
+ _JVM_DisableCompiler
+ _JVM_DoPrivileged
+ _JVM_DTraceGetVersion
+ _JVM_DTraceActivate
+ _JVM_DTraceIsProbeEnabled
+ _JVM_DTraceIsSupported
+ _JVM_DTraceDispose
+ _JVM_DumpAllStacks
+ _JVM_DumpThreads
+ _JVM_EnableCompiler
+ _JVM_Exit
+ _JVM_FillInStackTrace
+ _JVM_FindClassFromClass
+ _JVM_FindClassFromClassLoader
+ _JVM_FindClassFromBootLoader
+ _JVM_FindLibraryEntry
+ _JVM_FindLoadedClass
+ _JVM_FindPrimitiveClass
+ _JVM_FindSignal
+ _JVM_FreeMemory
+ _JVM_GC
+ _JVM_GetAllThreads
+ _JVM_GetArrayElement
+ _JVM_GetArrayLength
+ _JVM_GetCPClassNameUTF
+ _JVM_GetCPFieldClassNameUTF
+ _JVM_GetCPFieldModifiers
+ _JVM_GetCPFieldNameUTF
+ _JVM_GetCPFieldSignatureUTF
+ _JVM_GetCPMethodClassNameUTF
+ _JVM_GetCPMethodModifiers
+ _JVM_GetCPMethodNameUTF
+ _JVM_GetCPMethodSignatureUTF
+ _JVM_GetCallerClass
+ _JVM_GetClassAccessFlags
+ _JVM_GetClassAnnotations
+ _JVM_GetClassCPEntriesCount
+ _JVM_GetClassCPTypes
+ _JVM_GetClassConstantPool
+ _JVM_GetClassContext
+ _JVM_GetClassDeclaredConstructors
+ _JVM_GetClassDeclaredFields
+ _JVM_GetClassDeclaredMethods
+ _JVM_GetClassFieldsCount
+ _JVM_GetClassInterfaces
+ _JVM_GetClassLoader
+ _JVM_GetClassMethodsCount
+ _JVM_GetClassModifiers
+ _JVM_GetClassName
+ _JVM_GetClassNameUTF
+ _JVM_GetClassSignature
+ _JVM_GetClassSigners
+ _JVM_GetClassTypeAnnotations
+ _JVM_GetComponentType
+ _JVM_GetDeclaredClasses
+ _JVM_GetDeclaringClass
+ _JVM_GetEnclosingMethodInfo
+ _JVM_GetFieldAnnotations
+ _JVM_GetFieldIxModifiers
+ _JVM_GetFieldTypeAnnotations
+ _JVM_GetHostName
+ _JVM_GetInheritedAccessControlContext
+ _JVM_GetInterfaceVersion
+ _JVM_GetLastErrorString
+ _JVM_GetManagement
+ _JVM_GetMethodAnnotations
+ _JVM_GetMethodDefaultAnnotationValue
+ _JVM_GetMethodIxArgsSize
+ _JVM_GetMethodIxByteCode
+ _JVM_GetMethodIxByteCodeLength
+ _JVM_GetMethodIxExceptionIndexes
+ _JVM_GetMethodIxExceptionTableEntry
+ _JVM_GetMethodIxExceptionTableLength
+ _JVM_GetMethodIxExceptionsCount
+ _JVM_GetMethodIxLocalsCount
+ _JVM_GetMethodIxMaxStack
+ _JVM_GetMethodIxModifiers
+ _JVM_GetMethodIxNameUTF
+ _JVM_GetMethodIxSignatureUTF
+ _JVM_GetMethodParameterAnnotations
+ _JVM_GetMethodParameters
+ _JVM_GetMethodTypeAnnotations
+ _JVM_GetPrimitiveArrayElement
+ _JVM_GetProtectionDomain
+ _JVM_GetSockName
+ _JVM_GetSockOpt
+ _JVM_GetStackAccessControlContext
+ _JVM_GetStackTraceDepth
+ _JVM_GetStackTraceElement
+ _JVM_GetSystemPackage
+ _JVM_GetSystemPackages
+ _JVM_GetThreadStateNames
+ _JVM_GetThreadStateValues
+ _JVM_GetVersionInfo
+ _JVM_Halt
+ _JVM_HoldsLock
+ _JVM_IHashCode
+ _JVM_InitAgentProperties
+ _JVM_InitProperties
+ _JVM_InitializeCompiler
+ _JVM_InitializeSocketLibrary
+ _JVM_InternString
+ _JVM_Interrupt
+ _JVM_InvokeMethod
+ _JVM_IsArrayClass
+ _JVM_IsConstructorIx
+ _JVM_IsInterface
+ _JVM_IsInterrupted
+ _JVM_IsNaN
+ _JVM_IsPrimitiveClass
+ _JVM_IsSameClassPackage
+ _JVM_IsSilentCompiler
+ _JVM_IsSupportedJNIVersion
+ _JVM_IsThreadAlive
+ _JVM_IsVMGeneratedMethodIx
+ _JVM_LatestUserDefinedLoader
+ _JVM_Listen
+ _JVM_LoadClass0
+ _JVM_LoadLibrary
+ _JVM_Lseek
+ _JVM_MaxObjectInspectionAge
+ _JVM_MaxMemory
+ _JVM_MonitorNotify
+ _JVM_MonitorNotifyAll
+ _JVM_MonitorWait
+ _JVM_NanoTime
+ _JVM_NativePath
+ _JVM_NewArray
+ _JVM_NewInstanceFromConstructor
+ _JVM_NewMultiArray
+ _JVM_OnExit
+ _JVM_Open
+ _JVM_RaiseSignal
+ _JVM_RawMonitorCreate
+ _JVM_RawMonitorDestroy
+ _JVM_RawMonitorEnter
+ _JVM_RawMonitorExit
+ _JVM_Read
+ _JVM_Recv
+ _JVM_RecvFrom
+ _JVM_RegisterSignal
+ _JVM_ReleaseUTF
+ _JVM_ResolveClass
+ _JVM_ResumeThread
+ _JVM_Send
+ _JVM_SendTo
+ _JVM_SetArrayElement
+ _JVM_SetClassSigners
+ _JVM_SetLength
+ _JVM_SetNativeThreadName
+ _JVM_SetPrimitiveArrayElement
+ _JVM_SetProtectionDomain
+ _JVM_SetSockOpt
+ _JVM_SetThreadPriority
+ _JVM_Sleep
+ _JVM_Socket
+ _JVM_SocketAvailable
+ _JVM_SocketClose
+ _JVM_SocketShutdown
+ _JVM_StartThread
+ _JVM_StopThread
+ _JVM_SuspendThread
+ _JVM_SupportsCX8
+ _JVM_Sync
+ _JVM_Timeout
+ _JVM_TotalMemory
+ _JVM_TraceInstructions
+ _JVM_TraceMethodCalls
+ _JVM_UnloadLibrary
+ _JVM_Write
+ _JVM_Yield
+ _JVM_handle_bsd_signal
# miscellaneous functions
- jio_fprintf;
- jio_printf;
- jio_snprintf;
- jio_vfprintf;
- jio_vsnprintf;
- fork1;
- numa_warn;
- numa_error;
-
- # Needed because there is no JVM interface for this.
- sysThreadAvailableStackWithSlack;
+ _jio_fprintf
+ _jio_printf
+ _jio_snprintf
+ _jio_vfprintf
+ _jio_vsnprintf
# This is for Forte Analyzer profiling support.
- AsyncGetCallTrace;
+ _AsyncGetCallTrace
- # INSERT VTABLE SYMBOLS HERE
-
- local:
- *;
-};
+ # INSERT VTABLE SYMBOLS HERE
diff --git a/hotspot/make/excludeSrc.make b/hotspot/make/excludeSrc.make
index 88bab5c39ad..7cc879a3d7b 100644
--- a/hotspot/make/excludeSrc.make
+++ b/hotspot/make/excludeSrc.make
@@ -112,3 +112,5 @@ ifeq ($(INCLUDE_NMT), false)
endif
-include $(HS_ALT_MAKE)/excludeSrc.make
+
+.PHONY: $(HS_ALT_MAKE)/excludeSrc.make
diff --git a/hotspot/make/hotspot_version b/hotspot/make/hotspot_version
index e16392a9273..b597ff990be 100644
--- a/hotspot/make/hotspot_version
+++ b/hotspot/make/hotspot_version
@@ -35,7 +35,7 @@ HOTSPOT_VM_COPYRIGHT=Copyright 2013
HS_MAJOR_VER=25
HS_MINOR_VER=0
-HS_BUILD_NUMBER=37
+HS_BUILD_NUMBER=40
JDK_MAJOR_VER=1
JDK_MINOR_VER=8
diff --git a/hotspot/make/linux/makefiles/gcc.make b/hotspot/make/linux/makefiles/gcc.make
index 6ef416dfbec..38cf2c03492 100644
--- a/hotspot/make/linux/makefiles/gcc.make
+++ b/hotspot/make/linux/makefiles/gcc.make
@@ -214,7 +214,7 @@ ifeq ($(USE_CLANG), true)
WARNINGS_ARE_ERRORS += -Wno-return-type -Wno-empty-body
endif
-WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef -Wunused-function
+WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wunused-value
ifeq ($(USE_CLANG),)
# Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit
@@ -350,9 +350,9 @@ else
ifeq ($(DEBUG_CFLAGS/$(BUILDARCH)),)
ifeq ($(USE_CLANG), true)
# Clang doesn't understand -gstabs
- OPT_CFLAGS += -g
+ DEBUG_CFLAGS += -g
else
- OPT_CFLAGS += -gstabs
+ DEBUG_CFLAGS += -gstabs
endif
endif
@@ -365,9 +365,9 @@ else
ifeq ($(FASTDEBUG_CFLAGS/$(BUILDARCH)),)
ifeq ($(USE_CLANG), true)
# Clang doesn't understand -gstabs
- OPT_CFLAGS += -g
+ FASTDEBUG_CFLAGS += -g
else
- OPT_CFLAGS += -gstabs
+ FASTDEBUG_CFLAGS += -gstabs
endif
endif
diff --git a/hotspot/make/linux/makefiles/vm.make b/hotspot/make/linux/makefiles/vm.make
index d9db77744a4..3c3bd2e2d16 100644
--- a/hotspot/make/linux/makefiles/vm.make
+++ b/hotspot/make/linux/makefiles/vm.make
@@ -107,6 +107,10 @@ CXXFLAGS/BYFILE = $(CXXFLAGS/$@)
# File specific flags
CXXFLAGS += $(CXXFLAGS/BYFILE)
+# Large File Support
+ifneq ($(LP64), 1)
+CXXFLAGS/ostream.o += -D_FILE_OFFSET_BITS=64
+endif # ifneq ($(LP64), 1)
# CFLAGS_WARN holds compiler options to suppress/enable warnings.
CFLAGS += $(CFLAGS_WARN/BYFILE)
diff --git a/hotspot/make/solaris/makefiles/vm.make b/hotspot/make/solaris/makefiles/vm.make
index d57716c7aab..b3939fbe144 100644
--- a/hotspot/make/solaris/makefiles/vm.make
+++ b/hotspot/make/solaris/makefiles/vm.make
@@ -95,6 +95,10 @@ CXXFLAGS/BYFILE = $(CXXFLAGS/$@)
# File specific flags
CXXFLAGS += $(CXXFLAGS/BYFILE)
+# Large File Support
+ifneq ($(LP64), 1)
+CXXFLAGS/ostream.o += -D_FILE_OFFSET_BITS=64
+endif # ifneq ($(LP64), 1)
# CFLAGS_WARN holds compiler options to suppress/enable warnings.
CFLAGS += $(CFLAGS_WARN)
diff --git a/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp b/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp
index 5541eb865b2..3192a855569 100644
--- a/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp
+++ b/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp
@@ -57,7 +57,6 @@ class Assembler : public AbstractAssembler {
fbp_op2 = 5,
br_op2 = 2,
bp_op2 = 1,
- cb_op2 = 7, // V8
sethi_op2 = 4
};
@@ -145,7 +144,6 @@ class Assembler : public AbstractAssembler {
ldsh_op3 = 0x0a,
ldx_op3 = 0x0b,
- ldstub_op3 = 0x0d,
stx_op3 = 0x0e,
swap_op3 = 0x0f,
@@ -163,15 +161,6 @@ class Assembler : public AbstractAssembler {
prefetch_op3 = 0x2d,
-
- ldc_op3 = 0x30,
- ldcsr_op3 = 0x31,
- lddc_op3 = 0x33,
- stc_op3 = 0x34,
- stcsr_op3 = 0x35,
- stdcq_op3 = 0x36,
- stdc_op3 = 0x37,
-
casa_op3 = 0x3c,
casxa_op3 = 0x3e,
@@ -574,17 +563,11 @@ class Assembler : public AbstractAssembler {
static void vis3_only() { assert( VM_Version::has_vis3(), "This instruction only works on SPARC with VIS3"); }
// instruction only in v9
- static void v9_only() { assert( VM_Version::v9_instructions_work(), "This instruction only works on SPARC V9"); }
-
- // instruction only in v8
- static void v8_only() { assert( VM_Version::v8_instructions_work(), "This instruction only works on SPARC V8"); }
+ static void v9_only() { } // do nothing
// instruction deprecated in v9
static void v9_dep() { } // do nothing for now
- // some float instructions only exist for single prec. on v8
- static void v8_s_only(FloatRegisterImpl::Width w) { if (w != FloatRegisterImpl::S) v9_only(); }
-
// v8 has no CC field
static void v8_no_cc(CC cc) { if (cc) v9_only(); }
@@ -730,11 +713,6 @@ public:
inline void bp( Condition c, bool a, CC cc, Predict p, address d, relocInfo::relocType rt = relocInfo::none );
inline void bp( Condition c, bool a, CC cc, Predict p, Label& L );
- // pp 121 (V8)
-
- inline void cb( Condition c, bool a, address d, relocInfo::relocType rt = relocInfo::none );
- inline void cb( Condition c, bool a, Label& L );
-
// pp 149
inline void call( address d, relocInfo::relocType rt = relocInfo::runtime_call_type );
@@ -775,8 +753,8 @@ public:
// pp 157
- void fcmp( FloatRegisterImpl::Width w, CC cc, FloatRegister s1, FloatRegister s2) { v8_no_cc(cc); emit_int32( op(arith_op) | cmpcc(cc) | op3(fpop2_op3) | fs1(s1, w) | opf(0x50 + w) | fs2(s2, w)); }
- void fcmpe( FloatRegisterImpl::Width w, CC cc, FloatRegister s1, FloatRegister s2) { v8_no_cc(cc); emit_int32( op(arith_op) | cmpcc(cc) | op3(fpop2_op3) | fs1(s1, w) | opf(0x54 + w) | fs2(s2, w)); }
+ void fcmp( FloatRegisterImpl::Width w, CC cc, FloatRegister s1, FloatRegister s2) { emit_int32( op(arith_op) | cmpcc(cc) | op3(fpop2_op3) | fs1(s1, w) | opf(0x50 + w) | fs2(s2, w)); }
+ void fcmpe( FloatRegisterImpl::Width w, CC cc, FloatRegister s1, FloatRegister s2) { emit_int32( op(arith_op) | cmpcc(cc) | op3(fpop2_op3) | fs1(s1, w) | opf(0x54 + w) | fs2(s2, w)); }
// pp 159
@@ -794,21 +772,11 @@ public:
// pp 162
- void fmov( FloatRegisterImpl::Width w, FloatRegister s, FloatRegister d ) { v8_s_only(w); emit_int32( op(arith_op) | fd(d, w) | op3(fpop1_op3) | opf(0x00 + w) | fs2(s, w)); }
+ void fmov( FloatRegisterImpl::Width w, FloatRegister s, FloatRegister d ) { emit_int32( op(arith_op) | fd(d, w) | op3(fpop1_op3) | opf(0x00 + w) | fs2(s, w)); }
- void fneg( FloatRegisterImpl::Width w, FloatRegister s, FloatRegister d ) { v8_s_only(w); emit_int32( op(arith_op) | fd(d, w) | op3(fpop1_op3) | opf(0x04 + w) | fs2(s, w)); }
+ void fneg( FloatRegisterImpl::Width w, FloatRegister s, FloatRegister d ) { emit_int32( op(arith_op) | fd(d, w) | op3(fpop1_op3) | opf(0x04 + w) | fs2(s, w)); }
- // page 144 sparc v8 architecture (double prec works on v8 if the source and destination registers are the same). fnegs is the only instruction available
- // on v8 to do negation of single, double and quad precision floats.
-
- void fneg( FloatRegisterImpl::Width w, FloatRegister sd ) { if (VM_Version::v9_instructions_work()) emit_int32( op(arith_op) | fd(sd, w) | op3(fpop1_op3) | opf(0x04 + w) | fs2(sd, w)); else emit_int32( op(arith_op) | fd(sd, w) | op3(fpop1_op3) | opf(0x05) | fs2(sd, w)); }
-
- void fabs( FloatRegisterImpl::Width w, FloatRegister s, FloatRegister d ) { v8_s_only(w); emit_int32( op(arith_op) | fd(d, w) | op3(fpop1_op3) | opf(0x08 + w) | fs2(s, w)); }
-
- // page 144 sparc v8 architecture (double prec works on v8 if the source and destination registers are the same). fabss is the only instruction available
- // on v8 to do abs operation on single/double/quad precision floats.
-
- void fabs( FloatRegisterImpl::Width w, FloatRegister sd ) { if (VM_Version::v9_instructions_work()) emit_int32( op(arith_op) | fd(sd, w) | op3(fpop1_op3) | opf(0x08 + w) | fs2(sd, w)); else emit_int32( op(arith_op) | fd(sd, w) | op3(fpop1_op3) | opf(0x09) | fs2(sd, w)); }
+ void fabs( FloatRegisterImpl::Width w, FloatRegister s, FloatRegister d ) { emit_int32( op(arith_op) | fd(d, w) | op3(fpop1_op3) | opf(0x08 + w) | fs2(s, w)); }
// pp 163
@@ -839,11 +807,6 @@ public:
void impdep1( int id1, int const19a ) { v9_only(); emit_int32( op(arith_op) | fcn(id1) | op3(impdep1_op3) | u_field(const19a, 18, 0)); }
void impdep2( int id1, int const19a ) { v9_only(); emit_int32( op(arith_op) | fcn(id1) | op3(impdep2_op3) | u_field(const19a, 18, 0)); }
- // pp 149 (v8)
-
- void cpop1( int opc, int cr1, int cr2, int crd ) { v8_only(); emit_int32( op(arith_op) | fcn(crd) | op3(impdep1_op3) | u_field(cr1, 18, 14) | opf(opc) | u_field(cr2, 4, 0)); }
- void cpop2( int opc, int cr1, int cr2, int crd ) { v8_only(); emit_int32( op(arith_op) | fcn(crd) | op3(impdep2_op3) | u_field(cr1, 18, 14) | opf(opc) | u_field(cr2, 4, 0)); }
-
// pp 170
void jmpl( Register s1, Register s2, Register d );
@@ -860,16 +823,6 @@ public:
inline void ldxfsr( Register s1, Register s2 );
inline void ldxfsr( Register s1, int simm13a);
- // pp 94 (v8)
-
- inline void ldc( Register s1, Register s2, int crd );
- inline void ldc( Register s1, int simm13a, int crd);
- inline void lddc( Register s1, Register s2, int crd );
- inline void lddc( Register s1, int simm13a, int crd);
- inline void ldcsr( Register s1, Register s2, int crd );
- inline void ldcsr( Register s1, int simm13a, int crd);
-
-
// 173
void ldfa( FloatRegisterImpl::Width w, Register s1, Register s2, int ia, FloatRegister d ) { v9_only(); emit_int32( op(ldst_op) | fd(d, w) | alt_op3(ldf_op3 | alt_bit_op3, w) | rs1(s1) | imm_asi(ia) | rs2(s2) ); }
@@ -910,18 +863,6 @@ public:
void lduwa( Register s1, int simm13a, Register d ) { emit_int32( op(ldst_op) | rd(d) | op3(lduw_op3 | alt_bit_op3) | rs1(s1) | immed(true) | simm(simm13a, 13) ); }
void ldxa( Register s1, Register s2, int ia, Register d ) { v9_only(); emit_int32( op(ldst_op) | rd(d) | op3(ldx_op3 | alt_bit_op3) | rs1(s1) | imm_asi(ia) | rs2(s2) ); }
void ldxa( Register s1, int simm13a, Register d ) { v9_only(); emit_int32( op(ldst_op) | rd(d) | op3(ldx_op3 | alt_bit_op3) | rs1(s1) | immed(true) | simm(simm13a, 13) ); }
- void ldda( Register s1, Register s2, int ia, Register d ) { v9_dep(); emit_int32( op(ldst_op) | rd(d) | op3(ldd_op3 | alt_bit_op3) | rs1(s1) | imm_asi(ia) | rs2(s2) ); }
- void ldda( Register s1, int simm13a, Register d ) { v9_dep(); emit_int32( op(ldst_op) | rd(d) | op3(ldd_op3 | alt_bit_op3) | rs1(s1) | immed(true) | simm(simm13a, 13) ); }
-
- // pp 179
-
- inline void ldstub( Register s1, Register s2, Register d );
- inline void ldstub( Register s1, int simm13a, Register d);
-
- // pp 180
-
- void ldstuba( Register s1, Register s2, int ia, Register d ) { emit_int32( op(ldst_op) | rd(d) | op3(ldstub_op3 | alt_bit_op3) | rs1(s1) | imm_asi(ia) | rs2(s2) ); }
- void ldstuba( Register s1, int simm13a, Register d ) { emit_int32( op(ldst_op) | rd(d) | op3(ldstub_op3 | alt_bit_op3) | rs1(s1) | immed(true) | simm(simm13a, 13) ); }
// pp 181
@@ -992,11 +933,6 @@ public:
void smulcc( Register s1, Register s2, Register d ) { emit_int32( op(arith_op) | rd(d) | op3(smul_op3 | cc_bit_op3) | rs1(s1) | rs2(s2) ); }
void smulcc( Register s1, int simm13a, Register d ) { emit_int32( op(arith_op) | rd(d) | op3(smul_op3 | cc_bit_op3) | rs1(s1) | immed(true) | simm(simm13a, 13) ); }
- // pp 199
-
- void mulscc( Register s1, Register s2, Register d ) { v9_dep(); emit_int32( op(arith_op) | rd(d) | op3(mulscc_op3) | rs1(s1) | rs2(s2) ); }
- void mulscc( Register s1, int simm13a, Register d ) { v9_dep(); emit_int32( op(arith_op) | rd(d) | op3(mulscc_op3) | rs1(s1) | immed(true) | simm(simm13a, 13) ); }
-
// pp 201
void nop() { emit_int32( op(branch_op) | op2(sethi_op2) ); }
@@ -1116,17 +1052,6 @@ public:
void stda( Register d, Register s1, Register s2, int ia ) { emit_int32( op(ldst_op) | rd(d) | op3(std_op3 | alt_bit_op3) | rs1(s1) | imm_asi(ia) | rs2(s2) ); }
void stda( Register d, Register s1, int simm13a ) { emit_int32( op(ldst_op) | rd(d) | op3(std_op3 | alt_bit_op3) | rs1(s1) | immed(true) | simm(simm13a, 13) ); }
- // pp 97 (v8)
-
- inline void stc( int crd, Register s1, Register s2 );
- inline void stc( int crd, Register s1, int simm13a);
- inline void stdc( int crd, Register s1, Register s2 );
- inline void stdc( int crd, Register s1, int simm13a);
- inline void stcsr( int crd, Register s1, Register s2 );
- inline void stcsr( int crd, Register s1, int simm13a);
- inline void stdcq( int crd, Register s1, Register s2 );
- inline void stdcq( int crd, Register s1, int simm13a);
-
// pp 230
void sub( Register s1, Register s2, Register d ) { emit_int32( op(arith_op) | rd(d) | op3(sub_op3 ) | rs1(s1) | rs2(s2) ); }
@@ -1153,20 +1078,16 @@ public:
void taddcc( Register s1, Register s2, Register d ) { emit_int32( op(arith_op) | rd(d) | op3(taddcc_op3 ) | rs1(s1) | rs2(s2) ); }
void taddcc( Register s1, int simm13a, Register d ) { emit_int32( op(arith_op) | rd(d) | op3(taddcc_op3 ) | rs1(s1) | immed(true) | simm(simm13a, 13) ); }
- void taddcctv( Register s1, Register s2, Register d ) { v9_dep(); emit_int32( op(arith_op) | rd(d) | op3(taddcctv_op3) | rs1(s1) | rs2(s2) ); }
- void taddcctv( Register s1, int simm13a, Register d ) { v9_dep(); emit_int32( op(arith_op) | rd(d) | op3(taddcctv_op3) | rs1(s1) | immed(true) | simm(simm13a, 13) ); }
// pp 235
void tsubcc( Register s1, Register s2, Register d ) { emit_int32( op(arith_op) | rd(d) | op3(tsubcc_op3 ) | rs1(s1) | rs2(s2) ); }
void tsubcc( Register s1, int simm13a, Register d ) { emit_int32( op(arith_op) | rd(d) | op3(tsubcc_op3 ) | rs1(s1) | immed(true) | simm(simm13a, 13) ); }
- void tsubcctv( Register s1, Register s2, Register d ) { emit_int32( op(arith_op) | rd(d) | op3(tsubcctv_op3) | rs1(s1) | rs2(s2) ); }
- void tsubcctv( Register s1, int simm13a, Register d ) { emit_int32( op(arith_op) | rd(d) | op3(tsubcctv_op3) | rs1(s1) | immed(true) | simm(simm13a, 13) ); }
// pp 237
- void trap( Condition c, CC cc, Register s1, Register s2 ) { v8_no_cc(cc); emit_int32( op(arith_op) | cond(c) | op3(trap_op3) | rs1(s1) | trapcc(cc) | rs2(s2)); }
- void trap( Condition c, CC cc, Register s1, int trapa ) { v8_no_cc(cc); emit_int32( op(arith_op) | cond(c) | op3(trap_op3) | rs1(s1) | trapcc(cc) | immed(true) | u_field(trapa, 6, 0)); }
+ void trap( Condition c, CC cc, Register s1, Register s2 ) { emit_int32( op(arith_op) | cond(c) | op3(trap_op3) | rs1(s1) | trapcc(cc) | rs2(s2)); }
+ void trap( Condition c, CC cc, Register s1, int trapa ) { emit_int32( op(arith_op) | cond(c) | op3(trap_op3) | rs1(s1) | trapcc(cc) | immed(true) | u_field(trapa, 6, 0)); }
// simple uncond. trap
void trap( int trapa ) { trap( always, icc, G0, trapa ); }
diff --git a/hotspot/src/cpu/sparc/vm/assembler_sparc.inline.hpp b/hotspot/src/cpu/sparc/vm/assembler_sparc.inline.hpp
index 23904f9e1f2..ade531a3f82 100644
--- a/hotspot/src/cpu/sparc/vm/assembler_sparc.inline.hpp
+++ b/hotspot/src/cpu/sparc/vm/assembler_sparc.inline.hpp
@@ -63,9 +63,6 @@ inline void Assembler::fb( Condition c, bool a, Label& L ) { fb(c, a, target(L))
inline void Assembler::fbp( Condition c, bool a, CC cc, Predict p, address d, relocInfo::relocType rt ) { v9_only(); cti(); emit_data( op(branch_op) | annul(a) | cond(c) | op2(fbp_op2) | branchcc(cc) | predict(p) | wdisp(intptr_t(d), intptr_t(pc()), 19), rt); has_delay_slot(); }
inline void Assembler::fbp( Condition c, bool a, CC cc, Predict p, Label& L ) { fbp(c, a, cc, p, target(L)); }
-inline void Assembler::cb( Condition c, bool a, address d, relocInfo::relocType rt ) { v8_only(); cti(); emit_data( op(branch_op) | annul(a) | cond(c) | op2(cb_op2) | wdisp(intptr_t(d), intptr_t(pc()), 22), rt); has_delay_slot(); }
-inline void Assembler::cb( Condition c, bool a, Label& L ) { cb(c, a, target(L)); }
-
inline void Assembler::br( Condition c, bool a, address d, relocInfo::relocType rt ) { v9_dep(); cti(); emit_data( op(branch_op) | annul(a) | cond(c) | op2(br_op2) | wdisp(intptr_t(d), intptr_t(pc()), 22), rt); has_delay_slot(); }
inline void Assembler::br( Condition c, bool a, Label& L ) { br(c, a, target(L)); }
@@ -88,18 +85,9 @@ inline void Assembler::jmpl( Register s1, int simm13a, Register d, RelocationHol
inline void Assembler::ldf(FloatRegisterImpl::Width w, Register s1, Register s2, FloatRegister d) { emit_int32( op(ldst_op) | fd(d, w) | alt_op3(ldf_op3, w) | rs1(s1) | rs2(s2) ); }
inline void Assembler::ldf(FloatRegisterImpl::Width w, Register s1, int simm13a, FloatRegister d, RelocationHolder const& rspec) { emit_data( op(ldst_op) | fd(d, w) | alt_op3(ldf_op3, w) | rs1(s1) | immed(true) | simm(simm13a, 13), rspec); }
-inline void Assembler::ldfsr( Register s1, Register s2) { v9_dep(); emit_int32( op(ldst_op) | op3(ldfsr_op3) | rs1(s1) | rs2(s2) ); }
-inline void Assembler::ldfsr( Register s1, int simm13a) { v9_dep(); emit_data( op(ldst_op) | op3(ldfsr_op3) | rs1(s1) | immed(true) | simm(simm13a, 13)); }
inline void Assembler::ldxfsr( Register s1, Register s2) { v9_only(); emit_int32( op(ldst_op) | rd(G1) | op3(ldfsr_op3) | rs1(s1) | rs2(s2) ); }
inline void Assembler::ldxfsr( Register s1, int simm13a) { v9_only(); emit_data( op(ldst_op) | rd(G1) | op3(ldfsr_op3) | rs1(s1) | immed(true) | simm(simm13a, 13)); }
-inline void Assembler::ldc( Register s1, Register s2, int crd) { v8_only(); emit_int32( op(ldst_op) | fcn(crd) | op3(ldc_op3 ) | rs1(s1) | rs2(s2) ); }
-inline void Assembler::ldc( Register s1, int simm13a, int crd) { v8_only(); emit_data( op(ldst_op) | fcn(crd) | op3(ldc_op3 ) | rs1(s1) | immed(true) | simm(simm13a, 13)); }
-inline void Assembler::lddc( Register s1, Register s2, int crd) { v8_only(); emit_int32( op(ldst_op) | fcn(crd) | op3(lddc_op3 ) | rs1(s1) | rs2(s2) ); }
-inline void Assembler::lddc( Register s1, int simm13a, int crd) { v8_only(); emit_data( op(ldst_op) | fcn(crd) | op3(lddc_op3 ) | rs1(s1) | immed(true) | simm(simm13a, 13)); }
-inline void Assembler::ldcsr( Register s1, Register s2, int crd) { v8_only(); emit_int32( op(ldst_op) | fcn(crd) | op3(ldcsr_op3) | rs1(s1) | rs2(s2) ); }
-inline void Assembler::ldcsr( Register s1, int simm13a, int crd) { v8_only(); emit_data( op(ldst_op) | fcn(crd) | op3(ldcsr_op3) | rs1(s1) | immed(true) | simm(simm13a, 13)); }
-
inline void Assembler::ldsb( Register s1, Register s2, Register d) { emit_int32( op(ldst_op) | rd(d) | op3(ldsb_op3) | rs1(s1) | rs2(s2) ); }
inline void Assembler::ldsb( Register s1, int simm13a, Register d) { emit_data( op(ldst_op) | rd(d) | op3(ldsb_op3) | rs1(s1) | immed(true) | simm(simm13a, 13)); }
@@ -119,9 +107,6 @@ inline void Assembler::ldx( Register s1, int simm13a, Register d) { v9_only();
inline void Assembler::ldd( Register s1, Register s2, Register d) { v9_dep(); assert(d->is_even(), "not even"); emit_int32( op(ldst_op) | rd(d) | op3(ldd_op3) | rs1(s1) | rs2(s2) ); }
inline void Assembler::ldd( Register s1, int simm13a, Register d) { v9_dep(); assert(d->is_even(), "not even"); emit_data( op(ldst_op) | rd(d) | op3(ldd_op3) | rs1(s1) | immed(true) | simm(simm13a, 13)); }
-inline void Assembler::ldstub( Register s1, Register s2, Register d) { emit_int32( op(ldst_op) | rd(d) | op3(ldstub_op3) | rs1(s1) | rs2(s2) ); }
-inline void Assembler::ldstub( Register s1, int simm13a, Register d) { emit_data( op(ldst_op) | rd(d) | op3(ldstub_op3) | rs1(s1) | immed(true) | simm(simm13a, 13)); }
-
inline void Assembler::rett( Register s1, Register s2 ) { cti(); emit_int32( op(arith_op) | op3(rett_op3) | rs1(s1) | rs2(s2)); has_delay_slot(); }
inline void Assembler::rett( Register s1, int simm13a, relocInfo::relocType rt) { cti(); emit_data( op(arith_op) | op3(rett_op3) | rs1(s1) | immed(true) | simm(simm13a, 13), rt); has_delay_slot(); }
@@ -132,8 +117,6 @@ inline void Assembler::sethi( int imm22a, Register d, RelocationHolder const& rs
inline void Assembler::stf( FloatRegisterImpl::Width w, FloatRegister d, Register s1, Register s2) { emit_int32( op(ldst_op) | fd(d, w) | alt_op3(stf_op3, w) | rs1(s1) | rs2(s2) ); }
inline void Assembler::stf( FloatRegisterImpl::Width w, FloatRegister d, Register s1, int simm13a) { emit_data( op(ldst_op) | fd(d, w) | alt_op3(stf_op3, w) | rs1(s1) | immed(true) | simm(simm13a, 13)); }
-inline void Assembler::stfsr( Register s1, Register s2) { v9_dep(); emit_int32( op(ldst_op) | op3(stfsr_op3) | rs1(s1) | rs2(s2) ); }
-inline void Assembler::stfsr( Register s1, int simm13a) { v9_dep(); emit_data( op(ldst_op) | op3(stfsr_op3) | rs1(s1) | immed(true) | simm(simm13a, 13)); }
inline void Assembler::stxfsr( Register s1, Register s2) { v9_only(); emit_int32( op(ldst_op) | rd(G1) | op3(stfsr_op3) | rs1(s1) | rs2(s2) ); }
inline void Assembler::stxfsr( Register s1, int simm13a) { v9_only(); emit_data( op(ldst_op) | rd(G1) | op3(stfsr_op3) | rs1(s1) | immed(true) | simm(simm13a, 13)); }
@@ -152,17 +135,6 @@ inline void Assembler::stx( Register d, Register s1, int simm13a) { v9_only();
inline void Assembler::std( Register d, Register s1, Register s2) { v9_dep(); assert(d->is_even(), "not even"); emit_int32( op(ldst_op) | rd(d) | op3(std_op3) | rs1(s1) | rs2(s2) ); }
inline void Assembler::std( Register d, Register s1, int simm13a) { v9_dep(); assert(d->is_even(), "not even"); emit_data( op(ldst_op) | rd(d) | op3(std_op3) | rs1(s1) | immed(true) | simm(simm13a, 13)); }
-// v8 p 99
-
-inline void Assembler::stc( int crd, Register s1, Register s2) { v8_only(); emit_int32( op(ldst_op) | fcn(crd) | op3(stc_op3 ) | rs1(s1) | rs2(s2) ); }
-inline void Assembler::stc( int crd, Register s1, int simm13a) { v8_only(); emit_data( op(ldst_op) | fcn(crd) | op3(stc_op3 ) | rs1(s1) | immed(true) | simm(simm13a, 13)); }
-inline void Assembler::stdc( int crd, Register s1, Register s2) { v8_only(); emit_int32( op(ldst_op) | fcn(crd) | op3(stdc_op3) | rs1(s1) | rs2(s2) ); }
-inline void Assembler::stdc( int crd, Register s1, int simm13a) { v8_only(); emit_data( op(ldst_op) | fcn(crd) | op3(stdc_op3) | rs1(s1) | immed(true) | simm(simm13a, 13)); }
-inline void Assembler::stcsr( int crd, Register s1, Register s2) { v8_only(); emit_int32( op(ldst_op) | fcn(crd) | op3(stcsr_op3) | rs1(s1) | rs2(s2) ); }
-inline void Assembler::stcsr( int crd, Register s1, int simm13a) { v8_only(); emit_data( op(ldst_op) | fcn(crd) | op3(stcsr_op3) | rs1(s1) | immed(true) | simm(simm13a, 13)); }
-inline void Assembler::stdcq( int crd, Register s1, Register s2) { v8_only(); emit_int32( op(ldst_op) | fcn(crd) | op3(stdcq_op3) | rs1(s1) | rs2(s2) ); }
-inline void Assembler::stdcq( int crd, Register s1, int simm13a) { v8_only(); emit_data( op(ldst_op) | fcn(crd) | op3(stdcq_op3) | rs1(s1) | immed(true) | simm(simm13a, 13)); }
-
// pp 231
inline void Assembler::swap( Register s1, Register s2, Register d) { v9_dep(); emit_int32( op(ldst_op) | rd(d) | op3(swap_op3) | rs1(s1) | rs2(s2) ); }
diff --git a/hotspot/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp b/hotspot/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp
index 7c4c54ea37f..64745015923 100644
--- a/hotspot/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -597,13 +597,6 @@ void LIR_Assembler::emit_op3(LIR_Op3* op) {
__ sra(Rdividend, 31, Rscratch);
__ wry(Rscratch);
- if (!VM_Version::v9_instructions_work()) {
- // v9 doesn't require these nops
- __ nop();
- __ nop();
- __ nop();
- __ nop();
- }
add_debug_info_for_div0_here(op->info());
@@ -652,10 +645,6 @@ void LIR_Assembler::emit_opBranch(LIR_OpBranch* op) {
case lir_cond_lessEqual: acond = (is_unordered ? Assembler::f_unorderedOrLessOrEqual : Assembler::f_lessOrEqual); break;
case lir_cond_greaterEqual: acond = (is_unordered ? Assembler::f_unorderedOrGreaterOrEqual: Assembler::f_greaterOrEqual); break;
default : ShouldNotReachHere();
- };
-
- if (!VM_Version::v9_instructions_work()) {
- __ nop();
}
__ fb( acond, false, Assembler::pn, *(op->label()));
} else {
@@ -725,9 +714,6 @@ void LIR_Assembler::emit_opConvert(LIR_OpConvert* op) {
Label L;
// result must be 0 if value is NaN; test by comparing value to itself
__ fcmp(FloatRegisterImpl::S, Assembler::fcc0, rsrc, rsrc);
- if (!VM_Version::v9_instructions_work()) {
- __ nop();
- }
__ fb(Assembler::f_unordered, true, Assembler::pn, L);
__ delayed()->st(G0, addr); // annuled if contents of rsrc is not NaN
__ ftoi(FloatRegisterImpl::S, rsrc, rsrc);
@@ -1909,7 +1895,7 @@ void LIR_Assembler::arith_op(LIR_Code code, LIR_Opr left, LIR_Opr right, LIR_Opr
switch (code) {
case lir_add: __ add (lreg, rreg, res); break;
case lir_sub: __ sub (lreg, rreg, res); break;
- case lir_mul: __ mult (lreg, rreg, res); break;
+ case lir_mul: __ mulx (lreg, rreg, res); break;
default: ShouldNotReachHere();
}
}
@@ -1924,7 +1910,7 @@ void LIR_Assembler::arith_op(LIR_Code code, LIR_Opr left, LIR_Opr right, LIR_Opr
switch (code) {
case lir_add: __ add (lreg, simm13, res); break;
case lir_sub: __ sub (lreg, simm13, res); break;
- case lir_mul: __ mult (lreg, simm13, res); break;
+ case lir_mul: __ mulx (lreg, simm13, res); break;
default: ShouldNotReachHere();
}
} else {
@@ -1936,7 +1922,7 @@ void LIR_Assembler::arith_op(LIR_Code code, LIR_Opr left, LIR_Opr right, LIR_Opr
switch (code) {
case lir_add: __ add (lreg, (int)con, res); break;
case lir_sub: __ sub (lreg, (int)con, res); break;
- case lir_mul: __ mult (lreg, (int)con, res); break;
+ case lir_mul: __ mulx (lreg, (int)con, res); break;
default: ShouldNotReachHere();
}
}
@@ -2960,6 +2946,9 @@ void LIR_Assembler::monitor_address(int monitor_no, LIR_Opr dst_opr) {
}
}
+void LIR_Assembler::emit_updatecrc32(LIR_OpUpdateCRC32* op) {
+ fatal("CRC32 intrinsic is not implemented on this platform");
+}
void LIR_Assembler::emit_lock(LIR_OpLock* op) {
Register obj = op->obj_opr()->as_register();
@@ -3234,48 +3223,26 @@ void LIR_Assembler::volatile_move_op(LIR_Opr src, LIR_Opr dest, BasicType type,
Register base = mem_addr->base()->as_register();
if (src->is_register() && dest->is_address()) {
// G4 is high half, G5 is low half
- if (VM_Version::v9_instructions_work()) {
- // clear the top bits of G5, and scale up G4
- __ srl (src->as_register_lo(), 0, G5);
- __ sllx(src->as_register_hi(), 32, G4);
- // combine the two halves into the 64 bits of G4
- __ or3(G4, G5, G4);
- null_check_offset = __ offset();
- if (idx == noreg) {
- __ stx(G4, base, disp);
- } else {
- __ stx(G4, base, idx);
- }
+ // clear the top bits of G5, and scale up G4
+ __ srl (src->as_register_lo(), 0, G5);
+ __ sllx(src->as_register_hi(), 32, G4);
+ // combine the two halves into the 64 bits of G4
+ __ or3(G4, G5, G4);
+ null_check_offset = __ offset();
+ if (idx == noreg) {
+ __ stx(G4, base, disp);
} else {
- __ mov (src->as_register_hi(), G4);
- __ mov (src->as_register_lo(), G5);
- null_check_offset = __ offset();
- if (idx == noreg) {
- __ std(G4, base, disp);
- } else {
- __ std(G4, base, idx);
- }
+ __ stx(G4, base, idx);
}
} else if (src->is_address() && dest->is_register()) {
null_check_offset = __ offset();
- if (VM_Version::v9_instructions_work()) {
- if (idx == noreg) {
- __ ldx(base, disp, G5);
- } else {
- __ ldx(base, idx, G5);
- }
- __ srax(G5, 32, dest->as_register_hi()); // fetch the high half into hi
- __ mov (G5, dest->as_register_lo()); // copy low half into lo
+ if (idx == noreg) {
+ __ ldx(base, disp, G5);
} else {
- if (idx == noreg) {
- __ ldd(base, disp, G4);
- } else {
- __ ldd(base, idx, G4);
- }
- // G4 is high half, G5 is low half
- __ mov (G4, dest->as_register_hi());
- __ mov (G5, dest->as_register_lo());
+ __ ldx(base, idx, G5);
}
+ __ srax(G5, 32, dest->as_register_hi()); // fetch the high half into hi
+ __ mov (G5, dest->as_register_lo()); // copy low half into lo
} else {
Unimplemented();
}
diff --git a/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp b/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp
index 82cc696e8b7..dc3bc8691ac 100644
--- a/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2012, 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
@@ -784,6 +784,10 @@ void LIRGenerator::do_ArrayCopy(Intrinsic* x) {
set_no_result(x);
}
+void LIRGenerator::do_update_CRC32(Intrinsic* x) {
+ fatal("CRC32 intrinsic is not implemented on this platform");
+}
+
// _i2l, _i2f, _i2d, _l2i, _l2f, _l2d, _f2i, _f2l, _f2d, _d2i, _d2l, _d2f
// _i2b, _i2c, _i2s
void LIRGenerator::do_Convert(Convert* x) {
diff --git a/hotspot/src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp b/hotspot/src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp
index 05db22c93f9..bf4074b30fd 100644
--- a/hotspot/src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp
@@ -108,7 +108,7 @@ void C1_MacroAssembler::lock_object(Register Rmark, Register Roop, Register Rbox
// compare object markOop with Rmark and if equal exchange Rscratch with object markOop
assert(mark_addr.disp() == 0, "cas must take a zero displacement");
- casx_under_lock(mark_addr.base(), Rmark, Rscratch, (address)StubRoutines::Sparc::atomic_memory_operation_lock_addr());
+ cas_ptr(mark_addr.base(), Rmark, Rscratch);
// if compare/exchange succeeded we found an unlocked object and we now have locked it
// hence we are done
cmp(Rmark, Rscratch);
@@ -149,7 +149,7 @@ void C1_MacroAssembler::unlock_object(Register Rmark, Register Roop, Register Rb
// Check if it is still a light weight lock, this is is true if we see
// the stack address of the basicLock in the markOop of the object
- casx_under_lock(mark_addr.base(), Rbox, Rmark, (address)StubRoutines::Sparc::atomic_memory_operation_lock_addr());
+ cas_ptr(mark_addr.base(), Rbox, Rmark);
cmp(Rbox, Rmark);
brx(Assembler::notEqual, false, Assembler::pn, slow_case);
@@ -276,7 +276,7 @@ void C1_MacroAssembler::initialize_object(
sub(var_size_in_bytes, hdr_size_in_bytes, t2); // compute size of body
initialize_body(t1, t2);
#ifndef _LP64
- } else if (VM_Version::v9_instructions_work() && con_size_in_bytes < threshold * 2) {
+ } else if (con_size_in_bytes < threshold * 2) {
// on v9 we can do double word stores to fill twice as much space.
assert(hdr_size_in_bytes % 8 == 0, "double word aligned");
assert(con_size_in_bytes % 8 == 0, "double word aligned");
diff --git a/hotspot/src/cpu/sparc/vm/c1_globals_sparc.hpp b/hotspot/src/cpu/sparc/vm/c1_globals_sparc.hpp
index a43a9cee538..c6cf521272d 100644
--- a/hotspot/src/cpu/sparc/vm/c1_globals_sparc.hpp
+++ b/hotspot/src/cpu/sparc/vm/c1_globals_sparc.hpp
@@ -49,8 +49,9 @@ define_pd_global(intx, FreqInlineSize, 325 );
define_pd_global(bool, ResizeTLAB, true );
define_pd_global(intx, ReservedCodeCacheSize, 32*M );
define_pd_global(intx, CodeCacheExpansionSize, 32*K );
-define_pd_global(uintx,CodeCacheMinBlockLength, 1);
-define_pd_global(uintx,MetaspaceSize, 12*M );
+define_pd_global(uintx, CodeCacheMinBlockLength, 1);
+define_pd_global(uintx, CodeCacheMinimumUseSpace, 400*K);
+define_pd_global(uintx, MetaspaceSize, 12*M );
define_pd_global(bool, NeverActAsServerClassMachine, true );
define_pd_global(intx, NewSizeThreadIncrease, 16*K );
define_pd_global(uint64_t,MaxRAM, 1ULL*G);
diff --git a/hotspot/src/cpu/sparc/vm/c2_globals_sparc.hpp b/hotspot/src/cpu/sparc/vm/c2_globals_sparc.hpp
index c642e915fe1..e32094deb06 100644
--- a/hotspot/src/cpu/sparc/vm/c2_globals_sparc.hpp
+++ b/hotspot/src/cpu/sparc/vm/c2_globals_sparc.hpp
@@ -86,7 +86,8 @@ define_pd_global(intx, CodeCacheExpansionSize, 32*K);
// Ergonomics related flags
define_pd_global(uint64_t,MaxRAM, 4ULL*G);
#endif
-define_pd_global(uintx,CodeCacheMinBlockLength, 4);
+define_pd_global(uintx, CodeCacheMinBlockLength, 4);
+define_pd_global(uintx, CodeCacheMinimumUseSpace, 400*K);
// Heap related flags
define_pd_global(uintx,MetaspaceSize, ScaleForWordSize(16*M));
diff --git a/hotspot/src/cpu/sparc/vm/c2_init_sparc.cpp b/hotspot/src/cpu/sparc/vm/c2_init_sparc.cpp
index 685a39dbf0f..6ad04df863d 100644
--- a/hotspot/src/cpu/sparc/vm/c2_init_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/c2_init_sparc.cpp
@@ -30,5 +30,4 @@
void Compile::pd_compiler2_init() {
guarantee(CodeEntryAlignment >= InteriorEntryAlignment, "" );
- guarantee( VM_Version::v9_instructions_work(), "Server compiler does not run on V8 systems" );
}
diff --git a/hotspot/src/cpu/sparc/vm/disassembler_sparc.hpp b/hotspot/src/cpu/sparc/vm/disassembler_sparc.hpp
index 761d0e3810e..a1f576b26a7 100644
--- a/hotspot/src/cpu/sparc/vm/disassembler_sparc.hpp
+++ b/hotspot/src/cpu/sparc/vm/disassembler_sparc.hpp
@@ -30,8 +30,7 @@
}
static const char* pd_cpu_opts() {
- return (VM_Version::v9_instructions_work()?
- (VM_Version::v8_instructions_work()? "" : "v9only") : "v8only");
+ return "v9only";
}
#endif // CPU_SPARC_VM_DISASSEMBLER_SPARC_HPP
diff --git a/hotspot/src/cpu/sparc/vm/frame_sparc.cpp b/hotspot/src/cpu/sparc/vm/frame_sparc.cpp
index b550d77a8bf..ac9746679b3 100644
--- a/hotspot/src/cpu/sparc/vm/frame_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/frame_sparc.cpp
@@ -257,11 +257,6 @@ bool frame::safe_for_sender(JavaThread *thread) {
return false;
}
- // Could be a zombie method
- if (sender_blob->is_zombie() || sender_blob->is_unloaded()) {
- return false;
- }
-
// It should be safe to construct the sender though it might not be valid
frame sender(_SENDER_SP, younger_sp, adjusted_stack);
@@ -680,7 +675,7 @@ bool frame::is_interpreted_frame_valid(JavaThread* thread) const {
// validate ConstantPoolCache*
ConstantPoolCache* cp = *interpreter_frame_cache_addr();
- if (cp == NULL || !cp->is_metadata()) return false;
+ if (cp == NULL || !cp->is_metaspace_object()) return false;
// validate locals
diff --git a/hotspot/src/cpu/sparc/vm/globals_sparc.hpp b/hotspot/src/cpu/sparc/vm/globals_sparc.hpp
index 35886ce8ea9..acffc90f2cf 100644
--- a/hotspot/src/cpu/sparc/vm/globals_sparc.hpp
+++ b/hotspot/src/cpu/sparc/vm/globals_sparc.hpp
@@ -110,8 +110,5 @@ define_pd_global(uintx, CMSYoungGenPerWorker, 16*M); // default max size of CMS
\
product(uintx, ArraycopyDstPrefetchDistance, 0, \
"Distance to prefetch destination array in arracopy") \
- \
- develop(intx, V8AtomicOperationUnderLockSpinCount, 50, \
- "Number of times to spin wait on a v8 atomic operation lock") \
#endif // CPU_SPARC_VM_GLOBALS_SPARC_HPP
diff --git a/hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp b/hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp
index 9775d2f871a..454b23c920b 100644
--- a/hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp
@@ -1210,8 +1210,7 @@ void InterpreterMacroAssembler::lock_object(Register lock_reg, Register Object)
st_ptr(mark_reg, lock_addr, BasicLock::displaced_header_offset_in_bytes());
// compare and exchange object_addr, markOop | 1, stack address of basicLock
assert(mark_addr.disp() == 0, "cas must take a zero displacement");
- casx_under_lock(mark_addr.base(), mark_reg, temp_reg,
- (address)StubRoutines::Sparc::atomic_memory_operation_lock_addr());
+ cas_ptr(mark_addr.base(), mark_reg, temp_reg);
// if the compare and exchange succeeded we are done (we saw an unlocked object)
cmp_and_brx_short(mark_reg, temp_reg, Assembler::equal, Assembler::pt, done);
@@ -1291,8 +1290,7 @@ void InterpreterMacroAssembler::unlock_object(Register lock_reg) {
// we expect to see the stack address of the basicLock in case the
// lock is still a light weight lock (lock_reg)
assert(mark_addr.disp() == 0, "cas must take a zero displacement");
- casx_under_lock(mark_addr.base(), lock_reg, displaced_header_reg,
- (address)StubRoutines::Sparc::atomic_memory_operation_lock_addr());
+ cas_ptr(mark_addr.base(), lock_reg, displaced_header_reg);
cmp(lock_reg, displaced_header_reg);
brx(Assembler::equal, true, Assembler::pn, done);
delayed()->st_ptr(G0, lockobj_addr); // free entry
diff --git a/hotspot/src/cpu/sparc/vm/macroAssembler_sparc.cpp b/hotspot/src/cpu/sparc/vm/macroAssembler_sparc.cpp
index 578650a3419..022e67ba203 100644
--- a/hotspot/src/cpu/sparc/vm/macroAssembler_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/macroAssembler_sparc.cpp
@@ -118,7 +118,6 @@ int MacroAssembler::patched_branch(int dest_pos, int inst, int inst_pos) {
case bp_op2: m = wdisp( word_aligned_ones, 0, 19); v = wdisp( dest_pos, inst_pos, 19); break;
case fb_op2: m = wdisp( word_aligned_ones, 0, 22); v = wdisp( dest_pos, inst_pos, 22); break;
case br_op2: m = wdisp( word_aligned_ones, 0, 22); v = wdisp( dest_pos, inst_pos, 22); break;
- case cb_op2: m = wdisp( word_aligned_ones, 0, 22); v = wdisp( dest_pos, inst_pos, 22); break;
case bpr_op2: {
if (is_cbcond(inst)) {
m = wdisp10(word_aligned_ones, 0);
@@ -149,7 +148,6 @@ int MacroAssembler::branch_destination(int inst, int pos) {
case bp_op2: r = inv_wdisp( inst, pos, 19); break;
case fb_op2: r = inv_wdisp( inst, pos, 22); break;
case br_op2: r = inv_wdisp( inst, pos, 22); break;
- case cb_op2: r = inv_wdisp( inst, pos, 22); break;
case bpr_op2: {
if (is_cbcond(inst)) {
r = inv_wdisp10(inst, pos);
@@ -325,12 +323,6 @@ void MacroAssembler::breakpoint_trap() {
trap(ST_RESERVED_FOR_USER_0);
}
-// flush windows (except current) using flushw instruction if avail.
-void MacroAssembler::flush_windows() {
- if (VM_Version::v9_instructions_work()) flushw();
- else flush_windows_trap();
-}
-
// Write serialization page so VM thread can do a pseudo remote membar
// We use the current thread pointer to calculate a thread specific
// offset to write to within the page. This minimizes bus traffic
@@ -358,88 +350,6 @@ void MacroAssembler::leave() {
Unimplemented();
}
-void MacroAssembler::mult(Register s1, Register s2, Register d) {
- if(VM_Version::v9_instructions_work()) {
- mulx (s1, s2, d);
- } else {
- smul (s1, s2, d);
- }
-}
-
-void MacroAssembler::mult(Register s1, int simm13a, Register d) {
- if(VM_Version::v9_instructions_work()) {
- mulx (s1, simm13a, d);
- } else {
- smul (s1, simm13a, d);
- }
-}
-
-
-#ifdef ASSERT
-void MacroAssembler::read_ccr_v8_assert(Register ccr_save) {
- const Register s1 = G3_scratch;
- const Register s2 = G4_scratch;
- Label get_psr_test;
- // Get the condition codes the V8 way.
- read_ccr_trap(s1);
- mov(ccr_save, s2);
- // This is a test of V8 which has icc but not xcc
- // so mask off the xcc bits
- and3(s2, 0xf, s2);
- // Compare condition codes from the V8 and V9 ways.
- subcc(s2, s1, G0);
- br(Assembler::notEqual, true, Assembler::pt, get_psr_test);
- delayed()->breakpoint_trap();
- bind(get_psr_test);
-}
-
-void MacroAssembler::write_ccr_v8_assert(Register ccr_save) {
- const Register s1 = G3_scratch;
- const Register s2 = G4_scratch;
- Label set_psr_test;
- // Write out the saved condition codes the V8 way
- write_ccr_trap(ccr_save, s1, s2);
- // Read back the condition codes using the V9 instruction
- rdccr(s1);
- mov(ccr_save, s2);
- // This is a test of V8 which has icc but not xcc
- // so mask off the xcc bits
- and3(s2, 0xf, s2);
- and3(s1, 0xf, s1);
- // Compare the V8 way with the V9 way.
- subcc(s2, s1, G0);
- br(Assembler::notEqual, true, Assembler::pt, set_psr_test);
- delayed()->breakpoint_trap();
- bind(set_psr_test);
-}
-#else
-#define read_ccr_v8_assert(x)
-#define write_ccr_v8_assert(x)
-#endif // ASSERT
-
-void MacroAssembler::read_ccr(Register ccr_save) {
- if (VM_Version::v9_instructions_work()) {
- rdccr(ccr_save);
- // Test code sequence used on V8. Do not move above rdccr.
- read_ccr_v8_assert(ccr_save);
- } else {
- read_ccr_trap(ccr_save);
- }
-}
-
-void MacroAssembler::write_ccr(Register ccr_save) {
- if (VM_Version::v9_instructions_work()) {
- // Test code sequence used on V8. Do not move below wrccr.
- write_ccr_v8_assert(ccr_save);
- wrccr(ccr_save);
- } else {
- const Register temp_reg1 = G3_scratch;
- const Register temp_reg2 = G4_scratch;
- write_ccr_trap(ccr_save, temp_reg1, temp_reg2);
- }
-}
-
-
// Calls to C land
#ifdef ASSERT
@@ -465,8 +375,8 @@ void MacroAssembler::get_thread() {
#ifdef ASSERT
AddressLiteral last_get_thread_addrlit(&last_get_thread);
set(last_get_thread_addrlit, L3);
- inc(L4, get_pc(L4) + 2 * BytesPerInstWord); // skip getpc() code + inc + st_ptr to point L4 at call
- st_ptr(L4, L3, 0);
+ rdpc(L4);
+ inc(L4, 3 * BytesPerInstWord); // skip rdpc + inc + st_ptr to point L4 at call st_ptr(L4, L3, 0);
#endif
call(CAST_FROM_FN_PTR(address, reinitialize_thread), relocInfo::runtime_call_type);
delayed()->nop();
@@ -1251,12 +1161,6 @@ void MacroAssembler::align(int modulus) {
while (offset() % modulus != 0) nop();
}
-
-void MacroAssembler::safepoint() {
- relocate(breakpoint_Relocation::spec(breakpoint_Relocation::safepoint));
-}
-
-
void RegistersForDebugging::print(outputStream* s) {
FlagSetting fs(Debugging, true);
int j;
@@ -1327,7 +1231,7 @@ void RegistersForDebugging::print(outputStream* s) {
void RegistersForDebugging::save_registers(MacroAssembler* a) {
a->sub(FP, round_to(sizeof(RegistersForDebugging), sizeof(jdouble)) - STACK_BIAS, O0);
- a->flush_windows();
+ a->flushw();
int i;
for (i = 0; i < 8; ++i) {
a->ld_ptr(as_iRegister(i)->address_in_saved_window().after_save(), L1); a->st_ptr( L1, O0, i_offset(i));
@@ -1338,7 +1242,7 @@ void RegistersForDebugging::save_registers(MacroAssembler* a) {
for (i = 0; i < 32; ++i) {
a->stf(FloatRegisterImpl::S, as_FloatRegister(i), O0, f_offset(i));
}
- for (i = 0; i < (VM_Version::v9_instructions_work() ? 64 : 32); i += 2) {
+ for (i = 0; i < 64; i += 2) {
a->stf(FloatRegisterImpl::D, as_FloatRegister(i), O0, d_offset(i));
}
}
@@ -1350,7 +1254,7 @@ void RegistersForDebugging::restore_registers(MacroAssembler* a, Register r) {
for (int j = 0; j < 32; ++j) {
a->ldf(FloatRegisterImpl::S, O0, f_offset(j), as_FloatRegister(j));
}
- for (int k = 0; k < (VM_Version::v9_instructions_work() ? 64 : 32); k += 2) {
+ for (int k = 0; k < 64; k += 2) {
a->ldf(FloatRegisterImpl::D, O0, d_offset(k), as_FloatRegister(k));
}
}
@@ -1465,8 +1369,6 @@ address MacroAssembler::_verify_oop_implicit_branch[3] = { NULL };
// the high bits of the O-regs if they contain Long values. Acts as a 'leaf'
// call.
void MacroAssembler::verify_oop_subroutine() {
- assert( VM_Version::v9_instructions_work(), "VerifyOops not supported for V8" );
-
// Leaf call; no frame.
Label succeed, fail, null_or_fail;
@@ -1870,26 +1772,17 @@ void MacroAssembler::lcmp( Register Ra_hi, Register Ra_low,
// And the equals case for the high part does not need testing,
// since that triplet is reached only after finding the high halves differ.
- if (VM_Version::v9_instructions_work()) {
- mov(-1, Rresult);
- ba(done); delayed()-> movcc(greater, false, icc, 1, Rresult);
- } else {
- br(less, true, pt, done); delayed()-> set(-1, Rresult);
- br(greater, true, pt, done); delayed()-> set( 1, Rresult);
- }
+ mov(-1, Rresult);
+ ba(done);
+ delayed()->movcc(greater, false, icc, 1, Rresult);
- bind( check_low_parts );
+ bind(check_low_parts);
- if (VM_Version::v9_instructions_work()) {
- mov( -1, Rresult);
- movcc(equal, false, icc, 0, Rresult);
- movcc(greaterUnsigned, false, icc, 1, Rresult);
- } else {
- set(-1, Rresult);
- br(equal, true, pt, done); delayed()->set( 0, Rresult);
- br(greaterUnsigned, true, pt, done); delayed()->set( 1, Rresult);
- }
- bind( done );
+ mov( -1, Rresult);
+ movcc(equal, false, icc, 0, Rresult);
+ movcc(greaterUnsigned, false, icc, 1, Rresult);
+
+ bind(done);
}
void MacroAssembler::lneg( Register Rhi, Register Rlow ) {
@@ -2117,119 +2010,24 @@ void MacroAssembler::store_sized_value(Register src, Address dst, size_t size_in
void MacroAssembler::float_cmp( bool is_float, int unordered_result,
FloatRegister Fa, FloatRegister Fb,
Register Rresult) {
-
- fcmp(is_float ? FloatRegisterImpl::S : FloatRegisterImpl::D, fcc0, Fa, Fb);
-
- Condition lt = unordered_result == -1 ? f_unorderedOrLess : f_less;
- Condition eq = f_equal;
- Condition gt = unordered_result == 1 ? f_unorderedOrGreater : f_greater;
-
- if (VM_Version::v9_instructions_work()) {
-
- mov(-1, Rresult);
- movcc(eq, true, fcc0, 0, Rresult);
- movcc(gt, true, fcc0, 1, Rresult);
-
+ if (is_float) {
+ fcmp(FloatRegisterImpl::S, fcc0, Fa, Fb);
} else {
- Label done;
+ fcmp(FloatRegisterImpl::D, fcc0, Fa, Fb);
+ }
- set( -1, Rresult );
- //fb(lt, true, pn, done); delayed()->set( -1, Rresult );
- fb( eq, true, pn, done); delayed()->set( 0, Rresult );
- fb( gt, true, pn, done); delayed()->set( 1, Rresult );
-
- bind (done);
+ if (unordered_result == 1) {
+ mov( -1, Rresult);
+ movcc(f_equal, true, fcc0, 0, Rresult);
+ movcc(f_unorderedOrGreater, true, fcc0, 1, Rresult);
+ } else {
+ mov( -1, Rresult);
+ movcc(f_equal, true, fcc0, 0, Rresult);
+ movcc(f_greater, true, fcc0, 1, Rresult);
}
}
-void MacroAssembler::fneg( FloatRegisterImpl::Width w, FloatRegister s, FloatRegister d)
-{
- if (VM_Version::v9_instructions_work()) {
- Assembler::fneg(w, s, d);
- } else {
- if (w == FloatRegisterImpl::S) {
- Assembler::fneg(w, s, d);
- } else if (w == FloatRegisterImpl::D) {
- // number() does a sanity check on the alignment.
- assert(((s->encoding(FloatRegisterImpl::D) & 1) == 0) &&
- ((d->encoding(FloatRegisterImpl::D) & 1) == 0), "float register alignment check");
-
- Assembler::fneg(FloatRegisterImpl::S, s, d);
- Assembler::fmov(FloatRegisterImpl::S, s->successor(), d->successor());
- } else {
- assert(w == FloatRegisterImpl::Q, "Invalid float register width");
-
- // number() does a sanity check on the alignment.
- assert(((s->encoding(FloatRegisterImpl::D) & 3) == 0) &&
- ((d->encoding(FloatRegisterImpl::D) & 3) == 0), "float register alignment check");
-
- Assembler::fneg(FloatRegisterImpl::S, s, d);
- Assembler::fmov(FloatRegisterImpl::S, s->successor(), d->successor());
- Assembler::fmov(FloatRegisterImpl::S, s->successor()->successor(), d->successor()->successor());
- Assembler::fmov(FloatRegisterImpl::S, s->successor()->successor()->successor(), d->successor()->successor()->successor());
- }
- }
-}
-
-void MacroAssembler::fmov( FloatRegisterImpl::Width w, FloatRegister s, FloatRegister d)
-{
- if (VM_Version::v9_instructions_work()) {
- Assembler::fmov(w, s, d);
- } else {
- if (w == FloatRegisterImpl::S) {
- Assembler::fmov(w, s, d);
- } else if (w == FloatRegisterImpl::D) {
- // number() does a sanity check on the alignment.
- assert(((s->encoding(FloatRegisterImpl::D) & 1) == 0) &&
- ((d->encoding(FloatRegisterImpl::D) & 1) == 0), "float register alignment check");
-
- Assembler::fmov(FloatRegisterImpl::S, s, d);
- Assembler::fmov(FloatRegisterImpl::S, s->successor(), d->successor());
- } else {
- assert(w == FloatRegisterImpl::Q, "Invalid float register width");
-
- // number() does a sanity check on the alignment.
- assert(((s->encoding(FloatRegisterImpl::D) & 3) == 0) &&
- ((d->encoding(FloatRegisterImpl::D) & 3) == 0), "float register alignment check");
-
- Assembler::fmov(FloatRegisterImpl::S, s, d);
- Assembler::fmov(FloatRegisterImpl::S, s->successor(), d->successor());
- Assembler::fmov(FloatRegisterImpl::S, s->successor()->successor(), d->successor()->successor());
- Assembler::fmov(FloatRegisterImpl::S, s->successor()->successor()->successor(), d->successor()->successor()->successor());
- }
- }
-}
-
-void MacroAssembler::fabs( FloatRegisterImpl::Width w, FloatRegister s, FloatRegister d)
-{
- if (VM_Version::v9_instructions_work()) {
- Assembler::fabs(w, s, d);
- } else {
- if (w == FloatRegisterImpl::S) {
- Assembler::fabs(w, s, d);
- } else if (w == FloatRegisterImpl::D) {
- // number() does a sanity check on the alignment.
- assert(((s->encoding(FloatRegisterImpl::D) & 1) == 0) &&
- ((d->encoding(FloatRegisterImpl::D) & 1) == 0), "float register alignment check");
-
- Assembler::fabs(FloatRegisterImpl::S, s, d);
- Assembler::fmov(FloatRegisterImpl::S, s->successor(), d->successor());
- } else {
- assert(w == FloatRegisterImpl::Q, "Invalid float register width");
-
- // number() does a sanity check on the alignment.
- assert(((s->encoding(FloatRegisterImpl::D) & 3) == 0) &&
- ((d->encoding(FloatRegisterImpl::D) & 3) == 0), "float register alignment check");
-
- Assembler::fabs(FloatRegisterImpl::S, s, d);
- Assembler::fmov(FloatRegisterImpl::S, s->successor(), d->successor());
- Assembler::fmov(FloatRegisterImpl::S, s->successor()->successor(), d->successor()->successor());
- Assembler::fmov(FloatRegisterImpl::S, s->successor()->successor()->successor(), d->successor()->successor()->successor());
- }
- }
-}
-
void MacroAssembler::save_all_globals_into_locals() {
mov(G1,L1);
mov(G2,L2);
@@ -2250,135 +2048,6 @@ void MacroAssembler::restore_globals_from_locals() {
mov(L7,G7);
}
-// Use for 64 bit operation.
-void MacroAssembler::casx_under_lock(Register top_ptr_reg, Register top_reg, Register ptr_reg, address lock_addr, bool use_call_vm)
-{
- // store ptr_reg as the new top value
-#ifdef _LP64
- casx(top_ptr_reg, top_reg, ptr_reg);
-#else
- cas_under_lock(top_ptr_reg, top_reg, ptr_reg, lock_addr, use_call_vm);
-#endif // _LP64
-}
-
-// [RGV] This routine does not handle 64 bit operations.
-// use casx_under_lock() or casx directly!!!
-void MacroAssembler::cas_under_lock(Register top_ptr_reg, Register top_reg, Register ptr_reg, address lock_addr, bool use_call_vm)
-{
- // store ptr_reg as the new top value
- if (VM_Version::v9_instructions_work()) {
- cas(top_ptr_reg, top_reg, ptr_reg);
- } else {
-
- // If the register is not an out nor global, it is not visible
- // after the save. Allocate a register for it, save its
- // value in the register save area (the save may not flush
- // registers to the save area).
-
- Register top_ptr_reg_after_save;
- Register top_reg_after_save;
- Register ptr_reg_after_save;
-
- if (top_ptr_reg->is_out() || top_ptr_reg->is_global()) {
- top_ptr_reg_after_save = top_ptr_reg->after_save();
- } else {
- Address reg_save_addr = top_ptr_reg->address_in_saved_window();
- top_ptr_reg_after_save = L0;
- st(top_ptr_reg, reg_save_addr);
- }
-
- if (top_reg->is_out() || top_reg->is_global()) {
- top_reg_after_save = top_reg->after_save();
- } else {
- Address reg_save_addr = top_reg->address_in_saved_window();
- top_reg_after_save = L1;
- st(top_reg, reg_save_addr);
- }
-
- if (ptr_reg->is_out() || ptr_reg->is_global()) {
- ptr_reg_after_save = ptr_reg->after_save();
- } else {
- Address reg_save_addr = ptr_reg->address_in_saved_window();
- ptr_reg_after_save = L2;
- st(ptr_reg, reg_save_addr);
- }
-
- const Register& lock_reg = L3;
- const Register& lock_ptr_reg = L4;
- const Register& value_reg = L5;
- const Register& yield_reg = L6;
- const Register& yieldall_reg = L7;
-
- save_frame();
-
- if (top_ptr_reg_after_save == L0) {
- ld(top_ptr_reg->address_in_saved_window().after_save(), top_ptr_reg_after_save);
- }
-
- if (top_reg_after_save == L1) {
- ld(top_reg->address_in_saved_window().after_save(), top_reg_after_save);
- }
-
- if (ptr_reg_after_save == L2) {
- ld(ptr_reg->address_in_saved_window().after_save(), ptr_reg_after_save);
- }
-
- Label(retry_get_lock);
- Label(not_same);
- Label(dont_yield);
-
- assert(lock_addr, "lock_address should be non null for v8");
- set((intptr_t)lock_addr, lock_ptr_reg);
- // Initialize yield counter
- mov(G0,yield_reg);
- mov(G0, yieldall_reg);
- set(StubRoutines::Sparc::locked, lock_reg);
-
- bind(retry_get_lock);
- cmp_and_br_short(yield_reg, V8AtomicOperationUnderLockSpinCount, Assembler::less, Assembler::pt, dont_yield);
-
- if(use_call_vm) {
- Untested("Need to verify global reg consistancy");
- call_VM(noreg, CAST_FROM_FN_PTR(address, SharedRuntime::yield_all), yieldall_reg);
- } else {
- // Save the regs and make space for a C call
- save(SP, -96, SP);
- save_all_globals_into_locals();
- call(CAST_FROM_FN_PTR(address,os::yield_all));
- delayed()->mov(yieldall_reg, O0);
- restore_globals_from_locals();
- restore();
- }
-
- // reset the counter
- mov(G0,yield_reg);
- add(yieldall_reg, 1, yieldall_reg);
-
- bind(dont_yield);
- // try to get lock
- Assembler::swap(lock_ptr_reg, 0, lock_reg);
-
- // did we get the lock?
- cmp(lock_reg, StubRoutines::Sparc::unlocked);
- br(Assembler::notEqual, true, Assembler::pn, retry_get_lock);
- delayed()->add(yield_reg,1,yield_reg);
-
- // yes, got lock. do we have the same top?
- ld(top_ptr_reg_after_save, 0, value_reg);
- cmp_and_br_short(value_reg, top_reg_after_save, Assembler::notEqual, Assembler::pn, not_same);
-
- // yes, same top.
- st(ptr_reg_after_save, top_ptr_reg_after_save, 0);
- membar(Assembler::StoreStore);
-
- bind(not_same);
- mov(value_reg, ptr_reg_after_save);
- st(lock_reg, lock_ptr_reg, 0); // unlock
-
- restore();
- }
-}
-
RegisterOrConstant MacroAssembler::delayed_value_impl(intptr_t* delayed_value_addr,
Register tmp,
int offset) {
@@ -2970,7 +2639,7 @@ void MacroAssembler::biased_locking_enter(Register obj_reg, Register mark_reg,
markOopDesc::biased_lock_mask_in_place | markOopDesc::age_mask_in_place | markOopDesc::epoch_mask_in_place,
mark_reg);
or3(G2_thread, mark_reg, temp_reg);
- casn(mark_addr.base(), mark_reg, temp_reg);
+ cas_ptr(mark_addr.base(), mark_reg, temp_reg);
// If the biasing toward our thread failed, this means that
// another thread succeeded in biasing it toward itself and we
// need to revoke that bias. The revocation will occur in the
@@ -2998,7 +2667,7 @@ void MacroAssembler::biased_locking_enter(Register obj_reg, Register mark_reg,
load_klass(obj_reg, temp_reg);
ld_ptr(Address(temp_reg, Klass::prototype_header_offset()), temp_reg);
or3(G2_thread, temp_reg, temp_reg);
- casn(mark_addr.base(), mark_reg, temp_reg);
+ cas_ptr(mark_addr.base(), mark_reg, temp_reg);
// If the biasing toward our thread failed, this means that
// another thread succeeded in biasing it toward itself and we
// need to revoke that bias. The revocation will occur in the
@@ -3027,7 +2696,7 @@ void MacroAssembler::biased_locking_enter(Register obj_reg, Register mark_reg,
// bits in this situation. Should attempt to preserve them.
load_klass(obj_reg, temp_reg);
ld_ptr(Address(temp_reg, Klass::prototype_header_offset()), temp_reg);
- casn(mark_addr.base(), mark_reg, temp_reg);
+ cas_ptr(mark_addr.base(), mark_reg, temp_reg);
// Fall through to the normal CAS-based lock, because no matter what
// the result of the above CAS, some thread must have succeeded in
// removing the bias bit from the object's header.
@@ -3058,15 +2727,6 @@ void MacroAssembler::biased_locking_exit (Address mark_addr, Register temp_reg,
}
-// CASN -- 32-64 bit switch hitter similar to the synthetic CASN provided by
-// Solaris/SPARC's "as". Another apt name would be cas_ptr()
-
-void MacroAssembler::casn (Register addr_reg, Register cmp_reg, Register set_reg ) {
- casx_under_lock (addr_reg, cmp_reg, set_reg, (address)StubRoutines::Sparc::atomic_memory_operation_lock_addr());
-}
-
-
-
// compiler_lock_object() and compiler_unlock_object() are direct transliterations
// of i486.ad fast_lock() and fast_unlock(). See those methods for detailed comments.
// The code could be tightened up considerably.
@@ -3129,8 +2789,7 @@ void MacroAssembler::compiler_lock_object(Register Roop, Register Rmark,
// compare object markOop with Rmark and if equal exchange Rscratch with object markOop
assert(mark_addr.disp() == 0, "cas must take a zero displacement");
- casx_under_lock(mark_addr.base(), Rmark, Rscratch,
- (address)StubRoutines::Sparc::atomic_memory_operation_lock_addr());
+ cas_ptr(mark_addr.base(), Rmark, Rscratch);
// if compare/exchange succeeded we found an unlocked object and we now have locked it
// hence we are done
@@ -3176,7 +2835,7 @@ void MacroAssembler::compiler_lock_object(Register Roop, Register Rmark,
mov(Rbox, Rscratch);
or3(Rmark, markOopDesc::unlocked_value, Rmark);
assert(mark_addr.disp() == 0, "cas must take a zero displacement");
- casn(mark_addr.base(), Rmark, Rscratch);
+ cas_ptr(mark_addr.base(), Rmark, Rscratch);
cmp(Rmark, Rscratch);
brx(Assembler::equal, false, Assembler::pt, done);
delayed()->sub(Rscratch, SP, Rscratch);
@@ -3207,7 +2866,7 @@ void MacroAssembler::compiler_lock_object(Register Roop, Register Rmark,
// Invariant: if we acquire the lock then _recursions should be 0.
add(Rmark, ObjectMonitor::owner_offset_in_bytes()-2, Rmark);
mov(G2_thread, Rscratch);
- casn(Rmark, G0, Rscratch);
+ cas_ptr(Rmark, G0, Rscratch);
cmp(Rscratch, G0);
// Intentional fall-through into done
} else {
@@ -3240,7 +2899,7 @@ void MacroAssembler::compiler_lock_object(Register Roop, Register Rmark,
mov(0, Rscratch);
or3(Rmark, markOopDesc::unlocked_value, Rmark);
assert(mark_addr.disp() == 0, "cas must take a zero displacement");
- casn(mark_addr.base(), Rmark, Rscratch);
+ cas_ptr(mark_addr.base(), Rmark, Rscratch);
// prefetch (mark_addr, Assembler::severalWritesAndPossiblyReads);
cmp(Rscratch, Rmark);
brx(Assembler::notZero, false, Assembler::pn, Recursive);
@@ -3266,7 +2925,7 @@ void MacroAssembler::compiler_lock_object(Register Roop, Register Rmark,
// the fast-path stack-lock code from the interpreter and always passed
// control to the "slow" operators in synchronizer.cpp.
- // RScratch contains the fetched obj->mark value from the failed CASN.
+ // RScratch contains the fetched obj->mark value from the failed CAS.
#ifdef _LP64
sub(Rscratch, STACK_BIAS, Rscratch);
#endif
@@ -3300,7 +2959,7 @@ void MacroAssembler::compiler_lock_object(Register Roop, Register Rmark,
// Invariant: if we acquire the lock then _recursions should be 0.
add(Rmark, ObjectMonitor::owner_offset_in_bytes()-2, Rmark);
mov(G2_thread, Rscratch);
- casn(Rmark, G0, Rscratch);
+ cas_ptr(Rmark, G0, Rscratch);
cmp(Rscratch, G0);
// ST box->displaced_header = NonZero.
// Any non-zero value suffices:
@@ -3336,8 +2995,7 @@ void MacroAssembler::compiler_unlock_object(Register Roop, Register Rmark,
// Check if it is still a light weight lock, this is is true if we see
// the stack address of the basicLock in the markOop of the object
assert(mark_addr.disp() == 0, "cas must take a zero displacement");
- casx_under_lock(mark_addr.base(), Rbox, Rmark,
- (address)StubRoutines::Sparc::atomic_memory_operation_lock_addr());
+ cas_ptr(mark_addr.base(), Rbox, Rmark);
ba(done);
delayed()->cmp(Rbox, Rmark);
bind(done);
@@ -3398,7 +3056,7 @@ void MacroAssembler::compiler_unlock_object(Register Roop, Register Rmark,
delayed()->andcc(G0, G0, G0);
add(Rmark, ObjectMonitor::owner_offset_in_bytes()-2, Rmark);
mov(G2_thread, Rscratch);
- casn(Rmark, G0, Rscratch);
+ cas_ptr(Rmark, G0, Rscratch);
// invert icc.zf and goto done
br_notnull(Rscratch, false, Assembler::pt, done);
delayed()->cmp(G0, G0);
@@ -3440,7 +3098,7 @@ void MacroAssembler::compiler_unlock_object(Register Roop, Register Rmark,
// A prototype implementation showed excellent results, although
// the scavenger and timeout code was rather involved.
- casn(mark_addr.base(), Rbox, Rscratch);
+ cas_ptr(mark_addr.base(), Rbox, Rscratch);
cmp(Rbox, Rscratch);
// Intentional fall through into done ...
@@ -3540,7 +3198,8 @@ void MacroAssembler::eden_allocate(
if (CMSIncrementalMode || !Universe::heap()->supports_inline_contig_alloc()) {
// No allocation in the shared eden.
- ba_short(slow_case);
+ ba(slow_case);
+ delayed()->nop();
} else {
// get eden boundaries
// note: we need both top & top_addr!
@@ -3583,7 +3242,7 @@ void MacroAssembler::eden_allocate(
// Compare obj with the value at top_addr; if still equal, swap the value of
// end with the value at top_addr. If not equal, read the value at top_addr
// into end.
- casx_under_lock(top_addr, obj, end, (address)StubRoutines::Sparc::atomic_memory_operation_lock_addr());
+ cas_ptr(top_addr, obj, end);
// if someone beat us on the allocation, try again, otherwise continue
cmp(obj, end);
brx(Assembler::notEqual, false, Assembler::pn, retry);
diff --git a/hotspot/src/cpu/sparc/vm/macroAssembler_sparc.hpp b/hotspot/src/cpu/sparc/vm/macroAssembler_sparc.hpp
index 26605cbfa4c..72fd61f52c2 100644
--- a/hotspot/src/cpu/sparc/vm/macroAssembler_sparc.hpp
+++ b/hotspot/src/cpu/sparc/vm/macroAssembler_sparc.hpp
@@ -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
@@ -963,7 +963,7 @@ public:
inline void sub(Register s1, RegisterOrConstant s2, Register d, int offset = 0);
using Assembler::swap;
- inline void swap(Address& a, Register d, int offset = 0);
+ inline void swap(const Address& a, Register d, int offset = 0);
// address pseudos: make these names unlike instruction names to avoid confusion
inline intptr_t load_pc_address( Register reg, int bytes_to_skip );
@@ -1056,13 +1056,6 @@ public:
void breakpoint_trap();
void breakpoint_trap(Condition c, CC cc);
- void flush_windows_trap();
- void clean_windows_trap();
- void get_psr_trap();
- void set_psr_trap();
-
- // V8/V9 flush_windows
- void flush_windows();
// Support for serializing memory accesses between threads
void serialize_memory(Register thread, Register tmp1, Register tmp2);
@@ -1071,14 +1064,6 @@ public:
void enter();
void leave();
- // V8/V9 integer multiply
- void mult(Register s1, Register s2, Register d);
- void mult(Register s1, int simm13a, Register d);
-
- // V8/V9 read and write of condition codes.
- void read_ccr(Register d);
- void write_ccr(Register s);
-
// Manipulation of C++ bools
// These are idioms to flag the need for care with accessing bools but on
// this platform we assume byte size
@@ -1162,21 +1147,6 @@ public:
// check_and_forward_exception to handle exceptions when it is safe
void check_and_forward_exception(Register scratch_reg);
- private:
- // For V8
- void read_ccr_trap(Register ccr_save);
- void write_ccr_trap(Register ccr_save1, Register scratch1, Register scratch2);
-
-#ifdef ASSERT
- // For V8 debugging. Uses V8 instruction sequence and checks
- // result with V9 insturctions rdccr and wrccr.
- // Uses Gscatch and Gscatch2
- void read_ccr_v8_assert(Register ccr_save);
- void write_ccr_v8_assert(Register ccr_save);
-#endif // ASSERT
-
- public:
-
// Write to card table for - register is destroyed afterwards.
void card_table_write(jbyte* byte_map_base, Register tmp, Register obj);
@@ -1314,20 +1284,9 @@ public:
FloatRegister Fa, FloatRegister Fb,
Register Rresult);
- void fneg( FloatRegisterImpl::Width w, FloatRegister s, FloatRegister d);
- void fneg( FloatRegisterImpl::Width w, FloatRegister sd ) { Assembler::fneg(w, sd); }
- void fmov( FloatRegisterImpl::Width w, FloatRegister s, FloatRegister d);
- void fabs( FloatRegisterImpl::Width w, FloatRegister s, FloatRegister d);
-
void save_all_globals_into_locals();
void restore_globals_from_locals();
- void casx_under_lock(Register top_ptr_reg, Register top_reg, Register ptr_reg,
- address lock_addr=0, bool use_call_vm=false);
- void cas_under_lock(Register top_ptr_reg, Register top_reg, Register ptr_reg,
- address lock_addr=0, bool use_call_vm=false);
- void casn (Register addr_reg, Register cmp_reg, Register set_reg) ;
-
// These set the icc condition code to equal if the lock succeeded
// and notEqual if it failed and requires a slow case
void compiler_lock_object(Register Roop, Register Rmark, Register Rbox,
diff --git a/hotspot/src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp b/hotspot/src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp
index 871853c684d..125f9a724d7 100644
--- a/hotspot/src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp
+++ b/hotspot/src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp
@@ -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
@@ -229,10 +229,7 @@ inline void MacroAssembler::sll_ptr( Register s1, RegisterOrConstant s2, Registe
// Use the right branch for the platform
inline void MacroAssembler::br( Condition c, bool a, Predict p, address d, relocInfo::relocType rt ) {
- if (VM_Version::v9_instructions_work())
- Assembler::bp(c, a, icc, p, d, rt);
- else
- Assembler::br(c, a, d, rt);
+ Assembler::bp(c, a, icc, p, d, rt);
}
inline void MacroAssembler::br( Condition c, bool a, Predict p, Label& L ) {
@@ -268,10 +265,7 @@ inline void MacroAssembler::bp( Condition c, bool a, CC cc, Predict p, Label& L
}
inline void MacroAssembler::fb( Condition c, bool a, Predict p, address d, relocInfo::relocType rt ) {
- if (VM_Version::v9_instructions_work())
- fbp(c, a, fcc0, p, d, rt);
- else
- Assembler::fb(c, a, d, rt);
+ fbp(c, a, fcc0, p, d, rt);
}
inline void MacroAssembler::fb( Condition c, bool a, Predict p, Label& L ) {
@@ -334,7 +328,7 @@ inline void MacroAssembler::callr( Register s1, int simm13a, RelocationHolder co
// prefetch instruction
inline void MacroAssembler::iprefetch( address d, relocInfo::relocType rt ) {
- if (VM_Version::v9_instructions_work())
+ Assembler::bp( never, true, xcc, pt, d, rt );
Assembler::bp( never, true, xcc, pt, d, rt );
}
inline void MacroAssembler::iprefetch( Label& L) { iprefetch( target(L) ); }
@@ -344,15 +338,7 @@ inline void MacroAssembler::iprefetch( Label& L) { iprefetch( target(L) ); }
// returns delta from gotten pc to addr after
inline int MacroAssembler::get_pc( Register d ) {
int x = offset();
- if (VM_Version::v9_instructions_work())
- rdpc(d);
- else {
- Label lbl;
- Assembler::call(lbl, relocInfo::none); // No relocation as this is call to pc+0x8
- if (d == O7) delayed()->nop();
- else delayed()->mov(O7, d);
- bind(lbl);
- }
+ rdpc(d);
return offset() - x;
}
@@ -646,41 +632,26 @@ inline void MacroAssembler::ldf(FloatRegisterImpl::Width w, const Address& a, Fl
// returns if membar generates anything, obviously this code should mirror
// membar below.
inline bool MacroAssembler::membar_has_effect( Membar_mask_bits const7a ) {
- if( !os::is_MP() ) return false; // Not needed on single CPU
- if( VM_Version::v9_instructions_work() ) {
- const Membar_mask_bits effective_mask =
- Membar_mask_bits(const7a & ~(LoadLoad | LoadStore | StoreStore));
- return (effective_mask != 0);
- } else {
- return true;
- }
+ if (!os::is_MP())
+ return false; // Not needed on single CPU
+ const Membar_mask_bits effective_mask =
+ Membar_mask_bits(const7a & ~(LoadLoad | LoadStore | StoreStore));
+ return (effective_mask != 0);
}
inline void MacroAssembler::membar( Membar_mask_bits const7a ) {
// Uniprocessors do not need memory barriers
- if (!os::is_MP()) return;
+ if (!os::is_MP())
+ return;
// Weakened for current Sparcs and TSO. See the v9 manual, sections 8.4.3,
// 8.4.4.3, a.31 and a.50.
- if( VM_Version::v9_instructions_work() ) {
- // Under TSO, setting bit 3, 2, or 0 is redundant, so the only value
- // of the mmask subfield of const7a that does anything that isn't done
- // implicitly is StoreLoad.
- const Membar_mask_bits effective_mask =
- Membar_mask_bits(const7a & ~(LoadLoad | LoadStore | StoreStore));
- if ( effective_mask != 0 ) {
- Assembler::membar( effective_mask );
- }
- } else {
- // stbar is the closest there is on v8. Equivalent to membar(StoreStore). We
- // do not issue the stbar because to my knowledge all v8 machines implement TSO,
- // which guarantees that all stores behave as if an stbar were issued just after
- // each one of them. On these machines, stbar ought to be a nop. There doesn't
- // appear to be an equivalent of membar(StoreLoad) on v8: TSO doesn't require it,
- // it can't be specified by stbar, nor have I come up with a way to simulate it.
- //
- // Addendum. Dave says that ldstub guarantees a write buffer flush to coherent
- // space. Put one here to be on the safe side.
- Assembler::ldstub(SP, 0, G0);
+ // Under TSO, setting bit 3, 2, or 0 is redundant, so the only value
+ // of the mmask subfield of const7a that does anything that isn't done
+ // implicitly is StoreLoad.
+ const Membar_mask_bits effective_mask =
+ Membar_mask_bits(const7a & ~(LoadLoad | LoadStore | StoreStore));
+ if (effective_mask != 0) {
+ Assembler::membar(effective_mask);
}
}
@@ -748,7 +719,7 @@ inline void MacroAssembler::sub(Register s1, RegisterOrConstant s2, Register d,
if (offset != 0) sub(d, offset, d);
}
-inline void MacroAssembler::swap(Address& a, Register d, int offset) {
+inline void MacroAssembler::swap(const Address& a, Register d, int offset) {
relocate(a.rspec(offset));
if (a.has_index()) { assert(offset == 0, ""); swap(a.base(), a.index(), d ); }
else { swap(a.base(), a.disp() + offset, d); }
diff --git a/hotspot/src/cpu/sparc/vm/nativeInst_sparc.cpp b/hotspot/src/cpu/sparc/vm/nativeInst_sparc.cpp
index 71a938e59fc..81f29d2671b 100644
--- a/hotspot/src/cpu/sparc/vm/nativeInst_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/nativeInst_sparc.cpp
@@ -162,7 +162,7 @@ void NativeCall::replace_mt_safe(address instr_addr, address code_buffer) {
int i1 = ((int*)code_buffer)[1];
int* contention_addr = (int*) n_call->addr_at(1*BytesPerInstWord);
assert(inv_op(*contention_addr) == Assembler::arith_op ||
- *contention_addr == nop_instruction() || !VM_Version::v9_instructions_work(),
+ *contention_addr == nop_instruction(),
"must not interfere with original call");
// The set_long_at calls do the ICacheInvalidate so we just need to do them in reverse order
n_call->set_long_at(1*BytesPerInstWord, i1);
@@ -181,7 +181,7 @@ void NativeCall::replace_mt_safe(address instr_addr, address code_buffer) {
// Make sure the first-patched instruction, which may co-exist
// briefly with the call, will do something harmless.
assert(inv_op(*contention_addr) == Assembler::arith_op ||
- *contention_addr == nop_instruction() || !VM_Version::v9_instructions_work(),
+ *contention_addr == nop_instruction(),
"must not interfere with original call");
}
@@ -933,11 +933,7 @@ void NativeJump::patch_verified_entry(address entry, address verified_entry, add
int code_size = 1 * BytesPerInstWord;
CodeBuffer cb(verified_entry, code_size + 1);
MacroAssembler* a = new MacroAssembler(&cb);
- if (VM_Version::v9_instructions_work()) {
- a->ldsw(G0, 0, O7); // "ld" must agree with code in the signal handler
- } else {
- a->lduw(G0, 0, O7); // "ld" must agree with code in the signal handler
- }
+ a->ldsw(G0, 0, O7); // "ld" must agree with code in the signal handler
ICache::invalidate_range(verified_entry, code_size);
}
@@ -1024,7 +1020,7 @@ void NativeGeneralJump::replace_mt_safe(address instr_addr, address code_buffer)
int i1 = ((int*)code_buffer)[1];
int* contention_addr = (int*) h_jump->addr_at(1*BytesPerInstWord);
assert(inv_op(*contention_addr) == Assembler::arith_op ||
- *contention_addr == nop_instruction() || !VM_Version::v9_instructions_work(),
+ *contention_addr == nop_instruction(),
"must not interfere with original call");
// The set_long_at calls do the ICacheInvalidate so we just need to do them in reverse order
h_jump->set_long_at(1*BytesPerInstWord, i1);
@@ -1043,6 +1039,6 @@ void NativeGeneralJump::replace_mt_safe(address instr_addr, address code_buffer)
// Make sure the first-patched instruction, which may co-exist
// briefly with the call, will do something harmless.
assert(inv_op(*contention_addr) == Assembler::arith_op ||
- *contention_addr == nop_instruction() || !VM_Version::v9_instructions_work(),
+ *contention_addr == nop_instruction(),
"must not interfere with original call");
}
diff --git a/hotspot/src/cpu/sparc/vm/nativeInst_sparc.hpp b/hotspot/src/cpu/sparc/vm/nativeInst_sparc.hpp
index 3c9a5e9b7a7..aa362012dcf 100644
--- a/hotspot/src/cpu/sparc/vm/nativeInst_sparc.hpp
+++ b/hotspot/src/cpu/sparc/vm/nativeInst_sparc.hpp
@@ -70,8 +70,7 @@ class NativeInstruction VALUE_OBJ_CLASS_SPEC {
bool is_zombie() {
int x = long_at(0);
return is_op3(x,
- VM_Version::v9_instructions_work() ?
- Assembler::ldsw_op3 : Assembler::lduw_op3,
+ Assembler::ldsw_op3,
Assembler::ldst_op)
&& Assembler::inv_rs1(x) == G0
&& Assembler::inv_rd(x) == O7;
diff --git a/hotspot/src/cpu/sparc/vm/register_sparc.hpp b/hotspot/src/cpu/sparc/vm/register_sparc.hpp
index 945866e539f..423a424c936 100644
--- a/hotspot/src/cpu/sparc/vm/register_sparc.hpp
+++ b/hotspot/src/cpu/sparc/vm/register_sparc.hpp
@@ -249,12 +249,10 @@ class FloatRegisterImpl: public AbstractRegisterImpl {
case D:
assert(c < 64 && (c & 1) == 0, "bad double float register");
- assert(c < 32 || VM_Version::v9_instructions_work(), "V9 float work only on V9 platform");
return (c & 0x1e) | ((c & 0x20) >> 5);
case Q:
assert(c < 64 && (c & 3) == 0, "bad quad float register");
- assert(c < 32 || VM_Version::v9_instructions_work(), "V9 float work only on V9 platform");
return (c & 0x1c) | ((c & 0x20) >> 5);
}
ShouldNotReachHere();
diff --git a/hotspot/src/cpu/sparc/vm/relocInfo_sparc.cpp b/hotspot/src/cpu/sparc/vm/relocInfo_sparc.cpp
index 2a3516dcf6b..97bd2fcc692 100644
--- a/hotspot/src/cpu/sparc/vm/relocInfo_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/relocInfo_sparc.cpp
@@ -193,36 +193,6 @@ address Relocation::pd_get_address_from_code() {
return *(address*)addr();
}
-
-int Relocation::pd_breakpoint_size() {
- // minimum breakpoint size, in short words
- return NativeIllegalInstruction::instruction_size / sizeof(short);
-}
-
-void Relocation::pd_swap_in_breakpoint(address x, short* instrs, int instrlen) {
- Untested("pd_swap_in_breakpoint");
- // %%% probably do not need a general instrlen; just use the trap size
- if (instrs != NULL) {
- assert(instrlen * sizeof(short) == NativeIllegalInstruction::instruction_size, "enough instrlen in reloc. data");
- for (int i = 0; i < instrlen; i++) {
- instrs[i] = ((short*)x)[i];
- }
- }
- NativeIllegalInstruction::insert(x);
-}
-
-
-void Relocation::pd_swap_out_breakpoint(address x, short* instrs, int instrlen) {
- Untested("pd_swap_out_breakpoint");
- assert(instrlen * sizeof(short) == sizeof(int), "enough buf");
- union { int l; short s[1]; } u;
- for (int i = 0; i < instrlen; i++) {
- u.s[i] = instrs[i];
- }
- NativeInstruction* ni = nativeInstruction_at(x);
- ni->set_long_at(0, u.l);
-}
-
void poll_Relocation::fix_relocation_after_move(const CodeBuffer* src, CodeBuffer* dest) {
}
diff --git a/hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp b/hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp
index b6a338c34ee..3149dbd76d2 100644
--- a/hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp
@@ -2459,7 +2459,7 @@ nmethod* SharedRuntime::generate_native_wrapper(MacroAssembler* masm,
// Finally just about ready to make the JNI call
- __ flush_windows();
+ __ flushw();
if (inner_frame_created) {
__ restore();
} else {
diff --git a/hotspot/src/cpu/sparc/vm/sparc.ad b/hotspot/src/cpu/sparc/vm/sparc.ad
index ebbce2e7741..932da4a5930 100644
--- a/hotspot/src/cpu/sparc/vm/sparc.ad
+++ b/hotspot/src/cpu/sparc/vm/sparc.ad
@@ -2778,10 +2778,7 @@ enc_class Fast_Unlock(iRegP oop, iRegP box, o7RegP scratch, iRegP scratch2) %{
Register Rold = reg_to_register_object($old$$reg);
Register Rnew = reg_to_register_object($new$$reg);
- // casx_under_lock picks 1 of 3 encodings:
- // For 32-bit pointers you get a 32-bit CAS
- // For 64-bit pointers you get a 64-bit CASX
- __ casn(Rmem, Rold, Rnew); // Swap(*Rmem,Rnew) if *Rmem == Rold
+ __ cas_ptr(Rmem, Rold, Rnew); // Swap(*Rmem,Rnew) if *Rmem == Rold
__ cmp( Rold, Rnew );
%}
@@ -3067,7 +3064,7 @@ enc_class enc_Array_Equals(o0RegP ary1, o1RegP ary2, g3RegP tmp1, notemp_iRegI r
AddressLiteral last_rethrow_addrlit(&last_rethrow);
__ sethi(last_rethrow_addrlit, L1);
Address addr(L1, last_rethrow_addrlit.low10());
- __ get_pc(L2);
+ __ rdpc(L2);
__ inc(L2, 3 * BytesPerInstWord); // skip this & 2 more insns to point at jump_to
__ st_ptr(L2, addr);
__ restore();
diff --git a/hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp b/hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp
index 3cd4ff2d3f5..494c1bc405a 100644
--- a/hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp
@@ -566,7 +566,7 @@ class StubGenerator: public StubCodeGenerator {
StubCodeMark mark(this, "StubRoutines", "flush_callers_register_windows");
address start = __ pc();
- __ flush_windows();
+ __ flushw();
__ retl(false);
__ delayed()->add( FP, STACK_BIAS, O0 );
// The returned value must be a stack pointer whose register save area
@@ -575,67 +575,9 @@ class StubGenerator: public StubCodeGenerator {
return start;
}
- // Helper functions for v8 atomic operations.
- //
- void get_v8_oop_lock_ptr(Register lock_ptr_reg, Register mark_oop_reg, Register scratch_reg) {
- if (mark_oop_reg == noreg) {
- address lock_ptr = (address)StubRoutines::Sparc::atomic_memory_operation_lock_addr();
- __ set((intptr_t)lock_ptr, lock_ptr_reg);
- } else {
- assert(scratch_reg != noreg, "just checking");
- address lock_ptr = (address)StubRoutines::Sparc::_v8_oop_lock_cache;
- __ set((intptr_t)lock_ptr, lock_ptr_reg);
- __ and3(mark_oop_reg, StubRoutines::Sparc::v8_oop_lock_mask_in_place, scratch_reg);
- __ add(lock_ptr_reg, scratch_reg, lock_ptr_reg);
- }
- }
-
- void generate_v8_lock_prologue(Register lock_reg, Register lock_ptr_reg, Register yield_reg, Label& retry, Label& dontyield, Register mark_oop_reg = noreg, Register scratch_reg = noreg) {
-
- get_v8_oop_lock_ptr(lock_ptr_reg, mark_oop_reg, scratch_reg);
- __ set(StubRoutines::Sparc::locked, lock_reg);
- // Initialize yield counter
- __ mov(G0,yield_reg);
-
- __ BIND(retry);
- __ cmp_and_br_short(yield_reg, V8AtomicOperationUnderLockSpinCount, Assembler::less, Assembler::pt, dontyield);
-
- // This code can only be called from inside the VM, this
- // stub is only invoked from Atomic::add(). We do not
- // want to use call_VM, because _last_java_sp and such
- // must already be set.
- //
- // Save the regs and make space for a C call
- __ save(SP, -96, SP);
- __ save_all_globals_into_locals();
- BLOCK_COMMENT("call os::naked_sleep");
- __ call(CAST_FROM_FN_PTR(address, os::naked_sleep));
- __ delayed()->nop();
- __ restore_globals_from_locals();
- __ restore();
- // reset the counter
- __ mov(G0,yield_reg);
-
- __ BIND(dontyield);
-
- // try to get lock
- __ swap(lock_ptr_reg, 0, lock_reg);
-
- // did we get the lock?
- __ cmp(lock_reg, StubRoutines::Sparc::unlocked);
- __ br(Assembler::notEqual, true, Assembler::pn, retry);
- __ delayed()->add(yield_reg,1,yield_reg);
-
- // yes, got lock. do the operation here.
- }
-
- void generate_v8_lock_epilogue(Register lock_reg, Register lock_ptr_reg, Register yield_reg, Label& retry, Label& dontyield, Register mark_oop_reg = noreg, Register scratch_reg = noreg) {
- __ st(lock_reg, lock_ptr_reg, 0); // unlock
- }
-
// Support for jint Atomic::xchg(jint exchange_value, volatile jint* dest).
//
- // Arguments :
+ // Arguments:
//
// exchange_value: O0
// dest: O1
@@ -656,33 +598,14 @@ class StubGenerator: public StubCodeGenerator {
__ mov(O0, O3); // scratch copy of exchange value
__ ld(O1, 0, O2); // observe the previous value
// try to replace O2 with O3
- __ cas_under_lock(O1, O2, O3,
- (address)StubRoutines::Sparc::atomic_memory_operation_lock_addr(),false);
+ __ cas(O1, O2, O3);
__ cmp_and_br_short(O2, O3, Assembler::notEqual, Assembler::pn, retry);
__ retl(false);
__ delayed()->mov(O2, O0); // report previous value to caller
-
} else {
- if (VM_Version::v9_instructions_work()) {
- __ retl(false);
- __ delayed()->swap(O1, 0, O0);
- } else {
- const Register& lock_reg = O2;
- const Register& lock_ptr_reg = O3;
- const Register& yield_reg = O4;
-
- Label retry;
- Label dontyield;
-
- generate_v8_lock_prologue(lock_reg, lock_ptr_reg, yield_reg, retry, dontyield);
- // got the lock, do the swap
- __ swap(O1, 0, O0);
-
- generate_v8_lock_epilogue(lock_reg, lock_ptr_reg, yield_reg, retry, dontyield);
- __ retl(false);
- __ delayed()->nop();
- }
+ __ retl(false);
+ __ delayed()->swap(O1, 0, O0);
}
return start;
@@ -691,7 +614,7 @@ class StubGenerator: public StubCodeGenerator {
// Support for jint Atomic::cmpxchg(jint exchange_value, volatile jint* dest, jint compare_value)
//
- // Arguments :
+ // Arguments:
//
// exchange_value: O0
// dest: O1
@@ -701,15 +624,12 @@ class StubGenerator: public StubCodeGenerator {
//
// O0: the value previously stored in dest
//
- // Overwrites (v8): O3,O4,O5
- //
address generate_atomic_cmpxchg() {
StubCodeMark mark(this, "StubRoutines", "atomic_cmpxchg");
address start = __ pc();
// cmpxchg(dest, compare_value, exchange_value)
- __ cas_under_lock(O1, O2, O0,
- (address)StubRoutines::Sparc::atomic_memory_operation_lock_addr(),false);
+ __ cas(O1, O2, O0);
__ retl(false);
__ delayed()->nop();
@@ -718,7 +638,7 @@ class StubGenerator: public StubCodeGenerator {
// Support for jlong Atomic::cmpxchg(jlong exchange_value, volatile jlong *dest, jlong compare_value)
//
- // Arguments :
+ // Arguments:
//
// exchange_value: O1:O0
// dest: O2
@@ -728,17 +648,12 @@ class StubGenerator: public StubCodeGenerator {
//
// O1:O0: the value previously stored in dest
//
- // This only works on V9, on V8 we don't generate any
- // code and just return NULL.
- //
// Overwrites: G1,G2,G3
//
address generate_atomic_cmpxchg_long() {
StubCodeMark mark(this, "StubRoutines", "atomic_cmpxchg_long");
address start = __ pc();
- if (!VM_Version::supports_cx8())
- return NULL;;
__ sllx(O0, 32, O0);
__ srl(O1, 0, O1);
__ or3(O0,O1,O0); // O0 holds 64-bit value from compare_value
@@ -756,7 +671,7 @@ class StubGenerator: public StubCodeGenerator {
// Support for jint Atomic::add(jint add_value, volatile jint* dest).
//
- // Arguments :
+ // Arguments:
//
// add_value: O0 (e.g., +1 or -1)
// dest: O1
@@ -765,47 +680,22 @@ class StubGenerator: public StubCodeGenerator {
//
// O0: the new value stored in dest
//
- // Overwrites (v9): O3
- // Overwrites (v8): O3,O4,O5
+ // Overwrites: O3
//
address generate_atomic_add() {
StubCodeMark mark(this, "StubRoutines", "atomic_add");
address start = __ pc();
__ BIND(_atomic_add_stub);
- if (VM_Version::v9_instructions_work()) {
- Label(retry);
- __ BIND(retry);
+ Label(retry);
+ __ BIND(retry);
- __ lduw(O1, 0, O2);
- __ add(O0, O2, O3);
- __ cas(O1, O2, O3);
- __ cmp_and_br_short(O2, O3, Assembler::notEqual, Assembler::pn, retry);
- __ retl(false);
- __ delayed()->add(O0, O2, O0); // note that cas made O2==O3
- } else {
- const Register& lock_reg = O2;
- const Register& lock_ptr_reg = O3;
- const Register& value_reg = O4;
- const Register& yield_reg = O5;
-
- Label(retry);
- Label(dontyield);
-
- generate_v8_lock_prologue(lock_reg, lock_ptr_reg, yield_reg, retry, dontyield);
- // got lock, do the increment
- __ ld(O1, 0, value_reg);
- __ add(O0, value_reg, value_reg);
- __ st(value_reg, O1, 0);
-
- // %%% only for RMO and PSO
- __ membar(Assembler::StoreStore);
-
- generate_v8_lock_epilogue(lock_reg, lock_ptr_reg, yield_reg, retry, dontyield);
-
- __ retl(false);
- __ delayed()->mov(value_reg, O0);
- }
+ __ lduw(O1, 0, O2);
+ __ add(O0, O2, O3);
+ __ cas(O1, O2, O3);
+ __ cmp_and_br_short(O2, O3, Assembler::notEqual, Assembler::pn, retry);
+ __ retl(false);
+ __ delayed()->add(O0, O2, O0); // note that cas made O2==O3
return start;
}
@@ -841,7 +731,7 @@ class StubGenerator: public StubCodeGenerator {
__ mov(G3, L3);
__ mov(G4, L4);
__ mov(G5, L5);
- for (i = 0; i < (VM_Version::v9_instructions_work() ? 64 : 32); i += 2) {
+ for (i = 0; i < 64; i += 2) {
__ stf(FloatRegisterImpl::D, as_FloatRegister(i), preserve_addr, i * wordSize);
}
@@ -855,7 +745,7 @@ class StubGenerator: public StubCodeGenerator {
__ mov(L3, G3);
__ mov(L4, G4);
__ mov(L5, G5);
- for (i = 0; i < (VM_Version::v9_instructions_work() ? 64 : 32); i += 2) {
+ for (i = 0; i < 64; i += 2) {
__ ldf(FloatRegisterImpl::D, preserve_addr, as_FloatRegister(i), i * wordSize);
}
diff --git a/hotspot/src/cpu/sparc/vm/stubRoutines_sparc.cpp b/hotspot/src/cpu/sparc/vm/stubRoutines_sparc.cpp
index 3a544be2e16..da9e9040683 100644
--- a/hotspot/src/cpu/sparc/vm/stubRoutines_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/stubRoutines_sparc.cpp
@@ -52,7 +52,3 @@ address StubRoutines::Sparc::_stop_subroutine_entry = NULL;
address StubRoutines::Sparc::_flush_callers_register_windows_entry = CAST_FROM_FN_PTR(address, bootstrap_flush_windows);
address StubRoutines::Sparc::_partial_subtype_check = NULL;
-
-int StubRoutines::Sparc::_atomic_memory_operation_lock = StubRoutines::Sparc::unlocked;
-
-int StubRoutines::Sparc::_v8_oop_lock_cache[StubRoutines::Sparc::nof_v8_oop_lock_cache_entries];
diff --git a/hotspot/src/cpu/sparc/vm/stubRoutines_sparc.hpp b/hotspot/src/cpu/sparc/vm/stubRoutines_sparc.hpp
index b0a24306295..1b23479a1f9 100644
--- a/hotspot/src/cpu/sparc/vm/stubRoutines_sparc.hpp
+++ b/hotspot/src/cpu/sparc/vm/stubRoutines_sparc.hpp
@@ -47,46 +47,14 @@ enum /* platform_dependent_constants */ {
class Sparc {
friend class StubGenerator;
- public:
- enum { nof_instance_allocators = 10 };
-
- // allocator lock values
- enum {
- unlocked = 0,
- locked = 1
- };
-
- enum {
- v8_oop_lock_ignore_bits = 2,
- v8_oop_lock_bits = 4,
- nof_v8_oop_lock_cache_entries = 1 << (v8_oop_lock_bits+v8_oop_lock_ignore_bits),
- v8_oop_lock_mask = right_n_bits(v8_oop_lock_bits),
- v8_oop_lock_mask_in_place = v8_oop_lock_mask << v8_oop_lock_ignore_bits
- };
-
- static int _v8_oop_lock_cache[nof_v8_oop_lock_cache_entries];
-
private:
static address _test_stop_entry;
static address _stop_subroutine_entry;
static address _flush_callers_register_windows_entry;
- static int _atomic_memory_operation_lock;
-
static address _partial_subtype_check;
public:
- // %%% global lock for everyone who needs to use atomic_compare_and_exchange
- // %%% or atomic_increment -- should probably use more locks for more
- // %%% scalability-- for instance one for each eden space or group of
-
- // address of the lock for atomic_compare_and_exchange
- static int* atomic_memory_operation_lock_addr() { return &_atomic_memory_operation_lock; }
-
- // accessor and mutator for _atomic_memory_operation_lock
- static int atomic_memory_operation_lock() { return _atomic_memory_operation_lock; }
- static void set_atomic_memory_operation_lock(int value) { _atomic_memory_operation_lock = value; }
-
// test assembler stop routine by setting registers
static void (*test_stop_entry()) () { return CAST_TO_FN_PTR(void (*)(void), _test_stop_entry); }
diff --git a/hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp b/hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp
index 135760ec0b4..7b9a494dff0 100644
--- a/hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp
@@ -1054,7 +1054,7 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) {
// flush the windows now. We don't care about the current (protection) frame
// only the outer frames
- __ flush_windows();
+ __ flushw();
// mark windows as flushed
Address flags(G2_thread, JavaThread::frame_anchor_offset() + JavaFrameAnchor::flags_offset());
diff --git a/hotspot/src/cpu/sparc/vm/templateTable_sparc.cpp b/hotspot/src/cpu/sparc/vm/templateTable_sparc.cpp
index 00d1079742b..c3e8b298d6e 100644
--- a/hotspot/src/cpu/sparc/vm/templateTable_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/templateTable_sparc.cpp
@@ -1338,14 +1338,13 @@ void TemplateTable::lneg() {
void TemplateTable::fneg() {
transition(ftos, ftos);
- __ fneg(FloatRegisterImpl::S, Ftos_f);
+ __ fneg(FloatRegisterImpl::S, Ftos_f, Ftos_f);
}
void TemplateTable::dneg() {
transition(dtos, dtos);
- // v8 has fnegd if source and dest are the same
- __ fneg(FloatRegisterImpl::D, Ftos_f);
+ __ fneg(FloatRegisterImpl::D, Ftos_f, Ftos_f);
}
@@ -1470,19 +1469,10 @@ void TemplateTable::convert() {
__ st_long(Otos_l, __ d_tmp);
__ ldf(FloatRegisterImpl::D, __ d_tmp, Ftos_d);
- if (VM_Version::v9_instructions_work()) {
- if (bytecode() == Bytecodes::_l2f) {
- __ fxtof(FloatRegisterImpl::S, Ftos_d, Ftos_f);
- } else {
- __ fxtof(FloatRegisterImpl::D, Ftos_d, Ftos_d);
- }
+ if (bytecode() == Bytecodes::_l2f) {
+ __ fxtof(FloatRegisterImpl::S, Ftos_d, Ftos_f);
} else {
- __ call_VM_leaf(
- Lscratch,
- bytecode() == Bytecodes::_l2f
- ? CAST_FROM_FN_PTR(address, SharedRuntime::l2f)
- : CAST_FROM_FN_PTR(address, SharedRuntime::l2d)
- );
+ __ fxtof(FloatRegisterImpl::D, Ftos_d, Ftos_d);
}
break;
@@ -1490,11 +1480,6 @@ void TemplateTable::convert() {
Label isNaN;
// result must be 0 if value is NaN; test by comparing value to itself
__ fcmp(FloatRegisterImpl::S, Assembler::fcc0, Ftos_f, Ftos_f);
- // According to the v8 manual, you have to have a non-fp instruction
- // between fcmp and fb.
- if (!VM_Version::v9_instructions_work()) {
- __ nop();
- }
__ fb(Assembler::f_unordered, true, Assembler::pn, isNaN);
__ delayed()->clr(Otos_i); // NaN
__ ftoi(FloatRegisterImpl::S, Ftos_f, F30);
@@ -1537,16 +1522,7 @@ void TemplateTable::convert() {
break;
case Bytecodes::_d2f:
- if (VM_Version::v9_instructions_work()) {
__ ftof( FloatRegisterImpl::D, FloatRegisterImpl::S, Ftos_d, Ftos_f);
- }
- else {
- // must uncache tos
- __ push_d();
- __ pop_i(O0);
- __ pop_i(O1);
- __ call_VM_leaf(Lscratch, CAST_FROM_FN_PTR(address, SharedRuntime::d2f));
- }
break;
default: ShouldNotReachHere();
@@ -1956,17 +1932,8 @@ void TemplateTable::fast_binaryswitch() {
__ ld( Rarray, Rscratch, Rscratch );
// (Rscratch is already in the native byte-ordering.)
__ cmp( Rkey, Rscratch );
- if ( VM_Version::v9_instructions_work() ) {
- __ movcc( Assembler::less, false, Assembler::icc, Rh, Rj ); // j = h if (key < array[h].fast_match())
- __ movcc( Assembler::greaterEqual, false, Assembler::icc, Rh, Ri ); // i = h if (key >= array[h].fast_match())
- }
- else {
- Label end_of_if;
- __ br( Assembler::less, true, Assembler::pt, end_of_if );
- __ delayed()->mov( Rh, Rj ); // if (<) Rj = Rh
- __ mov( Rh, Ri ); // else i = h
- __ bind(end_of_if); // }
- }
+ __ movcc( Assembler::less, false, Assembler::icc, Rh, Rj ); // j = h if (key < array[h].fast_match())
+ __ movcc( Assembler::greaterEqual, false, Assembler::icc, Rh, Ri ); // i = h if (key >= array[h].fast_match())
// while (i+1 < j)
__ bind( entry );
@@ -3418,9 +3385,7 @@ void TemplateTable::_new() {
// has been allocated.
__ cmp_and_brx_short(RnewTopValue, RendValue, Assembler::greaterUnsigned, Assembler::pn, slow_case);
- __ casx_under_lock(RtopAddr, RoldTopValue, RnewTopValue,
- VM_Version::v9_instructions_work() ? NULL :
- (address)StubRoutines::Sparc::atomic_memory_operation_lock_addr());
+ __ cas_ptr(RtopAddr, RoldTopValue, RnewTopValue);
// if someone beat us on the allocation, try again, otherwise continue
__ cmp_and_brx_short(RoldTopValue, RnewTopValue, Assembler::notEqual, Assembler::pn, retry);
@@ -3701,14 +3666,7 @@ void TemplateTable::monitorenter() {
__ verify_oop(O4); // verify each monitor's oop
__ tst(O4); // is this entry unused?
- if (VM_Version::v9_instructions_work())
- __ movcc( Assembler::zero, false, Assembler::ptr_cc, O3, O1);
- else {
- Label L;
- __ br( Assembler::zero, true, Assembler::pn, L );
- __ delayed()->mov(O3, O1); // rememeber this one if match
- __ bind(L);
- }
+ __ movcc( Assembler::zero, false, Assembler::ptr_cc, O3, O1);
__ cmp(O4, O0); // check if current entry is for same object
__ brx( Assembler::equal, false, Assembler::pn, exit );
diff --git a/hotspot/src/cpu/sparc/vm/vm_version_sparc.cpp b/hotspot/src/cpu/sparc/vm/vm_version_sparc.cpp
index 03670106924..392b7f5d927 100644
--- a/hotspot/src/cpu/sparc/vm/vm_version_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/vm_version_sparc.cpp
@@ -75,23 +75,14 @@ void VM_Version::initialize() {
FLAG_SET_DEFAULT(AllocatePrefetchStyle, 1);
}
- if (has_v9()) {
- assert(ArraycopySrcPrefetchDistance < 4096, "invalid value");
- if (ArraycopySrcPrefetchDistance >= 4096)
- ArraycopySrcPrefetchDistance = 4064;
- assert(ArraycopyDstPrefetchDistance < 4096, "invalid value");
- if (ArraycopyDstPrefetchDistance >= 4096)
- ArraycopyDstPrefetchDistance = 4064;
- } else {
- if (ArraycopySrcPrefetchDistance > 0) {
- warning("prefetch instructions are not available on this CPU");
- FLAG_SET_DEFAULT(ArraycopySrcPrefetchDistance, 0);
- }
- if (ArraycopyDstPrefetchDistance > 0) {
- warning("prefetch instructions are not available on this CPU");
- FLAG_SET_DEFAULT(ArraycopyDstPrefetchDistance, 0);
- }
- }
+ guarantee(VM_Version::has_v9(), "only SPARC v9 is supported");
+
+ assert(ArraycopySrcPrefetchDistance < 4096, "invalid value");
+ if (ArraycopySrcPrefetchDistance >= 4096)
+ ArraycopySrcPrefetchDistance = 4064;
+ assert(ArraycopyDstPrefetchDistance < 4096, "invalid value");
+ if (ArraycopyDstPrefetchDistance >= 4096)
+ ArraycopyDstPrefetchDistance = 4064;
UseSSE = 0; // Only on x86 and x64
diff --git a/hotspot/src/cpu/sparc/vm/vm_version_sparc.hpp b/hotspot/src/cpu/sparc/vm/vm_version_sparc.hpp
index d602fd08cfb..f4cc8bf56b3 100644
--- a/hotspot/src/cpu/sparc/vm/vm_version_sparc.hpp
+++ b/hotspot/src/cpu/sparc/vm/vm_version_sparc.hpp
@@ -177,10 +177,6 @@ public:
return AllocatePrefetchDistance > 0 ? AllocatePrefetchStyle : 0;
}
- // Legacy
- static bool v8_instructions_work() { return has_v8() && !has_v9(); }
- static bool v9_instructions_work() { return has_v9(); }
-
// Assembler testing
static void allow_all();
static void revert();
diff --git a/hotspot/src/cpu/x86/vm/assembler_x86.cpp b/hotspot/src/cpu/x86/vm/assembler_x86.cpp
index 02a438f2f40..761b5c3259f 100644
--- a/hotspot/src/cpu/x86/vm/assembler_x86.cpp
+++ b/hotspot/src/cpu/x86/vm/assembler_x86.cpp
@@ -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
@@ -1673,6 +1673,11 @@ void Assembler::movdqa(XMMRegister dst, XMMRegister src) {
emit_simd_arith_nonds(0x6F, dst, src, VEX_SIMD_66);
}
+void Assembler::movdqa(XMMRegister dst, Address src) {
+ NOT_LP64(assert(VM_Version::supports_sse2(), ""));
+ emit_simd_arith_nonds(0x6F, dst, src, VEX_SIMD_66);
+}
+
void Assembler::movdqu(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
emit_simd_arith_nonds(0x6F, dst, src, VEX_SIMD_F3);
@@ -2286,6 +2291,38 @@ void Assembler::pcmpestri(XMMRegister dst, XMMRegister src, int imm8) {
emit_int8(imm8);
}
+void Assembler::pextrd(Register dst, XMMRegister src, int imm8) {
+ assert(VM_Version::supports_sse4_1(), "");
+ int encode = simd_prefix_and_encode(as_XMMRegister(dst->encoding()), xnoreg, src, VEX_SIMD_66, VEX_OPCODE_0F_3A, false);
+ emit_int8(0x16);
+ emit_int8((unsigned char)(0xC0 | encode));
+ emit_int8(imm8);
+}
+
+void Assembler::pextrq(Register dst, XMMRegister src, int imm8) {
+ assert(VM_Version::supports_sse4_1(), "");
+ int encode = simd_prefix_and_encode(as_XMMRegister(dst->encoding()), xnoreg, src, VEX_SIMD_66, VEX_OPCODE_0F_3A, true);
+ emit_int8(0x16);
+ emit_int8((unsigned char)(0xC0 | encode));
+ emit_int8(imm8);
+}
+
+void Assembler::pinsrd(XMMRegister dst, Register src, int imm8) {
+ assert(VM_Version::supports_sse4_1(), "");
+ int encode = simd_prefix_and_encode(dst, dst, as_XMMRegister(src->encoding()), VEX_SIMD_66, VEX_OPCODE_0F_3A, false);
+ emit_int8(0x22);
+ emit_int8((unsigned char)(0xC0 | encode));
+ emit_int8(imm8);
+}
+
+void Assembler::pinsrq(XMMRegister dst, Register src, int imm8) {
+ assert(VM_Version::supports_sse4_1(), "");
+ int encode = simd_prefix_and_encode(dst, dst, as_XMMRegister(src->encoding()), VEX_SIMD_66, VEX_OPCODE_0F_3A, true);
+ emit_int8(0x22);
+ emit_int8((unsigned char)(0xC0 | encode));
+ emit_int8(imm8);
+}
+
void Assembler::pmovzxbw(XMMRegister dst, Address src) {
assert(VM_Version::supports_sse4_1(), "");
InstructionMark im(this);
@@ -3691,6 +3728,16 @@ void Assembler::vpbroadcastd(XMMRegister dst, XMMRegister src) {
emit_int8((unsigned char)(0xC0 | encode));
}
+// Carry-Less Multiplication Quadword
+void Assembler::vpclmulqdq(XMMRegister dst, XMMRegister nds, XMMRegister src, int mask) {
+ assert(VM_Version::supports_avx() && VM_Version::supports_clmul(), "");
+ bool vector256 = false;
+ int encode = vex_prefix_and_encode(dst, nds, src, VEX_SIMD_66, vector256, VEX_OPCODE_0F_3A);
+ emit_int8(0x44);
+ emit_int8((unsigned char)(0xC0 | encode));
+ emit_int8((unsigned char)mask);
+}
+
void Assembler::vzeroupper() {
assert(VM_Version::supports_avx(), "");
(void)vex_prefix_and_encode(xmm0, xmm0, xmm0, VEX_SIMD_NONE);
diff --git a/hotspot/src/cpu/x86/vm/assembler_x86.hpp b/hotspot/src/cpu/x86/vm/assembler_x86.hpp
index 97a5bfc0368..31481b5808f 100644
--- a/hotspot/src/cpu/x86/vm/assembler_x86.hpp
+++ b/hotspot/src/cpu/x86/vm/assembler_x86.hpp
@@ -1266,6 +1266,7 @@ private:
// Move Aligned Double Quadword
void movdqa(XMMRegister dst, XMMRegister src);
+ void movdqa(XMMRegister dst, Address src);
// Move Unaligned Double Quadword
void movdqu(Address dst, XMMRegister src);
@@ -1404,6 +1405,14 @@ private:
void pcmpestri(XMMRegister xmm1, XMMRegister xmm2, int imm8);
void pcmpestri(XMMRegister xmm1, Address src, int imm8);
+ // SSE 4.1 extract
+ void pextrd(Register dst, XMMRegister src, int imm8);
+ void pextrq(Register dst, XMMRegister src, int imm8);
+
+ // SSE 4.1 insert
+ void pinsrd(XMMRegister dst, Register src, int imm8);
+ void pinsrq(XMMRegister dst, Register src, int imm8);
+
// SSE4.1 packed move
void pmovzxbw(XMMRegister dst, XMMRegister src);
void pmovzxbw(XMMRegister dst, Address src);
@@ -1764,6 +1773,9 @@ private:
// duplicate 4-bytes integer data from src into 8 locations in dest
void vpbroadcastd(XMMRegister dst, XMMRegister src);
+ // Carry-Less Multiplication Quadword
+ void vpclmulqdq(XMMRegister dst, XMMRegister nds, XMMRegister src, int mask);
+
// AVX instruction which is used to clear upper 128 bits of YMM registers and
// to avoid transaction penalty between AVX and SSE states. There is no
// penalty if legacy SSE instructions are encoded using VEX prefix because
diff --git a/hotspot/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp b/hotspot/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp
index a99d7939373..b5bceeb60c6 100644
--- a/hotspot/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp
+++ b/hotspot/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -3512,6 +3512,22 @@ void LIR_Assembler::emit_arraycopy(LIR_OpArrayCopy* op) {
__ bind(*stub->continuation());
}
+void LIR_Assembler::emit_updatecrc32(LIR_OpUpdateCRC32* op) {
+ assert(op->crc()->is_single_cpu(), "crc must be register");
+ assert(op->val()->is_single_cpu(), "byte value must be register");
+ assert(op->result_opr()->is_single_cpu(), "result must be register");
+ Register crc = op->crc()->as_register();
+ Register val = op->val()->as_register();
+ Register res = op->result_opr()->as_register();
+
+ assert_different_registers(val, crc, res);
+
+ __ lea(res, ExternalAddress(StubRoutines::crc_table_addr()));
+ __ notl(crc); // ~crc
+ __ update_byte_crc32(crc, val, res);
+ __ notl(crc); // ~crc
+ __ mov(res, crc);
+}
void LIR_Assembler::emit_lock(LIR_OpLock* op) {
Register obj = op->obj_opr()->as_register(); // may not be an oop
diff --git a/hotspot/src/cpu/x86/vm/c1_LIRGenerator_x86.cpp b/hotspot/src/cpu/x86/vm/c1_LIRGenerator_x86.cpp
index 6810ae54216..e6638581bcf 100644
--- a/hotspot/src/cpu/x86/vm/c1_LIRGenerator_x86.cpp
+++ b/hotspot/src/cpu/x86/vm/c1_LIRGenerator_x86.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2012, 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
@@ -932,6 +932,81 @@ void LIRGenerator::do_ArrayCopy(Intrinsic* x) {
__ arraycopy(src.result(), src_pos.result(), dst.result(), dst_pos.result(), length.result(), tmp, expected_type, flags, info); // does add_safepoint
}
+void LIRGenerator::do_update_CRC32(Intrinsic* x) {
+ assert(UseCRC32Intrinsics, "need AVX and LCMUL instructions support");
+ // Make all state_for calls early since they can emit code
+ LIR_Opr result = rlock_result(x);
+ int flags = 0;
+ switch (x->id()) {
+ case vmIntrinsics::_updateCRC32: {
+ LIRItem crc(x->argument_at(0), this);
+ LIRItem val(x->argument_at(1), this);
+ crc.load_item();
+ val.load_item();
+ __ update_crc32(crc.result(), val.result(), result);
+ break;
+ }
+ case vmIntrinsics::_updateBytesCRC32:
+ case vmIntrinsics::_updateByteBufferCRC32: {
+ bool is_updateBytes = (x->id() == vmIntrinsics::_updateBytesCRC32);
+
+ LIRItem crc(x->argument_at(0), this);
+ LIRItem buf(x->argument_at(1), this);
+ LIRItem off(x->argument_at(2), this);
+ LIRItem len(x->argument_at(3), this);
+ buf.load_item();
+ off.load_nonconstant();
+
+ LIR_Opr index = off.result();
+ int offset = is_updateBytes ? arrayOopDesc::base_offset_in_bytes(T_BYTE) : 0;
+ if(off.result()->is_constant()) {
+ index = LIR_OprFact::illegalOpr;
+ offset += off.result()->as_jint();
+ }
+ LIR_Opr base_op = buf.result();
+
+#ifndef _LP64
+ if (!is_updateBytes) { // long b raw address
+ base_op = new_register(T_INT);
+ __ convert(Bytecodes::_l2i, buf.result(), base_op);
+ }
+#else
+ if (index->is_valid()) {
+ LIR_Opr tmp = new_register(T_LONG);
+ __ convert(Bytecodes::_i2l, index, tmp);
+ index = tmp;
+ }
+#endif
+
+ LIR_Address* a = new LIR_Address(base_op,
+ index,
+ LIR_Address::times_1,
+ offset,
+ T_BYTE);
+ BasicTypeList signature(3);
+ signature.append(T_INT);
+ signature.append(T_ADDRESS);
+ signature.append(T_INT);
+ CallingConvention* cc = frame_map()->c_calling_convention(&signature);
+ const LIR_Opr result_reg = result_register_for(x->type());
+
+ LIR_Opr addr = new_pointer_register();
+ __ leal(LIR_OprFact::address(a), addr);
+
+ crc.load_item_force(cc->at(0));
+ __ move(addr, cc->at(1));
+ len.load_item_force(cc->at(2));
+
+ __ call_runtime_leaf(StubRoutines::updateBytesCRC32(), getThreadTemp(), result_reg, cc->args());
+ __ move(result_reg, result);
+
+ break;
+ }
+ default: {
+ ShouldNotReachHere();
+ }
+ }
+}
// _i2l, _i2f, _i2d, _l2i, _l2f, _l2d, _f2i, _f2l, _f2d, _d2i, _d2l, _d2f
// _i2b, _i2c, _i2s
diff --git a/hotspot/src/cpu/x86/vm/c1_globals_x86.hpp b/hotspot/src/cpu/x86/vm/c1_globals_x86.hpp
index 98e02b16cd0..13f3df82c29 100644
--- a/hotspot/src/cpu/x86/vm/c1_globals_x86.hpp
+++ b/hotspot/src/cpu/x86/vm/c1_globals_x86.hpp
@@ -50,8 +50,9 @@ define_pd_global(intx, InitialCodeCacheSize, 160*K);
define_pd_global(intx, ReservedCodeCacheSize, 32*M );
define_pd_global(bool, ProfileInterpreter, false);
define_pd_global(intx, CodeCacheExpansionSize, 32*K );
-define_pd_global(uintx,CodeCacheMinBlockLength, 1);
-define_pd_global(uintx,MetaspaceSize, 12*M );
+define_pd_global(uintx, CodeCacheMinBlockLength, 1);
+define_pd_global(uintx, CodeCacheMinimumUseSpace, 400*K);
+define_pd_global(uintx, MetaspaceSize, 12*M );
define_pd_global(bool, NeverActAsServerClassMachine, true );
define_pd_global(uint64_t,MaxRAM, 1ULL*G);
define_pd_global(bool, CICompileOSR, true );
diff --git a/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp b/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp
index f63b8c46d58..ce92123e818 100644
--- a/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp
+++ b/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp
@@ -85,7 +85,8 @@ define_pd_global(bool, OptoScheduling, false);
define_pd_global(bool, OptoBundling, false);
define_pd_global(intx, ReservedCodeCacheSize, 48*M);
-define_pd_global(uintx,CodeCacheMinBlockLength, 4);
+define_pd_global(uintx, CodeCacheMinBlockLength, 4);
+define_pd_global(uintx, CodeCacheMinimumUseSpace, 400*K);
// Heap related flags
define_pd_global(uintx,MetaspaceSize, ScaleForWordSize(16*M));
diff --git a/hotspot/src/cpu/x86/vm/frame_x86.cpp b/hotspot/src/cpu/x86/vm/frame_x86.cpp
index 92587985dab..c2a7c8b49e3 100644
--- a/hotspot/src/cpu/x86/vm/frame_x86.cpp
+++ b/hotspot/src/cpu/x86/vm/frame_x86.cpp
@@ -587,7 +587,7 @@ bool frame::is_interpreted_frame_valid(JavaThread* thread) const {
// validate ConstantPoolCache*
ConstantPoolCache* cp = *interpreter_frame_cache_addr();
- if (cp == NULL || !cp->is_metadata()) return false;
+ if (cp == NULL || !cp->is_metaspace_object()) return false;
// validate locals
diff --git a/hotspot/src/cpu/x86/vm/globals_x86.hpp b/hotspot/src/cpu/x86/vm/globals_x86.hpp
index 978a1d6eece..c47f7d1c193 100644
--- a/hotspot/src/cpu/x86/vm/globals_x86.hpp
+++ b/hotspot/src/cpu/x86/vm/globals_x86.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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,7 @@ define_pd_global(intx, OptoLoopAlignment, 16);
define_pd_global(intx, InlineFrequencyCount, 100);
define_pd_global(intx, InlineSmallCode, 1000);
-define_pd_global(intx, StackYellowPages, 2);
+define_pd_global(intx, StackYellowPages, NOT_WINDOWS(2) WINDOWS_ONLY(3));
define_pd_global(intx, StackRedPages, 1);
#ifdef AMD64
// Very large C++ stack frames using solaris-amd64 optimized builds
@@ -96,6 +96,9 @@ define_pd_global(uintx, CMSYoungGenPerWorker, 64*M); // default max size of CMS
product(intx, UseAVX, 99, \
"Highest supported AVX instructions set on x86/x64") \
\
+ product(bool, UseCLMUL, false, \
+ "Control whether CLMUL instructions can be used on x86/x64") \
+ \
diagnostic(bool, UseIncDec, true, \
"Use INC, DEC instructions on x86") \
\
diff --git a/hotspot/src/cpu/x86/vm/interpreterGenerator_x86.hpp b/hotspot/src/cpu/x86/vm/interpreterGenerator_x86.hpp
index 13786e4149a..08f47708cdc 100644
--- a/hotspot/src/cpu/x86/vm/interpreterGenerator_x86.hpp
+++ b/hotspot/src/cpu/x86/vm/interpreterGenerator_x86.hpp
@@ -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
@@ -39,6 +39,8 @@
address generate_empty_entry(void);
address generate_accessor_entry(void);
address generate_Reference_get_entry();
+ address generate_CRC32_update_entry();
+ address generate_CRC32_updateBytes_entry(AbstractInterpreter::MethodKind kind);
void lock_method(void);
void generate_stack_overflow_check(void);
diff --git a/hotspot/src/cpu/x86/vm/macroAssembler_x86.cpp b/hotspot/src/cpu/x86/vm/macroAssembler_x86.cpp
index 98c93f99a0f..8aad6965156 100644
--- a/hotspot/src/cpu/x86/vm/macroAssembler_x86.cpp
+++ b/hotspot/src/cpu/x86/vm/macroAssembler_x86.cpp
@@ -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
@@ -2794,6 +2794,15 @@ void MacroAssembler::movdqu(XMMRegister dst, AddressLiteral src) {
}
}
+void MacroAssembler::movdqa(XMMRegister dst, AddressLiteral src) {
+ if (reachable(src)) {
+ Assembler::movdqa(dst, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ Assembler::movdqa(dst, Address(rscratch1, 0));
+ }
+}
+
void MacroAssembler::movsd(XMMRegister dst, AddressLiteral src) {
if (reachable(src)) {
Assembler::movsd(dst, as_Address(src));
@@ -6388,6 +6397,193 @@ void MacroAssembler::encode_iso_array(Register src, Register dst, Register len,
bind(L_done);
}
+/**
+ * Emits code to update CRC-32 with a byte value according to constants in table
+ *
+ * @param [in,out]crc Register containing the crc.
+ * @param [in]val Register containing the byte to fold into the CRC.
+ * @param [in]table Register containing the table of crc constants.
+ *
+ * uint32_t crc;
+ * val = crc_table[(val ^ crc) & 0xFF];
+ * crc = val ^ (crc >> 8);
+ *
+ */
+void MacroAssembler::update_byte_crc32(Register crc, Register val, Register table) {
+ xorl(val, crc);
+ andl(val, 0xFF);
+ shrl(crc, 8); // unsigned shift
+ xorl(crc, Address(table, val, Address::times_4, 0));
+}
+
+/**
+ * Fold 128-bit data chunk
+ */
+void MacroAssembler::fold_128bit_crc32(XMMRegister xcrc, XMMRegister xK, XMMRegister xtmp, Register buf, int offset) {
+ vpclmulhdq(xtmp, xK, xcrc); // [123:64]
+ vpclmulldq(xcrc, xK, xcrc); // [63:0]
+ vpxor(xcrc, xcrc, Address(buf, offset), false /* vector256 */);
+ pxor(xcrc, xtmp);
+}
+
+void MacroAssembler::fold_128bit_crc32(XMMRegister xcrc, XMMRegister xK, XMMRegister xtmp, XMMRegister xbuf) {
+ vpclmulhdq(xtmp, xK, xcrc);
+ vpclmulldq(xcrc, xK, xcrc);
+ pxor(xcrc, xbuf);
+ pxor(xcrc, xtmp);
+}
+
+/**
+ * 8-bit folds to compute 32-bit CRC
+ *
+ * uint64_t xcrc;
+ * timesXtoThe32[xcrc & 0xFF] ^ (xcrc >> 8);
+ */
+void MacroAssembler::fold_8bit_crc32(XMMRegister xcrc, Register table, XMMRegister xtmp, Register tmp) {
+ movdl(tmp, xcrc);
+ andl(tmp, 0xFF);
+ movdl(xtmp, Address(table, tmp, Address::times_4, 0));
+ psrldq(xcrc, 1); // unsigned shift one byte
+ pxor(xcrc, xtmp);
+}
+
+/**
+ * uint32_t crc;
+ * timesXtoThe32[crc & 0xFF] ^ (crc >> 8);
+ */
+void MacroAssembler::fold_8bit_crc32(Register crc, Register table, Register tmp) {
+ movl(tmp, crc);
+ andl(tmp, 0xFF);
+ shrl(crc, 8);
+ xorl(crc, Address(table, tmp, Address::times_4, 0));
+}
+
+/**
+ * @param crc register containing existing CRC (32-bit)
+ * @param buf register pointing to input byte buffer (byte*)
+ * @param len register containing number of bytes
+ * @param table register that will contain address of CRC table
+ * @param tmp scratch register
+ */
+void MacroAssembler::kernel_crc32(Register crc, Register buf, Register len, Register table, Register tmp) {
+ assert_different_registers(crc, buf, len, table, tmp, rax);
+
+ Label L_tail, L_tail_restore, L_tail_loop, L_exit, L_align_loop, L_aligned;
+ Label L_fold_tail, L_fold_128b, L_fold_512b, L_fold_512b_loop, L_fold_tail_loop;
+
+ lea(table, ExternalAddress(StubRoutines::crc_table_addr()));
+ notl(crc); // ~crc
+ cmpl(len, 16);
+ jcc(Assembler::less, L_tail);
+
+ // Align buffer to 16 bytes
+ movl(tmp, buf);
+ andl(tmp, 0xF);
+ jccb(Assembler::zero, L_aligned);
+ subl(tmp, 16);
+ addl(len, tmp);
+
+ align(4);
+ BIND(L_align_loop);
+ movsbl(rax, Address(buf, 0)); // load byte with sign extension
+ update_byte_crc32(crc, rax, table);
+ increment(buf);
+ incrementl(tmp);
+ jccb(Assembler::less, L_align_loop);
+
+ BIND(L_aligned);
+ movl(tmp, len); // save
+ shrl(len, 4);
+ jcc(Assembler::zero, L_tail_restore);
+
+ // Fold crc into first bytes of vector
+ movdqa(xmm1, Address(buf, 0));
+ movdl(rax, xmm1);
+ xorl(crc, rax);
+ pinsrd(xmm1, crc, 0);
+ addptr(buf, 16);
+ subl(len, 4); // len > 0
+ jcc(Assembler::less, L_fold_tail);
+
+ movdqa(xmm2, Address(buf, 0));
+ movdqa(xmm3, Address(buf, 16));
+ movdqa(xmm4, Address(buf, 32));
+ addptr(buf, 48);
+ subl(len, 3);
+ jcc(Assembler::lessEqual, L_fold_512b);
+
+ // Fold total 512 bits of polynomial on each iteration,
+ // 128 bits per each of 4 parallel streams.
+ movdqu(xmm0, ExternalAddress(StubRoutines::x86::crc_by128_masks_addr() + 32));
+
+ align(32);
+ BIND(L_fold_512b_loop);
+ fold_128bit_crc32(xmm1, xmm0, xmm5, buf, 0);
+ fold_128bit_crc32(xmm2, xmm0, xmm5, buf, 16);
+ fold_128bit_crc32(xmm3, xmm0, xmm5, buf, 32);
+ fold_128bit_crc32(xmm4, xmm0, xmm5, buf, 48);
+ addptr(buf, 64);
+ subl(len, 4);
+ jcc(Assembler::greater, L_fold_512b_loop);
+
+ // Fold 512 bits to 128 bits.
+ BIND(L_fold_512b);
+ movdqu(xmm0, ExternalAddress(StubRoutines::x86::crc_by128_masks_addr() + 16));
+ fold_128bit_crc32(xmm1, xmm0, xmm5, xmm2);
+ fold_128bit_crc32(xmm1, xmm0, xmm5, xmm3);
+ fold_128bit_crc32(xmm1, xmm0, xmm5, xmm4);
+
+ // Fold the rest of 128 bits data chunks
+ BIND(L_fold_tail);
+ addl(len, 3);
+ jccb(Assembler::lessEqual, L_fold_128b);
+ movdqu(xmm0, ExternalAddress(StubRoutines::x86::crc_by128_masks_addr() + 16));
+
+ BIND(L_fold_tail_loop);
+ fold_128bit_crc32(xmm1, xmm0, xmm5, buf, 0);
+ addptr(buf, 16);
+ decrementl(len);
+ jccb(Assembler::greater, L_fold_tail_loop);
+
+ // Fold 128 bits in xmm1 down into 32 bits in crc register.
+ BIND(L_fold_128b);
+ movdqu(xmm0, ExternalAddress(StubRoutines::x86::crc_by128_masks_addr()));
+ vpclmulqdq(xmm2, xmm0, xmm1, 0x1);
+ vpand(xmm3, xmm0, xmm2, false /* vector256 */);
+ vpclmulqdq(xmm0, xmm0, xmm3, 0x1);
+ psrldq(xmm1, 8);
+ psrldq(xmm2, 4);
+ pxor(xmm0, xmm1);
+ pxor(xmm0, xmm2);
+
+ // 8 8-bit folds to compute 32-bit CRC.
+ for (int j = 0; j < 4; j++) {
+ fold_8bit_crc32(xmm0, table, xmm1, rax);
+ }
+ movdl(crc, xmm0); // mov 32 bits to general register
+ for (int j = 0; j < 4; j++) {
+ fold_8bit_crc32(crc, table, rax);
+ }
+
+ BIND(L_tail_restore);
+ movl(len, tmp); // restore
+ BIND(L_tail);
+ andl(len, 0xf);
+ jccb(Assembler::zero, L_exit);
+
+ // Fold the rest of bytes
+ align(4);
+ BIND(L_tail_loop);
+ movsbl(rax, Address(buf, 0)); // load byte with sign extension
+ update_byte_crc32(crc, rax, table);
+ increment(buf);
+ decrementl(len);
+ jccb(Assembler::greater, L_tail_loop);
+
+ BIND(L_exit);
+ notl(crc); // ~c
+}
+
#undef BIND
#undef BLOCK_COMMENT
diff --git a/hotspot/src/cpu/x86/vm/macroAssembler_x86.hpp b/hotspot/src/cpu/x86/vm/macroAssembler_x86.hpp
index e9f409dc500..3acef073c0e 100644
--- a/hotspot/src/cpu/x86/vm/macroAssembler_x86.hpp
+++ b/hotspot/src/cpu/x86/vm/macroAssembler_x86.hpp
@@ -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
@@ -899,6 +899,11 @@ public:
void movdqu(XMMRegister dst, XMMRegister src) { Assembler::movdqu(dst, src); }
void movdqu(XMMRegister dst, AddressLiteral src);
+ // Move Aligned Double Quadword
+ void movdqa(XMMRegister dst, Address src) { Assembler::movdqa(dst, src); }
+ void movdqa(XMMRegister dst, XMMRegister src) { Assembler::movdqa(dst, src); }
+ void movdqa(XMMRegister dst, AddressLiteral src);
+
void movsd(XMMRegister dst, XMMRegister src) { Assembler::movsd(dst, src); }
void movsd(Address dst, XMMRegister src) { Assembler::movsd(dst, src); }
void movsd(XMMRegister dst, Address src) { Assembler::movsd(dst, src); }
@@ -1027,6 +1032,16 @@ public:
Assembler::vinsertf128h(dst, nds, src);
}
+ // Carry-Less Multiplication Quadword
+ void vpclmulldq(XMMRegister dst, XMMRegister nds, XMMRegister src) {
+ // 0x00 - multiply lower 64 bits [0:63]
+ Assembler::vpclmulqdq(dst, nds, src, 0x00);
+ }
+ void vpclmulhdq(XMMRegister dst, XMMRegister nds, XMMRegister src) {
+ // 0x11 - multiply upper 64 bits [64:127]
+ Assembler::vpclmulqdq(dst, nds, src, 0x11);
+ }
+
// Data
void cmov32( Condition cc, Register dst, Address src);
@@ -1143,6 +1158,16 @@ public:
XMMRegister tmp1, XMMRegister tmp2, XMMRegister tmp3,
XMMRegister tmp4, Register tmp5, Register result);
+ // CRC32 code for java.util.zip.CRC32::updateBytes() instrinsic.
+ void update_byte_crc32(Register crc, Register val, Register table);
+ void kernel_crc32(Register crc, Register buf, Register len, Register table, Register tmp);
+ // Fold 128-bit data chunk
+ void fold_128bit_crc32(XMMRegister xcrc, XMMRegister xK, XMMRegister xtmp, Register buf, int offset);
+ void fold_128bit_crc32(XMMRegister xcrc, XMMRegister xK, XMMRegister xtmp, XMMRegister xbuf);
+ // Fold 8-bit data
+ void fold_8bit_crc32(Register crc, Register table, Register tmp);
+ void fold_8bit_crc32(XMMRegister crc, Register table, XMMRegister xtmp, Register tmp);
+
#undef VIRTUAL
};
diff --git a/hotspot/src/cpu/x86/vm/relocInfo_x86.cpp b/hotspot/src/cpu/x86/vm/relocInfo_x86.cpp
index e16c6653960..4cb5c3f61ca 100644
--- a/hotspot/src/cpu/x86/vm/relocInfo_x86.cpp
+++ b/hotspot/src/cpu/x86/vm/relocInfo_x86.cpp
@@ -177,30 +177,6 @@ address Relocation::pd_get_address_from_code() {
return *pd_address_in_code();
}
-int Relocation::pd_breakpoint_size() {
- // minimum breakpoint size, in short words
- return NativeIllegalInstruction::instruction_size / sizeof(short);
-}
-
-void Relocation::pd_swap_in_breakpoint(address x, short* instrs, int instrlen) {
- Untested("pd_swap_in_breakpoint");
- if (instrs != NULL) {
- assert(instrlen * sizeof(short) == NativeIllegalInstruction::instruction_size, "enough instrlen in reloc. data");
- for (int i = 0; i < instrlen; i++) {
- instrs[i] = ((short*)x)[i];
- }
- }
- NativeIllegalInstruction::insert(x);
-}
-
-
-void Relocation::pd_swap_out_breakpoint(address x, short* instrs, int instrlen) {
- Untested("pd_swap_out_breakpoint");
- assert(NativeIllegalInstruction::instruction_size == sizeof(short), "right address unit for update");
- NativeInstruction* ni = nativeInstruction_at(x);
- *(short*)ni->addr_at(0) = instrs[0];
-}
-
void poll_Relocation::fix_relocation_after_move(const CodeBuffer* src, CodeBuffer* dest) {
#ifdef _LP64
if (!Assembler::is_polling_page_far()) {
diff --git a/hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp b/hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp
index db20c1f2388..cbe960556dc 100644
--- a/hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp
+++ b/hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp
@@ -1429,6 +1429,8 @@ static void unpack_array_argument(MacroAssembler* masm, VMRegPair reg, BasicType
assert(!length_arg.first()->is_Register() || length_arg.first()->as_Register() != tmp_reg,
"possible collision");
+ __ block_comment("unpack_array_argument {");
+
// Pass the length, ptr pair
Label is_null, done;
VMRegPair tmp;
@@ -1453,6 +1455,8 @@ static void unpack_array_argument(MacroAssembler* masm, VMRegPair reg, BasicType
move_ptr(masm, tmp, body_arg);
move32_64(masm, tmp, length_arg);
__ bind(done);
+
+ __ block_comment("} unpack_array_argument");
}
@@ -2170,27 +2174,34 @@ nmethod* SharedRuntime::generate_native_wrapper(MacroAssembler* masm,
}
}
- // point c_arg at the first arg that is already loaded in case we
- // need to spill before we call out
- int c_arg = total_c_args - total_in_args;
+ int c_arg;
// Pre-load a static method's oop into r14. Used both by locking code and
// the normal JNI call code.
- if (method->is_static() && !is_critical_native) {
+ if (!is_critical_native) {
+ // point c_arg at the first arg that is already loaded in case we
+ // need to spill before we call out
+ c_arg = total_c_args - total_in_args;
- // load oop into a register
- __ movoop(oop_handle_reg, JNIHandles::make_local(method->method_holder()->java_mirror()));
+ if (method->is_static()) {
- // Now handlize the static class mirror it's known not-null.
- __ movptr(Address(rsp, klass_offset), oop_handle_reg);
- map->set_oop(VMRegImpl::stack2reg(klass_slot_offset));
+ // load oop into a register
+ __ movoop(oop_handle_reg, JNIHandles::make_local(method->method_holder()->java_mirror()));
- // Now get the handle
- __ lea(oop_handle_reg, Address(rsp, klass_offset));
- // store the klass handle as second argument
- __ movptr(c_rarg1, oop_handle_reg);
- // and protect the arg if we must spill
- c_arg--;
+ // Now handlize the static class mirror it's known not-null.
+ __ movptr(Address(rsp, klass_offset), oop_handle_reg);
+ map->set_oop(VMRegImpl::stack2reg(klass_slot_offset));
+
+ // Now get the handle
+ __ lea(oop_handle_reg, Address(rsp, klass_offset));
+ // store the klass handle as second argument
+ __ movptr(c_rarg1, oop_handle_reg);
+ // and protect the arg if we must spill
+ c_arg--;
+ }
+ } else {
+ // For JNI critical methods we need to save all registers in save_args.
+ c_arg = 0;
}
// Change state to native (we save the return address in the thread, since it might not
diff --git a/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp b/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp
index 7422ed39d24..82e4183ef47 100644
--- a/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp
+++ b/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
@@ -83,7 +83,7 @@ class StubGenerator: public StubCodeGenerator {
private:
#ifdef PRODUCT
-#define inc_counter_np(counter) (0)
+#define inc_counter_np(counter) ((void)0)
#else
void inc_counter_np_(int& counter) {
__ incrementl(ExternalAddress((address)&counter));
@@ -2713,6 +2713,59 @@ class StubGenerator: public StubCodeGenerator {
return start;
}
+ /**
+ * Arguments:
+ *
+ * Inputs:
+ * rsp(4) - int crc
+ * rsp(8) - byte* buf
+ * rsp(12) - int length
+ *
+ * Ouput:
+ * rax - int crc result
+ */
+ address generate_updateBytesCRC32() {
+ assert(UseCRC32Intrinsics, "need AVX and CLMUL instructions");
+
+ __ align(CodeEntryAlignment);
+ StubCodeMark mark(this, "StubRoutines", "updateBytesCRC32");
+
+ address start = __ pc();
+
+ const Register crc = rdx; // crc
+ const Register buf = rsi; // source java byte array address
+ const Register len = rcx; // length
+ const Register table = rdi; // crc_table address (reuse register)
+ const Register tmp = rbx;
+ assert_different_registers(crc, buf, len, table, tmp, rax);
+
+ BLOCK_COMMENT("Entry:");
+ __ enter(); // required for proper stackwalking of RuntimeStub frame
+ __ push(rsi);
+ __ push(rdi);
+ __ push(rbx);
+
+ Address crc_arg(rbp, 8 + 0);
+ Address buf_arg(rbp, 8 + 4);
+ Address len_arg(rbp, 8 + 8);
+
+ // Load up:
+ __ movl(crc, crc_arg);
+ __ movptr(buf, buf_arg);
+ __ movl(len, len_arg);
+
+ __ kernel_crc32(crc, buf, len, table, tmp);
+
+ __ movl(rax, crc);
+ __ pop(rbx);
+ __ pop(rdi);
+ __ pop(rsi);
+ __ leave(); // required for proper stackwalking of RuntimeStub frame
+ __ ret(0);
+
+ return start;
+ }
+
public:
// Information about frame layout at time of blocking runtime call.
@@ -2887,6 +2940,12 @@ class StubGenerator: public StubCodeGenerator {
// Build this early so it's available for the interpreter
StubRoutines::_throw_StackOverflowError_entry = generate_throw_exception("StackOverflowError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError));
+
+ if (UseCRC32Intrinsics) {
+ // set table address before stub generation which use it
+ StubRoutines::_crc_table_adr = (address)StubRoutines::x86::_crc_table;
+ StubRoutines::_updateBytesCRC32 = generate_updateBytesCRC32();
+ }
}
diff --git a/hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp b/hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp
index fb9c1ddd4b9..2d94642f828 100644
--- a/hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp
+++ b/hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -81,7 +81,7 @@ class StubGenerator: public StubCodeGenerator {
private:
#ifdef PRODUCT
-#define inc_counter_np(counter) (0)
+#define inc_counter_np(counter) ((void)0)
#else
void inc_counter_np_(int& counter) {
// This can destroy rscratch1 if counter is far from the code cache
@@ -3584,7 +3584,45 @@ class StubGenerator: public StubCodeGenerator {
return start;
}
+ /**
+ * Arguments:
+ *
+ * Inputs:
+ * c_rarg0 - int crc
+ * c_rarg1 - byte* buf
+ * c_rarg2 - int length
+ *
+ * Ouput:
+ * rax - int crc result
+ */
+ address generate_updateBytesCRC32() {
+ assert(UseCRC32Intrinsics, "need AVX and CLMUL instructions");
+ __ align(CodeEntryAlignment);
+ StubCodeMark mark(this, "StubRoutines", "updateBytesCRC32");
+
+ address start = __ pc();
+ // Win64: rcx, rdx, r8, r9 (c_rarg0, c_rarg1, ...)
+ // Unix: rdi, rsi, rdx, rcx, r8, r9 (c_rarg0, c_rarg1, ...)
+ // rscratch1: r10
+ const Register crc = c_rarg0; // crc
+ const Register buf = c_rarg1; // source java byte array address
+ const Register len = c_rarg2; // length
+ const Register table = c_rarg3; // crc_table address (reuse register)
+ const Register tmp = r11;
+ assert_different_registers(crc, buf, len, table, tmp, rax);
+
+ BLOCK_COMMENT("Entry:");
+ __ enter(); // required for proper stackwalking of RuntimeStub frame
+
+ __ kernel_crc32(crc, buf, len, table, tmp);
+
+ __ movl(rax, crc);
+ __ leave(); // required for proper stackwalking of RuntimeStub frame
+ __ ret(0);
+
+ return start;
+ }
#undef __
#define __ masm->
@@ -3736,6 +3774,11 @@ class StubGenerator: public StubCodeGenerator {
CAST_FROM_FN_PTR(address,
SharedRuntime::
throw_StackOverflowError));
+ if (UseCRC32Intrinsics) {
+ // set table address before stub generation which use it
+ StubRoutines::_crc_table_adr = (address)StubRoutines::x86::_crc_table;
+ StubRoutines::_updateBytesCRC32 = generate_updateBytesCRC32();
+ }
}
void generate_all() {
diff --git a/hotspot/src/cpu/x86/vm/stubRoutines_x86.cpp b/hotspot/src/cpu/x86/vm/stubRoutines_x86.cpp
new file mode 100644
index 00000000000..200f2aff80d
--- /dev/null
+++ b/hotspot/src/cpu/x86/vm/stubRoutines_x86.cpp
@@ -0,0 +1,130 @@
+/*
+ * 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.
+ *
+ * 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.
+ *
+ */
+
+#include "precompiled.hpp"
+#include "runtime/deoptimization.hpp"
+#include "runtime/frame.inline.hpp"
+#include "runtime/stubRoutines.hpp"
+#include "runtime/thread.inline.hpp"
+
+// Implementation of the platform-specific part of StubRoutines - for
+// a description of how to extend it, see the stubRoutines.hpp file.
+
+address StubRoutines::x86::_verify_mxcsr_entry = NULL;
+address StubRoutines::x86::_key_shuffle_mask_addr = NULL;
+
+uint64_t StubRoutines::x86::_crc_by128_masks[] =
+{
+ /* The fields in this structure are arranged so that they can be
+ * picked up two at a time with 128-bit loads.
+ *
+ * Because of flipped bit order for this CRC polynomials
+ * the constant for X**N is left-shifted by 1. This is because
+ * a 64 x 64 polynomial multiply produces a 127-bit result
+ * but the highest term is always aligned to bit 0 in the container.
+ * Pre-shifting by one fixes this, at the cost of potentially making
+ * the 32-bit constant no longer fit in a 32-bit container (thus the
+ * use of uint64_t, though this is also the size used by the carry-
+ * less multiply instruction.
+ *
+ * In addition, the flipped bit order and highest-term-at-least-bit
+ * multiply changes the constants used. The 96-bit result will be
+ * aligned to the high-term end of the target 128-bit container,
+ * not the low-term end; that is, instead of a 512-bit or 576-bit fold,
+ * instead it is a 480 (=512-32) or 544 (=512+64-32) bit fold.
+ *
+ * This cause additional problems in the 128-to-64-bit reduction; see the
+ * code for details. By storing a mask in the otherwise unused half of
+ * a 128-bit constant, bits can be cleared before multiplication without
+ * storing and reloading. Note that staying on a 128-bit datapath means
+ * that some data is uselessly stored and some unused data is intersected
+ * with an irrelevant constant.
+ */
+
+ ((uint64_t) 0xffffffffUL), /* low of K_M_64 */
+ ((uint64_t) 0xb1e6b092U << 1), /* high of K_M_64 */
+ ((uint64_t) 0xba8ccbe8U << 1), /* low of K_160_96 */
+ ((uint64_t) 0x6655004fU << 1), /* high of K_160_96 */
+ ((uint64_t) 0xaa2215eaU << 1), /* low of K_544_480 */
+ ((uint64_t) 0xe3720acbU << 1) /* high of K_544_480 */
+};
+
+/**
+ * crc_table[] from jdk/src/share/native/java/util/zip/zlib-1.2.5/crc32.h
+ */
+juint StubRoutines::x86::_crc_table[] =
+{
+ 0x00000000UL, 0x77073096UL, 0xee0e612cUL, 0x990951baUL, 0x076dc419UL,
+ 0x706af48fUL, 0xe963a535UL, 0x9e6495a3UL, 0x0edb8832UL, 0x79dcb8a4UL,
+ 0xe0d5e91eUL, 0x97d2d988UL, 0x09b64c2bUL, 0x7eb17cbdUL, 0xe7b82d07UL,
+ 0x90bf1d91UL, 0x1db71064UL, 0x6ab020f2UL, 0xf3b97148UL, 0x84be41deUL,
+ 0x1adad47dUL, 0x6ddde4ebUL, 0xf4d4b551UL, 0x83d385c7UL, 0x136c9856UL,
+ 0x646ba8c0UL, 0xfd62f97aUL, 0x8a65c9ecUL, 0x14015c4fUL, 0x63066cd9UL,
+ 0xfa0f3d63UL, 0x8d080df5UL, 0x3b6e20c8UL, 0x4c69105eUL, 0xd56041e4UL,
+ 0xa2677172UL, 0x3c03e4d1UL, 0x4b04d447UL, 0xd20d85fdUL, 0xa50ab56bUL,
+ 0x35b5a8faUL, 0x42b2986cUL, 0xdbbbc9d6UL, 0xacbcf940UL, 0x32d86ce3UL,
+ 0x45df5c75UL, 0xdcd60dcfUL, 0xabd13d59UL, 0x26d930acUL, 0x51de003aUL,
+ 0xc8d75180UL, 0xbfd06116UL, 0x21b4f4b5UL, 0x56b3c423UL, 0xcfba9599UL,
+ 0xb8bda50fUL, 0x2802b89eUL, 0x5f058808UL, 0xc60cd9b2UL, 0xb10be924UL,
+ 0x2f6f7c87UL, 0x58684c11UL, 0xc1611dabUL, 0xb6662d3dUL, 0x76dc4190UL,
+ 0x01db7106UL, 0x98d220bcUL, 0xefd5102aUL, 0x71b18589UL, 0x06b6b51fUL,
+ 0x9fbfe4a5UL, 0xe8b8d433UL, 0x7807c9a2UL, 0x0f00f934UL, 0x9609a88eUL,
+ 0xe10e9818UL, 0x7f6a0dbbUL, 0x086d3d2dUL, 0x91646c97UL, 0xe6635c01UL,
+ 0x6b6b51f4UL, 0x1c6c6162UL, 0x856530d8UL, 0xf262004eUL, 0x6c0695edUL,
+ 0x1b01a57bUL, 0x8208f4c1UL, 0xf50fc457UL, 0x65b0d9c6UL, 0x12b7e950UL,
+ 0x8bbeb8eaUL, 0xfcb9887cUL, 0x62dd1ddfUL, 0x15da2d49UL, 0x8cd37cf3UL,
+ 0xfbd44c65UL, 0x4db26158UL, 0x3ab551ceUL, 0xa3bc0074UL, 0xd4bb30e2UL,
+ 0x4adfa541UL, 0x3dd895d7UL, 0xa4d1c46dUL, 0xd3d6f4fbUL, 0x4369e96aUL,
+ 0x346ed9fcUL, 0xad678846UL, 0xda60b8d0UL, 0x44042d73UL, 0x33031de5UL,
+ 0xaa0a4c5fUL, 0xdd0d7cc9UL, 0x5005713cUL, 0x270241aaUL, 0xbe0b1010UL,
+ 0xc90c2086UL, 0x5768b525UL, 0x206f85b3UL, 0xb966d409UL, 0xce61e49fUL,
+ 0x5edef90eUL, 0x29d9c998UL, 0xb0d09822UL, 0xc7d7a8b4UL, 0x59b33d17UL,
+ 0x2eb40d81UL, 0xb7bd5c3bUL, 0xc0ba6cadUL, 0xedb88320UL, 0x9abfb3b6UL,
+ 0x03b6e20cUL, 0x74b1d29aUL, 0xead54739UL, 0x9dd277afUL, 0x04db2615UL,
+ 0x73dc1683UL, 0xe3630b12UL, 0x94643b84UL, 0x0d6d6a3eUL, 0x7a6a5aa8UL,
+ 0xe40ecf0bUL, 0x9309ff9dUL, 0x0a00ae27UL, 0x7d079eb1UL, 0xf00f9344UL,
+ 0x8708a3d2UL, 0x1e01f268UL, 0x6906c2feUL, 0xf762575dUL, 0x806567cbUL,
+ 0x196c3671UL, 0x6e6b06e7UL, 0xfed41b76UL, 0x89d32be0UL, 0x10da7a5aUL,
+ 0x67dd4accUL, 0xf9b9df6fUL, 0x8ebeeff9UL, 0x17b7be43UL, 0x60b08ed5UL,
+ 0xd6d6a3e8UL, 0xa1d1937eUL, 0x38d8c2c4UL, 0x4fdff252UL, 0xd1bb67f1UL,
+ 0xa6bc5767UL, 0x3fb506ddUL, 0x48b2364bUL, 0xd80d2bdaUL, 0xaf0a1b4cUL,
+ 0x36034af6UL, 0x41047a60UL, 0xdf60efc3UL, 0xa867df55UL, 0x316e8eefUL,
+ 0x4669be79UL, 0xcb61b38cUL, 0xbc66831aUL, 0x256fd2a0UL, 0x5268e236UL,
+ 0xcc0c7795UL, 0xbb0b4703UL, 0x220216b9UL, 0x5505262fUL, 0xc5ba3bbeUL,
+ 0xb2bd0b28UL, 0x2bb45a92UL, 0x5cb36a04UL, 0xc2d7ffa7UL, 0xb5d0cf31UL,
+ 0x2cd99e8bUL, 0x5bdeae1dUL, 0x9b64c2b0UL, 0xec63f226UL, 0x756aa39cUL,
+ 0x026d930aUL, 0x9c0906a9UL, 0xeb0e363fUL, 0x72076785UL, 0x05005713UL,
+ 0x95bf4a82UL, 0xe2b87a14UL, 0x7bb12baeUL, 0x0cb61b38UL, 0x92d28e9bUL,
+ 0xe5d5be0dUL, 0x7cdcefb7UL, 0x0bdbdf21UL, 0x86d3d2d4UL, 0xf1d4e242UL,
+ 0x68ddb3f8UL, 0x1fda836eUL, 0x81be16cdUL, 0xf6b9265bUL, 0x6fb077e1UL,
+ 0x18b74777UL, 0x88085ae6UL, 0xff0f6a70UL, 0x66063bcaUL, 0x11010b5cUL,
+ 0x8f659effUL, 0xf862ae69UL, 0x616bffd3UL, 0x166ccf45UL, 0xa00ae278UL,
+ 0xd70dd2eeUL, 0x4e048354UL, 0x3903b3c2UL, 0xa7672661UL, 0xd06016f7UL,
+ 0x4969474dUL, 0x3e6e77dbUL, 0xaed16a4aUL, 0xd9d65adcUL, 0x40df0b66UL,
+ 0x37d83bf0UL, 0xa9bcae53UL, 0xdebb9ec5UL, 0x47b2cf7fUL, 0x30b5ffe9UL,
+ 0xbdbdf21cUL, 0xcabac28aUL, 0x53b39330UL, 0x24b4a3a6UL, 0xbad03605UL,
+ 0xcdd70693UL, 0x54de5729UL, 0x23d967bfUL, 0xb3667a2eUL, 0xc4614ab8UL,
+ 0x5d681b02UL, 0x2a6f2b94UL, 0xb40bbe37UL, 0xc30c8ea1UL, 0x5a05df1bUL,
+ 0x2d02ef8dUL
+};
diff --git a/hotspot/src/cpu/x86/vm/stubRoutines_x86.hpp b/hotspot/src/cpu/x86/vm/stubRoutines_x86.hpp
new file mode 100644
index 00000000000..d8e52ab3b11
--- /dev/null
+++ b/hotspot/src/cpu/x86/vm/stubRoutines_x86.hpp
@@ -0,0 +1,45 @@
+/*
+ * 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.
+ *
+ * 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.
+ *
+ */
+
+#ifndef CPU_X86_VM_STUBROUTINES_X86_HPP
+#define CPU_X86_VM_STUBROUTINES_X86_HPP
+
+// This file holds the platform specific parts of the StubRoutines
+// definition. See stubRoutines.hpp for a description on how to
+// extend it.
+
+ private:
+ static address _verify_mxcsr_entry;
+ // shuffle mask for fixing up 128-bit words consisting of big-endian 32-bit integers
+ static address _key_shuffle_mask_addr;
+ // masks and table for CRC32
+ static uint64_t _crc_by128_masks[];
+ static juint _crc_table[];
+
+ public:
+ static address verify_mxcsr_entry() { return _verify_mxcsr_entry; }
+ static address key_shuffle_mask_addr() { return _key_shuffle_mask_addr; }
+ static address crc_by128_masks_addr() { return (address)_crc_by128_masks; }
+
+#endif // CPU_X86_VM_STUBROUTINES_X86_32_HPP
diff --git a/hotspot/src/cpu/x86/vm/stubRoutines_x86_32.cpp b/hotspot/src/cpu/x86/vm/stubRoutines_x86_32.cpp
index 65e773ed53c..53464dcccdf 100644
--- a/hotspot/src/cpu/x86/vm/stubRoutines_x86_32.cpp
+++ b/hotspot/src/cpu/x86/vm/stubRoutines_x86_32.cpp
@@ -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
@@ -31,6 +31,4 @@
// Implementation of the platform-specific part of StubRoutines - for
// a description of how to extend it, see the stubRoutines.hpp file.
-address StubRoutines::x86::_verify_mxcsr_entry = NULL;
address StubRoutines::x86::_verify_fpu_cntrl_wrd_entry = NULL;
-address StubRoutines::x86::_key_shuffle_mask_addr = NULL;
diff --git a/hotspot/src/cpu/x86/vm/stubRoutines_x86_32.hpp b/hotspot/src/cpu/x86/vm/stubRoutines_x86_32.hpp
index d53124fc6c8..bca5d493ce4 100644
--- a/hotspot/src/cpu/x86/vm/stubRoutines_x86_32.hpp
+++ b/hotspot/src/cpu/x86/vm/stubRoutines_x86_32.hpp
@@ -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
@@ -39,15 +39,12 @@ class x86 {
friend class VMStructs;
private:
- static address _verify_mxcsr_entry;
static address _verify_fpu_cntrl_wrd_entry;
- // shuffle mask for fixing up 128-bit words consisting of big-endian 32-bit integers
- static address _key_shuffle_mask_addr;
public:
- static address verify_mxcsr_entry() { return _verify_mxcsr_entry; }
static address verify_fpu_cntrl_wrd_entry() { return _verify_fpu_cntrl_wrd_entry; }
- static address key_shuffle_mask_addr() { return _key_shuffle_mask_addr; }
+
+# include "stubRoutines_x86.hpp"
};
diff --git a/hotspot/src/cpu/x86/vm/stubRoutines_x86_64.cpp b/hotspot/src/cpu/x86/vm/stubRoutines_x86_64.cpp
index 9f0a94200a5..5c11734cc97 100644
--- a/hotspot/src/cpu/x86/vm/stubRoutines_x86_64.cpp
+++ b/hotspot/src/cpu/x86/vm/stubRoutines_x86_64.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -34,8 +34,6 @@
address StubRoutines::x86::_get_previous_fp_entry = NULL;
address StubRoutines::x86::_get_previous_sp_entry = NULL;
-address StubRoutines::x86::_verify_mxcsr_entry = NULL;
-
address StubRoutines::x86::_f2i_fixup = NULL;
address StubRoutines::x86::_f2l_fixup = NULL;
address StubRoutines::x86::_d2i_fixup = NULL;
@@ -45,4 +43,3 @@ address StubRoutines::x86::_float_sign_flip = NULL;
address StubRoutines::x86::_double_sign_mask = NULL;
address StubRoutines::x86::_double_sign_flip = NULL;
address StubRoutines::x86::_mxcsr_std = NULL;
-address StubRoutines::x86::_key_shuffle_mask_addr = NULL;
diff --git a/hotspot/src/cpu/x86/vm/stubRoutines_x86_64.hpp b/hotspot/src/cpu/x86/vm/stubRoutines_x86_64.hpp
index c3efeecb759..d63e9fdf57f 100644
--- a/hotspot/src/cpu/x86/vm/stubRoutines_x86_64.hpp
+++ b/hotspot/src/cpu/x86/vm/stubRoutines_x86_64.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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,6 @@ class x86 {
private:
static address _get_previous_fp_entry;
static address _get_previous_sp_entry;
- static address _verify_mxcsr_entry;
static address _f2i_fixup;
static address _f2l_fixup;
@@ -54,8 +53,6 @@ class x86 {
static address _double_sign_mask;
static address _double_sign_flip;
static address _mxcsr_std;
- // shuffle mask for fixing up 128-bit words consisting of big-endian 32-bit integers
- static address _key_shuffle_mask_addr;
public:
@@ -69,11 +66,6 @@ class x86 {
return _get_previous_sp_entry;
}
- static address verify_mxcsr_entry()
- {
- return _verify_mxcsr_entry;
- }
-
static address f2i_fixup()
{
return _f2i_fixup;
@@ -119,7 +111,7 @@ class x86 {
return _mxcsr_std;
}
- static address key_shuffle_mask_addr() { return _key_shuffle_mask_addr; }
+# include "stubRoutines_x86.hpp"
};
diff --git a/hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp b/hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp
index 3908a8c09da..2efa59f8b33 100644
--- a/hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp
+++ b/hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp
@@ -868,6 +868,120 @@ address InterpreterGenerator::generate_Reference_get_entry(void) {
return generate_accessor_entry();
}
+/**
+ * Method entry for static native methods:
+ * int java.util.zip.CRC32.update(int crc, int b)
+ */
+address InterpreterGenerator::generate_CRC32_update_entry() {
+ if (UseCRC32Intrinsics) {
+ address entry = __ pc();
+
+ // rbx,: Method*
+ // rsi: senderSP must preserved for slow path, set SP to it on fast path
+ // rdx: scratch
+ // rdi: scratch
+
+ Label slow_path;
+ // If we need a safepoint check, generate full interpreter entry.
+ ExternalAddress state(SafepointSynchronize::address_of_state());
+ __ cmp32(ExternalAddress(SafepointSynchronize::address_of_state()),
+ SafepointSynchronize::_not_synchronized);
+ __ jcc(Assembler::notEqual, slow_path);
+
+ // We don't generate local frame and don't align stack because
+ // we call stub code and there is no safepoint on this path.
+
+ // Load parameters
+ const Register crc = rax; // crc
+ const Register val = rdx; // source java byte value
+ const Register tbl = rdi; // scratch
+
+ // Arguments are reversed on java expression stack
+ __ movl(val, Address(rsp, wordSize)); // byte value
+ __ movl(crc, Address(rsp, 2*wordSize)); // Initial CRC
+
+ __ lea(tbl, ExternalAddress(StubRoutines::crc_table_addr()));
+ __ notl(crc); // ~crc
+ __ update_byte_crc32(crc, val, tbl);
+ __ notl(crc); // ~crc
+ // result in rax
+
+ // _areturn
+ __ pop(rdi); // get return address
+ __ mov(rsp, rsi); // set sp to sender sp
+ __ jmp(rdi);
+
+ // generate a vanilla native entry as the slow path
+ __ bind(slow_path);
+
+ (void) generate_native_entry(false);
+
+ return entry;
+ }
+ return generate_native_entry(false);
+}
+
+/**
+ * Method entry for static native methods:
+ * int java.util.zip.CRC32.updateBytes(int crc, byte[] b, int off, int len)
+ * int java.util.zip.CRC32.updateByteBuffer(int crc, long buf, int off, int len)
+ */
+address InterpreterGenerator::generate_CRC32_updateBytes_entry(AbstractInterpreter::MethodKind kind) {
+ if (UseCRC32Intrinsics) {
+ address entry = __ pc();
+
+ // rbx,: Method*
+ // rsi: senderSP must preserved for slow path, set SP to it on fast path
+ // rdx: scratch
+ // rdi: scratch
+
+ Label slow_path;
+ // If we need a safepoint check, generate full interpreter entry.
+ ExternalAddress state(SafepointSynchronize::address_of_state());
+ __ cmp32(ExternalAddress(SafepointSynchronize::address_of_state()),
+ SafepointSynchronize::_not_synchronized);
+ __ jcc(Assembler::notEqual, slow_path);
+
+ // We don't generate local frame and don't align stack because
+ // we call stub code and there is no safepoint on this path.
+
+ // Load parameters
+ const Register crc = rax; // crc
+ const Register buf = rdx; // source java byte array address
+ const Register len = rdi; // length
+
+ // Arguments are reversed on java expression stack
+ __ movl(len, Address(rsp, wordSize)); // Length
+ // Calculate address of start element
+ if (kind == Interpreter::java_util_zip_CRC32_updateByteBuffer) {
+ __ movptr(buf, Address(rsp, 3*wordSize)); // long buf
+ __ addptr(buf, Address(rsp, 2*wordSize)); // + offset
+ __ movl(crc, Address(rsp, 5*wordSize)); // Initial CRC
+ } else {
+ __ movptr(buf, Address(rsp, 3*wordSize)); // byte[] array
+ __ addptr(buf, arrayOopDesc::base_offset_in_bytes(T_BYTE)); // + header size
+ __ addptr(buf, Address(rsp, 2*wordSize)); // + offset
+ __ movl(crc, Address(rsp, 4*wordSize)); // Initial CRC
+ }
+
+ __ super_call_VM_leaf(CAST_FROM_FN_PTR(address, StubRoutines::updateBytesCRC32()), crc, buf, len);
+ // result in rax
+
+ // _areturn
+ __ pop(rdi); // get return address
+ __ mov(rsp, rsi); // set sp to sender sp
+ __ jmp(rdi);
+
+ // generate a vanilla native entry as the slow path
+ __ bind(slow_path);
+
+ (void) generate_native_entry(false);
+
+ return entry;
+ }
+ return generate_native_entry(false);
+}
+
//
// Interpreter stub for calling a native method. (asm interpreter)
// This sets up a somewhat different looking stack for calling the native method
@@ -1501,15 +1615,16 @@ address AbstractInterpreterGenerator::generate_method_entry(AbstractInterpreter:
// determine code generation flags
bool synchronized = false;
address entry_point = NULL;
+ InterpreterGenerator* ig_this = (InterpreterGenerator*)this;
switch (kind) {
- case Interpreter::zerolocals : break;
- case Interpreter::zerolocals_synchronized: synchronized = true; break;
- case Interpreter::native : entry_point = ((InterpreterGenerator*)this)->generate_native_entry(false); break;
- case Interpreter::native_synchronized : entry_point = ((InterpreterGenerator*)this)->generate_native_entry(true); break;
- case Interpreter::empty : entry_point = ((InterpreterGenerator*)this)->generate_empty_entry(); break;
- case Interpreter::accessor : entry_point = ((InterpreterGenerator*)this)->generate_accessor_entry(); break;
- case Interpreter::abstract : entry_point = ((InterpreterGenerator*)this)->generate_abstract_entry(); break;
+ case Interpreter::zerolocals : break;
+ case Interpreter::zerolocals_synchronized: synchronized = true; break;
+ case Interpreter::native : entry_point = ig_this->generate_native_entry(false); break;
+ case Interpreter::native_synchronized : entry_point = ig_this->generate_native_entry(true); break;
+ case Interpreter::empty : entry_point = ig_this->generate_empty_entry(); break;
+ case Interpreter::accessor : entry_point = ig_this->generate_accessor_entry(); break;
+ case Interpreter::abstract : entry_point = ig_this->generate_abstract_entry(); break;
case Interpreter::java_lang_math_sin : // fall thru
case Interpreter::java_lang_math_cos : // fall thru
@@ -1519,9 +1634,15 @@ address AbstractInterpreterGenerator::generate_method_entry(AbstractInterpreter:
case Interpreter::java_lang_math_log10 : // fall thru
case Interpreter::java_lang_math_sqrt : // fall thru
case Interpreter::java_lang_math_pow : // fall thru
- case Interpreter::java_lang_math_exp : entry_point = ((InterpreterGenerator*)this)->generate_math_entry(kind); break;
+ case Interpreter::java_lang_math_exp : entry_point = ig_this->generate_math_entry(kind); break;
case Interpreter::java_lang_ref_reference_get
- : entry_point = ((InterpreterGenerator*)this)->generate_Reference_get_entry(); break;
+ : entry_point = ig_this->generate_Reference_get_entry(); break;
+ case Interpreter::java_util_zip_CRC32_update
+ : entry_point = ig_this->generate_CRC32_update_entry(); break;
+ case Interpreter::java_util_zip_CRC32_updateBytes
+ : // fall thru
+ case Interpreter::java_util_zip_CRC32_updateByteBuffer
+ : entry_point = ig_this->generate_CRC32_updateBytes_entry(kind); break;
default:
fatal(err_msg("unexpected method kind: %d", kind));
break;
@@ -1529,7 +1650,7 @@ address AbstractInterpreterGenerator::generate_method_entry(AbstractInterpreter:
if (entry_point) return entry_point;
- return ((InterpreterGenerator*)this)->generate_normal_entry(synchronized);
+ return ig_this->generate_normal_entry(synchronized);
}
diff --git a/hotspot/src/cpu/x86/vm/templateInterpreter_x86_64.cpp b/hotspot/src/cpu/x86/vm/templateInterpreter_x86_64.cpp
index 50bb8a968f6..f0a2258a70e 100644
--- a/hotspot/src/cpu/x86/vm/templateInterpreter_x86_64.cpp
+++ b/hotspot/src/cpu/x86/vm/templateInterpreter_x86_64.cpp
@@ -840,6 +840,117 @@ address InterpreterGenerator::generate_Reference_get_entry(void) {
return generate_accessor_entry();
}
+/**
+ * Method entry for static native methods:
+ * int java.util.zip.CRC32.update(int crc, int b)
+ */
+address InterpreterGenerator::generate_CRC32_update_entry() {
+ if (UseCRC32Intrinsics) {
+ address entry = __ pc();
+
+ // rbx,: Method*
+ // rsi: senderSP must preserved for slow path, set SP to it on fast path
+ // rdx: scratch
+ // rdi: scratch
+
+ Label slow_path;
+ // If we need a safepoint check, generate full interpreter entry.
+ ExternalAddress state(SafepointSynchronize::address_of_state());
+ __ cmp32(ExternalAddress(SafepointSynchronize::address_of_state()),
+ SafepointSynchronize::_not_synchronized);
+ __ jcc(Assembler::notEqual, slow_path);
+
+ // We don't generate local frame and don't align stack because
+ // we call stub code and there is no safepoint on this path.
+
+ // Load parameters
+ const Register crc = rax; // crc
+ const Register val = rdx; // source java byte value
+ const Register tbl = rdi; // scratch
+
+ // Arguments are reversed on java expression stack
+ __ movl(val, Address(rsp, wordSize)); // byte value
+ __ movl(crc, Address(rsp, 2*wordSize)); // Initial CRC
+
+ __ lea(tbl, ExternalAddress(StubRoutines::crc_table_addr()));
+ __ notl(crc); // ~crc
+ __ update_byte_crc32(crc, val, tbl);
+ __ notl(crc); // ~crc
+ // result in rax
+
+ // _areturn
+ __ pop(rdi); // get return address
+ __ mov(rsp, rsi); // set sp to sender sp
+ __ jmp(rdi);
+
+ // generate a vanilla native entry as the slow path
+ __ bind(slow_path);
+
+ (void) generate_native_entry(false);
+
+ return entry;
+ }
+ return generate_native_entry(false);
+}
+
+/**
+ * Method entry for static native methods:
+ * int java.util.zip.CRC32.updateBytes(int crc, byte[] b, int off, int len)
+ * int java.util.zip.CRC32.updateByteBuffer(int crc, long buf, int off, int len)
+ */
+address InterpreterGenerator::generate_CRC32_updateBytes_entry(AbstractInterpreter::MethodKind kind) {
+ if (UseCRC32Intrinsics) {
+ address entry = __ pc();
+
+ // rbx,: Method*
+ // r13: senderSP must preserved for slow path, set SP to it on fast path
+
+ Label slow_path;
+ // If we need a safepoint check, generate full interpreter entry.
+ ExternalAddress state(SafepointSynchronize::address_of_state());
+ __ cmp32(ExternalAddress(SafepointSynchronize::address_of_state()),
+ SafepointSynchronize::_not_synchronized);
+ __ jcc(Assembler::notEqual, slow_path);
+
+ // We don't generate local frame and don't align stack because
+ // we call stub code and there is no safepoint on this path.
+
+ // Load parameters
+ const Register crc = c_rarg0; // crc
+ const Register buf = c_rarg1; // source java byte array address
+ const Register len = c_rarg2; // length
+
+ // Arguments are reversed on java expression stack
+ __ movl(len, Address(rsp, wordSize)); // Length
+ // Calculate address of start element
+ if (kind == Interpreter::java_util_zip_CRC32_updateByteBuffer) {
+ __ movptr(buf, Address(rsp, 3*wordSize)); // long buf
+ __ addptr(buf, Address(rsp, 2*wordSize)); // + offset
+ __ movl(crc, Address(rsp, 5*wordSize)); // Initial CRC
+ } else {
+ __ movptr(buf, Address(rsp, 3*wordSize)); // byte[] array
+ __ addptr(buf, arrayOopDesc::base_offset_in_bytes(T_BYTE)); // + header size
+ __ addptr(buf, Address(rsp, 2*wordSize)); // + offset
+ __ movl(crc, Address(rsp, 4*wordSize)); // Initial CRC
+ }
+
+ __ super_call_VM_leaf(CAST_FROM_FN_PTR(address, StubRoutines::updateBytesCRC32()), crc, buf, len);
+ // result in rax
+
+ // _areturn
+ __ pop(rdi); // get return address
+ __ mov(rsp, r13); // set sp to sender sp
+ __ jmp(rdi);
+
+ // generate a vanilla native entry as the slow path
+ __ bind(slow_path);
+
+ (void) generate_native_entry(false);
+
+ return entry;
+ }
+ return generate_native_entry(false);
+}
// Interpreter stub for calling a native method. (asm interpreter)
// This sets up a somewhat different looking stack for calling the
@@ -1510,15 +1621,16 @@ address AbstractInterpreterGenerator::generate_method_entry(
// determine code generation flags
bool synchronized = false;
address entry_point = NULL;
+ InterpreterGenerator* ig_this = (InterpreterGenerator*)this;
switch (kind) {
- case Interpreter::zerolocals : break;
- case Interpreter::zerolocals_synchronized: synchronized = true; break;
- case Interpreter::native : entry_point = ((InterpreterGenerator*)this)->generate_native_entry(false); break;
- case Interpreter::native_synchronized : entry_point = ((InterpreterGenerator*)this)->generate_native_entry(true); break;
- case Interpreter::empty : entry_point = ((InterpreterGenerator*)this)->generate_empty_entry(); break;
- case Interpreter::accessor : entry_point = ((InterpreterGenerator*)this)->generate_accessor_entry(); break;
- case Interpreter::abstract : entry_point = ((InterpreterGenerator*)this)->generate_abstract_entry(); break;
+ case Interpreter::zerolocals : break;
+ case Interpreter::zerolocals_synchronized: synchronized = true; break;
+ case Interpreter::native : entry_point = ig_this->generate_native_entry(false); break;
+ case Interpreter::native_synchronized : entry_point = ig_this->generate_native_entry(true); break;
+ case Interpreter::empty : entry_point = ig_this->generate_empty_entry(); break;
+ case Interpreter::accessor : entry_point = ig_this->generate_accessor_entry(); break;
+ case Interpreter::abstract : entry_point = ig_this->generate_abstract_entry(); break;
case Interpreter::java_lang_math_sin : // fall thru
case Interpreter::java_lang_math_cos : // fall thru
@@ -1528,9 +1640,15 @@ address AbstractInterpreterGenerator::generate_method_entry(
case Interpreter::java_lang_math_log10 : // fall thru
case Interpreter::java_lang_math_sqrt : // fall thru
case Interpreter::java_lang_math_pow : // fall thru
- case Interpreter::java_lang_math_exp : entry_point = ((InterpreterGenerator*)this)->generate_math_entry(kind); break;
+ case Interpreter::java_lang_math_exp : entry_point = ig_this->generate_math_entry(kind); break;
case Interpreter::java_lang_ref_reference_get
- : entry_point = ((InterpreterGenerator*)this)->generate_Reference_get_entry(); break;
+ : entry_point = ig_this->generate_Reference_get_entry(); break;
+ case Interpreter::java_util_zip_CRC32_update
+ : entry_point = ig_this->generate_CRC32_update_entry(); break;
+ case Interpreter::java_util_zip_CRC32_updateBytes
+ : // fall thru
+ case Interpreter::java_util_zip_CRC32_updateByteBuffer
+ : entry_point = ig_this->generate_CRC32_updateBytes_entry(kind); break;
default:
fatal(err_msg("unexpected method kind: %d", kind));
break;
@@ -1540,8 +1658,7 @@ address AbstractInterpreterGenerator::generate_method_entry(
return entry_point;
}
- return ((InterpreterGenerator*) this)->
- generate_normal_entry(synchronized);
+ return ig_this->generate_normal_entry(synchronized);
}
// These should never be compiled since the interpreter will prefer
diff --git a/hotspot/src/cpu/x86/vm/vm_version_x86.cpp b/hotspot/src/cpu/x86/vm/vm_version_x86.cpp
index 90066c1041a..de38b4a3a53 100644
--- a/hotspot/src/cpu/x86/vm/vm_version_x86.cpp
+++ b/hotspot/src/cpu/x86/vm/vm_version_x86.cpp
@@ -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
@@ -446,6 +446,7 @@ void VM_Version::get_processor_features() {
(supports_avx() ? ", avx" : ""),
(supports_avx2() ? ", avx2" : ""),
(supports_aes() ? ", aes" : ""),
+ (supports_clmul() ? ", clmul" : ""),
(supports_erms() ? ", erms" : ""),
(supports_mmx_ext() ? ", mmxext" : ""),
(supports_3dnow_prefetch() ? ", 3dnowpref" : ""),
@@ -489,6 +490,27 @@ void VM_Version::get_processor_features() {
FLAG_SET_DEFAULT(UseAES, false);
}
+ // Use CLMUL instructions if available.
+ if (supports_clmul()) {
+ if (FLAG_IS_DEFAULT(UseCLMUL)) {
+ UseCLMUL = true;
+ }
+ } else if (UseCLMUL) {
+ if (!FLAG_IS_DEFAULT(UseCLMUL))
+ warning("CLMUL instructions not available on this CPU (AVX may also be required)");
+ FLAG_SET_DEFAULT(UseCLMUL, false);
+ }
+
+ if (UseCLMUL && (UseAVX > 0) && (UseSSE > 2)) {
+ if (FLAG_IS_DEFAULT(UseCRC32Intrinsics)) {
+ UseCRC32Intrinsics = true;
+ }
+ } else if (UseCRC32Intrinsics) {
+ if (!FLAG_IS_DEFAULT(UseCRC32Intrinsics))
+ warning("CRC32 Intrinsics requires AVX and CLMUL instructions (not available on this CPU)");
+ FLAG_SET_DEFAULT(UseCRC32Intrinsics, false);
+ }
+
// The AES intrinsic stubs require AES instruction support (of course)
// but also require sse3 mode for instructions it use.
if (UseAES && (UseSSE > 2)) {
diff --git a/hotspot/src/cpu/x86/vm/vm_version_x86.hpp b/hotspot/src/cpu/x86/vm/vm_version_x86.hpp
index ec8caba23f0..86e9b662d52 100644
--- a/hotspot/src/cpu/x86/vm/vm_version_x86.hpp
+++ b/hotspot/src/cpu/x86/vm/vm_version_x86.hpp
@@ -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
@@ -61,7 +61,8 @@ public:
uint32_t value;
struct {
uint32_t sse3 : 1,
- : 2,
+ clmul : 1,
+ : 1,
monitor : 1,
: 1,
vmx : 1,
@@ -249,7 +250,8 @@ protected:
CPU_AVX = (1 << 17),
CPU_AVX2 = (1 << 18),
CPU_AES = (1 << 19),
- CPU_ERMS = (1 << 20) // enhanced 'rep movsb/stosb' instructions
+ CPU_ERMS = (1 << 20), // enhanced 'rep movsb/stosb' instructions
+ CPU_CLMUL = (1 << 21) // carryless multiply for CRC
} cpuFeatureFlags;
enum {
@@ -429,6 +431,8 @@ protected:
result |= CPU_AES;
if (_cpuid_info.sef_cpuid7_ebx.bits.erms != 0)
result |= CPU_ERMS;
+ if (_cpuid_info.std_cpuid1_ecx.bits.clmul != 0)
+ result |= CPU_CLMUL;
// AMD features.
if (is_amd()) {
@@ -555,6 +559,7 @@ public:
static bool supports_tsc() { return (_cpuFeatures & CPU_TSC) != 0; }
static bool supports_aes() { return (_cpuFeatures & CPU_AES) != 0; }
static bool supports_erms() { return (_cpuFeatures & CPU_ERMS) != 0; }
+ static bool supports_clmul() { return (_cpuFeatures & CPU_CLMUL) != 0; }
// Intel features
static bool is_intel_family_core() { return is_intel() &&
diff --git a/hotspot/src/cpu/zero/vm/relocInfo_zero.cpp b/hotspot/src/cpu/zero/vm/relocInfo_zero.cpp
index ed7ee7bca6a..5cd6c62a8de 100644
--- a/hotspot/src/cpu/zero/vm/relocInfo_zero.cpp
+++ b/hotspot/src/cpu/zero/vm/relocInfo_zero.cpp
@@ -52,22 +52,6 @@ address* Relocation::pd_address_in_code() {
return (address *) addr();
}
-int Relocation::pd_breakpoint_size() {
- ShouldNotCallThis();
-}
-
-void Relocation::pd_swap_in_breakpoint(address x,
- short* instrs,
- int instrlen) {
- ShouldNotCallThis();
-}
-
-void Relocation::pd_swap_out_breakpoint(address x,
- short* instrs,
- int instrlen) {
- ShouldNotCallThis();
-}
-
void poll_Relocation::fix_relocation_after_move(const CodeBuffer* src,
CodeBuffer* dst) {
ShouldNotCallThis();
diff --git a/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp b/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp
index 1d17143761a..c04b225b830 100644
--- a/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp
+++ b/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp
@@ -58,7 +58,9 @@ define_pd_global(intx, ReservedCodeCacheSize, 32*M );
define_pd_global(bool, ProfileInterpreter, false);
define_pd_global(intx, CodeCacheExpansionSize, 32*K );
define_pd_global(uintx, CodeCacheMinBlockLength, 1 );
-define_pd_global(uintx, MetaspaceSize, 12*M );
+define_pd_global(uintx, CodeCacheMinimumUseSpace, 200*K);
+
+define_pd_global(uintx, MetaspaceSize, 12*M );
define_pd_global(bool, NeverActAsServerClassMachine, true );
define_pd_global(uint64_t, MaxRAM, 1ULL*G);
define_pd_global(bool, CICompileOSR, true );
diff --git a/hotspot/src/os/bsd/dtrace/jvm_dtrace.c b/hotspot/src/os/bsd/dtrace/jvm_dtrace.c
index fd0c4333cba..6cdad788572 100644
--- a/hotspot/src/os/bsd/dtrace/jvm_dtrace.c
+++ b/hotspot/src/os/bsd/dtrace/jvm_dtrace.c
@@ -122,9 +122,7 @@ static int file_open(const char* path, int flag) {
}
static int file_close(int fd) {
- int ret;
- RESTARTABLE(close(fd), ret);
- return ret;
+ return close(fd);
}
static int file_read(int fd, char* buf, int len) {
diff --git a/hotspot/src/os/bsd/vm/attachListener_bsd.cpp b/hotspot/src/os/bsd/vm/attachListener_bsd.cpp
index 81fba25efd8..ee4feb8d046 100644
--- a/hotspot/src/os/bsd/vm/attachListener_bsd.cpp
+++ b/hotspot/src/os/bsd/vm/attachListener_bsd.cpp
@@ -199,7 +199,7 @@ int BsdAttachListener::init() {
::unlink(initial_path);
int res = ::bind(listener, (struct sockaddr*)&addr, sizeof(addr));
if (res == -1) {
- RESTARTABLE(::close(listener), res);
+ ::close(listener);
return -1;
}
@@ -217,7 +217,7 @@ int BsdAttachListener::init() {
}
}
if (res == -1) {
- RESTARTABLE(::close(listener), res);
+ ::close(listener);
::unlink(initial_path);
return -1;
}
@@ -345,24 +345,21 @@ BsdAttachOperation* BsdAttachListener::dequeue() {
uid_t puid;
gid_t pgid;
if (::getpeereid(s, &puid, &pgid) != 0) {
- int res;
- RESTARTABLE(::close(s), res);
+ ::close(s);
continue;
}
uid_t euid = geteuid();
gid_t egid = getegid();
if (puid != euid || pgid != egid) {
- int res;
- RESTARTABLE(::close(s), res);
+ ::close(s);
continue;
}
// peer credential look okay so we read the request
BsdAttachOperation* op = read_request(s);
if (op == NULL) {
- int res;
- RESTARTABLE(::close(s), res);
+ ::close(s);
continue;
} else {
return op;
@@ -413,7 +410,7 @@ void BsdAttachOperation::complete(jint result, bufferedStream* st) {
}
// done
- RESTARTABLE(::close(this->socket()), rc);
+ ::close(this->socket());
// were we externally suspended while we were waiting?
thread->check_and_wait_while_suspended();
diff --git a/hotspot/src/os/bsd/vm/os_bsd.cpp b/hotspot/src/os/bsd/vm/os_bsd.cpp
index e1864effbcf..2db740583e8 100644
--- a/hotspot/src/os/bsd/vm/os_bsd.cpp
+++ b/hotspot/src/os/bsd/vm/os_bsd.cpp
@@ -2074,6 +2074,13 @@ void bsd_wrap_code(char* base, size_t size) {
}
}
+static void warn_fail_commit_memory(char* addr, size_t size, bool exec,
+ int err) {
+ warning("INFO: os::commit_memory(" PTR_FORMAT ", " SIZE_FORMAT
+ ", %d) failed; error='%s' (errno=%d)", addr, size, exec,
+ strerror(err), err);
+}
+
// NOTE: Bsd kernel does not really reserve the pages for us.
// All it does is to check if there are enough free pages
// left at the time of mmap(). This could be a potential
@@ -2082,18 +2089,45 @@ bool os::pd_commit_memory(char* addr, size_t size, bool exec) {
int prot = exec ? PROT_READ|PROT_WRITE|PROT_EXEC : PROT_READ|PROT_WRITE;
#ifdef __OpenBSD__
// XXX: Work-around mmap/MAP_FIXED bug temporarily on OpenBSD
- return ::mprotect(addr, size, prot) == 0;
+ if (::mprotect(addr, size, prot) == 0) {
+ return true;
+ }
#else
uintptr_t res = (uintptr_t) ::mmap(addr, size, prot,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0);
- return res != (uintptr_t) MAP_FAILED;
+ if (res != (uintptr_t) MAP_FAILED) {
+ return true;
+ }
#endif
-}
+ // Warn about any commit errors we see in non-product builds just
+ // in case mmap() doesn't work as described on the man page.
+ NOT_PRODUCT(warn_fail_commit_memory(addr, size, exec, errno);)
+
+ return false;
+}
bool os::pd_commit_memory(char* addr, size_t size, size_t alignment_hint,
bool exec) {
- return commit_memory(addr, size, exec);
+ // alignment_hint is ignored on this OS
+ return pd_commit_memory(addr, size, exec);
+}
+
+void os::pd_commit_memory_or_exit(char* addr, size_t size, bool exec,
+ const char* mesg) {
+ assert(mesg != NULL, "mesg must be specified");
+ if (!pd_commit_memory(addr, size, exec)) {
+ // add extra info in product mode for vm_exit_out_of_memory():
+ PRODUCT_ONLY(warn_fail_commit_memory(addr, size, exec, errno);)
+ vm_exit_out_of_memory(size, OOM_MMAP_ERROR, mesg);
+ }
+}
+
+void os::pd_commit_memory_or_exit(char* addr, size_t size,
+ size_t alignment_hint, bool exec,
+ const char* mesg) {
+ // alignment_hint is ignored on this OS
+ pd_commit_memory_or_exit(addr, size, exec, mesg);
}
void os::pd_realign_memory(char *addr, size_t bytes, size_t alignment_hint) {
@@ -2148,7 +2182,7 @@ bool os::pd_uncommit_memory(char* addr, size_t size) {
}
bool os::pd_create_stack_guard_pages(char* addr, size_t size) {
- return os::commit_memory(addr, size);
+ return os::commit_memory(addr, size, !ExecMem);
}
// If this is a growable mapping, remove the guard pages entirely by
@@ -2320,21 +2354,20 @@ char* os::reserve_memory_special(size_t bytes, char* req_addr, bool exec) {
}
// The memory is committed
- address pc = CALLER_PC;
- MemTracker::record_virtual_memory_reserve((address)addr, bytes, pc);
- MemTracker::record_virtual_memory_commit((address)addr, bytes, pc);
+ MemTracker::record_virtual_memory_reserve_and_commit((address)addr, bytes, mtNone, CALLER_PC);
return addr;
}
bool os::release_memory_special(char* base, size_t bytes) {
+ MemTracker::Tracker tkr = MemTracker::get_virtual_memory_release_tracker();
// detaching the SHM segment will also delete it, see reserve_memory_special()
int rslt = shmdt(base);
if (rslt == 0) {
- MemTracker::record_virtual_memory_uncommit((address)base, bytes);
- MemTracker::record_virtual_memory_release((address)base, bytes);
+ tkr.record((address)base, bytes);
return true;
} else {
+ tkr.discard();
return false;
}
@@ -3512,7 +3545,7 @@ jint os::init_2(void)
if (!UseMembar) {
address mem_serialize_page = (address) ::mmap(NULL, Bsd::page_size(), PROT_READ | PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
- guarantee( mem_serialize_page != NULL, "mmap Failed for memory serialize page");
+ guarantee( mem_serialize_page != MAP_FAILED, "mmap Failed for memory serialize page");
os::set_memory_serialize_page( mem_serialize_page );
#ifndef PRODUCT
diff --git a/hotspot/src/os/bsd/vm/os_bsd.inline.hpp b/hotspot/src/os/bsd/vm/os_bsd.inline.hpp
index 33ebec9fffc..cf8453332eb 100644
--- a/hotspot/src/os/bsd/vm/os_bsd.inline.hpp
+++ b/hotspot/src/os/bsd/vm/os_bsd.inline.hpp
@@ -178,11 +178,11 @@ inline size_t os::write(int fd, const void *buf, unsigned int nBytes) {
}
inline int os::close(int fd) {
- RESTARTABLE_RETURN_INT(::close(fd));
+ return ::close(fd);
}
inline int os::socket_close(int fd) {
- RESTARTABLE_RETURN_INT(::close(fd));
+ return ::close(fd);
}
inline int os::socket(int domain, int type, int protocol) {
diff --git a/hotspot/src/os/bsd/vm/perfMemory_bsd.cpp b/hotspot/src/os/bsd/vm/perfMemory_bsd.cpp
index 3b794b70230..f59b763b325 100644
--- a/hotspot/src/os/bsd/vm/perfMemory_bsd.cpp
+++ b/hotspot/src/os/bsd/vm/perfMemory_bsd.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -60,7 +60,7 @@ static char* create_standard_memory(size_t size) {
}
// commit memory
- if (!os::commit_memory(mapAddress, size)) {
+ if (!os::commit_memory(mapAddress, size, !ExecMem)) {
if (PrintMiscellaneous && Verbose) {
warning("Could not commit PerfData memory\n");
}
@@ -120,7 +120,7 @@ static void save_memory_to_file(char* addr, size_t size) {
addr += result;
}
- RESTARTABLE(::close(fd), result);
+ result = ::close(fd);
if (PrintMiscellaneous && Verbose) {
if (result == OS_ERR) {
warning("Could not close %s: %s\n", destfile, strerror(errno));
@@ -632,7 +632,7 @@ static int create_sharedmem_resources(const char* dirname, const char* filename,
if (PrintMiscellaneous && Verbose) {
warning("could not set shared memory file size: %s\n", strerror(errno));
}
- RESTARTABLE(::close(fd), result);
+ ::close(fd);
return -1;
}
@@ -656,7 +656,7 @@ static int create_sharedmem_resources(const char* dirname, const char* filename,
if (result != -1) {
return fd;
} else {
- RESTARTABLE(::close(fd), result);
+ ::close(fd);
return -1;
}
}
@@ -734,9 +734,7 @@ static char* mmap_create_shared(size_t size) {
mapAddress = (char*)::mmap((char*)0, size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
- // attempt to close the file - restart it if it was interrupted,
- // but ignore other failures
- RESTARTABLE(::close(fd), result);
+ result = ::close(fd);
assert(result != OS_ERR, "could not close file");
if (mapAddress == MAP_FAILED) {
@@ -755,8 +753,7 @@ static char* mmap_create_shared(size_t size) {
(void)::memset((void*) mapAddress, 0, size);
// it does not go through os api, the operation has to record from here
- MemTracker::record_virtual_memory_reserve((address)mapAddress, size, CURRENT_PC);
- MemTracker::record_virtual_memory_type((address)mapAddress, mtInternal);
+ MemTracker::record_virtual_memory_reserve((address)mapAddress, size, mtInternal, CURRENT_PC);
return mapAddress;
}
@@ -909,7 +906,7 @@ static void mmap_attach_shared(const char* user, int vmid, PerfMemory::PerfMemor
// attempt to close the file - restart if it gets interrupted,
// but ignore other failures
- RESTARTABLE(::close(fd), result);
+ result = ::close(fd);
assert(result != OS_ERR, "could not close file");
if (mapAddress == MAP_FAILED) {
@@ -921,8 +918,7 @@ static void mmap_attach_shared(const char* user, int vmid, PerfMemory::PerfMemor
}
// it does not go through os api, the operation has to record from here
- MemTracker::record_virtual_memory_reserve((address)mapAddress, size, CURRENT_PC);
- MemTracker::record_virtual_memory_type((address)mapAddress, mtInternal);
+ MemTracker::record_virtual_memory_reserve((address)mapAddress, size, mtInternal, CURRENT_PC);
*addr = mapAddress;
*sizep = size;
diff --git a/hotspot/src/os/linux/vm/attachListener_linux.cpp b/hotspot/src/os/linux/vm/attachListener_linux.cpp
index 5b9c7294995..035d298a36c 100644
--- a/hotspot/src/os/linux/vm/attachListener_linux.cpp
+++ b/hotspot/src/os/linux/vm/attachListener_linux.cpp
@@ -199,7 +199,7 @@ int LinuxAttachListener::init() {
::unlink(initial_path);
int res = ::bind(listener, (struct sockaddr*)&addr, sizeof(addr));
if (res == -1) {
- RESTARTABLE(::close(listener), res);
+ ::close(listener);
return -1;
}
@@ -212,7 +212,7 @@ int LinuxAttachListener::init() {
}
}
if (res == -1) {
- RESTARTABLE(::close(listener), res);
+ ::close(listener);
::unlink(initial_path);
return -1;
}
@@ -340,24 +340,21 @@ LinuxAttachOperation* LinuxAttachListener::dequeue() {
struct ucred cred_info;
socklen_t optlen = sizeof(cred_info);
if (::getsockopt(s, SOL_SOCKET, SO_PEERCRED, (void*)&cred_info, &optlen) == -1) {
- int res;
- RESTARTABLE(::close(s), res);
+ ::close(s);
continue;
}
uid_t euid = geteuid();
gid_t egid = getegid();
if (cred_info.uid != euid || cred_info.gid != egid) {
- int res;
- RESTARTABLE(::close(s), res);
+ ::close(s);
continue;
}
// peer credential look okay so we read the request
LinuxAttachOperation* op = read_request(s);
if (op == NULL) {
- int res;
- RESTARTABLE(::close(s), res);
+ ::close(s);
continue;
} else {
return op;
@@ -408,7 +405,7 @@ void LinuxAttachOperation::complete(jint result, bufferedStream* st) {
}
// done
- RESTARTABLE(::close(this->socket()), rc);
+ ::close(this->socket());
// were we externally suspended while we were waiting?
thread->check_and_wait_while_suspended();
diff --git a/hotspot/src/os/linux/vm/os_linux.cpp b/hotspot/src/os/linux/vm/os_linux.cpp
index 4b975461ee9..53bfe4e7369 100644
--- a/hotspot/src/os/linux/vm/os_linux.cpp
+++ b/hotspot/src/os/linux/vm/os_linux.cpp
@@ -2612,11 +2612,49 @@ void linux_wrap_code(char* base, size_t size) {
}
}
+static bool recoverable_mmap_error(int err) {
+ // See if the error is one we can let the caller handle. This
+ // list of errno values comes from JBS-6843484. I can't find a
+ // Linux man page that documents this specific set of errno
+ // values so while this list currently matches Solaris, it may
+ // change as we gain experience with this failure mode.
+ switch (err) {
+ case EBADF:
+ case EINVAL:
+ case ENOTSUP:
+ // let the caller deal with these errors
+ return true;
+
+ default:
+ // Any remaining errors on this OS can cause our reserved mapping
+ // to be lost. That can cause confusion where different data
+ // structures think they have the same memory mapped. The worst
+ // scenario is if both the VM and a library think they have the
+ // same memory mapped.
+ return false;
+ }
+}
+
+static void warn_fail_commit_memory(char* addr, size_t size, bool exec,
+ int err) {
+ warning("INFO: os::commit_memory(" PTR_FORMAT ", " SIZE_FORMAT
+ ", %d) failed; error='%s' (errno=%d)", addr, size, exec,
+ strerror(err), err);
+}
+
+static void warn_fail_commit_memory(char* addr, size_t size,
+ size_t alignment_hint, bool exec,
+ int err) {
+ warning("INFO: os::commit_memory(" PTR_FORMAT ", " SIZE_FORMAT
+ ", " SIZE_FORMAT ", %d) failed; error='%s' (errno=%d)", addr, size,
+ alignment_hint, exec, strerror(err), err);
+}
+
// NOTE: Linux kernel does not really reserve the pages for us.
// All it does is to check if there are enough free pages
// left at the time of mmap(). This could be a potential
// problem.
-bool os::pd_commit_memory(char* addr, size_t size, bool exec) {
+int os::Linux::commit_memory_impl(char* addr, size_t size, bool exec) {
int prot = exec ? PROT_READ|PROT_WRITE|PROT_EXEC : PROT_READ|PROT_WRITE;
uintptr_t res = (uintptr_t) ::mmap(addr, size, prot,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0);
@@ -2624,9 +2662,32 @@ bool os::pd_commit_memory(char* addr, size_t size, bool exec) {
if (UseNUMAInterleaving) {
numa_make_global(addr, size);
}
- return true;
+ return 0;
+ }
+
+ int err = errno; // save errno from mmap() call above
+
+ if (!recoverable_mmap_error(err)) {
+ warn_fail_commit_memory(addr, size, exec, err);
+ vm_exit_out_of_memory(size, OOM_MMAP_ERROR, "committing reserved memory.");
+ }
+
+ return err;
+}
+
+bool os::pd_commit_memory(char* addr, size_t size, bool exec) {
+ return os::Linux::commit_memory_impl(addr, size, exec) == 0;
+}
+
+void os::pd_commit_memory_or_exit(char* addr, size_t size, bool exec,
+ const char* mesg) {
+ assert(mesg != NULL, "mesg must be specified");
+ int err = os::Linux::commit_memory_impl(addr, size, exec);
+ if (err != 0) {
+ // the caller wants all commit errors to exit with the specified mesg:
+ warn_fail_commit_memory(addr, size, exec, err);
+ vm_exit_out_of_memory(size, OOM_MMAP_ERROR, mesg);
}
- return false;
}
// Define MAP_HUGETLB here so we can build HotSpot on old systems.
@@ -2639,8 +2700,9 @@ bool os::pd_commit_memory(char* addr, size_t size, bool exec) {
#define MADV_HUGEPAGE 14
#endif
-bool os::pd_commit_memory(char* addr, size_t size, size_t alignment_hint,
- bool exec) {
+int os::Linux::commit_memory_impl(char* addr, size_t size,
+ size_t alignment_hint, bool exec) {
+ int err;
if (UseHugeTLBFS && alignment_hint > (size_t)vm_page_size()) {
int prot = exec ? PROT_READ|PROT_WRITE|PROT_EXEC : PROT_READ|PROT_WRITE;
uintptr_t res =
@@ -2651,16 +2713,46 @@ bool os::pd_commit_memory(char* addr, size_t size, size_t alignment_hint,
if (UseNUMAInterleaving) {
numa_make_global(addr, size);
}
- return true;
+ return 0;
+ }
+
+ err = errno; // save errno from mmap() call above
+
+ if (!recoverable_mmap_error(err)) {
+ // However, it is not clear that this loss of our reserved mapping
+ // happens with large pages on Linux or that we cannot recover
+ // from the loss. For now, we just issue a warning and we don't
+ // call vm_exit_out_of_memory(). This issue is being tracked by
+ // JBS-8007074.
+ warn_fail_commit_memory(addr, size, alignment_hint, exec, err);
+// vm_exit_out_of_memory(size, OOM_MMAP_ERROR,
+// "committing reserved memory.");
}
// Fall through and try to use small pages
}
- if (commit_memory(addr, size, exec)) {
+ err = os::Linux::commit_memory_impl(addr, size, exec);
+ if (err == 0) {
realign_memory(addr, size, alignment_hint);
- return true;
}
- return false;
+ return err;
+}
+
+bool os::pd_commit_memory(char* addr, size_t size, size_t alignment_hint,
+ bool exec) {
+ return os::Linux::commit_memory_impl(addr, size, alignment_hint, exec) == 0;
+}
+
+void os::pd_commit_memory_or_exit(char* addr, size_t size,
+ size_t alignment_hint, bool exec,
+ const char* mesg) {
+ assert(mesg != NULL, "mesg must be specified");
+ int err = os::Linux::commit_memory_impl(addr, size, alignment_hint, exec);
+ if (err != 0) {
+ // the caller wants all commit errors to exit with the specified mesg:
+ warn_fail_commit_memory(addr, size, alignment_hint, exec, err);
+ vm_exit_out_of_memory(size, OOM_MMAP_ERROR, mesg);
+ }
}
void os::pd_realign_memory(char *addr, size_t bytes, size_t alignment_hint) {
@@ -2678,7 +2770,7 @@ void os::pd_free_memory(char *addr, size_t bytes, size_t alignment_hint) {
// small pages on top of the SHM segment. This method always works for small pages, so we
// allow that in any case.
if (alignment_hint <= (size_t)os::vm_page_size() || !UseSHM) {
- commit_memory(addr, bytes, alignment_hint, false);
+ commit_memory(addr, bytes, alignment_hint, !ExecMem);
}
}
@@ -2931,7 +3023,7 @@ bool os::pd_create_stack_guard_pages(char* addr, size_t size) {
::munmap((void*)stack_extent, (uintptr_t)addr - stack_extent);
}
- return os::commit_memory(addr, size);
+ return os::commit_memory(addr, size, !ExecMem);
}
// If this is a growable mapping, remove the guard pages entirely by
@@ -3053,7 +3145,7 @@ bool os::Linux::hugetlbfs_sanity_check(bool warn, size_t page_size) {
MAP_ANONYMOUS|MAP_PRIVATE|MAP_HUGETLB,
-1, 0);
- if (p != (void *) -1) {
+ if (p != MAP_FAILED) {
// We don't know if this really is a huge page or not.
FILE *fp = fopen("/proc/self/maps", "r");
if (fp) {
@@ -3271,22 +3363,21 @@ char* os::reserve_memory_special(size_t bytes, char* req_addr, bool exec) {
}
// The memory is committed
- address pc = CALLER_PC;
- MemTracker::record_virtual_memory_reserve((address)addr, bytes, pc);
- MemTracker::record_virtual_memory_commit((address)addr, bytes, pc);
+ MemTracker::record_virtual_memory_reserve_and_commit((address)addr, bytes, mtNone, CALLER_PC);
return addr;
}
bool os::release_memory_special(char* base, size_t bytes) {
+ MemTracker::Tracker tkr = MemTracker::get_virtual_memory_release_tracker();
// detaching the SHM segment will also delete it, see reserve_memory_special()
int rslt = shmdt(base);
if (rslt == 0) {
- MemTracker::record_virtual_memory_uncommit((address)base, bytes);
- MemTracker::record_virtual_memory_release((address)base, bytes);
+ tkr.record((address)base, bytes);
return true;
} else {
- return false;
+ tkr.discard();
+ return false;
}
}
@@ -4393,7 +4484,7 @@ jint os::init_2(void)
if (!UseMembar) {
address mem_serialize_page = (address) ::mmap(NULL, Linux::page_size(), PROT_READ | PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
- guarantee( mem_serialize_page != NULL, "mmap Failed for memory serialize page");
+ guarantee( mem_serialize_page != MAP_FAILED, "mmap Failed for memory serialize page");
os::set_memory_serialize_page( mem_serialize_page );
#ifndef PRODUCT
diff --git a/hotspot/src/os/linux/vm/os_linux.hpp b/hotspot/src/os/linux/vm/os_linux.hpp
index 41c29f680a7..8c5032fc23b 100644
--- a/hotspot/src/os/linux/vm/os_linux.hpp
+++ b/hotspot/src/os/linux/vm/os_linux.hpp
@@ -76,6 +76,10 @@ class Linux {
static julong physical_memory() { return _physical_memory; }
static void initialize_system_info();
+ static int commit_memory_impl(char* addr, size_t bytes, bool exec);
+ static int commit_memory_impl(char* addr, size_t bytes,
+ size_t alignment_hint, bool exec);
+
static void set_glibc_version(const char *s) { _glibc_version = s; }
static void set_libpthread_version(const char *s) { _libpthread_version = s; }
diff --git a/hotspot/src/os/linux/vm/perfMemory_linux.cpp b/hotspot/src/os/linux/vm/perfMemory_linux.cpp
index d1859b9a6c5..87fc56b2b58 100644
--- a/hotspot/src/os/linux/vm/perfMemory_linux.cpp
+++ b/hotspot/src/os/linux/vm/perfMemory_linux.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -60,7 +60,7 @@ static char* create_standard_memory(size_t size) {
}
// commit memory
- if (!os::commit_memory(mapAddress, size)) {
+ if (!os::commit_memory(mapAddress, size, !ExecMem)) {
if (PrintMiscellaneous && Verbose) {
warning("Could not commit PerfData memory\n");
}
@@ -120,7 +120,7 @@ static void save_memory_to_file(char* addr, size_t size) {
addr += result;
}
- RESTARTABLE(::close(fd), result);
+ result = ::close(fd);
if (PrintMiscellaneous && Verbose) {
if (result == OS_ERR) {
warning("Could not close %s: %s\n", destfile, strerror(errno));
@@ -632,7 +632,7 @@ static int create_sharedmem_resources(const char* dirname, const char* filename,
if (PrintMiscellaneous && Verbose) {
warning("could not set shared memory file size: %s\n", strerror(errno));
}
- RESTARTABLE(::close(fd), result);
+ ::close(fd);
return -1;
}
@@ -656,7 +656,7 @@ static int create_sharedmem_resources(const char* dirname, const char* filename,
if (result != -1) {
return fd;
} else {
- RESTARTABLE(::close(fd), result);
+ ::close(fd);
return -1;
}
}
@@ -734,9 +734,7 @@ static char* mmap_create_shared(size_t size) {
mapAddress = (char*)::mmap((char*)0, size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
- // attempt to close the file - restart it if it was interrupted,
- // but ignore other failures
- RESTARTABLE(::close(fd), result);
+ result = ::close(fd);
assert(result != OS_ERR, "could not close file");
if (mapAddress == MAP_FAILED) {
@@ -755,8 +753,7 @@ static char* mmap_create_shared(size_t size) {
(void)::memset((void*) mapAddress, 0, size);
// it does not go through os api, the operation has to record from here
- MemTracker::record_virtual_memory_reserve((address)mapAddress, size, CURRENT_PC);
- MemTracker::record_virtual_memory_type((address)mapAddress, mtInternal);
+ MemTracker::record_virtual_memory_reserve((address)mapAddress, size, mtInternal, CURRENT_PC);
return mapAddress;
}
@@ -907,9 +904,7 @@ static void mmap_attach_shared(const char* user, int vmid, PerfMemory::PerfMemor
mapAddress = (char*)::mmap((char*)0, size, mmap_prot, MAP_SHARED, fd, 0);
- // attempt to close the file - restart if it gets interrupted,
- // but ignore other failures
- RESTARTABLE(::close(fd), result);
+ result = ::close(fd);
assert(result != OS_ERR, "could not close file");
if (mapAddress == MAP_FAILED) {
@@ -921,8 +916,7 @@ static void mmap_attach_shared(const char* user, int vmid, PerfMemory::PerfMemor
}
// it does not go through os api, the operation has to record from here
- MemTracker::record_virtual_memory_reserve((address)mapAddress, size, CURRENT_PC);
- MemTracker::record_virtual_memory_type((address)mapAddress, mtInternal);
+ MemTracker::record_virtual_memory_reserve((address)mapAddress, size, mtInternal, CURRENT_PC);
*addr = mapAddress;
*sizep = size;
diff --git a/hotspot/src/os/solaris/dtrace/jhelper.d b/hotspot/src/os/solaris/dtrace/jhelper.d
index 976a832107f..752f5ae535e 100644
--- a/hotspot/src/os/solaris/dtrace/jhelper.d
+++ b/hotspot/src/os/solaris/dtrace/jhelper.d
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -332,12 +332,15 @@ dtrace:helper:ustack:
this->nameSymbol = copyin_ptr(this->constantPool +
this->nameIndex * sizeof (pointer) + SIZE_ConstantPool);
+ /* The symbol is a CPSlot and has lower bit set to indicate metadata */
+ this->nameSymbol &= (~1); /* remove metadata lsb */
this->nameSymbolLength = copyin_uint16(this->nameSymbol +
OFFSET_Symbol_length);
this->signatureSymbol = copyin_ptr(this->constantPool +
this->signatureIndex * sizeof (pointer) + SIZE_ConstantPool);
+ this->signatureSymbol &= (~1); /* remove metadata lsb */
this->signatureSymbolLength = copyin_uint16(this->signatureSymbol +
OFFSET_Symbol_length);
diff --git a/hotspot/src/os/solaris/dtrace/jvm_dtrace.c b/hotspot/src/os/solaris/dtrace/jvm_dtrace.c
index fd0c4333cba..6cdad788572 100644
--- a/hotspot/src/os/solaris/dtrace/jvm_dtrace.c
+++ b/hotspot/src/os/solaris/dtrace/jvm_dtrace.c
@@ -122,9 +122,7 @@ static int file_open(const char* path, int flag) {
}
static int file_close(int fd) {
- int ret;
- RESTARTABLE(close(fd), ret);
- return ret;
+ return close(fd);
}
static int file_read(int fd, char* buf, int len) {
diff --git a/hotspot/src/os/solaris/vm/attachListener_solaris.cpp b/hotspot/src/os/solaris/vm/attachListener_solaris.cpp
index f90538efe77..9cc66876268 100644
--- a/hotspot/src/os/solaris/vm/attachListener_solaris.cpp
+++ b/hotspot/src/os/solaris/vm/attachListener_solaris.cpp
@@ -392,7 +392,7 @@ int SolarisAttachListener::create_door() {
return -1;
}
assert(fd >= 0, "bad file descriptor");
- RESTARTABLE(::close(fd), res);
+ ::close(fd);
// attach the door descriptor to the file
if ((res = ::fattach(dd, initial_path)) == -1) {
@@ -410,7 +410,7 @@ int SolarisAttachListener::create_door() {
// rename file so that clients can attach
if (dd >= 0) {
if (::rename(initial_path, door_path) == -1) {
- RESTARTABLE(::close(dd), res);
+ ::close(dd);
::fdetach(initial_path);
dd = -1;
}
@@ -549,7 +549,7 @@ void SolarisAttachOperation::complete(jint res, bufferedStream* st) {
}
// close socket and we're done
- RESTARTABLE(::close(this->socket()), rc);
+ ::close(this->socket());
// were we externally suspended while we were waiting?
thread->check_and_wait_while_suspended();
diff --git a/hotspot/src/os/solaris/vm/os_solaris.cpp b/hotspot/src/os/solaris/vm/os_solaris.cpp
index 5df7a8b403b..ad8c52914be 100644
--- a/hotspot/src/os/solaris/vm/os_solaris.cpp
+++ b/hotspot/src/os/solaris/vm/os_solaris.cpp
@@ -2784,7 +2784,42 @@ int os::vm_allocation_granularity() {
return page_size;
}
-bool os::pd_commit_memory(char* addr, size_t bytes, bool exec) {
+static bool recoverable_mmap_error(int err) {
+ // See if the error is one we can let the caller handle. This
+ // list of errno values comes from the Solaris mmap(2) man page.
+ switch (err) {
+ case EBADF:
+ case EINVAL:
+ case ENOTSUP:
+ // let the caller deal with these errors
+ return true;
+
+ default:
+ // Any remaining errors on this OS can cause our reserved mapping
+ // to be lost. That can cause confusion where different data
+ // structures think they have the same memory mapped. The worst
+ // scenario is if both the VM and a library think they have the
+ // same memory mapped.
+ return false;
+ }
+}
+
+static void warn_fail_commit_memory(char* addr, size_t bytes, bool exec,
+ int err) {
+ warning("INFO: os::commit_memory(" PTR_FORMAT ", " SIZE_FORMAT
+ ", %d) failed; error='%s' (errno=%d)", addr, bytes, exec,
+ strerror(err), err);
+}
+
+static void warn_fail_commit_memory(char* addr, size_t bytes,
+ size_t alignment_hint, bool exec,
+ int err) {
+ warning("INFO: os::commit_memory(" PTR_FORMAT ", " SIZE_FORMAT
+ ", " SIZE_FORMAT ", %d) failed; error='%s' (errno=%d)", addr, bytes,
+ alignment_hint, exec, strerror(err), err);
+}
+
+int os::Solaris::commit_memory_impl(char* addr, size_t bytes, bool exec) {
int prot = exec ? PROT_READ|PROT_WRITE|PROT_EXEC : PROT_READ|PROT_WRITE;
size_t size = bytes;
char *res = Solaris::mmap_chunk(addr, size, MAP_PRIVATE|MAP_FIXED, prot);
@@ -2792,14 +2827,38 @@ bool os::pd_commit_memory(char* addr, size_t bytes, bool exec) {
if (UseNUMAInterleaving) {
numa_make_global(addr, bytes);
}
- return true;
+ return 0;
}
- return false;
+
+ int err = errno; // save errno from mmap() call in mmap_chunk()
+
+ if (!recoverable_mmap_error(err)) {
+ warn_fail_commit_memory(addr, bytes, exec, err);
+ vm_exit_out_of_memory(bytes, OOM_MMAP_ERROR, "committing reserved memory.");
+ }
+
+ return err;
}
-bool os::pd_commit_memory(char* addr, size_t bytes, size_t alignment_hint,
- bool exec) {
- if (commit_memory(addr, bytes, exec)) {
+bool os::pd_commit_memory(char* addr, size_t bytes, bool exec) {
+ return Solaris::commit_memory_impl(addr, bytes, exec) == 0;
+}
+
+void os::pd_commit_memory_or_exit(char* addr, size_t bytes, bool exec,
+ const char* mesg) {
+ assert(mesg != NULL, "mesg must be specified");
+ int err = os::Solaris::commit_memory_impl(addr, bytes, exec);
+ if (err != 0) {
+ // the caller wants all commit errors to exit with the specified mesg:
+ warn_fail_commit_memory(addr, bytes, exec, err);
+ vm_exit_out_of_memory(bytes, OOM_MMAP_ERROR, mesg);
+ }
+}
+
+int os::Solaris::commit_memory_impl(char* addr, size_t bytes,
+ size_t alignment_hint, bool exec) {
+ int err = Solaris::commit_memory_impl(addr, bytes, exec);
+ if (err == 0) {
if (UseMPSS && alignment_hint > (size_t)vm_page_size()) {
// If the large page size has been set and the VM
// is using large pages, use the large page size
@@ -2821,9 +2880,25 @@ bool os::pd_commit_memory(char* addr, size_t bytes, size_t alignment_hint,
// Since this is a hint, ignore any failures.
(void)Solaris::set_mpss_range(addr, bytes, page_size);
}
- return true;
}
- return false;
+ return err;
+}
+
+bool os::pd_commit_memory(char* addr, size_t bytes, size_t alignment_hint,
+ bool exec) {
+ return Solaris::commit_memory_impl(addr, bytes, alignment_hint, exec) == 0;
+}
+
+void os::pd_commit_memory_or_exit(char* addr, size_t bytes,
+ size_t alignment_hint, bool exec,
+ const char* mesg) {
+ assert(mesg != NULL, "mesg must be specified");
+ int err = os::Solaris::commit_memory_impl(addr, bytes, alignment_hint, exec);
+ if (err != 0) {
+ // the caller wants all commit errors to exit with the specified mesg:
+ warn_fail_commit_memory(addr, bytes, alignment_hint, exec, err);
+ vm_exit_out_of_memory(bytes, OOM_MMAP_ERROR, mesg);
+ }
}
// Uncommit the pages in a specified region.
@@ -2835,7 +2910,7 @@ void os::pd_free_memory(char* addr, size_t bytes, size_t alignment_hint) {
}
bool os::pd_create_stack_guard_pages(char* addr, size_t size) {
- return os::commit_memory(addr, size);
+ return os::commit_memory(addr, size, !ExecMem);
}
bool os::remove_stack_guard_pages(char* addr, size_t size) {
@@ -3457,22 +3532,21 @@ char* os::reserve_memory_special(size_t size, char* addr, bool exec) {
}
// The memory is committed
- address pc = CALLER_PC;
- MemTracker::record_virtual_memory_reserve((address)retAddr, size, pc);
- MemTracker::record_virtual_memory_commit((address)retAddr, size, pc);
+ MemTracker::record_virtual_memory_reserve_and_commit((address)retAddr, size, mtNone, CURRENT_PC);
return retAddr;
}
bool os::release_memory_special(char* base, size_t bytes) {
+ MemTracker::Tracker tkr = MemTracker::get_virtual_memory_release_tracker();
// detaching the SHM segment will also delete it, see reserve_memory_special()
int rslt = shmdt(base);
if (rslt == 0) {
- MemTracker::record_virtual_memory_uncommit((address)base, bytes);
- MemTracker::record_virtual_memory_release((address)base, bytes);
+ tkr.record((address)base, bytes);
return true;
} else {
- return false;
+ tkr.discard();
+ return false;
}
}
@@ -6604,11 +6678,11 @@ size_t os::write(int fd, const void *buf, unsigned int nBytes) {
}
int os::close(int fd) {
- RESTARTABLE_RETURN_INT(::close(fd));
+ return ::close(fd);
}
int os::socket_close(int fd) {
- RESTARTABLE_RETURN_INT(::close(fd));
+ return ::close(fd);
}
int os::recv(int fd, char* buf, size_t nBytes, uint flags) {
diff --git a/hotspot/src/os/solaris/vm/os_solaris.hpp b/hotspot/src/os/solaris/vm/os_solaris.hpp
index 99b757cd6ad..f7f0a3d7283 100644
--- a/hotspot/src/os/solaris/vm/os_solaris.hpp
+++ b/hotspot/src/os/solaris/vm/os_solaris.hpp
@@ -168,6 +168,9 @@ class Solaris {
static int _dev_zero_fd;
static int get_dev_zero_fd() { return _dev_zero_fd; }
static void set_dev_zero_fd(int fd) { _dev_zero_fd = fd; }
+ static int commit_memory_impl(char* addr, size_t bytes, bool exec);
+ static int commit_memory_impl(char* addr, size_t bytes,
+ size_t alignment_hint, bool exec);
static char* mmap_chunk(char *addr, size_t size, int flags, int prot);
static char* anon_mmap(char* requested_addr, size_t bytes, size_t alignment_hint, bool fixed);
static bool mpss_sanity_check(bool warn, size_t * page_size);
diff --git a/hotspot/src/os/solaris/vm/os_solaris.inline.hpp b/hotspot/src/os/solaris/vm/os_solaris.inline.hpp
index 64515d93b91..4155c0f5b1c 100644
--- a/hotspot/src/os/solaris/vm/os_solaris.inline.hpp
+++ b/hotspot/src/os/solaris/vm/os_solaris.inline.hpp
@@ -89,7 +89,7 @@ inline int os::readdir_buf_size(const char *path) {
inline struct dirent* os::readdir(DIR* dirp, dirent* dbuf) {
assert(dirp != NULL, "just checking");
-#if defined(_LP64) || defined(_GNU_SOURCE)
+#if defined(_LP64) || defined(_GNU_SOURCE) || _FILE_OFFSET_BITS==64
dirent* p;
int status;
@@ -98,9 +98,9 @@ inline struct dirent* os::readdir(DIR* dirp, dirent* dbuf) {
return NULL;
} else
return p;
-#else // defined(_LP64) || defined(_GNU_SOURCE)
+#else // defined(_LP64) || defined(_GNU_SOURCE) || _FILE_OFFSET_BITS==64
return ::readdir_r(dirp, dbuf);
-#endif // defined(_LP64) || defined(_GNU_SOURCE)
+#endif // defined(_LP64) || defined(_GNU_SOURCE) || _FILE_OFFSET_BITS==64
}
inline int os::closedir(DIR *dirp) {
diff --git a/hotspot/src/os/solaris/vm/perfMemory_solaris.cpp b/hotspot/src/os/solaris/vm/perfMemory_solaris.cpp
index 3b7744a482e..e7b31ac6483 100644
--- a/hotspot/src/os/solaris/vm/perfMemory_solaris.cpp
+++ b/hotspot/src/os/solaris/vm/perfMemory_solaris.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -62,7 +62,7 @@ static char* create_standard_memory(size_t size) {
}
// commit memory
- if (!os::commit_memory(mapAddress, size)) {
+ if (!os::commit_memory(mapAddress, size, !ExecMem)) {
if (PrintMiscellaneous && Verbose) {
warning("Could not commit PerfData memory\n");
}
@@ -122,7 +122,7 @@ static void save_memory_to_file(char* addr, size_t size) {
addr += result;
}
- RESTARTABLE(::close(fd), result);
+ result = ::close(fd);
if (PrintMiscellaneous && Verbose) {
if (result == OS_ERR) {
warning("Could not close %s: %s\n", destfile, strerror(errno));
@@ -437,7 +437,7 @@ static char* get_user_name(int vmid, TRAPS) {
addr+=result;
}
- RESTARTABLE(::close(fd), result);
+ ::close(fd);
// get the user name for the effective user id of the process
char* user_name = get_user_name(psinfo.pr_euid);
@@ -669,7 +669,7 @@ static int create_sharedmem_resources(const char* dirname, const char* filename,
if (PrintMiscellaneous && Verbose) {
warning("could not set shared memory file size: %s\n", strerror(errno));
}
- RESTARTABLE(::close(fd), result);
+ ::close(fd);
return -1;
}
@@ -749,9 +749,7 @@ static char* mmap_create_shared(size_t size) {
mapAddress = (char*)::mmap((char*)0, size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
- // attempt to close the file - restart it if it was interrupted,
- // but ignore other failures
- RESTARTABLE(::close(fd), result);
+ result = ::close(fd);
assert(result != OS_ERR, "could not close file");
if (mapAddress == MAP_FAILED) {
@@ -770,8 +768,7 @@ static char* mmap_create_shared(size_t size) {
(void)::memset((void*) mapAddress, 0, size);
// it does not go through os api, the operation has to record from here
- MemTracker::record_virtual_memory_reserve((address)mapAddress, size, CURRENT_PC);
- MemTracker::record_virtual_memory_type((address)mapAddress, mtInternal);
+ MemTracker::record_virtual_memory_reserve((address)mapAddress, size, mtInternal, CURRENT_PC);
return mapAddress;
}
@@ -922,9 +919,7 @@ static void mmap_attach_shared(const char* user, int vmid, PerfMemory::PerfMemor
mapAddress = (char*)::mmap((char*)0, size, mmap_prot, MAP_SHARED, fd, 0);
- // attempt to close the file - restart if it gets interrupted,
- // but ignore other failures
- RESTARTABLE(::close(fd), result);
+ result = ::close(fd);
assert(result != OS_ERR, "could not close file");
if (mapAddress == MAP_FAILED) {
@@ -936,8 +931,7 @@ static void mmap_attach_shared(const char* user, int vmid, PerfMemory::PerfMemor
}
// it does not go through os api, the operation has to record from here
- MemTracker::record_virtual_memory_reserve((address)mapAddress, size, CURRENT_PC);
- MemTracker::record_virtual_memory_type((address)mapAddress, mtInternal);
+ MemTracker::record_virtual_memory_reserve((address)mapAddress, size, mtInternal, CURRENT_PC);
*addr = mapAddress;
*sizep = size;
diff --git a/hotspot/src/os/windows/vm/os_windows.cpp b/hotspot/src/os/windows/vm/os_windows.cpp
index baa17768215..cc43934d423 100644
--- a/hotspot/src/os/windows/vm/os_windows.cpp
+++ b/hotspot/src/os/windows/vm/os_windows.cpp
@@ -2524,7 +2524,7 @@ LONG WINAPI topLevelExceptionFilter(struct _EXCEPTION_POINTERS* exceptionInfo) {
addr = (address)((uintptr_t)addr &
(~((uintptr_t)os::vm_page_size() - (uintptr_t)1)));
os::commit_memory((char *)addr, thread->stack_base() - addr,
- false );
+ !ExecMem);
return EXCEPTION_CONTINUE_EXECUTION;
}
else
@@ -2875,7 +2875,7 @@ static char* allocate_pages_individually(size_t bytes, char* addr, DWORD flags,
PAGE_READWRITE);
// If reservation failed, return NULL
if (p_buf == NULL) return NULL;
- MemTracker::record_virtual_memory_reserve((address)p_buf, size_of_reserve, CALLER_PC);
+ MemTracker::record_virtual_memory_reserve((address)p_buf, size_of_reserve, mtNone, CALLER_PC);
os::release_memory(p_buf, bytes + chunk_size);
// we still need to round up to a page boundary (in case we are using large pages)
@@ -2941,7 +2941,7 @@ static char* allocate_pages_individually(size_t bytes, char* addr, DWORD flags,
// need to create a dummy 'reserve' record to match
// the release.
MemTracker::record_virtual_memory_reserve((address)p_buf,
- bytes_to_release, CALLER_PC);
+ bytes_to_release, mtNone, CALLER_PC);
os::release_memory(p_buf, bytes_to_release);
}
#ifdef ASSERT
@@ -2961,9 +2961,10 @@ static char* allocate_pages_individually(size_t bytes, char* addr, DWORD flags,
// Although the memory is allocated individually, it is returned as one.
// NMT records it as one block.
address pc = CALLER_PC;
- MemTracker::record_virtual_memory_reserve((address)p_buf, bytes, pc);
if ((flags & MEM_COMMIT) != 0) {
- MemTracker::record_virtual_memory_commit((address)p_buf, bytes, pc);
+ MemTracker::record_virtual_memory_reserve_and_commit((address)p_buf, bytes, mtNone, pc);
+ } else {
+ MemTracker::record_virtual_memory_reserve((address)p_buf, bytes, mtNone, pc);
}
// made it this far, success
@@ -3154,8 +3155,7 @@ char* os::reserve_memory_special(size_t bytes, char* addr, bool exec) {
char * res = (char *)VirtualAlloc(NULL, bytes, flag, prot);
if (res != NULL) {
address pc = CALLER_PC;
- MemTracker::record_virtual_memory_reserve((address)res, bytes, pc);
- MemTracker::record_virtual_memory_commit((address)res, bytes, pc);
+ MemTracker::record_virtual_memory_reserve_and_commit((address)res, bytes, mtNone, pc);
}
return res;
@@ -3164,14 +3164,21 @@ char* os::reserve_memory_special(size_t bytes, char* addr, bool exec) {
bool os::release_memory_special(char* base, size_t bytes) {
assert(base != NULL, "Sanity check");
- // Memory allocated via reserve_memory_special() is committed
- MemTracker::record_virtual_memory_uncommit((address)base, bytes);
return release_memory(base, bytes);
}
void os::print_statistics() {
}
+static void warn_fail_commit_memory(char* addr, size_t bytes, bool exec) {
+ int err = os::get_last_error();
+ char buf[256];
+ size_t buf_len = os::lasterror(buf, sizeof(buf));
+ warning("INFO: os::commit_memory(" PTR_FORMAT ", " SIZE_FORMAT
+ ", %d) failed; error='%s' (DOS error/errno=%d)", addr, bytes,
+ exec, buf_len != 0 ? buf : "", err);
+}
+
bool os::pd_commit_memory(char* addr, size_t bytes, bool exec) {
if (bytes == 0) {
// Don't bother the OS with noops.
@@ -3186,11 +3193,17 @@ bool os::pd_commit_memory(char* addr, size_t bytes, bool exec) {
// is always within a reserve covered by a single VirtualAlloc
// in that case we can just do a single commit for the requested size
if (!UseNUMAInterleaving) {
- if (VirtualAlloc(addr, bytes, MEM_COMMIT, PAGE_READWRITE) == NULL) return false;
+ if (VirtualAlloc(addr, bytes, MEM_COMMIT, PAGE_READWRITE) == NULL) {
+ NOT_PRODUCT(warn_fail_commit_memory(addr, bytes, exec);)
+ return false;
+ }
if (exec) {
DWORD oldprot;
// Windows doc says to use VirtualProtect to get execute permissions
- if (!VirtualProtect(addr, bytes, PAGE_EXECUTE_READWRITE, &oldprot)) return false;
+ if (!VirtualProtect(addr, bytes, PAGE_EXECUTE_READWRITE, &oldprot)) {
+ NOT_PRODUCT(warn_fail_commit_memory(addr, bytes, exec);)
+ return false;
+ }
}
return true;
} else {
@@ -3205,12 +3218,20 @@ bool os::pd_commit_memory(char* addr, size_t bytes, bool exec) {
MEMORY_BASIC_INFORMATION alloc_info;
VirtualQuery(next_alloc_addr, &alloc_info, sizeof(alloc_info));
size_t bytes_to_rq = MIN2(bytes_remaining, (size_t)alloc_info.RegionSize);
- if (VirtualAlloc(next_alloc_addr, bytes_to_rq, MEM_COMMIT, PAGE_READWRITE) == NULL)
+ if (VirtualAlloc(next_alloc_addr, bytes_to_rq, MEM_COMMIT,
+ PAGE_READWRITE) == NULL) {
+ NOT_PRODUCT(warn_fail_commit_memory(next_alloc_addr, bytes_to_rq,
+ exec);)
return false;
+ }
if (exec) {
DWORD oldprot;
- if (!VirtualProtect(next_alloc_addr, bytes_to_rq, PAGE_EXECUTE_READWRITE, &oldprot))
+ if (!VirtualProtect(next_alloc_addr, bytes_to_rq,
+ PAGE_EXECUTE_READWRITE, &oldprot)) {
+ NOT_PRODUCT(warn_fail_commit_memory(next_alloc_addr, bytes_to_rq,
+ exec);)
return false;
+ }
}
bytes_remaining -= bytes_to_rq;
next_alloc_addr += bytes_to_rq;
@@ -3222,7 +3243,24 @@ bool os::pd_commit_memory(char* addr, size_t bytes, bool exec) {
bool os::pd_commit_memory(char* addr, size_t size, size_t alignment_hint,
bool exec) {
- return commit_memory(addr, size, exec);
+ // alignment_hint is ignored on this OS
+ return pd_commit_memory(addr, size, exec);
+}
+
+void os::pd_commit_memory_or_exit(char* addr, size_t size, bool exec,
+ const char* mesg) {
+ assert(mesg != NULL, "mesg must be specified");
+ if (!pd_commit_memory(addr, size, exec)) {
+ warn_fail_commit_memory(addr, size, exec);
+ vm_exit_out_of_memory(size, OOM_MMAP_ERROR, mesg);
+ }
+}
+
+void os::pd_commit_memory_or_exit(char* addr, size_t size,
+ size_t alignment_hint, bool exec,
+ const char* mesg) {
+ // alignment_hint is ignored on this OS
+ pd_commit_memory_or_exit(addr, size, exec, mesg);
}
bool os::pd_uncommit_memory(char* addr, size_t bytes) {
@@ -3240,7 +3278,7 @@ bool os::pd_release_memory(char* addr, size_t bytes) {
}
bool os::pd_create_stack_guard_pages(char* addr, size_t size) {
- return os::commit_memory(addr, size);
+ return os::commit_memory(addr, size, !ExecMem);
}
bool os::remove_stack_guard_pages(char* addr, size_t size) {
@@ -3264,8 +3302,9 @@ bool os::protect_memory(char* addr, size_t bytes, ProtType prot,
// Strange enough, but on Win32 one can change protection only for committed
// memory, not a big deal anyway, as bytes less or equal than 64K
- if (!is_committed && !commit_memory(addr, bytes, prot == MEM_PROT_RWX)) {
- fatal("cannot commit protection page");
+ if (!is_committed) {
+ commit_memory_or_exit(addr, bytes, prot == MEM_PROT_RWX,
+ "cannot commit protection page");
}
// One cannot use os::guard_memory() here, as on Win32 guard page
// have different (one-shot) semantics, from MSDN on PAGE_GUARD:
diff --git a/hotspot/src/os/windows/vm/perfMemory_windows.cpp b/hotspot/src/os/windows/vm/perfMemory_windows.cpp
index 2f25414d1b7..1bf27296520 100644
--- a/hotspot/src/os/windows/vm/perfMemory_windows.cpp
+++ b/hotspot/src/os/windows/vm/perfMemory_windows.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -58,7 +58,7 @@ static char* create_standard_memory(size_t size) {
}
// commit memory
- if (!os::commit_memory(mapAddress, size)) {
+ if (!os::commit_memory(mapAddress, size, !ExecMem)) {
if (PrintMiscellaneous && Verbose) {
warning("Could not commit PerfData memory\n");
}
@@ -1498,8 +1498,7 @@ static char* mapping_create_shared(size_t size) {
(void)memset(mapAddress, '\0', size);
// it does not go through os api, the operation has to record from here
- MemTracker::record_virtual_memory_reserve((address)mapAddress, size, CURRENT_PC);
- MemTracker::record_virtual_memory_type((address)mapAddress, mtInternal);
+ MemTracker::record_virtual_memory_reserve((address)mapAddress, size, mtInternal, CURRENT_PC);
return (char*) mapAddress;
}
@@ -1681,8 +1680,7 @@ static void open_file_mapping(const char* user, int vmid,
}
// it does not go through os api, the operation has to record from here
- MemTracker::record_virtual_memory_reserve((address)mapAddress, size, CURRENT_PC);
- MemTracker::record_virtual_memory_type((address)mapAddress, mtInternal);
+ MemTracker::record_virtual_memory_reserve((address)mapAddress, size, mtInternal, CURRENT_PC);
*addrp = (char*)mapAddress;
@@ -1836,9 +1834,10 @@ void PerfMemory::detach(char* addr, size_t bytes, TRAPS) {
return;
}
+ MemTracker::Tracker tkr = MemTracker::get_virtual_memory_release_tracker();
remove_file_mapping(addr);
// it does not go through os api, the operation has to record from here
- MemTracker::record_virtual_memory_release((address)addr, bytes);
+ tkr.record((address)addr, bytes);
}
char* PerfMemory::backing_store_filename() {
diff --git a/hotspot/src/os_cpu/linux_sparc/vm/atomic_linux_sparc.inline.hpp b/hotspot/src/os_cpu/linux_sparc/vm/atomic_linux_sparc.inline.hpp
index fa31a50c327..9de203c1191 100644
--- a/hotspot/src/os_cpu/linux_sparc/vm/atomic_linux_sparc.inline.hpp
+++ b/hotspot/src/os_cpu/linux_sparc/vm/atomic_linux_sparc.inline.hpp
@@ -169,7 +169,6 @@ inline jlong Atomic::cmpxchg (jlong exchange_value, volatile jlong*
: "memory");
return rv;
#else
- assert(VM_Version::v9_instructions_work(), "cas only supported on v9");
volatile jlong_accessor evl, cvl, rv;
evl.long_value = exchange_value;
cvl.long_value = compare_value;
diff --git a/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp b/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
index fa0f1b2aa1c..4fc3b76d228 100644
--- a/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
+++ b/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
@@ -289,6 +289,16 @@ JVM_handle_linux_signal(int sig,
}
#endif // AMD64
+#ifndef AMD64
+ // Halt if SI_KERNEL before more crashes get misdiagnosed as Java bugs
+ // This can happen in any running code (currently more frequently in
+ // interpreter code but has been seen in compiled code)
+ if (sig == SIGSEGV && info->si_addr == 0 && info->si_code == SI_KERNEL) {
+ fatal("An irrecoverable SI_KERNEL SIGSEGV has occurred due "
+ "to unstable signal handling in this distribution.");
+ }
+#endif // AMD64
+
// Handle ALL stack overflow variations here
if (sig == SIGSEGV) {
address addr = (address) info->si_addr;
diff --git a/hotspot/src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp b/hotspot/src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp
deleted file mode 100644
index c9e4c2cc0d0..00000000000
--- a/hotspot/src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 1999, 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
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * 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.
- *
- */
-
-#include "precompiled.hpp"
-#include "asm/macroAssembler.inline.hpp"
-#include "runtime/os.hpp"
-#include "runtime/threadLocalStorage.hpp"
-
-#include // For trap numbers
-#include // For V8 compatibility
-
-void MacroAssembler::read_ccr_trap(Register ccr_save) {
- // Execute a trap to get the PSR, mask and shift
- // to get the condition codes.
- get_psr_trap();
- nop();
- set(PSR_ICC, ccr_save);
- and3(O0, ccr_save, ccr_save);
- srl(ccr_save, PSR_ICC_SHIFT, ccr_save);
-}
-
-void MacroAssembler::write_ccr_trap(Register ccr_save, Register scratch1, Register scratch2) {
- // Execute a trap to get the PSR, shift back
- // the condition codes, mask the condition codes
- // back into and PSR and trap to write back the
- // PSR.
- sll(ccr_save, PSR_ICC_SHIFT, scratch2);
- get_psr_trap();
- nop();
- set(~PSR_ICC, scratch1);
- and3(O0, scratch1, O0);
- or3(O0, scratch2, O0);
- set_psr_trap();
- nop();
-}
-
-void MacroAssembler::flush_windows_trap() { trap(ST_FLUSH_WINDOWS); }
-void MacroAssembler::clean_windows_trap() { trap(ST_CLEAN_WINDOWS); }
-void MacroAssembler::get_psr_trap() { trap(ST_GETPSR); }
-void MacroAssembler::set_psr_trap() { trap(ST_SETPSR); }
diff --git a/hotspot/src/os_cpu/solaris_sparc/vm/atomic_solaris_sparc.inline.hpp b/hotspot/src/os_cpu/solaris_sparc/vm/atomic_solaris_sparc.inline.hpp
index b91214748c2..7d17fdf39cd 100644
--- a/hotspot/src/os_cpu/solaris_sparc/vm/atomic_solaris_sparc.inline.hpp
+++ b/hotspot/src/os_cpu/solaris_sparc/vm/atomic_solaris_sparc.inline.hpp
@@ -60,21 +60,10 @@ inline jlong Atomic::load(volatile jlong* src) { return *src; }
#else
-extern "C" void _Atomic_move_long_v8(volatile jlong* src, volatile jlong* dst);
extern "C" void _Atomic_move_long_v9(volatile jlong* src, volatile jlong* dst);
inline void Atomic_move_long(volatile jlong* src, volatile jlong* dst) {
-#ifdef COMPILER2
- // Compiler2 does not support v8, it is used only for v9.
_Atomic_move_long_v9(src, dst);
-#else
- // The branch is cheaper then emulated LDD.
- if (VM_Version::v9_instructions_work()) {
- _Atomic_move_long_v9(src, dst);
- } else {
- _Atomic_move_long_v8(src, dst);
- }
-#endif
}
inline jlong Atomic::load(volatile jlong* src) {
@@ -209,7 +198,6 @@ inline jlong Atomic::cmpxchg (jlong exchange_value, volatile jlong*
: "memory");
return rv;
#else //_LP64
- assert(VM_Version::v9_instructions_work(), "cas only supported on v9");
volatile jlong_accessor evl, cvl, rv;
evl.long_value = exchange_value;
cvl.long_value = compare_value;
@@ -318,7 +306,6 @@ inline jlong Atomic::cmpxchg (jlong exchange_value, volatile jlong*
// Return 64 bit value in %o0
return _Atomic_cas64((intptr_t)exchange_value, (intptr_t *)dest, (intptr_t)compare_value);
#else // _LP64
- assert (VM_Version::v9_instructions_work(), "only supported on v9");
// Return 64 bit value in %o0,%o1 by hand
return _Atomic_casl(exchange_value, dest, compare_value);
#endif // _LP64
diff --git a/hotspot/src/os_cpu/solaris_sparc/vm/solaris_sparc.il b/hotspot/src/os_cpu/solaris_sparc/vm/solaris_sparc.il
index 2821c7077f0..47398351b39 100644
--- a/hotspot/src/os_cpu/solaris_sparc/vm/solaris_sparc.il
+++ b/hotspot/src/os_cpu/solaris_sparc/vm/solaris_sparc.il
@@ -152,23 +152,6 @@
.nonvolatile
.end
- // Support for jlong Atomic::load and Atomic::store on v8.
- //
- // void _Atomic_move_long_v8(volatile jlong* src, volatile jlong* dst)
- //
- // Arguments:
- // src: O0
- // dest: O1
- //
- // Overwrites O2 and O3
-
- .inline _Atomic_move_long_v8,2
- .volatile
- ldd [%o0], %o2
- std %o2, [%o1]
- .nonvolatile
- .end
-
// Support for jlong Atomic::load and Atomic::store on v9.
//
// void _Atomic_move_long_v9(volatile jlong* src, volatile jlong* dst)
diff --git a/hotspot/src/share/vm/adlc/formssel.cpp b/hotspot/src/share/vm/adlc/formssel.cpp
index 27651dc68d7..3d4a562e432 100644
--- a/hotspot/src/share/vm/adlc/formssel.cpp
+++ b/hotspot/src/share/vm/adlc/formssel.cpp
@@ -235,6 +235,9 @@ bool InstructForm::is_parm(FormDict &globals) {
return false;
}
+bool InstructForm::is_ideal_negD() const {
+ return (_matrule && _matrule->_rChild && strcmp(_matrule->_rChild->_opType, "NegD") == 0);
+}
// Return 'true' if this instruction matches an ideal 'Copy*' node
int InstructForm::is_ideal_copy() const {
@@ -533,6 +536,12 @@ bool InstructForm::rematerialize(FormDict &globals, RegisterForm *registers ) {
if( data_type != Form::none )
rematerialize = true;
+ // Ugly: until a better fix is implemented, disable rematerialization for
+ // negD nodes because they are proved to be problematic.
+ if (is_ideal_negD()) {
+ return false;
+ }
+
// Constants
if( _components.count() == 1 && _components[0]->is(Component::USE_DEF) )
rematerialize = true;
diff --git a/hotspot/src/share/vm/adlc/formssel.hpp b/hotspot/src/share/vm/adlc/formssel.hpp
index 622d8902f45..fa3e9ff8f48 100644
--- a/hotspot/src/share/vm/adlc/formssel.hpp
+++ b/hotspot/src/share/vm/adlc/formssel.hpp
@@ -147,6 +147,7 @@ public:
virtual int is_empty_encoding() const; // _size=0 and/or _insencode empty
virtual int is_tls_instruction() const; // tlsLoadP rule or ideal ThreadLocal
virtual int is_ideal_copy() const; // node matches ideal 'Copy*'
+ virtual bool is_ideal_negD() const; // node matches ideal 'NegD'
virtual bool is_ideal_if() const; // node matches ideal 'If'
virtual bool is_ideal_fastlock() const; // node matches 'FastLock'
virtual bool is_ideal_membar() const; // node matches ideal 'MemBarXXX'
diff --git a/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp b/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp
index 8d7619eedd6..b84c8911e4c 100644
--- a/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp
+++ b/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
@@ -3461,6 +3461,14 @@ bool GraphBuilder::try_inline_intrinsics(ciMethod* callee) {
preserves_state = true;
break;
+ case vmIntrinsics::_updateCRC32:
+ case vmIntrinsics::_updateBytesCRC32:
+ case vmIntrinsics::_updateByteBufferCRC32:
+ if (!UseCRC32Intrinsics) return false;
+ cantrap = false;
+ preserves_state = true;
+ break;
+
case vmIntrinsics::_loadFence :
case vmIntrinsics::_storeFence:
case vmIntrinsics::_fullFence :
diff --git a/hotspot/src/share/vm/c1/c1_IR.cpp b/hotspot/src/share/vm/c1/c1_IR.cpp
index e9e73db0c06..13a7f790f6f 100644
--- a/hotspot/src/share/vm/c1/c1_IR.cpp
+++ b/hotspot/src/share/vm/c1/c1_IR.cpp
@@ -506,7 +506,7 @@ ComputeLinearScanOrder::ComputeLinearScanOrder(Compilation* c, BlockBegin* start
_loop_map(0, 0), // initialized later with correct size
_compilation(c)
{
- TRACE_LINEAR_SCAN(2, "***** computing linear-scan block order");
+ TRACE_LINEAR_SCAN(2, tty->print_cr("***** computing linear-scan block order"));
init_visited();
count_edges(start_block, NULL);
@@ -683,7 +683,7 @@ void ComputeLinearScanOrder::clear_non_natural_loops(BlockBegin* start_block) {
}
void ComputeLinearScanOrder::assign_loop_depth(BlockBegin* start_block) {
- TRACE_LINEAR_SCAN(3, "----- computing loop-depth and weight");
+ TRACE_LINEAR_SCAN(3, tty->print_cr("----- computing loop-depth and weight"));
init_visited();
assert(_work_list.is_empty(), "work list must be empty before processing");
@@ -868,7 +868,7 @@ void ComputeLinearScanOrder::append_block(BlockBegin* cur) {
}
void ComputeLinearScanOrder::compute_order(BlockBegin* start_block) {
- TRACE_LINEAR_SCAN(3, "----- computing final block order");
+ TRACE_LINEAR_SCAN(3, tty->print_cr("----- computing final block order"));
// the start block is always the first block in the linear scan order
_linear_scan_order = new BlockList(_num_blocks);
diff --git a/hotspot/src/share/vm/c1/c1_LIR.cpp b/hotspot/src/share/vm/c1/c1_LIR.cpp
index f26d1812c44..cb0ceab90c0 100644
--- a/hotspot/src/share/vm/c1/c1_LIR.cpp
+++ b/hotspot/src/share/vm/c1/c1_LIR.cpp
@@ -201,23 +201,24 @@ void LIR_OprDesc::validate_type() const {
#ifdef ASSERT
if (!is_pointer() && !is_illegal()) {
+ OprKind kindfield = kind_field(); // Factored out because of compiler bug, see 8002160
switch (as_BasicType(type_field())) {
case T_LONG:
- assert((kind_field() == cpu_register || kind_field() == stack_value) &&
+ assert((kindfield == cpu_register || kindfield == stack_value) &&
size_field() == double_size, "must match");
break;
case T_FLOAT:
// FP return values can be also in CPU registers on ARM and PPC (softfp ABI)
- assert((kind_field() == fpu_register || kind_field() == stack_value
- ARM_ONLY(|| kind_field() == cpu_register)
- PPC_ONLY(|| kind_field() == cpu_register) ) &&
+ assert((kindfield == fpu_register || kindfield == stack_value
+ ARM_ONLY(|| kindfield == cpu_register)
+ PPC_ONLY(|| kindfield == cpu_register) ) &&
size_field() == single_size, "must match");
break;
case T_DOUBLE:
// FP return values can be also in CPU registers on ARM and PPC (softfp ABI)
- assert((kind_field() == fpu_register || kind_field() == stack_value
- ARM_ONLY(|| kind_field() == cpu_register)
- PPC_ONLY(|| kind_field() == cpu_register) ) &&
+ assert((kindfield == fpu_register || kindfield == stack_value
+ ARM_ONLY(|| kindfield == cpu_register)
+ PPC_ONLY(|| kindfield == cpu_register) ) &&
size_field() == double_size, "must match");
break;
case T_BOOLEAN:
@@ -229,7 +230,7 @@ void LIR_OprDesc::validate_type() const {
case T_OBJECT:
case T_METADATA:
case T_ARRAY:
- assert((kind_field() == cpu_register || kind_field() == stack_value) &&
+ assert((kindfield == cpu_register || kindfield == stack_value) &&
size_field() == single_size, "must match");
break;
@@ -429,6 +430,11 @@ LIR_OpArrayCopy::LIR_OpArrayCopy(LIR_Opr src, LIR_Opr src_pos, LIR_Opr dst, LIR_
_stub = new ArrayCopyStub(this);
}
+LIR_OpUpdateCRC32::LIR_OpUpdateCRC32(LIR_Opr crc, LIR_Opr val, LIR_Opr res)
+ : LIR_Op(lir_updatecrc32, res, NULL)
+ , _crc(crc)
+ , _val(val) {
+}
//-------------------verify--------------------------
@@ -875,6 +881,20 @@ void LIR_OpVisitState::visit(LIR_Op* op) {
}
+// LIR_OpUpdateCRC32
+ case lir_updatecrc32: {
+ assert(op->as_OpUpdateCRC32() != NULL, "must be");
+ LIR_OpUpdateCRC32* opUp = (LIR_OpUpdateCRC32*)op;
+
+ assert(opUp->_crc->is_valid(), "used"); do_input(opUp->_crc); do_temp(opUp->_crc);
+ assert(opUp->_val->is_valid(), "used"); do_input(opUp->_val); do_temp(opUp->_val);
+ assert(opUp->_result->is_valid(), "used"); do_output(opUp->_result);
+ assert(opUp->_info == NULL, "no info for LIR_OpUpdateCRC32");
+
+ break;
+ }
+
+
// LIR_OpLock
case lir_lock:
case lir_unlock: {
@@ -1055,6 +1075,10 @@ void LIR_OpArrayCopy::emit_code(LIR_Assembler* masm) {
masm->emit_code_stub(stub());
}
+void LIR_OpUpdateCRC32::emit_code(LIR_Assembler* masm) {
+ masm->emit_updatecrc32(this);
+}
+
void LIR_Op0::emit_code(LIR_Assembler* masm) {
masm->emit_op0(this);
}
@@ -1762,6 +1786,8 @@ const char * LIR_Op::name() const {
case lir_dynamic_call: s = "dynamic"; break;
// LIR_OpArrayCopy
case lir_arraycopy: s = "arraycopy"; break;
+ // LIR_OpUpdateCRC32
+ case lir_updatecrc32: s = "updatecrc32"; break;
// LIR_OpLock
case lir_lock: s = "lock"; break;
case lir_unlock: s = "unlock"; break;
@@ -1814,6 +1840,13 @@ void LIR_OpArrayCopy::print_instr(outputStream* out) const {
tmp()->print(out); out->print(" ");
}
+// LIR_OpUpdateCRC32
+void LIR_OpUpdateCRC32::print_instr(outputStream* out) const {
+ crc()->print(out); out->print(" ");
+ val()->print(out); out->print(" ");
+ result_opr()->print(out); out->print(" ");
+}
+
// LIR_OpCompareAndSwap
void LIR_OpCompareAndSwap::print_instr(outputStream* out) const {
addr()->print(out); out->print(" ");
diff --git a/hotspot/src/share/vm/c1/c1_LIR.hpp b/hotspot/src/share/vm/c1/c1_LIR.hpp
index 61dd59e3fe9..fab85e5750f 100644
--- a/hotspot/src/share/vm/c1/c1_LIR.hpp
+++ b/hotspot/src/share/vm/c1/c1_LIR.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -877,6 +877,7 @@ class LIR_OpCall;
class LIR_OpJavaCall;
class LIR_OpRTCall;
class LIR_OpArrayCopy;
+class LIR_OpUpdateCRC32;
class LIR_OpLock;
class LIR_OpTypeCheck;
class LIR_OpCompareAndSwap;
@@ -982,6 +983,9 @@ enum LIR_Code {
, begin_opArrayCopy
, lir_arraycopy
, end_opArrayCopy
+ , begin_opUpdateCRC32
+ , lir_updatecrc32
+ , end_opUpdateCRC32
, begin_opLock
, lir_lock
, lir_unlock
@@ -1137,6 +1141,7 @@ class LIR_Op: public CompilationResourceObj {
virtual LIR_Op2* as_Op2() { return NULL; }
virtual LIR_Op3* as_Op3() { return NULL; }
virtual LIR_OpArrayCopy* as_OpArrayCopy() { return NULL; }
+ virtual LIR_OpUpdateCRC32* as_OpUpdateCRC32() { return NULL; }
virtual LIR_OpTypeCheck* as_OpTypeCheck() { return NULL; }
virtual LIR_OpCompareAndSwap* as_OpCompareAndSwap() { return NULL; }
virtual LIR_OpProfileCall* as_OpProfileCall() { return NULL; }
@@ -1293,6 +1298,25 @@ public:
void print_instr(outputStream* out) const PRODUCT_RETURN;
};
+// LIR_OpUpdateCRC32
+class LIR_OpUpdateCRC32: public LIR_Op {
+ friend class LIR_OpVisitState;
+
+private:
+ LIR_Opr _crc;
+ LIR_Opr _val;
+
+public:
+
+ LIR_OpUpdateCRC32(LIR_Opr crc, LIR_Opr val, LIR_Opr res);
+
+ LIR_Opr crc() const { return _crc; }
+ LIR_Opr val() const { return _val; }
+
+ virtual void emit_code(LIR_Assembler* masm);
+ virtual LIR_OpUpdateCRC32* as_OpUpdateCRC32() { return this; }
+ void print_instr(outputStream* out) const PRODUCT_RETURN;
+};
// --------------------------------------------------
// LIR_Op0
@@ -2212,6 +2236,8 @@ class LIR_List: public CompilationResourceObj {
void arraycopy(LIR_Opr src, LIR_Opr src_pos, LIR_Opr dst, LIR_Opr dst_pos, LIR_Opr length, LIR_Opr tmp, ciArrayKlass* expected_type, int flags, CodeEmitInfo* info) { append(new LIR_OpArrayCopy(src, src_pos, dst, dst_pos, length, tmp, expected_type, flags, info)); }
+ void update_crc32(LIR_Opr crc, LIR_Opr val, LIR_Opr res) { append(new LIR_OpUpdateCRC32(crc, val, res)); }
+
void fpop_raw() { append(new LIR_Op0(lir_fpop_raw)); }
void instanceof(LIR_Opr result, LIR_Opr object, ciKlass* klass, LIR_Opr tmp1, LIR_Opr tmp2, LIR_Opr tmp3, bool fast_check, CodeEmitInfo* info_for_patch, ciMethod* profiled_method, int profiled_bci);
diff --git a/hotspot/src/share/vm/c1/c1_LIRAssembler.hpp b/hotspot/src/share/vm/c1/c1_LIRAssembler.hpp
index 87dd8dbae15..4ced297c07b 100644
--- a/hotspot/src/share/vm/c1/c1_LIRAssembler.hpp
+++ b/hotspot/src/share/vm/c1/c1_LIRAssembler.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -195,6 +195,7 @@ class LIR_Assembler: public CompilationResourceObj {
void emit_opBranch(LIR_OpBranch* op);
void emit_opLabel(LIR_OpLabel* op);
void emit_arraycopy(LIR_OpArrayCopy* op);
+ void emit_updatecrc32(LIR_OpUpdateCRC32* op);
void emit_opConvert(LIR_OpConvert* op);
void emit_alloc_obj(LIR_OpAllocObj* op);
void emit_alloc_array(LIR_OpAllocArray* op);
diff --git a/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp b/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp
index fcd6910ed95..3af2d23b7d6 100644
--- a/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp
+++ b/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp
@@ -2994,6 +2994,12 @@ void LIRGenerator::do_Intrinsic(Intrinsic* x) {
do_Reference_get(x);
break;
+ case vmIntrinsics::_updateCRC32:
+ case vmIntrinsics::_updateBytesCRC32:
+ case vmIntrinsics::_updateByteBufferCRC32:
+ do_update_CRC32(x);
+ break;
+
default: ShouldNotReachHere(); break;
}
}
diff --git a/hotspot/src/share/vm/c1/c1_LIRGenerator.hpp b/hotspot/src/share/vm/c1/c1_LIRGenerator.hpp
index d3c76865dbd..0a029207308 100644
--- a/hotspot/src/share/vm/c1/c1_LIRGenerator.hpp
+++ b/hotspot/src/share/vm/c1/c1_LIRGenerator.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2012, 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
@@ -247,6 +247,7 @@ class LIRGenerator: public InstructionVisitor, public BlockClosure {
void do_NIOCheckIndex(Intrinsic* x);
void do_FPIntrinsics(Intrinsic* x);
void do_Reference_get(Intrinsic* x);
+ void do_update_CRC32(Intrinsic* x);
void do_UnsafePrefetch(UnsafePrefetch* x, bool is_store);
diff --git a/hotspot/src/share/vm/c1/c1_Runtime1.cpp b/hotspot/src/share/vm/c1/c1_Runtime1.cpp
index 53d1f5326a8..908571f6cc4 100644
--- a/hotspot/src/share/vm/c1/c1_Runtime1.cpp
+++ b/hotspot/src/share/vm/c1/c1_Runtime1.cpp
@@ -299,6 +299,7 @@ const char* Runtime1::name_for_address(address entry) {
#ifdef TRACE_HAVE_INTRINSICS
FUNCTION_CASE(entry, TRACE_TIME_METHOD);
#endif
+ FUNCTION_CASE(entry, StubRoutines::updateBytesCRC32());
#undef FUNCTION_CASE
diff --git a/hotspot/src/share/vm/ci/ciObjectFactory.cpp b/hotspot/src/share/vm/ci/ciObjectFactory.cpp
index 8fb6e12b767..cc1be034dd9 100644
--- a/hotspot/src/share/vm/ci/ciObjectFactory.cpp
+++ b/hotspot/src/share/vm/ci/ciObjectFactory.cpp
@@ -265,8 +265,6 @@ ciObject* ciObjectFactory::get(oop key) {
ciMetadata* ciObjectFactory::get_metadata(Metadata* key) {
ASSERT_IN_VM;
- assert(key == NULL || key->is_metadata(), "must be");
-
#ifdef ASSERT
if (CIObjectFactoryVerify) {
Metadata* last = NULL;
diff --git a/hotspot/src/share/vm/ci/ciUtilities.hpp b/hotspot/src/share/vm/ci/ciUtilities.hpp
index 1a075bf6e98..2032a8f35e1 100644
--- a/hotspot/src/share/vm/ci/ciUtilities.hpp
+++ b/hotspot/src/share/vm/ci/ciUtilities.hpp
@@ -96,7 +96,7 @@
CLEAR_PENDING_EXCEPTION; \
return (result); \
} \
- (0
+ (void)(0
#define KILL_COMPILE_ON_ANY \
THREAD); \
@@ -104,7 +104,7 @@
fatal("unhandled ci exception"); \
CLEAR_PENDING_EXCEPTION; \
} \
-(0
+(void)(0
inline const char* bool_to_str(bool b) {
diff --git a/hotspot/src/share/vm/classfile/dictionary.cpp b/hotspot/src/share/vm/classfile/dictionary.cpp
index b79cda74f0c..26e06c8a079 100644
--- a/hotspot/src/share/vm/classfile/dictionary.cpp
+++ b/hotspot/src/share/vm/classfile/dictionary.cpp
@@ -555,7 +555,7 @@ void Dictionary::verify() {
loader_data->class_loader() == NULL ||
loader_data->class_loader()->is_instance(),
"checking type of class_loader");
- e->verify();
+ e->verify(/*check_dictionary*/false);
probe->verify_protection_domain_set();
element_count++;
}
diff --git a/hotspot/src/share/vm/classfile/genericSignatures.cpp b/hotspot/src/share/vm/classfile/genericSignatures.cpp
index 33fbca051b7..3bbce2f8ce7 100644
--- a/hotspot/src/share/vm/classfile/genericSignatures.cpp
+++ b/hotspot/src/share/vm/classfile/genericSignatures.cpp
@@ -124,7 +124,7 @@ class DescriptorStream : public ResourceObj {
fatal(STREAM->parse_error()); \
} \
return NULL; \
- } 0
+ } (void)0
#define READ() STREAM->read(); CHECK_FOR_PARSE_ERROR()
#define PEEK() STREAM->peek(); CHECK_FOR_PARSE_ERROR()
@@ -133,7 +133,7 @@ class DescriptorStream : public ResourceObj {
#define EXPECTED(c, ch) STREAM->assert_char(c, ch); CHECK_FOR_PARSE_ERROR()
#define EXPECT_END() STREAM->expect_end(); CHECK_FOR_PARSE_ERROR()
-#define CHECK_STREAM STREAM); CHECK_FOR_PARSE_ERROR(); (0
+#define CHECK_STREAM STREAM); CHECK_FOR_PARSE_ERROR(); ((void)0
#ifndef PRODUCT
void Identifier::print_on(outputStream* str) const {
diff --git a/hotspot/src/share/vm/classfile/symbolTable.cpp b/hotspot/src/share/vm/classfile/symbolTable.cpp
index c78ea2d3576..c00e9581759 100644
--- a/hotspot/src/share/vm/classfile/symbolTable.cpp
+++ b/hotspot/src/share/vm/classfile/symbolTable.cpp
@@ -598,6 +598,8 @@ StringTable* StringTable::_the_table = NULL;
bool StringTable::_needs_rehashing = false;
+volatile int StringTable::_parallel_claimed_idx = 0;
+
// Pick hashing algorithm
unsigned int StringTable::hash_string(const jchar* s, int len) {
return use_alternate_hashcode() ? AltHashing::murmur3_32(seed(), s, len) :
@@ -761,8 +763,18 @@ void StringTable::unlink_or_oops_do(BoolObjectClosure* is_alive, OopClosure* f)
}
}
-void StringTable::oops_do(OopClosure* f) {
- for (int i = 0; i < the_table()->table_size(); ++i) {
+void StringTable::buckets_do(OopClosure* f, int start_idx, int end_idx) {
+ const int limit = the_table()->table_size();
+
+ assert(0 <= start_idx && start_idx <= limit,
+ err_msg("start_idx (" INT32_FORMAT ") oob?", start_idx));
+ assert(0 <= end_idx && end_idx <= limit,
+ err_msg("end_idx (" INT32_FORMAT ") oob?", end_idx));
+ assert(start_idx <= end_idx,
+ err_msg("Ordering: start_idx=" INT32_FORMAT", end_idx=" INT32_FORMAT,
+ start_idx, end_idx));
+
+ for (int i = start_idx; i < end_idx; i += 1) {
HashtableEntry* entry = the_table()->bucket(i);
while (entry != NULL) {
assert(!entry->is_shared(), "CDS not used for the StringTable");
@@ -774,6 +786,27 @@ void StringTable::oops_do(OopClosure* f) {
}
}
+void StringTable::oops_do(OopClosure* f) {
+ buckets_do(f, 0, the_table()->table_size());
+}
+
+void StringTable::possibly_parallel_oops_do(OopClosure* f) {
+ const int ClaimChunkSize = 32;
+ const int limit = the_table()->table_size();
+
+ for (;;) {
+ // Grab next set of buckets to scan
+ int start_idx = Atomic::add(ClaimChunkSize, &_parallel_claimed_idx) - ClaimChunkSize;
+ if (start_idx >= limit) {
+ // End of table
+ break;
+ }
+
+ int end_idx = MIN2(limit, start_idx + ClaimChunkSize);
+ buckets_do(f, start_idx, end_idx);
+ }
+}
+
void StringTable::verify() {
for (int i = 0; i < the_table()->table_size(); ++i) {
HashtableEntry* p = the_table()->bucket(i);
diff --git a/hotspot/src/share/vm/classfile/symbolTable.hpp b/hotspot/src/share/vm/classfile/symbolTable.hpp
index 4701e74b553..7a0031c9ab4 100644
--- a/hotspot/src/share/vm/classfile/symbolTable.hpp
+++ b/hotspot/src/share/vm/classfile/symbolTable.hpp
@@ -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
@@ -246,12 +246,19 @@ private:
// Set if one bucket is out of balance due to hash algorithm deficiency
static bool _needs_rehashing;
+ // Claimed high water mark for parallel chunked scanning
+ static volatile int _parallel_claimed_idx;
+
static oop intern(Handle string_or_null, jchar* chars, int length, TRAPS);
oop basic_add(int index, Handle string_or_null, jchar* name, int len,
unsigned int hashValue, TRAPS);
oop lookup(int index, jchar* chars, int length, unsigned int hashValue);
+ // Apply the give oop closure to the entries to the buckets
+ // in the range [start_idx, end_idx).
+ static void buckets_do(OopClosure* f, int start_idx, int end_idx);
+
StringTable() : Hashtable((int)StringTableSize,
sizeof (HashtableEntry)) {}
@@ -277,9 +284,12 @@ public:
unlink_or_oops_do(cl, NULL);
}
- // Invoke "f->do_oop" on the locations of all oops in the table.
+ // Serially invoke "f->do_oop" on the locations of all oops in the table.
static void oops_do(OopClosure* f);
+ // Possibly parallel version of the above
+ static void possibly_parallel_oops_do(OopClosure* f);
+
// Hashing algorithm, used as the hash value used by the
// StringTable for bucket selection and comparison (stored in the
// HashtableEntry structures). This is used in the String.intern() method.
@@ -315,5 +325,8 @@ public:
// Rehash the symbol table if it gets out of balance
static void rehash_table();
static bool needs_rehashing() { return _needs_rehashing; }
+
+ // Parallel chunked scanning
+ static void clear_parallel_claimed_index() { _parallel_claimed_idx = 0; }
};
#endif // SHARE_VM_CLASSFILE_SYMBOLTABLE_HPP
diff --git a/hotspot/src/share/vm/classfile/verifier.hpp b/hotspot/src/share/vm/classfile/verifier.hpp
index 34a1e0b3aff..9da0ac34a84 100644
--- a/hotspot/src/share/vm/classfile/verifier.hpp
+++ b/hotspot/src/share/vm/classfile/verifier.hpp
@@ -86,9 +86,9 @@ class StackMapTable;
// These macros are used similarly to CHECK macros but also check
// the status of the verifier and return if that has an error.
#define CHECK_VERIFY(verifier) \
- CHECK); if ((verifier)->has_error()) return; (0
+ CHECK); if ((verifier)->has_error()) return; ((void)0
#define CHECK_VERIFY_(verifier, result) \
- CHECK_(result)); if ((verifier)->has_error()) return (result); (0
+ CHECK_(result)); if ((verifier)->has_error()) return (result); ((void)0
class TypeOrigin VALUE_OBJ_CLASS_SPEC {
private:
diff --git a/hotspot/src/share/vm/classfile/vmSymbols.hpp b/hotspot/src/share/vm/classfile/vmSymbols.hpp
index 49def1e8d26..7ec43bd7e86 100644
--- a/hotspot/src/share/vm/classfile/vmSymbols.hpp
+++ b/hotspot/src/share/vm/classfile/vmSymbols.hpp
@@ -771,6 +771,17 @@
do_name( decrypt_name, "decrypt") \
do_signature(byteArray_int_int_byteArray_int_signature, "([BII[BI)V") \
\
+ /* support for java.util.zip */ \
+ do_class(java_util_zip_CRC32, "java/util/zip/CRC32") \
+ do_intrinsic(_updateCRC32, java_util_zip_CRC32, update_name, int2_int_signature, F_SN) \
+ do_name( update_name, "update") \
+ do_intrinsic(_updateBytesCRC32, java_util_zip_CRC32, updateBytes_name, updateBytes_signature, F_SN) \
+ do_name( updateBytes_name, "updateBytes") \
+ do_signature(updateBytes_signature, "(I[BII)I") \
+ do_intrinsic(_updateByteBufferCRC32, java_util_zip_CRC32, updateByteBuffer_name, updateByteBuffer_signature, F_SN) \
+ do_name( updateByteBuffer_name, "updateByteBuffer") \
+ do_signature(updateByteBuffer_signature, "(IJII)I") \
+ \
/* support for sun.misc.Unsafe */ \
do_class(sun_misc_Unsafe, "sun/misc/Unsafe") \
\
diff --git a/hotspot/src/share/vm/code/debugInfo.hpp b/hotspot/src/share/vm/code/debugInfo.hpp
index 3f65652d89c..7a4f7e2d41d 100644
--- a/hotspot/src/share/vm/code/debugInfo.hpp
+++ b/hotspot/src/share/vm/code/debugInfo.hpp
@@ -274,7 +274,7 @@ class DebugInfoReadStream : public CompressedReadStream {
Method* read_method() {
Method* o = (Method*)(code()->metadata_at(read_int()));
assert(o == NULL ||
- o->is_metadata(), "meta data only");
+ o->is_metaspace_object(), "meta data only");
return o;
}
ScopeValue* read_object_value();
diff --git a/hotspot/src/share/vm/code/dependencies.cpp b/hotspot/src/share/vm/code/dependencies.cpp
index b790c3597d4..df269430ed2 100644
--- a/hotspot/src/share/vm/code/dependencies.cpp
+++ b/hotspot/src/share/vm/code/dependencies.cpp
@@ -655,8 +655,8 @@ inline Metadata* Dependencies::DepStream::recorded_metadata_at(int i) {
} else {
o = _deps->oop_recorder()->metadata_at(i);
}
- assert(o == NULL || o->is_metadata(),
- err_msg("Should be perm " PTR_FORMAT, o));
+ assert(o == NULL || o->is_metaspace_object(),
+ err_msg("Should be metadata " PTR_FORMAT, o));
return o;
}
@@ -989,7 +989,7 @@ Klass* ClassHierarchyWalker::find_witness_in(KlassDepChange& changes,
assert(changes.involves_context(context_type), "irrelevant dependency");
Klass* new_type = changes.new_type();
- count_find_witness_calls();
+ (void)count_find_witness_calls();
NOT_PRODUCT(deps_find_witness_singles++);
// Current thread must be in VM (not native mode, as in CI):
diff --git a/hotspot/src/share/vm/code/nmethod.cpp b/hotspot/src/share/vm/code/nmethod.cpp
index 53f8cd07be8..1dfc3ba8f07 100644
--- a/hotspot/src/share/vm/code/nmethod.cpp
+++ b/hotspot/src/share/vm/code/nmethod.cpp
@@ -1081,11 +1081,6 @@ void nmethod::fix_oop_relocations(address begin, address end, bool initialize_im
metadata_Relocation* reloc = iter.metadata_reloc();
reloc->fix_metadata_relocation();
}
-
- // There must not be any interfering patches or breakpoints.
- assert(!(iter.type() == relocInfo::breakpoint_type
- && iter.breakpoint_reloc()->active()),
- "no active breakpoint");
}
}
@@ -2615,7 +2610,8 @@ void nmethod::print_relocations() {
relocation_begin()-1+ip[1]);
for (; ip < index_end; ip++)
tty->print_cr(" (%d ?)", ip[0]);
- tty->print_cr(" @" INTPTR_FORMAT ": index_size=%d", ip, *ip++);
+ tty->print_cr(" @" INTPTR_FORMAT ": index_size=%d", ip, *ip);
+ ip++;
tty->print_cr("reloc_end @" INTPTR_FORMAT ":", ip);
}
}
diff --git a/hotspot/src/share/vm/code/relocInfo.cpp b/hotspot/src/share/vm/code/relocInfo.cpp
index 679bc290ade..4fe6a2e4949 100644
--- a/hotspot/src/share/vm/code/relocInfo.cpp
+++ b/hotspot/src/share/vm/code/relocInfo.cpp
@@ -338,31 +338,6 @@ void RelocIterator::set_limit(address limit) {
_limit = limit;
}
-
-void PatchingRelocIterator:: prepass() {
- // turn breakpoints off during patching
- _init_state = (*this); // save cursor
- while (next()) {
- if (type() == relocInfo::breakpoint_type) {
- breakpoint_reloc()->set_active(false);
- }
- }
- (RelocIterator&)(*this) = _init_state; // reset cursor for client
-}
-
-
-void PatchingRelocIterator:: postpass() {
- // turn breakpoints back on after patching
- (RelocIterator&)(*this) = _init_state; // reset cursor again
- while (next()) {
- if (type() == relocInfo::breakpoint_type) {
- breakpoint_Relocation* bpt = breakpoint_reloc();
- bpt->set_active(bpt->enabled());
- }
- }
-}
-
-
// All the strange bit-encodings are in here.
// The idea is to encode relocation data which are small integers
// very efficiently (a single extra halfword). Larger chunks of
@@ -704,51 +679,6 @@ void section_word_Relocation::unpack_data() {
_target = address_from_scaled_offset(offset, base);
}
-
-void breakpoint_Relocation::pack_data_to(CodeSection* dest) {
- short* p = (short*) dest->locs_end();
- address point = dest->locs_point();
-
- *p++ = _bits;
-
- assert(_target != NULL, "sanity");
-
- if (internal()) normalize_address(_target, dest);
-
- jint target_bits =
- (jint)( internal() ? scaled_offset (_target, point)
- : runtime_address_to_index(_target) );
- if (settable()) {
- // save space for set_target later
- p = add_jint(p, target_bits);
- } else {
- p = add_var_int(p, target_bits);
- }
-
- for (int i = 0; i < instrlen(); i++) {
- // put placeholder words until bytes can be saved
- p = add_short(p, (short)0x7777);
- }
-
- dest->set_locs_end((relocInfo*) p);
-}
-
-
-void breakpoint_Relocation::unpack_data() {
- _bits = live_bits();
-
- int targetlen = datalen() - 1 - instrlen();
- jint target_bits = 0;
- if (targetlen == 0) target_bits = 0;
- else if (targetlen == 1) target_bits = *(data()+1);
- else if (targetlen == 2) target_bits = relocInfo::jint_from_data(data()+1);
- else { ShouldNotReachHere(); }
-
- _target = internal() ? address_from_scaled_offset(target_bits, addr())
- : index_to_runtime_address (target_bits);
-}
-
-
//// miscellaneous methods
oop* oop_Relocation::oop_addr() {
int n = _oop_index;
@@ -933,81 +863,6 @@ address internal_word_Relocation::target() {
return target;
}
-
-breakpoint_Relocation::breakpoint_Relocation(int kind, address target, bool internal) {
- bool active = false;
- bool enabled = (kind == initialization);
- bool removable = (kind != safepoint);
- bool settable = (target == NULL);
-
- int bits = kind;
- if (enabled) bits |= enabled_state;
- if (internal) bits |= internal_attr;
- if (removable) bits |= removable_attr;
- if (settable) bits |= settable_attr;
-
- _bits = bits | high_bit;
- _target = target;
-
- assert(this->kind() == kind, "kind encoded");
- assert(this->enabled() == enabled, "enabled encoded");
- assert(this->active() == active, "active encoded");
- assert(this->internal() == internal, "internal encoded");
- assert(this->removable() == removable, "removable encoded");
- assert(this->settable() == settable, "settable encoded");
-}
-
-
-address breakpoint_Relocation::target() const {
- return _target;
-}
-
-
-void breakpoint_Relocation::set_target(address x) {
- assert(settable(), "must be settable");
- jint target_bits =
- (jint)(internal() ? scaled_offset (x, addr())
- : runtime_address_to_index(x));
- short* p = &live_bits() + 1;
- p = add_jint(p, target_bits);
- assert(p == instrs(), "new target must fit");
- _target = x;
-}
-
-
-void breakpoint_Relocation::set_enabled(bool b) {
- if (enabled() == b) return;
-
- if (b) {
- set_bits(bits() | enabled_state);
- } else {
- set_active(false); // remove the actual breakpoint insn, if any
- set_bits(bits() & ~enabled_state);
- }
-}
-
-
-void breakpoint_Relocation::set_active(bool b) {
- assert(!b || enabled(), "cannot activate a disabled breakpoint");
-
- if (active() == b) return;
-
- // %%% should probably seize a lock here (might not be the right lock)
- //MutexLockerEx ml_patch(Patching_lock, true);
- //if (active() == b) return; // recheck state after locking
-
- if (b) {
- set_bits(bits() | active_state);
- if (instrlen() == 0)
- fatal("breakpoints in original code must be undoable");
- pd_swap_in_breakpoint (addr(), instrs(), instrlen());
- } else {
- set_bits(bits() & ~active_state);
- pd_swap_out_breakpoint(addr(), instrs(), instrlen());
- }
-}
-
-
//---------------------------------------------------------------------------------
// Non-product code
diff --git a/hotspot/src/share/vm/code/relocInfo.hpp b/hotspot/src/share/vm/code/relocInfo.hpp
index 5585b5df79d..68a7f3a5889 100644
--- a/hotspot/src/share/vm/code/relocInfo.hpp
+++ b/hotspot/src/share/vm/code/relocInfo.hpp
@@ -49,9 +49,6 @@ class NativeMovConstReg;
// RelocIterator
// A StackObj which iterates over the relocations associated with
// a range of code addresses. Can be used to operate a copy of code.
-// PatchingRelocIterator
-// Specialized subtype of RelocIterator which removes breakpoints
-// temporarily during iteration, then restores them.
// BoundRelocation
// An _internal_ type shared by packers and unpackers of relocations.
// It pastes together a RelocationHolder with some pointers into
@@ -204,15 +201,6 @@ class NativeMovConstReg;
// immediate field must not straddle a unit of memory coherence.
// //%note reloc_3
//
-// relocInfo::breakpoint_type -- a conditional breakpoint in the code
-// Value: none
-// Instruction types: any whatsoever
-// Data: [b [T]t i...]
-// The b is a bit-packed word representing the breakpoint's attributes.
-// The t is a target address which the breakpoint calls (when it is enabled).
-// The i... is a place to store one or two instruction words overwritten
-// by a trap, so that the breakpoint may be subsequently removed.
-//
// relocInfo::static_stub_type -- an extra stub for each static_call_type
// Value: none
// Instruction types: a virtual call: { set_oop; jump; }
@@ -271,8 +259,8 @@ class relocInfo VALUE_OBJ_CLASS_SPEC {
section_word_type = 9, // internal, but a cross-section reference
poll_type = 10, // polling instruction for safepoints
poll_return_type = 11, // polling instruction for safepoints at return
- breakpoint_type = 12, // an initialization barrier or safepoint
- metadata_type = 13, // metadata that used to be oops
+ metadata_type = 12, // metadata that used to be oops
+ yet_unused_type_1 = 13, // Still unused
yet_unused_type_2 = 14, // Still unused
data_prefix_tag = 15, // tag for a prefix (carries data arguments)
type_mask = 15 // A mask which selects only the above values
@@ -312,7 +300,6 @@ class relocInfo VALUE_OBJ_CLASS_SPEC {
visitor(internal_word) \
visitor(poll) \
visitor(poll_return) \
- visitor(breakpoint) \
visitor(section_word) \
@@ -454,7 +441,7 @@ class relocInfo VALUE_OBJ_CLASS_SPEC {
public:
enum {
// Conservatively large estimate of maximum length (in shorts)
- // of any relocation record (probably breakpoints are largest).
+ // of any relocation record.
// Extended format is length prefix, data words, and tag/offset suffix.
length_limit = 1 + 1 + (3*BytesPerWord/BytesPerShort) + 1,
have_format = format_width > 0
@@ -571,8 +558,6 @@ class RelocIterator : public StackObj {
void initialize(nmethod* nm, address begin, address limit);
- friend class PatchingRelocIterator;
- // make an uninitialized one, for PatchingRelocIterator:
RelocIterator() { initialize_misc(); }
public:
@@ -779,9 +764,6 @@ class Relocation VALUE_OBJ_CLASS_SPEC {
void pd_verify_data_value (address x, intptr_t off) { pd_set_data_value(x, off, true); }
address pd_call_destination (address orig_addr = NULL);
void pd_set_call_destination (address x);
- void pd_swap_in_breakpoint (address x, short* instrs, int instrlen);
- void pd_swap_out_breakpoint (address x, short* instrs, int instrlen);
- static int pd_breakpoint_size ();
// this extracts the address of an address in the code stream instead of the reloc data
address* pd_address_in_code ();
@@ -1302,87 +1284,6 @@ class poll_return_Relocation : public Relocation {
void fix_relocation_after_move(const CodeBuffer* src, CodeBuffer* dest);
};
-
-class breakpoint_Relocation : public Relocation {
- relocInfo::relocType type() { return relocInfo::breakpoint_type; }
-
- enum {
- // attributes which affect the interpretation of the data:
- removable_attr = 0x0010, // buffer [i...] allows for undoing the trap
- internal_attr = 0x0020, // the target is an internal addr (local stub)
- settable_attr = 0x0040, // the target is settable
-
- // states which can change over time:
- enabled_state = 0x0100, // breakpoint must be active in running code
- active_state = 0x0200, // breakpoint instruction actually in code
-
- kind_mask = 0x000F, // mask for extracting kind
- high_bit = 0x4000 // extra bit which is always set
- };
-
- public:
- enum {
- // kinds:
- initialization = 1,
- safepoint = 2
- };
-
- // If target is NULL, 32 bits are reserved for a later set_target().
- static RelocationHolder spec(int kind, address target = NULL, bool internal_target = false) {
- RelocationHolder rh = newHolder();
- new(rh) breakpoint_Relocation(kind, target, internal_target);
- return rh;
- }
-
- private:
- // We require every bits value to NOT to fit into relocInfo::datalen_width,
- // because we are going to actually store state in the reloc, and so
- // cannot allow it to be compressed (and hence copied by the iterator).
-
- short _bits; // bit-encoded kind, attrs, & state
- address _target;
-
- breakpoint_Relocation(int kind, address target, bool internal_target);
-
- friend class RelocIterator;
- breakpoint_Relocation() { }
-
- short bits() const { return _bits; }
- short& live_bits() const { return data()[0]; }
- short* instrs() const { return data() + datalen() - instrlen(); }
- int instrlen() const { return removable() ? pd_breakpoint_size() : 0; }
-
- void set_bits(short x) {
- assert(live_bits() == _bits, "must be the only mutator of reloc info");
- live_bits() = _bits = x;
- }
-
- public:
- address target() const;
- void set_target(address x);
-
- int kind() const { return bits() & kind_mask; }
- bool enabled() const { return (bits() & enabled_state) != 0; }
- bool active() const { return (bits() & active_state) != 0; }
- bool internal() const { return (bits() & internal_attr) != 0; }
- bool removable() const { return (bits() & removable_attr) != 0; }
- bool settable() const { return (bits() & settable_attr) != 0; }
-
- void set_enabled(bool b); // to activate, you must also say set_active
- void set_active(bool b); // actually inserts bpt (must be enabled 1st)
-
- // data is packed as 16 bits, followed by the target (1 or 2 words), followed
- // if necessary by empty storage for saving away original instruction bytes.
- void pack_data_to(CodeSection* dest);
- void unpack_data();
-
- // during certain operations, breakpoints must be out of the way:
- void fix_relocation_after_move(const CodeBuffer* src, CodeBuffer* dest) {
- assert(!active(), "cannot perform relocation on enabled breakpoints");
- }
-};
-
-
// We know all the xxx_Relocation classes, so now we can define these:
#define EACH_CASE(name) \
inline name##_Relocation* RelocIterator::name##_reloc() { \
@@ -1401,25 +1302,4 @@ inline RelocIterator::RelocIterator(nmethod* nm, address begin, address limit) {
initialize(nm, begin, limit);
}
-// if you are going to patch code, you should use this subclass of
-// RelocIterator
-class PatchingRelocIterator : public RelocIterator {
- private:
- RelocIterator _init_state;
-
- void prepass(); // deactivates all breakpoints
- void postpass(); // reactivates all enabled breakpoints
-
- // do not copy these puppies; it would have unpredictable side effects
- // these are private and have no bodies defined because they should not be called
- PatchingRelocIterator(const RelocIterator&);
- void operator=(const RelocIterator&);
-
- public:
- PatchingRelocIterator(nmethod* nm, address begin = NULL, address limit = NULL)
- : RelocIterator(nm, begin, limit) { prepass(); }
-
- ~PatchingRelocIterator() { postpass(); }
-};
-
#endif // SHARE_VM_CODE_RELOCINFO_HPP
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1CardCounts.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1CardCounts.cpp
index 00ea5b54850..f75e518facc 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CardCounts.cpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CardCounts.cpp
@@ -152,12 +152,9 @@ uint G1CardCounts::add_card_count(jbyte* card_ptr) {
if (card_num < _committed_max_card_num) {
count = (uint) _card_counts[card_num];
if (count < G1ConcRSHotCardLimit) {
- _card_counts[card_num] += 1;
+ _card_counts[card_num] =
+ (jubyte)(MIN2((uintx)(_card_counts[card_num] + 1), G1ConcRSHotCardLimit));
}
- assert(_card_counts[card_num] <= G1ConcRSHotCardLimit,
- err_msg("Refinement count overflow? "
- "new count: "UINT32_FORMAT,
- (uint) _card_counts[card_num]));
}
}
return count;
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp
index 9cee1eb1ba2..218be0c0e40 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp
@@ -47,7 +47,7 @@ void G1SATBCardTableModRefBS::enqueue(oop pre_val) {
JavaThread* jt = (JavaThread*)thr;
jt->satb_mark_queue().enqueue(pre_val);
} else {
- MutexLocker x(Shared_SATB_Q_lock);
+ MutexLockerEx x(Shared_SATB_Q_lock, Mutex::_no_safepoint_check_flag);
JavaThread::satb_mark_queue_set().shared_satb_queue()->enqueue(pre_val);
}
}
diff --git a/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp b/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp
index 7ef24358e15..22c84ec81ee 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp
@@ -798,7 +798,7 @@ void HeapRegion::verify(VerifyOption vo,
if (!g1->is_obj_dead_cond(obj, this, vo)) {
if (obj->is_oop()) {
Klass* klass = obj->klass();
- if (!klass->is_metadata()) {
+ if (!klass->is_metaspace_object()) {
gclog_or_tty->print_cr("klass "PTR_FORMAT" of object "PTR_FORMAT" "
"not metadata", klass, obj);
*failures = true;
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.cpp
index 0c12e98bea4..39f5835ffe5 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.cpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.cpp
@@ -70,6 +70,17 @@ ASPSOldGen::ASPSOldGen(PSVirtualSpace* vs,
_virtual_space = vs;
}
+void ASPSOldGen::initialize_work(const char* perf_data_name, int level) {
+
+ PSOldGen::initialize_work(perf_data_name, level);
+
+ // The old gen can grow to gen_size_limit(). _reserve reflects only
+ // the current maximum that can be committed.
+ assert(_reserved.byte_size() <= gen_size_limit(), "Consistency check");
+
+ initialize_performance_counters(perf_data_name, level);
+}
+
void ASPSOldGen::reset_after_change() {
_reserved = MemRegion((HeapWord*)virtual_space()->low_boundary(),
(HeapWord*)virtual_space()->high_boundary());
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.hpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.hpp
index 3de4f9793a6..eaa1f2b5509 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.hpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.hpp
@@ -50,6 +50,8 @@ class ASPSOldGen : public PSOldGen {
size_t max_gen_size() { return _reserved.byte_size(); }
void set_gen_size_limit(size_t v) { _gen_size_limit = v; }
+ virtual void initialize_work(const char* perf_data_name, int level);
+
// After a shrink or expand reset the generation
void reset_after_change();
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp
index b2134f10e92..82ea39b525a 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -565,11 +565,9 @@ bool CardTableExtension::resize_commit_uncommit(int changed_region,
if(new_start_aligned < new_end_for_commit) {
MemRegion new_committed =
MemRegion(new_start_aligned, new_end_for_commit);
- if (!os::commit_memory((char*)new_committed.start(),
- new_committed.byte_size())) {
- vm_exit_out_of_memory(new_committed.byte_size(), OOM_MMAP_ERROR,
- "card table expansion");
- }
+ os::commit_memory_or_exit((char*)new_committed.start(),
+ new_committed.byte_size(), !ExecMem,
+ "card table expansion");
}
result = true;
} else if (new_start_aligned > cur_committed.start()) {
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp
index 7727017959d..7fba4f35813 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp
@@ -1250,14 +1250,13 @@ uint PSAdaptiveSizePolicy::compute_survivor_space_size_and_threshold(
avg_promoted()->deviation());
}
- gclog_or_tty->print( " avg_promoted_padded_avg: %f"
+ gclog_or_tty->print_cr( " avg_promoted_padded_avg: %f"
" avg_pretenured_padded_avg: %f"
" tenuring_thresh: %d"
" target_size: " SIZE_FORMAT,
avg_promoted()->padded_average(),
_avg_pretenured->padded_average(),
tenuring_threshold, target_size);
- tty->cr();
}
set_survivor_size(target_size);
@@ -1279,7 +1278,7 @@ void PSAdaptiveSizePolicy::update_averages(bool is_survivor_overflow,
avg_promoted()->sample(promoted + _avg_pretenured->padded_average());
if (PrintAdaptiveSizePolicy) {
- gclog_or_tty->print(
+ gclog_or_tty->print_cr(
"AdaptiveSizePolicy::update_averages:"
" survived: " SIZE_FORMAT
" promoted: " SIZE_FORMAT
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psOldGen.hpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psOldGen.hpp
index ed784f30d52..cf8f574ddfd 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psOldGen.hpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psOldGen.hpp
@@ -110,7 +110,7 @@ class PSOldGen : public CHeapObj {
virtual void initialize(ReservedSpace rs, size_t alignment,
const char* perf_data_name, int level);
void initialize_virtual_space(ReservedSpace rs, size_t alignment);
- void initialize_work(const char* perf_data_name, int level);
+ virtual void initialize_work(const char* perf_data_name, int level);
virtual void initialize_performance_counters(const char* perf_data_name, int level);
MemRegion reserved() const { return _reserved; }
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp
index e194767073d..9999527302a 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -101,7 +101,8 @@ bool PSVirtualSpace::expand_by(size_t bytes) {
}
char* const base_addr = committed_high_addr();
- bool result = special() || os::commit_memory(base_addr, bytes, alignment());
+ bool result = special() ||
+ os::commit_memory(base_addr, bytes, alignment(), !ExecMem);
if (result) {
_committed_high_addr += bytes;
}
@@ -154,7 +155,7 @@ PSVirtualSpace::expand_into(PSVirtualSpace* other_space, size_t bytes) {
if (tmp_bytes > 0) {
char* const commit_base = committed_high_addr();
if (other_space->special() ||
- os::commit_memory(commit_base, tmp_bytes, alignment())) {
+ os::commit_memory(commit_base, tmp_bytes, alignment(), !ExecMem)) {
// Reduce the reserved region in the other space.
other_space->set_reserved(other_space->reserved_low_addr() + tmp_bytes,
other_space->reserved_high_addr(),
@@ -269,7 +270,8 @@ bool PSVirtualSpaceHighToLow::expand_by(size_t bytes) {
}
char* const base_addr = committed_low_addr() - bytes;
- bool result = special() || os::commit_memory(base_addr, bytes, alignment());
+ bool result = special() ||
+ os::commit_memory(base_addr, bytes, alignment(), !ExecMem);
if (result) {
_committed_low_addr -= bytes;
}
@@ -322,7 +324,7 @@ size_t PSVirtualSpaceHighToLow::expand_into(PSVirtualSpace* other_space,
if (tmp_bytes > 0) {
char* const commit_base = committed_low_addr() - tmp_bytes;
if (other_space->special() ||
- os::commit_memory(commit_base, tmp_bytes, alignment())) {
+ os::commit_memory(commit_base, tmp_bytes, alignment(), !ExecMem)) {
// Reduce the reserved region in the other space.
other_space->set_reserved(other_space->reserved_low_addr(),
other_space->reserved_high_addr() - tmp_bytes,
diff --git a/hotspot/src/share/vm/interpreter/abstractInterpreter.hpp b/hotspot/src/share/vm/interpreter/abstractInterpreter.hpp
index 264d4fffbf6..77471ad3d5f 100644
--- a/hotspot/src/share/vm/interpreter/abstractInterpreter.hpp
+++ b/hotspot/src/share/vm/interpreter/abstractInterpreter.hpp
@@ -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
@@ -102,6 +102,9 @@ class AbstractInterpreter: AllStatic {
java_lang_math_pow, // implementation of java.lang.Math.pow (x,y)
java_lang_math_exp, // implementation of java.lang.Math.exp (x)
java_lang_ref_reference_get, // implementation of java.lang.ref.Reference.get()
+ java_util_zip_CRC32_update, // implementation of java.util.zip.CRC32.update()
+ java_util_zip_CRC32_updateBytes, // implementation of java.util.zip.CRC32.updateBytes()
+ java_util_zip_CRC32_updateByteBuffer, // implementation of java.util.zip.CRC32.updateByteBuffer()
number_of_method_entries,
invalid = -1
};
diff --git a/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp b/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp
index 8f0ec849cca..538b836f08a 100644
--- a/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp
+++ b/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp
@@ -481,9 +481,9 @@ BytecodeInterpreter::run(interpreterState istate) {
// So we have a second version of the assertion which handles the case where EnableInvokeDynamic was
// switched off because of the wrong classes.
if (EnableInvokeDynamic || FLAG_IS_CMDLINE(EnableInvokeDynamic)) {
- assert(abs(istate->_stack_base - istate->_stack_limit) == (istate->_method->max_stack() + 1), "bad stack limit");
+ assert(labs(istate->_stack_base - istate->_stack_limit) == (istate->_method->max_stack() + 1), "bad stack limit");
} else {
- const int extra_stack_entries = Method::extra_stack_entries_for_indy;
+ const int extra_stack_entries = Method::extra_stack_entries_for_jsr292;
assert(labs(istate->_stack_base - istate->_stack_limit) == (istate->_method->max_stack() + extra_stack_entries
+ 1), "bad stack limit");
}
@@ -1581,7 +1581,7 @@ run:
#define ARRAY_LOADTO32(T, T2, format, stackRes, extra) \
{ \
ARRAY_INTRO(-2); \
- extra; \
+ (void)extra; \
SET_ ## stackRes(*(T2 *)(((address) arrObj->base(T)) + index * sizeof(T2)), \
-2); \
UPDATE_PC_AND_TOS_AND_CONTINUE(1, -1); \
@@ -1592,8 +1592,8 @@ run:
{ \
ARRAY_INTRO(-2); \
SET_ ## stackRes(*(T2 *)(((address) arrObj->base(T)) + index * sizeof(T2)), -1); \
- extra; \
- UPDATE_PC_AND_CONTINUE(1); \
+ (void)extra; \
+ UPDATE_PC_AND_CONTINUE(1); \
}
CASE(_iaload):
@@ -1617,7 +1617,7 @@ run:
#define ARRAY_STOREFROM32(T, T2, format, stackSrc, extra) \
{ \
ARRAY_INTRO(-3); \
- extra; \
+ (void)extra; \
*(T2 *)(((address) arrObj->base(T)) + index * sizeof(T2)) = stackSrc( -1); \
UPDATE_PC_AND_TOS_AND_CONTINUE(1, -3); \
}
@@ -1626,7 +1626,7 @@ run:
#define ARRAY_STOREFROM64(T, T2, stackSrc, extra) \
{ \
ARRAY_INTRO(-4); \
- extra; \
+ (void)extra; \
*(T2 *)(((address) arrObj->base(T)) + index * sizeof(T2)) = stackSrc( -1); \
UPDATE_PC_AND_TOS_AND_CONTINUE(1, -4); \
}
@@ -2233,7 +2233,7 @@ run:
}
Method* method = cache->f1_as_method();
- VERIFY_OOP(method);
+ if (VerifyOops) method->verify();
if (cache->has_appendix()) {
ConstantPool* constants = METHOD->constants();
@@ -2265,8 +2265,7 @@ run:
}
Method* method = cache->f1_as_method();
-
- VERIFY_OOP(method);
+ if (VerifyOops) method->verify();
if (cache->has_appendix()) {
ConstantPool* constants = METHOD->constants();
diff --git a/hotspot/src/share/vm/interpreter/interpreter.cpp b/hotspot/src/share/vm/interpreter/interpreter.cpp
index 06554172bf1..dfd8b5b145a 100644
--- a/hotspot/src/share/vm/interpreter/interpreter.cpp
+++ b/hotspot/src/share/vm/interpreter/interpreter.cpp
@@ -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
@@ -195,6 +195,17 @@ AbstractInterpreter::MethodKind AbstractInterpreter::method_kind(methodHandle m)
return kind;
}
+#ifndef CC_INTERP
+ if (UseCRC32Intrinsics && m->is_native()) {
+ // Use optimized stub code for CRC32 native methods.
+ switch (m->intrinsic_id()) {
+ case vmIntrinsics::_updateCRC32 : return java_util_zip_CRC32_update;
+ case vmIntrinsics::_updateBytesCRC32 : return java_util_zip_CRC32_updateBytes;
+ case vmIntrinsics::_updateByteBufferCRC32 : return java_util_zip_CRC32_updateByteBuffer;
+ }
+ }
+#endif
+
// Native method?
// Note: This test must come _before_ the test for intrinsic
// methods. See also comments below.
@@ -297,6 +308,9 @@ void AbstractInterpreter::print_method_kind(MethodKind kind) {
case java_lang_math_sqrt : tty->print("java_lang_math_sqrt" ); break;
case java_lang_math_log : tty->print("java_lang_math_log" ); break;
case java_lang_math_log10 : tty->print("java_lang_math_log10" ); break;
+ case java_util_zip_CRC32_update : tty->print("java_util_zip_CRC32_update"); break;
+ case java_util_zip_CRC32_updateBytes : tty->print("java_util_zip_CRC32_updateBytes"); break;
+ case java_util_zip_CRC32_updateByteBuffer : tty->print("java_util_zip_CRC32_updateByteBuffer"); break;
default:
if (kind >= method_handle_invoke_FIRST &&
kind <= method_handle_invoke_LAST) {
diff --git a/hotspot/src/share/vm/interpreter/templateInterpreter.cpp b/hotspot/src/share/vm/interpreter/templateInterpreter.cpp
index 53e50b1c7fe..9f7ed4c7e97 100644
--- a/hotspot/src/share/vm/interpreter/templateInterpreter.cpp
+++ b/hotspot/src/share/vm/interpreter/templateInterpreter.cpp
@@ -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
@@ -373,6 +373,12 @@ void TemplateInterpreterGenerator::generate_all() {
method_entry(java_lang_math_pow )
method_entry(java_lang_ref_reference_get)
+ if (UseCRC32Intrinsics) {
+ method_entry(java_util_zip_CRC32_update)
+ method_entry(java_util_zip_CRC32_updateBytes)
+ method_entry(java_util_zip_CRC32_updateByteBuffer)
+ }
+
initialize_method_handle_entries();
// all native method kinds (must be one contiguous block)
diff --git a/hotspot/src/share/vm/memory/allocation.cpp b/hotspot/src/share/vm/memory/allocation.cpp
index c4393a65e22..c45dab1c4c5 100644
--- a/hotspot/src/share/vm/memory/allocation.cpp
+++ b/hotspot/src/share/vm/memory/allocation.cpp
@@ -71,13 +71,6 @@ bool MetaspaceObj::is_shared() const {
return MetaspaceShared::is_in_shared_space(this);
}
-bool MetaspaceObj::is_metadata() const {
- // GC Verify checks use this in guarantees.
- // TODO: either replace them with is_metaspace_object() or remove them.
- // is_metaspace_object() is slower than this test. This test doesn't
- // seem very useful for metaspace objects anymore though.
- return !Universe::heap()->is_in_reserved(this);
-}
bool MetaspaceObj::is_metaspace_object() const {
return Metaspace::contains((void*)this);
diff --git a/hotspot/src/share/vm/memory/allocation.hpp b/hotspot/src/share/vm/memory/allocation.hpp
index bd38a94d451..17654f06984 100644
--- a/hotspot/src/share/vm/memory/allocation.hpp
+++ b/hotspot/src/share/vm/memory/allocation.hpp
@@ -264,7 +264,6 @@ class ClassLoaderData;
class MetaspaceObj {
public:
- bool is_metadata() const;
bool is_metaspace_object() const; // more specific test but slower
bool is_shared() const;
void print_address_on(outputStream* st) const; // nonvirtual address printing
@@ -643,8 +642,15 @@ class ResourceObj ALLOCATION_SUPER_CLASS_SPEC {
#define NEW_RESOURCE_ARRAY_IN_THREAD(thread, type, size)\
(type*) resource_allocate_bytes(thread, (size) * sizeof(type))
+#define NEW_RESOURCE_ARRAY_IN_THREAD_RETURN_NULL(thread, type, size)\
+ (type*) resource_allocate_bytes(thread, (size) * sizeof(type), AllocFailStrategy::RETURN_NULL)
+
#define REALLOC_RESOURCE_ARRAY(type, old, old_size, new_size)\
- (type*) resource_reallocate_bytes((char*)(old), (old_size) * sizeof(type), (new_size) * sizeof(type) )
+ (type*) resource_reallocate_bytes((char*)(old), (old_size) * sizeof(type), (new_size) * sizeof(type))
+
+#define REALLOC_RESOURCE_ARRAY_RETURN_NULL(type, old, old_size, new_size)\
+ (type*) resource_reallocate_bytes((char*)(old), (old_size) * sizeof(type),\
+ (new_size) * sizeof(type), AllocFailStrategy::RETURN_NULL)
#define FREE_RESOURCE_ARRAY(type, old, size)\
resource_free_bytes((char*)(old), (size) * sizeof(type))
@@ -655,28 +661,40 @@ class ResourceObj ALLOCATION_SUPER_CLASS_SPEC {
#define NEW_RESOURCE_OBJ(type)\
NEW_RESOURCE_ARRAY(type, 1)
-#define NEW_C_HEAP_ARRAY(type, size, memflags)\
- (type*) (AllocateHeap((size) * sizeof(type), memflags))
+#define NEW_RESOURCE_OBJ_RETURN_NULL(type)\
+ NEW_RESOURCE_ARRAY_RETURN_NULL(type, 1)
-#define REALLOC_C_HEAP_ARRAY(type, old, size, memflags)\
- (type*) (ReallocateHeap((char*)old, (size) * sizeof(type), memflags))
-
-#define FREE_C_HEAP_ARRAY(type, old, memflags) \
- FreeHeap((char*)(old), memflags)
+#define NEW_C_HEAP_ARRAY3(type, size, memflags, pc, allocfail)\
+ (type*) AllocateHeap(size * sizeof(type), memflags, pc, allocfail)
#define NEW_C_HEAP_ARRAY2(type, size, memflags, pc)\
(type*) (AllocateHeap((size) * sizeof(type), memflags, pc))
-#define REALLOC_C_HEAP_ARRAY2(type, old, size, memflags, pc)\
- (type*) (ReallocateHeap((char*)old, (size) * sizeof(type), memflags, pc))
+#define NEW_C_HEAP_ARRAY(type, size, memflags)\
+ (type*) (AllocateHeap((size) * sizeof(type), memflags))
-#define NEW_C_HEAP_ARRAY3(type, size, memflags, pc, allocfail) \
- (type*) AllocateHeap(size * sizeof(type), memflags, pc, allocfail)
+#define NEW_C_HEAP_ARRAY2_RETURN_NULL(type, size, memflags, pc)\
+ NEW_C_HEAP_ARRAY3(type, size, memflags, pc, AllocFailStrategy::RETURN_NULL)
+
+#define NEW_C_HEAP_ARRAY_RETURN_NULL(type, size, memflags)\
+ NEW_C_HEAP_ARRAY3(type, size, memflags, (address)0, AllocFailStrategy::RETURN_NULL)
+
+#define REALLOC_C_HEAP_ARRAY(type, old, size, memflags)\
+ (type*) (ReallocateHeap((char*)old, (size) * sizeof(type), memflags))
+
+#define REALLOC_C_HEAP_ARRAY_RETURN_NULL(type, old, size, memflags)\
+ (type*) (ReallocateHeap((char*)old, (size) * sizeof(type), memflags, AllocFailStrategy::RETURN_NULL))
+
+#define FREE_C_HEAP_ARRAY(type, old, memflags) \
+ FreeHeap((char*)(old), memflags)
// allocate type in heap without calling ctor
#define NEW_C_HEAP_OBJ(type, memflags)\
NEW_C_HEAP_ARRAY(type, 1, memflags)
+#define NEW_C_HEAP_OBJ_RETURN_NULL(type, memflags)\
+ NEW_C_HEAP_ARRAY_RETURN_NULL(type, 1, memflags)
+
// deallocate obj of type in heap without calling dtor
#define FREE_C_HEAP_OBJ(objname, memflags)\
FreeHeap((char*)objname, memflags);
@@ -721,13 +739,21 @@ public:
// is set so that we always use malloc except for Solaris where we set the
// limit to get mapped memory.
template
-class ArrayAllocator : StackObj {
+class ArrayAllocator VALUE_OBJ_CLASS_SPEC {
char* _addr;
bool _use_malloc;
size_t _size;
+ bool _free_in_destructor;
public:
- ArrayAllocator() : _addr(NULL), _use_malloc(false), _size(0) { }
- ~ArrayAllocator() { free(); }
+ ArrayAllocator(bool free_in_destructor = true) :
+ _addr(NULL), _use_malloc(false), _size(0), _free_in_destructor(free_in_destructor) { }
+
+ ~ArrayAllocator() {
+ if (_free_in_destructor) {
+ free();
+ }
+ }
+
E* allocate(size_t length);
void free();
};
diff --git a/hotspot/src/share/vm/memory/allocation.inline.hpp b/hotspot/src/share/vm/memory/allocation.inline.hpp
index 138dd660a9c..f59ae5b4f0e 100644
--- a/hotspot/src/share/vm/memory/allocation.inline.hpp
+++ b/hotspot/src/share/vm/memory/allocation.inline.hpp
@@ -146,10 +146,7 @@ E* ArrayAllocator::allocate(size_t length) {
vm_exit_out_of_memory(_size, OOM_MMAP_ERROR, "Allocator (reserve)");
}
- bool success = os::commit_memory(_addr, _size, false /* executable */);
- if (!success) {
- vm_exit_out_of_memory(_size, OOM_MMAP_ERROR, "Allocator (commit)");
- }
+ os::commit_memory_or_exit(_addr, _size, !ExecMem, "Allocator (commit)");
return (E*)_addr;
}
diff --git a/hotspot/src/share/vm/memory/cardTableModRefBS.cpp b/hotspot/src/share/vm/memory/cardTableModRefBS.cpp
index 7cc68debfe5..82336503eb4 100644
--- a/hotspot/src/share/vm/memory/cardTableModRefBS.cpp
+++ b/hotspot/src/share/vm/memory/cardTableModRefBS.cpp
@@ -110,11 +110,8 @@ CardTableModRefBS::CardTableModRefBS(MemRegion whole_heap,
jbyte* guard_card = &_byte_map[_guard_index];
uintptr_t guard_page = align_size_down((uintptr_t)guard_card, _page_size);
_guard_region = MemRegion((HeapWord*)guard_page, _page_size);
- if (!os::commit_memory((char*)guard_page, _page_size, _page_size)) {
- // Do better than this for Merlin
- vm_exit_out_of_memory(_page_size, OOM_MMAP_ERROR, "card table last card");
- }
-
+ os::commit_memory_or_exit((char*)guard_page, _page_size, _page_size,
+ !ExecMem, "card table last card");
*guard_card = last_card;
_lowest_non_clean =
@@ -312,12 +309,9 @@ void CardTableModRefBS::resize_covered_region(MemRegion new_region) {
MemRegion(cur_committed.end(), new_end_for_commit);
assert(!new_committed.is_empty(), "Region should not be empty here");
- if (!os::commit_memory((char*)new_committed.start(),
- new_committed.byte_size(), _page_size)) {
- // Do better than this for Merlin
- vm_exit_out_of_memory(new_committed.byte_size(), OOM_MMAP_ERROR,
- "card table expansion");
- }
+ os::commit_memory_or_exit((char*)new_committed.start(),
+ new_committed.byte_size(), _page_size,
+ !ExecMem, "card table expansion");
// Use new_end_aligned (as opposed to new_end_for_commit) because
// the cur_committed region may include the guard region.
} else if (new_end_aligned < cur_committed.end()) {
@@ -418,7 +412,7 @@ void CardTableModRefBS::resize_covered_region(MemRegion new_region) {
}
// Touch the last card of the covered region to show that it
// is committed (or SEGV).
- debug_only(*byte_for(_covered[ind].last());)
+ debug_only((void) (*byte_for(_covered[ind].last()));)
debug_only(verify_guard();)
}
diff --git a/hotspot/src/share/vm/memory/filemap.cpp b/hotspot/src/share/vm/memory/filemap.cpp
index dbc0c87edce..5dfaf6f9701 100644
--- a/hotspot/src/share/vm/memory/filemap.cpp
+++ b/hotspot/src/share/vm/memory/filemap.cpp
@@ -549,3 +549,13 @@ bool FileMapInfo::is_in_shared_space(const void* p) {
return false;
}
+
+void FileMapInfo::print_shared_spaces() {
+ gclog_or_tty->print_cr("Shared Spaces:");
+ for (int i = 0; i < MetaspaceShared::n_regions; i++) {
+ struct FileMapInfo::FileMapHeader::space_info* si = &_header._space[i];
+ gclog_or_tty->print(" %s " INTPTR_FORMAT "-" INTPTR_FORMAT,
+ shared_region_name[i],
+ si->_base, si->_base + si->_used);
+ }
+}
diff --git a/hotspot/src/share/vm/memory/filemap.hpp b/hotspot/src/share/vm/memory/filemap.hpp
index a11914b9c01..ee4ccec5bfe 100644
--- a/hotspot/src/share/vm/memory/filemap.hpp
+++ b/hotspot/src/share/vm/memory/filemap.hpp
@@ -149,6 +149,7 @@ public:
// Return true if given address is in the mapped shared space.
bool is_in_shared_space(const void* p) NOT_CDS_RETURN_(false);
+ void print_shared_spaces() NOT_CDS_RETURN;
};
#endif // SHARE_VM_MEMORY_FILEMAP_HPP
diff --git a/hotspot/src/share/vm/memory/heapInspection.cpp b/hotspot/src/share/vm/memory/heapInspection.cpp
index 2afecb68092..bf65c882cd6 100644
--- a/hotspot/src/share/vm/memory/heapInspection.cpp
+++ b/hotspot/src/share/vm/memory/heapInspection.cpp
@@ -157,7 +157,6 @@ KlassInfoTable::~KlassInfoTable() {
}
uint KlassInfoTable::hash(const Klass* p) {
- assert(p->is_metadata(), "all klasses are metadata");
return (uint)(((uintptr_t)p - (uintptr_t)_ref) >> 2);
}
diff --git a/hotspot/src/share/vm/memory/metaspace.cpp b/hotspot/src/share/vm/memory/metaspace.cpp
index c840b9363ef..1522eddb76b 100644
--- a/hotspot/src/share/vm/memory/metaspace.cpp
+++ b/hotspot/src/share/vm/memory/metaspace.cpp
@@ -70,7 +70,7 @@ enum ChunkSizes { // in words.
SpecializedChunk = 128,
ClassSmallChunk = 256,
SmallChunk = 512,
- ClassMediumChunk = 1 * K,
+ ClassMediumChunk = 4 * K,
MediumChunk = 8 * K,
HumongousChunkGranularity = 8
};
@@ -580,7 +580,6 @@ class SpaceManager : public CHeapObj {
// Number of small chunks to allocate to a manager
// If class space manager, small chunks are unlimited
static uint const _small_chunk_limit;
- bool has_small_chunk_limit() { return !vs_list()->is_class(); }
// Sum of all space in allocated chunks
size_t _allocated_blocks_words;
@@ -1298,13 +1297,18 @@ size_t MetaspaceGC::delta_capacity_until_GC(size_t word_size) {
bool MetaspaceGC::should_expand(VirtualSpaceList* vsl, size_t word_size) {
- size_t committed_capacity_bytes = MetaspaceAux::allocated_capacity_bytes();
// If the user wants a limit, impose one.
- size_t max_metaspace_size_bytes = MaxMetaspaceSize;
- size_t metaspace_size_bytes = MetaspaceSize;
- if (!FLAG_IS_DEFAULT(MaxMetaspaceSize) &&
- MetaspaceAux::reserved_in_bytes() >= MaxMetaspaceSize) {
- return false;
+ // The reason for someone using this flag is to limit reserved space. So
+ // for non-class virtual space, compare against virtual spaces that are reserved.
+ // For class virtual space, we only compare against the committed space, not
+ // reserved space, because this is a larger space prereserved for compressed
+ // class pointers.
+ if (!FLAG_IS_DEFAULT(MaxMetaspaceSize)) {
+ size_t real_allocated = Metaspace::space_list()->virtual_space_total() +
+ MetaspaceAux::allocated_capacity_bytes(Metaspace::ClassType);
+ if (real_allocated >= MaxMetaspaceSize) {
+ return false;
+ }
}
// Class virtual space should always be expanded. Call GC for the other
@@ -1318,11 +1322,12 @@ bool MetaspaceGC::should_expand(VirtualSpaceList* vsl, size_t word_size) {
}
-
// If the capacity is below the minimum capacity, allow the
// expansion. Also set the high-water-mark (capacity_until_GC)
// to that minimum capacity so that a GC will not be induced
// until that minimum capacity is exceeded.
+ size_t committed_capacity_bytes = MetaspaceAux::allocated_capacity_bytes();
+ size_t metaspace_size_bytes = MetaspaceSize;
if (committed_capacity_bytes < metaspace_size_bytes ||
capacity_until_GC() == 0) {
set_capacity_until_GC(metaspace_size_bytes);
@@ -1556,19 +1561,7 @@ bool Metadebug::test_metadata_failure() {
// ChunkManager methods
-// Verification of _free_chunks_total and _free_chunks_count does not
-// work with the CMS collector because its use of additional locks
-// complicate the mutex deadlock detection but it can still be useful
-// for detecting errors in the chunk accounting with other collectors.
-
size_t ChunkManager::free_chunks_total() {
-#ifdef ASSERT
- if (!UseConcMarkSweepGC && !SpaceManager::expand_lock()->is_locked()) {
- MutexLockerEx cl(SpaceManager::expand_lock(),
- Mutex::_no_safepoint_check_flag);
- slow_locked_verify_free_chunks_total();
- }
-#endif
return _free_chunks_total;
}
@@ -1866,13 +1859,11 @@ size_t SpaceManager::sum_waste_in_chunks_in_use(ChunkIndex index) const {
Metachunk* chunk = chunks_in_use(index);
// Count the free space in all the chunk but not the
// current chunk from which allocations are still being done.
- if (chunk != NULL) {
- Metachunk* prev = chunk;
- while (chunk != NULL && chunk != current_chunk()) {
+ while (chunk != NULL) {
+ if (chunk != current_chunk()) {
result += chunk->free_word_size();
- prev = chunk;
- chunk = chunk->next();
}
+ chunk = chunk->next();
}
return result;
}
@@ -1961,8 +1952,7 @@ size_t SpaceManager::calc_chunk_size(size_t word_size) {
// chunks will be allocated.
size_t chunk_word_size;
if (chunks_in_use(MediumIndex) == NULL &&
- (!has_small_chunk_limit() ||
- sum_count_in_chunks_in_use(SmallIndex) < _small_chunk_limit)) {
+ sum_count_in_chunks_in_use(SmallIndex) < _small_chunk_limit) {
chunk_word_size = (size_t) small_chunk_size();
if (word_size + Metachunk::overhead() > small_chunk_size()) {
chunk_word_size = medium_chunk_size();
@@ -2608,14 +2598,14 @@ void MetaspaceAux::print_metaspace_change(size_t prev_metadata_used) {
"->" SIZE_FORMAT
"(" SIZE_FORMAT ")",
prev_metadata_used,
- allocated_capacity_bytes(),
+ allocated_used_bytes(),
reserved_in_bytes());
} else {
gclog_or_tty->print(" " SIZE_FORMAT "K"
"->" SIZE_FORMAT "K"
"(" SIZE_FORMAT "K)",
prev_metadata_used / K,
- allocated_capacity_bytes() / K,
+ allocated_used_bytes() / K,
reserved_in_bytes()/ K);
}
@@ -2671,10 +2661,10 @@ void MetaspaceAux::print_on(outputStream* out, Metaspace::MetadataType mdtype) {
// Print total fragmentation for class and data metaspaces separately
void MetaspaceAux::print_waste(outputStream* out) {
- size_t specialized_waste = 0, small_waste = 0, medium_waste = 0, large_waste = 0;
- size_t specialized_count = 0, small_count = 0, medium_count = 0, large_count = 0;
- size_t cls_specialized_waste = 0, cls_small_waste = 0, cls_medium_waste = 0, cls_large_waste = 0;
- size_t cls_specialized_count = 0, cls_small_count = 0, cls_medium_count = 0, cls_large_count = 0;
+ size_t specialized_waste = 0, small_waste = 0, medium_waste = 0;
+ size_t specialized_count = 0, small_count = 0, medium_count = 0, humongous_count = 0;
+ size_t cls_specialized_waste = 0, cls_small_waste = 0, cls_medium_waste = 0;
+ size_t cls_specialized_count = 0, cls_small_count = 0, cls_medium_count = 0, cls_humongous_count = 0;
ClassLoaderDataGraphMetaspaceIterator iter;
while (iter.repeat()) {
@@ -2686,8 +2676,7 @@ void MetaspaceAux::print_waste(outputStream* out) {
small_count += msp->vsm()->sum_count_in_chunks_in_use(SmallIndex);
medium_waste += msp->vsm()->sum_waste_in_chunks_in_use(MediumIndex);
medium_count += msp->vsm()->sum_count_in_chunks_in_use(MediumIndex);
- large_waste += msp->vsm()->sum_waste_in_chunks_in_use(HumongousIndex);
- large_count += msp->vsm()->sum_count_in_chunks_in_use(HumongousIndex);
+ humongous_count += msp->vsm()->sum_count_in_chunks_in_use(HumongousIndex);
cls_specialized_waste += msp->class_vsm()->sum_waste_in_chunks_in_use(SpecializedIndex);
cls_specialized_count += msp->class_vsm()->sum_count_in_chunks_in_use(SpecializedIndex);
@@ -2695,20 +2684,23 @@ void MetaspaceAux::print_waste(outputStream* out) {
cls_small_count += msp->class_vsm()->sum_count_in_chunks_in_use(SmallIndex);
cls_medium_waste += msp->class_vsm()->sum_waste_in_chunks_in_use(MediumIndex);
cls_medium_count += msp->class_vsm()->sum_count_in_chunks_in_use(MediumIndex);
- cls_large_waste += msp->class_vsm()->sum_waste_in_chunks_in_use(HumongousIndex);
- cls_large_count += msp->class_vsm()->sum_count_in_chunks_in_use(HumongousIndex);
+ cls_humongous_count += msp->class_vsm()->sum_count_in_chunks_in_use(HumongousIndex);
}
}
out->print_cr("Total fragmentation waste (words) doesn't count free space");
out->print_cr(" data: " SIZE_FORMAT " specialized(s) " SIZE_FORMAT ", "
SIZE_FORMAT " small(s) " SIZE_FORMAT ", "
- SIZE_FORMAT " medium(s) " SIZE_FORMAT,
+ SIZE_FORMAT " medium(s) " SIZE_FORMAT ", "
+ "large count " SIZE_FORMAT,
specialized_count, specialized_waste, small_count,
- small_waste, medium_count, medium_waste);
+ small_waste, medium_count, medium_waste, humongous_count);
out->print_cr(" class: " SIZE_FORMAT " specialized(s) " SIZE_FORMAT ", "
- SIZE_FORMAT " small(s) " SIZE_FORMAT,
+ SIZE_FORMAT " small(s) " SIZE_FORMAT ", "
+ SIZE_FORMAT " medium(s) " SIZE_FORMAT ", "
+ "large count " SIZE_FORMAT,
cls_specialized_count, cls_specialized_waste,
- cls_small_count, cls_small_waste);
+ cls_small_count, cls_small_waste,
+ cls_medium_count, cls_medium_waste, cls_humongous_count);
}
// Dump global metaspace things from the end of ClassLoaderDataGraph
@@ -3049,18 +3041,24 @@ Metablock* Metaspace::allocate(ClassLoaderData* loader_data, size_t word_size,
if (Verbose && TraceMetadataChunkAllocation) {
gclog_or_tty->print_cr("Metaspace allocation failed for size "
SIZE_FORMAT, word_size);
- if (loader_data->metaspace_or_null() != NULL) loader_data->metaspace_or_null()->dump(gclog_or_tty);
+ if (loader_data->metaspace_or_null() != NULL) loader_data->dump(gclog_or_tty);
MetaspaceAux::dump(gclog_or_tty);
}
// -XX:+HeapDumpOnOutOfMemoryError and -XX:OnOutOfMemoryError support
- report_java_out_of_memory("Metadata space");
+ const char* space_string = (mdtype == ClassType) ? "Class Metadata space" :
+ "Metadata space";
+ report_java_out_of_memory(space_string);
if (JvmtiExport::should_post_resource_exhausted()) {
JvmtiExport::post_resource_exhausted(
JVMTI_RESOURCE_EXHAUSTED_OOM_ERROR,
- "Metadata space");
+ space_string);
+ }
+ if (mdtype == ClassType) {
+ THROW_OOP_0(Universe::out_of_memory_error_class_metaspace());
+ } else {
+ THROW_OOP_0(Universe::out_of_memory_error_metaspace());
}
- THROW_OOP_0(Universe::out_of_memory_error_perm_gen());
}
}
return Metablock::initialize(result, word_size);
diff --git a/hotspot/src/share/vm/memory/metaspaceShared.cpp b/hotspot/src/share/vm/memory/metaspaceShared.cpp
index d2c91827485..c7d61f7b732 100644
--- a/hotspot/src/share/vm/memory/metaspaceShared.cpp
+++ b/hotspot/src/share/vm/memory/metaspaceShared.cpp
@@ -826,35 +826,15 @@ public:
bool reading() const { return true; }
};
-
-// Save bounds of shared spaces mapped in.
-static char* _ro_base = NULL;
-static char* _rw_base = NULL;
-static char* _md_base = NULL;
-static char* _mc_base = NULL;
-
// Return true if given address is in the mapped shared space.
bool MetaspaceShared::is_in_shared_space(const void* p) {
- if (_ro_base == NULL || _rw_base == NULL) {
- return false;
- } else {
- return ((p >= _ro_base && p < (_ro_base + SharedReadOnlySize)) ||
- (p >= _rw_base && p < (_rw_base + SharedReadWriteSize)));
- }
+ return UseSharedSpaces && FileMapInfo::current_info()->is_in_shared_space(p);
}
void MetaspaceShared::print_shared_spaces() {
- gclog_or_tty->print_cr("Shared Spaces:");
- gclog_or_tty->print(" read-only " INTPTR_FORMAT "-" INTPTR_FORMAT,
- _ro_base, _ro_base + SharedReadOnlySize);
- gclog_or_tty->print(" read-write " INTPTR_FORMAT "-" INTPTR_FORMAT,
- _rw_base, _rw_base + SharedReadWriteSize);
- gclog_or_tty->cr();
- gclog_or_tty->print(" misc-data " INTPTR_FORMAT "-" INTPTR_FORMAT,
- _md_base, _md_base + SharedMiscDataSize);
- gclog_or_tty->print(" misc-code " INTPTR_FORMAT "-" INTPTR_FORMAT,
- _mc_base, _mc_base + SharedMiscCodeSize);
- gclog_or_tty->cr();
+ if (UseSharedSpaces) {
+ FileMapInfo::current_info()->print_shared_spaces();
+ }
}
@@ -874,6 +854,11 @@ bool MetaspaceShared::map_shared_spaces(FileMapInfo* mapinfo) {
assert(!DumpSharedSpaces, "Should not be called with DumpSharedSpaces");
+ char* _ro_base = NULL;
+ char* _rw_base = NULL;
+ char* _md_base = NULL;
+ char* _mc_base = NULL;
+
// Map each shared region
if ((_ro_base = mapinfo->map_region(ro)) != NULL &&
(_rw_base = mapinfo->map_region(rw)) != NULL &&
diff --git a/hotspot/src/share/vm/memory/referenceProcessorStats.hpp b/hotspot/src/share/vm/memory/referenceProcessorStats.hpp
index 7f4a05ba97f..7497c09b92f 100644
--- a/hotspot/src/share/vm/memory/referenceProcessorStats.hpp
+++ b/hotspot/src/share/vm/memory/referenceProcessorStats.hpp
@@ -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
diff --git a/hotspot/src/share/vm/memory/sharedHeap.cpp b/hotspot/src/share/vm/memory/sharedHeap.cpp
index 1dfccd0b519..fa4dd64ec2c 100644
--- a/hotspot/src/share/vm/memory/sharedHeap.cpp
+++ b/hotspot/src/share/vm/memory/sharedHeap.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -47,7 +47,6 @@ enum SH_process_strong_roots_tasks {
SH_PS_SystemDictionary_oops_do,
SH_PS_ClassLoaderDataGraph_oops_do,
SH_PS_jvmti_oops_do,
- SH_PS_StringTable_oops_do,
SH_PS_CodeCache_oops_do,
// Leave this one last.
SH_PS_NumElements
@@ -127,6 +126,8 @@ SharedHeap::StrongRootsScope::StrongRootsScope(SharedHeap* outer, bool activate)
{
if (_active) {
outer->change_strong_roots_parity();
+ // Zero the claimed high water mark in the StringTable
+ StringTable::clear_parallel_claimed_index();
}
}
@@ -154,14 +155,16 @@ void SharedHeap::process_strong_roots(bool activate_scope,
// Global (strong) JNI handles
if (!_process_strong_tasks->is_task_claimed(SH_PS_JNIHandles_oops_do))
JNIHandles::oops_do(roots);
+
// All threads execute this; the individual threads are task groups.
CLDToOopClosure roots_from_clds(roots);
CLDToOopClosure* roots_from_clds_p = (is_scavenging ? NULL : &roots_from_clds);
- if (ParallelGCThreads > 0) {
- Threads::possibly_parallel_oops_do(roots, roots_from_clds_p ,code_roots);
+ if (CollectedHeap::use_parallel_gc_threads()) {
+ Threads::possibly_parallel_oops_do(roots, roots_from_clds_p, code_roots);
} else {
Threads::oops_do(roots, roots_from_clds_p, code_roots);
}
+
if (!_process_strong_tasks-> is_task_claimed(SH_PS_ObjectSynchronizer_oops_do))
ObjectSynchronizer::oops_do(roots);
if (!_process_strong_tasks->is_task_claimed(SH_PS_FlatProfiler_oops_do))
@@ -189,8 +192,12 @@ void SharedHeap::process_strong_roots(bool activate_scope,
}
}
- if (!_process_strong_tasks->is_task_claimed(SH_PS_StringTable_oops_do)) {
- if (so & SO_Strings) {
+ // All threads execute the following. A specific chunk of buckets
+ // from the StringTable are the individual tasks.
+ if (so & SO_Strings) {
+ if (CollectedHeap::use_parallel_gc_threads()) {
+ StringTable::possibly_parallel_oops_do(roots);
+ } else {
StringTable::oops_do(roots);
}
}
diff --git a/hotspot/src/share/vm/memory/universe.cpp b/hotspot/src/share/vm/memory/universe.cpp
index 2b4c5602a8e..3514886d0d9 100644
--- a/hotspot/src/share/vm/memory/universe.cpp
+++ b/hotspot/src/share/vm/memory/universe.cpp
@@ -111,7 +111,8 @@ LatestMethodOopCache* Universe::_loader_addClass_cache = NULL;
LatestMethodOopCache* Universe::_pd_implies_cache = NULL;
ActiveMethodOopsCache* Universe::_reflect_invoke_cache = NULL;
oop Universe::_out_of_memory_error_java_heap = NULL;
-oop Universe::_out_of_memory_error_perm_gen = NULL;
+oop Universe::_out_of_memory_error_metaspace = NULL;
+oop Universe::_out_of_memory_error_class_metaspace = NULL;
oop Universe::_out_of_memory_error_array_size = NULL;
oop Universe::_out_of_memory_error_gc_overhead_limit = NULL;
objArrayOop Universe::_preallocated_out_of_memory_error_array = NULL;
@@ -180,7 +181,8 @@ void Universe::oops_do(OopClosure* f, bool do_all) {
f->do_oop((oop*)&_the_null_string);
f->do_oop((oop*)&_the_min_jint_string);
f->do_oop((oop*)&_out_of_memory_error_java_heap);
- f->do_oop((oop*)&_out_of_memory_error_perm_gen);
+ f->do_oop((oop*)&_out_of_memory_error_metaspace);
+ f->do_oop((oop*)&_out_of_memory_error_class_metaspace);
f->do_oop((oop*)&_out_of_memory_error_array_size);
f->do_oop((oop*)&_out_of_memory_error_gc_overhead_limit);
f->do_oop((oop*)&_preallocated_out_of_memory_error_array);
@@ -531,7 +533,9 @@ void Universe::reinitialize_vtable_of(KlassHandle k_h, TRAPS) {
if (vt) vt->initialize_vtable(false, CHECK);
if (ko->oop_is_instance()) {
InstanceKlass* ik = (InstanceKlass*)ko;
- for (KlassHandle s_h(THREAD, ik->subklass()); s_h() != NULL; s_h = (THREAD, s_h()->next_sibling())) {
+ for (KlassHandle s_h(THREAD, ik->subklass());
+ s_h() != NULL;
+ s_h = KlassHandle(THREAD, s_h()->next_sibling())) {
reinitialize_vtable_of(s_h, CHECK);
}
}
@@ -561,7 +565,8 @@ bool Universe::should_fill_in_stack_trace(Handle throwable) {
// a potential loop which could happen if an out of memory occurs when attempting
// to allocate the backtrace.
return ((throwable() != Universe::_out_of_memory_error_java_heap) &&
- (throwable() != Universe::_out_of_memory_error_perm_gen) &&
+ (throwable() != Universe::_out_of_memory_error_metaspace) &&
+ (throwable() != Universe::_out_of_memory_error_class_metaspace) &&
(throwable() != Universe::_out_of_memory_error_array_size) &&
(throwable() != Universe::_out_of_memory_error_gc_overhead_limit));
}
@@ -1012,7 +1017,8 @@ bool universe_post_init() {
k = SystemDictionary::resolve_or_fail(vmSymbols::java_lang_OutOfMemoryError(), true, CHECK_false);
k_h = instanceKlassHandle(THREAD, k);
Universe::_out_of_memory_error_java_heap = k_h->allocate_instance(CHECK_false);
- Universe::_out_of_memory_error_perm_gen = k_h->allocate_instance(CHECK_false);
+ Universe::_out_of_memory_error_metaspace = k_h->allocate_instance(CHECK_false);
+ Universe::_out_of_memory_error_class_metaspace = k_h->allocate_instance(CHECK_false);
Universe::_out_of_memory_error_array_size = k_h->allocate_instance(CHECK_false);
Universe::_out_of_memory_error_gc_overhead_limit =
k_h->allocate_instance(CHECK_false);
@@ -1045,7 +1051,9 @@ bool universe_post_init() {
java_lang_Throwable::set_message(Universe::_out_of_memory_error_java_heap, msg());
msg = java_lang_String::create_from_str("Metadata space", CHECK_false);
- java_lang_Throwable::set_message(Universe::_out_of_memory_error_perm_gen, msg());
+ java_lang_Throwable::set_message(Universe::_out_of_memory_error_metaspace, msg());
+ msg = java_lang_String::create_from_str("Class Metadata space", CHECK_false);
+ java_lang_Throwable::set_message(Universe::_out_of_memory_error_class_metaspace, msg());
msg = java_lang_String::create_from_str("Requested array size exceeds VM limit", CHECK_false);
java_lang_Throwable::set_message(Universe::_out_of_memory_error_array_size, msg());
@@ -1145,6 +1153,7 @@ bool universe_post_init() {
// Initialize performance counters for metaspaces
MetaspaceCounters::initialize_performance_counters();
+ MemoryService::add_metaspace_memory_pools();
GC_locker::unlock(); // allow gc after bootstrapping
diff --git a/hotspot/src/share/vm/memory/universe.hpp b/hotspot/src/share/vm/memory/universe.hpp
index 85397960f8c..24a95e84594 100644
--- a/hotspot/src/share/vm/memory/universe.hpp
+++ b/hotspot/src/share/vm/memory/universe.hpp
@@ -178,10 +178,12 @@ class Universe: AllStatic {
static LatestMethodOopCache* _loader_addClass_cache; // method for registering loaded classes in class loader vector
static LatestMethodOopCache* _pd_implies_cache; // method for checking protection domain attributes
static ActiveMethodOopsCache* _reflect_invoke_cache; // method for security checks
- static oop _out_of_memory_error_java_heap; // preallocated error object (no backtrace)
- static oop _out_of_memory_error_perm_gen; // preallocated error object (no backtrace)
- static oop _out_of_memory_error_array_size;// preallocated error object (no backtrace)
- static oop _out_of_memory_error_gc_overhead_limit; // preallocated error object (no backtrace)
+ // preallocated error objects (no backtrace)
+ static oop _out_of_memory_error_java_heap;
+ static oop _out_of_memory_error_metaspace;
+ static oop _out_of_memory_error_class_metaspace;
+ static oop _out_of_memory_error_array_size;
+ static oop _out_of_memory_error_gc_overhead_limit;
static Array* _the_empty_int_array; // Canonicalized int array
static Array* _the_empty_short_array; // Canonicalized short array
@@ -352,7 +354,8 @@ class Universe: AllStatic {
// may or may not have a backtrace. If error has a backtrace then the stack trace is already
// filled in.
static oop out_of_memory_error_java_heap() { return gen_out_of_memory_error(_out_of_memory_error_java_heap); }
- static oop out_of_memory_error_perm_gen() { return gen_out_of_memory_error(_out_of_memory_error_perm_gen); }
+ static oop out_of_memory_error_metaspace() { return gen_out_of_memory_error(_out_of_memory_error_metaspace); }
+ static oop out_of_memory_error_class_metaspace() { return gen_out_of_memory_error(_out_of_memory_error_class_metaspace); }
static oop out_of_memory_error_array_size() { return gen_out_of_memory_error(_out_of_memory_error_array_size); }
static oop out_of_memory_error_gc_overhead_limit() { return gen_out_of_memory_error(_out_of_memory_error_gc_overhead_limit); }
diff --git a/hotspot/src/share/vm/oops/arrayKlass.cpp b/hotspot/src/share/vm/oops/arrayKlass.cpp
index dc2fbe92e2a..ef1c20e972b 100644
--- a/hotspot/src/share/vm/oops/arrayKlass.cpp
+++ b/hotspot/src/share/vm/oops/arrayKlass.cpp
@@ -221,8 +221,8 @@ void ArrayKlass::oop_print_on(oop obj, outputStream* st) {
// Verification
-void ArrayKlass::verify_on(outputStream* st) {
- Klass::verify_on(st);
+void ArrayKlass::verify_on(outputStream* st, bool check_dictionary) {
+ Klass::verify_on(st, check_dictionary);
if (component_mirror() != NULL) {
guarantee(component_mirror()->klass() != NULL, "should have a class");
diff --git a/hotspot/src/share/vm/oops/arrayKlass.hpp b/hotspot/src/share/vm/oops/arrayKlass.hpp
index f37a4d500ae..acf920e16d1 100644
--- a/hotspot/src/share/vm/oops/arrayKlass.hpp
+++ b/hotspot/src/share/vm/oops/arrayKlass.hpp
@@ -152,7 +152,7 @@ class ArrayKlass: public Klass {
void oop_print_on(oop obj, outputStream* st);
// Verification
- void verify_on(outputStream* st);
+ void verify_on(outputStream* st, bool check_dictionary);
void oop_verify_on(oop obj, outputStream* st);
};
diff --git a/hotspot/src/share/vm/oops/compiledICHolder.cpp b/hotspot/src/share/vm/oops/compiledICHolder.cpp
index c13b7559aa9..2b2cd2ae646 100644
--- a/hotspot/src/share/vm/oops/compiledICHolder.cpp
+++ b/hotspot/src/share/vm/oops/compiledICHolder.cpp
@@ -48,8 +48,6 @@ void CompiledICHolder::print_value_on(outputStream* st) const {
// Verification
void CompiledICHolder::verify_on(outputStream* st) {
- guarantee(holder_method()->is_metadata(), "should be in metaspace");
guarantee(holder_method()->is_method(), "should be method");
- guarantee(holder_klass()->is_metadata(), "should be in metaspace");
guarantee(holder_klass()->is_klass(), "should be klass");
}
diff --git a/hotspot/src/share/vm/oops/constMethod.cpp b/hotspot/src/share/vm/oops/constMethod.cpp
index 22f3b87da5a..4c0720908f7 100644
--- a/hotspot/src/share/vm/oops/constMethod.cpp
+++ b/hotspot/src/share/vm/oops/constMethod.cpp
@@ -440,7 +440,6 @@ void ConstMethod::collect_statistics(KlassSizeStats *sz) const {
void ConstMethod::verify_on(outputStream* st) {
guarantee(is_constMethod(), "object must be constMethod");
- guarantee(is_metadata(), err_msg("Should be metadata " PTR_FORMAT, this));
// Verification can occur during oop construction before the method or
// other fields have been initialized.
diff --git a/hotspot/src/share/vm/oops/constantPool.cpp b/hotspot/src/share/vm/oops/constantPool.cpp
index c2879e2d02a..8033d7e3850 100644
--- a/hotspot/src/share/vm/oops/constantPool.cpp
+++ b/hotspot/src/share/vm/oops/constantPool.cpp
@@ -2095,12 +2095,10 @@ void ConstantPool::verify_on(outputStream* st) {
CPSlot entry = slot_at(i);
if (tag.is_klass()) {
if (entry.is_resolved()) {
- guarantee(entry.get_klass()->is_metadata(), "should be metadata");
guarantee(entry.get_klass()->is_klass(), "should be klass");
}
} else if (tag.is_unresolved_klass()) {
if (entry.is_resolved()) {
- guarantee(entry.get_klass()->is_metadata(), "should be metadata");
guarantee(entry.get_klass()->is_klass(), "should be klass");
}
} else if (tag.is_symbol()) {
@@ -2112,13 +2110,11 @@ void ConstantPool::verify_on(outputStream* st) {
if (cache() != NULL) {
// Note: cache() can be NULL before a class is completely setup or
// in temporary constant pools used during constant pool merging
- guarantee(cache()->is_metadata(), "should be metadata");
guarantee(cache()->is_constantPoolCache(), "should be constant pool cache");
}
if (pool_holder() != NULL) {
// Note: pool_holder() can be NULL in temporary constant pools
// used during constant pool merging
- guarantee(pool_holder()->is_metadata(), "should be metadata");
guarantee(pool_holder()->is_klass(), "should be klass");
}
}
diff --git a/hotspot/src/share/vm/oops/instanceKlass.cpp b/hotspot/src/share/vm/oops/instanceKlass.cpp
index 84f1cdd3e6d..886746d6bb6 100644
--- a/hotspot/src/share/vm/oops/instanceKlass.cpp
+++ b/hotspot/src/share/vm/oops/instanceKlass.cpp
@@ -3088,27 +3088,26 @@ class VerifyFieldClosure: public OopClosure {
virtual void do_oop(narrowOop* p) { VerifyFieldClosure::do_oop_work(p); }
};
-void InstanceKlass::verify_on(outputStream* st) {
- Klass::verify_on(st);
- Thread *thread = Thread::current();
-
+void InstanceKlass::verify_on(outputStream* st, bool check_dictionary) {
#ifndef PRODUCT
- // Avoid redundant verifies
+ // Avoid redundant verifies, this really should be in product.
if (_verify_count == Universe::verify_count()) return;
_verify_count = Universe::verify_count();
#endif
- // Verify that klass is present in SystemDictionary
- if (is_loaded() && !is_anonymous()) {
+
+ // Verify Klass
+ Klass::verify_on(st, check_dictionary);
+
+ // Verify that klass is present in SystemDictionary if not already
+ // verifying the SystemDictionary.
+ if (is_loaded() && !is_anonymous() && check_dictionary) {
Symbol* h_name = name();
SystemDictionary::verify_obj_klass_present(h_name, class_loader_data());
}
- // Verify static fields
- VerifyFieldClosure blk;
-
// Verify vtables
if (is_linked()) {
- ResourceMark rm(thread);
+ ResourceMark rm;
// $$$ This used to be done only for m/s collections. Doing it
// always seemed a valid generalization. (DLD -- 6/00)
vtable()->verify(st);
@@ -3116,7 +3115,6 @@ void InstanceKlass::verify_on(outputStream* st) {
// Verify first subklass
if (subklass_oop() != NULL) {
- guarantee(subklass_oop()->is_metadata(), "should be in metaspace");
guarantee(subklass_oop()->is_klass(), "should be klass");
}
@@ -3128,7 +3126,6 @@ void InstanceKlass::verify_on(outputStream* st) {
fatal(err_msg("subclass points to itself " PTR_FORMAT, sib));
}
- guarantee(sib->is_metadata(), "should be in metaspace");
guarantee(sib->is_klass(), "should be klass");
guarantee(sib->super() == super, "siblings should have same superklass");
}
@@ -3164,7 +3161,6 @@ void InstanceKlass::verify_on(outputStream* st) {
if (methods() != NULL) {
Array* methods = this->methods();
for (int j = 0; j < methods->length(); j++) {
- guarantee(methods->at(j)->is_metadata(), "should be in metaspace");
guarantee(methods->at(j)->is_method(), "non-method in methods array");
}
for (int j = 0; j < methods->length() - 1; j++) {
@@ -3202,16 +3198,13 @@ void InstanceKlass::verify_on(outputStream* st) {
// Verify other fields
if (array_klasses() != NULL) {
- guarantee(array_klasses()->is_metadata(), "should be in metaspace");
guarantee(array_klasses()->is_klass(), "should be klass");
}
if (constants() != NULL) {
- guarantee(constants()->is_metadata(), "should be in metaspace");
guarantee(constants()->is_constantPool(), "should be constant pool");
}
const Klass* host = host_klass();
if (host != NULL) {
- guarantee(host->is_metadata(), "should be in metaspace");
guarantee(host->is_klass(), "should be klass");
}
}
diff --git a/hotspot/src/share/vm/oops/instanceKlass.hpp b/hotspot/src/share/vm/oops/instanceKlass.hpp
index 7d09f8132ce..6c56a519558 100644
--- a/hotspot/src/share/vm/oops/instanceKlass.hpp
+++ b/hotspot/src/share/vm/oops/instanceKlass.hpp
@@ -1050,7 +1050,7 @@ public:
const char* internal_name() const;
// Verification
- void verify_on(outputStream* st);
+ void verify_on(outputStream* st, bool check_dictionary);
void oop_verify_on(oop obj, outputStream* st);
};
diff --git a/hotspot/src/share/vm/oops/klass.cpp b/hotspot/src/share/vm/oops/klass.cpp
index 4739425568c..a719b88bbbe 100644
--- a/hotspot/src/share/vm/oops/klass.cpp
+++ b/hotspot/src/share/vm/oops/klass.cpp
@@ -377,7 +377,6 @@ void Klass::append_to_sibling_list() {
}
bool Klass::is_loader_alive(BoolObjectClosure* is_alive) {
- assert(is_metadata(), "p is not meta-data");
assert(ClassLoaderDataGraph::contains((address)this), "is in the metaspace");
#ifdef ASSERT
@@ -648,27 +647,24 @@ void Klass::collect_statistics(KlassSizeStats *sz) const {
// Verification
-void Klass::verify_on(outputStream* st) {
- guarantee(!Universe::heap()->is_in_reserved(this), "Shouldn't be");
- guarantee(this->is_metadata(), "should be in metaspace");
+void Klass::verify_on(outputStream* st, bool check_dictionary) {
+ // This can be expensive, but it is worth checking that this klass is actually
+ // in the CLD graph but not in production.
assert(ClassLoaderDataGraph::contains((address)this), "Should be");
guarantee(this->is_klass(),"should be klass");
if (super() != NULL) {
- guarantee(super()->is_metadata(), "should be in metaspace");
guarantee(super()->is_klass(), "should be klass");
}
if (secondary_super_cache() != NULL) {
Klass* ko = secondary_super_cache();
- guarantee(ko->is_metadata(), "should be in metaspace");
guarantee(ko->is_klass(), "should be klass");
}
for ( uint i = 0; i < primary_super_limit(); i++ ) {
Klass* ko = _primary_supers[i];
if (ko != NULL) {
- guarantee(ko->is_metadata(), "should be in metaspace");
guarantee(ko->is_klass(), "should be klass");
}
}
@@ -680,7 +676,6 @@ void Klass::verify_on(outputStream* st) {
void Klass::oop_verify_on(oop obj, outputStream* st) {
guarantee(obj->is_oop(), "should be oop");
- guarantee(obj->klass()->is_metadata(), "should not be in Java heap");
guarantee(obj->klass()->is_klass(), "klass field is not a klass");
}
diff --git a/hotspot/src/share/vm/oops/klass.hpp b/hotspot/src/share/vm/oops/klass.hpp
index 6b0103abb5e..5f4094d4f1e 100644
--- a/hotspot/src/share/vm/oops/klass.hpp
+++ b/hotspot/src/share/vm/oops/klass.hpp
@@ -703,8 +703,8 @@ class Klass : public Metadata {
virtual const char* internal_name() const = 0;
// Verification
- virtual void verify_on(outputStream* st);
- void verify() { verify_on(tty); }
+ virtual void verify_on(outputStream* st, bool check_dictionary);
+ void verify(bool check_dictionary = true) { verify_on(tty, check_dictionary); }
#ifndef PRODUCT
void verify_vtable_index(int index);
diff --git a/hotspot/src/share/vm/oops/method.cpp b/hotspot/src/share/vm/oops/method.cpp
index 1e8b1c3bb41..5941efb3b79 100644
--- a/hotspot/src/share/vm/oops/method.cpp
+++ b/hotspot/src/share/vm/oops/method.cpp
@@ -1969,14 +1969,9 @@ void Method::collect_statistics(KlassSizeStats *sz) const {
void Method::verify_on(outputStream* st) {
guarantee(is_method(), "object must be method");
- guarantee(is_metadata(), "should be metadata");
guarantee(constants()->is_constantPool(), "should be constant pool");
- guarantee(constants()->is_metadata(), "should be metadata");
guarantee(constMethod()->is_constMethod(), "should be ConstMethod*");
- guarantee(constMethod()->is_metadata(), "should be metadata");
MethodData* md = method_data();
- guarantee(md == NULL ||
- md->is_metadata(), "should be metadata");
guarantee(md == NULL ||
md->is_methodData(), "should be method data");
}
diff --git a/hotspot/src/share/vm/oops/objArrayKlass.cpp b/hotspot/src/share/vm/oops/objArrayKlass.cpp
index f040206391e..f2f34910602 100644
--- a/hotspot/src/share/vm/oops/objArrayKlass.cpp
+++ b/hotspot/src/share/vm/oops/objArrayKlass.cpp
@@ -676,11 +676,9 @@ const char* ObjArrayKlass::internal_name() const {
// Verification
-void ObjArrayKlass::verify_on(outputStream* st) {
- ArrayKlass::verify_on(st);
- guarantee(element_klass()->is_metadata(), "should be in metaspace");
+void ObjArrayKlass::verify_on(outputStream* st, bool check_dictionary) {
+ ArrayKlass::verify_on(st, check_dictionary);
guarantee(element_klass()->is_klass(), "should be klass");
- guarantee(bottom_klass()->is_metadata(), "should be in metaspace");
guarantee(bottom_klass()->is_klass(), "should be klass");
Klass* bk = bottom_klass();
guarantee(bk->oop_is_instance() || bk->oop_is_typeArray(), "invalid bottom klass");
diff --git a/hotspot/src/share/vm/oops/objArrayKlass.hpp b/hotspot/src/share/vm/oops/objArrayKlass.hpp
index 9905704ccab..d56a3de846d 100644
--- a/hotspot/src/share/vm/oops/objArrayKlass.hpp
+++ b/hotspot/src/share/vm/oops/objArrayKlass.hpp
@@ -151,7 +151,7 @@ class ObjArrayKlass : public ArrayKlass {
const char* internal_name() const;
// Verification
- void verify_on(outputStream* st);
+ void verify_on(outputStream* st, bool check_dictionary);
void oop_verify_on(oop obj, outputStream* st);
};
diff --git a/hotspot/src/share/vm/oops/symbol.cpp b/hotspot/src/share/vm/oops/symbol.cpp
index 8ee933bf135..f5fdfec9974 100644
--- a/hotspot/src/share/vm/oops/symbol.cpp
+++ b/hotspot/src/share/vm/oops/symbol.cpp
@@ -32,7 +32,9 @@
#include "memory/allocation.inline.hpp"
#include "memory/resourceArea.hpp"
-Symbol::Symbol(const u1* name, int length, int refcount) : _refcount(refcount), _length(length) {
+Symbol::Symbol(const u1* name, int length, int refcount) {
+ _refcount = refcount;
+ _length = length;
_identity_hash = os::random();
for (int i = 0; i < _length; i++) {
byte_at_put(i, name[i]);
diff --git a/hotspot/src/share/vm/oops/symbol.hpp b/hotspot/src/share/vm/oops/symbol.hpp
index d06edf052fc..a71bdd454c3 100644
--- a/hotspot/src/share/vm/oops/symbol.hpp
+++ b/hotspot/src/share/vm/oops/symbol.hpp
@@ -27,6 +27,7 @@
#include "utilities/utf8.hpp"
#include "memory/allocation.hpp"
+#include "runtime/atomic.hpp"
// A Symbol is a canonicalized string.
// All Symbols reside in global SymbolTable and are reference counted.
@@ -101,14 +102,22 @@
// type without virtual functions.
class ClassLoaderData;
-class Symbol : public MetaspaceObj {
+// We separate the fields in SymbolBase from Symbol::_body so that
+// Symbol::size(int) can correctly calculate the space needed.
+class SymbolBase : public MetaspaceObj {
+ public:
+ ATOMIC_SHORT_PAIR(
+ volatile short _refcount, // needs atomic operation
+ unsigned short _length // number of UTF8 characters in the symbol (does not need atomic op)
+ );
+ int _identity_hash;
+};
+
+class Symbol : private SymbolBase {
friend class VMStructs;
friend class SymbolTable;
friend class MoveSymbols;
private:
- volatile int _refcount;
- int _identity_hash;
- unsigned short _length; // number of UTF8 characters in the symbol
jbyte _body[1];
enum {
@@ -117,7 +126,7 @@ class Symbol : public MetaspaceObj {
};
static int size(int length) {
- size_t sz = heap_word_size(sizeof(Symbol) + (length > 0 ? length - 1 : 0));
+ size_t sz = heap_word_size(sizeof(SymbolBase) + (length > 0 ? length : 0));
return align_object_size(sz);
}
diff --git a/hotspot/src/share/vm/opto/c2_globals.hpp b/hotspot/src/share/vm/opto/c2_globals.hpp
index 49ed1e8bcf0..2e212995f3e 100644
--- a/hotspot/src/share/vm/opto/c2_globals.hpp
+++ b/hotspot/src/share/vm/opto/c2_globals.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -406,10 +406,10 @@
develop(intx, WarmCallMaxSize, 999999, \
"size of the largest inlinable method") \
\
- product(intx, MaxNodeLimit, 65000, \
+ product(intx, MaxNodeLimit, 80000, \
"Maximum number of nodes") \
\
- product(intx, NodeLimitFudgeFactor, 1000, \
+ product(intx, NodeLimitFudgeFactor, 2000, \
"Fudge Factor for certain optimizations") \
\
product(bool, UseJumpTables, true, \
diff --git a/hotspot/src/share/vm/opto/chaitin.cpp b/hotspot/src/share/vm/opto/chaitin.cpp
index 9d69b0f3b71..53ffc573284 100644
--- a/hotspot/src/share/vm/opto/chaitin.cpp
+++ b/hotspot/src/share/vm/opto/chaitin.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -435,6 +435,9 @@ void PhaseChaitin::Register_Allocate() {
// Insert un-coalesced copies. Visit all Phis. Where inputs to a Phi do
// not match the Phi itself, insert a copy.
coalesce.insert_copies(_matcher);
+ if (C->failing()) {
+ return;
+ }
}
// After aggressive coalesce, attempt a first cut at coloring.
diff --git a/hotspot/src/share/vm/opto/coalesce.cpp b/hotspot/src/share/vm/opto/coalesce.cpp
index 74618fb410c..60c88dc12ba 100644
--- a/hotspot/src/share/vm/opto/coalesce.cpp
+++ b/hotspot/src/share/vm/opto/coalesce.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, 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
@@ -240,6 +240,8 @@ void PhaseAggressiveCoalesce::insert_copies( Matcher &matcher ) {
_unique = C->unique();
for( uint i=0; i<_phc._cfg._num_blocks; i++ ) {
+ C->check_node_count(NodeLimitFudgeFactor, "out of nodes in coalesce");
+ if (C->failing()) return;
Block *b = _phc._cfg._blocks[i];
uint cnt = b->num_preds(); // Number of inputs to the Phi
diff --git a/hotspot/src/share/vm/opto/escape.cpp b/hotspot/src/share/vm/opto/escape.cpp
index fd561a0c20c..c95226f110c 100644
--- a/hotspot/src/share/vm/opto/escape.cpp
+++ b/hotspot/src/share/vm/opto/escape.cpp
@@ -933,6 +933,7 @@ void ConnectionGraph::process_call_arguments(CallNode *call) {
(call->as_CallLeaf()->_name != NULL &&
(strcmp(call->as_CallLeaf()->_name, "g1_wb_pre") == 0 ||
strcmp(call->as_CallLeaf()->_name, "g1_wb_post") == 0 ||
+ strcmp(call->as_CallLeaf()->_name, "updateBytesCRC32") == 0 ||
strcmp(call->as_CallLeaf()->_name, "aescrypt_encryptBlock") == 0 ||
strcmp(call->as_CallLeaf()->_name, "aescrypt_decryptBlock") == 0 ||
strcmp(call->as_CallLeaf()->_name, "cipherBlockChaining_encryptAESCrypt") == 0 ||
diff --git a/hotspot/src/share/vm/opto/graphKit.cpp b/hotspot/src/share/vm/opto/graphKit.cpp
index 590770b7c72..a363b11a5b8 100644
--- a/hotspot/src/share/vm/opto/graphKit.cpp
+++ b/hotspot/src/share/vm/opto/graphKit.cpp
@@ -3332,9 +3332,14 @@ AllocateNode* AllocateNode::Ideal_allocation(Node* ptr, PhaseTransform* phase) {
if (ptr == NULL) { // reduce dumb test in callers
return NULL;
}
- ptr = ptr->uncast(); // strip a raw-to-oop cast
- if (ptr == NULL) return NULL;
-
+ if (ptr->is_CheckCastPP()) { // strip only one raw-to-oop cast
+ ptr = ptr->in(1);
+ if (ptr == NULL) return NULL;
+ }
+ // Return NULL for allocations with several casts:
+ // j.l.reflect.Array.newInstance(jobject, jint)
+ // Object.clone()
+ // to keep more precise type from last cast.
if (ptr->is_Proj()) {
Node* allo = ptr->in(0);
if (allo != NULL && allo->is_Allocate()) {
diff --git a/hotspot/src/share/vm/opto/library_call.cpp b/hotspot/src/share/vm/opto/library_call.cpp
index 728d892534b..df84634832a 100644
--- a/hotspot/src/share/vm/opto/library_call.cpp
+++ b/hotspot/src/share/vm/opto/library_call.cpp
@@ -291,6 +291,9 @@ class LibraryCallKit : public GraphKit {
Node* inline_cipherBlockChaining_AESCrypt_predicate(bool decrypting);
Node* get_key_start_from_aescrypt_object(Node* aescrypt_object);
bool inline_encodeISOArray();
+ bool inline_updateCRC32();
+ bool inline_updateBytesCRC32();
+ bool inline_updateByteBufferCRC32();
};
@@ -488,6 +491,12 @@ CallGenerator* Compile::make_vm_intrinsic(ciMethod* m, bool is_virtual) {
is_predicted = true;
break;
+ case vmIntrinsics::_updateCRC32:
+ case vmIntrinsics::_updateBytesCRC32:
+ case vmIntrinsics::_updateByteBufferCRC32:
+ if (!UseCRC32Intrinsics) return NULL;
+ break;
+
default:
assert(id <= vmIntrinsics::LAST_COMPILER_INLINE, "caller responsibility");
assert(id != vmIntrinsics::_Object_init && id != vmIntrinsics::_invoke, "enum out of order?");
@@ -807,6 +816,13 @@ bool LibraryCallKit::try_to_inline() {
case vmIntrinsics::_encodeISOArray:
return inline_encodeISOArray();
+ case vmIntrinsics::_updateCRC32:
+ return inline_updateCRC32();
+ case vmIntrinsics::_updateBytesCRC32:
+ return inline_updateBytesCRC32();
+ case vmIntrinsics::_updateByteBufferCRC32:
+ return inline_updateByteBufferCRC32();
+
default:
// If you get here, it may be that someone has added a new intrinsic
// to the list in vmSymbols.hpp without implementing it here.
@@ -884,7 +900,7 @@ Node* LibraryCallKit::generate_guard(Node* test, RegionNode* region, float true_
IfNode* iff = create_and_map_if(control(), test, true_prob, COUNT_UNKNOWN);
- Node* if_slow = _gvn.transform( new (C) IfTrueNode(iff) );
+ Node* if_slow = _gvn.transform(new (C) IfTrueNode(iff));
if (if_slow == top()) {
// The slow branch is never taken. No need to build this guard.
return NULL;
@@ -893,7 +909,7 @@ Node* LibraryCallKit::generate_guard(Node* test, RegionNode* region, float true_
if (region != NULL)
region->add_req(if_slow);
- Node* if_fast = _gvn.transform( new (C) IfFalseNode(iff) );
+ Node* if_fast = _gvn.transform(new (C) IfFalseNode(iff));
set_control(if_fast);
return if_slow;
@@ -912,8 +928,8 @@ inline Node* LibraryCallKit::generate_negative_guard(Node* index, RegionNode* re
return NULL; // already stopped
if (_gvn.type(index)->higher_equal(TypeInt::POS)) // [0,maxint]
return NULL; // index is already adequately typed
- Node* cmp_lt = _gvn.transform( new (C) CmpINode(index, intcon(0)) );
- Node* bol_lt = _gvn.transform( new (C) BoolNode(cmp_lt, BoolTest::lt) );
+ Node* cmp_lt = _gvn.transform(new (C) CmpINode(index, intcon(0)));
+ Node* bol_lt = _gvn.transform(new (C) BoolNode(cmp_lt, BoolTest::lt));
Node* is_neg = generate_guard(bol_lt, region, PROB_MIN);
if (is_neg != NULL && pos_index != NULL) {
// Emulate effect of Parse::adjust_map_after_if.
@@ -930,9 +946,9 @@ inline Node* LibraryCallKit::generate_nonpositive_guard(Node* index, bool never_
return NULL; // already stopped
if (_gvn.type(index)->higher_equal(TypeInt::POS1)) // [1,maxint]
return NULL; // index is already adequately typed
- Node* cmp_le = _gvn.transform( new (C) CmpINode(index, intcon(0)) );
+ Node* cmp_le = _gvn.transform(new (C) CmpINode(index, intcon(0)));
BoolTest::mask le_or_eq = (never_negative ? BoolTest::eq : BoolTest::le);
- Node* bol_le = _gvn.transform( new (C) BoolNode(cmp_le, le_or_eq) );
+ Node* bol_le = _gvn.transform(new (C) BoolNode(cmp_le, le_or_eq));
Node* is_notp = generate_guard(bol_le, NULL, PROB_MIN);
if (is_notp != NULL && pos_index != NULL) {
// Emulate effect of Parse::adjust_map_after_if.
@@ -968,9 +984,9 @@ inline Node* LibraryCallKit::generate_limit_guard(Node* offset,
return NULL; // common case of whole-array copy
Node* last = subseq_length;
if (!zero_offset) // last += offset
- last = _gvn.transform( new (C) AddINode(last, offset));
- Node* cmp_lt = _gvn.transform( new (C) CmpUNode(array_length, last) );
- Node* bol_lt = _gvn.transform( new (C) BoolNode(cmp_lt, BoolTest::lt) );
+ last = _gvn.transform(new (C) AddINode(last, offset));
+ Node* cmp_lt = _gvn.transform(new (C) CmpUNode(array_length, last));
+ Node* bol_lt = _gvn.transform(new (C) BoolNode(cmp_lt, BoolTest::lt));
Node* is_over = generate_guard(bol_lt, region, PROB_MIN);
return is_over;
}
@@ -1151,8 +1167,8 @@ bool LibraryCallKit::inline_string_equals() {
Node* argument_cnt = load_String_length(no_ctrl, argument);
// Check for receiver count != argument count
- Node* cmp = _gvn.transform( new(C) CmpINode(receiver_cnt, argument_cnt) );
- Node* bol = _gvn.transform( new(C) BoolNode(cmp, BoolTest::ne) );
+ Node* cmp = _gvn.transform(new(C) CmpINode(receiver_cnt, argument_cnt));
+ Node* bol = _gvn.transform(new(C) BoolNode(cmp, BoolTest::ne));
Node* if_ne = generate_slow_guard(bol, NULL);
if (if_ne != NULL) {
phi->init_req(4, intcon(0));
@@ -1258,7 +1274,7 @@ Node* LibraryCallKit::string_indexOf(Node* string_object, ciTypeArray* target_ar
Node* sourceOffset = load_String_offset(no_ctrl, string_object);
Node* sourceCount = load_String_length(no_ctrl, string_object);
- Node* target = _gvn.transform( makecon(TypeOopPtr::make_from_constant(target_array, true)) );
+ Node* target = _gvn.transform( makecon(TypeOopPtr::make_from_constant(target_array, true)));
jint target_length = target_array->length();
const TypeAry* target_array_type = TypeAry::make(TypeInt::CHAR, TypeInt::make(0, target_length, Type::WidenMin));
const TypeAryPtr* target_type = TypeAryPtr::make(TypePtr::BotPTR, target_array_type, target_array->klass(), true, Type::OffsetBot);
@@ -1365,8 +1381,8 @@ bool LibraryCallKit::inline_string_indexOf() {
Node* substr_cnt = load_String_length(no_ctrl, arg);
// Check for substr count > string count
- Node* cmp = _gvn.transform( new(C) CmpINode(substr_cnt, source_cnt) );
- Node* bol = _gvn.transform( new(C) BoolNode(cmp, BoolTest::gt) );
+ Node* cmp = _gvn.transform(new(C) CmpINode(substr_cnt, source_cnt));
+ Node* bol = _gvn.transform(new(C) BoolNode(cmp, BoolTest::gt));
Node* if_gt = generate_slow_guard(bol, NULL);
if (if_gt != NULL) {
result_phi->init_req(2, intcon(-1));
@@ -1375,8 +1391,8 @@ bool LibraryCallKit::inline_string_indexOf() {
if (!stopped()) {
// Check for substr count == 0
- cmp = _gvn.transform( new(C) CmpINode(substr_cnt, intcon(0)) );
- bol = _gvn.transform( new(C) BoolNode(cmp, BoolTest::eq) );
+ cmp = _gvn.transform(new(C) CmpINode(substr_cnt, intcon(0)));
+ bol = _gvn.transform(new(C) BoolNode(cmp, BoolTest::eq));
Node* if_zero = generate_slow_guard(bol, NULL);
if (if_zero != NULL) {
result_phi->init_req(3, intcon(0));
@@ -1552,7 +1568,7 @@ bool LibraryCallKit::inline_trig(vmIntrinsics::ID id) {
// Check PI/4 : abs(arg)
Node *cmp = _gvn.transform(new (C) CmpDNode(pi4,abs));
// Check: If PI/4 < abs(arg) then go slow
- Node *bol = _gvn.transform( new (C) BoolNode( cmp, BoolTest::lt ) );
+ Node *bol = _gvn.transform(new (C) BoolNode( cmp, BoolTest::lt ));
// Branch either way
IfNode *iff = create_and_xform_if(control(),bol, PROB_STATIC_FREQUENT, COUNT_UNKNOWN);
set_control(opt_iff(r,iff));
@@ -1617,8 +1633,8 @@ void LibraryCallKit::finish_pow_exp(Node* result, Node* x, Node* y, const TypeFu
// to the runtime to properly handle corner cases
IfNode* iff = create_and_xform_if(control(), bolisnum, PROB_STATIC_FREQUENT, COUNT_UNKNOWN);
- Node* if_slow = _gvn.transform( new (C) IfFalseNode(iff) );
- Node* if_fast = _gvn.transform( new (C) IfTrueNode(iff) );
+ Node* if_slow = _gvn.transform(new (C) IfFalseNode(iff));
+ Node* if_fast = _gvn.transform(new (C) IfTrueNode(iff));
if (!if_slow->is_top()) {
RegionNode* result_region = new (C) RegionNode(3);
@@ -1704,42 +1720,42 @@ bool LibraryCallKit::inline_pow() {
// Check x:0
Node *cmp = _gvn.transform(new (C) CmpDNode(x, zeronode));
// Check: If (x<=0) then go complex path
- Node *bol1 = _gvn.transform( new (C) BoolNode( cmp, BoolTest::le ) );
+ Node *bol1 = _gvn.transform(new (C) BoolNode( cmp, BoolTest::le ));
// Branch either way
IfNode *if1 = create_and_xform_if(control(),bol1, PROB_STATIC_INFREQUENT, COUNT_UNKNOWN);
// Fast path taken; set region slot 3
- Node *fast_taken = _gvn.transform( new (C) IfFalseNode(if1) );
+ Node *fast_taken = _gvn.transform(new (C) IfFalseNode(if1));
r->init_req(3,fast_taken); // Capture fast-control
// Fast path not-taken, i.e. slow path
- Node *complex_path = _gvn.transform( new (C) IfTrueNode(if1) );
+ Node *complex_path = _gvn.transform(new (C) IfTrueNode(if1));
// Set fast path result
- Node *fast_result = _gvn.transform( new (C) PowDNode(C, control(), x, y) );
+ Node *fast_result = _gvn.transform(new (C) PowDNode(C, control(), x, y));
phi->init_req(3, fast_result);
// Complex path
// Build the second if node (if y is long)
// Node for (long)y
- Node *longy = _gvn.transform( new (C) ConvD2LNode(y));
+ Node *longy = _gvn.transform(new (C) ConvD2LNode(y));
// Node for (double)((long) y)
- Node *doublelongy= _gvn.transform( new (C) ConvL2DNode(longy));
+ Node *doublelongy= _gvn.transform(new (C) ConvL2DNode(longy));
// Check (double)((long) y) : y
Node *cmplongy= _gvn.transform(new (C) CmpDNode(doublelongy, y));
// Check if (y isn't long) then go to slow path
- Node *bol2 = _gvn.transform( new (C) BoolNode( cmplongy, BoolTest::ne ) );
+ Node *bol2 = _gvn.transform(new (C) BoolNode( cmplongy, BoolTest::ne ));
// Branch either way
IfNode *if2 = create_and_xform_if(complex_path,bol2, PROB_STATIC_INFREQUENT, COUNT_UNKNOWN);
- Node* ylong_path = _gvn.transform( new (C) IfFalseNode(if2));
+ Node* ylong_path = _gvn.transform(new (C) IfFalseNode(if2));
- Node *slow_path = _gvn.transform( new (C) IfTrueNode(if2) );
+ Node *slow_path = _gvn.transform(new (C) IfTrueNode(if2));
// Calculate DPow(abs(x), y)*(1 & (long)y)
// Node for constant 1
Node *conone = longcon(1);
// 1& (long)y
- Node *signnode= _gvn.transform( new (C) AndLNode(conone, longy) );
+ Node *signnode= _gvn.transform(new (C) AndLNode(conone, longy));
// A huge number is always even. Detect a huge number by checking
// if y + 1 == y and set integer to be tested for parity to 0.
@@ -1747,9 +1763,9 @@ bool LibraryCallKit::inline_pow() {
// (long)9.223372036854776E18 = max_jlong
// (double)(long)9.223372036854776E18 = 9.223372036854776E18
// max_jlong is odd but 9.223372036854776E18 is even
- Node* yplus1 = _gvn.transform( new (C) AddDNode(y, makecon(TypeD::make(1))));
+ Node* yplus1 = _gvn.transform(new (C) AddDNode(y, makecon(TypeD::make(1))));
Node *cmpyplus1= _gvn.transform(new (C) CmpDNode(yplus1, y));
- Node *bolyplus1 = _gvn.transform( new (C) BoolNode( cmpyplus1, BoolTest::eq ) );
+ Node *bolyplus1 = _gvn.transform(new (C) BoolNode( cmpyplus1, BoolTest::eq ));
Node* correctedsign = NULL;
if (ConditionalMoveLimit != 0) {
correctedsign = _gvn.transform( CMoveNode::make(C, NULL, bolyplus1, signnode, longcon(0), TypeLong::LONG));
@@ -1757,8 +1773,8 @@ bool LibraryCallKit::inline_pow() {
IfNode *ifyplus1 = create_and_xform_if(ylong_path,bolyplus1, PROB_FAIR, COUNT_UNKNOWN);
RegionNode *r = new (C) RegionNode(3);
Node *phi = new (C) PhiNode(r, TypeLong::LONG);
- r->init_req(1, _gvn.transform( new (C) IfFalseNode(ifyplus1)));
- r->init_req(2, _gvn.transform( new (C) IfTrueNode(ifyplus1)));
+ r->init_req(1, _gvn.transform(new (C) IfFalseNode(ifyplus1)));
+ r->init_req(2, _gvn.transform(new (C) IfTrueNode(ifyplus1)));
phi->init_req(1, signnode);
phi->init_req(2, longcon(0));
correctedsign = _gvn.transform(phi);
@@ -1771,11 +1787,11 @@ bool LibraryCallKit::inline_pow() {
// Check (1&(long)y)==0?
Node *cmpeq1 = _gvn.transform(new (C) CmpLNode(correctedsign, conzero));
// Check if (1&(long)y)!=0?, if so the result is negative
- Node *bol3 = _gvn.transform( new (C) BoolNode( cmpeq1, BoolTest::ne ) );
+ Node *bol3 = _gvn.transform(new (C) BoolNode( cmpeq1, BoolTest::ne ));
// abs(x)
- Node *absx=_gvn.transform( new (C) AbsDNode(x));
+ Node *absx=_gvn.transform(new (C) AbsDNode(x));
// abs(x)^y
- Node *absxpowy = _gvn.transform( new (C) PowDNode(C, control(), absx, y) );
+ Node *absxpowy = _gvn.transform(new (C) PowDNode(C, control(), absx, y));
// -abs(x)^y
Node *negabsxpowy = _gvn.transform(new (C) NegDNode (absxpowy));
// (1&(long)y)==1?-DPow(abs(x), y):DPow(abs(x), y)
@@ -1786,8 +1802,8 @@ bool LibraryCallKit::inline_pow() {
IfNode *ifyeven = create_and_xform_if(ylong_path,bol3, PROB_FAIR, COUNT_UNKNOWN);
RegionNode *r = new (C) RegionNode(3);
Node *phi = new (C) PhiNode(r, Type::DOUBLE);
- r->init_req(1, _gvn.transform( new (C) IfFalseNode(ifyeven)));
- r->init_req(2, _gvn.transform( new (C) IfTrueNode(ifyeven)));
+ r->init_req(1, _gvn.transform(new (C) IfFalseNode(ifyeven)));
+ r->init_req(2, _gvn.transform(new (C) IfTrueNode(ifyeven)));
phi->init_req(1, absxpowy);
phi->init_req(2, negabsxpowy);
signresult = _gvn.transform(phi);
@@ -1920,7 +1936,7 @@ LibraryCallKit::generate_min_max(vmIntrinsics::ID id, Node* x0, Node* y0) {
int cmp_op = Op_CmpI;
Node* xkey = xvalue;
Node* ykey = yvalue;
- Node* ideal_cmpxy = _gvn.transform( new(C) CmpINode(xkey, ykey) );
+ Node* ideal_cmpxy = _gvn.transform(new(C) CmpINode(xkey, ykey));
if (ideal_cmpxy->is_Cmp()) {
// E.g., if we have CmpI(length - offset, count),
// it might idealize to CmpI(length, count + offset)
@@ -2013,7 +2029,7 @@ LibraryCallKit::generate_min_max(vmIntrinsics::ID id, Node* x0, Node* y0) {
default:
if (cmpxy == NULL)
cmpxy = ideal_cmpxy;
- best_bol = _gvn.transform( new(C) BoolNode(cmpxy, BoolTest::lt) );
+ best_bol = _gvn.transform(new(C) BoolNode(cmpxy, BoolTest::lt));
// and fall through:
case BoolTest::lt: // x < y
case BoolTest::le: // x <= y
@@ -2073,7 +2089,7 @@ LibraryCallKit::classify_unsafe_addr(Node* &base, Node* &offset) {
return Type::AnyPtr;
} else if (base_type == TypePtr::NULL_PTR) {
// Since this is a NULL+long form, we have to switch to a rawptr.
- base = _gvn.transform( new (C) CastX2PNode(offset) );
+ base = _gvn.transform(new (C) CastX2PNode(offset));
offset = MakeConX(0);
return Type::RawPtr;
} else if (base_type->base() == Type::RawPtr) {
@@ -2467,7 +2483,7 @@ bool LibraryCallKit::inline_unsafe_access(bool is_native_ptr, bool is_store, Bas
case T_ADDRESS:
// Repackage the long as a pointer.
val = ConvL2X(val);
- val = _gvn.transform( new (C) CastX2PNode(val) );
+ val = _gvn.transform(new (C) CastX2PNode(val));
break;
}
@@ -2775,7 +2791,7 @@ bool LibraryCallKit::inline_unsafe_load_store(BasicType type, LoadStoreKind kind
// SCMemProjNodes represent the memory state of a LoadStore. Their
// main role is to prevent LoadStore nodes from being optimized away
// when their results aren't used.
- Node* proj = _gvn.transform( new (C) SCMemProjNode(load_store));
+ Node* proj = _gvn.transform(new (C) SCMemProjNode(load_store));
set_memory(proj, alias_idx);
// Add the trailing membar surrounding the access
@@ -3010,8 +3026,8 @@ bool LibraryCallKit::inline_native_isInterrupted() {
Node* rec_thr = argument(0);
Node* tls_ptr = NULL;
Node* cur_thr = generate_current_thread(tls_ptr);
- Node* cmp_thr = _gvn.transform( new (C) CmpPNode(cur_thr, rec_thr) );
- Node* bol_thr = _gvn.transform( new (C) BoolNode(cmp_thr, BoolTest::ne) );
+ Node* cmp_thr = _gvn.transform(new (C) CmpPNode(cur_thr, rec_thr));
+ Node* bol_thr = _gvn.transform(new (C) BoolNode(cmp_thr, BoolTest::ne));
generate_slow_guard(bol_thr, slow_region);
@@ -3022,36 +3038,36 @@ bool LibraryCallKit::inline_native_isInterrupted() {
// Set the control input on the field _interrupted read to prevent it floating up.
Node* int_bit = make_load(control(), p, TypeInt::BOOL, T_INT);
- Node* cmp_bit = _gvn.transform( new (C) CmpINode(int_bit, intcon(0)) );
- Node* bol_bit = _gvn.transform( new (C) BoolNode(cmp_bit, BoolTest::ne) );
+ Node* cmp_bit = _gvn.transform(new (C) CmpINode(int_bit, intcon(0)));
+ Node* bol_bit = _gvn.transform(new (C) BoolNode(cmp_bit, BoolTest::ne));
IfNode* iff_bit = create_and_map_if(control(), bol_bit, PROB_UNLIKELY_MAG(3), COUNT_UNKNOWN);
// First fast path: if (!TLS._interrupted) return false;
- Node* false_bit = _gvn.transform( new (C) IfFalseNode(iff_bit) );
+ Node* false_bit = _gvn.transform(new (C) IfFalseNode(iff_bit));
result_rgn->init_req(no_int_result_path, false_bit);
result_val->init_req(no_int_result_path, intcon(0));
// drop through to next case
- set_control( _gvn.transform(new (C) IfTrueNode(iff_bit)) );
+ set_control( _gvn.transform(new (C) IfTrueNode(iff_bit)));
// (c) Or, if interrupt bit is set and clear_int is false, use 2nd fast path.
Node* clr_arg = argument(1);
- Node* cmp_arg = _gvn.transform( new (C) CmpINode(clr_arg, intcon(0)) );
- Node* bol_arg = _gvn.transform( new (C) BoolNode(cmp_arg, BoolTest::ne) );
+ Node* cmp_arg = _gvn.transform(new (C) CmpINode(clr_arg, intcon(0)));
+ Node* bol_arg = _gvn.transform(new (C) BoolNode(cmp_arg, BoolTest::ne));
IfNode* iff_arg = create_and_map_if(control(), bol_arg, PROB_FAIR, COUNT_UNKNOWN);
// Second fast path: ... else if (!clear_int) return true;
- Node* false_arg = _gvn.transform( new (C) IfFalseNode(iff_arg) );
+ Node* false_arg = _gvn.transform(new (C) IfFalseNode(iff_arg));
result_rgn->init_req(no_clear_result_path, false_arg);
result_val->init_req(no_clear_result_path, intcon(1));
// drop through to next case
- set_control( _gvn.transform(new (C) IfTrueNode(iff_arg)) );
+ set_control( _gvn.transform(new (C) IfTrueNode(iff_arg)));
// (d) Otherwise, go to the slow path.
slow_region->add_req(control());
- set_control( _gvn.transform(slow_region) );
+ set_control( _gvn.transform(slow_region));
if (stopped()) {
// There is no slow path.
@@ -3107,7 +3123,7 @@ Node* LibraryCallKit::load_klass_from_mirror_common(Node* mirror,
if (region == NULL) never_see_null = true;
Node* p = basic_plus_adr(mirror, offset);
const TypeKlassPtr* kls_type = TypeKlassPtr::OBJECT_OR_NULL;
- Node* kls = _gvn.transform( LoadKlassNode::make(_gvn, immutable_memory(), p, TypeRawPtr::BOTTOM, kls_type) );
+ Node* kls = _gvn.transform( LoadKlassNode::make(_gvn, immutable_memory(), p, TypeRawPtr::BOTTOM, kls_type));
Node* null_ctl = top();
kls = null_check_oop(kls, &null_ctl, never_see_null);
if (region != NULL) {
@@ -3129,9 +3145,9 @@ Node* LibraryCallKit::generate_access_flags_guard(Node* kls, int modifier_mask,
Node* mods = make_load(NULL, modp, TypeInt::INT, T_INT);
Node* mask = intcon(modifier_mask);
Node* bits = intcon(modifier_bits);
- Node* mbit = _gvn.transform( new (C) AndINode(mods, mask) );
- Node* cmp = _gvn.transform( new (C) CmpINode(mbit, bits) );
- Node* bol = _gvn.transform( new (C) BoolNode(cmp, BoolTest::ne) );
+ Node* mbit = _gvn.transform(new (C) AndINode(mods, mask));
+ Node* cmp = _gvn.transform(new (C) CmpINode(mbit, bits));
+ Node* bol = _gvn.transform(new (C) BoolNode(cmp, BoolTest::ne));
return generate_fair_guard(bol, region);
}
Node* LibraryCallKit::generate_interface_guard(Node* kls, RegionNode* region) {
@@ -3282,7 +3298,7 @@ bool LibraryCallKit::inline_native_Class_query(vmIntrinsics::ID id) {
phi->add_req(makecon(TypeInstPtr::make(env()->Object_klass()->java_mirror())));
// If we fall through, it's a plain class. Get its _super.
p = basic_plus_adr(kls, in_bytes(Klass::super_offset()));
- kls = _gvn.transform( LoadKlassNode::make(_gvn, immutable_memory(), p, TypeRawPtr::BOTTOM, TypeKlassPtr::OBJECT_OR_NULL) );
+ kls = _gvn.transform( LoadKlassNode::make(_gvn, immutable_memory(), p, TypeRawPtr::BOTTOM, TypeKlassPtr::OBJECT_OR_NULL));
null_ctl = top();
kls = null_check_oop(kls, &null_ctl);
if (null_ctl != top()) {
@@ -3395,8 +3411,8 @@ bool LibraryCallKit::inline_native_subtype_check() {
set_control(region->in(_prim_0_path)); // go back to first null check
if (!stopped()) {
// Since superc is primitive, make a guard for the superc==subc case.
- Node* cmp_eq = _gvn.transform( new (C) CmpPNode(args[0], args[1]) );
- Node* bol_eq = _gvn.transform( new (C) BoolNode(cmp_eq, BoolTest::eq) );
+ Node* cmp_eq = _gvn.transform(new (C) CmpPNode(args[0], args[1]));
+ Node* bol_eq = _gvn.transform(new (C) BoolNode(cmp_eq, BoolTest::eq));
generate_guard(bol_eq, region, PROB_FAIR);
if (region->req() == PATH_LIMIT+1) {
// A guard was added. If the added guard is taken, superc==subc.
@@ -3461,11 +3477,11 @@ Node* LibraryCallKit::generate_array_guard_common(Node* kls, RegionNode* region,
? ((jint)Klass::_lh_array_tag_type_value
<< Klass::_lh_array_tag_shift)
: Klass::_lh_neutral_value);
- Node* cmp = _gvn.transform( new(C) CmpINode(layout_val, intcon(nval)) );
+ Node* cmp = _gvn.transform(new(C) CmpINode(layout_val, intcon(nval)));
BoolTest::mask btest = BoolTest::lt; // correct for testing is_[obj]array
// invert the test if we are looking for a non-array
if (not_array) btest = BoolTest(btest).negate();
- Node* bol = _gvn.transform( new(C) BoolNode(cmp, btest) );
+ Node* bol = _gvn.transform(new(C) BoolNode(cmp, btest));
return generate_fair_guard(bol, region);
}
@@ -3525,7 +3541,7 @@ bool LibraryCallKit::inline_native_newArray() {
// Return the combined state.
set_i_o( _gvn.transform(result_io) );
- set_all_memory( _gvn.transform(result_mem) );
+ set_all_memory( _gvn.transform(result_mem));
C->set_has_split_ifs(true); // Has chance for split-if optimization
set_result(result_reg, result_val);
@@ -3678,8 +3694,8 @@ Node* LibraryCallKit::generate_virtual_guard(Node* obj_klass,
const TypePtr* native_call_addr = TypeMetadataPtr::make(method);
Node* native_call = makecon(native_call_addr);
- Node* chk_native = _gvn.transform( new(C) CmpPNode(target_call, native_call) );
- Node* test_native = _gvn.transform( new(C) BoolNode(chk_native, BoolTest::ne) );
+ Node* chk_native = _gvn.transform(new(C) CmpPNode(target_call, native_call));
+ Node* test_native = _gvn.transform(new(C) BoolNode(chk_native, BoolTest::ne));
return generate_slow_guard(test_native, slow_region);
}
@@ -3800,10 +3816,10 @@ bool LibraryCallKit::inline_native_hashcode(bool is_virtual, bool is_static) {
// Test the header to see if it is unlocked.
Node *lock_mask = _gvn.MakeConX(markOopDesc::biased_lock_mask_in_place);
- Node *lmasked_header = _gvn.transform( new (C) AndXNode(header, lock_mask) );
+ Node *lmasked_header = _gvn.transform(new (C) AndXNode(header, lock_mask));
Node *unlocked_val = _gvn.MakeConX(markOopDesc::unlocked_value);
- Node *chk_unlocked = _gvn.transform( new (C) CmpXNode( lmasked_header, unlocked_val));
- Node *test_unlocked = _gvn.transform( new (C) BoolNode( chk_unlocked, BoolTest::ne) );
+ Node *chk_unlocked = _gvn.transform(new (C) CmpXNode( lmasked_header, unlocked_val));
+ Node *test_unlocked = _gvn.transform(new (C) BoolNode( chk_unlocked, BoolTest::ne));
generate_slow_guard(test_unlocked, slow_region);
@@ -3813,17 +3829,17 @@ bool LibraryCallKit::inline_native_hashcode(bool is_virtual, bool is_static) {
// vm: see markOop.hpp.
Node *hash_mask = _gvn.intcon(markOopDesc::hash_mask);
Node *hash_shift = _gvn.intcon(markOopDesc::hash_shift);
- Node *hshifted_header= _gvn.transform( new (C) URShiftXNode(header, hash_shift) );
+ Node *hshifted_header= _gvn.transform(new (C) URShiftXNode(header, hash_shift));
// This hack lets the hash bits live anywhere in the mark object now, as long
// as the shift drops the relevant bits into the low 32 bits. Note that
// Java spec says that HashCode is an int so there's no point in capturing
// an 'X'-sized hashcode (32 in 32-bit build or 64 in 64-bit build).
hshifted_header = ConvX2I(hshifted_header);
- Node *hash_val = _gvn.transform( new (C) AndINode(hshifted_header, hash_mask) );
+ Node *hash_val = _gvn.transform(new (C) AndINode(hshifted_header, hash_mask));
Node *no_hash_val = _gvn.intcon(markOopDesc::no_hash);
- Node *chk_assigned = _gvn.transform( new (C) CmpINode( hash_val, no_hash_val));
- Node *test_assigned = _gvn.transform( new (C) BoolNode( chk_assigned, BoolTest::eq) );
+ Node *chk_assigned = _gvn.transform(new (C) CmpINode( hash_val, no_hash_val));
+ Node *test_assigned = _gvn.transform(new (C) BoolNode( chk_assigned, BoolTest::eq));
generate_slow_guard(test_assigned, slow_region);
@@ -3854,7 +3870,7 @@ bool LibraryCallKit::inline_native_hashcode(bool is_virtual, bool is_static) {
// Return the combined state.
set_i_o( _gvn.transform(result_io) );
- set_all_memory( _gvn.transform(result_mem) );
+ set_all_memory( _gvn.transform(result_mem));
set_result(result_reg, result_val);
return true;
@@ -3982,7 +3998,7 @@ bool LibraryCallKit::inline_fp_conversions(vmIntrinsics::ID id) {
Node *opt_isnan = _gvn.transform(ifisnan);
assert( opt_isnan->is_If(), "Expect an IfNode");
IfNode *opt_ifisnan = (IfNode*)opt_isnan;
- Node *iftrue = _gvn.transform( new (C) IfTrueNode(opt_ifisnan) );
+ Node *iftrue = _gvn.transform(new (C) IfTrueNode(opt_ifisnan));
set_control(iftrue);
@@ -4023,7 +4039,7 @@ bool LibraryCallKit::inline_fp_conversions(vmIntrinsics::ID id) {
Node *opt_isnan = _gvn.transform(ifisnan);
assert( opt_isnan->is_If(), "Expect an IfNode");
IfNode *opt_ifisnan = (IfNode*)opt_isnan;
- Node *iftrue = _gvn.transform( new (C) IfTrueNode(opt_ifisnan) );
+ Node *iftrue = _gvn.transform(new (C) IfTrueNode(opt_ifisnan));
set_control(iftrue);
@@ -4152,8 +4168,8 @@ void LibraryCallKit::copy_to_clone(Node* obj, Node* alloc_obj, Node* obj_size, b
// Compute the length also, if needed:
Node* countx = size;
- countx = _gvn.transform( new (C) SubXNode(countx, MakeConX(base_off)) );
- countx = _gvn.transform( new (C) URShiftXNode(countx, intcon(LogBytesPerLong) ));
+ countx = _gvn.transform(new (C) SubXNode(countx, MakeConX(base_off)));
+ countx = _gvn.transform(new (C) URShiftXNode(countx, intcon(LogBytesPerLong) ));
const TypePtr* raw_adr_type = TypeRawPtr::BOTTOM;
bool disjoint_bases = true;
@@ -4357,9 +4373,9 @@ bool LibraryCallKit::inline_native_clone(bool is_virtual) {
}
// Return the combined state.
- set_control( _gvn.transform(result_reg) );
- set_i_o( _gvn.transform(result_i_o) );
- set_all_memory( _gvn.transform(result_mem) );
+ set_control( _gvn.transform(result_reg));
+ set_i_o( _gvn.transform(result_i_o));
+ set_all_memory( _gvn.transform(result_mem));
} // original reexecute is set back here
set_result(_gvn.transform(result_val));
@@ -4684,8 +4700,8 @@ LibraryCallKit::generate_arraycopy(const TypePtr* adr_type,
// are dest_head = dest[0..off] and dest_tail = dest[off+len..dest.length].
Node* dest_size = alloc->in(AllocateNode::AllocSize);
Node* dest_length = alloc->in(AllocateNode::ALength);
- Node* dest_tail = _gvn.transform( new(C) AddINode(dest_offset,
- copy_length) );
+ Node* dest_tail = _gvn.transform(new(C) AddINode(dest_offset,
+ copy_length));
// If there is a head section that needs zeroing, do it now.
if (find_int_con(dest_offset, -1) != 0) {
@@ -4701,8 +4717,8 @@ LibraryCallKit::generate_arraycopy(const TypePtr* adr_type,
// the copy to a more hardware-friendly word size of 64 bits.
Node* tail_ctl = NULL;
if (!stopped() && !dest_tail->eqv_uncast(dest_length)) {
- Node* cmp_lt = _gvn.transform( new(C) CmpINode(dest_tail, dest_length) );
- Node* bol_lt = _gvn.transform( new(C) BoolNode(cmp_lt, BoolTest::lt) );
+ Node* cmp_lt = _gvn.transform(new(C) CmpINode(dest_tail, dest_length));
+ Node* bol_lt = _gvn.transform(new(C) BoolNode(cmp_lt, BoolTest::lt));
tail_ctl = generate_slow_guard(bol_lt, NULL);
assert(tail_ctl != NULL || !stopped(), "must be an outcome");
}
@@ -4745,7 +4761,7 @@ LibraryCallKit::generate_arraycopy(const TypePtr* adr_type,
dest_size);
done_ctl->init_req(2, control());
done_mem->init_req(2, memory(adr_type));
- set_control( _gvn.transform(done_ctl) );
+ set_control( _gvn.transform(done_ctl));
set_memory( _gvn.transform(done_mem), adr_type );
}
}
@@ -4832,18 +4848,18 @@ LibraryCallKit::generate_arraycopy(const TypePtr* adr_type,
// Clean up after the checked call.
// The returned value is either 0 or -1^K,
// where K = number of partially transferred array elements.
- Node* cmp = _gvn.transform( new(C) CmpINode(checked_value, intcon(0)) );
- Node* bol = _gvn.transform( new(C) BoolNode(cmp, BoolTest::eq) );
+ Node* cmp = _gvn.transform(new(C) CmpINode(checked_value, intcon(0)));
+ Node* bol = _gvn.transform(new(C) BoolNode(cmp, BoolTest::eq));
IfNode* iff = create_and_map_if(control(), bol, PROB_MAX, COUNT_UNKNOWN);
// If it is 0, we are done, so transfer to the end.
- Node* checks_done = _gvn.transform( new(C) IfTrueNode(iff) );
+ Node* checks_done = _gvn.transform(new(C) IfTrueNode(iff));
result_region->init_req(checked_path, checks_done);
result_i_o ->init_req(checked_path, checked_i_o);
result_memory->init_req(checked_path, checked_mem);
// If it is not zero, merge into the slow call.
- set_control( _gvn.transform( new(C) IfFalseNode(iff) ));
+ set_control( _gvn.transform(new(C) IfFalseNode(iff) ));
RegionNode* slow_reg2 = new(C) RegionNode(3);
PhiNode* slow_i_o2 = new(C) PhiNode(slow_reg2, Type::ABIO);
PhiNode* slow_mem2 = new(C) PhiNode(slow_reg2, Type::MEMORY, adr_type);
@@ -4866,16 +4882,16 @@ LibraryCallKit::generate_arraycopy(const TypePtr* adr_type,
} else {
// We must continue the copy exactly where it failed, or else
// another thread might see the wrong number of writes to dest.
- Node* checked_offset = _gvn.transform( new(C) XorINode(checked_value, intcon(-1)) );
+ Node* checked_offset = _gvn.transform(new(C) XorINode(checked_value, intcon(-1)));
Node* slow_offset = new(C) PhiNode(slow_reg2, TypeInt::INT);
slow_offset->init_req(1, intcon(0));
slow_offset->init_req(2, checked_offset);
slow_offset = _gvn.transform(slow_offset);
// Adjust the arguments by the conditionally incoming offset.
- Node* src_off_plus = _gvn.transform( new(C) AddINode(src_offset, slow_offset) );
- Node* dest_off_plus = _gvn.transform( new(C) AddINode(dest_offset, slow_offset) );
- Node* length_minus = _gvn.transform( new(C) SubINode(copy_length, slow_offset) );
+ Node* src_off_plus = _gvn.transform(new(C) AddINode(src_offset, slow_offset));
+ Node* dest_off_plus = _gvn.transform(new(C) AddINode(dest_offset, slow_offset));
+ Node* length_minus = _gvn.transform(new(C) SubINode(copy_length, slow_offset));
// Tweak the node variables to adjust the code produced below:
src_offset = src_off_plus;
@@ -4914,7 +4930,7 @@ LibraryCallKit::generate_arraycopy(const TypePtr* adr_type,
}
// Finished; return the combined state.
- set_control( _gvn.transform(result_region) );
+ set_control( _gvn.transform(result_region));
set_i_o( _gvn.transform(result_i_o) );
set_memory( _gvn.transform(result_memory), adr_type );
@@ -5096,10 +5112,10 @@ LibraryCallKit::generate_clear_array(const TypePtr* adr_type,
int end_round = (-1 << scale) & (BytesPerLong - 1);
Node* end = ConvI2X(slice_len);
if (scale != 0)
- end = _gvn.transform( new(C) LShiftXNode(end, intcon(scale) ));
+ end = _gvn.transform(new(C) LShiftXNode(end, intcon(scale) ));
end_base += end_round;
- end = _gvn.transform( new(C) AddXNode(end, MakeConX(end_base)) );
- end = _gvn.transform( new(C) AndXNode(end, MakeConX(~end_round)) );
+ end = _gvn.transform(new(C) AddXNode(end, MakeConX(end_base)));
+ end = _gvn.transform(new(C) AndXNode(end, MakeConX(~end_round)));
mem = ClearArrayNode::clear_memory(control(), mem, dest,
start_con, end, &_gvn);
} else if (start_con < 0 && dest_size != top()) {
@@ -5108,8 +5124,8 @@ LibraryCallKit::generate_clear_array(const TypePtr* adr_type,
Node* start = slice_idx;
start = ConvI2X(start);
if (scale != 0)
- start = _gvn.transform( new(C) LShiftXNode( start, intcon(scale) ));
- start = _gvn.transform( new(C) AddXNode(start, MakeConX(abase)) );
+ start = _gvn.transform(new(C) LShiftXNode( start, intcon(scale) ));
+ start = _gvn.transform(new(C) AddXNode(start, MakeConX(abase)));
if ((bump_bit | clear_low) != 0) {
int to_clear = (bump_bit | clear_low);
// Align up mod 8, then store a jint zero unconditionally
@@ -5120,14 +5136,14 @@ LibraryCallKit::generate_clear_array(const TypePtr* adr_type,
assert((abase & to_clear) == 0, "array base must be long-aligned");
} else {
// Bump 'start' up to (or past) the next jint boundary:
- start = _gvn.transform( new(C) AddXNode(start, MakeConX(bump_bit)) );
+ start = _gvn.transform(new(C) AddXNode(start, MakeConX(bump_bit)));
assert((abase & clear_low) == 0, "array base must be int-aligned");
}
// Round bumped 'start' down to jlong boundary in body of array.
- start = _gvn.transform( new(C) AndXNode(start, MakeConX(~to_clear)) );
+ start = _gvn.transform(new(C) AndXNode(start, MakeConX(~to_clear)));
if (bump_bit != 0) {
// Store a zero to the immediately preceding jint:
- Node* x1 = _gvn.transform( new(C) AddXNode(start, MakeConX(-bump_bit)) );
+ Node* x1 = _gvn.transform(new(C) AddXNode(start, MakeConX(-bump_bit)));
Node* p1 = basic_plus_adr(dest, x1);
mem = StoreNode::make(_gvn, control(), mem, p1, adr_type, intcon(0), T_INT);
mem = _gvn.transform(mem);
@@ -5194,8 +5210,8 @@ LibraryCallKit::generate_block_arraycopy(const TypePtr* adr_type,
Node* sptr = basic_plus_adr(src, src_off);
Node* dptr = basic_plus_adr(dest, dest_off);
Node* countx = dest_size;
- countx = _gvn.transform( new (C) SubXNode(countx, MakeConX(dest_off)) );
- countx = _gvn.transform( new (C) URShiftXNode(countx, intcon(LogBytesPerLong)) );
+ countx = _gvn.transform(new (C) SubXNode(countx, MakeConX(dest_off)));
+ countx = _gvn.transform(new (C) URShiftXNode(countx, intcon(LogBytesPerLong)));
bool disjoint_bases = true; // since alloc != NULL
generate_unchecked_arraycopy(adr_type, T_LONG, disjoint_bases,
@@ -5360,6 +5376,117 @@ bool LibraryCallKit::inline_encodeISOArray() {
return true;
}
+/**
+ * Calculate CRC32 for byte.
+ * int java.util.zip.CRC32.update(int crc, int b)
+ */
+bool LibraryCallKit::inline_updateCRC32() {
+ assert(UseCRC32Intrinsics, "need AVX and LCMUL instructions support");
+ assert(callee()->signature()->size() == 2, "update has 2 parameters");
+ // no receiver since it is static method
+ Node* crc = argument(0); // type: int
+ Node* b = argument(1); // type: int
+
+ /*
+ * int c = ~ crc;
+ * b = timesXtoThe32[(b ^ c) & 0xFF];
+ * b = b ^ (c >>> 8);
+ * crc = ~b;
+ */
+
+ Node* M1 = intcon(-1);
+ crc = _gvn.transform(new (C) XorINode(crc, M1));
+ Node* result = _gvn.transform(new (C) XorINode(crc, b));
+ result = _gvn.transform(new (C) AndINode(result, intcon(0xFF)));
+
+ Node* base = makecon(TypeRawPtr::make(StubRoutines::crc_table_addr()));
+ Node* offset = _gvn.transform(new (C) LShiftINode(result, intcon(0x2)));
+ Node* adr = basic_plus_adr(top(), base, ConvI2X(offset));
+ result = make_load(control(), adr, TypeInt::INT, T_INT);
+
+ crc = _gvn.transform(new (C) URShiftINode(crc, intcon(8)));
+ result = _gvn.transform(new (C) XorINode(crc, result));
+ result = _gvn.transform(new (C) XorINode(result, M1));
+ set_result(result);
+ return true;
+}
+
+/**
+ * Calculate CRC32 for byte[] array.
+ * int java.util.zip.CRC32.updateBytes(int crc, byte[] buf, int off, int len)
+ */
+bool LibraryCallKit::inline_updateBytesCRC32() {
+ assert(UseCRC32Intrinsics, "need AVX and LCMUL instructions support");
+ assert(callee()->signature()->size() == 4, "updateBytes has 4 parameters");
+ // no receiver since it is static method
+ Node* crc = argument(0); // type: int
+ Node* src = argument(1); // type: oop
+ Node* offset = argument(2); // type: int
+ Node* length = argument(3); // type: int
+
+ const Type* src_type = src->Value(&_gvn);
+ const TypeAryPtr* top_src = src_type->isa_aryptr();
+ if (top_src == NULL || top_src->klass() == NULL) {
+ // failed array check
+ return false;
+ }
+
+ // Figure out the size and type of the elements we will be copying.
+ BasicType src_elem = src_type->isa_aryptr()->klass()->as_array_klass()->element_type()->basic_type();
+ if (src_elem != T_BYTE) {
+ return false;
+ }
+
+ // 'src_start' points to src array + scaled offset
+ Node* src_start = array_element_address(src, offset, src_elem);
+
+ // We assume that range check is done by caller.
+ // TODO: generate range check (offset+length < src.length) in debug VM.
+
+ // Call the stub.
+ address stubAddr = StubRoutines::updateBytesCRC32();
+ const char *stubName = "updateBytesCRC32";
+
+ Node* call = make_runtime_call(RC_LEAF|RC_NO_FP, OptoRuntime::updateBytesCRC32_Type(),
+ stubAddr, stubName, TypePtr::BOTTOM,
+ crc, src_start, length);
+ Node* result = _gvn.transform(new (C) ProjNode(call, TypeFunc::Parms));
+ set_result(result);
+ return true;
+}
+
+/**
+ * Calculate CRC32 for ByteBuffer.
+ * int java.util.zip.CRC32.updateByteBuffer(int crc, long buf, int off, int len)
+ */
+bool LibraryCallKit::inline_updateByteBufferCRC32() {
+ assert(UseCRC32Intrinsics, "need AVX and LCMUL instructions support");
+ assert(callee()->signature()->size() == 5, "updateByteBuffer has 4 parameters and one is long");
+ // no receiver since it is static method
+ Node* crc = argument(0); // type: int
+ Node* src = argument(1); // type: long
+ Node* offset = argument(3); // type: int
+ Node* length = argument(4); // type: int
+
+ src = ConvL2X(src); // adjust Java long to machine word
+ Node* base = _gvn.transform(new (C) CastX2PNode(src));
+ offset = ConvI2X(offset);
+
+ // 'src_start' points to src array + scaled offset
+ Node* src_start = basic_plus_adr(top(), base, offset);
+
+ // Call the stub.
+ address stubAddr = StubRoutines::updateBytesCRC32();
+ const char *stubName = "updateBytesCRC32";
+
+ Node* call = make_runtime_call(RC_LEAF|RC_NO_FP, OptoRuntime::updateBytesCRC32_Type(),
+ stubAddr, stubName, TypePtr::BOTTOM,
+ crc, src_start, length);
+ Node* result = _gvn.transform(new (C) ProjNode(call, TypeFunc::Parms));
+ set_result(result);
+ return true;
+}
+
//----------------------------inline_reference_get----------------------------
// public T java.lang.ref.Reference.get();
bool LibraryCallKit::inline_reference_get() {
diff --git a/hotspot/src/share/vm/opto/matcher.cpp b/hotspot/src/share/vm/opto/matcher.cpp
index 4f3aad763f5..58de9b62587 100644
--- a/hotspot/src/share/vm/opto/matcher.cpp
+++ b/hotspot/src/share/vm/opto/matcher.cpp
@@ -985,6 +985,8 @@ Node *Matcher::xform( Node *n, int max_stack ) {
mstack.push(n, Visit, NULL, -1); // set NULL as parent to indicate root
while (mstack.is_nonempty()) {
+ C->check_node_count(NodeLimitFudgeFactor, "too many nodes matching instructions");
+ if (C->failing()) return NULL;
n = mstack.node(); // Leave node on stack
Node_State nstate = mstack.state();
if (nstate == Visit) {
diff --git a/hotspot/src/share/vm/opto/memnode.cpp b/hotspot/src/share/vm/opto/memnode.cpp
index fc59cebdc55..aa03b5ff6c5 100644
--- a/hotspot/src/share/vm/opto/memnode.cpp
+++ b/hotspot/src/share/vm/opto/memnode.cpp
@@ -2930,7 +2930,9 @@ MemBarNode* MemBarNode::make(Compile* C, int opcode, int atp, Node* pn) {
Node *MemBarNode::Ideal(PhaseGVN *phase, bool can_reshape) {
if (remove_dead_region(phase, can_reshape)) return this;
// Don't bother trying to transform a dead node
- if (in(0) && in(0)->is_top()) return NULL;
+ if (in(0) && in(0)->is_top()) {
+ return NULL;
+ }
// Eliminate volatile MemBars for scalar replaced objects.
if (can_reshape && req() == (Precedent+1)) {
@@ -2939,6 +2941,22 @@ Node *MemBarNode::Ideal(PhaseGVN *phase, bool can_reshape) {
if ((opc == Op_MemBarAcquire || opc == Op_MemBarVolatile)) {
// Volatile field loads and stores.
Node* my_mem = in(MemBarNode::Precedent);
+ // The MembarAquire may keep an unused LoadNode alive through the Precedent edge
+ if ((my_mem != NULL) && (opc == Op_MemBarAcquire) && (my_mem->outcnt() == 1)) {
+ // if the Precedent is a decodeN and its input (a Load) is used at more than one place,
+ // replace this Precedent (decodeN) with the Load instead.
+ if ((my_mem->Opcode() == Op_DecodeN) && (my_mem->in(1)->outcnt() > 1)) {
+ Node* load_node = my_mem->in(1);
+ set_req(MemBarNode::Precedent, load_node);
+ phase->is_IterGVN()->_worklist.push(my_mem);
+ my_mem = load_node;
+ } else {
+ assert(my_mem->unique_out() == this, "sanity");
+ del_req(Precedent);
+ phase->is_IterGVN()->_worklist.push(my_mem); // remove dead node later
+ my_mem = NULL;
+ }
+ }
if (my_mem != NULL && my_mem->is_Mem()) {
const TypeOopPtr* t_oop = my_mem->in(MemNode::Address)->bottom_type()->isa_oopptr();
// Check for scalar replaced object reference.
@@ -4384,7 +4402,7 @@ static void verify_memory_slice(const MergeMemNode* m, int alias_idx, Node* n) {
}
}
#else // !ASSERT
-#define verify_memory_slice(m,i,n) (0) // PRODUCT version is no-op
+#define verify_memory_slice(m,i,n) (void)(0) // PRODUCT version is no-op
#endif
diff --git a/hotspot/src/share/vm/opto/runtime.cpp b/hotspot/src/share/vm/opto/runtime.cpp
index d0aefad66b7..9a278c5ac1c 100644
--- a/hotspot/src/share/vm/opto/runtime.cpp
+++ b/hotspot/src/share/vm/opto/runtime.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -829,6 +829,28 @@ const TypeFunc* OptoRuntime::aescrypt_block_Type() {
return TypeFunc::make(domain, range);
}
+/**
+ * int updateBytesCRC32(int crc, byte* b, int len)
+ */
+const TypeFunc* OptoRuntime::updateBytesCRC32_Type() {
+ // create input type (domain)
+ int num_args = 3;
+ int argcnt = num_args;
+ const Type** fields = TypeTuple::fields(argcnt);
+ int argp = TypeFunc::Parms;
+ fields[argp++] = TypeInt::INT; // crc
+ fields[argp++] = TypePtr::NOTNULL; // src
+ fields[argp++] = TypeInt::INT; // len
+ assert(argp == TypeFunc::Parms+argcnt, "correct decoding");
+ const TypeTuple* domain = TypeTuple::make(TypeFunc::Parms+argcnt, fields);
+
+ // result type needed
+ fields = TypeTuple::fields(1);
+ fields[TypeFunc::Parms+0] = TypeInt::INT; // crc result
+ const TypeTuple* range = TypeTuple::make(TypeFunc::Parms+1, fields);
+ return TypeFunc::make(domain, range);
+}
+
// for cipherBlockChaining calls of aescrypt encrypt/decrypt, four pointers and a length, returning void
const TypeFunc* OptoRuntime::cipherBlockChaining_aescrypt_Type() {
// create input type (domain)
diff --git a/hotspot/src/share/vm/opto/runtime.hpp b/hotspot/src/share/vm/opto/runtime.hpp
index 295b7123757..b3f7ff4cb1a 100644
--- a/hotspot/src/share/vm/opto/runtime.hpp
+++ b/hotspot/src/share/vm/opto/runtime.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -284,6 +284,8 @@ private:
static const TypeFunc* aescrypt_block_Type();
static const TypeFunc* cipherBlockChaining_aescrypt_Type();
+ static const TypeFunc* updateBytesCRC32_Type();
+
// leaf on stack replacement interpreter accessor types
static const TypeFunc* osr_end_Type();
diff --git a/hotspot/src/share/vm/prims/forte.cpp b/hotspot/src/share/vm/prims/forte.cpp
index 737dcecd0e1..43da7494417 100644
--- a/hotspot/src/share/vm/prims/forte.cpp
+++ b/hotspot/src/share/vm/prims/forte.cpp
@@ -619,7 +619,7 @@ void collector_func_load(char* name,
void* null_argument_3);
#pragma weak collector_func_load
#define collector_func_load(x0,x1,x2,x3,x4,x5,x6) \
- ( collector_func_load ? collector_func_load(x0,x1,x2,x3,x4,x5,x6),0 : 0 )
+ ( collector_func_load ? collector_func_load(x0,x1,x2,x3,x4,x5,x6),(void)0 : (void)0 )
#endif // __APPLE__
#endif // !_WINDOWS
diff --git a/hotspot/src/share/vm/prims/jni.cpp b/hotspot/src/share/vm/prims/jni.cpp
index 85f3e2e0e41..f37ea34c46d 100644
--- a/hotspot/src/share/vm/prims/jni.cpp
+++ b/hotspot/src/share/vm/prims/jni.cpp
@@ -879,7 +879,7 @@ JNI_ENTRY(jint, jni_PushLocalFrame(JNIEnv *env, jint capacity))
env, capacity);
#endif /* USDT2 */
//%note jni_11
- if (capacity < 0 && capacity > MAX_REASONABLE_LOCAL_CAPACITY) {
+ if (capacity < 0 || capacity > MAX_REASONABLE_LOCAL_CAPACITY) {
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, PushLocalFrame__return, JNI_ERR);
#else /* USDT2 */
diff --git a/hotspot/src/share/vm/prims/jvm.cpp b/hotspot/src/share/vm/prims/jvm.cpp
index 08e2f881cbe..da34f2e1316 100644
--- a/hotspot/src/share/vm/prims/jvm.cpp
+++ b/hotspot/src/share/vm/prims/jvm.cpp
@@ -3310,24 +3310,10 @@ JVM_ENTRY(jobject, JVM_CurrentClassLoader(JNIEnv *env))
JVM_END
-// Utility object for collecting method holders walking down the stack
-class KlassLink: public ResourceObj {
- public:
- KlassHandle klass;
- KlassLink* next;
-
- KlassLink(KlassHandle k) { klass = k; next = NULL; }
-};
-
-
JVM_ENTRY(jobjectArray, JVM_GetClassContext(JNIEnv *env))
JVMWrapper("JVM_GetClassContext");
ResourceMark rm(THREAD);
JvmtiVMObjectAllocEventCollector oam;
- // Collect linked list of (handles to) method holders
- KlassLink* first = NULL;
- KlassLink* last = NULL;
- int depth = 0;
vframeStream vfst(thread);
if (SystemDictionary::reflect_CallerSensitive_klass() != NULL) {
@@ -3341,32 +3327,23 @@ JVM_ENTRY(jobjectArray, JVM_GetClassContext(JNIEnv *env))
}
// Collect method holders
+ GrowableArray* klass_array = new GrowableArray();
for (; !vfst.at_end(); vfst.security_next()) {
Method* m = vfst.method();
// Native frames are not returned
if (!m->is_ignored_by_security_stack_walk() && !m->is_native()) {
Klass* holder = m->method_holder();
assert(holder->is_klass(), "just checking");
- depth++;
- KlassLink* l = new KlassLink(KlassHandle(thread, holder));
- if (first == NULL) {
- first = last = l;
- } else {
- last->next = l;
- last = l;
- }
+ klass_array->append(holder);
}
}
// Create result array of type [Ljava/lang/Class;
- objArrayOop result = oopFactory::new_objArray(SystemDictionary::Class_klass(), depth, CHECK_NULL);
+ objArrayOop result = oopFactory::new_objArray(SystemDictionary::Class_klass(), klass_array->length(), CHECK_NULL);
// Fill in mirrors corresponding to method holders
- int index = 0;
- while (first != NULL) {
- result->obj_at_put(index++, first->klass()->java_mirror());
- first = first->next;
+ for (int i = 0; i < klass_array->length(); i++) {
+ result->obj_at_put(i, klass_array->at(i)->java_mirror());
}
- assert(index == depth, "just checking");
return (jobjectArray) JNIHandles::make_local(env, result);
JVM_END
diff --git a/hotspot/src/share/vm/prims/jvmti.xml b/hotspot/src/share/vm/prims/jvmti.xml
index dbd6735aa73..c23a7b5e1c3 100644
--- a/hotspot/src/share/vm/prims/jvmti.xml
+++ b/hotspot/src/share/vm/prims/jvmti.xml
@@ -1897,7 +1897,7 @@ jvmtiEnv *jvmti;
-
+
jvmtiMonitorStackDepthInfo
diff --git a/hotspot/src/share/vm/prims/methodHandles.cpp b/hotspot/src/share/vm/prims/methodHandles.cpp
index bb9da0034e4..ac1c796eb31 100644
--- a/hotspot/src/share/vm/prims/methodHandles.cpp
+++ b/hotspot/src/share/vm/prims/methodHandles.cpp
@@ -1137,7 +1137,12 @@ JVM_ENTRY(jobject, MHN_resolve_Mem(JNIEnv *env, jobject igcls, jobject mname_jh,
if (VerifyMethodHandles && caller_jh != NULL &&
java_lang_invoke_MemberName::clazz(mname()) != NULL) {
Klass* reference_klass = java_lang_Class::as_Klass(java_lang_invoke_MemberName::clazz(mname()));
- if (reference_klass != NULL) {
+ if (reference_klass != NULL && reference_klass->oop_is_objArray()) {
+ reference_klass = ObjArrayKlass::cast(reference_klass)->bottom_klass();
+ }
+
+ // Reflection::verify_class_access can only handle instance classes.
+ if (reference_klass != NULL && reference_klass->oop_is_instance()) {
// Emulate LinkResolver::check_klass_accessability.
Klass* caller = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(caller_jh));
if (!Reflection::verify_class_access(caller,
diff --git a/hotspot/src/share/vm/prims/whitebox.cpp b/hotspot/src/share/vm/prims/whitebox.cpp
index 92f2349bb7c..3552ff2062f 100644
--- a/hotspot/src/share/vm/prims/whitebox.cpp
+++ b/hotspot/src/share/vm/prims/whitebox.cpp
@@ -159,7 +159,7 @@ WB_END
WB_ENTRY(void, WB_NMTCommitMemory(JNIEnv* env, jobject o, jlong addr, jlong size))
- os::commit_memory((char *)(uintptr_t)addr, size);
+ os::commit_memory((char *)(uintptr_t)addr, size, !ExecMem);
MemTracker::record_virtual_memory_type((address)(uintptr_t)addr, mtTest);
WB_END
diff --git a/hotspot/src/share/vm/runtime/arguments.cpp b/hotspot/src/share/vm/runtime/arguments.cpp
index 7cfd7a42eb7..c52959d6976 100644
--- a/hotspot/src/share/vm/runtime/arguments.cpp
+++ b/hotspot/src/share/vm/runtime/arguments.cpp
@@ -849,7 +849,7 @@ bool Arguments::process_argument(const char* arg,
arg_len = equal_sign - argname;
}
- Flag* found_flag = Flag::find_flag((char*)argname, arg_len, true);
+ Flag* found_flag = Flag::find_flag((const char*)argname, arg_len, true);
if (found_flag != NULL) {
char locked_message_buf[BUFLEN];
found_flag->get_locked_message(locked_message_buf, BUFLEN);
@@ -870,6 +870,14 @@ bool Arguments::process_argument(const char* arg,
} else {
jio_fprintf(defaultStream::error_stream(),
"Unrecognized VM option '%s'\n", argname);
+ Flag* fuzzy_matched = Flag::fuzzy_match((const char*)argname, arg_len, true);
+ if (fuzzy_matched != NULL) {
+ jio_fprintf(defaultStream::error_stream(),
+ "Did you mean '%s%s%s'?\n",
+ (fuzzy_matched->is_bool()) ? "(+/-)" : "",
+ fuzzy_matched->name,
+ (fuzzy_matched->is_bool()) ? "" : "=");
+ }
}
// allow for commandline "commenting out" options like -XX:#+Verbose
@@ -1566,6 +1574,17 @@ julong Arguments::limit_by_allocatable_memory(julong limit) {
return result;
}
+void Arguments::set_heap_base_min_address() {
+ if (FLAG_IS_DEFAULT(HeapBaseMinAddress) && UseG1GC && HeapBaseMinAddress < 1*G) {
+ // By default HeapBaseMinAddress is 2G on all platforms except Solaris x86.
+ // G1 currently needs a lot of C-heap, so on Solaris we have to give G1
+ // some extra space for the C-heap compared to other collectors.
+ // Use FLAG_SET_DEFAULT here rather than FLAG_SET_ERGO to make sure that
+ // code that checks for default values work correctly.
+ FLAG_SET_DEFAULT(HeapBaseMinAddress, 1*G);
+ }
+}
+
void Arguments::set_heap_size() {
if (!FLAG_IS_DEFAULT(DefaultMaxRAMFraction)) {
// Deprecated flag
@@ -1885,21 +1904,6 @@ bool Arguments::check_vm_args_consistency() {
// Note: Needs platform-dependent factoring.
bool status = true;
-#if ( (defined(COMPILER2) && defined(SPARC)))
- // NOTE: The call to VM_Version_init depends on the fact that VM_Version_init
- // on sparc doesn't require generation of a stub as is the case on, e.g.,
- // x86. Normally, VM_Version_init must be called from init_globals in
- // init.cpp, which is called by the initial java thread *after* arguments
- // have been parsed. VM_Version_init gets called twice on sparc.
- extern void VM_Version_init();
- VM_Version_init();
- if (!VM_Version::has_v9()) {
- jio_fprintf(defaultStream::error_stream(),
- "V8 Machine detected, Server requires V9\n");
- status = false;
- }
-#endif /* COMPILER2 && SPARC */
-
// Allow both -XX:-UseStackBanging and -XX:-UseBoundThreads in non-product
// builds so the cost of stack banging can be measured.
#if (defined(PRODUCT) && defined(SOLARIS))
@@ -2217,11 +2221,24 @@ bool Arguments::check_vm_args_consistency() {
status = false;
}
- if (ReservedCodeCacheSize < InitialCodeCacheSize) {
+ // Check lower bounds of the code cache
+ // Template Interpreter code is approximately 3X larger in debug builds.
+ uint min_code_cache_size = (CodeCacheMinimumUseSpace DEBUG_ONLY(* 3)) + CodeCacheMinimumFreeSpace;
+ if (InitialCodeCacheSize < (uintx)os::vm_page_size()) {
jio_fprintf(defaultStream::error_stream(),
- "Invalid ReservedCodeCacheSize: %dK. Should be greater than InitialCodeCacheSize=%dK\n",
+ "Invalid InitialCodeCacheSize=%dK. Must be at least %dK.\n", InitialCodeCacheSize/K,
+ os::vm_page_size()/K);
+ status = false;
+ } else if (ReservedCodeCacheSize < InitialCodeCacheSize) {
+ jio_fprintf(defaultStream::error_stream(),
+ "Invalid ReservedCodeCacheSize: %dK. Must be at least InitialCodeCacheSize=%dK.\n",
ReservedCodeCacheSize/K, InitialCodeCacheSize/K);
status = false;
+ } else if (ReservedCodeCacheSize < min_code_cache_size) {
+ jio_fprintf(defaultStream::error_stream(),
+ "Invalid ReservedCodeCacheSize=%dK. Must be at least %uK.\n", ReservedCodeCacheSize/K,
+ min_code_cache_size/K);
+ status = false;
}
return status;
@@ -2622,10 +2639,20 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args,
// -Xoss
} else if (match_option(option, "-Xoss", &tail)) {
// HotSpot does not have separate native and Java stacks, ignore silently for compatibility
- // -Xmaxjitcodesize
+ } else if (match_option(option, "-XX:CodeCacheExpansionSize=", &tail)) {
+ julong long_CodeCacheExpansionSize = 0;
+ ArgsRange errcode = parse_memory_size(tail, &long_CodeCacheExpansionSize, os::vm_page_size());
+ if (errcode != arg_in_range) {
+ jio_fprintf(defaultStream::error_stream(),
+ "Invalid argument: %s. Must be at least %luK.\n", option->optionString,
+ os::vm_page_size()/K);
+ return JNI_EINVAL;
+ }
+ FLAG_SET_CMDLINE(uintx, CodeCacheExpansionSize, (uintx)long_CodeCacheExpansionSize);
} else if (match_option(option, "-Xmaxjitcodesize", &tail) ||
match_option(option, "-XX:ReservedCodeCacheSize=", &tail)) {
julong long_ReservedCodeCacheSize = 0;
+
ArgsRange errcode = parse_memory_size(tail, &long_ReservedCodeCacheSize, 1);
if (errcode != arg_in_range) {
jio_fprintf(defaultStream::error_stream(),
@@ -3525,6 +3552,8 @@ jint Arguments::parse(const JavaVMInitArgs* args) {
}
}
+ set_heap_base_min_address();
+
// Set heap size based on available physical memory
set_heap_size();
diff --git a/hotspot/src/share/vm/runtime/arguments.hpp b/hotspot/src/share/vm/runtime/arguments.hpp
index 0a4350ee3c5..0e84208a218 100644
--- a/hotspot/src/share/vm/runtime/arguments.hpp
+++ b/hotspot/src/share/vm/runtime/arguments.hpp
@@ -315,6 +315,8 @@ class Arguments : AllStatic {
// limits the given memory size by the maximum amount of memory this process is
// currently allowed to allocate or reserve.
static julong limit_by_allocatable_memory(julong size);
+ // Setup HeapBaseMinAddress
+ static void set_heap_base_min_address();
// Setup heap size
static void set_heap_size();
// Based on automatic selection criteria, should the
diff --git a/hotspot/src/share/vm/runtime/atomic.cpp b/hotspot/src/share/vm/runtime/atomic.cpp
index dbb66b2f63f..87c80ad3335 100644
--- a/hotspot/src/share/vm/runtime/atomic.cpp
+++ b/hotspot/src/share/vm/runtime/atomic.cpp
@@ -80,3 +80,32 @@ jlong Atomic::add(jlong add_value, volatile jlong* dest) {
}
return old;
}
+
+void Atomic::inc(volatile short* dest) {
+ // Most platforms do not support atomic increment on a 2-byte value. However,
+ // if the value occupies the most significant 16 bits of an aligned 32-bit
+ // word, then we can do this with an atomic add of 0x10000 to the 32-bit word.
+ //
+ // The least significant parts of this 32-bit word will never be affected, even
+ // in case of overflow/underflow.
+ //
+ // Use the ATOMIC_SHORT_PAIR macro to get the desired alignment.
+#ifdef VM_LITTLE_ENDIAN
+ assert((intx(dest) & 0x03) == 0x02, "wrong alignment");
+ (void)Atomic::add(0x10000, (volatile int*)(dest-1));
+#else
+ assert((intx(dest) & 0x03) == 0x00, "wrong alignment");
+ (void)Atomic::add(0x10000, (volatile int*)(dest));
+#endif
+}
+
+void Atomic::dec(volatile short* dest) {
+#ifdef VM_LITTLE_ENDIAN
+ assert((intx(dest) & 0x03) == 0x02, "wrong alignment");
+ (void)Atomic::add(-0x10000, (volatile int*)(dest-1));
+#else
+ assert((intx(dest) & 0x03) == 0x00, "wrong alignment");
+ (void)Atomic::add(-0x10000, (volatile int*)(dest));
+#endif
+}
+
diff --git a/hotspot/src/share/vm/runtime/atomic.hpp b/hotspot/src/share/vm/runtime/atomic.hpp
index ae40def88d6..3f35c3de22a 100644
--- a/hotspot/src/share/vm/runtime/atomic.hpp
+++ b/hotspot/src/share/vm/runtime/atomic.hpp
@@ -64,11 +64,13 @@ class Atomic : AllStatic {
// Atomically increment location
inline static void inc (volatile jint* dest);
+ static void inc (volatile jshort* dest);
inline static void inc_ptr(volatile intptr_t* dest);
inline static void inc_ptr(volatile void* dest);
// Atomically decrement a location
inline static void dec (volatile jint* dest);
+ static void dec (volatile jshort* dest);
inline static void dec_ptr(volatile intptr_t* dest);
inline static void dec_ptr(volatile void* dest);
@@ -95,4 +97,24 @@ class Atomic : AllStatic {
inline static void* cmpxchg_ptr(void* exchange_value, volatile void* dest, void* compare_value);
};
+// To use Atomic::inc(jshort* dest) and Atomic::dec(jshort* dest), the address must be specially
+// aligned, such that (*dest) occupies the upper 16 bits of an aligned 32-bit word. The best way to
+// achieve is to place your short value next to another short value, which doesn't need atomic ops.
+//
+// Example
+// ATOMIC_SHORT_PAIR(
+// volatile short _refcount, // needs atomic operation
+// unsigned short _length // number of UTF8 characters in the symbol (does not need atomic op)
+// );
+
+#ifdef VM_LITTLE_ENDIAN
+#define ATOMIC_SHORT_PAIR(atomic_decl, non_atomic_decl) \
+ non_atomic_decl; \
+ atomic_decl
+#else
+#define ATOMIC_SHORT_PAIR(atomic_decl, non_atomic_decl) \
+ atomic_decl ; \
+ non_atomic_decl
+#endif
+
#endif // SHARE_VM_RUNTIME_ATOMIC_HPP
diff --git a/hotspot/src/share/vm/runtime/frame.cpp b/hotspot/src/share/vm/runtime/frame.cpp
index e5caf604d98..92af92e92eb 100644
--- a/hotspot/src/share/vm/runtime/frame.cpp
+++ b/hotspot/src/share/vm/runtime/frame.cpp
@@ -387,7 +387,6 @@ void frame::interpreter_frame_set_locals(intptr_t* locs) {
Method* frame::interpreter_frame_method() const {
assert(is_interpreted_frame(), "interpreted frame expected");
Method* m = *interpreter_frame_method_addr();
- assert(m->is_metadata(), "bad Method* in interpreter frame");
assert(m->is_method(), "not a Method*");
return m;
}
@@ -713,7 +712,8 @@ void frame::print_on_error(outputStream* st, char* buf, int buflen, bool verbose
Method* m = ((nmethod *)_cb)->method();
if (m != NULL) {
m->name_and_sig_as_C_string(buf, buflen);
- st->print("J %s", buf);
+ st->print("J %s @ " PTR_FORMAT " [" PTR_FORMAT "+" SIZE_FORMAT "]",
+ buf, _pc, _cb->code_begin(), _pc - _cb->code_begin());
} else {
st->print("J " PTR_FORMAT, pc());
}
diff --git a/hotspot/src/share/vm/runtime/globals.cpp b/hotspot/src/share/vm/runtime/globals.cpp
index 9d0b938fae1..a6c47bfe1de 100644
--- a/hotspot/src/share/vm/runtime/globals.cpp
+++ b/hotspot/src/share/vm/runtime/globals.cpp
@@ -73,12 +73,6 @@ bool Flag::is_unlocked() const {
strcmp(kind, "{C2 diagnostic}") == 0 ||
strcmp(kind, "{ARCH diagnostic}") == 0 ||
strcmp(kind, "{Shark diagnostic}") == 0) {
- if (strcmp(name, "EnableInvokeDynamic") == 0 && UnlockExperimentalVMOptions && !UnlockDiagnosticVMOptions) {
- // transitional logic to allow tests to run until they are changed
- static int warned;
- if (++warned == 1) warning("Use -XX:+UnlockDiagnosticVMOptions before EnableInvokeDynamic flag");
- return true;
- }
return UnlockDiagnosticVMOptions;
} else if (strcmp(kind, "{experimental}") == 0 ||
strcmp(kind, "{C2 experimental}") == 0 ||
@@ -282,14 +276,14 @@ static Flag flagTable[] = {
Flag* Flag::flags = flagTable;
size_t Flag::numFlags = (sizeof(flagTable) / sizeof(Flag));
-inline bool str_equal(const char* s, char* q, size_t len) {
+inline bool str_equal(const char* s, const char* q, size_t len) {
// s is null terminated, q is not!
if (strlen(s) != (unsigned int) len) return false;
return strncmp(s, q, len) == 0;
}
// Search the flag table for a named flag
-Flag* Flag::find_flag(char* name, size_t length, bool allow_locked) {
+Flag* Flag::find_flag(const char* name, size_t length, bool allow_locked) {
for (Flag* current = &flagTable[0]; current->name != NULL; current++) {
if (str_equal(current->name, name, length)) {
// Found a matching entry. Report locked flags only if allowed.
@@ -307,6 +301,52 @@ Flag* Flag::find_flag(char* name, size_t length, bool allow_locked) {
return NULL;
}
+// Compute string similarity based on Dice's coefficient
+static float str_similar(const char* str1, const char* str2, size_t len2) {
+ int len1 = (int) strlen(str1);
+ int total = len1 + (int) len2;
+
+ int hit = 0;
+
+ for (int i = 0; i < len1 -1; ++i) {
+ for (int j = 0; j < (int) len2 -1; ++j) {
+ if ((str1[i] == str2[j]) && (str1[i+1] == str2[j+1])) {
+ ++hit;
+ break;
+ }
+ }
+ }
+
+ return 2.0f * (float) hit / (float) total;
+}
+
+Flag* Flag::fuzzy_match(const char* name, size_t length, bool allow_locked) {
+ float VMOptionsFuzzyMatchSimilarity = 0.7f;
+ Flag* match = NULL;
+ float score;
+ float max_score = -1;
+
+ for (Flag* current = &flagTable[0]; current->name != NULL; current++) {
+ score = str_similar(current->name, name, length);
+ if (score > max_score) {
+ max_score = score;
+ match = current;
+ }
+ }
+
+ if (!(match->is_unlocked() || match->is_unlocker())) {
+ if (!allow_locked) {
+ return NULL;
+ }
+ }
+
+ if (max_score < VMOptionsFuzzyMatchSimilarity) {
+ return NULL;
+ }
+
+ return match;
+}
+
// Returns the address of the index'th element
static Flag* address_of_flag(CommandLineFlagWithType flag) {
assert((size_t)flag < Flag::numFlags, "bad command line flag index");
diff --git a/hotspot/src/share/vm/runtime/globals.hpp b/hotspot/src/share/vm/runtime/globals.hpp
index b1adcf7fce1..d07785d0b61 100644
--- a/hotspot/src/share/vm/runtime/globals.hpp
+++ b/hotspot/src/share/vm/runtime/globals.hpp
@@ -220,7 +220,8 @@ struct Flag {
// number of flags
static size_t numFlags;
- static Flag* find_flag(char* name, size_t length, bool allow_locked = false);
+ static Flag* find_flag(const char* name, size_t length, bool allow_locked = false);
+ static Flag* fuzzy_match(const char* name, size_t length, bool allow_locked = false);
bool is_bool() const { return strcmp(type, "bool") == 0; }
bool get_bool() const { return *((bool*) addr); }
@@ -644,6 +645,9 @@ class CommandLineFlags {
product(bool, UseAESIntrinsics, false, \
"use intrinsics for AES versions of crypto") \
\
+ product(bool, UseCRC32Intrinsics, false, \
+ "use intrinsics for java.util.zip.CRC32") \
+ \
develop(bool, TraceCallFixup, false, \
"traces all call fixups") \
\
@@ -3160,6 +3164,9 @@ class CommandLineFlags {
product_pd(uintx, InitialCodeCacheSize, \
"Initial code cache size (in bytes)") \
\
+ develop_pd(uintx, CodeCacheMinimumUseSpace, \
+ "Minimum code cache size (in bytes) required to start VM.") \
+ \
product_pd(uintx, ReservedCodeCacheSize, \
"Reserved code cache size (in bytes) - maximum code cache size") \
\
diff --git a/hotspot/src/share/vm/runtime/os.cpp b/hotspot/src/share/vm/runtime/os.cpp
index 7775d9410d5..93a60cd06d6 100644
--- a/hotspot/src/share/vm/runtime/os.cpp
+++ b/hotspot/src/share/vm/runtime/os.cpp
@@ -647,10 +647,13 @@ void* os::realloc(void *memblock, size_t size, MEMFLAGS memflags, address caller
#ifndef ASSERT
NOT_PRODUCT(inc_stat_counter(&num_mallocs, 1));
NOT_PRODUCT(inc_stat_counter(&alloc_bytes, size));
+ MemTracker::Tracker tkr = MemTracker::get_realloc_tracker();
void* ptr = ::realloc(memblock, size);
if (ptr != NULL) {
- MemTracker::record_realloc((address)memblock, (address)ptr, size, memflags,
+ tkr.record((address)memblock, (address)ptr, size, memflags,
caller == 0 ? CALLER_PC : caller);
+ } else {
+ tkr.discard();
}
return ptr;
#else
@@ -1456,7 +1459,7 @@ bool os::create_stack_guard_pages(char* addr, size_t bytes) {
char* os::reserve_memory(size_t bytes, char* addr, size_t alignment_hint) {
char* result = pd_reserve_memory(bytes, addr, alignment_hint);
if (result != NULL) {
- MemTracker::record_virtual_memory_reserve((address)result, bytes, CALLER_PC);
+ MemTracker::record_virtual_memory_reserve((address)result, bytes, mtNone, CALLER_PC);
}
return result;
@@ -1466,7 +1469,7 @@ char* os::reserve_memory(size_t bytes, char* addr, size_t alignment_hint,
MEMFLAGS flags) {
char* result = pd_reserve_memory(bytes, addr, alignment_hint);
if (result != NULL) {
- MemTracker::record_virtual_memory_reserve((address)result, bytes, CALLER_PC);
+ MemTracker::record_virtual_memory_reserve((address)result, bytes, mtNone, CALLER_PC);
MemTracker::record_virtual_memory_type((address)result, flags);
}
@@ -1476,7 +1479,7 @@ char* os::reserve_memory(size_t bytes, char* addr, size_t alignment_hint,
char* os::attempt_reserve_memory_at(size_t bytes, char* addr) {
char* result = pd_attempt_reserve_memory_at(bytes, addr);
if (result != NULL) {
- MemTracker::record_virtual_memory_reserve((address)result, bytes, CALLER_PC);
+ MemTracker::record_virtual_memory_reserve((address)result, bytes, mtNone, CALLER_PC);
}
return result;
}
@@ -1503,18 +1506,36 @@ bool os::commit_memory(char* addr, size_t size, size_t alignment_hint,
return res;
}
+void os::commit_memory_or_exit(char* addr, size_t bytes, bool executable,
+ const char* mesg) {
+ pd_commit_memory_or_exit(addr, bytes, executable, mesg);
+ MemTracker::record_virtual_memory_commit((address)addr, bytes, CALLER_PC);
+}
+
+void os::commit_memory_or_exit(char* addr, size_t size, size_t alignment_hint,
+ bool executable, const char* mesg) {
+ os::pd_commit_memory_or_exit(addr, size, alignment_hint, executable, mesg);
+ MemTracker::record_virtual_memory_commit((address)addr, size, CALLER_PC);
+}
+
bool os::uncommit_memory(char* addr, size_t bytes) {
+ MemTracker::Tracker tkr = MemTracker::get_virtual_memory_uncommit_tracker();
bool res = pd_uncommit_memory(addr, bytes);
if (res) {
- MemTracker::record_virtual_memory_uncommit((address)addr, bytes);
+ tkr.record((address)addr, bytes);
+ } else {
+ tkr.discard();
}
return res;
}
bool os::release_memory(char* addr, size_t bytes) {
+ MemTracker::Tracker tkr = MemTracker::get_virtual_memory_release_tracker();
bool res = pd_release_memory(addr, bytes);
if (res) {
- MemTracker::record_virtual_memory_release((address)addr, bytes);
+ tkr.record((address)addr, bytes);
+ } else {
+ tkr.discard();
}
return res;
}
@@ -1525,8 +1546,7 @@ char* os::map_memory(int fd, const char* file_name, size_t file_offset,
bool allow_exec) {
char* result = pd_map_memory(fd, file_name, file_offset, addr, bytes, read_only, allow_exec);
if (result != NULL) {
- MemTracker::record_virtual_memory_reserve((address)result, bytes, CALLER_PC);
- MemTracker::record_virtual_memory_commit((address)result, bytes, CALLER_PC);
+ MemTracker::record_virtual_memory_reserve_and_commit((address)result, bytes, mtNone, CALLER_PC);
}
return result;
}
@@ -1539,10 +1559,12 @@ char* os::remap_memory(int fd, const char* file_name, size_t file_offset,
}
bool os::unmap_memory(char *addr, size_t bytes) {
+ MemTracker::Tracker tkr = MemTracker::get_virtual_memory_release_tracker();
bool result = pd_unmap_memory(addr, bytes);
if (result) {
- MemTracker::record_virtual_memory_uncommit((address)addr, bytes);
- MemTracker::record_virtual_memory_release((address)addr, bytes);
+ tkr.record((address)addr, bytes);
+ } else {
+ tkr.discard();
}
return result;
}
diff --git a/hotspot/src/share/vm/runtime/os.hpp b/hotspot/src/share/vm/runtime/os.hpp
index 3f2554399f4..e1866919df4 100644
--- a/hotspot/src/share/vm/runtime/os.hpp
+++ b/hotspot/src/share/vm/runtime/os.hpp
@@ -78,6 +78,10 @@ enum ThreadPriority { // JLS 20.20.1-3
CriticalPriority = 11 // Critical thread priority
};
+// Executable parameter flag for os::commit_memory() and
+// os::commit_memory_or_exit().
+const bool ExecMem = true;
+
// Typedef for structured exception handling support
typedef void (*java_call_t)(JavaValue* value, methodHandle* method, JavaCallArguments* args, Thread* thread);
@@ -104,9 +108,16 @@ class os: AllStatic {
static char* pd_attempt_reserve_memory_at(size_t bytes, char* addr);
static void pd_split_reserved_memory(char *base, size_t size,
size_t split, bool realloc);
- static bool pd_commit_memory(char* addr, size_t bytes, bool executable = false);
+ static bool pd_commit_memory(char* addr, size_t bytes, bool executable);
static bool pd_commit_memory(char* addr, size_t size, size_t alignment_hint,
- bool executable = false);
+ bool executable);
+ // Same as pd_commit_memory() that either succeeds or calls
+ // vm_exit_out_of_memory() with the specified mesg.
+ static void pd_commit_memory_or_exit(char* addr, size_t bytes,
+ bool executable, const char* mesg);
+ static void pd_commit_memory_or_exit(char* addr, size_t size,
+ size_t alignment_hint,
+ bool executable, const char* mesg);
static bool pd_uncommit_memory(char* addr, size_t bytes);
static bool pd_release_memory(char* addr, size_t bytes);
@@ -261,9 +272,16 @@ class os: AllStatic {
static char* attempt_reserve_memory_at(size_t bytes, char* addr);
static void split_reserved_memory(char *base, size_t size,
size_t split, bool realloc);
- static bool commit_memory(char* addr, size_t bytes, bool executable = false);
+ static bool commit_memory(char* addr, size_t bytes, bool executable);
static bool commit_memory(char* addr, size_t size, size_t alignment_hint,
- bool executable = false);
+ bool executable);
+ // Same as commit_memory() that either succeeds or calls
+ // vm_exit_out_of_memory() with the specified mesg.
+ static void commit_memory_or_exit(char* addr, size_t bytes,
+ bool executable, const char* mesg);
+ static void commit_memory_or_exit(char* addr, size_t size,
+ size_t alignment_hint,
+ bool executable, const char* mesg);
static bool uncommit_memory(char* addr, size_t bytes);
static bool release_memory(char* addr, size_t bytes);
diff --git a/hotspot/src/share/vm/runtime/reflection.cpp b/hotspot/src/share/vm/runtime/reflection.cpp
index 15869cc5c0e..f06a7f922aa 100644
--- a/hotspot/src/share/vm/runtime/reflection.cpp
+++ b/hotspot/src/share/vm/runtime/reflection.cpp
@@ -458,7 +458,7 @@ bool Reflection::verify_class_access(Klass* current_class, Klass* new_class, boo
// doesn't have a classloader.
if ((current_class == NULL) ||
(current_class == new_class) ||
- (InstanceKlass::cast(new_class)->is_public()) ||
+ (new_class->is_public()) ||
is_same_class_package(current_class, new_class)) {
return true;
}
diff --git a/hotspot/src/share/vm/runtime/sharedRuntime.cpp b/hotspot/src/share/vm/runtime/sharedRuntime.cpp
index fe55e8b0e6b..874f5939146 100644
--- a/hotspot/src/share/vm/runtime/sharedRuntime.cpp
+++ b/hotspot/src/share/vm/runtime/sharedRuntime.cpp
@@ -813,8 +813,11 @@ address SharedRuntime::continuation_for_implicit_exception(JavaThread* thread,
// 3. Implict null exception in nmethod
if (!cb->is_nmethod()) {
- guarantee(cb->is_adapter_blob() || cb->is_method_handles_adapter_blob(),
- "exception happened outside interpreter, nmethods and vtable stubs (1)");
+ bool is_in_blob = cb->is_adapter_blob() || cb->is_method_handles_adapter_blob();
+ if (!is_in_blob) {
+ cb->print();
+ fatal(err_msg("exception happened outside interpreter, nmethods and vtable stubs at pc " INTPTR_FORMAT, pc));
+ }
Events::log_exception(thread, "NullPointerException in code blob at " INTPTR_FORMAT, pc);
// There is no handler here, so we will simply unwind.
return StubRoutines::throw_NullPointerException_at_call_entry();
@@ -2731,7 +2734,7 @@ VMRegPair *SharedRuntime::find_callee_arguments(Symbol* sig, bool has_receiver,
// ResourceObject, so do not put any ResourceMarks in here.
char *s = sig->as_C_string();
int len = (int)strlen(s);
- *s++; len--; // Skip opening paren
+ s++; len--; // Skip opening paren
char *t = s+len;
while( *(--t) != ')' ) ; // Find close paren
diff --git a/hotspot/src/share/vm/runtime/stubRoutines.cpp b/hotspot/src/share/vm/runtime/stubRoutines.cpp
index c559865b821..a1179acd543 100644
--- a/hotspot/src/share/vm/runtime/stubRoutines.cpp
+++ b/hotspot/src/share/vm/runtime/stubRoutines.cpp
@@ -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
@@ -125,6 +125,9 @@ address StubRoutines::_aescrypt_decryptBlock = NULL;
address StubRoutines::_cipherBlockChaining_encryptAESCrypt = NULL;
address StubRoutines::_cipherBlockChaining_decryptAESCrypt = NULL;
+address StubRoutines::_updateBytesCRC32 = NULL;
+address StubRoutines::_crc_table_adr = NULL;
+
double (* StubRoutines::_intrinsic_log )(double) = NULL;
double (* StubRoutines::_intrinsic_log10 )(double) = NULL;
double (* StubRoutines::_intrinsic_exp )(double) = NULL;
diff --git a/hotspot/src/share/vm/runtime/stubRoutines.hpp b/hotspot/src/share/vm/runtime/stubRoutines.hpp
index 7ad66371300..b8d61ea0cbf 100644
--- a/hotspot/src/share/vm/runtime/stubRoutines.hpp
+++ b/hotspot/src/share/vm/runtime/stubRoutines.hpp
@@ -204,6 +204,9 @@ class StubRoutines: AllStatic {
static address _cipherBlockChaining_encryptAESCrypt;
static address _cipherBlockChaining_decryptAESCrypt;
+ static address _updateBytesCRC32;
+ static address _crc_table_adr;
+
// These are versions of the java.lang.Math methods which perform
// the same operations as the intrinsic version. They are used for
// constant folding in the compiler to ensure equivalence. If the
@@ -342,6 +345,9 @@ class StubRoutines: AllStatic {
static address cipherBlockChaining_encryptAESCrypt() { return _cipherBlockChaining_encryptAESCrypt; }
static address cipherBlockChaining_decryptAESCrypt() { return _cipherBlockChaining_decryptAESCrypt; }
+ static address updateBytesCRC32() { return _updateBytesCRC32; }
+ static address crc_table_addr() { return _crc_table_adr; }
+
static address select_fill_function(BasicType t, bool aligned, const char* &name);
static address zero_aligned_words() { return _zero_aligned_words; }
diff --git a/hotspot/src/share/vm/runtime/thread.cpp b/hotspot/src/share/vm/runtime/thread.cpp
index 79642c2e4a9..eb2e256b1a0 100644
--- a/hotspot/src/share/vm/runtime/thread.cpp
+++ b/hotspot/src/share/vm/runtime/thread.cpp
@@ -220,7 +220,7 @@ Thread::Thread() {
set_osthread(NULL);
set_resource_area(new (mtThread)ResourceArea());
set_handle_area(new (mtThread) HandleArea(NULL));
- set_metadata_handles(new (ResourceObj::C_HEAP, mtClass) GrowableArray(300, true));
+ set_metadata_handles(new (ResourceObj::C_HEAP, mtClass) GrowableArray(30, true));
set_active_handles(NULL);
set_free_handle_block(NULL);
set_last_handle_mark(NULL);
diff --git a/hotspot/src/share/vm/runtime/virtualspace.cpp b/hotspot/src/share/vm/runtime/virtualspace.cpp
index ba68e887e17..9096a034cef 100644
--- a/hotspot/src/share/vm/runtime/virtualspace.cpp
+++ b/hotspot/src/share/vm/runtime/virtualspace.cpp
@@ -533,11 +533,13 @@ bool VirtualSpace::expand_by(size_t bytes, bool pre_touch) {
lower_high() + lower_needs <= lower_high_boundary(),
"must not expand beyond region");
if (!os::commit_memory(lower_high(), lower_needs, _executable)) {
- debug_only(warning("os::commit_memory failed"));
+ debug_only(warning("INFO: os::commit_memory(" PTR_FORMAT
+ ", lower_needs=" SIZE_FORMAT ", %d) failed",
+ lower_high(), lower_needs, _executable);)
return false;
} else {
_lower_high += lower_needs;
- }
+ }
}
if (middle_needs > 0) {
assert(lower_high_boundary() <= middle_high() &&
@@ -545,7 +547,10 @@ bool VirtualSpace::expand_by(size_t bytes, bool pre_touch) {
"must not expand beyond region");
if (!os::commit_memory(middle_high(), middle_needs, middle_alignment(),
_executable)) {
- debug_only(warning("os::commit_memory failed"));
+ debug_only(warning("INFO: os::commit_memory(" PTR_FORMAT
+ ", middle_needs=" SIZE_FORMAT ", " SIZE_FORMAT
+ ", %d) failed", middle_high(), middle_needs,
+ middle_alignment(), _executable);)
return false;
}
_middle_high += middle_needs;
@@ -555,7 +560,9 @@ bool VirtualSpace::expand_by(size_t bytes, bool pre_touch) {
upper_high() + upper_needs <= upper_high_boundary(),
"must not expand beyond region");
if (!os::commit_memory(upper_high(), upper_needs, _executable)) {
- debug_only(warning("os::commit_memory failed"));
+ debug_only(warning("INFO: os::commit_memory(" PTR_FORMAT
+ ", upper_needs=" SIZE_FORMAT ", %d) failed",
+ upper_high(), upper_needs, _executable);)
return false;
} else {
_upper_high += upper_needs;
diff --git a/hotspot/src/share/vm/runtime/vmStructs.cpp b/hotspot/src/share/vm/runtime/vmStructs.cpp
index dff270f1631..94b24eec8ea 100644
--- a/hotspot/src/share/vm/runtime/vmStructs.cpp
+++ b/hotspot/src/share/vm/runtime/vmStructs.cpp
@@ -379,7 +379,7 @@ typedef BinaryTreeDictionary MetablockTreeDictionary;
nonstatic_field(ConstMethod, _size_of_parameters, u2) \
nonstatic_field(ObjArrayKlass, _element_klass, Klass*) \
nonstatic_field(ObjArrayKlass, _bottom_klass, Klass*) \
- volatile_nonstatic_field(Symbol, _refcount, int) \
+ volatile_nonstatic_field(Symbol, _refcount, short) \
nonstatic_field(Symbol, _identity_hash, int) \
nonstatic_field(Symbol, _length, unsigned short) \
unchecked_nonstatic_field(Symbol, _body, sizeof(jbyte)) /* NOTE: no type */ \
@@ -437,10 +437,6 @@ typedef BinaryTreeDictionary MetablockTreeDictionary;
static_field(Universe, _main_thread_group, oop) \
static_field(Universe, _system_thread_group, oop) \
static_field(Universe, _the_empty_class_klass_array, objArrayOop) \
- static_field(Universe, _out_of_memory_error_java_heap, oop) \
- static_field(Universe, _out_of_memory_error_perm_gen, oop) \
- static_field(Universe, _out_of_memory_error_array_size, oop) \
- static_field(Universe, _out_of_memory_error_gc_overhead_limit, oop) \
static_field(Universe, _null_ptr_exception_instance, oop) \
static_field(Universe, _arithmetic_exception_instance, oop) \
static_field(Universe, _vm_exception, oop) \
diff --git a/hotspot/src/share/vm/services/diagnosticArgument.cpp b/hotspot/src/share/vm/services/diagnosticArgument.cpp
index e3e14053270..0a1c20d8a2c 100644
--- a/hotspot/src/share/vm/services/diagnosticArgument.cpp
+++ b/hotspot/src/share/vm/services/diagnosticArgument.cpp
@@ -247,7 +247,7 @@ template <> void DCmdArgument::init_value(TRAPS) {
} else {
_value._time = 0;
_value._nanotime = 0;
- strcmp(_value._unit, "ns");
+ strcpy(_value._unit, "ns");
}
}
diff --git a/hotspot/src/share/vm/services/management.cpp b/hotspot/src/share/vm/services/management.cpp
index 872d19829a3..0808ebd0acd 100644
--- a/hotspot/src/share/vm/services/management.cpp
+++ b/hotspot/src/share/vm/services/management.cpp
@@ -894,12 +894,6 @@ JVM_ENTRY(jobject, jmm_GetMemoryUsage(JNIEnv* env, jboolean heap))
}
}
- // In our current implementation, we make sure that all non-heap
- // pools have defined init and max sizes. Heap pools do not matter,
- // as we never use total_init and total_max for them.
- assert(heap || !has_undefined_init_size, "Undefined init size");
- assert(heap || !has_undefined_max_size, "Undefined max size");
-
MemoryUsage usage((heap ? InitialHeapSize : total_init),
total_used,
total_committed,
diff --git a/hotspot/src/share/vm/services/memBaseline.cpp b/hotspot/src/share/vm/services/memBaseline.cpp
index c2d04106c8b..21eb8b5d422 100644
--- a/hotspot/src/share/vm/services/memBaseline.cpp
+++ b/hotspot/src/share/vm/services/memBaseline.cpp
@@ -130,7 +130,7 @@ bool MemBaseline::baseline_malloc_summary(const MemPointerArray* malloc_records)
if (malloc_ptr->is_arena_record()) {
// see if arena memory record present
MemPointerRecord* next_malloc_ptr = (MemPointerRecordEx*)malloc_itr.peek_next();
- if (next_malloc_ptr->is_arena_memory_record()) {
+ if (next_malloc_ptr != NULL && next_malloc_ptr->is_arena_memory_record()) {
assert(next_malloc_ptr->is_memory_record_of_arena(malloc_ptr),
"Arena records do not match");
size = next_malloc_ptr->size();
diff --git a/hotspot/src/share/vm/services/memPtr.hpp b/hotspot/src/share/vm/services/memPtr.hpp
index d98ca80c457..c54f0934a94 100644
--- a/hotspot/src/share/vm/services/memPtr.hpp
+++ b/hotspot/src/share/vm/services/memPtr.hpp
@@ -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
@@ -457,9 +457,8 @@ class SeqMemPointerRecord : public MemPointerRecord {
public:
SeqMemPointerRecord(): _seq(0){ }
- SeqMemPointerRecord(address addr, MEMFLAGS flags, size_t size)
- : MemPointerRecord(addr, flags, size) {
- _seq = SequenceGenerator::next();
+ SeqMemPointerRecord(address addr, MEMFLAGS flags, size_t size, jint seq)
+ : MemPointerRecord(addr, flags, size), _seq(seq) {
}
SeqMemPointerRecord(const SeqMemPointerRecord& copy_from)
@@ -488,8 +487,8 @@ class SeqMemPointerRecordEx : public MemPointerRecordEx {
SeqMemPointerRecordEx(): _seq(0) { }
SeqMemPointerRecordEx(address addr, MEMFLAGS flags, size_t size,
- address pc): MemPointerRecordEx(addr, flags, size, pc) {
- _seq = SequenceGenerator::next();
+ jint seq, address pc):
+ MemPointerRecordEx(addr, flags, size, pc), _seq(seq) {
}
SeqMemPointerRecordEx(const SeqMemPointerRecordEx& copy_from)
diff --git a/hotspot/src/share/vm/services/memRecorder.cpp b/hotspot/src/share/vm/services/memRecorder.cpp
index 776ad223c00..afe7bd245df 100644
--- a/hotspot/src/share/vm/services/memRecorder.cpp
+++ b/hotspot/src/share/vm/services/memRecorder.cpp
@@ -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
@@ -69,10 +69,11 @@ MemRecorder::MemRecorder() {
if (_pointer_records != NULL) {
// recode itself
+ address pc = CURRENT_PC;
record((address)this, (MemPointerRecord::malloc_tag()|mtNMT|otNMTRecorder),
- sizeof(MemRecorder), CALLER_PC);
+ sizeof(MemRecorder), SequenceGenerator::next(), pc);
record((address)_pointer_records, (MemPointerRecord::malloc_tag()|mtNMT|otNMTRecorder),
- _pointer_records->instance_size(),CURRENT_PC);
+ _pointer_records->instance_size(), SequenceGenerator::next(), pc);
}
}
@@ -116,7 +117,8 @@ int MemRecorder::sort_record_fn(const void* e1, const void* e2) {
}
}
-bool MemRecorder::record(address p, MEMFLAGS flags, size_t size, address pc) {
+bool MemRecorder::record(address p, MEMFLAGS flags, size_t size, jint seq, address pc) {
+ assert(seq > 0, "No sequence number");
#ifdef ASSERT
if (MemPointerRecord::is_virtual_memory_record(flags)) {
assert((flags & MemPointerRecord::tag_masks) != 0, "bad virtual memory record");
@@ -133,11 +135,11 @@ bool MemRecorder::record(address p, MEMFLAGS flags, size_t size, address pc) {
#endif
if (MemTracker::track_callsite()) {
- SeqMemPointerRecordEx ap(p, flags, size, pc);
+ SeqMemPointerRecordEx ap(p, flags, size, seq, pc);
debug_only(check_dup_seq(ap.seq());)
return _pointer_records->append(&ap);
} else {
- SeqMemPointerRecord ap(p, flags, size);
+ SeqMemPointerRecord ap(p, flags, size, seq);
debug_only(check_dup_seq(ap.seq());)
return _pointer_records->append(&ap);
}
diff --git a/hotspot/src/share/vm/services/memRecorder.hpp b/hotspot/src/share/vm/services/memRecorder.hpp
index 9d6bf2b7e0b..c52fad72eae 100644
--- a/hotspot/src/share/vm/services/memRecorder.hpp
+++ b/hotspot/src/share/vm/services/memRecorder.hpp
@@ -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
@@ -220,7 +220,7 @@ class MemRecorder : public CHeapObj {
~MemRecorder();
// record a memory operation
- bool record(address addr, MEMFLAGS flags, size_t size, address caller_pc = 0);
+ bool record(address addr, MEMFLAGS flags, size_t size, jint seq, address caller_pc = 0);
// linked list support
inline void set_next(MemRecorder* rec) {
diff --git a/hotspot/src/share/vm/services/memReporter.cpp b/hotspot/src/share/vm/services/memReporter.cpp
index 0311675f349..9d0f45ada36 100644
--- a/hotspot/src/share/vm/services/memReporter.cpp
+++ b/hotspot/src/share/vm/services/memReporter.cpp
@@ -188,30 +188,51 @@ void BaselineReporter::diff_callsites(const MemBaseline& cur, const MemBaseline&
(MallocCallsitePointer*)prev_malloc_itr.current();
while (cur_malloc_callsite != NULL || prev_malloc_callsite != NULL) {
- if (prev_malloc_callsite == NULL ||
- cur_malloc_callsite->addr() < prev_malloc_callsite->addr()) {
+ if (prev_malloc_callsite == NULL) {
+ assert(cur_malloc_callsite != NULL, "sanity check");
+ // this is a new callsite
_outputer.diff_malloc_callsite(cur_malloc_callsite->addr(),
amount_in_current_scale(cur_malloc_callsite->amount()),
cur_malloc_callsite->count(),
diff_in_current_scale(cur_malloc_callsite->amount(), 0),
diff(cur_malloc_callsite->count(), 0));
cur_malloc_callsite = (MallocCallsitePointer*)cur_malloc_itr.next();
- } else if (prev_malloc_callsite == NULL ||
- cur_malloc_callsite->addr() > prev_malloc_callsite->addr()) {
- _outputer.diff_malloc_callsite(cur_malloc_callsite->addr(),
- amount_in_current_scale(prev_malloc_callsite->amount()),
- prev_malloc_callsite->count(),
+ } else if (cur_malloc_callsite == NULL) {
+ assert(prev_malloc_callsite != NULL, "Sanity check");
+ // this callsite is already gone
+ _outputer.diff_malloc_callsite(prev_malloc_callsite->addr(),
+ 0, 0,
diff_in_current_scale(0, prev_malloc_callsite->amount()),
diff(0, prev_malloc_callsite->count()));
prev_malloc_callsite = (MallocCallsitePointer*)prev_malloc_itr.next();
- } else { // the same callsite
- _outputer.diff_malloc_callsite(cur_malloc_callsite->addr(),
- amount_in_current_scale(cur_malloc_callsite->amount()),
- cur_malloc_callsite->count(),
- diff_in_current_scale(cur_malloc_callsite->amount(), prev_malloc_callsite->amount()),
- diff(cur_malloc_callsite->count(), prev_malloc_callsite->count()));
- cur_malloc_callsite = (MallocCallsitePointer*)cur_malloc_itr.next();
- prev_malloc_callsite = (MallocCallsitePointer*)prev_malloc_itr.next();
+ } else {
+ assert(cur_malloc_callsite != NULL, "Sanity check");
+ assert(prev_malloc_callsite != NULL, "Sanity check");
+ if (cur_malloc_callsite->addr() < prev_malloc_callsite->addr()) {
+ // this is a new callsite
+ _outputer.diff_malloc_callsite(cur_malloc_callsite->addr(),
+ amount_in_current_scale(cur_malloc_callsite->amount()),
+ cur_malloc_callsite->count(),
+ diff_in_current_scale(cur_malloc_callsite->amount(), 0),
+ diff(cur_malloc_callsite->count(), 0));
+ cur_malloc_callsite = (MallocCallsitePointer*)cur_malloc_itr.next();
+ } else if (cur_malloc_callsite->addr() > prev_malloc_callsite->addr()) {
+ // this callsite is already gone
+ _outputer.diff_malloc_callsite(prev_malloc_callsite->addr(),
+ 0, 0,
+ diff_in_current_scale(0, prev_malloc_callsite->amount()),
+ diff(0, prev_malloc_callsite->count()));
+ prev_malloc_callsite = (MallocCallsitePointer*)prev_malloc_itr.next();
+ } else {
+ // the same callsite
+ _outputer.diff_malloc_callsite(cur_malloc_callsite->addr(),
+ amount_in_current_scale(cur_malloc_callsite->amount()),
+ cur_malloc_callsite->count(),
+ diff_in_current_scale(cur_malloc_callsite->amount(), prev_malloc_callsite->amount()),
+ diff(cur_malloc_callsite->count(), prev_malloc_callsite->count()));
+ cur_malloc_callsite = (MallocCallsitePointer*)cur_malloc_itr.next();
+ prev_malloc_callsite = (MallocCallsitePointer*)prev_malloc_itr.next();
+ }
}
}
@@ -222,6 +243,7 @@ void BaselineReporter::diff_callsites(const MemBaseline& cur, const MemBaseline&
VMCallsitePointer* prev_vm_callsite = (VMCallsitePointer*)prev_vm_itr.current();
while (cur_vm_callsite != NULL || prev_vm_callsite != NULL) {
if (prev_vm_callsite == NULL || cur_vm_callsite->addr() < prev_vm_callsite->addr()) {
+ // this is a new callsite
_outputer.diff_virtual_memory_callsite(cur_vm_callsite->addr(),
amount_in_current_scale(cur_vm_callsite->reserved_amount()),
amount_in_current_scale(cur_vm_callsite->committed_amount()),
@@ -229,9 +251,10 @@ void BaselineReporter::diff_callsites(const MemBaseline& cur, const MemBaseline&
diff_in_current_scale(cur_vm_callsite->committed_amount(), 0));
cur_vm_callsite = (VMCallsitePointer*)cur_vm_itr.next();
} else if (cur_vm_callsite == NULL || cur_vm_callsite->addr() > prev_vm_callsite->addr()) {
+ // this callsite is already gone
_outputer.diff_virtual_memory_callsite(prev_vm_callsite->addr(),
- amount_in_current_scale(prev_vm_callsite->reserved_amount()),
- amount_in_current_scale(prev_vm_callsite->committed_amount()),
+ amount_in_current_scale(0),
+ amount_in_current_scale(0),
diff_in_current_scale(0, prev_vm_callsite->reserved_amount()),
diff_in_current_scale(0, prev_vm_callsite->committed_amount()));
prev_vm_callsite = (VMCallsitePointer*)prev_vm_itr.next();
diff --git a/hotspot/src/share/vm/services/memTracker.cpp b/hotspot/src/share/vm/services/memTracker.cpp
index 0e6f7c42e57..e0a1b29a8e9 100644
--- a/hotspot/src/share/vm/services/memTracker.cpp
+++ b/hotspot/src/share/vm/services/memTracker.cpp
@@ -69,6 +69,7 @@ int MemTracker::_thread_count = 255;
volatile jint MemTracker::_pooled_recorder_count = 0;
volatile unsigned long MemTracker::_processing_generation = 0;
volatile bool MemTracker::_worker_thread_idle = false;
+volatile jint MemTracker::_pending_op_count = 0;
volatile bool MemTracker::_slowdown_calling_thread = false;
debug_only(intx MemTracker::_main_thread_tid = 0;)
NOT_PRODUCT(volatile jint MemTracker::_pending_recorder_count = 0;)
@@ -337,92 +338,14 @@ void MemTracker::release_thread_recorder(MemRecorder* rec) {
Atomic::inc(&_pooled_recorder_count);
}
-/*
- * This is the most important method in whole nmt implementation.
- *
- * Create a memory record.
- * 1. When nmt is in single-threaded bootstrapping mode, no lock is needed as VM
- * still in single thread mode.
- * 2. For all threads other than JavaThread, ThreadCritical is needed
- * to write to recorders to global recorder.
- * 3. For JavaThreads that are not longer visible by safepoint, also
- * need to take ThreadCritical and records are written to global
- * recorders, since these threads are NOT walked by Threads.do_thread().
- * 4. JavaThreads that are running in native state, have to transition
- * to VM state before writing to per-thread recorders.
- * 5. JavaThreads that are running in VM state do not need any lock and
- * records are written to per-thread recorders.
- * 6. For a thread has yet to attach VM 'Thread', they need to take
- * ThreadCritical to write to global recorder.
- *
- * Important note:
- * NO LOCK should be taken inside ThreadCritical lock !!!
- */
-void MemTracker::create_memory_record(address addr, MEMFLAGS flags,
- size_t size, address pc, Thread* thread) {
- assert(addr != NULL, "Sanity check");
- if (!shutdown_in_progress()) {
- // single thread, we just write records direct to global recorder,'
- // with any lock
- if (_state == NMT_bootstrapping_single_thread) {
- assert(_main_thread_tid == os::current_thread_id(), "wrong thread");
- thread = NULL;
- } else {
- if (thread == NULL) {
- // don't use Thread::current(), since it is possible that
- // the calling thread has yet to attach to VM 'Thread',
- // which will result assertion failure
- thread = ThreadLocalStorage::thread();
- }
- }
-
- if (thread != NULL) {
- // slow down all calling threads except NMT worker thread, so it
- // can catch up.
- if (_slowdown_calling_thread && thread != _worker_thread) {
- os::yield_all();
- }
-
- if (thread->is_Java_thread() && ((JavaThread*)thread)->is_safepoint_visible()) {
- JavaThread* java_thread = (JavaThread*)thread;
- JavaThreadState state = java_thread->thread_state();
- if (SafepointSynchronize::safepoint_safe(java_thread, state)) {
- // JavaThreads that are safepoint safe, can run through safepoint,
- // so ThreadCritical is needed to ensure no threads at safepoint create
- // new records while the records are being gathered and the sequence number is changing
- ThreadCritical tc;
- create_record_in_recorder(addr, flags, size, pc, java_thread);
- } else {
- create_record_in_recorder(addr, flags, size, pc, java_thread);
- }
- } else {
- // other threads, such as worker and watcher threads, etc. need to
- // take ThreadCritical to write to global recorder
- ThreadCritical tc;
- create_record_in_recorder(addr, flags, size, pc, NULL);
- }
- } else {
- if (_state == NMT_bootstrapping_single_thread) {
- // single thread, no lock needed
- create_record_in_recorder(addr, flags, size, pc, NULL);
- } else {
- // for thread has yet to attach VM 'Thread', we can not use VM mutex.
- // use native thread critical instead
- ThreadCritical tc;
- create_record_in_recorder(addr, flags, size, pc, NULL);
- }
- }
- }
-}
-
// write a record to proper recorder. No lock can be taken from this method
// down.
-void MemTracker::create_record_in_recorder(address addr, MEMFLAGS flags,
- size_t size, address pc, JavaThread* thread) {
+void MemTracker::write_tracking_record(address addr, MEMFLAGS flags,
+ size_t size, jint seq, address pc, JavaThread* thread) {
MemRecorder* rc = get_thread_recorder(thread);
if (rc != NULL) {
- rc->record(addr, flags, size, pc);
+ rc->record(addr, flags, size, seq, pc);
}
}
@@ -487,39 +410,43 @@ void MemTracker::sync() {
return;
}
}
- _sync_point_skip_count = 0;
{
// This method is running at safepoint, with ThreadCritical lock,
// it should guarantee that NMT is fully sync-ed.
ThreadCritical tc;
- SequenceGenerator::reset();
+ // We can NOT execute NMT sync-point if there are pending tracking ops.
+ if (_pending_op_count == 0) {
+ SequenceGenerator::reset();
+ _sync_point_skip_count = 0;
- // walk all JavaThreads to collect recorders
- SyncThreadRecorderClosure stc;
- Threads::threads_do(&stc);
+ // walk all JavaThreads to collect recorders
+ SyncThreadRecorderClosure stc;
+ Threads::threads_do(&stc);
- _thread_count = stc.get_thread_count();
- MemRecorder* pending_recorders = get_pending_recorders();
+ _thread_count = stc.get_thread_count();
+ MemRecorder* pending_recorders = get_pending_recorders();
- if (_global_recorder != NULL) {
- _global_recorder->set_next(pending_recorders);
- pending_recorders = _global_recorder;
- _global_recorder = NULL;
+ if (_global_recorder != NULL) {
+ _global_recorder->set_next(pending_recorders);
+ pending_recorders = _global_recorder;
+ _global_recorder = NULL;
+ }
+
+ // see if NMT has too many outstanding recorder instances, it usually
+ // means that worker thread is lagging behind in processing them.
+ if (!AutoShutdownNMT) {
+ _slowdown_calling_thread = (MemRecorder::_instance_count > MAX_RECORDER_THREAD_RATIO * _thread_count);
+ }
+
+ // check _worker_thread with lock to avoid racing condition
+ if (_worker_thread != NULL) {
+ _worker_thread->at_sync_point(pending_recorders, InstanceKlass::number_of_instance_classes());
+ }
+ assert(SequenceGenerator::peek() == 1, "Should not have memory activities during sync-point");
+ } else {
+ _sync_point_skip_count ++;
}
-
- // see if NMT has too many outstanding recorder instances, it usually
- // means that worker thread is lagging behind in processing them.
- if (!AutoShutdownNMT) {
- _slowdown_calling_thread = (MemRecorder::_instance_count > MAX_RECORDER_THREAD_RATIO * _thread_count);
- }
-
- // check _worker_thread with lock to avoid racing condition
- if (_worker_thread != NULL) {
- _worker_thread->at_sync_point(pending_recorders, InstanceKlass::number_of_instance_classes());
- }
-
- assert(SequenceGenerator::peek() == 1, "Should not have memory activities during sync-point");
}
}
@@ -708,3 +635,243 @@ void MemTracker::print_tracker_stats(outputStream* st) {
}
#endif
+
+// Tracker Implementation
+
+/*
+ * Create a tracker.
+ * This is a fairly complicated constructor, as it has to make two important decisions:
+ * 1) Does it need to take ThreadCritical lock to write tracking record
+ * 2) Does it need to pre-reserve a sequence number for the tracking record
+ *
+ * The rules to determine if ThreadCritical is needed:
+ * 1. When nmt is in single-threaded bootstrapping mode, no lock is needed as VM
+ * still in single thread mode.
+ * 2. For all threads other than JavaThread, ThreadCritical is needed
+ * to write to recorders to global recorder.
+ * 3. For JavaThreads that are no longer visible by safepoint, also
+ * need to take ThreadCritical and records are written to global
+ * recorders, since these threads are NOT walked by Threads.do_thread().
+ * 4. JavaThreads that are running in safepoint-safe states do not stop
+ * for safepoints, ThreadCritical lock should be taken to write
+ * memory records.
+ * 5. JavaThreads that are running in VM state do not need any lock and
+ * records are written to per-thread recorders.
+ * 6. For a thread has yet to attach VM 'Thread', they need to take
+ * ThreadCritical to write to global recorder.
+ *
+ * The memory operations that need pre-reserve sequence numbers:
+ * The memory operations that "release" memory blocks and the
+ * operations can fail, need to pre-reserve sequence number. They
+ * are realloc, uncommit and release.
+ *
+ * The reason for pre-reserve sequence number, is to prevent race condition:
+ * Thread 1 Thread 2
+ *
+ *
+ *
+ *
+ * if Thread 2 happens to obtain the memory address Thread 1 just released,
+ * then NMT can mistakenly report the memory is free.
+ *
+ * Noticeably, free() does not need pre-reserve sequence number, because the call
+ * does not fail, so we can alway write "release" record before the memory is actaully
+ * freed.
+ *
+ * For realloc, uncommit and release, following coding pattern should be used:
+ *
+ * MemTracker::Tracker tkr = MemTracker::get_realloc_tracker();
+ * ptr = ::realloc(...);
+ * if (ptr == NULL) {
+ * tkr.record(...)
+ * } else {
+ * tkr.discard();
+ * }
+ *
+ * MemTracker::Tracker tkr = MemTracker::get_virtual_memory_uncommit_tracker();
+ * if (uncommit(...)) {
+ * tkr.record(...);
+ * } else {
+ * tkr.discard();
+ * }
+ *
+ * MemTracker::Tracker tkr = MemTracker::get_virtual_memory_release_tracker();
+ * if (release(...)) {
+ * tkr.record(...);
+ * } else {
+ * tkr.discard();
+ * }
+ *
+ * Since pre-reserved sequence number is only good for the generation that it is acquired,
+ * when there is pending Tracker that reserved sequence number, NMT sync-point has
+ * to be skipped to prevent from advancing generation. This is done by inc and dec
+ * MemTracker::_pending_op_count, when MemTracker::_pending_op_count > 0, NMT sync-point is skipped.
+ * Not all pre-reservation of sequence number will increment pending op count. For JavaThreads
+ * that honor safepoints, safepoint can not occur during the memory operations, so the
+ * pre-reserved sequence number won't cross the generation boundry.
+ */
+MemTracker::Tracker::Tracker(MemoryOperation op, Thread* thr) {
+ _op = NoOp;
+ _seq = 0;
+ if (MemTracker::is_on()) {
+ _java_thread = NULL;
+ _op = op;
+
+ // figure out if ThreadCritical lock is needed to write this operation
+ // to MemTracker
+ if (MemTracker::is_single_threaded_bootstrap()) {
+ thr = NULL;
+ } else if (thr == NULL) {
+ // don't use Thread::current(), since it is possible that
+ // the calling thread has yet to attach to VM 'Thread',
+ // which will result assertion failure
+ thr = ThreadLocalStorage::thread();
+ }
+
+ if (thr != NULL) {
+ // Check NMT load
+ MemTracker::check_NMT_load(thr);
+
+ if (thr->is_Java_thread() && ((JavaThread*)thr)->is_safepoint_visible()) {
+ _java_thread = (JavaThread*)thr;
+ JavaThreadState state = _java_thread->thread_state();
+ // JavaThreads that are safepoint safe, can run through safepoint,
+ // so ThreadCritical is needed to ensure no threads at safepoint create
+ // new records while the records are being gathered and the sequence number is changing
+ _need_thread_critical_lock =
+ SafepointSynchronize::safepoint_safe(_java_thread, state);
+ } else {
+ _need_thread_critical_lock = true;
+ }
+ } else {
+ _need_thread_critical_lock
+ = !MemTracker::is_single_threaded_bootstrap();
+ }
+
+ // see if we need to pre-reserve sequence number for this operation
+ if (_op == Realloc || _op == Uncommit || _op == Release) {
+ if (_need_thread_critical_lock) {
+ ThreadCritical tc;
+ MemTracker::inc_pending_op_count();
+ _seq = SequenceGenerator::next();
+ } else {
+ // for the threads that honor safepoints, no safepoint can occur
+ // during the lifespan of tracker, so we don't need to increase
+ // pending op count.
+ _seq = SequenceGenerator::next();
+ }
+ }
+ }
+}
+
+void MemTracker::Tracker::discard() {
+ if (MemTracker::is_on() && _seq != 0) {
+ if (_need_thread_critical_lock) {
+ ThreadCritical tc;
+ MemTracker::dec_pending_op_count();
+ }
+ _seq = 0;
+ }
+}
+
+
+void MemTracker::Tracker::record(address old_addr, address new_addr, size_t size,
+ MEMFLAGS flags, address pc) {
+ assert(old_addr != NULL && new_addr != NULL, "Sanity check");
+ assert(_op == Realloc || _op == NoOp, "Wrong call");
+ if (MemTracker::is_on() && NMT_CAN_TRACK(flags) && _op != NoOp) {
+ assert(_seq > 0, "Need pre-reserve sequence number");
+ if (_need_thread_critical_lock) {
+ ThreadCritical tc;
+ // free old address, use pre-reserved sequence number
+ MemTracker::write_tracking_record(old_addr, MemPointerRecord::free_tag(),
+ 0, _seq, pc, _java_thread);
+ MemTracker::write_tracking_record(new_addr, flags | MemPointerRecord::malloc_tag(),
+ size, SequenceGenerator::next(), pc, _java_thread);
+ // decrement MemTracker pending_op_count
+ MemTracker::dec_pending_op_count();
+ } else {
+ // free old address, use pre-reserved sequence number
+ MemTracker::write_tracking_record(old_addr, MemPointerRecord::free_tag(),
+ 0, _seq, pc, _java_thread);
+ MemTracker::write_tracking_record(new_addr, flags | MemPointerRecord::malloc_tag(),
+ size, SequenceGenerator::next(), pc, _java_thread);
+ }
+ _seq = 0;
+ }
+}
+
+void MemTracker::Tracker::record(address addr, size_t size, MEMFLAGS flags, address pc) {
+ // OOM already?
+ if (addr == NULL) return;
+
+ if (MemTracker::is_on() && NMT_CAN_TRACK(flags) && _op != NoOp) {
+ bool pre_reserved_seq = (_seq != 0);
+ address pc = CALLER_CALLER_PC;
+ MEMFLAGS orig_flags = flags;
+
+ // or the tagging flags
+ switch(_op) {
+ case Malloc:
+ flags |= MemPointerRecord::malloc_tag();
+ break;
+ case Free:
+ flags = MemPointerRecord::free_tag();
+ break;
+ case Realloc:
+ fatal("Use the other Tracker::record()");
+ break;
+ case Reserve:
+ case ReserveAndCommit:
+ flags |= MemPointerRecord::virtual_memory_reserve_tag();
+ break;
+ case Commit:
+ flags = MemPointerRecord::virtual_memory_commit_tag();
+ break;
+ case Type:
+ flags |= MemPointerRecord::virtual_memory_type_tag();
+ break;
+ case Uncommit:
+ assert(pre_reserved_seq, "Need pre-reserve sequence number");
+ flags = MemPointerRecord::virtual_memory_uncommit_tag();
+ break;
+ case Release:
+ assert(pre_reserved_seq, "Need pre-reserve sequence number");
+ flags = MemPointerRecord::virtual_memory_release_tag();
+ break;
+ case ArenaSize:
+ // a bit of hack here, add a small postive offset to arena
+ // address for its size record, so the size record is sorted
+ // right after arena record.
+ flags = MemPointerRecord::arena_size_tag();
+ addr += sizeof(void*);
+ break;
+ case StackRelease:
+ flags = MemPointerRecord::virtual_memory_release_tag();
+ break;
+ default:
+ ShouldNotReachHere();
+ }
+
+ // write memory tracking record
+ if (_need_thread_critical_lock) {
+ ThreadCritical tc;
+ if (_seq == 0) _seq = SequenceGenerator::next();
+ MemTracker::write_tracking_record(addr, flags, size, _seq, pc, _java_thread);
+ if (_op == ReserveAndCommit) {
+ MemTracker::write_tracking_record(addr, orig_flags | MemPointerRecord::virtual_memory_commit_tag(),
+ size, SequenceGenerator::next(), pc, _java_thread);
+ }
+ if (pre_reserved_seq) MemTracker::dec_pending_op_count();
+ } else {
+ if (_seq == 0) _seq = SequenceGenerator::next();
+ MemTracker::write_tracking_record(addr, flags, size, _seq, pc, _java_thread);
+ if (_op == ReserveAndCommit) {
+ MemTracker::write_tracking_record(addr, orig_flags | MemPointerRecord::virtual_memory_commit_tag(),
+ size, SequenceGenerator::next(), pc, _java_thread);
+ }
+ }
+ _seq = 0;
+ }
+}
+
diff --git a/hotspot/src/share/vm/services/memTracker.hpp b/hotspot/src/share/vm/services/memTracker.hpp
index a7d06755288..dc7b78859d3 100644
--- a/hotspot/src/share/vm/services/memTracker.hpp
+++ b/hotspot/src/share/vm/services/memTracker.hpp
@@ -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
@@ -54,6 +54,18 @@ class MemTracker : AllStatic {
NMT_sequence_overflow // overflow the sequence number
};
+ class Tracker {
+ public:
+ void discard() { }
+
+ void record(address addr, size_t size = 0, MEMFLAGS flags = mtNone, address pc = NULL) { }
+ void record(address old_addr, address new_addr, size_t size,
+ MEMFLAGS flags, address pc = NULL) { }
+ };
+
+ private:
+ static Tracker _tkr;
+
public:
static inline void init_tracking_options(const char* option_line) { }
@@ -68,19 +80,18 @@ class MemTracker : AllStatic {
static inline void record_malloc(address addr, size_t size, MEMFLAGS flags,
address pc = 0, Thread* thread = NULL) { }
static inline void record_free(address addr, MEMFLAGS flags, Thread* thread = NULL) { }
- static inline void record_realloc(address old_addr, address new_addr, size_t size,
- MEMFLAGS flags, address pc = 0, Thread* thread = NULL) { }
static inline void record_arena_size(address addr, size_t size) { }
static inline void record_virtual_memory_reserve(address addr, size_t size,
- address pc = 0, Thread* thread = NULL) { }
+ MEMFLAGS flags, address pc = 0, Thread* thread = NULL) { }
+ static inline void record_virtual_memory_reserve_and_commit(address addr, size_t size,
+ MEMFLAGS flags, address pc = 0, Thread* thread = NULL) { }
static inline void record_virtual_memory_commit(address addr, size_t size,
address pc = 0, Thread* thread = NULL) { }
- static inline void record_virtual_memory_uncommit(address addr, size_t size,
- Thread* thread = NULL) { }
- static inline void record_virtual_memory_release(address addr, size_t size,
- Thread* thread = NULL) { }
static inline void record_virtual_memory_type(address base, MEMFLAGS flags,
Thread* thread = NULL) { }
+ static inline Tracker get_realloc_tracker() { return _tkr; }
+ static inline Tracker get_virtual_memory_uncommit_tracker() { return _tkr; }
+ static inline Tracker get_virtual_memory_release_tracker() { return _tkr; }
static inline bool baseline() { return false; }
static inline bool has_baseline() { return false; }
@@ -164,6 +175,45 @@ class MemTracker : AllStatic {
NMT_shutdown // shutdown
};
+ public:
+ class Tracker : public StackObj {
+ friend class MemTracker;
+ public:
+ enum MemoryOperation {
+ NoOp, // no op
+ Malloc, // malloc
+ Realloc, // realloc
+ Free, // free
+ Reserve, // virtual memory reserve
+ Commit, // virtual memory commit
+ ReserveAndCommit, // virtual memory reserve and commit
+ StackAlloc = ReserveAndCommit, // allocate thread stack
+ Type, // assign virtual memory type
+ Uncommit, // virtual memory uncommit
+ Release, // virtual memory release
+ ArenaSize, // set arena size
+ StackRelease // release thread stack
+ };
+
+
+ protected:
+ Tracker(MemoryOperation op, Thread* thr = NULL);
+
+ public:
+ void discard();
+
+ void record(address addr, size_t size = 0, MEMFLAGS flags = mtNone, address pc = NULL);
+ void record(address old_addr, address new_addr, size_t size,
+ MEMFLAGS flags, address pc = NULL);
+
+ private:
+ bool _need_thread_critical_lock;
+ JavaThread* _java_thread;
+ MemoryOperation _op; // memory operation
+ jint _seq; // reserved sequence number
+ };
+
+
public:
// native memory tracking level
enum NMTLevel {
@@ -276,109 +326,74 @@ class MemTracker : AllStatic {
// record a 'malloc' call
static inline void record_malloc(address addr, size_t size, MEMFLAGS flags,
address pc = 0, Thread* thread = NULL) {
- if (is_on() && NMT_CAN_TRACK(flags)) {
- assert(size > 0, "Sanity check");
- create_memory_record(addr, (flags|MemPointerRecord::malloc_tag()), size, pc, thread);
- }
+ Tracker tkr(Tracker::Malloc, thread);
+ tkr.record(addr, size, flags, pc);
}
// record a 'free' call
static inline void record_free(address addr, MEMFLAGS flags, Thread* thread = NULL) {
- if (is_on() && NMT_CAN_TRACK(flags)) {
- create_memory_record(addr, MemPointerRecord::free_tag(), 0, 0, thread);
- }
- }
- // record a 'realloc' call
- static inline void record_realloc(address old_addr, address new_addr, size_t size,
- MEMFLAGS flags, address pc = 0, Thread* thread = NULL) {
- if (is_on() && NMT_CAN_TRACK(flags)) {
- assert(size > 0, "Sanity check");
- record_free(old_addr, flags, thread);
- record_malloc(new_addr, size, flags, pc, thread);
- }
+ Tracker tkr(Tracker::Free, thread);
+ tkr.record(addr, 0, flags, DEBUG_CALLER_PC);
}
- // record arena memory size
static inline void record_arena_size(address addr, size_t size) {
- // we add a positive offset to arena address, so we can have arena memory record
- // sorted after arena record
- if (is_on() && !UseMallocOnly) {
- assert(addr != NULL, "Sanity check");
- create_memory_record((addr + sizeof(void*)), MemPointerRecord::arena_size_tag(), size,
- DEBUG_CALLER_PC, NULL);
- }
+ Tracker tkr(Tracker::ArenaSize);
+ tkr.record(addr, size);
}
// record a virtual memory 'reserve' call
static inline void record_virtual_memory_reserve(address addr, size_t size,
- address pc = 0, Thread* thread = NULL) {
- if (is_on()) {
- assert(size > 0, "Sanity check");
- create_memory_record(addr, MemPointerRecord::virtual_memory_reserve_tag(),
- size, pc, thread);
- }
+ MEMFLAGS flags, address pc = 0, Thread* thread = NULL) {
+ assert(size > 0, "Sanity check");
+ Tracker tkr(Tracker::Reserve, thread);
+ tkr.record(addr, size, flags, pc);
}
static inline void record_thread_stack(address addr, size_t size, Thread* thr,
address pc = 0) {
- if (is_on()) {
- assert(size > 0 && thr != NULL, "Sanity check");
- create_memory_record(addr, MemPointerRecord::virtual_memory_reserve_tag() | mtThreadStack,
- size, pc, thr);
- create_memory_record(addr, MemPointerRecord::virtual_memory_commit_tag() | mtThreadStack,
- size, pc, thr);
- }
+ Tracker tkr(Tracker::StackAlloc, thr);
+ tkr.record(addr, size, mtThreadStack, pc);
}
static inline void release_thread_stack(address addr, size_t size, Thread* thr) {
- if (is_on()) {
- assert(size > 0 && thr != NULL, "Sanity check");
- assert(!thr->is_Java_thread(), "too early");
- create_memory_record(addr, MemPointerRecord::virtual_memory_uncommit_tag() | mtThreadStack,
- size, DEBUG_CALLER_PC, thr);
- create_memory_record(addr, MemPointerRecord::virtual_memory_release_tag() | mtThreadStack,
- size, DEBUG_CALLER_PC, thr);
- }
+ Tracker tkr(Tracker::StackRelease, thr);
+ tkr.record(addr, size, mtThreadStack, DEBUG_CALLER_PC);
}
// record a virtual memory 'commit' call
static inline void record_virtual_memory_commit(address addr, size_t size,
address pc, Thread* thread = NULL) {
- if (is_on()) {
- assert(size > 0, "Sanity check");
- create_memory_record(addr, MemPointerRecord::virtual_memory_commit_tag(),
- size, pc, thread);
- }
+ Tracker tkr(Tracker::Commit, thread);
+ tkr.record(addr, size, mtNone, pc);
}
- // record a virtual memory 'uncommit' call
- static inline void record_virtual_memory_uncommit(address addr, size_t size,
- Thread* thread = NULL) {
- if (is_on()) {
- assert(size > 0, "Sanity check");
- create_memory_record(addr, MemPointerRecord::virtual_memory_uncommit_tag(),
- size, DEBUG_CALLER_PC, thread);
- }
+ static inline void record_virtual_memory_reserve_and_commit(address addr, size_t size,
+ MEMFLAGS flags, address pc, Thread* thread = NULL) {
+ Tracker tkr(Tracker::ReserveAndCommit, thread);
+ tkr.record(addr, size, flags, pc);
}
- // record a virtual memory 'release' call
- static inline void record_virtual_memory_release(address addr, size_t size,
- Thread* thread = NULL) {
- if (is_on()) {
- assert(size > 0, "Sanity check");
- create_memory_record(addr, MemPointerRecord::virtual_memory_release_tag(),
- size, DEBUG_CALLER_PC, thread);
- }
- }
// record memory type on virtual memory base address
static inline void record_virtual_memory_type(address base, MEMFLAGS flags,
Thread* thread = NULL) {
- if (is_on()) {
- assert(base > 0, "wrong base address");
- assert((flags & (~mt_masks)) == 0, "memory type only");
- create_memory_record(base, (flags | MemPointerRecord::virtual_memory_type_tag()),
- 0, DEBUG_CALLER_PC, thread);
- }
+ Tracker tkr(Tracker::Type);
+ tkr.record(base, 0, flags);
+ }
+
+ // Get memory trackers for memory operations that can result race conditions.
+ // The memory tracker has to be obtained before realloc, virtual memory uncommit
+ // and virtual memory release, and call tracker.record() method if operation
+ // succeeded, or tracker.discard() to abort the tracking.
+ static inline Tracker get_realloc_tracker() {
+ return Tracker(Tracker::Realloc);
+ }
+
+ static inline Tracker get_virtual_memory_uncommit_tracker() {
+ return Tracker(Tracker::Uncommit);
+ }
+
+ static inline Tracker get_virtual_memory_release_tracker() {
+ return Tracker(Tracker::Release);
}
@@ -444,6 +459,31 @@ class MemTracker : AllStatic {
static MemRecorder* get_pending_recorders();
static void delete_all_pending_recorders();
+ // write a memory tracking record in recorder
+ static void write_tracking_record(address addr, MEMFLAGS type,
+ size_t size, jint seq, address pc, JavaThread* thread);
+
+ static bool is_single_threaded_bootstrap() {
+ return _state == NMT_bootstrapping_single_thread;
+ }
+
+ static void check_NMT_load(Thread* thr) {
+ assert(thr != NULL, "Sanity check");
+ if (_slowdown_calling_thread && thr != _worker_thread) {
+ os::yield_all();
+ }
+ }
+
+ static void inc_pending_op_count() {
+ Atomic::inc(&_pending_op_count);
+ }
+
+ static void dec_pending_op_count() {
+ Atomic::dec(&_pending_op_count);
+ assert(_pending_op_count >= 0, "Sanity check");
+ }
+
+
private:
// retrieve a pooled memory record or create new one if there is not
// one available
@@ -522,6 +562,12 @@ class MemTracker : AllStatic {
// if NMT should slow down calling thread to allow
// worker thread to catch up
static volatile bool _slowdown_calling_thread;
+
+ // pending memory op count.
+ // Certain memory ops need to pre-reserve sequence number
+ // before memory operation can happen to avoid race condition.
+ // See MemTracker::Tracker for detail
+ static volatile jint _pending_op_count;
};
#endif // !INCLUDE_NMT
diff --git a/hotspot/src/share/vm/services/memoryManager.cpp b/hotspot/src/share/vm/services/memoryManager.cpp
index 3996d2163c8..d5e54f5ff15 100644
--- a/hotspot/src/share/vm/services/memoryManager.cpp
+++ b/hotspot/src/share/vm/services/memoryManager.cpp
@@ -61,6 +61,10 @@ MemoryManager* MemoryManager::get_code_cache_memory_manager() {
return (MemoryManager*) new CodeCacheMemoryManager();
}
+MemoryManager* MemoryManager::get_metaspace_memory_manager() {
+ return (MemoryManager*) new MetaspaceMemoryManager();
+}
+
GCMemoryManager* MemoryManager::get_copy_memory_manager() {
return (GCMemoryManager*) new CopyMemoryManager();
}
diff --git a/hotspot/src/share/vm/services/memoryManager.hpp b/hotspot/src/share/vm/services/memoryManager.hpp
index 370d830e977..99bd6d47d67 100644
--- a/hotspot/src/share/vm/services/memoryManager.hpp
+++ b/hotspot/src/share/vm/services/memoryManager.hpp
@@ -56,6 +56,7 @@ public:
enum Name {
Abstract,
CodeCache,
+ Metaspace,
Copy,
MarkSweepCompact,
ParNew,
@@ -88,6 +89,7 @@ public:
// Static factory methods to get a memory manager of a specific type
static MemoryManager* get_code_cache_memory_manager();
+ static MemoryManager* get_metaspace_memory_manager();
static GCMemoryManager* get_copy_memory_manager();
static GCMemoryManager* get_msc_memory_manager();
static GCMemoryManager* get_parnew_memory_manager();
@@ -108,6 +110,14 @@ public:
const char* name() { return "CodeCacheManager"; }
};
+class MetaspaceMemoryManager : public MemoryManager {
+public:
+ MetaspaceMemoryManager() : MemoryManager() {}
+
+ MemoryManager::Name kind() { return MemoryManager::Metaspace; }
+ const char *name() { return "Metaspace Manager"; }
+};
+
class GCStatInfo : public ResourceObj {
private:
size_t _index;
diff --git a/hotspot/src/share/vm/services/memoryPool.cpp b/hotspot/src/share/vm/services/memoryPool.cpp
index e2895b1f816..b28e14bb500 100644
--- a/hotspot/src/share/vm/services/memoryPool.cpp
+++ b/hotspot/src/share/vm/services/memoryPool.cpp
@@ -25,6 +25,7 @@
#include "precompiled.hpp"
#include "classfile/systemDictionary.hpp"
#include "classfile/vmSymbols.hpp"
+#include "memory/metaspace.hpp"
#include "oops/oop.inline.hpp"
#include "runtime/handles.inline.hpp"
#include "runtime/javaCalls.hpp"
@@ -33,6 +34,7 @@
#include "services/memoryManager.hpp"
#include "services/memoryPool.hpp"
#include "utilities/macros.hpp"
+#include "utilities/globalDefinitions.hpp"
MemoryPool::MemoryPool(const char* name,
PoolType type,
@@ -256,3 +258,39 @@ MemoryUsage CodeHeapPool::get_memory_usage() {
return MemoryUsage(initial_size(), used, committed, maxSize);
}
+
+MetaspacePool::MetaspacePool() :
+ MemoryPool("Metaspace", NonHeap, capacity_in_bytes(), calculate_max_size(), true, false) { }
+
+MemoryUsage MetaspacePool::get_memory_usage() {
+ size_t committed = align_size_down_(capacity_in_bytes(), os::vm_page_size());
+ return MemoryUsage(initial_size(), used_in_bytes(), committed, max_size());
+}
+
+size_t MetaspacePool::used_in_bytes() {
+ return MetaspaceAux::allocated_used_bytes(Metaspace::NonClassType);
+}
+
+size_t MetaspacePool::capacity_in_bytes() const {
+ return MetaspaceAux::allocated_capacity_bytes(Metaspace::NonClassType);
+}
+
+size_t MetaspacePool::calculate_max_size() const {
+ return FLAG_IS_CMDLINE(MaxMetaspaceSize) ? MaxMetaspaceSize : max_uintx;
+}
+
+CompressedKlassSpacePool::CompressedKlassSpacePool() :
+ MemoryPool("Compressed Class Space", NonHeap, capacity_in_bytes(), ClassMetaspaceSize, true, false) { }
+
+size_t CompressedKlassSpacePool::used_in_bytes() {
+ return MetaspaceAux::allocated_used_bytes(Metaspace::ClassType);
+}
+
+size_t CompressedKlassSpacePool::capacity_in_bytes() const {
+ return MetaspaceAux::allocated_capacity_bytes(Metaspace::ClassType);
+}
+
+MemoryUsage CompressedKlassSpacePool::get_memory_usage() {
+ size_t committed = align_size_down_(capacity_in_bytes(), os::vm_page_size());
+ return MemoryUsage(initial_size(), used_in_bytes(), committed, max_size());
+}
diff --git a/hotspot/src/share/vm/services/memoryPool.hpp b/hotspot/src/share/vm/services/memoryPool.hpp
index 82606185340..08efe08e838 100644
--- a/hotspot/src/share/vm/services/memoryPool.hpp
+++ b/hotspot/src/share/vm/services/memoryPool.hpp
@@ -222,4 +222,21 @@ public:
size_t used_in_bytes() { return _codeHeap->allocated_capacity(); }
};
+class MetaspacePool : public MemoryPool {
+ size_t calculate_max_size() const;
+ size_t capacity_in_bytes() const;
+ public:
+ MetaspacePool();
+ MemoryUsage get_memory_usage();
+ size_t used_in_bytes();
+};
+
+class CompressedKlassSpacePool : public MemoryPool {
+ size_t capacity_in_bytes() const;
+ public:
+ CompressedKlassSpacePool();
+ MemoryUsage get_memory_usage();
+ size_t used_in_bytes();
+};
+
#endif // SHARE_VM_SERVICES_MEMORYPOOL_HPP
diff --git a/hotspot/src/share/vm/services/memoryService.cpp b/hotspot/src/share/vm/services/memoryService.cpp
index 75693dbcf69..bf0fb9cad24 100644
--- a/hotspot/src/share/vm/services/memoryService.cpp
+++ b/hotspot/src/share/vm/services/memoryService.cpp
@@ -35,6 +35,7 @@
#include "memory/memRegion.hpp"
#include "memory/tenuredGeneration.hpp"
#include "oops/oop.inline.hpp"
+#include "runtime/globals.hpp"
#include "runtime/javaCalls.hpp"
#include "services/classLoadingService.hpp"
#include "services/lowMemoryDetector.hpp"
@@ -60,9 +61,11 @@ GrowableArray* MemoryService::_pools_list =
GrowableArray* MemoryService::_managers_list =
new (ResourceObj::C_HEAP, mtInternal) GrowableArray(init_managers_list_size, true);
-GCMemoryManager* MemoryService::_minor_gc_manager = NULL;
-GCMemoryManager* MemoryService::_major_gc_manager = NULL;
-MemoryPool* MemoryService::_code_heap_pool = NULL;
+GCMemoryManager* MemoryService::_minor_gc_manager = NULL;
+GCMemoryManager* MemoryService::_major_gc_manager = NULL;
+MemoryPool* MemoryService::_code_heap_pool = NULL;
+MemoryPool* MemoryService::_metaspace_pool = NULL;
+MemoryPool* MemoryService::_compressed_class_pool = NULL;
class GcThreadCountClosure: public ThreadClosure {
private:
@@ -399,6 +402,22 @@ void MemoryService::add_code_heap_memory_pool(CodeHeap* heap) {
_managers_list->append(mgr);
}
+void MemoryService::add_metaspace_memory_pools() {
+ MemoryManager* mgr = MemoryManager::get_metaspace_memory_manager();
+
+ _metaspace_pool = new MetaspacePool();
+ mgr->add_pool(_metaspace_pool);
+ _pools_list->append(_metaspace_pool);
+
+ if (UseCompressedKlassPointers) {
+ _compressed_class_pool = new CompressedKlassSpacePool();
+ mgr->add_pool(_compressed_class_pool);
+ _pools_list->append(_compressed_class_pool);
+ }
+
+ _managers_list->append(mgr);
+}
+
MemoryManager* MemoryService::get_memory_manager(instanceHandle mh) {
for (int i = 0; i < _managers_list->length(); i++) {
MemoryManager* mgr = _managers_list->at(i);
diff --git a/hotspot/src/share/vm/services/memoryService.hpp b/hotspot/src/share/vm/services/memoryService.hpp
index 44cf62ea3cb..8ae6994bf44 100644
--- a/hotspot/src/share/vm/services/memoryService.hpp
+++ b/hotspot/src/share/vm/services/memoryService.hpp
@@ -73,6 +73,9 @@ private:
// Code heap memory pool
static MemoryPool* _code_heap_pool;
+ static MemoryPool* _metaspace_pool;
+ static MemoryPool* _compressed_class_pool;
+
static void add_generation_memory_pool(Generation* gen,
MemoryManager* major_mgr,
MemoryManager* minor_mgr);
@@ -121,6 +124,7 @@ private:
public:
static void set_universe_heap(CollectedHeap* heap);
static void add_code_heap_memory_pool(CodeHeap* heap);
+ static void add_metaspace_memory_pools();
static MemoryPool* get_memory_pool(instanceHandle pool);
static MemoryManager* get_memory_manager(instanceHandle mgr);
diff --git a/hotspot/src/share/vm/services/threadService.cpp b/hotspot/src/share/vm/services/threadService.cpp
index 03289c7e9ac..222ae383cd1 100644
--- a/hotspot/src/share/vm/services/threadService.cpp
+++ b/hotspot/src/share/vm/services/threadService.cpp
@@ -327,27 +327,30 @@ DeadlockCycle* ThreadService::find_deadlocks_at_safepoint(bool concurrent_locks)
while (waitingToLockMonitor != NULL || waitingToLockBlocker != NULL) {
cycle->add_thread(currentThread);
if (waitingToLockMonitor != NULL) {
- currentThread = Threads::owning_thread_from_monitor_owner(
- (address)waitingToLockMonitor->owner(),
- false /* no locking needed */);
- if (currentThread == NULL) {
- // This function is called at a safepoint so the JavaThread
- // that owns waitingToLockMonitor should be findable, but
- // if it is not findable, then the previous currentThread is
- // blocked permanently. We record this as a deadlock.
- num_deadlocks++;
+ address currentOwner = (address)waitingToLockMonitor->owner();
+ if (currentOwner != NULL) {
+ currentThread = Threads::owning_thread_from_monitor_owner(
+ currentOwner,
+ false /* no locking needed */);
+ if (currentThread == NULL) {
+ // This function is called at a safepoint so the JavaThread
+ // that owns waitingToLockMonitor should be findable, but
+ // if it is not findable, then the previous currentThread is
+ // blocked permanently. We record this as a deadlock.
+ num_deadlocks++;
- cycle->set_deadlock(true);
+ cycle->set_deadlock(true);
- // add this cycle to the deadlocks list
- if (deadlocks == NULL) {
- deadlocks = cycle;
- } else {
- last->set_next(cycle);
+ // add this cycle to the deadlocks list
+ if (deadlocks == NULL) {
+ deadlocks = cycle;
+ } else {
+ last->set_next(cycle);
+ }
+ last = cycle;
+ cycle = new DeadlockCycle();
+ break;
}
- last = cycle;
- cycle = new DeadlockCycle();
- break;
}
} else {
if (concurrent_locks) {
diff --git a/hotspot/src/share/vm/shark/sharkBuilder.cpp b/hotspot/src/share/vm/shark/sharkBuilder.cpp
index f9c22bd1696..8e83dd18ec8 100644
--- a/hotspot/src/share/vm/shark/sharkBuilder.cpp
+++ b/hotspot/src/share/vm/shark/sharkBuilder.cpp
@@ -471,7 +471,7 @@ Value* SharkBuilder::CreateInlineOop(jobject object, const char* name) {
Value* SharkBuilder::CreateInlineMetadata(Metadata* metadata, llvm::PointerType* type, const char* name) {
assert(metadata != NULL, "inlined metadata must not be NULL");
- assert(metadata->is_metadata(), "sanity check");
+ assert(metadata->is_metaspace_object(), "sanity check");
return CreateLoad(
CreateIntToPtr(
code_buffer_address(code_buffer()->inline_Metadata(metadata)),
diff --git a/hotspot/src/share/vm/trace/trace.xml b/hotspot/src/share/vm/trace/trace.xml
index c530bbc3c16..6b1d9a8850f 100644
--- a/hotspot/src/share/vm/trace/trace.xml
+++ b/hotspot/src/share/vm/trace/trace.xml
@@ -158,7 +158,7 @@ Declares a structure type that can be used in other events.
-
+
@@ -203,7 +203,7 @@ Declares a structure type that can be used in other events.
-
+
@@ -211,7 +211,7 @@ Declares a structure type that can be used in other events.
-
+
@@ -240,14 +240,14 @@ Declares a structure type that can be used in other events.
-
+
-
+
-
+
diff --git a/hotspot/src/share/vm/utilities/bitMap.cpp b/hotspot/src/share/vm/utilities/bitMap.cpp
index 152b40d39c1..01825d30225 100644
--- a/hotspot/src/share/vm/utilities/bitMap.cpp
+++ b/hotspot/src/share/vm/utilities/bitMap.cpp
@@ -41,7 +41,7 @@
BitMap::BitMap(bm_word_t* map, idx_t size_in_bits) :
- _map(map), _size(size_in_bits)
+ _map(map), _size(size_in_bits), _map_allocator(false)
{
assert(sizeof(bm_word_t) == BytesPerWord, "Implementation assumption.");
assert(size_in_bits >= 0, "just checking");
@@ -49,7 +49,7 @@ BitMap::BitMap(bm_word_t* map, idx_t size_in_bits) :
BitMap::BitMap(idx_t size_in_bits, bool in_resource_area) :
- _map(NULL), _size(0)
+ _map(NULL), _size(0), _map_allocator(false)
{
assert(sizeof(bm_word_t) == BytesPerWord, "Implementation assumption.");
resize(size_in_bits, in_resource_area);
@@ -65,8 +65,10 @@ void BitMap::resize(idx_t size_in_bits, bool in_resource_area) {
if (in_resource_area) {
_map = NEW_RESOURCE_ARRAY(bm_word_t, new_size_in_words);
} else {
- if (old_map != NULL) FREE_C_HEAP_ARRAY(bm_word_t, _map, mtInternal);
- _map = NEW_C_HEAP_ARRAY(bm_word_t, new_size_in_words, mtInternal);
+ if (old_map != NULL) {
+ _map_allocator.free();
+ }
+ _map = _map_allocator.allocate(new_size_in_words);
}
Copy::disjoint_words((HeapWord*)old_map, (HeapWord*) _map,
MIN2(old_size_in_words, new_size_in_words));
diff --git a/hotspot/src/share/vm/utilities/bitMap.hpp b/hotspot/src/share/vm/utilities/bitMap.hpp
index 2486533ab86..c4cac118b33 100644
--- a/hotspot/src/share/vm/utilities/bitMap.hpp
+++ b/hotspot/src/share/vm/utilities/bitMap.hpp
@@ -48,6 +48,7 @@ class BitMap VALUE_OBJ_CLASS_SPEC {
} RangeSizeHint;
private:
+ ArrayAllocator _map_allocator;
bm_word_t* _map; // First word in bitmap
idx_t _size; // Size of bitmap (in bits)
@@ -113,7 +114,7 @@ class BitMap VALUE_OBJ_CLASS_SPEC {
public:
// Constructs a bitmap with no map, and size 0.
- BitMap() : _map(NULL), _size(0) {}
+ BitMap() : _map(NULL), _size(0), _map_allocator(false) {}
// Constructs a bitmap with the given map and size.
BitMap(bm_word_t* map, idx_t size_in_bits);
diff --git a/hotspot/src/share/vm/utilities/exceptions.hpp b/hotspot/src/share/vm/utilities/exceptions.hpp
index 089cd3e0811..32c6f35d8a5 100644
--- a/hotspot/src/share/vm/utilities/exceptions.hpp
+++ b/hotspot/src/share/vm/utilities/exceptions.hpp
@@ -194,15 +194,15 @@ class Exceptions {
#define HAS_PENDING_EXCEPTION (((ThreadShadow*)THREAD)->has_pending_exception())
#define CLEAR_PENDING_EXCEPTION (((ThreadShadow*)THREAD)->clear_pending_exception())
-#define CHECK THREAD); if (HAS_PENDING_EXCEPTION) return ; (0
-#define CHECK_(result) THREAD); if (HAS_PENDING_EXCEPTION) return result; (0
+#define CHECK THREAD); if (HAS_PENDING_EXCEPTION) return ; (void)(0
+#define CHECK_(result) THREAD); if (HAS_PENDING_EXCEPTION) return result; (void)(0
#define CHECK_0 CHECK_(0)
#define CHECK_NH CHECK_(Handle())
#define CHECK_NULL CHECK_(NULL)
#define CHECK_false CHECK_(false)
-#define CHECK_AND_CLEAR THREAD); if (HAS_PENDING_EXCEPTION) { CLEAR_PENDING_EXCEPTION; return; } (0
-#define CHECK_AND_CLEAR_(result) THREAD); if (HAS_PENDING_EXCEPTION) { CLEAR_PENDING_EXCEPTION; return result; } (0
+#define CHECK_AND_CLEAR THREAD); if (HAS_PENDING_EXCEPTION) { CLEAR_PENDING_EXCEPTION; return; } (void)(0
+#define CHECK_AND_CLEAR_(result) THREAD); if (HAS_PENDING_EXCEPTION) { CLEAR_PENDING_EXCEPTION; return result; } (void)(0
#define CHECK_AND_CLEAR_0 CHECK_AND_CLEAR_(0)
#define CHECK_AND_CLEAR_NH CHECK_AND_CLEAR_(Handle())
#define CHECK_AND_CLEAR_NULL CHECK_AND_CLEAR_(NULL)
@@ -282,7 +282,7 @@ class Exceptions {
CLEAR_PENDING_EXCEPTION; \
ex->print(); \
ShouldNotReachHere(); \
- } (0
+ } (void)(0
// ExceptionMark is a stack-allocated helper class for local exception handling.
// It is used with the EXCEPTION_MARK macro.
diff --git a/hotspot/src/share/vm/utilities/taskqueue.hpp b/hotspot/src/share/vm/utilities/taskqueue.hpp
index 980b7e973e0..aea96c8581c 100644
--- a/hotspot/src/share/vm/utilities/taskqueue.hpp
+++ b/hotspot/src/share/vm/utilities/taskqueue.hpp
@@ -340,8 +340,12 @@ bool GenericTaskQueue::push_slow(E t, uint dirty_n_elems) {
if (dirty_n_elems == N - 1) {
// Actually means 0, so do the push.
uint localBot = _bottom;
- // g++ complains if the volatile result of the assignment is unused.
- const_cast(_elems[localBot] = t);
+ // g++ complains if the volatile result of the assignment is
+ // unused, so we cast the volatile away. We cannot cast directly
+ // to void, because gcc treats that as not using the result of the
+ // assignment. However, casting to E& means that we trigger an
+ // unused-value warning. So, we cast the E& to void.
+ (void)const_cast(_elems[localBot] = t);
OrderAccess::release_store(&_bottom, increment_index(localBot));
TASKQUEUE_STATS_ONLY(stats.record_push());
return true;
@@ -397,7 +401,12 @@ bool GenericTaskQueue::pop_global(E& t) {
return false;
}
- const_cast(t = _elems[oldAge.top()]);
+ // g++ complains if the volatile result of the assignment is
+ // unused, so we cast the volatile away. We cannot cast directly
+ // to void, because gcc treats that as not using the result of the
+ // assignment. However, casting to E& means that we trigger an
+ // unused-value warning. So, we cast the E& to void.
+ (void) const_cast(t = _elems[oldAge.top()]);
Age newAge(oldAge);
newAge.increment();
Age resAge = _age.cmpxchg(newAge, oldAge);
@@ -640,8 +649,12 @@ GenericTaskQueue::push(E t) {
uint dirty_n_elems = dirty_size(localBot, top);
assert(dirty_n_elems < N, "n_elems out of range.");
if (dirty_n_elems < max_elems()) {
- // g++ complains if the volatile result of the assignment is unused.
- const_cast(_elems[localBot] = t);
+ // g++ complains if the volatile result of the assignment is
+ // unused, so we cast the volatile away. We cannot cast directly
+ // to void, because gcc treats that as not using the result of the
+ // assignment. However, casting to E& means that we trigger an
+ // unused-value warning. So, we cast the E& to void.
+ (void) const_cast(_elems[localBot] = t);
OrderAccess::release_store(&_bottom, increment_index(localBot));
TASKQUEUE_STATS_ONLY(stats.record_push());
return true;
@@ -665,7 +678,12 @@ GenericTaskQueue::pop_local(E& t) {
// This is necessary to prevent any read below from being reordered
// before the store just above.
OrderAccess::fence();
- const_cast(t = _elems[localBot]);
+ // g++ complains if the volatile result of the assignment is
+ // unused, so we cast the volatile away. We cannot cast directly
+ // to void, because gcc treats that as not using the result of the
+ // assignment. However, casting to E& means that we trigger an
+ // unused-value warning. So, we cast the E& to void.
+ (void) const_cast(t = _elems[localBot]);
// This is a second read of "age"; the "size()" above is the first.
// If there's still at least one element in the queue, based on the
// "_bottom" and "age" we've read, then there can be no interference with
diff --git a/hotspot/src/share/vm/utilities/vmError.cpp b/hotspot/src/share/vm/utilities/vmError.cpp
index f7b940b52e7..64f753bc75c 100644
--- a/hotspot/src/share/vm/utilities/vmError.cpp
+++ b/hotspot/src/share/vm/utilities/vmError.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -799,6 +799,14 @@ void VMError::report(outputStream* st) {
VMError* volatile VMError::first_error = NULL;
volatile jlong VMError::first_error_tid = -1;
+// An error could happen before tty is initialized or after it has been
+// destroyed. Here we use a very simple unbuffered fdStream for printing.
+// Only out.print_raw() and out.print_raw_cr() should be used, as other
+// printing methods need to allocate large buffer on stack. To format a
+// string, use jio_snprintf() with a static buffer or use staticBufferStream.
+fdStream VMError::out(defaultStream::output_fd());
+fdStream VMError::log; // error log used by VMError::report_and_die()
+
/** Expand a pattern into a buffer starting at pos and open a file using constructed path */
static int expand_and_open(const char* pattern, char* buf, size_t buflen, size_t pos) {
int fd = -1;
@@ -853,13 +861,6 @@ void VMError::report_and_die() {
// Don't allocate large buffer on stack
static char buffer[O_BUFLEN];
- // An error could happen before tty is initialized or after it has been
- // destroyed. Here we use a very simple unbuffered fdStream for printing.
- // Only out.print_raw() and out.print_raw_cr() should be used, as other
- // printing methods need to allocate large buffer on stack. To format a
- // string, use jio_snprintf() with a static buffer or use staticBufferStream.
- static fdStream out(defaultStream::output_fd());
-
// How many errors occurred in error handler when reporting first_error.
static int recursive_error_count;
@@ -868,7 +869,6 @@ void VMError::report_and_die() {
static bool out_done = false; // done printing to standard out
static bool log_done = false; // done saving error log
static bool transmit_report_done = false; // done error reporting
- static fdStream log; // error log
// disble NMT to avoid further exception
MemTracker::shutdown(MemTracker::NMT_error_reporting);
diff --git a/hotspot/src/share/vm/utilities/vmError.hpp b/hotspot/src/share/vm/utilities/vmError.hpp
index f298c1edbf5..1b1608bdc90 100644
--- a/hotspot/src/share/vm/utilities/vmError.hpp
+++ b/hotspot/src/share/vm/utilities/vmError.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -96,6 +96,9 @@ class VMError : public StackObj {
return (id != OOM_MALLOC_ERROR) && (id != OOM_MMAP_ERROR);
}
+ static fdStream out;
+ static fdStream log; // error log used by VMError::report_and_die()
+
public:
// Constructor for crashes
diff --git a/hotspot/test/compiler/7088419/CRCTest.java b/hotspot/test/compiler/7088419/CRCTest.java
new file mode 100644
index 00000000000..fa1f520cca8
--- /dev/null
+++ b/hotspot/test/compiler/7088419/CRCTest.java
@@ -0,0 +1,132 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+/*
+ @test
+ @bug 7088419
+ @run main CRCTest
+ @summary Use x86 Hardware CRC32 Instruction with java.util.zip.CRC32 and java.util.zip.Adler32
+ */
+
+import java.nio.ByteBuffer;
+import java.util.zip.CRC32;
+import java.util.zip.Checksum;
+
+public class CRCTest {
+
+ public static void main(String[] args) throws Exception {
+
+ byte[] b = initializedBytes(4096 * 4096);
+
+ {
+ CRC32 crc1 = new CRC32();
+ CRC32 crc2 = new CRC32();
+ CRC32 crc3 = new CRC32();
+ CRC32 crc4 = new CRC32();
+
+ crc1.update(b, 0, b.length);
+ updateSerial(crc2, b, 0, b.length);
+ updateDirect(crc3, b, 0, b.length);
+ updateSerialSlow(crc4, b, 0, b.length);
+
+ check(crc1, crc2);
+ check(crc3, crc4);
+ check(crc1, crc3);
+
+ crc1.update(17);
+ crc2.update(17);
+ crc3.update(17);
+ crc4.update(17);
+
+ crc1.update(b, 1, b.length-2);
+ updateSerial(crc2, b, 1, b.length-2);
+ updateDirect(crc3, b, 1, b.length-2);
+ updateSerialSlow(crc4, b, 1, b.length-2);
+
+ check(crc1, crc2);
+ check(crc3, crc4);
+ check(crc1, crc3);
+
+ report("finished huge crc", crc1, crc2, crc3, crc4);
+
+ for (int i = 0; i < 256; i++) {
+ for (int j = 0; j < 256; j += 1) {
+ crc1.update(b, i, j);
+ updateSerial(crc2, b, i, j);
+ updateDirect(crc3, b, i, j);
+ updateSerialSlow(crc4, b, i, j);
+
+ check(crc1, crc2);
+ check(crc3, crc4);
+ check(crc1, crc3);
+
+ }
+ }
+
+ report("finished small survey crc", crc1, crc2, crc3, crc4);
+ }
+
+ }
+
+ private static void report(String s, Checksum crc1, Checksum crc2,
+ Checksum crc3, Checksum crc4) {
+ System.out.println(s + ", crc1 = " + crc1.getValue() +
+ ", crc2 = " + crc2.getValue()+
+ ", crc3 = " + crc3.getValue()+
+ ", crc4 = " + crc4.getValue());
+ }
+
+ private static void check(Checksum crc1, Checksum crc2) throws Exception {
+ if (crc1.getValue() != crc2.getValue()) {
+ String s = "value 1 = " + crc1.getValue() + ", value 2 = " + crc2.getValue();
+ System.err.println(s);
+ throw new Exception(s);
+ }
+ }
+
+ private static byte[] initializedBytes(int M) {
+ byte[] bytes = new byte[M];
+ for (int i = 0; i < bytes.length; i++) {
+ bytes[i] = (byte) i;
+ }
+ return bytes;
+ }
+
+ private static void updateSerial(Checksum crc, byte[] b, int start, int length) {
+ for (int i = 0; i < length; i++)
+ crc.update(b[i+start]);
+ }
+
+ private static void updateSerialSlow(Checksum crc, byte[] b, int start, int length) {
+ for (int i = 0; i < length; i++)
+ crc.update(b[i+start]);
+ crc.getValue();
+ }
+
+ private static void updateDirect(CRC32 crc3, byte[] b, int start, int length) {
+ ByteBuffer buf = ByteBuffer.allocateDirect(length);
+ buf.put(b, start, length);
+ buf.flip();
+ crc3.update(buf);
+ }
+}
diff --git a/hotspot/test/compiler/8005956/PolynomialRoot.java b/hotspot/test/compiler/8005956/PolynomialRoot.java
new file mode 100644
index 00000000000..ce896ae651e
--- /dev/null
+++ b/hotspot/test/compiler/8005956/PolynomialRoot.java
@@ -0,0 +1,776 @@
+//package com.polytechnik.utils;
+/*
+ * (C) Vladislav Malyshkin 2010
+ * This file is under GPL version 3.
+ *
+ */
+
+/** Polynomial root.
+ * @version $Id: PolynomialRoot.java,v 1.105 2012/08/18 00:00:05 mal Exp $
+ * @author Vladislav Malyshkin mal@gromco.com
+ */
+
+/**
+* @test
+* @bug 8005956
+* @summary C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block
+*
+* @run main PolynomialRoot
+*/
+
+public class PolynomialRoot {
+
+
+public static int findPolynomialRoots(final int n,
+ final double [] p,
+ final double [] re_root,
+ final double [] im_root)
+{
+ if(n==4)
+ {
+ return root4(p,re_root,im_root);
+ }
+ else if(n==3)
+ {
+ return root3(p,re_root,im_root);
+ }
+ else if(n==2)
+ {
+ return root2(p,re_root,im_root);
+ }
+ else if(n==1)
+ {
+ return root1(p,re_root,im_root);
+ }
+ else
+ {
+ throw new RuntimeException("n="+n+" is not supported yet");
+ }
+}
+
+
+
+static final double SQRT3=Math.sqrt(3.0),SQRT2=Math.sqrt(2.0);
+
+
+private static final boolean PRINT_DEBUG=false;
+
+public static int root4(final double [] p,final double [] re_root,final double [] im_root)
+{
+ if(PRINT_DEBUG) System.err.println("=====================root4:p="+java.util.Arrays.toString(p));
+ final double vs=p[4];
+ if(PRINT_DEBUG) System.err.println("p[4]="+p[4]);
+ if(!(Math.abs(vs)>EPS))
+ {
+ re_root[0]=re_root[1]=re_root[2]=re_root[3]=
+ im_root[0]=im_root[1]=im_root[2]=im_root[3]=Double.NaN;
+ return -1;
+ }
+
+/* zsolve_quartic.c - finds the complex roots of
+ * x^4 + a x^3 + b x^2 + c x + d = 0
+ */
+ final double a=p[3]/vs,b=p[2]/vs,c=p[1]/vs,d=p[0]/vs;
+ if(PRINT_DEBUG) System.err.println("input a="+a+" b="+b+" c="+c+" d="+d);
+
+
+ final double r4 = 1.0 / 4.0;
+ final double q2 = 1.0 / 2.0, q4 = 1.0 / 4.0, q8 = 1.0 / 8.0;
+ final double q1 = 3.0 / 8.0, q3 = 3.0 / 16.0;
+ final int mt;
+
+ /* Deal easily with the cases where the quartic is degenerate. The
+ * ordering of solutions is done explicitly. */
+ if (0 == b && 0 == c)
+ {
+ if (0 == d)
+ {
+ re_root[0]=-a;
+ im_root[0]=im_root[1]=im_root[2]=im_root[3]=0;
+ re_root[1]=re_root[2]=re_root[3]=0;
+ return 4;
+ }
+ else if (0 == a)
+ {
+ if (d > 0)
+ {
+ final double sq4 = Math.sqrt(Math.sqrt(d));
+ re_root[0]=sq4*SQRT2/2;
+ im_root[0]=re_root[0];
+ re_root[1]=-re_root[0];
+ im_root[1]=re_root[0];
+ re_root[2]=-re_root[0];
+ im_root[2]=-re_root[0];
+ re_root[3]=re_root[0];
+ im_root[3]=-re_root[0];
+ if(PRINT_DEBUG) System.err.println("Path a=0 d>0");
+ }
+ else
+ {
+ final double sq4 = Math.sqrt(Math.sqrt(-d));
+ re_root[0]=sq4;
+ im_root[0]=0;
+ re_root[1]=0;
+ im_root[1]=sq4;
+ re_root[2]=0;
+ im_root[2]=-sq4;
+ re_root[3]=-sq4;
+ im_root[3]=0;
+ if(PRINT_DEBUG) System.err.println("Path a=0 d<0");
+ }
+ return 4;
+ }
+ }
+
+ if (0.0 == c && 0.0 == d)
+ {
+ root2(new double []{p[2],p[3],p[4]},re_root,im_root);
+ re_root[2]=im_root[2]=re_root[3]=im_root[3]=0;
+ return 4;
+ }
+
+ if(PRINT_DEBUG) System.err.println("G Path c="+c+" d="+d);
+ final double [] u=new double[3];
+
+ if(PRINT_DEBUG) System.err.println("Generic Path");
+ /* For non-degenerate solutions, proceed by constructing and
+ * solving the resolvent cubic */
+ final double aa = a * a;
+ final double pp = b - q1 * aa;
+ final double qq = c - q2 * a * (b - q4 * aa);
+ final double rr = d - q4 * a * (c - q4 * a * (b - q3 * aa));
+ final double rc = q2 * pp , rc3 = rc / 3;
+ final double sc = q4 * (q4 * pp * pp - rr);
+ final double tc = -(q8 * qq * q8 * qq);
+ if(PRINT_DEBUG) System.err.println("aa="+aa+" pp="+pp+" qq="+qq+" rr="+rr+" rc="+rc+" sc="+sc+" tc="+tc);
+ final boolean flag_realroots;
+
+ /* This code solves the resolvent cubic in a convenient fashion
+ * for this implementation of the quartic. If there are three real
+ * roots, then they are placed directly into u[]. If two are
+ * complex, then the real root is put into u[0] and the real
+ * and imaginary part of the complex roots are placed into
+ * u[1] and u[2], respectively. */
+ {
+ final double qcub = (rc * rc - 3 * sc);
+ final double rcub = (rc*(2 * rc * rc - 9 * sc) + 27 * tc);
+
+ final double Q = qcub / 9;
+ final double R = rcub / 54;
+
+ final double Q3 = Q * Q * Q;
+ final double R2 = R * R;
+
+ final double CR2 = 729 * rcub * rcub;
+ final double CQ3 = 2916 * qcub * qcub * qcub;
+
+ if(PRINT_DEBUG) System.err.println("CR2="+CR2+" CQ3="+CQ3+" R="+R+" Q="+Q);
+
+ if (0 == R && 0 == Q)
+ {
+ flag_realroots=true;
+ u[0] = -rc3;
+ u[1] = -rc3;
+ u[2] = -rc3;
+ }
+ else if (CR2 == CQ3)
+ {
+ flag_realroots=true;
+ final double sqrtQ = Math.sqrt (Q);
+ if (R > 0)
+ {
+ u[0] = -2 * sqrtQ - rc3;
+ u[1] = sqrtQ - rc3;
+ u[2] = sqrtQ - rc3;
+ }
+ else
+ {
+ u[0] = -sqrtQ - rc3;
+ u[1] = -sqrtQ - rc3;
+ u[2] = 2 * sqrtQ - rc3;
+ }
+ }
+ else if (R2 < Q3)
+ {
+ flag_realroots=true;
+ final double ratio = (R >= 0?1:-1) * Math.sqrt (R2 / Q3);
+ final double theta = Math.acos (ratio);
+ final double norm = -2 * Math.sqrt (Q);
+
+ u[0] = norm * Math.cos (theta / 3) - rc3;
+ u[1] = norm * Math.cos ((theta + 2.0 * Math.PI) / 3) - rc3;
+ u[2] = norm * Math.cos ((theta - 2.0 * Math.PI) / 3) - rc3;
+ }
+ else
+ {
+ flag_realroots=false;
+ final double A = -(R >= 0?1:-1)*Math.pow(Math.abs(R)+Math.sqrt(R2-Q3),1.0/3.0);
+ final double B = Q / A;
+
+ u[0] = A + B - rc3;
+ u[1] = -0.5 * (A + B) - rc3;
+ u[2] = -(SQRT3*0.5) * Math.abs (A - B);
+ }
+ if(PRINT_DEBUG) System.err.println("u[0]="+u[0]+" u[1]="+u[1]+" u[2]="+u[2]+" qq="+qq+" disc="+((CR2 - CQ3) / 2125764.0));
+ }
+ /* End of solution to resolvent cubic */
+
+ /* Combine the square roots of the roots of the cubic
+ * resolvent appropriately. Also, calculate 'mt' which
+ * designates the nature of the roots:
+ * mt=1 : 4 real roots
+ * mt=2 : 0 real roots
+ * mt=3 : 2 real roots
+ */
+
+
+ final double w1_re,w1_im,w2_re,w2_im,w3_re,w3_im,mod_w1w2,mod_w1w2_squared;
+ if (flag_realroots)
+ {
+ mod_w1w2=-1;
+ mt = 2;
+ int jmin=0;
+ double vmin=Math.abs(u[jmin]);
+ for(int j=1;j<3;j++)
+ {
+ final double vx=Math.abs(u[j]);
+ if(vx=0)
+ {
+ w1_re=Math.sqrt(u1);
+ w1_im=0;
+ }
+ else
+ {
+ w1_re=0;
+ w1_im=Math.sqrt(-u1);
+ }
+ if(u2>=0)
+ {
+ w2_re=Math.sqrt(u2);
+ w2_im=0;
+ }
+ else
+ {
+ w2_re=0;
+ w2_im=Math.sqrt(-u2);
+ }
+ if(PRINT_DEBUG) System.err.println("u1="+u1+" u2="+u2+" jmin="+jmin);
+ }
+ else
+ {
+ mt = 3;
+ final double w_mod2_sq=u[1]*u[1]+u[2]*u[2],w_mod2=Math.sqrt(w_mod2_sq),w_mod=Math.sqrt(w_mod2);
+ if(w_mod2_sq<=0)
+ {
+ w1_re=w1_im=0;
+ }
+ else
+ {
+ // calculate square root of a complex number (u[1],u[2])
+ // the result is in the (w1_re,w1_im)
+ final double absu1=Math.abs(u[1]),absu2=Math.abs(u[2]),w;
+ if(absu1>=absu2)
+ {
+ final double t=absu2/absu1;
+ w=Math.sqrt(absu1*0.5 * (1.0 + Math.sqrt(1.0 + t * t)));
+ if(PRINT_DEBUG) System.err.println(" Path1 ");
+ }
+ else
+ {
+ final double t=absu1/absu2;
+ w=Math.sqrt(absu2*0.5 * (t + Math.sqrt(1.0 + t * t)));
+ if(PRINT_DEBUG) System.err.println(" Path1a ");
+ }
+ if(u[1]>=0)
+ {
+ w1_re=w;
+ w1_im=u[2]/(2*w);
+ if(PRINT_DEBUG) System.err.println(" Path2 ");
+ }
+ else
+ {
+ final double vi = (u[2] >= 0) ? w : -w;
+ w1_re=u[2]/(2*vi);
+ w1_im=vi;
+ if(PRINT_DEBUG) System.err.println(" Path2a ");
+ }
+ }
+ final double absu0=Math.abs(u[0]);
+ if(w_mod2>=absu0)
+ {
+ mod_w1w2=w_mod2;
+ mod_w1w2_squared=w_mod2_sq;
+ w2_re=w1_re;
+ w2_im=-w1_im;
+ }
+ else
+ {
+ mod_w1w2=-1;
+ mod_w1w2_squared=w_mod2*absu0;
+ if(u[0]>=0)
+ {
+ w2_re=Math.sqrt(absu0);
+ w2_im=0;
+ }
+ else
+ {
+ w2_re=0;
+ w2_im=Math.sqrt(absu0);
+ }
+ }
+ if(PRINT_DEBUG) System.err.println("u[0]="+u[0]+"u[1]="+u[1]+" u[2]="+u[2]+" absu0="+absu0+" w_mod="+w_mod+" w_mod2="+w_mod2);
+ }
+
+ /* Solve the quadratic in order to obtain the roots
+ * to the quartic */
+ if(mod_w1w2>0)
+ {
+ // a shorcut to reduce rounding error
+ w3_re=qq/(-8)/mod_w1w2;
+ w3_im=0;
+ }
+ else if(mod_w1w2_squared>0)
+ {
+ // regular path
+ final double mqq8n=qq/(-8)/mod_w1w2_squared;
+ w3_re=mqq8n*(w1_re*w2_re-w1_im*w2_im);
+ w3_im=-mqq8n*(w1_re*w2_im+w2_re*w1_im);
+ }
+ else
+ {
+ // typically occur when qq==0
+ w3_re=w3_im=0;
+ }
+
+ final double h = r4 * a;
+ if(PRINT_DEBUG) System.err.println("w1_re="+w1_re+" w1_im="+w1_im+" w2_re="+w2_re+" w2_im="+w2_im+" w3_re="+w3_re+" w3_im="+w3_im+" h="+h);
+
+ re_root[0]=w1_re+w2_re+w3_re-h;
+ im_root[0]=w1_im+w2_im+w3_im;
+ re_root[1]=-(w1_re+w2_re)+w3_re-h;
+ im_root[1]=-(w1_im+w2_im)+w3_im;
+ re_root[2]=w2_re-w1_re-w3_re-h;
+ im_root[2]=w2_im-w1_im-w3_im;
+ re_root[3]=w1_re-w2_re-w3_re-h;
+ im_root[3]=w1_im-w2_im-w3_im;
+
+ return 4;
+}
+
+
+
+ static void setRandomP(final double [] p,final int n,java.util.Random r)
+ {
+ if(r.nextDouble()<0.1)
+ {
+ // integer coefficiens
+ for(int j=0;j=0;k--)
+ {
+ final double res1=(res*rex-ims*imx)+p[k];
+ final double ims1=(ims*rex+res*imx);
+ res=res1;
+ ims=ims1;
+ sabs+=xabs*sabs+p[k];
+ }
+ sabs=Math.abs(sabs);
+ if(false && sabs>1/eps?
+ (!(Math.abs(res/sabs)<=eps)||!(Math.abs(ims/sabs)<=eps))
+ :
+ (!(Math.abs(res)<=eps)||!(Math.abs(ims)<=eps)))
+ {
+ throw new RuntimeException(
+ getPolinomTXT(p)+"\n"+
+ "\t x.r="+rex+" x.i="+imx+"\n"+
+ "res/sabs="+(res/sabs)+" ims/sabs="+(ims/sabs)+
+ " sabs="+sabs+
+ "\nres="+res+" ims="+ims+" n="+n+" eps="+eps+" "+
+ " sabs>1/eps="+(sabs>1/eps)+
+ " f1="+(!(Math.abs(res/sabs)<=eps)||!(Math.abs(ims/sabs)<=eps))+
+ " f2="+(!(Math.abs(res)<=eps)||!(Math.abs(ims)<=eps))+
+ " "+txt);
+ }
+ }
+
+ static String getPolinomTXT(final double [] p)
+ {
+ final StringBuilder buf=new StringBuilder();
+ buf.append("order="+(p.length-1)+"\t");
+ for(int k=0;k-1;)
+ {
+ for(int dr=3;dr-->0;)
+ {
+ setRandomP(p,n,rn);
+ for(int j=0;j<=dg;j++)
+ {
+ p[j]=0;
+ }
+ if(dr==0)
+ {
+ p[0]=-1+2.0*rn.nextDouble();
+ }
+ else if(dr==1)
+ {
+ p[0]=p[1]=0;
+ }
+
+ findPolynomialRoots(n,p,rex,imx);
+
+ for(int j=0;j'?");
+ if (outputWithError.getExitValue() == 0) {
+ throw new RuntimeException("Not expected to get exit value 0");
+ }
+
+ // The last JAVA process should run successfully for the purpose of sanity check
+ pb = ProcessTools.createJavaProcessBuilder(
+ "-XX:+PrintGC",
+ "-version"
+ );
+ OutputAnalyzer outputWithNoError = new OutputAnalyzer(pb.start());
+ outputWithNoError.shouldNotContain("Did you mean '(+/-)PrintGC'?");
+ outputWithNoError.shouldHaveExitValue(0);
+ }
+}
+
diff --git a/hotspot/test/gc/metaspace/TestMetaspaceMemoryPool.java b/hotspot/test/gc/metaspace/TestMetaspaceMemoryPool.java
new file mode 100644
index 00000000000..440f91cbd85
--- /dev/null
+++ b/hotspot/test/gc/metaspace/TestMetaspaceMemoryPool.java
@@ -0,0 +1,126 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+import java.util.List;
+import java.lang.management.ManagementFactory;
+import java.lang.management.MemoryManagerMXBean;
+import java.lang.management.MemoryPoolMXBean;
+import java.lang.management.MemoryUsage;
+
+import java.lang.management.RuntimeMXBean;
+import java.lang.management.ManagementFactory;
+
+/* @test TestMetaspaceMemoryPool
+ * @bug 8000754
+ * @summary Tests that a MemoryPoolMXBeans is created for metaspace and that a
+ * MemoryManagerMXBean is created.
+ * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-UseCompressedOops TestMetaspaceMemoryPool
+ * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-UseCompressedOops -XX:MaxMetaspaceSize=60m TestMetaspaceMemoryPool
+ * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+UseCompressedOops -XX:+UseCompressedKlassPointers TestMetaspaceMemoryPool
+ * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+UseCompressedOops -XX:+UseCompressedKlassPointers -XX:ClassMetaspaceSize=60m TestMetaspaceMemoryPool
+ */
+public class TestMetaspaceMemoryPool {
+ public static void main(String[] args) {
+ verifyThatMetaspaceMemoryManagerExists();
+ verifyMemoryPool(getMemoryPool("Metaspace"), isFlagDefined("MaxMetaspaceSize"));
+
+ if (runsOn64bit()) {
+ if (usesCompressedOops()) {
+ MemoryPoolMXBean cksPool = getMemoryPool("Compressed Class Space");
+ verifyMemoryPool(cksPool, true);
+ }
+ }
+ }
+
+ private static boolean runsOn64bit() {
+ return !System.getProperty("sun.arch.data.model").equals("32");
+ }
+
+ private static boolean usesCompressedOops() {
+ return isFlagDefined("+UseCompressedOops");
+ }
+
+ private static boolean isFlagDefined(String name) {
+ RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
+ List args = runtimeMxBean.getInputArguments();
+ for (String arg : args) {
+ if (arg.startsWith("-XX:" + name)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ private static void verifyThatMetaspaceMemoryManagerExists() {
+ List managers = ManagementFactory.getMemoryManagerMXBeans();
+ for (MemoryManagerMXBean manager : managers) {
+ if (manager.getName().equals("Metaspace Manager")) {
+ return;
+ }
+ }
+
+ throw new RuntimeException("Expected to find a metaspace memory manager");
+ }
+
+ private static MemoryPoolMXBean getMemoryPool(String name) {
+ List pools = ManagementFactory.getMemoryPoolMXBeans();
+ for (MemoryPoolMXBean pool : pools) {
+ if (pool.getName().equals(name)) {
+ return pool;
+ }
+ }
+
+ throw new RuntimeException("Expected to find a memory pool with name " + name);
+ }
+
+ private static void verifyMemoryPool(MemoryPoolMXBean pool, boolean isMaxDefined) {
+ MemoryUsage mu = pool.getUsage();
+ assertDefined(mu.getInit(), "init");
+ assertDefined(mu.getUsed(), "used");
+ assertDefined(mu.getCommitted(), "committed");
+
+ if (isMaxDefined) {
+ assertDefined(mu.getMax(), "max");
+ } else {
+ assertUndefined(mu.getMax(), "max");
+ }
+ }
+
+ private static void assertDefined(long value, String name) {
+ assertTrue(value != -1, "Expected " + name + " to be defined");
+ }
+
+ private static void assertUndefined(long value, String name) {
+ assertEquals(value, -1, "Expected " + name + " to be undefined");
+ }
+
+ private static void assertEquals(long actual, long expected, String msg) {
+ assertTrue(actual == expected, msg);
+ }
+
+ private static void assertTrue(boolean condition, String msg) {
+ if (!condition) {
+ throw new RuntimeException(msg);
+ }
+ }
+}
diff --git a/hotspot/test/gc/parallelScavenge/AdaptiveGCBoundary.java b/hotspot/test/gc/parallelScavenge/AdaptiveGCBoundary.java
new file mode 100644
index 00000000000..57125599649
--- /dev/null
+++ b/hotspot/test/gc/parallelScavenge/AdaptiveGCBoundary.java
@@ -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.
+ *
+ * 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.
+ */
+
+/**
+ * @test AdaptiveGCBoundary
+ * @summary UseAdaptiveGCBoundary is broken
+ * @bug 8014546
+ * @key gc
+ * @key regression
+ * @library /testlibrary
+ * @run main/othervm AdaptiveGCBoundary
+ * @author jon.masamitsu@oracle.com
+ */
+
+import com.oracle.java.testlibrary.*;
+
+public class AdaptiveGCBoundary {
+ public static void main(String args[]) throws Exception {
+
+ ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
+ "-showversion",
+ "-XX:+UseParallelGC",
+ "-XX:+UseAdaptiveGCBoundary",
+ "-XX:+PrintCommandLineFlags",
+ SystemGCCaller.class.getName()
+ );
+
+ OutputAnalyzer output = new OutputAnalyzer(pb.start());
+
+ output.shouldContain("+UseAdaptiveGCBoundary");
+
+ output.shouldNotContain("error");
+
+ output.shouldHaveExitValue(0);
+ }
+ static class SystemGCCaller {
+ public static void main(String [] args) {
+ System.gc();
+ }
+ }
+}
diff --git a/hotspot/test/runtime/7196045/Test7196045.java b/hotspot/test/runtime/7196045/Test7196045.java
index 59704f72590..4c6fcc8c072 100644
--- a/hotspot/test/runtime/7196045/Test7196045.java
+++ b/hotspot/test/runtime/7196045/Test7196045.java
@@ -26,7 +26,7 @@
* @test
* @bug 7196045
* @summary Possible JVM deadlock in ThreadTimesClosure when using HotspotInternal non-public API.
- * @run main/othervm Test7196045
+ * @run main/othervm -XX:+UsePerfData Test7196045
*/
import java.lang.management.ManagementFactory;
diff --git a/hotspot/test/runtime/8001071/Test8001071.java b/hotspot/test/runtime/8001071/Test8001071.java
new file mode 100644
index 00000000000..df03e197de8
--- /dev/null
+++ b/hotspot/test/runtime/8001071/Test8001071.java
@@ -0,0 +1,45 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+import sun.misc.Unsafe;
+import java.lang.reflect.Field;
+
+@SuppressWarnings("sunapi")
+public class Test8001071 {
+ public static Unsafe unsafe;
+
+ static {
+ try {
+ Field f = Unsafe.class.getDeclaredField("theUnsafe");
+ f.setAccessible(true);
+ unsafe = (Unsafe) f.get(null);
+ } catch ( Exception e ) {
+ e.printStackTrace();
+ }
+ }
+
+ public static void main(String args[]) {
+ unsafe.getObject(new Test8001071(), Short.MAX_VALUE);
+ }
+
+}
diff --git a/hotspot/test/runtime/8001071/Test8001071.sh b/hotspot/test/runtime/8001071/Test8001071.sh
new file mode 100644
index 00000000000..79ba2fe503d
--- /dev/null
+++ b/hotspot/test/runtime/8001071/Test8001071.sh
@@ -0,0 +1,63 @@
+#!/bin/sh
+
+# 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.
+
+# 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.
+
+## @test
+## @bug 8001071
+## @summary Add simple range check into VM implemenation of Unsafe access methods
+## @compile Test8001071.java
+## @run shell Test8001071.sh
+## @author filipp.zhinkin@oracle.com
+
+VERSION=`${TESTJAVA}/bin/java ${TESTVMOPTS} -version 2>&1`
+
+if [ -n "`echo $VERSION | grep debug`" -o -n "`echo $VERSION | grep jvmg`" ]; then
+ echo "Build type check passed"
+ echo "Continue testing"
+else
+ echo "Fastdebug build is required for this test"
+ exit 0
+fi
+
+${TESTJAVA}/bin/java -cp ${TESTCLASSES} ${TESTVMOPTS} Test8001071 2>&1
+
+HS_ERR_FILE=hs_err_pid*.log
+
+if [ ! -f $HS_ERR_FILE ]
+then
+ echo "hs_err_pid log file was not found"
+ echo "Test failed"
+ exit 1
+fi
+
+grep "assert(byte_offset < p_size) failed: Unsafe access: offset.*> object's size.*" $HS_ERR_FILE
+
+if [ "0" = "$?" ];
+then
+ echo "Range check assertion failed as expected"
+ echo "Test passed"
+ exit 0
+else
+ echo "Range check assertion was not failed"
+ echo "Test failed"
+ exit 1
+fi
diff --git a/hotspot/test/runtime/CommandLine/CompilerConfigFileWarning.java b/hotspot/test/runtime/CommandLine/CompilerConfigFileWarning.java
new file mode 100644
index 00000000000..1f1894419ab
--- /dev/null
+++ b/hotspot/test/runtime/CommandLine/CompilerConfigFileWarning.java
@@ -0,0 +1,50 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 7167142
+ * @summary Warn if unused .hotspot_compiler file is present
+ * @library /testlibrary
+ */
+
+import java.io.PrintWriter;
+import com.oracle.java.testlibrary.*;
+
+public class CompilerConfigFileWarning {
+ public static void main(String[] args) throws Exception {
+ String vmVersion = System.getProperty("java.vm.version");
+ if (vmVersion.toLowerCase().contains("debug") || vmVersion.toLowerCase().contains("jvmg")) {
+ System.out.println("Skip on debug builds since we'll always read the file there");
+ return;
+ }
+
+ PrintWriter pw = new PrintWriter(".hotspot_compiler");
+ pw.println("aa");
+ pw.close();
+
+ ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-version");
+ OutputAnalyzer output = new OutputAnalyzer(pb.start());
+ output.shouldContain("warning: .hotspot_compiler file is present but has been ignored. Run with -XX:CompileCommandFile=.hotspot_compiler to load the file.");
+ }
+}
diff --git a/hotspot/test/runtime/CommandLine/ConfigFileWarning.java b/hotspot/test/runtime/CommandLine/ConfigFileWarning.java
new file mode 100644
index 00000000000..470808eaff3
--- /dev/null
+++ b/hotspot/test/runtime/CommandLine/ConfigFileWarning.java
@@ -0,0 +1,50 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 7167142
+ * @summary Warn if unused .hotspot_rc file is present
+ * @library /testlibrary
+ */
+
+import java.io.PrintWriter;
+import com.oracle.java.testlibrary.*;
+
+public class ConfigFileWarning {
+ public static void main(String[] args) throws Exception {
+ String vmVersion = System.getProperty("java.vm.version");
+ if (vmVersion.toLowerCase().contains("debug") || vmVersion.toLowerCase().contains("jvmg")) {
+ System.out.println("Skip on debug builds since we'll always read the file there");
+ return;
+ }
+
+ PrintWriter pw = new PrintWriter(".hotspotrc");
+ pw.println("aa");
+ pw.close();
+
+ ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-version");
+ OutputAnalyzer output = new OutputAnalyzer(pb.start());
+ output.shouldContain("warning: .hotspotrc file is present but has been ignored. Run with -XX:Flags=.hotspotrc to load the file.");
+ }
+}
diff --git a/hotspot/test/runtime/SharedArchiveFile/CdsDifferentObjectAlignment.java b/hotspot/test/runtime/SharedArchiveFile/CdsDifferentObjectAlignment.java
new file mode 100644
index 00000000000..0e9bb07762f
--- /dev/null
+++ b/hotspot/test/runtime/SharedArchiveFile/CdsDifferentObjectAlignment.java
@@ -0,0 +1,88 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+/*
+ * @test CdsDifferentObjectAlignment
+ * @summary Testing CDS (class data sharing) using varying object alignment.
+ * Using different object alignment for each dump/load pair.
+ * This is a negative test; using object alignment for loading that
+ * is different from object alignment for creating a CDS file
+ * should fail when loading.
+ * @library /testlibrary
+ */
+
+import com.oracle.java.testlibrary.*;
+
+public class CdsDifferentObjectAlignment {
+ public static void main(String[] args) throws Exception {
+ String nativeWordSize = System.getProperty("sun.arch.data.model");
+ if (!Platform.is64bit()) {
+ System.out.println("ObjectAlignmentInBytes for CDS is only " +
+ "supported on 64bit platforms; this plaform is " +
+ nativeWordSize);
+ System.out.println("Skipping the test");
+ } else {
+ createAndLoadSharedArchive(16, 64);
+ createAndLoadSharedArchive(64, 32);
+ }
+ }
+
+
+ // Parameters are object alignment expressed in bytes
+ private static void
+ createAndLoadSharedArchive(int createAlignment, int loadAlignment)
+ throws Exception {
+ String createAlignmentArgument = "-XX:ObjectAlignmentInBytes=" +
+ createAlignment;
+ String loadAlignmentArgument = "-XX:ObjectAlignmentInBytes=" +
+ loadAlignment;
+
+ ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
+ "-XX:+UnlockDiagnosticVMOptions",
+ "-XX:SharedArchiveFile=./sample.jsa",
+ "-Xshare:dump",
+ createAlignmentArgument);
+
+ OutputAnalyzer output = new OutputAnalyzer(pb.start());
+ output.shouldContain("Loading classes to share");
+ output.shouldHaveExitValue(0);
+
+ pb = ProcessTools.createJavaProcessBuilder(
+ "-XX:+UnlockDiagnosticVMOptions",
+ "-XX:SharedArchiveFile=./sample.jsa",
+ "-Xshare:on",
+ loadAlignmentArgument,
+ "-version");
+
+ output = new OutputAnalyzer(pb.start());
+ String expectedErrorMsg =
+ String.format(
+ "The shared archive file's ObjectAlignmentInBytes of %d " +
+ "does not equal the current ObjectAlignmentInBytes of %d",
+ createAlignment,
+ loadAlignment);
+
+ output.shouldContain(expectedErrorMsg);
+ output.shouldHaveExitValue(1);
+ }
+}
diff --git a/hotspot/test/runtime/SharedArchiveFile/CdsSameObjectAlignment.java b/hotspot/test/runtime/SharedArchiveFile/CdsSameObjectAlignment.java
new file mode 100644
index 00000000000..e95bae3a790
--- /dev/null
+++ b/hotspot/test/runtime/SharedArchiveFile/CdsSameObjectAlignment.java
@@ -0,0 +1,92 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+/*
+ * @test CdsSameObjectAlignment
+ * @summary Testing CDS (class data sharing) using varying object alignment.
+ * Using same object alignment for each dump/load pair
+ * @library /testlibrary
+ */
+
+import com.oracle.java.testlibrary.*;
+
+public class CdsSameObjectAlignment {
+ public static void main(String[] args) throws Exception {
+ String nativeWordSize = System.getProperty("sun.arch.data.model");
+ if (!Platform.is64bit()) {
+ System.out.println("ObjectAlignmentInBytes for CDS is only " +
+ "supported on 64bit platforms; this plaform is " +
+ nativeWordSize);
+ System.out.println("Skipping the test");
+ } else {
+ dumpAndLoadSharedArchive(8);
+ dumpAndLoadSharedArchive(16);
+ dumpAndLoadSharedArchive(32);
+ dumpAndLoadSharedArchive(64);
+ }
+ }
+
+ private static void
+ dumpAndLoadSharedArchive(int objectAlignmentInBytes) throws Exception {
+ String objectAlignmentArg = "-XX:ObjectAlignmentInBytes="
+ + objectAlignmentInBytes;
+ System.out.println("dumpAndLoadSharedArchive(): objectAlignmentInBytes = "
+ + objectAlignmentInBytes);
+
+ // create shared archive
+ ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
+ "-XX:+UnlockDiagnosticVMOptions",
+ "-XX:SharedArchiveFile=./sample.jsa",
+ "-Xshare:dump",
+ objectAlignmentArg);
+
+ OutputAnalyzer output = new OutputAnalyzer(pb.start());
+ output.shouldContain("Loading classes to share");
+ output.shouldHaveExitValue(0);
+
+
+ // run using the shared archive
+ pb = ProcessTools.createJavaProcessBuilder(
+ "-XX:+UnlockDiagnosticVMOptions",
+ "-XX:SharedArchiveFile=./sample.jsa",
+ "-Xshare:on",
+ objectAlignmentArg,
+ "-version");
+
+ output = new OutputAnalyzer(pb.start());
+
+ try {
+ output.shouldContain("sharing");
+ output.shouldHaveExitValue(0);
+ } catch (RuntimeException e) {
+ // CDS uses absolute addresses for performance.
+ // It will try to reserve memory at a specific address;
+ // there is a chance such reservation will fail
+ // If it does, it is NOT considered a failure of the feature,
+ // rather a possible expected outcome, though not likely
+ output.shouldContain(
+ "Unable to reserve shared space at required address");
+ output.shouldHaveExitValue(1);
+ }
+ }
+}
diff --git a/hotspot/test/serviceability/threads/TestFalseDeadLock.java b/hotspot/test/serviceability/threads/TestFalseDeadLock.java
new file mode 100644
index 00000000000..7ee0fe1116f
--- /dev/null
+++ b/hotspot/test/serviceability/threads/TestFalseDeadLock.java
@@ -0,0 +1,95 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+import java.lang.management.ManagementFactory;
+import java.lang.management.ThreadMXBean;
+import java.util.Random;
+
+/*
+ * @test
+ * @bug 8016304
+ * @summary Make sure no deadlock is reported for this program which has no deadlocks.
+ * @run main/othervm TestFalseDeadLock
+ */
+
+/*
+ * This test will not provoke the bug every time it is run since the bug is intermittent.
+ * The test has a fixed running time of 5 seconds.
+ */
+
+public class TestFalseDeadLock {
+ private static ThreadMXBean bean;
+ private static volatile boolean running = true;
+ private static volatile boolean found = false;
+
+ public static void main(String[] args) throws Exception {
+ bean = ManagementFactory.getThreadMXBean();
+ Thread[] threads = new Thread[500];
+ for (int i = 0; i < threads.length; i++) {
+ Test t = new Test();
+ threads[i] = new Thread(t);
+ threads[i].start();
+ }
+ try {
+ Thread.sleep(5000);
+ } catch (InterruptedException ex) {
+ }
+ running = false;
+ for (Thread t : threads) {
+ t.join();
+ }
+ if (found) {
+ throw new Exception("Deadlock reported, but there is no deadlock.");
+ }
+ }
+
+ public static class Test implements Runnable {
+ public void run() {
+ Random r = new Random();
+ while (running) {
+ try {
+ synchronized (this) {
+ wait(r.nextInt(1000) + 1);
+ }
+ } catch (InterruptedException ex) {
+ }
+ recurse(2000);
+ }
+ if (bean.findDeadlockedThreads() != null) {
+ System.out.println("FOUND!");
+ found = true;
+ }
+ }
+
+ private void recurse(int i) {
+ if (!running) {
+ // It is important for the test to call println here
+ // since there are locks inside that path.
+ System.out.println("Hullo");
+ }
+ else if (i > 0) {
+ recurse(i - 1);
+ }
+ }
+ }
+}
diff --git a/hotspot/test/testlibrary/com/oracle/java/testlibrary/Platform.java b/hotspot/test/testlibrary/com/oracle/java/testlibrary/Platform.java
new file mode 100644
index 00000000000..cfc1a271c13
--- /dev/null
+++ b/hotspot/test/testlibrary/com/oracle/java/testlibrary/Platform.java
@@ -0,0 +1,62 @@
+/*
+ * 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.
+ *
+ * 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.oracle.java.testlibrary;
+
+public class Platform {
+ private static final String osName = System.getProperty("os.name");
+ private static final String dataModel = System.getProperty("sun.arch.data.model");
+ private static final String vmVersion = System.getProperty("java.vm.version");
+
+ public static boolean is64bit() {
+ return dataModel.equals("64");
+ }
+
+ public static boolean isSolaris() {
+ return osName.toLowerCase().startsWith("sunos");
+ }
+
+ public static boolean isWindows() {
+ return osName.toLowerCase().startsWith("win");
+ }
+
+ public static boolean isOSX() {
+ return osName.toLowerCase().startsWith("mac");
+ }
+
+ public static boolean isLinux() {
+ return osName.toLowerCase().startsWith("linux");
+ }
+
+ public static String getOsName() {
+ return osName;
+ }
+
+ public static boolean isDebugBuild() {
+ return vmVersion.toLowerCase().contains("debug");
+ }
+
+ public static String getVMVersion() {
+ return vmVersion;
+ }
+}
diff --git a/hotspot/test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java b/hotspot/test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java
index 42203d17ff0..6e0fdae6564 100644
--- a/hotspot/test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java
+++ b/hotspot/test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java
@@ -112,10 +112,8 @@ public final class ProcessTools {
* @return String[] with platform specific arguments, empty if there are none
*/
public static String[] getPlatformSpecificVMArgs() {
- String osName = System.getProperty("os.name");
- String dataModel = System.getProperty("sun.arch.data.model");
- if (osName.equals("SunOS") && dataModel.equals("64")) {
+ if (Platform.is64bit() && Platform.isSolaris()) {
return new String[] { "-d64" };
}
diff --git a/jaxp/.hgtags b/jaxp/.hgtags
index 73376e06bf1..ed78f7ecae7 100644
--- a/jaxp/.hgtags
+++ b/jaxp/.hgtags
@@ -216,3 +216,6 @@ e3065fb07877c7e96e8b93416fe2ab9a4c9eb2a5 jdk8-b91
1ab5d8d6eab81e65c6c3cf21739474cd67a0e7cf jdk8-b92
d583a491d63c49eeda4869525048075da1cb596e jdk8-b93
c84658e1740df64931005a9bc4c8ecef38eb47c3 jdk8-b94
+b8c5f4b6f0fffb44618fc609a584953c4ed67c0b jdk8-b95
+6121efd299235b057f3de94b0a4158c388c2907c jdk8-b96
+6c830db28d21108f32af990ecf4d80a75887980d jdk8-b97
diff --git a/jaxp/src/com/sun/org/apache/xalan/META-INF/services/javax.xml.transform.TransformerFactory b/jaxp/src/com/sun/org/apache/xalan/META-INF/services/javax.xml.transform.TransformerFactory
deleted file mode 100644
index a607891fefd..00000000000
--- a/jaxp/src/com/sun/org/apache/xalan/META-INF/services/javax.xml.transform.TransformerFactory
+++ /dev/null
@@ -1 +0,0 @@
-com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl
diff --git a/jaxp/src/com/sun/org/apache/xalan/META-INF/services/javax.xml.xpath.XPathFactory b/jaxp/src/com/sun/org/apache/xalan/META-INF/services/javax.xml.xpath.XPathFactory
deleted file mode 100644
index ff1d5560075..00000000000
--- a/jaxp/src/com/sun/org/apache/xalan/META-INF/services/javax.xml.xpath.XPathFactory
+++ /dev/null
@@ -1 +0,0 @@
-com.sun.org.apache.xpath.internal.jaxp.XPathFactoryImpl
\ No newline at end of file
diff --git a/jaxp/src/com/sun/org/apache/xalan/META-INF/services/org.apache.xml.dtm.DTMManager b/jaxp/src/com/sun/org/apache/xalan/META-INF/services/org.apache.xml.dtm.DTMManager
deleted file mode 100644
index 6edf8469ef7..00000000000
--- a/jaxp/src/com/sun/org/apache/xalan/META-INF/services/org.apache.xml.dtm.DTMManager
+++ /dev/null
@@ -1 +0,0 @@
-com.sun.org.apache.xml.internal.dtm.ref.DTMManagerDefault
diff --git a/jaxp/src/com/sun/org/apache/xalan/internal/utils/ObjectFactory.java b/jaxp/src/com/sun/org/apache/xalan/internal/utils/ObjectFactory.java
index ff9b1a6e6a5..034d8eec84b 100644
--- a/jaxp/src/com/sun/org/apache/xalan/internal/utils/ObjectFactory.java
+++ b/jaxp/src/com/sun/org/apache/xalan/internal/utils/ObjectFactory.java
@@ -23,26 +23,11 @@
package com.sun.org.apache.xalan.internal.utils;
-import java.io.InputStream;
-import java.io.IOException;
-import java.io.File;
-import java.io.FileInputStream;
-
-import java.util.Properties;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-
/**
* This class is duplicated for each JAXP subpackage so keep it in sync.
* It is package private and therefore is not exposed as part of the JAXP
* API.
*
- * This code is designed to implement the JAXP 1.1 spec pluggability
- * feature and is designed to run on JDK version 1.1 and
- * later, and to compile on JDK 1.2 and onward.
- * The code also runs both as part of an unbundled jar file and
- * when bundled as part of the JDK.
- *
* This class was moved from the javax.xml.parsers.ObjectFactory
* class and modified to be used as a general utility for creating objects
* dynamically.
@@ -57,329 +42,9 @@ public class ObjectFactory {
private static final String XALAN_INTERNAL = "com.sun.org.apache.xalan.internal";
private static final String XERCES_INTERNAL = "com.sun.org.apache.xerces.internal";
- // name of default properties file to look for in JDK's jre/lib directory
- private static final String DEFAULT_PROPERTIES_FILENAME =
- "xalan.properties";
-
- private static final String SERVICES_PATH = "META-INF/services/";
-
/** Set to true for debugging */
private static final boolean DEBUG = false;
- /** cache the contents of the xalan.properties file.
- * Until an attempt has been made to read this file, this will
- * be null; if the file does not exist or we encounter some other error
- * during the read, this will be empty.
- */
- private static Properties fXalanProperties = null;
-
- /***
- * Cache the time stamp of the xalan.properties file so
- * that we know if it's been modified and can invalidate
- * the cache when necessary.
- */
- private static long fLastModified = -1;
-
- //
- // Public static methods
- //
-
- /**
- * Finds the implementation Class object in the specified order. The
- * specified order is the following:
- *
- * - query the system property using
System.getProperty
- * - read
META-INF/services/factoryId
file
- * - use fallback classname
- *
- *
- * @return instance of factory, never null
- *
- * @param factoryId Name of the factory to find, same as
- * a property name
- * @param fallbackClassName Implementation class name, if nothing else
- * is found. Use null to mean no fallback.
- *
- * @exception ObjectFactory.ConfigurationError
- */
- public static Object createObject(String factoryId, String fallbackClassName)
- throws ConfigurationError {
- return createObject(factoryId, null, fallbackClassName);
- } // createObject(String,String):Object
-
- /**
- * Finds the implementation Class object in the specified order. The
- * specified order is the following:
- *
- * - query the system property using
System.getProperty
- * - read
$java.home/lib/propertiesFilename
file
- * - read
META-INF/services/factoryId
file
- * - use fallback classname
- *
- *
- * @return instance of factory, never null
- *
- * @param factoryId Name of the factory to find, same as
- * a property name
- * @param propertiesFilename The filename in the $java.home/lib directory
- * of the properties file. If none specified,
- * ${java.home}/lib/xalan.properties will be used.
- * @param fallbackClassName Implementation class name, if nothing else
- * is found. Use null to mean no fallback.
- *
- * @exception ObjectFactory.ConfigurationError
- */
- static Object createObject(String factoryId,
- String propertiesFilename,
- String fallbackClassName)
- throws ConfigurationError
- {
- Class factoryClass = lookUpFactoryClass(factoryId,
- propertiesFilename,
- fallbackClassName);
-
- if (factoryClass == null) {
- throw new ConfigurationError(
- "Provider for " + factoryId + " cannot be found", null);
- }
-
- try{
- Object instance = factoryClass.newInstance();
- if (DEBUG) debugPrintln("created new instance of factory " + factoryId);
- return instance;
- } catch (Exception x) {
- throw new ConfigurationError(
- "Provider for factory " + factoryId
- + " could not be instantiated: " + x, x);
- }
- } // createObject(String,String,String):Object
-
- /**
- * Finds the implementation Class object in the specified order. The
- * specified order is the following:
- *
- * - query the system property using
System.getProperty
- * - read
$java.home/lib/propertiesFilename
file
- * - read
META-INF/services/factoryId
file
- * - use fallback classname
- *
- *
- * @return Class object of factory, never null
- *
- * @param factoryId Name of the factory to find, same as
- * a property name
- * @param propertiesFilename The filename in the $java.home/lib directory
- * of the properties file. If none specified,
- * ${java.home}/lib/xalan.properties will be used.
- * @param fallbackClassName Implementation class name, if nothing else
- * is found. Use null to mean no fallback.
- *
- * @exception ObjectFactory.ConfigurationError
- */
- public static Class lookUpFactoryClass(String factoryId)
- throws ConfigurationError
- {
- return lookUpFactoryClass(factoryId, null, null);
- } // lookUpFactoryClass(String):Class
-
- /**
- * Finds the implementation Class object in the specified order. The
- * specified order is the following:
- *
- * - query the system property using
System.getProperty
- * - read
$java.home/lib/propertiesFilename
file
- * - read
META-INF/services/factoryId
file
- * - use fallback classname
- *
- *
- * @return Class object that provides factory service, never null
- *
- * @param factoryId Name of the factory to find, same as
- * a property name
- * @param propertiesFilename The filename in the $java.home/lib directory
- * of the properties file. If none specified,
- * ${java.home}/lib/xalan.properties will be used.
- * @param fallbackClassName Implementation class name, if nothing else
- * is found. Use null to mean no fallback.
- *
- * @exception ObjectFactory.ConfigurationError
- */
- public static Class lookUpFactoryClass(String factoryId,
- String propertiesFilename,
- String fallbackClassName)
- throws ConfigurationError
- {
- String factoryClassName = lookUpFactoryClassName(factoryId,
- propertiesFilename,
- fallbackClassName);
- ClassLoader cl = findClassLoader();
-
- if (factoryClassName == null) {
- factoryClassName = fallbackClassName;
- }
-
- // assert(className != null);
- try{
- Class providerClass = findProviderClass(factoryClassName,
- cl,
- true);
- if (DEBUG) debugPrintln("created new instance of " + providerClass +
- " using ClassLoader: " + cl);
- return providerClass;
- } catch (ClassNotFoundException x) {
- throw new ConfigurationError(
- "Provider " + factoryClassName + " not found", x);
- } catch (Exception x) {
- throw new ConfigurationError(
- "Provider "+factoryClassName+" could not be instantiated: "+x,
- x);
- }
- } // lookUpFactoryClass(String,String,String):Class
-
- /**
- * Finds the name of the required implementation class in the specified
- * order. The specified order is the following:
- *
- * - query the system property using
System.getProperty
- * - read
$java.home/lib/propertiesFilename
file
- * - read
META-INF/services/factoryId
file
- * - use fallback classname
- *
- *
- * @return name of class that provides factory service, never null
- *
- * @param factoryId Name of the factory to find, same as
- * a property name
- * @param propertiesFilename The filename in the $java.home/lib directory
- * of the properties file. If none specified,
- * ${java.home}/lib/xalan.properties will be used.
- * @param fallbackClassName Implementation class name, if nothing else
- * is found. Use null to mean no fallback.
- *
- * @exception ObjectFactory.ConfigurationError
- */
- static String lookUpFactoryClassName(String factoryId,
- String propertiesFilename,
- String fallbackClassName)
- {
- // Use the system property first
- try {
- String systemProp = SecuritySupport.getSystemProperty(factoryId);
- if (systemProp != null) {
- if (DEBUG) debugPrintln("found system property, value=" + systemProp);
- return systemProp;
- }
- } catch (SecurityException se) {
- // Ignore and continue w/ next location
- }
-
- // Try to read from propertiesFilename, or
- // $java.home/lib/xalan.properties
- String factoryClassName = null;
- // no properties file name specified; use
- // $JAVA_HOME/lib/xalan.properties:
- if (propertiesFilename == null) {
- File propertiesFile = null;
- boolean propertiesFileExists = false;
- try {
- String javah = SecuritySupport.getSystemProperty("java.home");
- propertiesFilename = javah + File.separator +
- "lib" + File.separator + DEFAULT_PROPERTIES_FILENAME;
- propertiesFile = new File(propertiesFilename);
- propertiesFileExists = SecuritySupport.getFileExists(propertiesFile);
- } catch (SecurityException e) {
- // try again...
- fLastModified = -1;
- fXalanProperties = null;
- }
-
- synchronized (ObjectFactory.class) {
- boolean loadProperties = false;
- FileInputStream fis = null;
- try {
- // file existed last time
- if(fLastModified >= 0) {
- if(propertiesFileExists &&
- (fLastModified < (fLastModified = SecuritySupport.getLastModified(propertiesFile)))) {
- loadProperties = true;
- } else {
- // file has stopped existing...
- if(!propertiesFileExists) {
- fLastModified = -1;
- fXalanProperties = null;
- } // else, file wasn't modified!
- }
- } else {
- // file has started to exist:
- if(propertiesFileExists) {
- loadProperties = true;
- fLastModified = SecuritySupport.getLastModified(propertiesFile);
- } // else, nothing's changed
- }
- if(loadProperties) {
- // must never have attempted to read xalan.properties
- // before (or it's outdeated)
- fXalanProperties = new Properties();
- fis = SecuritySupport.getFileInputStream(propertiesFile);
- fXalanProperties.load(fis);
- }
- } catch (Exception x) {
- fXalanProperties = null;
- fLastModified = -1;
- // assert(x instanceof FileNotFoundException
- // || x instanceof SecurityException)
- // In both cases, ignore and continue w/ next location
- }
- finally {
- // try to close the input stream if one was opened.
- if (fis != null) {
- try {
- fis.close();
- }
- // Ignore the exception.
- catch (IOException exc) {}
- }
- }
- }
- if(fXalanProperties != null) {
- factoryClassName = fXalanProperties.getProperty(factoryId);
- }
- } else {
- FileInputStream fis = null;
- try {
- fis = SecuritySupport.getFileInputStream(new File(propertiesFilename));
- Properties props = new Properties();
- props.load(fis);
- factoryClassName = props.getProperty(factoryId);
- } catch (Exception x) {
- // assert(x instanceof FileNotFoundException
- // || x instanceof SecurityException)
- // In both cases, ignore and continue w/ next location
- }
- finally {
- // try to close the input stream if one was opened.
- if (fis != null) {
- try {
- fis.close();
- }
- // Ignore the exception.
- catch (IOException exc) {}
- }
- }
- }
- if (factoryClassName != null) {
- if (DEBUG) debugPrintln("found in " + propertiesFilename + ", value="
- + factoryClassName);
- return factoryClassName;
- }
-
- // Try Jar Service Provider Mechanism
- return findJarServiceProviderName(factoryId);
- } // lookUpFactoryClass(String,String):String
-
- //
- // Private static methods
- //
/** Prints a message to standard error if debugging is enabled. */
private static void debugPrintln(String msg) {
@@ -393,7 +58,6 @@ public class ObjectFactory {
* the context ClassLoader.
*/
public static ClassLoader findClassLoader()
- throws ConfigurationError
{
if (System.getSecurityManager()!=null) {
//this will ensure bootclassloader is used
@@ -452,8 +116,8 @@ public class ObjectFactory {
} // findClassLoader():ClassLoader
/**
- * Create an instance of a class using the same classloader for the ObjectFactory by default
- * or bootclassloader when Security Manager is in place
+ * Create an instance of a class using the same class loader for the ObjectFactory by default
+ * or boot class loader when Security Manager is in place
*/
public static Object newInstance(String className, boolean doFallback)
throws ConfigurationError
@@ -491,10 +155,10 @@ public class ObjectFactory {
}
/**
- * Find a Class using the same classloader for the ObjectFactory by default
- * or bootclassloader when Security Manager is in place
+ * Find a Class using the same class loader for the ObjectFactory by default
+ * or boot class loader when Security Manager is in place
*/
- public static Class findProviderClass(String className, boolean doFallback)
+ public static Class> findProviderClass(String className, boolean doFallback)
throws ClassNotFoundException, ConfigurationError
{
if (System.getSecurityManager()!=null) {
@@ -508,7 +172,7 @@ public class ObjectFactory {
/**
* Find a Class using the specified ClassLoader
*/
- static Class findProviderClass(String className, ClassLoader cl,
+ private static Class> findProviderClass(String className, ClassLoader cl,
boolean doFallback)
throws ClassNotFoundException, ConfigurationError
{
@@ -531,7 +195,7 @@ public class ObjectFactory {
throw e;
}
- Class providerClass;
+ Class> providerClass;
if (cl == null) {
// XXX Use the bootstrap ClassLoader. There is no way to
// load a class using the bootstrap ClassLoader that works
@@ -567,93 +231,4 @@ public class ObjectFactory {
return providerClass;
}
- /**
- * Find the name of service provider using Jar Service Provider Mechanism
- *
- * @return instance of provider class if found or null
- */
- private static String findJarServiceProviderName(String factoryId)
- {
- String serviceId = SERVICES_PATH + factoryId;
- InputStream is = null;
-
- // First try the Context ClassLoader
- ClassLoader cl = findClassLoader();
-
- is = SecuritySupport.getResourceAsStream(cl, serviceId);
-
- // If no provider found then try the current ClassLoader
- if (is == null) {
- ClassLoader current = ObjectFactory.class.getClassLoader();
- if (cl != current) {
- cl = current;
- is = SecuritySupport.getResourceAsStream(cl, serviceId);
- }
- }
-
- if (is == null) {
- // No provider found
- return null;
- }
-
- if (DEBUG) debugPrintln("found jar resource=" + serviceId +
- " using ClassLoader: " + cl);
-
- // Read the service provider name in UTF-8 as specified in
- // the jar spec. Unfortunately this fails in Microsoft
- // VJ++, which does not implement the UTF-8
- // encoding. Theoretically, we should simply let it fail in
- // that case, since the JVM is obviously broken if it
- // doesn't support such a basic standard. But since there
- // are still some users attempting to use VJ++ for
- // development, we have dropped in a fallback which makes a
- // second attempt using the platform's default encoding. In
- // VJ++ this is apparently ASCII, which is a subset of
- // UTF-8... and since the strings we'll be reading here are
- // also primarily limited to the 7-bit ASCII range (at
- // least, in English versions), this should work well
- // enough to keep us on the air until we're ready to
- // officially decommit from VJ++. [Edited comment from
- // jkesselm]
- BufferedReader rd;
- try {
- rd = new BufferedReader(new InputStreamReader(is, "UTF-8"));
- } catch (java.io.UnsupportedEncodingException e) {
- rd = new BufferedReader(new InputStreamReader(is));
- }
-
- String factoryClassName = null;
- try {
- // XXX Does not handle all possible input as specified by the
- // Jar Service Provider specification
- factoryClassName = rd.readLine();
- } catch (IOException x) {
- // No provider found
- return null;
- }
- finally {
- try {
- // try to close the reader.
- rd.close();
- }
- // Ignore the exception.
- catch (IOException exc) {}
- }
-
- if (factoryClassName != null &&
- ! "".equals(factoryClassName)) {
- if (DEBUG) debugPrintln("found in resource, value="
- + factoryClassName);
-
- // Note: here we do not want to fall back to the current
- // ClassLoader because we want to avoid the case where the
- // resource file was found using one ClassLoader and the
- // provider class was instantiated using a different one.
- return factoryClassName;
- }
-
- // No provider found
- return null;
- }
-
} // class ObjectFactory
diff --git a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/cmdline/Transform.java b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/cmdline/Transform.java
index e2df8e31c36..a81cd779594 100644
--- a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/cmdline/Transform.java
+++ b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/cmdline/Transform.java
@@ -23,34 +23,30 @@
package com.sun.org.apache.xalan.internal.xsltc.cmdline;
-import java.io.FileNotFoundException;
-import java.net.MalformedURLException;
-import java.net.UnknownHostException;
-import java.util.Vector;
-
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-import javax.xml.transform.sax.SAXSource;
-
+import com.sun.org.apache.xalan.internal.utils.ObjectFactory;
+import com.sun.org.apache.xalan.internal.xsltc.DOMEnhancedForDTM;
+import com.sun.org.apache.xalan.internal.xsltc.StripFilter;
import com.sun.org.apache.xalan.internal.xsltc.TransletException;
import com.sun.org.apache.xalan.internal.xsltc.compiler.util.ErrorMsg;
-import com.sun.org.apache.xalan.internal.xsltc.DOMEnhancedForDTM;
+import com.sun.org.apache.xalan.internal.xsltc.dom.DOMWSFilter;
import com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager;
import com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet;
import com.sun.org.apache.xalan.internal.xsltc.runtime.Constants;
import com.sun.org.apache.xalan.internal.xsltc.runtime.Parameter;
import com.sun.org.apache.xalan.internal.xsltc.runtime.output.TransletOutputHandlerFactory;
+import com.sun.org.apache.xml.internal.dtm.DTMWSFilter;
import com.sun.org.apache.xml.internal.serializer.SerializationHandler;
-
+import java.io.FileNotFoundException;
+import java.net.MalformedURLException;
+import java.net.UnknownHostException;
+import java.util.Vector;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+import javax.xml.transform.sax.SAXSource;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
-import com.sun.org.apache.xalan.internal.xsltc.StripFilter;
-import com.sun.org.apache.xml.internal.dtm.DTMWSFilter;
-import com.sun.org.apache.xalan.internal.xsltc.dom.DOMWSFilter;
-import com.sun.org.apache.xalan.internal.utils.ObjectFactory;
-
/**
* @author Jacek Ambroziak
* @author Santiago Pericas-Geertsen
@@ -115,8 +111,7 @@ final public class Transform {
// Set the DOM's DOM builder as the XMLReader's SAX2 content handler
XSLTCDTMManager dtmManager =
- (XSLTCDTMManager)XSLTCDTMManager.getDTMManagerClass()
- .newInstance();
+ XSLTCDTMManager.createNewDTMManagerInstance();
DTMWSFilter wsfilter;
if (translet != null && translet instanceof StripFilter) {
diff --git a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java
index 9669bf734ad..3c186a1172b 100644
--- a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java
+++ b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java
@@ -52,6 +52,7 @@ import org.xml.sax.ContentHandler;
import org.xml.sax.InputSource;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
+import org.xml.sax.SAXNotRecognizedException;
import org.xml.sax.SAXParseException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.AttributesImpl;
@@ -476,8 +477,15 @@ public class Parser implements Constants, ContentHandler {
factory.setNamespaceAware(true);
}
final SAXParser parser = factory.newSAXParser();
- parser.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD,
- _xsltc.getProperty(XMLConstants.ACCESS_EXTERNAL_DTD));
+ try {
+ parser.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD,
+ _xsltc.getProperty(XMLConstants.ACCESS_EXTERNAL_DTD));
+ } catch (SAXNotRecognizedException e) {
+ ErrorMsg err = new ErrorMsg(ErrorMsg.WARNING_MSG,
+ parser.getClass().getName() + ": " + e.getMessage());
+ reportError(WARNING, err);
+ }
+
final XMLReader reader = parser.getXMLReader();
return(parse(reader, input));
}
diff --git a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages.java b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages.java
index 90655c6fe45..8595d82bc21 100644
--- a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages.java
+++ b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages.java
@@ -449,7 +449,7 @@ public class ErrorMessages extends ListResourceBundle {
* Note to translators: access to the stylesheet target is denied
*/
{ErrorMsg.ACCESSING_XSLT_TARGET_ERR,
- "Could not read stylesheet target ''{0}'', because ''{1}'' access is not allowed."},
+ "Could not read stylesheet target ''{0}'', because ''{1}'' access is not allowed due to restriction set by the accessExternalStylesheet property."},
/*
* Note to translators: This message represents an internal error in
diff --git a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DocumentCache.java b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DocumentCache.java
index d5695187c0f..79f982489a5 100644
--- a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DocumentCache.java
+++ b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DocumentCache.java
@@ -156,8 +156,7 @@ public final class DocumentCache implements DOMCache {
public DocumentCache(int size) throws SAXException {
this(size, null);
try {
- _dtmManager = (XSLTCDTMManager)XSLTCDTMManager.getDTMManagerClass()
- .newInstance();
+ _dtmManager = XSLTCDTMManager.createNewDTMManagerInstance();
} catch (Exception e) {
throw new SAXException(e);
}
@@ -255,6 +254,7 @@ public final class DocumentCache implements DOMCache {
* Returns a document either by finding it in the cache or
* downloading it and putting it in the cache.
*/
+ @Override
public DOM retrieveDocument(String baseURI, String href, Translet trs) {
CachedDocument doc;
diff --git a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/XSLTCDTMManager.java b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/XSLTCDTMManager.java
index 43eb1024c3e..0cc6d073164 100644
--- a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/XSLTCDTMManager.java
+++ b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/XSLTCDTMManager.java
@@ -30,7 +30,6 @@ import javax.xml.transform.sax.SAXSource;
import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.stax.StAXSource;
-
import com.sun.org.apache.xml.internal.dtm.DTM;
import com.sun.org.apache.xml.internal.dtm.ref.DTMDefaultBase;
import com.sun.org.apache.xml.internal.dtm.DTMException;
@@ -42,7 +41,6 @@ import com.sun.org.apache.xml.internal.utils.SystemIDResolver;
import com.sun.org.apache.xalan.internal.xsltc.trax.DOM2SAX;
import com.sun.org.apache.xalan.internal.xsltc.trax.StAXEvent2SAX;
import com.sun.org.apache.xalan.internal.xsltc.trax.StAXStream2SAX;
-import com.sun.org.apache.xalan.internal.utils.ObjectFactory;
import org.xml.sax.InputSource;
import org.xml.sax.SAXNotRecognizedException;
@@ -55,13 +53,6 @@ import org.xml.sax.XMLReader;
public class XSLTCDTMManager extends DTMManagerDefault
{
- /** The default class name to use as the manager. */
- private static final String DEFAULT_CLASS_NAME =
- "com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager";
-
- private static final String DEFAULT_PROP_NAME =
- "com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager";
-
/** Set this to true if you want a dump of the DTM after creation */
private static final boolean DUMPTREE = false;
@@ -88,42 +79,13 @@ public class XSLTCDTMManager extends DTMManagerDefault
}
/**
- * Look up the class that provides the XSLTC DTM Manager service.
- * The following lookup procedure is used to find the service provider.
- *
- * - The value of the
- *
com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager
property, is
- * checked.
- * - The
xalan.propeties
file is checked for a property
- * of the same name.
- * - The
- *
META-INF/services/com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager
- * file is checked.
- *
- * The default is com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager
.
+ * Creates a new instance of the XSLTC DTM Manager service.
+ * Creates a new instance of the default class
+ * com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager
.
*/
- public static Class getDTMManagerClass() {
- return getDTMManagerClass(true);
- }
-
- public static Class getDTMManagerClass(boolean useServicesMechanism) {
- Class mgrClass = null;
- if (useServicesMechanism) {
- mgrClass = ObjectFactory.lookUpFactoryClass(DEFAULT_PROP_NAME,
- null,
- DEFAULT_CLASS_NAME);
- } else {
- try {
- mgrClass = ObjectFactory.findProviderClass(DEFAULT_CLASS_NAME, true);
- } catch (Exception e) {
- //will not happen
- }
- }
- // If no class found, default to this one. (This should never happen -
- // the ObjectFactory has already been told that the current class is
- // the default).
- return (mgrClass != null) ? mgrClass : XSLTCDTMManager.class;
- }
+ public static XSLTCDTMManager createNewDTMManagerInstance() {
+ return newInstance();
+ }
/**
* Get an instance of a DTM, loaded with the content from the
@@ -146,6 +108,7 @@ public class XSLTCDTMManager extends DTMManagerDefault
*
* @return a non-null DTM reference.
*/
+ @Override
public DTM getDTM(Source source, boolean unique,
DTMWSFilter whiteSpaceFilter, boolean incremental,
boolean doIndexing)
diff --git a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java
index 554e1fd998d..ddefee2fe0c 100644
--- a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java
+++ b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java
@@ -955,6 +955,9 @@ public final class BasisLibrary {
if (Double.isNaN(d) || Double.isInfinite(d))
return(Double.toString(d));
+ //Convert -0.0 to +0.0 other values remains the same
+ d = d + 0.0;
+
// Use the XPath formatter to ignore locales
StringBuffer result = threadLocalStringBuffer.get();
result.setLength(0);
diff --git a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.java b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.java
index a15d8fad536..fdd89643721 100644
--- a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.java
+++ b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.java
@@ -23,6 +23,17 @@
package com.sun.org.apache.xalan.internal.xsltc.trax;
+import com.sun.org.apache.xalan.internal.XalanConstants;
+import com.sun.org.apache.xalan.internal.utils.FactoryImpl;
+import com.sun.org.apache.xalan.internal.utils.ObjectFactory;
+import com.sun.org.apache.xalan.internal.utils.SecuritySupport;
+import com.sun.org.apache.xalan.internal.xsltc.compiler.Constants;
+import com.sun.org.apache.xalan.internal.xsltc.compiler.SourceLoader;
+import com.sun.org.apache.xalan.internal.xsltc.compiler.XSLTC;
+import com.sun.org.apache.xalan.internal.xsltc.compiler.util.ErrorMsg;
+import com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager;
+import com.sun.org.apache.xml.internal.utils.StopParseException;
+import com.sun.org.apache.xml.internal.utils.StylesheetPIHandler;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
@@ -37,11 +48,9 @@ import java.util.Properties;
import java.util.Vector;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
-
import javax.xml.XMLConstants;
-import javax.xml.parsers.SAXParserFactory;
import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParserFactory;
import javax.xml.transform.ErrorListener;
import javax.xml.transform.Source;
@@ -58,23 +67,9 @@ import javax.xml.transform.sax.SAXSource;
import javax.xml.transform.sax.SAXTransformerFactory;
import javax.xml.transform.sax.TemplatesHandler;
import javax.xml.transform.sax.TransformerHandler;
+import javax.xml.transform.stax.*;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stax.*;
-
-import com.sun.org.apache.xml.internal.utils.StylesheetPIHandler;
-import com.sun.org.apache.xml.internal.utils.StopParseException;
-
-import com.sun.org.apache.xalan.internal.XalanConstants;
-import com.sun.org.apache.xalan.internal.xsltc.compiler.Constants;
-import com.sun.org.apache.xalan.internal.xsltc.compiler.SourceLoader;
-import com.sun.org.apache.xalan.internal.xsltc.compiler.XSLTC;
-import com.sun.org.apache.xalan.internal.xsltc.compiler.util.ErrorMsg;
-import com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager;
-import com.sun.org.apache.xalan.internal.utils.ObjectFactory;
-import com.sun.org.apache.xalan.internal.utils.FactoryImpl;
-import com.sun.org.apache.xalan.internal.utils.SecuritySupport;
-
import org.xml.sax.InputSource;
import org.xml.sax.XMLFilter;
import org.xml.sax.XMLReader;
@@ -200,14 +195,6 @@ public class TransformerFactoryImpl
*/
private int _indentNumber = -1;
- /**
- * The provider of the XSLTC DTM Manager service. This is fixed for any
- * instance of this class. In order to change service providers, a new
- * XSLTC TransformerFactory
must be instantiated.
- * @see XSLTCDTMManager#getDTMManagerClass()
- */
- private Class m_DTMManagerClass;
-
/**
* State of secure processing feature.
*/
@@ -246,7 +233,6 @@ public class TransformerFactoryImpl
}
private TransformerFactoryImpl(boolean useServicesMechanism) {
- this.m_DTMManagerClass = XSLTCDTMManager.getDTMManagerClass(useServicesMechanism);
this._useServicesMechanism = useServicesMechanism;
String defaultAccess = XalanConstants.EXTERNAL_ACCESS_DEFAULT;
@@ -269,6 +255,7 @@ public class TransformerFactoryImpl
* @param listener The error listener to use with the TransformerFactory
* @throws IllegalArgumentException
*/
+ @Override
public void setErrorListener(ErrorListener listener)
throws IllegalArgumentException
{
@@ -286,6 +273,7 @@ public class TransformerFactoryImpl
*
* @return The error listener used with the TransformerFactory
*/
+ @Override
public ErrorListener getErrorListener() {
return _errorListener;
}
@@ -298,6 +286,7 @@ public class TransformerFactoryImpl
* @return An object representing the attribute value
* @throws IllegalArgumentException
*/
+ @Override
public Object getAttribute(String name)
throws IllegalArgumentException
{
@@ -337,6 +326,7 @@ public class TransformerFactoryImpl
* @param value An object representing the attribute value
* @throws IllegalArgumentException
*/
+ @Override
public void setAttribute(String name, Object value)
throws IllegalArgumentException
{
@@ -459,6 +449,7 @@ public class TransformerFactoryImpl
* or the Transformer
s or Template
s it creates cannot support this feature.
* @throws NullPointerException If the name
parameter is null.
*/
+ @Override
public void setFeature(String name, boolean value)
throws TransformerConfigurationException {
@@ -503,6 +494,7 @@ public class TransformerFactoryImpl
* @param name The feature name
* @return 'true' if feature is supported, 'false' if not
*/
+ @Override
public boolean getFeature(String name) {
// All supported features should be listed here
String[] features = {
@@ -554,6 +546,7 @@ public class TransformerFactoryImpl
* @return The URLResolver used for this TransformerFactory and all
* Templates and Transformer objects created using this factory
*/
+ @Override
public URIResolver getURIResolver() {
return _uriResolver;
}
@@ -568,6 +561,7 @@ public class TransformerFactoryImpl
* @param resolver The URLResolver used for this TransformerFactory and all
* Templates and Transformer objects created using this factory
*/
+ @Override
public void setURIResolver(URIResolver resolver) {
_uriResolver = resolver;
}
@@ -587,13 +581,14 @@ public class TransformerFactoryImpl
* @return A Source object suitable for passing to the TransformerFactory.
* @throws TransformerConfigurationException
*/
+ @Override
public Source getAssociatedStylesheet(Source source, String media,
String title, String charset)
throws TransformerConfigurationException {
String baseId;
- XMLReader reader = null;
- InputSource isource = null;
+ XMLReader reader;
+ InputSource isource;
/**
@@ -675,6 +670,7 @@ public class TransformerFactoryImpl
* @return A Transformer object that simply copies the source to the result.
* @throws TransformerConfigurationException
*/
+ @Override
public Transformer newTransformer()
throws TransformerConfigurationException
{
@@ -700,6 +696,7 @@ public class TransformerFactoryImpl
* @return A Templates object that can be used to create Transformers.
* @throws TransformerConfigurationException
*/
+ @Override
public Transformer newTransformer(Source source) throws
TransformerConfigurationException
{
@@ -763,6 +760,7 @@ public class TransformerFactoryImpl
* @return A Templates object that can be used to create Transformers.
* @throws TransformerConfigurationException
*/
+ @Override
public Templates newTemplates(Source source)
throws TransformerConfigurationException
{
@@ -796,7 +794,7 @@ public class TransformerFactoryImpl
// If _autoTranslet is true, we will try to load the bytecodes
// from the translet classes without compiling the stylesheet.
if (_autoTranslet) {
- byte[][] bytecodes = null;
+ byte[][] bytecodes;
String transletClassName = getTransletBaseName(source);
if (_packageName != null)
@@ -918,7 +916,7 @@ public class TransformerFactoryImpl
// Check that the transformation went well before returning
if (bytecodes == null) {
Vector errs = xsltc.getErrors();
- ErrorMsg err = null;
+ ErrorMsg err;
if (errs != null) {
err = (ErrorMsg)errs.elementAt(errs.size()-1);
} else {
@@ -963,6 +961,7 @@ public class TransformerFactoryImpl
* @return A TemplatesHandler object that can handle SAX events
* @throws TransformerConfigurationException
*/
+ @Override
public TemplatesHandler newTemplatesHandler()
throws TransformerConfigurationException
{
@@ -982,6 +981,7 @@ public class TransformerFactoryImpl
* @return A TransformerHandler object that can handle SAX events
* @throws TransformerConfigurationException
*/
+ @Override
public TransformerHandler newTransformerHandler()
throws TransformerConfigurationException
{
@@ -1002,6 +1002,7 @@ public class TransformerFactoryImpl
* @return A TransformerHandler object that can handle SAX events
* @throws TransformerConfigurationException
*/
+ @Override
public TransformerHandler newTransformerHandler(Source src)
throws TransformerConfigurationException
{
@@ -1022,6 +1023,7 @@ public class TransformerFactoryImpl
* @return A TransformerHandler object that can handle SAX events
* @throws TransformerConfigurationException
*/
+ @Override
public TransformerHandler newTransformerHandler(Templates templates)
throws TransformerConfigurationException
{
@@ -1039,6 +1041,7 @@ public class TransformerFactoryImpl
* @return An XMLFilter object, or null if this feature is not supported.
* @throws TransformerConfigurationException
*/
+ @Override
public XMLFilter newXMLFilter(Source src)
throws TransformerConfigurationException
{
@@ -1056,6 +1059,7 @@ public class TransformerFactoryImpl
* @return An XMLFilter object, or null if this feature is not supported.
* @throws TransformerConfigurationException
*/
+ @Override
public XMLFilter newXMLFilter(Templates templates)
throws TransformerConfigurationException
{
@@ -1087,6 +1091,7 @@ public class TransformerFactoryImpl
* @throws TransformerException if the application chooses to discontinue
* the transformation (always does in our case).
*/
+ @Override
public void error(TransformerException e)
throws TransformerException
{
@@ -1115,6 +1120,7 @@ public class TransformerFactoryImpl
* @throws TransformerException if the application chooses to discontinue
* the transformation (always does in our case).
*/
+ @Override
public void fatalError(TransformerException e)
throws TransformerException
{
@@ -1143,6 +1149,7 @@ public class TransformerFactoryImpl
* @throws TransformerException if the application chooses to discontinue
* the transformation (never does in our case).
*/
+ @Override
public void warning(TransformerException e)
throws TransformerException
{
@@ -1166,6 +1173,7 @@ public class TransformerFactoryImpl
* @param xsltc The compiler that resuests the document
* @return An InputSource with the loaded document
*/
+ @Override
public InputSource loadSource(String href, String context, XSLTC xsltc) {
try {
if (_uriResolver != null) {
@@ -1252,7 +1260,7 @@ public class TransformerFactoryImpl
Vector bytecodes = new Vector();
int fileLength = (int)transletFile.length();
if (fileLength > 0) {
- FileInputStream input = null;
+ FileInputStream input;
try {
input = new FileInputStream(transletFile);
}
@@ -1284,6 +1292,7 @@ public class TransformerFactoryImpl
// Find all the auxiliary files which have a name pattern of "transletClass$nnn.class".
final String transletAuxPrefix = transletName + "$";
File[] auxfiles = transletParentFile.listFiles(new FilenameFilter() {
+ @Override
public boolean accept(File dir, String name)
{
return (name.endsWith(".class") && name.startsWith(transletAuxPrefix));
@@ -1347,7 +1356,7 @@ public class TransformerFactoryImpl
xslFile = new File(xslFileName);
// Construct the path for the jar file
- String jarPath = null;
+ String jarPath;
if (_destinationDirectory != null)
jarPath = _destinationDirectory + "/" + _jarFileName;
else {
@@ -1372,7 +1381,7 @@ public class TransformerFactoryImpl
}
// Create a ZipFile object for the jar file
- ZipFile jarFile = null;
+ ZipFile jarFile;
try {
jarFile = new ZipFile(file);
}
@@ -1490,7 +1499,7 @@ public class TransformerFactoryImpl
if (file.exists())
return systemId;
else {
- URL url = null;
+ URL url;
try {
url = new URL(systemId);
}
@@ -1509,9 +1518,9 @@ public class TransformerFactoryImpl
}
/**
- * Returns the Class object the provides the XSLTC DTM Manager service.
+ * Returns a new instance of the XSLTC DTM Manager service.
*/
- protected Class getDTMManagerClass() {
- return m_DTMManagerClass;
+ protected final XSLTCDTMManager createNewDTMManagerInstance() {
+ return XSLTCDTMManager.createNewDTMManagerInstance();
}
}
diff --git a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerHandlerImpl.java b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerHandlerImpl.java
index e1bb5141b64..cd4b4be14e2 100644
--- a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerHandlerImpl.java
+++ b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerHandlerImpl.java
@@ -96,6 +96,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
* resolved.
* @return The systemID that was set with setSystemId(String id)
*/
+ @Override
public String getSystemId() {
return _systemId;
}
@@ -106,6 +107,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
* resolved.
* @param id Base URI for this stylesheet
*/
+ @Override
public void setSystemId(String id) {
_systemId = id;
}
@@ -116,6 +118,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
* order to set parameters and output properties.
* @return The Transformer object
*/
+ @Override
public Transformer getTransformer() {
return _transformer;
}
@@ -127,6 +130,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
* @param result A Result instance, should not be null
* @throws IllegalArgumentException if result is invalid for some reason
*/
+ @Override
public void setResult(Result result) throws IllegalArgumentException {
_result = result;
@@ -166,6 +170,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
* Implements org.xml.sax.ContentHandler.characters()
* Receive notification of character data.
*/
+ @Override
public void characters(char[] ch, int start, int length)
throws SAXException
{
@@ -176,6 +181,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
* Implements org.xml.sax.ContentHandler.startDocument()
* Receive notification of the beginning of a document.
*/
+ @Override
public void startDocument() throws SAXException {
// Make sure setResult() was called before the first SAX event
if (_result == null) {
@@ -189,10 +195,8 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
// Create an internal DOM (not W3C) and get SAX2 input handler
try {
- dtmManager =
- (XSLTCDTMManager)_transformer.getTransformerFactory()
- .getDTMManagerClass()
- .newInstance();
+ dtmManager = _transformer.getTransformerFactory()
+ .createNewDTMManagerInstance();
} catch (Exception e) {
throw new SAXException(e);
}
@@ -230,6 +234,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
* Implements org.xml.sax.ContentHandler.endDocument()
* Receive notification of the end of a document.
*/
+ @Override
public void endDocument() throws SAXException {
// Signal to the DOMBuilder that the document is complete
_handler.endDocument();
@@ -260,6 +265,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
* Implements org.xml.sax.ContentHandler.startElement()
* Receive notification of the beginning of an element.
*/
+ @Override
public void startElement(String uri, String localName,
String qname, Attributes attributes)
throws SAXException
@@ -271,6 +277,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
* Implements org.xml.sax.ContentHandler.endElement()
* Receive notification of the end of an element.
*/
+ @Override
public void endElement(String namespaceURI, String localName, String qname)
throws SAXException
{
@@ -281,6 +288,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
* Implements org.xml.sax.ContentHandler.processingInstruction()
* Receive notification of a processing instruction.
*/
+ @Override
public void processingInstruction(String target, String data)
throws SAXException
{
@@ -290,6 +298,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
/**
* Implements org.xml.sax.ext.LexicalHandler.startCDATA()
*/
+ @Override
public void startCDATA() throws SAXException {
if (_lexHandler != null) {
_lexHandler.startCDATA();
@@ -299,6 +308,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
/**
* Implements org.xml.sax.ext.LexicalHandler.endCDATA()
*/
+ @Override
public void endCDATA() throws SAXException {
if (_lexHandler != null) {
_lexHandler.endCDATA();
@@ -309,6 +319,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
* Implements org.xml.sax.ext.LexicalHandler.comment()
* Receieve notification of a comment
*/
+ @Override
public void comment(char[] ch, int start, int length)
throws SAXException
{
@@ -322,6 +333,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
* Receive notification of ignorable whitespace in element
* content. Similar to characters(char[], int, int).
*/
+ @Override
public void ignorableWhitespace(char[] ch, int start, int length)
throws SAXException
{
@@ -332,6 +344,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
* Implements org.xml.sax.ContentHandler.setDocumentLocator()
* Receive an object for locating the origin of SAX document events.
*/
+ @Override
public void setDocumentLocator(Locator locator) {
_locator = locator;
@@ -344,6 +357,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
* Implements org.xml.sax.ContentHandler.skippedEntity()
* Receive notification of a skipped entity.
*/
+ @Override
public void skippedEntity(String name) throws SAXException {
_handler.skippedEntity(name);
}
@@ -352,6 +366,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
* Implements org.xml.sax.ContentHandler.startPrefixMapping()
* Begin the scope of a prefix-URI Namespace mapping.
*/
+ @Override
public void startPrefixMapping(String prefix, String uri)
throws SAXException {
_handler.startPrefixMapping(prefix, uri);
@@ -361,6 +376,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
* Implements org.xml.sax.ContentHandler.endPrefixMapping()
* End the scope of a prefix-URI Namespace mapping.
*/
+ @Override
public void endPrefixMapping(String prefix) throws SAXException {
_handler.endPrefixMapping(prefix);
}
@@ -368,6 +384,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
/**
* Implements org.xml.sax.ext.LexicalHandler.startDTD()
*/
+ @Override
public void startDTD(String name, String publicId, String systemId)
throws SAXException
{
@@ -379,6 +396,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
/**
* Implements org.xml.sax.ext.LexicalHandler.endDTD()
*/
+ @Override
public void endDTD() throws SAXException {
if (_lexHandler != null) {
_lexHandler.endDTD();
@@ -388,6 +406,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
/**
* Implements org.xml.sax.ext.LexicalHandler.startEntity()
*/
+ @Override
public void startEntity(String name) throws SAXException {
if (_lexHandler != null) {
_lexHandler.startEntity(name);
@@ -397,6 +416,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
/**
* Implements org.xml.sax.ext.LexicalHandler.endEntity()
*/
+ @Override
public void endEntity(String name) throws SAXException {
if (_lexHandler != null) {
_lexHandler.endEntity(name);
@@ -406,6 +426,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
/**
* Implements org.xml.sax.DTDHandler.unparsedEntityDecl()
*/
+ @Override
public void unparsedEntityDecl(String name, String publicId,
String systemId, String notationName) throws SAXException
{
@@ -418,6 +439,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
/**
* Implements org.xml.sax.DTDHandler.notationDecl()
*/
+ @Override
public void notationDecl(String name, String publicId, String systemId)
throws SAXException
{
@@ -429,6 +451,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
/**
* Implements org.xml.sax.ext.DeclHandler.attributeDecl()
*/
+ @Override
public void attributeDecl(String eName, String aName, String type,
String valueDefault, String value) throws SAXException
{
@@ -440,6 +463,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
/**
* Implements org.xml.sax.ext.DeclHandler.elementDecl()
*/
+ @Override
public void elementDecl(String name, String model)
throws SAXException
{
@@ -451,6 +475,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
/**
* Implements org.xml.sax.ext.DeclHandler.externalEntityDecl()
*/
+ @Override
public void externalEntityDecl(String name, String publicId, String systemId)
throws SAXException
{
@@ -462,6 +487,7 @@ public class TransformerHandlerImpl implements TransformerHandler, DeclHandler {
/**
* Implements org.xml.sax.ext.DeclHandler.externalEntityDecl()
*/
+ @Override
public void internalEntityDecl(String name, String value)
throws SAXException
{
diff --git a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java
index a32ab8267f8..63446e734e2 100644
--- a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java
+++ b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java
@@ -99,10 +99,6 @@ import org.xml.sax.ext.LexicalHandler;
public final class TransformerImpl extends Transformer
implements DOMCache, ErrorListener
{
- private final static String EMPTY_STRING = "";
- private final static String NO_STRING = "no";
- private final static String YES_STRING = "yes";
- private final static String XML_STRING = "xml";
private final static String LEXICAL_HANDLER_PROPERTY =
"http://xml.org/sax/properties/lexical-handler";
@@ -156,7 +152,7 @@ public final class TransformerImpl extends Transformer
private TransletOutputHandlerFactory _tohFactory = null;
/**
- * A reference to a internal DOM represenation of the input.
+ * A reference to a internal DOM representation of the input.
*/
private DOM _dom = null;
@@ -238,6 +234,7 @@ public final class TransformerImpl extends Transformer
_errorListener = errorListener;
}
+ @Override
public void displayMessage(String msg) {
if(_errorListener == null) {
System.err.println(msg);
@@ -323,6 +320,7 @@ public final class TransformerImpl extends Transformer
* @param result Will contain the output from the transformation
* @throws TransformerException
*/
+ @Override
public void transform(Source source, Result result)
throws TransformerException
{
@@ -465,7 +463,7 @@ public final class TransformerImpl extends Transformer
// System Id may be in one of several forms, (1) a uri
// that starts with 'file:', (2) uri that starts with 'http:'
// or (3) just a filename on the local system.
- URL url = null;
+ URL url;
if (systemId.startsWith("file:")) {
// if StreamResult(File) or setSystemID(File) was used,
// the systemId will be URI encoded as a result of File.toURI(),
@@ -537,7 +535,7 @@ public final class TransformerImpl extends Transformer
*/
private DOM getDOM(Source source) throws TransformerException {
try {
- DOM dom = null;
+ DOM dom;
if (source != null) {
DTMWSFilter wsfilter;
@@ -552,8 +550,7 @@ public final class TransformerImpl extends Transformer
if (_dtmManager == null) {
_dtmManager =
- (XSLTCDTMManager)_tfactory.getDTMManagerClass()
- .newInstance();
+ _tfactory.createNewDTMManagerInstance();
_dtmManager.setServicesMechnism(_useServicesMechanism);
}
dom = (DOM)_dtmManager.getDTM(source, false, wsfilter, true,
@@ -676,8 +673,8 @@ public final class TransformerImpl extends Transformer
}
} else if (source instanceof StAXSource) {
final StAXSource staxSource = (StAXSource)source;
- StAXEvent2SAX staxevent2sax = null;
- StAXStream2SAX staxStream2SAX = null;
+ StAXEvent2SAX staxevent2sax;
+ StAXStream2SAX staxStream2SAX;
if (staxSource.getXMLEventReader() != null) {
final XMLEventReader xmlEventReader = staxSource.getXMLEventReader();
staxevent2sax = new StAXEvent2SAX(xmlEventReader);
@@ -770,6 +767,7 @@ public final class TransformerImpl extends Transformer
*
* @return The error event handler currently in effect
*/
+ @Override
public ErrorListener getErrorListener() {
return _errorListener;
}
@@ -783,6 +781,7 @@ public final class TransformerImpl extends Transformer
* @param listener The error event listener to use
* @throws IllegalArgumentException
*/
+ @Override
public void setErrorListener(ErrorListener listener)
throws IllegalArgumentException {
if (listener == null) {
@@ -830,7 +829,7 @@ public final class TransformerImpl extends Transformer
// Return a 'null' string if no CDATA section elements were specified
if (cdata == null) return null;
- StringBuffer result = new StringBuffer();
+ final StringBuilder result = new StringBuilder();
// Get an enumeration of all the elements in the hashtable
Enumeration elements = cdata.keys();
@@ -857,6 +856,7 @@ public final class TransformerImpl extends Transformer
*
* @return Properties in effect for this Transformer
*/
+ @Override
public Properties getOutputProperties() {
return (Properties) _properties.clone();
}
@@ -870,6 +870,7 @@ public final class TransformerImpl extends Transformer
* @param name A non-null string that contains the name of the property
* @throws IllegalArgumentException if the property name is not known
*/
+ @Override
public String getOutputProperty(String name)
throws IllegalArgumentException
{
@@ -889,6 +890,7 @@ public final class TransformerImpl extends Transformer
* @param properties The properties to use for the Transformer
* @throws IllegalArgumentException Never, errors are ignored
*/
+ @Override
public void setOutputProperties(Properties properties)
throws IllegalArgumentException
{
@@ -925,6 +927,7 @@ public final class TransformerImpl extends Transformer
* @param value The value to assign to the property
* @throws IllegalArgumentException Never, errors are ignored
*/
+ @Override
public void setOutputProperty(String name, String value)
throws IllegalArgumentException
{
@@ -1205,6 +1208,7 @@ public final class TransformerImpl extends Transformer
* @param name The name of the parameter
* @param value The value to assign to the parameter
*/
+ @Override
public void setParameter(String name, Object value) {
if (value == null) {
@@ -1228,6 +1232,7 @@ public final class TransformerImpl extends Transformer
* Clear all parameters set with setParameter. Clears the translet's
* parameter stack.
*/
+ @Override
public void clearParameters() {
if (_isIdentity && _parameters != null) {
_parameters.clear();
@@ -1245,6 +1250,7 @@ public final class TransformerImpl extends Transformer
* @param name The name of the parameter
* @return An object that contains the value assigned to the parameter
*/
+ @Override
public final Object getParameter(String name) {
if (_isIdentity) {
return (_parameters != null) ? _parameters.get(name) : null;
@@ -1260,6 +1266,7 @@ public final class TransformerImpl extends Transformer
*
* @return The URLResolver object currently in use
*/
+ @Override
public URIResolver getURIResolver() {
return _uriResolver;
}
@@ -1270,6 +1277,7 @@ public final class TransformerImpl extends Transformer
*
* @param resolver The URIResolver to use in document()
*/
+ @Override
public void setURIResolver(URIResolver resolver) {
_uriResolver = resolver;
}
@@ -1288,6 +1296,7 @@ public final class TransformerImpl extends Transformer
* @param href The href argument passed to the document function.
* @param translet A reference to the translet requesting the document
*/
+ @Override
public DOM retrieveDocument(String baseURI, String href, Translet translet) {
try {
// Argument to document function was: document('');
@@ -1330,6 +1339,7 @@ public final class TransformerImpl extends Transformer
* @throws TransformerException if the application chooses to discontinue
* the transformation (always does in our case).
*/
+ @Override
public void error(TransformerException e)
throws TransformerException
{
@@ -1358,6 +1368,7 @@ public final class TransformerImpl extends Transformer
* @throws TransformerException if the application chooses to discontinue
* the transformation (always does in our case).
*/
+ @Override
public void fatalError(TransformerException e)
throws TransformerException
{
@@ -1386,6 +1397,7 @@ public final class TransformerImpl extends Transformer
* @throws TransformerException if the application chooses to discontinue
* the transformation (never does in our case).
*/
+ @Override
public void warning(TransformerException e)
throws TransformerException
{
@@ -1406,6 +1418,7 @@ public final class TransformerImpl extends Transformer
* created
* @since 1.5
*/
+ @Override
public void reset() {
_method = null;
diff --git a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/Util.java b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/Util.java
index bef160df947..25c45c04be9 100644
--- a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/Util.java
+++ b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/Util.java
@@ -105,8 +105,6 @@ public final class Util {
if (reader == null) {
try {
reader= XMLReaderFactory.createXMLReader();
- reader.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD,
- xsltc.getProperty(XMLConstants.ACCESS_EXTERNAL_DTD));
} catch (Exception e ) {
try {
@@ -138,6 +136,14 @@ public final class Util {
reader.setFeature
("http://xml.org/sax/features/namespace-prefixes",false);
+ try {
+ reader.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD,
+ xsltc.getProperty(XMLConstants.ACCESS_EXTERNAL_DTD));
+ } catch (SAXNotRecognizedException e) {
+ System.err.println("Warning: " + reader.getClass().getName() + ": "
+ + e.getMessage());
+ }
+
xsltc.setXMLReader(reader);
}catch (SAXNotRecognizedException snre ) {
throw new TransformerConfigurationException
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_de.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_de.properties
index 3f453386c34..19c4ba19595 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_de.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_de.properties
@@ -1,37 +1,34 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces
# DOM implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: DOMMessages_de.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: DOMMessages_de.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 01:16:51 gmolloy Exp $
BadMessageKey = Die zum Meldungsschl\u00FCssel geh\u00F6rige Fehlermeldung kann nicht gefunden werden.
FormatFailed = Beim Formatieren der folgenden Meldung ist ein interner Fehler aufgetreten:\n
@@ -71,14 +68,14 @@ unsupported-encoding = Codierung {0} wird nicht unterst\u00FCtzt.
#Error codes used in DOM Normalizer
InvalidXMLCharInDOM = Ung\u00FCltiges XML-Zeichen (Unicode: 0x{0}) wurde bei der Normalisierung im DOM gefunden.
-UndeclaredEntRefInAttrValue = Attribut \"{0}\" Wert \"{1}\" referenzierte eine nicht deklarierte Entit\u00E4t.
+UndeclaredEntRefInAttrValue = Attribut "{0}" Wert "{1}" referenzierte eine nicht deklarierte Entit\u00E4t.
NullLocalElementName = Lokaler Nullname wurde bei der Namespace-Normalisierung von Element {0} gefunden.
NullLocalAttrName = Lokaler Nullname wurde bei der Namespace-Normalisierung von Attribut {0} gefunden.
#Error codes used in DOMParser
-InvalidDocumentClassName = Der Klassenname der Dokument-Factory \"{0}\", mit dem der DOM-Baum erstellt wurde, hat nicht den Typ org.w3c.dom.Document.
-MissingDocumentClassName = Der Klassenname der Dokument-Factory \"{0}\", mit dem der DOM-Baum erstellt wurde, konnte nicht gefunden werden.
-CannotCreateDocumentClass = Die Klasse mit dem Namen \"{0}\" konnte nicht als org.w3c.dom.Document erstellt werden.
+InvalidDocumentClassName = Der Klassenname der Dokument-Factory "{0}", mit dem der DOM-Baum erstellt wurde, hat nicht den Typ org.w3c.dom.Document.
+MissingDocumentClassName = Der Klassenname der Dokument-Factory "{0}", mit dem der DOM-Baum erstellt wurde, konnte nicht gefunden werden.
+CannotCreateDocumentClass = Die Klasse mit dem Namen "{0}" konnte nicht als org.w3c.dom.Document erstellt werden.
# Error codes used by JAXP DocumentBuilder
jaxp-order-not-supported = Eigenschaft "{0}" muss vor der Eigenschaft "{1}" festgelegt werden.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_es.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_es.properties
index bf9e5e08081..26f25eb9db9 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_es.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_es.properties
@@ -1,37 +1,34 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces
# DOM implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: DOMMessages_es.properties 3019 2011-02-28 19:57:14Z joehw $
+# @version $Id: DOMMessages_es.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 05:10:53 gmolloy Exp $
BadMessageKey = No se ha encontrado el mensaje de error correspondiente a la clave de mensaje.
FormatFailed = Se ha producido un error interno al formatear el siguiente mensaje:\n
@@ -71,14 +68,14 @@ unsupported-encoding = La codificaci\u00F3n {0} no est\u00E1 soportada.
#Error codes used in DOM Normalizer
InvalidXMLCharInDOM = Se ha encontrado un car\u00E1cter XML (Unicode: 0x{0}) no v\u00E1lido en DOM durante la normalizaci\u00F3n.
-UndeclaredEntRefInAttrValue = El atributo \"{0}\" con valor \"{1}\" ha hecho referencia a una entidad que no se declar\u00F3.
+UndeclaredEntRefInAttrValue = El atributo "{0}" con valor "{1}" ha hecho referencia a una entidad que no se declar\u00F3.
NullLocalElementName = Se ha encontrado un nombre local nulo durante la normalizaci\u00F3n del espacio de nombres del elemento {0}.
NullLocalAttrName = Se ha encontrado un nombre local nulo durante la normalizaci\u00F3n del espacio de nombres del atributo {0}.
#Error codes used in DOMParser
-InvalidDocumentClassName = El nombre de clase de la f\u00E1brica de documentos \"{0}\" utilizado para construir el \u00E1rbol DOM no es del tipo org.w3c.dom.Document.
-MissingDocumentClassName = No se ha encontrado el nombre de clase de la f\u00E1brica de documentos \"{0}\" utilizado para construir el \u00E1rbol DOM.
-CannotCreateDocumentClass = No se ha podido construir la clase con el nombre \"{0}\" como un org.w3c.dom.Document.
+InvalidDocumentClassName = El nombre de clase de la f\u00E1brica de documentos "{0}" utilizado para construir el \u00E1rbol DOM no es del tipo org.w3c.dom.Document.
+MissingDocumentClassName = No se ha encontrado el nombre de clase de la f\u00E1brica de documentos "{0}" utilizado para construir el \u00E1rbol DOM.
+CannotCreateDocumentClass = No se ha podido construir la clase con el nombre "{0}" como un org.w3c.dom.Document.
# Error codes used by JAXP DocumentBuilder
jaxp-order-not-supported = La propiedad ''{0}'' debe definirse antes de definir la propiedad ''{1}''.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_fr.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_fr.properties
index 5a26ff7d999..cd1aed4acdc 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_fr.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_fr.properties
@@ -1,37 +1,34 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces
# DOM implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: DOMMessages_fr.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: DOMMessages_fr.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 02:16:52 gmolloy Exp $
BadMessageKey = Le message d'erreur correspondant \u00E0 la cl\u00E9 de message est introuvable.
FormatFailed = Une erreur interne est survenue lors du formatage du message suivant :\n
@@ -71,14 +68,14 @@ unsupported-encoding = L''encodage {0} n''est pas pris en charge.
#Error codes used in DOM Normalizer
InvalidXMLCharInDOM = Un caract\u00E8re XML non valide (Unicode : 0x{0}) a \u00E9t\u00E9 trouv\u00E9 dans le DOM au cours de la normalisation.
-UndeclaredEntRefInAttrValue = La valeur de l''attribut \"{0}\", \"{1}\", r\u00E9f\u00E9ren\u00E7ait une entit\u00E9 non d\u00E9clar\u00E9e.
+UndeclaredEntRefInAttrValue = La valeur de l''attribut "{0}", "{1}", r\u00E9f\u00E9ren\u00E7ait une entit\u00E9 non d\u00E9clar\u00E9e.
NullLocalElementName = Un nom local NULL a \u00E9t\u00E9 d\u00E9tect\u00E9 au cours de la normalisation de l''espace de noms de l''\u00E9l\u00E9ment {0}.
NullLocalAttrName = Un nom local NULL a \u00E9t\u00E9 d\u00E9tect\u00E9 au cours de la normalisation de l''espace de noms de l''attribut {0}.
#Error codes used in DOMParser
-InvalidDocumentClassName = Le nom de classe de la fabrique de documents \"{0}\" utilis\u00E9e pour construire l''arborescence DOM n''est pas de type org.w3c.dom.Document.
-MissingDocumentClassName = Le nom de classe de la fabrique de documents \"{0}\" utilis\u00E9e pour construire l''arborescence DOM est introuvable.
-CannotCreateDocumentClass = La classe nomm\u00E9e \"{0}\" n''a pas pu \u00EAtre construite en tant que org.w3c.dom.Document.
+InvalidDocumentClassName = Le nom de classe de la fabrique de documents "{0}" utilis\u00E9e pour construire l''arborescence DOM n''est pas de type org.w3c.dom.Document.
+MissingDocumentClassName = Le nom de classe de la fabrique de documents "{0}" utilis\u00E9e pour construire l''arborescence DOM est introuvable.
+CannotCreateDocumentClass = La classe nomm\u00E9e "{0}" n''a pas pu \u00EAtre construite en tant que org.w3c.dom.Document.
# Error codes used by JAXP DocumentBuilder
jaxp-order-not-supported = La propri\u00E9t\u00E9 ''{0}'' doit \u00EAtre d\u00E9finie avant la propri\u00E9t\u00E9 ''{1}''.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_it.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_it.properties
index 5e38b1bcc3b..35b5be5ea63 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_it.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_it.properties
@@ -1,37 +1,34 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces
# DOM implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id$
+# @version $Id: DOMMessages_it.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/27 08:14:02 gmolloy Exp $
BadMessageKey = Impossibile trovare il messaggio di errore corrispondente alla chiave di messaggio.
FormatFailed = Si \u00E8 verificato un errore interno durante la formattazione del seguente messaggio:\n
@@ -71,14 +68,14 @@ unsupported-encoding = La codifica {0} non \u00E8 supportata.
#Error codes used in DOM Normalizer
InvalidXMLCharInDOM = \u00C8 stato trovato un carattere XML non valido (Unicode: 0x{0}) in DOM durante la normalizzazione.
-UndeclaredEntRefInAttrValue = L''attributo \"{0}\" con valore \"{1}\" fa riferimento a un''entit\u00E0 non dichiarata.
+UndeclaredEntRefInAttrValue = L''attributo "{0}" con valore "{1}" fa riferimento a un''entit\u00E0 non dichiarata.
NullLocalElementName = \u00C8 stato rilevato un nome locale nullo durante la normalizzazione dello spazio di nomi dell''elemento {0}.
NullLocalAttrName = \u00C8 stato rilevato un nome locale nullo durante la normalizzazione dello spazio di nomi dell''attributo {0}.
#Error codes used in DOMParser
-InvalidDocumentClassName = Il nome classe del document factory \"{0}\" utilizzato per creare la struttura DOM non \u00E8 di tipo org.w3c.dom.Document.
-MissingDocumentClassName = Impossibile trovare il nome classe del document factory \"{0}\" utilizzato per creare la struttura DOM.
-CannotCreateDocumentClass = Impossibile creare la classe denominata \"{0}\" come org.w3c.dom.Document.
+InvalidDocumentClassName = Il nome classe del document factory "{0}" utilizzato per creare la struttura DOM non \u00E8 di tipo org.w3c.dom.Document.
+MissingDocumentClassName = Impossibile trovare il nome classe del document factory "{0}" utilizzato per creare la struttura DOM.
+CannotCreateDocumentClass = Impossibile creare la classe denominata "{0}" come org.w3c.dom.Document.
# Error codes used by JAXP DocumentBuilder
jaxp-order-not-supported = Impostare la propriet\u00E0 ''{0}'' prima di impostare la propriet\u00E0 ''{1}''.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_ja.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_ja.properties
index 28e5f7a6d57..4b0b83dfa96 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_ja.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_ja.properties
@@ -1,37 +1,34 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces
# DOM implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: DOMMessages_ja.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: DOMMessages_ja.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 01:05:12 gmolloy Exp $
BadMessageKey = \u30E1\u30C3\u30BB\u30FC\u30B8\u30FB\u30AD\u30FC\u306B\u5BFE\u5FDC\u3059\u308B\u30A8\u30E9\u30FC\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
FormatFailed = \u6B21\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u306E\u66F8\u5F0F\u8A2D\u5B9A\u4E2D\u306B\u5185\u90E8\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F:\n
@@ -71,14 +68,14 @@ unsupported-encoding = \u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0{0}\u306F
#Error codes used in DOM Normalizer
InvalidXMLCharInDOM = \u6B63\u898F\u5316\u4E2D\u306BDOM\u5185\u306B\u7121\u52B9\u306AXML\u6587\u5B57(Unicode: 0x{0})\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002
-UndeclaredEntRefInAttrValue = \u5C5E\u6027\"{0}\"\u306E\u5024\"{1}\"\u3067\u53C2\u7167\u3055\u308C\u3066\u3044\u308B\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u304C\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+UndeclaredEntRefInAttrValue = \u5C5E\u6027"{0}"\u306E\u5024"{1}"\u3067\u53C2\u7167\u3055\u308C\u3066\u3044\u308B\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u304C\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
NullLocalElementName = \u8981\u7D20{0}\u306E\u30CD\u30FC\u30E0\u30B9\u30DA\u30FC\u30B9\u306E\u6B63\u898F\u5316\u4E2D\u306Bnull\u306E\u30ED\u30FC\u30AB\u30EB\u540D\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002
NullLocalAttrName = \u5C5E\u6027{0}\u306E\u30CD\u30FC\u30E0\u30B9\u30DA\u30FC\u30B9\u306E\u6B63\u898F\u5316\u4E2D\u306Bnull\u306E\u30ED\u30FC\u30AB\u30EB\u540D\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002
#Error codes used in DOMParser
-InvalidDocumentClassName = DOM\u30C4\u30EA\u30FC\u306E\u69CB\u7BC9\u306B\u4F7F\u7528\u3055\u308C\u308B\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u30FB\u30D5\u30A1\u30AF\u30C8\u30EA\"{0}\"\u306E\u30AF\u30E9\u30B9\u540D\u304C\u30BF\u30A4\u30D7org.w3c.dom.Document\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
-MissingDocumentClassName = DOM\u30C4\u30EA\u30FC\u306E\u69CB\u7BC9\u306B\u4F7F\u7528\u3055\u308C\u308B\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u30FB\u30D5\u30A1\u30AF\u30C8\u30EA\"{0}\"\u306E\u30AF\u30E9\u30B9\u540D\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002
-CannotCreateDocumentClass = \"{0}\"\u3068\u3044\u3046\u540D\u524D\u306E\u30AF\u30E9\u30B9\u3092org.w3c.dom.Document\u3068\u3057\u3066\u69CB\u7BC9\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
+InvalidDocumentClassName = DOM\u30C4\u30EA\u30FC\u306E\u69CB\u7BC9\u306B\u4F7F\u7528\u3055\u308C\u308B\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u30FB\u30D5\u30A1\u30AF\u30C8\u30EA"{0}"\u306E\u30AF\u30E9\u30B9\u540D\u304C\u30BF\u30A4\u30D7org.w3c.dom.Document\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+MissingDocumentClassName = DOM\u30C4\u30EA\u30FC\u306E\u69CB\u7BC9\u306B\u4F7F\u7528\u3055\u308C\u308B\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u30FB\u30D5\u30A1\u30AF\u30C8\u30EA"{0}"\u306E\u30AF\u30E9\u30B9\u540D\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002
+CannotCreateDocumentClass = "{0}"\u3068\u3044\u3046\u540D\u524D\u306E\u30AF\u30E9\u30B9\u3092org.w3c.dom.Document\u3068\u3057\u3066\u69CB\u7BC9\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
# Error codes used by JAXP DocumentBuilder
jaxp-order-not-supported = \u30D7\u30ED\u30D1\u30C6\u30A3''{1}''\u3092\u8A2D\u5B9A\u3059\u308B\u524D\u306B\u30D7\u30ED\u30D1\u30C6\u30A3''{0}''\u3092\u8A2D\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_ko.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_ko.properties
index 7db32296fef..25bafbbd34d 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_ko.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_ko.properties
@@ -1,37 +1,34 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces
# DOM implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: DOMMessages_ko.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: DOMMessages_ko.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 02:40:33 gmolloy Exp $
BadMessageKey = \uBA54\uC2DC\uC9C0 \uD0A4\uC5D0 \uD574\uB2F9\uD558\uB294 \uC624\uB958 \uBA54\uC2DC\uC9C0\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
FormatFailed = \uB2E4\uC74C \uBA54\uC2DC\uC9C0\uC758 \uD615\uC2DD\uC744 \uC9C0\uC815\uD558\uB294 \uC911 \uB0B4\uBD80 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.\n
@@ -71,14 +68,14 @@ unsupported-encoding = {0} \uC778\uCF54\uB529\uC740 \uC9C0\uC6D0\uB418\uC9C0 \uC
#Error codes used in DOM Normalizer
InvalidXMLCharInDOM = \uC815\uADDC\uD654 \uC911 DOM\uC5D0\uC11C \uBD80\uC801\uD569\uD55C XML \uBB38\uC790(\uC720\uB2C8\uCF54\uB4DC: 0x{0})\uAC00 \uBC1C\uACAC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
-UndeclaredEntRefInAttrValue = \uC18D\uC131 \"{0}\" \uAC12 \"{1}\"\uC774(\uAC00) \uC120\uC5B8\uB418\uC9C0 \uC54A\uC740 \uC5D4\uD2F0\uD2F0\uB97C \uCC38\uC870\uD588\uC2B5\uB2C8\uB2E4.
+UndeclaredEntRefInAttrValue = \uC18D\uC131 "{0}" \uAC12 "{1}"\uC774(\uAC00) \uC120\uC5B8\uB418\uC9C0 \uC54A\uC740 \uC5D4\uD2F0\uD2F0\uB97C \uCC38\uC870\uD588\uC2B5\uB2C8\uB2E4.
NullLocalElementName = {0} \uC694\uC18C\uC758 \uB124\uC784\uC2A4\uD398\uC774\uC2A4 \uC815\uADDC\uD654 \uC911 \uB110 \uB85C\uCEEC \uC774\uB984\uC774 \uBC1C\uACAC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
NullLocalAttrName = {0} \uC18D\uC131\uC758 \uB124\uC784\uC2A4\uD398\uC774\uC2A4 \uC815\uADDC\uD654 \uC911 \uB110 \uB85C\uCEEC \uC774\uB984\uC774 \uBC1C\uACAC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
#Error codes used in DOMParser
-InvalidDocumentClassName = DOM \uD2B8\uB9AC \uC0DD\uC131\uC5D0 \uC0AC\uC6A9\uB41C \uBB38\uC11C \uD329\uD1A0\uB9AC \"{0}\"\uC758 \uD074\uB798\uC2A4 \uC774\uB984\uC740 org.w3c.dom.Document \uC720\uD615\uC774 \uC544\uB2D9\uB2C8\uB2E4.
-MissingDocumentClassName = DOM \uD2B8\uB9AC \uC0DD\uC131\uC5D0 \uC0AC\uC6A9\uB41C \uBB38\uC11C \uD329\uD1A0\uB9AC \"{0}\"\uC758 \uD074\uB798\uC2A4 \uC774\uB984\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
-CannotCreateDocumentClass = \uC774\uB984\uC774 \"{0}\"\uC778 \uD074\uB798\uC2A4\uB97C org.w3c.dom.Document\uB85C \uC0DD\uC131\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+InvalidDocumentClassName = DOM \uD2B8\uB9AC \uC0DD\uC131\uC5D0 \uC0AC\uC6A9\uB41C \uBB38\uC11C \uD329\uD1A0\uB9AC "{0}"\uC758 \uD074\uB798\uC2A4 \uC774\uB984\uC740 org.w3c.dom.Document \uC720\uD615\uC774 \uC544\uB2D9\uB2C8\uB2E4.
+MissingDocumentClassName = DOM \uD2B8\uB9AC \uC0DD\uC131\uC5D0 \uC0AC\uC6A9\uB41C \uBB38\uC11C \uD329\uD1A0\uB9AC "{0}"\uC758 \uD074\uB798\uC2A4 \uC774\uB984\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+CannotCreateDocumentClass = \uC774\uB984\uC774 "{0}"\uC778 \uD074\uB798\uC2A4\uB97C org.w3c.dom.Document\uB85C \uC0DD\uC131\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
# Error codes used by JAXP DocumentBuilder
jaxp-order-not-supported = ''{1}'' \uC18D\uC131\uC744 \uC124\uC815\uD558\uAE30 \uC804\uC5D0 ''{0}'' \uC18D\uC131\uC744 \uC124\uC815\uD574\uC57C \uD569\uB2C8\uB2E4.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_pt_BR.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_pt_BR.properties
index 279f42aebc7..5054b344d37 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_pt_BR.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_pt_BR.properties
@@ -1,37 +1,34 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces
# DOM implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: DOMMessages_pt_BR.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: DOMMessages_pt_BR.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 07:33:06 gmolloy Exp $
BadMessageKey = N\u00E3o foi poss\u00EDvel encontrar a mensagem de erro correspondente \u00E0 chave da mensagem.
FormatFailed = Ocorreu um erro interno ao formatar a mensagem a seguir:\n
@@ -71,14 +68,14 @@ unsupported-encoding = A codifica\u00E7\u00E3o {0} n\u00E3o \u00E9 suportada.
#Error codes used in DOM Normalizer
InvalidXMLCharInDOM = Um caractere XML inv\u00E1lido (Unicode: 0x {0}) foi encontrado no DOM durante a normaliza\u00E7\u00E3o.
-UndeclaredEntRefInAttrValue = O atributo \"{0}\" valor \"{1}\" mencionou uma entidade que n\u00E3o foi declarada.
+UndeclaredEntRefInAttrValue = O atributo "{0}" valor "{1}" mencionou uma entidade que n\u00E3o foi declarada.
NullLocalElementName = Um nome de local nulo foi encontrado durante a normaliza\u00E7\u00E3o do namespace do elemento {0}.
NullLocalAttrName = Um nome de local nulo foi encontrado durante a normaliza\u00E7\u00E3o do namespace do atributo {0}.
#Error codes used in DOMParser
-InvalidDocumentClassName = O nome da classe do factory do documento \"{0}\" usado para construir a \u00E1rvore DOM n\u00E3o \u00E9 do tipo org.w3c.dom.Document.
-MissingDocumentClassName = N\u00E3o foi poss\u00EDvel encontrar o nome da classe do factory do documento \"{0}\" usado para construir a \u00E1rvore DOM.
-CannotCreateDocumentClass = N\u00E3o foi poss\u00EDvel construir a classe com o nome \"{0}\" como um org.w3c.dom.Document.
+InvalidDocumentClassName = O nome da classe do factory do documento "{0}" usado para construir a \u00E1rvore DOM n\u00E3o \u00E9 do tipo org.w3c.dom.Document.
+MissingDocumentClassName = N\u00E3o foi poss\u00EDvel encontrar o nome da classe do factory do documento "{0}" usado para construir a \u00E1rvore DOM.
+CannotCreateDocumentClass = N\u00E3o foi poss\u00EDvel construir a classe com o nome "{0}" como um org.w3c.dom.Document.
# Error codes used by JAXP DocumentBuilder
jaxp-order-not-supported = A propriedade ''{0}'' deve ser estabelecida antes da defini\u00E7\u00E3o da propriedade ''{1}''.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_sv.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_sv.properties
index beae1b21ecd..2558ec3a5ed 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_sv.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_sv.properties
@@ -1,37 +1,34 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces
# DOM implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: DOMMessages_sv.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: DOMMessages_sv.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 00:46:23 gmolloy Exp $
BadMessageKey = Hittar inte felmeddelandet som motsvarar meddelandenyckeln.
FormatFailed = Ett internt fel intr\u00E4ffade vid formatering av f\u00F6ljande meddelande:\n
@@ -71,14 +68,14 @@ unsupported-encoding = Kodningen {0} st\u00F6ds inte.
#Error codes used in DOM Normalizer
InvalidXMLCharInDOM = Ett ogiltigt XML-tecken (Unicode: 0x{0}) hittades i DOM vid normalisering.
-UndeclaredEntRefInAttrValue = Attributet \"{0}\" med v\u00E4rdet \"{1}\" refererade en enhet som inte har deklarerats.
+UndeclaredEntRefInAttrValue = Attributet "{0}" med v\u00E4rdet "{1}" refererade en enhet som inte har deklarerats.
NullLocalElementName = Ett lokalt namn med null-v\u00E4rde p\u00E5tr\u00E4ffades vid namnrymdsnormalisering av elementet {0}.
NullLocalAttrName = Ett lokalt namn med null-v\u00E4rde p\u00E5tr\u00E4ffades vid namnrymdsnormalisering av attributet {0}.
#Error codes used in DOMParser
-InvalidDocumentClassName = Klassnamnet p\u00E5 dokumentfabrik \"{0}\" som anv\u00E4nds vid konstruktion av DOM-tr\u00E4det \u00E4r inte typ org.w3c.dom.Document.
-MissingDocumentClassName = Hittade inte klassnamnet p\u00E5 dokumentfabrik \"{0}\" som anv\u00E4nds vid konstruktion av DOM-tr\u00E4det.
-CannotCreateDocumentClass = Klassen \"{0}\" kunde inte konstrueras som org.w3c.dom.Document.
+InvalidDocumentClassName = Klassnamnet p\u00E5 dokumentfabrik "{0}" som anv\u00E4nds vid konstruktion av DOM-tr\u00E4det \u00E4r inte typ org.w3c.dom.Document.
+MissingDocumentClassName = Hittade inte klassnamnet p\u00E5 dokumentfabrik "{0}" som anv\u00E4nds vid konstruktion av DOM-tr\u00E4det.
+CannotCreateDocumentClass = Klassen "{0}" kunde inte konstrueras som org.w3c.dom.Document.
# Error codes used by JAXP DocumentBuilder
jaxp-order-not-supported = Egenskapen ''{0}'' m\u00E5ste anges f\u00F6re inst\u00E4llning av egenskapen ''{1}''.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_zh_CN.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_zh_CN.properties
index 222f07ed9ed..ccc991a6e16 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_zh_CN.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_zh_CN.properties
@@ -1,37 +1,34 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces
# DOM implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: DOMMessages_zh_CN.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: DOMMessages_zh_CN.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 01:19:32 gmolloy Exp $
BadMessageKey = \u627E\u4E0D\u5230\u4E0E\u6D88\u606F\u5173\u952E\u5B57\u5BF9\u5E94\u7684\u9519\u8BEF\u6D88\u606F\u3002
FormatFailed = \u8BBE\u7F6E\u4EE5\u4E0B\u6D88\u606F\u7684\u683C\u5F0F\u65F6\u51FA\u73B0\u5185\u90E8\u9519\u8BEF:\n
@@ -71,14 +68,14 @@ unsupported-encoding = \u4E0D\u652F\u6301\u7F16\u7801{0}\u3002
#Error codes used in DOM Normalizer
InvalidXMLCharInDOM = \u8FDB\u884C\u89C4\u8303\u5316\u65F6, \u5728 DOM \u4E2D\u627E\u5230\u7684 XML \u5B57\u7B26 (Unicode: 0x{0}) \u65E0\u6548\u3002
-UndeclaredEntRefInAttrValue = \u5C5E\u6027 \"{0}\" \u503C \"{1}\" \u5F15\u7528\u4E86\u672A\u58F0\u660E\u7684\u5B9E\u4F53\u3002
+UndeclaredEntRefInAttrValue = \u5C5E\u6027 "{0}" \u503C "{1}" \u5F15\u7528\u4E86\u672A\u58F0\u660E\u7684\u5B9E\u4F53\u3002
NullLocalElementName = \u5BF9\u5143\u7D20{0}\u8FDB\u884C\u540D\u79F0\u7A7A\u95F4\u89C4\u8303\u5316\u65F6\u9047\u5230\u4E86\u7A7A\u672C\u5730\u540D\u79F0\u3002
NullLocalAttrName = \u5BF9\u5C5E\u6027{0}\u8FDB\u884C\u540D\u79F0\u7A7A\u95F4\u89C4\u8303\u5316\u65F6\u9047\u5230\u4E86\u7A7A\u672C\u5730\u540D\u79F0\u3002
#Error codes used in DOMParser
-InvalidDocumentClassName = \u7528\u4E8E\u6784\u9020 DOM \u6811\u7684\u6587\u6863\u5DE5\u5382 \"{0}\" \u7684\u7C7B\u540D\u4E0D\u662F org.w3c.dom.Document \u7C7B\u578B\u3002
-MissingDocumentClassName = \u627E\u4E0D\u5230\u7528\u4E8E\u6784\u9020 DOM \u6811\u7684\u6587\u6863\u5DE5\u5382 \"{0}\" \u7684\u7C7B\u540D\u3002
-CannotCreateDocumentClass = \u540D\u4E3A \"{0}\" \u7684\u7C7B\u65E0\u6CD5\u6784\u9020\u4E3A org.w3c.dom.Document\u3002
+InvalidDocumentClassName = \u7528\u4E8E\u6784\u9020 DOM \u6811\u7684\u6587\u6863\u5DE5\u5382 "{0}" \u7684\u7C7B\u540D\u4E0D\u662F org.w3c.dom.Document \u7C7B\u578B\u3002
+MissingDocumentClassName = \u627E\u4E0D\u5230\u7528\u4E8E\u6784\u9020 DOM \u6811\u7684\u6587\u6863\u5DE5\u5382 "{0}" \u7684\u7C7B\u540D\u3002
+CannotCreateDocumentClass = \u540D\u4E3A "{0}" \u7684\u7C7B\u65E0\u6CD5\u6784\u9020\u4E3A org.w3c.dom.Document\u3002
# Error codes used by JAXP DocumentBuilder
jaxp-order-not-supported = \u5FC5\u987B\u5728\u8BBE\u7F6E\u5C5E\u6027 ''{1}'' \u4E4B\u524D\u8BBE\u7F6E\u5C5E\u6027 ''{0}''\u3002
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_zh_TW.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_zh_TW.properties
index f9a4c0341fc..4ae403e235f 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_zh_TW.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_zh_TW.properties
@@ -1,37 +1,34 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces
# DOM implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: DOMMessages_zh_TW.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: DOMMessages_zh_TW.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/27 00:30:48 gmolloy Exp $
BadMessageKey = \u627E\u4E0D\u5230\u5C0D\u61C9\u8A0A\u606F\u7D22\u5F15\u9375\u7684\u932F\u8AA4\u8A0A\u606F\u3002
FormatFailed = \u683C\u5F0F\u5316\u4E0B\u5217\u8A0A\u606F\u6642\u767C\u751F\u5167\u90E8\u932F\u8AA4:\n
@@ -71,14 +68,14 @@ unsupported-encoding = \u4E0D\u652F\u63F4\u7DE8\u78BC {0}\u3002
#Error codes used in DOM Normalizer
InvalidXMLCharInDOM = \u6B63\u898F\u5316\u671F\u9593\u5728 DOM \u4E2D\u627E\u5230\u7121\u6548\u7684 XML \u5B57\u5143 (Unicode: 0x{0})\u3002
-UndeclaredEntRefInAttrValue = \u5C6C\u6027 \"{0}\" \u503C \"{1}\" \u53C3\u7167\u672A\u5BA3\u544A\u7684\u500B\u9AD4\u3002
+UndeclaredEntRefInAttrValue = \u5C6C\u6027 "{0}" \u503C "{1}" \u53C3\u7167\u672A\u5BA3\u544A\u7684\u5BE6\u9AD4\u3002
NullLocalElementName = \u5143\u7D20 {0} \u547D\u540D\u7A7A\u9593\u6B63\u898F\u5316\u671F\u9593\uFF0C\u51FA\u73FE\u7A7A\u503C\u5340\u57DF\u540D\u7A31\u3002
NullLocalAttrName = \u5C6C\u6027 {0} \u547D\u540D\u7A7A\u9593\u6B63\u898F\u5316\u671F\u9593\uFF0C\u51FA\u73FE\u7A7A\u503C\u5340\u57DF\u540D\u7A31\u3002
#Error codes used in DOMParser
-InvalidDocumentClassName = \u7528\u65BC\u5EFA\u69CB DOM \u6A39\u72C0\u7D50\u69CB\u7684\u6587\u4EF6\u8655\u7406\u7AD9 \"{0}\" \u985E\u5225\u540D\u7A31\u4E26\u975E\u985E\u578B org.w3c.dom.Document\u3002
-MissingDocumentClassName = \u627E\u4E0D\u5230\u7528\u65BC\u5EFA\u69CB DOM \u6A39\u72C0\u7D50\u69CB\u7684\u6587\u4EF6\u8655\u7406\u7AD9 \"{0}\" \u985E\u5225\u540D\u7A31\u3002
-CannotCreateDocumentClass = \u540D\u7A31\u70BA \"{0}\" \u7684\u985E\u5225\u7121\u6CD5\u5EFA\u69CB\u70BA org.w3c.dom.Document\u3002
+InvalidDocumentClassName = \u7528\u65BC\u5EFA\u69CB DOM \u6A39\u72C0\u7D50\u69CB\u7684\u6587\u4EF6\u8655\u7406\u7AD9 "{0}" \u985E\u5225\u540D\u7A31\u4E26\u975E\u985E\u578B org.w3c.dom.Document\u3002
+MissingDocumentClassName = \u627E\u4E0D\u5230\u7528\u65BC\u5EFA\u69CB DOM \u6A39\u72C0\u7D50\u69CB\u7684\u6587\u4EF6\u8655\u7406\u7AD9 "{0}" \u985E\u5225\u540D\u7A31\u3002
+CannotCreateDocumentClass = \u540D\u7A31\u70BA "{0}" \u7684\u985E\u5225\u7121\u6CD5\u5EFA\u69CB\u70BA org.w3c.dom.Document\u3002
# Error codes used by JAXP DocumentBuilder
jaxp-order-not-supported = \u8A2D\u5B9A\u5C6C\u6027 ''{1}'' \u4E4B\u524D\uFF0C\u5FC5\u9808\u8A2D\u5B9A\u5C6C\u6027 ''{0}''\u3002
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_de.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_de.properties
index ad146ca1987..14baff4c0cf 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_de.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_de.properties
@@ -1,46 +1,43 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces JAXP Datatype API implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: DatatypeMessages_de.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: DatatypeMessages_de.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 01:16:51 gmolloy Exp $
BadMessageKey = Die zum Meldungsschl\u00FCssel geh\u00F6rige Fehlermeldung kann nicht gefunden werden.
FormatFailed = Beim Formatieren der folgenden Meldung ist ein interner Fehler aufgetreten:\n
FieldCannotBeNull={0} kann nicht mit "Null"-Parameter aufgerufen werden.
-UnknownField={0} mit unbekanntem Feld aufgerufen\:{1}
+UnknownField={0} mit unbekanntem Feld aufgerufen:{1}
#There are two similar keys 'InvalidXMLGreogorianCalendarValue' . Suffix (year, month) has been added and are used as per the context.
-InvalidXGCValue-milli=Jahr \= {0}, Monat \= {1}, Tag \= {2}, Stunde\= {3}, Minute \= {4}, Sekunde \= {5}, fractionalSecond \= {6}, Zeitzone \= {7} ist keine g\u00FCltige Darstellung eines XML-Wertes f\u00FCr einen gregorianischen Kalender.
+InvalidXGCValue-milli=Jahr = {0}, Monat = {1}, Tag = {2}, Stunde= {3}, Minute = {4}, Sekunde = {5}, fractionalSecond = {6}, Zeitzone = {7} ist keine g\u00FCltige Darstellung eines XML-Wertes f\u00FCr einen gregorianischen Kalender.
#There are two similar keys 'InvalidXMLGreogorianCalendarValue' . Suffix (year, month) has been added and are used as per the context.
-InvalidXGCValue-fractional=Jahr \= {0}, Monat \= {1}, Tag \= {2}, Stunde\= {3}, Minute \= {4}, Sekunde \= {5}, fractionalSecond \= {6}, Zeitzone \= {7} ist keine g\u00FCltige Darstellung eines XML-Wertes f\u00FCr einen gregorianischen Kalender.
+InvalidXGCValue-fractional=Jahr = {0}, Monat = {1}, Tag = {2}, Stunde= {3}, Minute = {4}, Sekunde = {5}, fractionalSecond = {6}, Zeitzone = {7} ist keine g\u00FCltige Darstellung eines XML-Wertes f\u00FCr einen gregorianischen Kalender.
InvalidXGCFields=Ung\u00FCltige Gruppe von Feldern f\u00FCr XMLGregorianCalendar festgelegt
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_es.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_es.properties
index 41f6c95b524..73bfbc7af94 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_es.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_es.properties
@@ -1,46 +1,43 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces JAXP Datatype API implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: DatatypeMessages_es.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: DatatypeMessages_es.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 05:10:53 gmolloy Exp $
BadMessageKey = No se ha encontrado el mensaje de error correspondiente a la clave de mensaje.
FormatFailed = Se ha producido un error interno al formatear el siguiente mensaje:\n
FieldCannotBeNull=no se puede llamar a {0} con un par\u00E1metro ''nulo''.
-UnknownField=se ha llamado a {0} con un campo desconocido\:{1}
+UnknownField=se ha llamado a {0} con un campo desconocido:{1}
#There are two similar keys 'InvalidXMLGreogorianCalendarValue' . Suffix (year, month) has been added and are used as per the context.
-InvalidXGCValue-milli=A\u00F1o \= {0}, Mes \= {1}, D\u00EDa \= {2}, Hora \= {3}, Minuto \= {4}, Segundo \= {5}, Segundo Fraccionario \= {6}, Zona Horaria \= {7} , no es una representaci\u00F3n v\u00E1lida de un valor del calendario gregoriano XML.
+InvalidXGCValue-milli=A\u00F1o = {0}, Mes = {1}, D\u00EDa = {2}, Hora = {3}, Minuto = {4}, Segundo = {5}, Segundo Fraccionario = {6}, Zona Horaria = {7} , no es una representaci\u00F3n v\u00E1lida de un valor del calendario gregoriano XML.
#There are two similar keys 'InvalidXMLGreogorianCalendarValue' . Suffix (year, month) has been added and are used as per the context.
-InvalidXGCValue-fractional=A\u00F1o \= {0}, Mes \= {1}, D\u00EDa \= {2}, Hora \= {3}, Minuto \= {4}, Segundo \= {5}, Segundo Fraccionario \= {6}, Zona Horaria \= {7} , no es una representaci\u00F3n v\u00E1lida de un valor del calendario gregoriano XML.
+InvalidXGCValue-fractional=A\u00F1o = {0}, Mes = {1}, D\u00EDa = {2}, Hora = {3}, Minuto = {4}, Segundo = {5}, Segundo Fraccionario = {6}, Zona Horaria = {7} , no es una representaci\u00F3n v\u00E1lida de un valor del calendario gregoriano XML.
InvalidXGCFields=Juego de campos no v\u00E1lido definido para el calendario gregoriano XML
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_fr.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_fr.properties
index 50aa2ccbd5a..e45255b69b2 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_fr.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_fr.properties
@@ -1,46 +1,43 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces JAXP Datatype API implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: DatatypeMessages_fr.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: DatatypeMessages_fr.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 02:16:52 gmolloy Exp $
BadMessageKey = Le message d'erreur correspondant \u00E0 la cl\u00E9 de message est introuvable.
FormatFailed = Une erreur interne est survenue lors du formatage du message suivant :\n
FieldCannotBeNull=Impossible d''appeler {0} avec le param\u00E8tre ''null''.
-UnknownField={0} a \u00E9t\u00E9 appel\u00E9 avec un champ inconnu \: {1}
+UnknownField={0} a \u00E9t\u00E9 appel\u00E9 avec un champ inconnu : {1}
#There are two similar keys 'InvalidXMLGreogorianCalendarValue' . Suffix (year, month) has been added and are used as per the context.
-InvalidXGCValue-milli=Ann\u00E9e \= {0}, Mois \= {1}, Jour \= {2}, Heure \= {3}, Minute \= {4}, Seconde \= {5}, Fraction de seconde \= {6}, Fuseau horaire \= {7} ne repr\u00E9sentent pas des valeurs de calendrier gr\u00E9gorien XML valides.
+InvalidXGCValue-milli=Ann\u00E9e = {0}, Mois = {1}, Jour = {2}, Heure = {3}, Minute = {4}, Seconde = {5}, Fraction de seconde = {6}, Fuseau horaire = {7} ne repr\u00E9sentent pas des valeurs de calendrier gr\u00E9gorien XML valides.
#There are two similar keys 'InvalidXMLGreogorianCalendarValue' . Suffix (year, month) has been added and are used as per the context.
-InvalidXGCValue-fractional=Ann\u00E9e \= {0}, Mois \= {1}, Jour \= {2}, Heure \= {3}, Minute \= {4}, Seconde \= {5}, Fraction de seconde \= {6}, Fuseau horaire \= {7} ne repr\u00E9sentent pas des valeurs de calendrier gr\u00E9gorien XML valides.
+InvalidXGCValue-fractional=Ann\u00E9e = {0}, Mois = {1}, Jour = {2}, Heure = {3}, Minute = {4}, Seconde = {5}, Fraction de seconde = {6}, Fuseau horaire = {7} ne repr\u00E9sentent pas des valeurs de calendrier gr\u00E9gorien XML valides.
InvalidXGCFields=Ensemble de champs non valide pour XMLGregorianCalendar
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_it.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_it.properties
index 667f8715ef5..e08b8e0870c 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_it.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_it.properties
@@ -1,46 +1,43 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces JAXP Datatype API implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: DatatypeMessages_it.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: DatatypeMessages_it.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/27 08:14:02 gmolloy Exp $
BadMessageKey = Impossibile trovare il messaggio di errore corrispondente alla chiave di messaggio.
FormatFailed = Si \u00E8 verificato un errore interno durante la formattazione del seguente messaggio:\n
FieldCannotBeNull=Impossibile richiamare {0} con un parametro ''null''.
-UnknownField={0} richiamato con un campo sconosciuto\:{1}
+UnknownField={0} richiamato con un campo sconosciuto:{1}
#There are two similar keys 'InvalidXMLGreogorianCalendarValue' . Suffix (year, month) has been added and are used as per the context.
-InvalidXGCValue-milli=Anno \= {0}, mese \= {1}, giorno \= {2}, ora \= {3}, minuto \= {4}, secondo \= {5}, frazione di secondo \= {6}, fuso orario \= {7} non \u00E8 una rappresentazione valida di un valore di calendario gregoriano XML.
+InvalidXGCValue-milli=Anno = {0}, mese = {1}, giorno = {2}, ora = {3}, minuto = {4}, secondo = {5}, frazione di secondo = {6}, fuso orario = {7} non \u00E8 una rappresentazione valida di un valore di calendario gregoriano XML.
#There are two similar keys 'InvalidXMLGreogorianCalendarValue' . Suffix (year, month) has been added and are used as per the context.
-InvalidXGCValue-fractional=Anno \= {0}, mese \= {1}, giorno \= {2}, ora \= {3}, minuto \= {4}, secondo \= {5}, frazione di secondo \= {6}, fuso orario \= {7} non \u00E8 una rappresentazione valida di un valore di calendario gregoriano XML.
+InvalidXGCValue-fractional=Anno = {0}, mese = {1}, giorno = {2}, ora = {3}, minuto = {4}, secondo = {5}, frazione di secondo = {6}, fuso orario = {7} non \u00E8 una rappresentazione valida di un valore di calendario gregoriano XML.
InvalidXGCFields=Impostato set di campi non valido per XMLGregorianCalendar
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_ja.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_ja.properties
index f51ba16fcdf..1cfe77062cc 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_ja.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_ja.properties
@@ -1,46 +1,43 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces JAXP Datatype API implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: DatatypeMessages_ja.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: DatatypeMessages_ja.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 01:05:12 gmolloy Exp $
BadMessageKey = \u30E1\u30C3\u30BB\u30FC\u30B8\u30FB\u30AD\u30FC\u306B\u5BFE\u5FDC\u3059\u308B\u30A8\u30E9\u30FC\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
FormatFailed = \u6B21\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u306E\u66F8\u5F0F\u8A2D\u5B9A\u4E2D\u306B\u5185\u90E8\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F:\n
FieldCannotBeNull={0}\u306F''null''\u30D1\u30E9\u30E1\u30FC\u30BF\u3067\u306F\u547C\u3073\u51FA\u305B\u307E\u305B\u3093\u3002
-UnknownField={0}\u306F\u4E0D\u660E\u306A\u30D5\u30A3\u30FC\u30EB\u30C9\u3067\u547C\u3073\u51FA\u3055\u308C\u307E\u3057\u305F\: {1}
+UnknownField={0}\u306F\u4E0D\u660E\u306A\u30D5\u30A3\u30FC\u30EB\u30C9\u3067\u547C\u3073\u51FA\u3055\u308C\u307E\u3057\u305F: {1}
#There are two similar keys 'InvalidXMLGreogorianCalendarValue' . Suffix (year, month) has been added and are used as per the context.
-InvalidXGCValue-milli=\u5E74\={0}\u3001\u6708\={1}\u3001\u65E5\={2}\u3001\u6642\={3}\u3001\u5206\={4}\u3001\u79D2\={5}\u3001\u5C0F\u6570\u79D2\={6}\u3001\u30BF\u30A4\u30E0\u30BE\u30FC\u30F3\={7}\u306F\u3001XML\u30B0\u30EC\u30B4\u30EA\u30AA\u66A6\u306E\u5024\u306E\u6709\u52B9\u306A\u8868\u73FE\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+InvalidXGCValue-milli=\u5E74={0}\u3001\u6708={1}\u3001\u65E5={2}\u3001\u6642={3}\u3001\u5206={4}\u3001\u79D2={5}\u3001\u5C0F\u6570\u79D2={6}\u3001\u30BF\u30A4\u30E0\u30BE\u30FC\u30F3={7}\u306F\u3001XML\u30B0\u30EC\u30B4\u30EA\u30AA\u66A6\u306E\u5024\u306E\u6709\u52B9\u306A\u8868\u73FE\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
#There are two similar keys 'InvalidXMLGreogorianCalendarValue' . Suffix (year, month) has been added and are used as per the context.
-InvalidXGCValue-fractional=\u5E74\={0}\u3001\u6708\={1}\u3001\u65E5\={2}\u3001\u6642\={3}\u3001\u5206\={4}\u3001\u79D2\={5}\u3001\u5C0F\u6570\u79D2\={6}\u3001\u30BF\u30A4\u30E0\u30BE\u30FC\u30F3\={7}\u306F\u3001XML\u30B0\u30EC\u30B4\u30EA\u30AA\u66A6\u306E\u5024\u306E\u6709\u52B9\u306A\u8868\u73FE\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+InvalidXGCValue-fractional=\u5E74={0}\u3001\u6708={1}\u3001\u65E5={2}\u3001\u6642={3}\u3001\u5206={4}\u3001\u79D2={5}\u3001\u5C0F\u6570\u79D2={6}\u3001\u30BF\u30A4\u30E0\u30BE\u30FC\u30F3={7}\u306F\u3001XML\u30B0\u30EC\u30B4\u30EA\u30AA\u66A6\u306E\u5024\u306E\u6709\u52B9\u306A\u8868\u73FE\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
InvalidXGCFields=XMLGregorianCalendar\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u30FB\u30BB\u30C3\u30C8\u304C\u7121\u52B9\u3067\u3059
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_ko.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_ko.properties
index f3b05ec7434..bbc91843e32 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_ko.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_ko.properties
@@ -1,46 +1,43 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces JAXP Datatype API implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: DatatypeMessages_ko.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: DatatypeMessages_ko.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 02:40:33 gmolloy Exp $
BadMessageKey = \uBA54\uC2DC\uC9C0 \uD0A4\uC5D0 \uD574\uB2F9\uD558\uB294 \uC624\uB958 \uBA54\uC2DC\uC9C0\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
FormatFailed = \uB2E4\uC74C \uBA54\uC2DC\uC9C0\uC758 \uD615\uC2DD\uC744 \uC9C0\uC815\uD558\uB294 \uC911 \uB0B4\uBD80 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.\n
FieldCannotBeNull={0}\uC740(\uB294) ''null'' \uB9E4\uAC1C\uBCC0\uC218\uB85C \uD638\uCD9C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
-UnknownField={0}\uC774(\uAC00) \uC54C \uC218 \uC5C6\uB294 \uD544\uB4DC\uB85C \uD638\uCD9C\uB428\:{1}
+UnknownField={0}\uC774(\uAC00) \uC54C \uC218 \uC5C6\uB294 \uD544\uB4DC\uB85C \uD638\uCD9C\uB428:{1}
#There are two similar keys 'InvalidXMLGreogorianCalendarValue' . Suffix (year, month) has been added and are used as per the context.
-InvalidXGCValue-milli=\uC5F0\uB3C4 \= {0}, \uC6D4 \= {1}, \uB0A0\uC9DC \= {2}, \uC2DC\uAC04 \= {3}, \uBD84 \= {4}, \uCD08 \= {5}, \uC18C\uC218\uC810 \uC774\uD558 \uCD08 \= {6}, \uC2DC\uAC04\uB300 \= {7}\uC740(\uB294) XML \uC591\uB825 \uAC12\uC5D0 \uBD80\uC801\uD569\uD55C \uD615\uC2DD\uC785\uB2C8\uB2E4.
+InvalidXGCValue-milli=\uC5F0\uB3C4 = {0}, \uC6D4 = {1}, \uB0A0\uC9DC = {2}, \uC2DC\uAC04 = {3}, \uBD84 = {4}, \uCD08 = {5}, \uC18C\uC218\uC810 \uC774\uD558 \uCD08 = {6}, \uC2DC\uAC04\uB300 = {7}\uC740(\uB294) XML \uC591\uB825 \uAC12\uC5D0 \uBD80\uC801\uD569\uD55C \uD615\uC2DD\uC785\uB2C8\uB2E4.
#There are two similar keys 'InvalidXMLGreogorianCalendarValue' . Suffix (year, month) has been added and are used as per the context.
-InvalidXGCValue-fractional=\uC5F0\uB3C4 \= {0}, \uC6D4 \= {1}, \uB0A0\uC9DC \= {2}, \uC2DC\uAC04 \= {3}, \uBD84 \= {4}, \uCD08 \= {5}, \uC18C\uC218\uC810 \uC774\uD558 \uCD08 \= {6}, \uC2DC\uAC04\uB300 \= {7}\uC740(\uB294) XML \uC591\uB825 \uAC12\uC5D0 \uBD80\uC801\uD569\uD55C \uD615\uC2DD\uC785\uB2C8\uB2E4.
+InvalidXGCValue-fractional=\uC5F0\uB3C4 = {0}, \uC6D4 = {1}, \uB0A0\uC9DC = {2}, \uC2DC\uAC04 = {3}, \uBD84 = {4}, \uCD08 = {5}, \uC18C\uC218\uC810 \uC774\uD558 \uCD08 = {6}, \uC2DC\uAC04\uB300 = {7}\uC740(\uB294) XML \uC591\uB825 \uAC12\uC5D0 \uBD80\uC801\uD569\uD55C \uD615\uC2DD\uC785\uB2C8\uB2E4.
InvalidXGCFields=XMLGregorianCalendar\uC5D0 \uB300\uD574 \uBD80\uC801\uD569\uD55C \uD544\uB4DC \uC9D1\uD569\uC774 \uC124\uC815\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_pt_BR.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_pt_BR.properties
index e8cc6814088..8f836ee7b0e 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_pt_BR.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_pt_BR.properties
@@ -1,46 +1,43 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces JAXP Datatype API implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: DatatypeMessages_pt_BR.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: DatatypeMessages_pt_BR.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 07:33:06 gmolloy Exp $
BadMessageKey = N\u00E3o foi poss\u00EDvel encontrar a mensagem de erro correspondente \u00E0 chave da mensagem.
FormatFailed = Ocorreu um erro interno ao formatar a mensagem a seguir:\n
FieldCannotBeNull={0} n\u00E3o pode ser chamado com o par\u00E2metro ''null''.
-UnknownField={0} chamado com um campo desconhecido\:{1}
+UnknownField={0} chamado com um campo desconhecido:{1}
#There are two similar keys 'InvalidXMLGreogorianCalendarValue' . Suffix (year, month) has been added and are used as per the context.
-InvalidXGCValue-milli=Ano \= {0}, M\u00EAs \= {1}, Dia \= {2}, Hora \= {3}, Minuto \= {4}, Segundo \= {5}, fractionalSecond \= {6}, Fuso hor\u00E1rio \= {7} , n\u00E3o \u00E9 uma representa\u00E7\u00E3o v\u00E1lida de um valor do Calend\u00E1rio Gregoriano XML.
+InvalidXGCValue-milli=Ano = {0}, M\u00EAs = {1}, Dia = {2}, Hora = {3}, Minuto = {4}, Segundo = {5}, fractionalSecond = {6}, Fuso hor\u00E1rio = {7} , n\u00E3o \u00E9 uma representa\u00E7\u00E3o v\u00E1lida de um valor do Calend\u00E1rio Gregoriano XML.
#There are two similar keys 'InvalidXMLGreogorianCalendarValue' . Suffix (year, month) has been added and are used as per the context.
-InvalidXGCValue-fractional=Ano \= {0}, M\u00EAs \= {1}, Dia \= {2}, Hora \= {3}, Minuto \= {4}, Segundo \= {5}, fractionalSecond \= {6}, Fuso hor\u00E1rio \= {7} , n\u00E3o \u00E9 uma representa\u00E7\u00E3o v\u00E1lida de um valor do Calend\u00E1rio Gregoriano XML.
+InvalidXGCValue-fractional=Ano = {0}, M\u00EAs = {1}, Dia = {2}, Hora = {3}, Minuto = {4}, Segundo = {5}, fractionalSecond = {6}, Fuso hor\u00E1rio = {7} , n\u00E3o \u00E9 uma representa\u00E7\u00E3o v\u00E1lida de um valor do Calend\u00E1rio Gregoriano XML.
InvalidXGCFields=Conjunto inv\u00E1lido de conjunto de campos para XMLGregorianCalendar
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_sv.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_sv.properties
index 79766e3144f..4778bdabbc6 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_sv.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_sv.properties
@@ -1,46 +1,43 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces JAXP Datatype API implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: DatatypeMessages_sv.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: DatatypeMessages_sv.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 00:46:23 gmolloy Exp $
BadMessageKey = Hittar inte felmeddelandet som motsvarar meddelandenyckeln.
FormatFailed = Ett internt fel intr\u00E4ffade vid formatering av f\u00F6ljande meddelande:\n
FieldCannotBeNull={0} kan inte anropas med null-parameter.
-UnknownField={0} anropades med ok\u00E4nt f\u00E4lt\:{1}
+UnknownField={0} anropades med ok\u00E4nt f\u00E4lt:{1}
#There are two similar keys 'InvalidXMLGreogorianCalendarValue' . Suffix (year, month) has been added and are used as per the context.
-InvalidXGCValue-milli=\u00C5r \= {0}, m\u00E5nad \= {1}, dag \= {2}, timme \= {3}, minut \= {4}, sekund \= {5}, br\u00E5kdelssekund \= {6}, tidszon \= {7} \u00E4r ogiltigt v\u00E4rde f\u00F6r gregoriansk kalender i XML.
+InvalidXGCValue-milli=\u00C5r = {0}, m\u00E5nad = {1}, dag = {2}, timme = {3}, minut = {4}, sekund = {5}, br\u00E5kdelssekund = {6}, tidszon = {7} \u00E4r ogiltigt v\u00E4rde f\u00F6r gregoriansk kalender i XML.
#There are two similar keys 'InvalidXMLGreogorianCalendarValue' . Suffix (year, month) has been added and are used as per the context.
-InvalidXGCValue-fractional=\u00C5r \= {0}, m\u00E5nad \= {1}, dag \= {2}, timme \= {3}, minut \= {4}, sekund \= {5}, br\u00E5kdelssekund \= {6}, tidszon \= {7} \u00E4r ogiltigt v\u00E4rde f\u00F6r gregoriansk kalender i XML.
+InvalidXGCValue-fractional=\u00C5r = {0}, m\u00E5nad = {1}, dag = {2}, timme = {3}, minut = {4}, sekund = {5}, br\u00E5kdelssekund = {6}, tidszon = {7} \u00E4r ogiltigt v\u00E4rde f\u00F6r gregoriansk kalender i XML.
InvalidXGCFields=Ogiltig upps\u00E4ttning med f\u00E4lt angivet i XMLGregorianCalendar
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_zh_CN.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_zh_CN.properties
index 105ca572bbe..19950952522 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_zh_CN.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_zh_CN.properties
@@ -1,46 +1,43 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces JAXP Datatype API implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: DatatypeMessages_zh_CN.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: DatatypeMessages_zh_CN.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 01:19:32 gmolloy Exp $
BadMessageKey = \u627E\u4E0D\u5230\u4E0E\u6D88\u606F\u5173\u952E\u5B57\u5BF9\u5E94\u7684\u9519\u8BEF\u6D88\u606F\u3002
FormatFailed = \u8BBE\u7F6E\u4EE5\u4E0B\u6D88\u606F\u7684\u683C\u5F0F\u65F6\u51FA\u73B0\u5185\u90E8\u9519\u8BEF:\n
FieldCannotBeNull=\u65E0\u6CD5\u4F7F\u7528 ''null'' \u53C2\u6570\u8C03\u7528{0}\u3002
-UnknownField=\u4F7F\u7528\u672A\u77E5\u5B57\u6BB5\u8C03\u7528\u4E86{0}\: {1}
+UnknownField=\u4F7F\u7528\u672A\u77E5\u5B57\u6BB5\u8C03\u7528\u4E86{0}: {1}
#There are two similar keys 'InvalidXMLGreogorianCalendarValue' . Suffix (year, month) has been added and are used as per the context.
-InvalidXGCValue-milli=\u5E74 \= {0}, \u6708 \= {1}, \u65E5 \= {2}, \u5C0F\u65F6 \= {3}, \u5206 \= {4}, \u79D2 \= {5}, \u5C0F\u6570\u79D2 \= {6}, \u65F6\u533A \= {7} \u4E0D\u662F XML \u683C\u91CC\u5386\u503C\u7684\u6709\u6548\u8868\u793A\u3002
+InvalidXGCValue-milli=\u5E74 = {0}, \u6708 = {1}, \u65E5 = {2}, \u5C0F\u65F6 = {3}, \u5206 = {4}, \u79D2 = {5}, \u5C0F\u6570\u79D2 = {6}, \u65F6\u533A = {7} \u4E0D\u662F XML \u683C\u91CC\u5386\u503C\u7684\u6709\u6548\u8868\u793A\u3002
#There are two similar keys 'InvalidXMLGreogorianCalendarValue' . Suffix (year, month) has been added and are used as per the context.
-InvalidXGCValue-fractional=\u5E74 \= {0}, \u6708 \= {1}, \u65E5 \= {2}, \u5C0F\u65F6 \= {3}, \u5206 \= {4}, \u79D2 \= {5}, \u5C0F\u6570\u79D2 \= {6}, \u65F6\u533A \= {7} \u4E0D\u662F XML \u683C\u91CC\u5386\u503C\u7684\u6709\u6548\u8868\u793A\u3002
+InvalidXGCValue-fractional=\u5E74 = {0}, \u6708 = {1}, \u65E5 = {2}, \u5C0F\u65F6 = {3}, \u5206 = {4}, \u79D2 = {5}, \u5C0F\u6570\u79D2 = {6}, \u65F6\u533A = {7} \u4E0D\u662F XML \u683C\u91CC\u5386\u503C\u7684\u6709\u6548\u8868\u793A\u3002
InvalidXGCFields=\u4E3A XMLGregorianCalendar \u8BBE\u7F6E\u7684\u5B57\u6BB5\u96C6\u65E0\u6548
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_zh_TW.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_zh_TW.properties
index 0e3f7082bf3..dd2442b1120 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_zh_TW.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_zh_TW.properties
@@ -1,46 +1,43 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces JAXP Datatype API implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: DatatypeMessages_zh_TW.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: DatatypeMessages_zh_TW.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/27 00:30:48 gmolloy Exp $
BadMessageKey = \u627E\u4E0D\u5230\u5C0D\u61C9\u8A0A\u606F\u7D22\u5F15\u9375\u7684\u932F\u8AA4\u8A0A\u606F\u3002
FormatFailed = \u683C\u5F0F\u5316\u4E0B\u5217\u8A0A\u606F\u6642\u767C\u751F\u5167\u90E8\u932F\u8AA4:\n
FieldCannotBeNull=\u7121\u6CD5\u4F7F\u7528 ''null'' \u53C3\u6578\u547C\u53EB {0}
-UnknownField=\u4F7F\u7528\u4E0D\u660E\u7684\u6B04\u4F4D\u547C\u53EB {0}\:{1}
+UnknownField=\u4F7F\u7528\u4E0D\u660E\u7684\u6B04\u4F4D\u547C\u53EB {0}:{1}
#There are two similar keys 'InvalidXMLGreogorianCalendarValue' . Suffix (year, month) has been added and are used as per the context.
-InvalidXGCValue-milli=\u5E74 \= {0}\u3001\u6708 \= {1}\uFF0C\u65E5 \= {2}\uFF0C\u5C0F\u6642 \= {3}\uFF0C\u5206\u9418\uFF0C \= {4}\uFF0C\u79D2 \= {5}\uFF0C\u5C0F\u6578\u79D2 \= {6}\uFF0C\u6642\u5340\uFF0C \= {7}\uFF0C\u4E0D\u662F XML \u516C\u66C6\u503C\u7684\u6709\u6548\u8868\u793A\u6CD5\u3002
+InvalidXGCValue-milli=\u5E74 = {0}\u3001\u6708 = {1}\uFF0C\u65E5 = {2}\uFF0C\u5C0F\u6642 = {3}\uFF0C\u5206\u9418\uFF0C = {4}\uFF0C\u79D2 = {5}\uFF0C\u5C0F\u6578\u79D2 = {6}\uFF0C\u6642\u5340\uFF0C = {7}\uFF0C\u4E0D\u662F XML \u516C\u66C6\u503C\u7684\u6709\u6548\u8868\u793A\u6CD5\u3002
#There are two similar keys 'InvalidXMLGreogorianCalendarValue' . Suffix (year, month) has been added and are used as per the context.
-InvalidXGCValue-fractional=\u5E74 \= {0}\u3001\u6708 \= {1}\uFF0C\u65E5 \= {2}\uFF0C\u5C0F\u6642 \= {3}\uFF0C\u5206\u9418\uFF0C \= {4}\uFF0C\u79D2 \= {5}\uFF0C\u5C0F\u6578\u79D2 \= {6}\uFF0C\u6642\u5340\uFF0C \= {7}\uFF0C\u4E0D\u662F XML \u516C\u66C6\u503C\u7684\u6709\u6548\u8868\u793A\u6CD5\u3002
+InvalidXGCValue-fractional=\u5E74 = {0}\u3001\u6708 = {1}\uFF0C\u65E5 = {2}\uFF0C\u5C0F\u6642 = {3}\uFF0C\u5206\u9418\uFF0C = {4}\uFF0C\u79D2 = {5}\uFF0C\u5C0F\u6578\u79D2 = {6}\uFF0C\u6642\u5340\uFF0C = {7}\uFF0C\u4E0D\u662F XML \u516C\u66C6\u503C\u7684\u6709\u6548\u8868\u793A\u6CD5\u3002
InvalidXGCFields=XMLGregorianCalendar \u8A2D\u5B9A\u4E86\u7121\u6548\u7684\u6B04\u4F4D\u96C6
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_de.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_de.properties
index 83e0753b13d..8a349c53778 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_de.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_de.properties
@@ -1,36 +1,33 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces JAXP Validation API implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: JAXPValidationMessages_de.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: JAXPValidationMessages_de.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 01:16:51 gmolloy Exp $
# Messages for message reporting
BadMessageKey = Die zum Meldungsschl\u00FCssel geh\u00F6rige Fehlermeldung kann nicht gefunden werden.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_es.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_es.properties
index b526aaf066c..9c02b32abf9 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_es.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_es.properties
@@ -1,36 +1,33 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces JAXP Validation API implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: JAXPValidationMessages_es.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: JAXPValidationMessages_es.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 05:10:53 gmolloy Exp $
# Messages for message reporting
BadMessageKey = No se ha encontrado el mensaje de error correspondiente a la clave de mensaje.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_fr.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_fr.properties
index 53d17ecefd2..9e12758e6bb 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_fr.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_fr.properties
@@ -1,36 +1,33 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces JAXP Validation API implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: JAXPValidationMessages_fr.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: JAXPValidationMessages_fr.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 02:16:52 gmolloy Exp $
# Messages for message reporting
BadMessageKey = Le message d'erreur correspondant \u00E0 la cl\u00E9 de message est introuvable.
@@ -45,7 +42,7 @@ SchemaFactorySourceUnrecognized = Le param\u00E8tre source de type ''{0}'' n''es
# Validator error messages
SourceParameterNull = Le param\u00E8tre source ne peut pas \u00EAtre NULL.
-SourceNotAccepted = Le param\u00E8tre source de type ''{0}'' n''est pas accept\u00E9 par ce contr\u00F4le de validation (validator).
+SourceNotAccepted = Le param\u00E8tre source de type ''{0}'' n''est pas accept\u00E9 par ce valideur.
SourceResultMismatch = Le param\u00E8tre source de type ''{0}'' n''est pas compatible avec le param\u00E8tre de r\u00E9sultat de type ''{1}''.
# TypeInfoProvider error messages
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_it.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_it.properties
index b7be5ce3401..86a927e085c 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_it.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_it.properties
@@ -1,36 +1,33 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces JAXP Validation API implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: JAXPValidationMessages_it.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: JAXPValidationMessages_it.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/27 08:14:02 gmolloy Exp $
# Messages for message reporting
BadMessageKey = Impossibile trovare il messaggio di errore corrispondente alla chiave di messaggio.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_ja.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_ja.properties
index 758d20fe98e..122feead430 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_ja.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_ja.properties
@@ -1,36 +1,33 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces JAXP Validation API implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: JAXPValidationMessages_ja.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: JAXPValidationMessages_ja.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 01:05:12 gmolloy Exp $
# Messages for message reporting
BadMessageKey = \u30E1\u30C3\u30BB\u30FC\u30B8\u30FB\u30AD\u30FC\u306B\u5BFE\u5FDC\u3059\u308B\u30A8\u30E9\u30FC\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_ko.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_ko.properties
index b6b0c4314f0..8f01010d5d1 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_ko.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_ko.properties
@@ -1,36 +1,33 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces JAXP Validation API implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: JAXPValidationMessages_ko.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: JAXPValidationMessages_ko.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 02:40:33 gmolloy Exp $
# Messages for message reporting
BadMessageKey = \uBA54\uC2DC\uC9C0 \uD0A4\uC5D0 \uD574\uB2F9\uD558\uB294 \uC624\uB958 \uBA54\uC2DC\uC9C0\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_pt_BR.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_pt_BR.properties
index 818ccf89a09..0ec9da84643 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_pt_BR.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_pt_BR.properties
@@ -1,36 +1,33 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces JAXP Validation API implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: JAXPValidationMessages_pt_BR.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: JAXPValidationMessages_pt_BR.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 07:33:06 gmolloy Exp $
# Messages for message reporting
BadMessageKey = N\u00E3o foi poss\u00EDvel encontrar a mensagem de erro correspondente \u00E0 chave da mensagem.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_sv.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_sv.properties
index 38faacbb38e..83884aeb7c8 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_sv.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_sv.properties
@@ -1,36 +1,33 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces JAXP Validation API implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: JAXPValidationMessages_sv.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: JAXPValidationMessages_sv.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 00:46:23 gmolloy Exp $
# Messages for message reporting
BadMessageKey = Hittar inte felmeddelandet som motsvarar meddelandenyckeln.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_zh_CN.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_zh_CN.properties
index cf4bd163f2a..757845f41ba 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_zh_CN.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_zh_CN.properties
@@ -1,36 +1,33 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces JAXP Validation API implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: JAXPValidationMessages_zh_CN.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: JAXPValidationMessages_zh_CN.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 01:19:32 gmolloy Exp $
# Messages for message reporting
BadMessageKey = \u627E\u4E0D\u5230\u4E0E\u6D88\u606F\u5173\u952E\u5B57\u5BF9\u5E94\u7684\u9519\u8BEF\u6D88\u606F\u3002
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_zh_TW.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_zh_TW.properties
index 60ffc01dbf7..4d78213a044 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_zh_TW.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_zh_TW.properties
@@ -1,36 +1,33 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces JAXP Validation API implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: JAXPValidationMessages_zh_TW.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: JAXPValidationMessages_zh_TW.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/27 00:30:48 gmolloy Exp $
# Messages for message reporting
BadMessageKey = \u627E\u4E0D\u5230\u5C0D\u61C9\u8A0A\u606F\u7D22\u5F15\u9375\u7684\u932F\u8AA4\u8A0A\u606F\u3002
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_de.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_de.properties
index 311204978ef..78add948a60 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_de.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_de.properties
@@ -1,37 +1,34 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces
# SAX implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: SAXMessages_de.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: SAXMessages_de.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 01:16:51 gmolloy Exp $
BadMessageKey = Die zum Meldungsschl\u00FCssel geh\u00F6rige Fehlermeldung kann nicht gefunden werden.
@@ -48,7 +45,7 @@ feature-not-recognized = Feature "{0}" ist unbekannt.
true-not-supported = Status "True" f\u00FCr Feature "{0}" wird nicht unterst\u00FCtzt.
false-not-supported = Status "False" f\u00FCr Feature "{0}" wird nicht unterst\u00FCtzt.
feature-read-only = Feature "{0}" ist schreibgesch\u00FCtzt.
-jaxp-secureprocessing-feature = FEATURE_SECURE_PROCESSING: Feature kann nicht auf \"false\" gesetzt werden, wenn Security Manager vorhanden ist.
+jaxp-secureprocessing-feature = FEATURE_SECURE_PROCESSING: Feature kann nicht auf "false" gesetzt werden, wenn Security Manager vorhanden ist.
# property messages
property-not-supported = Eigenschaft "{0}" wird nicht unterst\u00FCtzt.
@@ -60,5 +57,5 @@ incompatible-class = Der f\u00FCr Eigenschaft "{0}" angegebene Wert kann nicht i
start-document-not-called=Eigenschaft "{0}" sollte aufgerufen werden, nachdem das startDocument-Ereignis ausgel\u00F6st wurde
nullparameter=Namensparameter f\u00FCr "{0}" ist null
-errorHandlerNotSet=Warnung\: Validierung wurde eingeschaltet, aber es wurde kein org.xml.sax.ErrorHandler festgelegt. Dies ist wahrscheinlich nicht beabsichtigt. Parser druckt die ersten {0} Fehler mit einem Standard-ErrorHandler. Rufen Sie die Methode "setErrorHandler" auf, um dies zu beheben.
-errorHandlerDebugMsg=Fehler\: URI \= "{0}", Zeile \= "{1}", \: {2}
+errorHandlerNotSet=Warnung: Validierung wurde eingeschaltet, aber es wurde kein org.xml.sax.ErrorHandler festgelegt. Dies ist wahrscheinlich nicht beabsichtigt. Parser druckt die ersten {0} Fehler mit einem Standard-ErrorHandler. Rufen Sie die Methode "setErrorHandler" auf, um dies zu beheben.
+errorHandlerDebugMsg=Fehler: URI = "{0}", Zeile = "{1}", : {2}
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_es.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_es.properties
index 377aac9cd69..60d5cfe3f74 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_es.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_es.properties
@@ -1,37 +1,34 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces
# SAX implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: SAXMessages_es.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: SAXMessages_es.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 05:10:53 gmolloy Exp $
BadMessageKey = No se ha encontrado el mensaje de error correspondiente a la clave de mensaje.
@@ -60,5 +57,5 @@ incompatible-class = El valor especificado para la propiedad ''{0}'' no se puede
start-document-not-called=La propiedad "{0}" debe llamarse despu\u00E9s de que se haya devuelto el evento startDocument
nullparameter=el par\u00E1metro de nombre para "{0}" es nulo
-errorHandlerNotSet=Advertencia\: se activ\u00F3 la validaci\u00F3n pero no se defini\u00F3 un org.xml.sax.ErrorHandler, lo cual probablemente sea un resultado no deseado. El analizador utilizar\u00E1 un ErrorHandler por defecto para imprimir los primeros {0} errores. Llame al m\u00E9todo ''setErrorHandler'' para solucionarlo.
-errorHandlerDebugMsg=Error\: URI \= "{0}", L\u00EDnea \= "{1}", \: {2}
+errorHandlerNotSet=Advertencia: se activ\u00F3 la validaci\u00F3n pero no se defini\u00F3 un org.xml.sax.ErrorHandler, lo cual probablemente sea un resultado no deseado. El analizador utilizar\u00E1 un ErrorHandler por defecto para imprimir los primeros {0} errores. Llame al m\u00E9todo ''setErrorHandler'' para solucionarlo.
+errorHandlerDebugMsg=Error: URI = "{0}", L\u00EDnea = "{1}", : {2}
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_fr.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_fr.properties
index 5d7dbb92a47..97e7f3d98c1 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_fr.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_fr.properties
@@ -1,37 +1,34 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces
# SAX implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: SAXMessages_fr.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: SAXMessages_fr.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 02:16:52 gmolloy Exp $
BadMessageKey = Le message d'erreur correspondant \u00E0 la cl\u00E9 de message est introuvable.
@@ -60,5 +57,5 @@ incompatible-class = La valeur indiqu\u00E9e pour la propri\u00E9t\u00E9 ''{0}''
start-document-not-called=La propri\u00E9t\u00E9 "{0}" doit \u00EAtre appel\u00E9e apr\u00E8s qu''un \u00E9v\u00E9nement startDocument est g\u00E9n\u00E9r\u00E9
nullparameter=le param\u00E8tre de nom pour "{0}" est NULL
-errorHandlerNotSet=Avertissement \: la validation a \u00E9t\u00E9 activ\u00E9e mais aucun \u00E9l\u00E9ment org.xml.sax.ErrorHandler n''a \u00E9t\u00E9 d\u00E9fini, ce qui devrait probablement \u00EAtre le cas. L''analyseur utilisera un gestionnaire d''erreurs par d\u00E9faut pour imprimer les {0} premi\u00E8res erreurs. Appelez la m\u00E9thode ''setErrorHandler'' pour r\u00E9soudre ce probl\u00E8me.
-errorHandlerDebugMsg=Erreur \: URI \= "{0}", ligne \= "{1}", \: {2}
+errorHandlerNotSet=Avertissement : la validation a \u00E9t\u00E9 activ\u00E9e mais aucun \u00E9l\u00E9ment org.xml.sax.ErrorHandler n''a \u00E9t\u00E9 d\u00E9fini, ce qui devrait probablement \u00EAtre le cas. L''analyseur utilisera un gestionnaire d''erreurs par d\u00E9faut pour imprimer les {0} premi\u00E8res erreurs. Appelez la m\u00E9thode ''setErrorHandler'' pour r\u00E9soudre ce probl\u00E8me.
+errorHandlerDebugMsg=Erreur : URI = "{0}", ligne = "{1}", : {2}
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_it.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_it.properties
index 182ccba41cf..773b9a2d8d9 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_it.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_it.properties
@@ -1,37 +1,34 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces
# SAX implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: SAXMessages_it.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: SAXMessages_it.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/27 08:14:02 gmolloy Exp $
BadMessageKey = Impossibile trovare il messaggio di errore corrispondente alla chiave di messaggio.
@@ -60,5 +57,5 @@ incompatible-class = Impossibile eseguire la conversione cast del valore specifi
start-document-not-called=Richiamare la propriet\u00E0 "{0}" dopo l''esecuzione dell''evento startDocument
nullparameter=il parametro del nome per "{0}" \u00E8 nullo
-errorHandlerNotSet=Avvertenza\: la convalida \u00E8 stata attivata, ma org.xml.sax.ErrorHandler non \u00E8 stato impostato, il che potrebbe essere un errore. Il parser utilizzer\u00E0 un ErrorHandler predefinito per visualizzare i primi {0} errori. Richiamare il metodo ''setErrorHandler'' per correggere questo problema.
-errorHandlerDebugMsg=Errore\: URI \= "{0}", riga \= "{1}", \: {2}
+errorHandlerNotSet=Avvertenza: la convalida \u00E8 stata attivata, ma org.xml.sax.ErrorHandler non \u00E8 stato impostato, il che potrebbe essere un errore. Il parser utilizzer\u00E0 un ErrorHandler predefinito per visualizzare i primi {0} errori. Richiamare il metodo ''setErrorHandler'' per correggere questo problema.
+errorHandlerDebugMsg=Errore: URI = "{0}", riga = "{1}", : {2}
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_ja.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_ja.properties
index 1bcf36606f0..5301c2f2ca7 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_ja.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_ja.properties
@@ -1,37 +1,34 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces
# SAX implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: SAXMessages_ja.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: SAXMessages_ja.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 01:05:12 gmolloy Exp $
BadMessageKey = \u30E1\u30C3\u30BB\u30FC\u30B8\u30FB\u30AD\u30FC\u306B\u5BFE\u5FDC\u3059\u308B\u30A8\u30E9\u30FC\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
@@ -60,5 +57,5 @@ incompatible-class = \u30D7\u30ED\u30D1\u30C6\u30A3''{0}''\u306B\u6307\u5B9A\u30
start-document-not-called=startDocument\u30A4\u30D9\u30F3\u30C8\u304C\u30B9\u30ED\u30FC\u3055\u308C\u305F\u5F8C\u3001\u30D7\u30ED\u30D1\u30C6\u30A3"{0}"\u3092\u547C\u3073\u51FA\u3059\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
nullparameter="{0}"\u306E\u540D\u524D\u30D1\u30E9\u30E1\u30FC\u30BF\u304Cnull\u3067\u3059
-errorHandlerNotSet=\u8B66\u544A\: \u691C\u8A3C\u306F\u30AA\u30F3\u306B\u306A\u3063\u3066\u3044\u307E\u3059\u304C\u3001org.xml.sax.ErrorHandler\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u5FC5\u8981\u3068\u3055\u308C\u3066\u3044\u308B\u30CF\u30F3\u30C9\u30E9\u306F\u3053\u306E\u30CF\u30F3\u30C9\u30E9\u3067\u306F\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002\u30D1\u30FC\u30B5\u30FC\u3067\u306F\u3001\u30C7\u30D5\u30A9\u30EB\u30C8\u306EErrorHandler\u3092\u4F7F\u7528\u3057\u3066\u6700\u521D\u306E{0}\u30A8\u30E9\u30FC\u304C\u51FA\u529B\u3055\u308C\u307E\u3059\u3002\u3053\u306E\u554F\u984C\u3092\u4FEE\u6B63\u3059\u308B\u306B\u306F\u3001''setErrorHandler''\u30E1\u30BD\u30C3\u30C9\u3092\u547C\u3073\u51FA\u3057\u3066\u304F\u3060\u3055\u3044\u3002
-errorHandlerDebugMsg=\u30A8\u30E9\u30FC\: URI \= "{0}"\u3001\u884C \= "{1}"\u3001\: {2}
+errorHandlerNotSet=\u8B66\u544A: \u691C\u8A3C\u306F\u30AA\u30F3\u306B\u306A\u3063\u3066\u3044\u307E\u3059\u304C\u3001org.xml.sax.ErrorHandler\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u5FC5\u8981\u3068\u3055\u308C\u3066\u3044\u308B\u30CF\u30F3\u30C9\u30E9\u306F\u3053\u306E\u30CF\u30F3\u30C9\u30E9\u3067\u306F\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002\u30D1\u30FC\u30B5\u30FC\u3067\u306F\u3001\u30C7\u30D5\u30A9\u30EB\u30C8\u306EErrorHandler\u3092\u4F7F\u7528\u3057\u3066\u6700\u521D\u306E{0}\u30A8\u30E9\u30FC\u304C\u51FA\u529B\u3055\u308C\u307E\u3059\u3002\u3053\u306E\u554F\u984C\u3092\u4FEE\u6B63\u3059\u308B\u306B\u306F\u3001''setErrorHandler''\u30E1\u30BD\u30C3\u30C9\u3092\u547C\u3073\u51FA\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+errorHandlerDebugMsg=\u30A8\u30E9\u30FC: URI = "{0}"\u3001\u884C = "{1}"\u3001: {2}
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_ko.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_ko.properties
index 262052ce099..032a96d1e5a 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_ko.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_ko.properties
@@ -1,37 +1,34 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces
# SAX implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: SAXMessages_ko.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: SAXMessages_ko.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 02:40:33 gmolloy Exp $
BadMessageKey = \uBA54\uC2DC\uC9C0 \uD0A4\uC5D0 \uD574\uB2F9\uD558\uB294 \uC624\uB958 \uBA54\uC2DC\uC9C0\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
@@ -39,7 +36,7 @@ FormatFailed = \uB2E4\uC74C \uBA54\uC2DC\uC9C0\uC758 \uD615\uC2DD\uC744 \uC9C0\u
# JAXP messages
schema-not-supported = \uC9C0\uC815\uB41C \uC2A4\uD0A4\uB9C8 \uC5B8\uC5B4\uB294 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
-jaxp-order-not-supported = ''{1}'' \uC18D\uC131\uC744 \uC124\uC815\uD558\uAE30 \uC804\uC5D0 ''{0}'' \uC18D\uC131\uC744 \uC124\uC815\uD574\uC57C \uD569\uB2C8\uB2E4.
+jaxp-order-not-supported = ''{1}'' \uC18D\uC131\uC744 \uC124\uC815\uD558\uAE30 \uC804\uC5D0 ''{0}'' \uC18D\uC131\uC744 \uC124\uC815\uD574\uC57C \uD569\uB2C8\uB2E4.
schema-already-specified = \uB110\uC774 \uC544\uB2CC \uC2A4\uD0A4\uB9C8 \uAC1D\uCCB4\uAC00 \uC774\uBBF8 \uC9C0\uC815\uB41C \uACBD\uC6B0 ''{0}'' \uC18D\uC131\uC744 \uC124\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
# feature messages
@@ -60,5 +57,5 @@ incompatible-class = ''{0}'' \uC18D\uC131\uC5D0 \uB300\uD574 \uC9C0\uC815\uB41C
start-document-not-called="{0}" \uC18D\uC131\uC740 startDocument \uC774\uBCA4\uD2B8\uAC00 \uBC1C\uC0DD\uB41C \uD6C4 \uD638\uCD9C\uD574\uC57C \uD569\uB2C8\uB2E4.
nullparameter="{0}"\uC5D0 \uB300\uD55C \uC774\uB984 \uB9E4\uAC1C\uBCC0\uC218\uAC00 \uB110\uC785\uB2C8\uB2E4.
-errorHandlerNotSet=\uACBD\uACE0\: \uAC80\uC99D\uC774 \uC124\uC815\uB418\uC5C8\uC9C0\uB9CC org.xml.sax.ErrorHandler\uAC00 \uC801\uC808\uD788 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uAD6C\uBB38 \uBD84\uC11D\uAE30\uAC00 \uAE30\uBCF8 ErrorHandler\uB97C \uC0AC\uC6A9\uD558\uC5EC \uCC98\uC74C {0}\uAC1C\uC758 \uC624\uB958\uB97C \uC778\uC1C4\uD569\uB2C8\uB2E4. \uC774 \uC624\uB958\uB97C \uC218\uC815\uD558\uB824\uBA74 ''setErrorHandler'' \uBA54\uC18C\uB4DC\uB97C \uD638\uCD9C\uD558\uC2ED\uC2DC\uC624.
-errorHandlerDebugMsg=\uC624\uB958\: URI \= "{0}", \uD589 \= "{1}", \: {2}
+errorHandlerNotSet=\uACBD\uACE0: \uAC80\uC99D\uC774 \uC124\uC815\uB418\uC5C8\uC9C0\uB9CC org.xml.sax.ErrorHandler\uAC00 \uC801\uC808\uD788 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uAD6C\uBB38 \uBD84\uC11D\uAE30\uAC00 \uAE30\uBCF8 ErrorHandler\uB97C \uC0AC\uC6A9\uD558\uC5EC \uCC98\uC74C {0}\uAC1C\uC758 \uC624\uB958\uB97C \uC778\uC1C4\uD569\uB2C8\uB2E4. \uC774 \uC624\uB958\uB97C \uC218\uC815\uD558\uB824\uBA74 ''setErrorHandler'' \uBA54\uC18C\uB4DC\uB97C \uD638\uCD9C\uD558\uC2ED\uC2DC\uC624.
+errorHandlerDebugMsg=\uC624\uB958: URI = "{0}", \uD589 = "{1}", : {2}
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_pt_BR.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_pt_BR.properties
index 8fde7087716..95425106f4f 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_pt_BR.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_pt_BR.properties
@@ -1,37 +1,34 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces
# SAX implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: SAXMessages_pt_BR.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: SAXMessages_pt_BR.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 07:33:06 gmolloy Exp $
BadMessageKey = N\u00E3o foi poss\u00EDvel encontrar a mensagem de erro correspondente \u00E0 chave da mensagem.
@@ -54,11 +51,11 @@ jaxp-secureprocessing-feature = FEATURE_SECURE_PROCESSING: N\u00E3o \u00E9 poss\
property-not-supported = A propriedade ''{0}'' n\u00E3o \u00E9 suportada.
property-not-recognized = A propriedade ''{0}'' n\u00E3o \u00E9 reconhecida.
property-read-only = A propriedade ''{0}'' \u00E9 somente para leitura.
-property-not-parsing-supported = A propriedade ''{0}'' n\u00E3o \u00E9 suportada durante o parse.
+property-not-parsing-supported = A propriedade ''{0}'' n\u00E3o \u00E9 suportada durante o parsing.
dom-node-read-not-supported = N\u00E3o \u00E9 poss\u00EDvel ler a propriedade do n\u00F3 de DOM. N\u00E3o existe uma \u00E1rvore de DOM.
incompatible-class = O valor especificado para a propriedade ''{0}'' n\u00E3o pode ser transmitido para ''{1}''.
start-document-not-called=A propriedade "{0}" deve ser chamada ap\u00F3s o evento startDocument ser lan\u00E7ado
nullparameter=o par\u00E2metro de nome de "{0}" \u00E9 nulo
-errorHandlerNotSet=Advert\u00EAncia\: A valida\u00E7\u00E3o foi ativada, mas um org.xml.sax.ErrorHandler n\u00E3o foi definido, provavelmente porque n\u00E3o era necess\u00E1rio. O parser usar\u00E1 um ErrorHandler default para imprimir os primeiros {0} erros. Chame o m\u00E9todo ''setErrorHandler'' para corrigir o problema.
-errorHandlerDebugMsg=Erro\: URI \= "{0}", Linha \= "{1}", \: {2}
+errorHandlerNotSet=Advert\u00EAncia: A valida\u00E7\u00E3o foi ativada, mas um org.xml.sax.ErrorHandler n\u00E3o foi definido, provavelmente porque n\u00E3o era necess\u00E1rio. O parser usar\u00E1 um ErrorHandler default para imprimir os primeiros {0} erros. Chame o m\u00E9todo ''setErrorHandler'' para corrigir o problema.
+errorHandlerDebugMsg=Erro: URI = "{0}", Linha = "{1}", : {2}
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_sv.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_sv.properties
index 690a74064e8..1a5df9858d6 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_sv.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_sv.properties
@@ -1,37 +1,34 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces
# SAX implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: SAXMessages_sv.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: SAXMessages_sv.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 00:46:23 gmolloy Exp $
BadMessageKey = Hittar inte felmeddelandet som motsvarar meddelandenyckeln.
@@ -60,5 +57,5 @@ incompatible-class = V\u00E4rdet angivet f\u00F6r egenskapen ''{0}'' kan inte om
start-document-not-called=Egenskapen "{0}" b\u00F6r anropas efter startDocument-h\u00E4ndelsen utl\u00F6ses
nullparameter=namnparametern f\u00F6r "{0}" \u00E4r null
-errorHandlerNotSet=Varning\: valideringen startades, men det fanns ingen angiven org.xml.sax.ErrorHandler. Parser anv\u00E4nder ErrorHandler av standardtyp vid utskrift av de f\u00F6rsta {0} felen. Korrigera felet genom anrop av setErrorHandler-metoden.
-errorHandlerDebugMsg=Fel\: URI \= "{0}", Rad \= "{1}", \: {2}
+errorHandlerNotSet=Varning: valideringen startades, men det fanns ingen angiven org.xml.sax.ErrorHandler. Parser anv\u00E4nder ErrorHandler av standardtyp vid utskrift av de f\u00F6rsta {0} felen. Korrigera felet genom anrop av setErrorHandler-metoden.
+errorHandlerDebugMsg=Fel: URI = "{0}", Rad = "{1}", : {2}
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_zh_CN.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_zh_CN.properties
index dcfdb68b143..4c425d1705d 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_zh_CN.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_zh_CN.properties
@@ -1,37 +1,34 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces
# SAX implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: SAXMessages_zh_CN.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: SAXMessages_zh_CN.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 01:19:32 gmolloy Exp $
BadMessageKey = \u627E\u4E0D\u5230\u4E0E\u6D88\u606F\u5173\u952E\u5B57\u5BF9\u5E94\u7684\u9519\u8BEF\u6D88\u606F\u3002
@@ -54,11 +51,11 @@ jaxp-secureprocessing-feature = FEATURE_SECURE_PROCESSING: \u5B58\u5728 Security
property-not-supported = \u4E0D\u652F\u6301\u5C5E\u6027 ''{0}''\u3002
property-not-recognized = \u65E0\u6CD5\u8BC6\u522B\u5C5E\u6027 ''{0}''\u3002
property-read-only = \u5C5E\u6027 ''{0}'' \u4E3A\u53EA\u8BFB\u3002
-property-not-parsing-supported = \u6267\u884C\u8BED\u6CD5\u5206\u6790\u65F6\u4E0D\u652F\u6301\u5C5E\u6027 ''{0}''\u3002
+property-not-parsing-supported = \u89E3\u6790\u65F6\u4E0D\u652F\u6301\u5C5E\u6027 ''{0}''\u3002
dom-node-read-not-supported = \u65E0\u6CD5\u8BFB\u53D6 DOM \u8282\u70B9\u5C5E\u6027\u3002\u4E0D\u5B58\u5728 DOM \u6811\u3002
incompatible-class = \u4E3A\u5C5E\u6027 ''{0}'' \u6307\u5B9A\u7684\u503C\u4E0D\u80FD\u8F6C\u6362\u4E3A{1}\u3002
start-document-not-called=\u5E94\u5728\u629B\u51FA startDocument \u4E8B\u4EF6\u540E\u8C03\u7528\u5C5E\u6027 "{0}"
nullparameter="{0}" \u7684\u540D\u79F0\u53C2\u6570\u4E3A\u7A7A\u503C
-errorHandlerNotSet=\u8B66\u544A\: \u5DF2\u542F\u7528\u9A8C\u8BC1, \u4F46\u672A\u8BBE\u7F6E org.xml.sax.ErrorHandler, \u8FD9\u53EF\u80FD\u4E0D\u662F\u9884\u671F\u7ED3\u679C\u3002\u8BED\u6CD5\u5206\u6790\u5668\u5C06\u4F7F\u7528\u9ED8\u8BA4 ErrorHandler \u6765\u8F93\u51FA\u524D {0} \u4E2A\u9519\u8BEF\u3002\u8BF7\u8C03\u7528 ''setErrorHandler'' \u65B9\u6CD5\u4EE5\u89E3\u51B3\u6B64\u95EE\u9898\u3002
-errorHandlerDebugMsg=\u9519\u8BEF\: URI \= "{0}", \u884C \= "{1}", \: {2}
+errorHandlerNotSet=\u8B66\u544A: \u5DF2\u542F\u7528\u9A8C\u8BC1, \u4F46\u672A\u8BBE\u7F6E org.xml.sax.ErrorHandler, \u8FD9\u53EF\u80FD\u4E0D\u662F\u9884\u671F\u7ED3\u679C\u3002\u89E3\u6790\u5668\u5C06\u4F7F\u7528\u9ED8\u8BA4 ErrorHandler \u6765\u8F93\u51FA\u524D {0} \u4E2A\u9519\u8BEF\u3002\u8BF7\u8C03\u7528 ''setErrorHandler'' \u65B9\u6CD5\u4EE5\u89E3\u51B3\u6B64\u95EE\u9898\u3002
+errorHandlerDebugMsg=\u9519\u8BEF: URI = "{0}", \u884C = "{1}", : {2}
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_zh_TW.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_zh_TW.properties
index 603df70cddc..7ee58dcddbf 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_zh_TW.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_zh_TW.properties
@@ -1,37 +1,34 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces
# SAX implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: SAXMessages_zh_TW.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: SAXMessages_zh_TW.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/27 00:30:48 gmolloy Exp $
BadMessageKey = \u627E\u4E0D\u5230\u5C0D\u61C9\u8A0A\u606F\u7D22\u5F15\u9375\u7684\u932F\u8AA4\u8A0A\u606F\u3002
@@ -60,5 +57,5 @@ incompatible-class = \u70BA\u5C6C\u6027 ''{0}'' \u6307\u5B9A\u7684\u503C\u4E0D\u
start-document-not-called=\u767C\u751F startDocument \u4E8B\u4EF6\u4E4B\u5F8C\uFF0C\u61C9\u547C\u53EB\u5C6C\u6027 "{0}"\u3002
nullparameter="{0}" \u7684\u540D\u7A31\u53C3\u6578\u70BA\u7A7A\u503C
-errorHandlerNotSet=\u8B66\u544A\: \u5DF2\u958B\u555F\u9A57\u8B49\uFF0C\u4F46\u662F\u672A\u8A2D\u5B9A org.xml.sax.ErrorHandler\uFF0C\u9019\u53EF\u80FD\u4E0D\u662F\u6240\u8981\u7684\u72C0\u614B\u3002\u5256\u6790\u5668\u5C07\u4F7F\u7528\u9810\u8A2D\u7684 ErrorHandler \u4F86\u5217\u5370\u7B2C\u4E00\u500B {0} \u932F\u8AA4\u3002\u8ACB\u547C\u53EB ''setErrorHandler'' \u65B9\u6CD5\u4F86\u4FEE\u6B63\u6B64\u554F\u984C\u3002
-errorHandlerDebugMsg=\u932F\u8AA4\: URI \= "{0}"\uFF0C\u884C \= "{1}"\uFF0C\: {2}
+errorHandlerNotSet=\u8B66\u544A: \u5DF2\u958B\u555F\u9A57\u8B49\uFF0C\u4F46\u662F\u672A\u8A2D\u5B9A org.xml.sax.ErrorHandler\uFF0C\u9019\u53EF\u80FD\u4E0D\u662F\u6240\u8981\u7684\u72C0\u614B\u3002\u5256\u6790\u5668\u5C07\u4F7F\u7528\u9810\u8A2D\u7684 ErrorHandler \u4F86\u5217\u5370\u7B2C\u4E00\u500B {0} \u932F\u8AA4\u3002\u8ACB\u547C\u53EB ''setErrorHandler'' \u65B9\u6CD5\u4F86\u4FEE\u6B63\u6B64\u554F\u984C\u3002
+errorHandlerDebugMsg=\u932F\u8AA4: URI = "{0}"\uFF0C\u884C = "{1}"\uFF0C: {2}
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_de.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_de.properties
index 58c045b8d32..6bb6cebb0a3 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_de.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_de.properties
@@ -1,30 +1,27 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# Messages for message reporting
BadMessageKey = Die zum Meldungsschl\u00FCssel geh\u00F6rige Fehlermeldung kann nicht gefunden werden.
@@ -39,10 +36,10 @@ FallbackChild = Andere Elemente aus Namespace "http://www.w3.org/2001/XInclude"
HrefMissing = "href"-Attribut eines "include"-Elements fehlt.
RecursiveInclude = Rekursives "include" ermittelt. Dokument "{0}" wurde bereits verarbeitet.
InvalidParseValue = Ung\u00FCltiger Wert f\u00FCr "parse"-Attribut bei "include"-Element: "{0}".
-XMLParseError = Fehler beim Versuch, XML-Datei zu parsen (href="{0}"). Grund: {1}
+XMLParseError = Fehler beim Versuch, XML-Datei zu parsen (href=''{0}''). Ursache: {1}
XMLResourceError = Include-Vorgang nicht erfolgreich. Zur\u00FCck zu Fallback. Ressourcenfehler beim Lesen der Datei als XML (href="{0}"). Grund: {1}
TextResourceError = Include-Vorgang nicht erfolgreich. Zur\u00FCck zu Fallback. Ressourcenfehler beim Lesen der Datei als Text (href="{0}"). Grund: {1}
-NO_XPointerSchema = Schema f\u00FCr \"{0}\" wird standardm\u00E4\u00DFig nicht unterst\u00FCtzt. Definieren Sie Ihr eigenes Schema f\u00FCr {0}. Siehe http://apache.org/xml/properties/xpointer-schema
+NO_XPointerSchema = Schema f\u00FCr "{0}" wird standardm\u00E4\u00DFig nicht unterst\u00FCtzt. Definieren Sie Ihr eigenes Schema f\u00FCr {0}. Siehe http://apache.org/xml/properties/xpointer-schema
NO_SubResourceIdentified = Keine Subressource von XPointer-Prozessor f\u00FCr Zeiger {0} identifiziert.
NonDuplicateNotation = Mehrere Notationen mit dem Namen "{0}" wurden verwendet, die aber nicht als Duplikate ermittelt wurden.
NonDuplicateUnparsedEntity = Mehrere nicht geparste Entit\u00E4ten mit dem Namen "{0}" wurden verwendet, die aber nicht als Duplikate ermittelt wurden.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_es.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_es.properties
index 2bf1f2b47b0..26ccc9aef76 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_es.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_es.properties
@@ -1,30 +1,27 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# Messages for message reporting
BadMessageKey = No se ha encontrado el mensaje de error correspondiente a la clave de mensaje.
@@ -39,10 +36,10 @@ FallbackChild = No se permite que los elementos del espacio de nombres ''http://
HrefMissing = Falta el atributo 'href' de un elemento 'include'.
RecursiveInclude = Se ha detectado un elemento include recursivo. El documento ''{0}'' ya se ha procesado.
InvalidParseValue = Valor no v\u00E1lido para el atributo ''parse'' en el elemento ''include'': ''{0}''.
-XMLParseError = Error al intentar analizar el archivo XML (href=''{0}''). Motivo: {1}
+XMLParseError = Error al intentar analizar el archivo XML (href=''{0}''). Motivo: {1}
XMLResourceError = Fallo de la operaci\u00F3n include, conversi\u00F3n a fallback. Error del recurso al leer el archivo como XML (href=''{0}''). Motivo: {1}
TextResourceError = Fallo de la operaci\u00F3n include, conversi\u00F3n a fallback. Error del recurso al leer el archivo como texto (href=''{0}''). Motivo: {1}
-NO_XPointerSchema = El esquema para \"{0}\" no est\u00E1 soportado por defecto. Defina su propio esquema para {0}. Consulte http://apache.org/xml/properties/xpointer-schema
+NO_XPointerSchema = El esquema para "{0}" no est\u00E1 soportado por defecto. Defina su propio esquema para {0}. Consulte http://apache.org/xml/properties/xpointer-schema
NO_SubResourceIdentified = El procesador XPointer no ha identificado el subrecurso para el puntero {0}.
NonDuplicateNotation = Se han utilizado varias notaciones con el nombre''{0}'', pero no se ha determinado que sean duplicados.
NonDuplicateUnparsedEntity = Se han utilizado varias entidades no analizadas con el nombre''{0}'', pero no se ha determinado que sean duplicados.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_fr.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_fr.properties
index 9a22cb4e2f2..fa5962f5147 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_fr.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_fr.properties
@@ -1,30 +1,27 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# Messages for message reporting
BadMessageKey = Le message d'erreur correspondant \u00E0 la cl\u00E9 de message est introuvable.
@@ -42,7 +39,7 @@ InvalidParseValue = Valeur non valide pour l''attribut ''parse'' sur l''\u00E9l\
XMLParseError = Erreur lors de la tentative d''analyse du fichier XML (href=''{0}''). Raison : {1}
XMLResourceError = Echec de l''op\u00E9ration Include, r\u00E9tablissement de l''\u00E9l\u00E9ment fallback. Erreur de ressource lors de la lecture du fichier en tant que XML (href=''{0}''). Raison : {1}
TextResourceError = Echec de l''op\u00E9ration Include, r\u00E9tablissement de l''\u00E9l\u00E9ment fallback. Erreur de ressource lors de la lecture du fichier en tant que texte (href=''{0}''). Raison : {1}
-NO_XPointerSchema = Par d\u00E9faut, le sch\u00E9ma pour \"{0}\" n''est pas pris en charge. D\u00E9finissez votre propre sch\u00E9ma pour {0}. Reportez-vous \u00E0 l''adresse http://apache.org/xml/properties/xpointer-schema
+NO_XPointerSchema = Par d\u00E9faut, le sch\u00E9ma pour "{0}" n''est pas pris en charge. D\u00E9finissez votre propre sch\u00E9ma pour {0}. Reportez-vous \u00E0 l''adresse http://apache.org/xml/properties/xpointer-schema
NO_SubResourceIdentified = Aucune sous-ressource n''est identifi\u00E9e par le processeur XPointer pour le pointeur {0}.
NonDuplicateNotation = Plusieurs notations portant le nom ''{0}'' ont \u00E9t\u00E9 utilis\u00E9es, mais elles n''ont pas \u00E9t\u00E9 consid\u00E9r\u00E9es comme des doublons.
NonDuplicateUnparsedEntity = Plusieurs entit\u00E9s non analys\u00E9es portant le nom ''{0}'' ont \u00E9t\u00E9 utilis\u00E9es, mais elles n''ont pas \u00E9t\u00E9 consid\u00E9r\u00E9es comme des doublons.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_it.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_it.properties
index 1cdc5442130..38e08cb92a9 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_it.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_it.properties
@@ -1,30 +1,27 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# Messages for message reporting
BadMessageKey = Impossibile trovare il messaggio di errore corrispondente alla chiave di messaggio.
@@ -39,10 +36,10 @@ FallbackChild = Gli elementi dello spazio di nomi ''http://www.w3.org/2001/XIncl
HrefMissing = Manca l'attributo 'href' di un elemento 'include'.
RecursiveInclude = Inclusione ricorsiva rilevata. Il documento ''{0}'' \u00E8 gi\u00E0 stato elaborato.
InvalidParseValue = Valore non valido per l''attributo ''parse'' nell''elemento ''include'': ''{0}''.
-XMLParseError = Errore nel tentativo di analizzare il file XML (href=''{0}''). Motivo: {1}
+XMLParseError = Errore durante il tentativo di analizzare il file XML (href=''{0}''). Causa: {1}
XMLResourceError = Operazione di inclusione non riuscita. Verr\u00E0 ripristinato il fallback. Errore di risorsa durante la lettura del file come XML (href=''{0}''). Motivo: {1}
TextResourceError = Operazione di inclusione non riuscita. Verr\u00E0 ripristinato il fallback. Errore di risorsa durante la lettura del file come testo (href=''{0}''). Motivo: {1}
-NO_XPointerSchema = Lo schema per \"{0}\" non \u00E8 supportato per impostazione predefinita. Definire il proprio schema per {0}. Vedere http://apache.org/xml/properties/xpointer-schema.
+NO_XPointerSchema = Lo schema per "{0}" non \u00E8 supportato per impostazione predefinita. Definire il proprio schema per {0}. Vedere http://apache.org/xml/properties/xpointer-schema.
NO_SubResourceIdentified = Nessuna risorsa secondaria identificata dal processore XPointer per il puntatore {0}.
NonDuplicateNotation = Sono state utilizzate pi\u00F9 notazioni con il nome ''{0}'', ma \u00E8 stato determinato che non sono duplicati.
NonDuplicateUnparsedEntity = Sono state utilizzate pi\u00F9 entit\u00E0 non analizzate con il nome ''{0}'', ma \u00E8 stato determinato che non sono duplicati.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_ja.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_ja.properties
index 6b88fe82e05..2034e72751e 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_ja.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_ja.properties
@@ -1,30 +1,27 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# Messages for message reporting
BadMessageKey = \u30E1\u30C3\u30BB\u30FC\u30B8\u30FB\u30AD\u30FC\u306B\u5BFE\u5FDC\u3059\u308B\u30A8\u30E9\u30FC\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
@@ -42,7 +39,7 @@ InvalidParseValue = ''include''\u8981\u7D20\u306E''parse''\u5C5E\u6027\u306E\u50
XMLParseError = XML\u30D5\u30A1\u30A4\u30EB\u306E\u89E3\u6790\u8A66\u884C\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F(href=''{0}'')\u3002\u7406\u7531: {1}
XMLResourceError = \u30A4\u30F3\u30AF\u30EB\u30FC\u30C9\u64CD\u4F5C\u304C\u5931\u6557\u3057\u3001\u30D5\u30A9\u30FC\u30EB\u30D0\u30C3\u30AF\u306B\u623B\u308A\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u3092XML\u3068\u3057\u3066\u8AAD\u53D6\u308A\u4E2D\u306B\u30EA\u30BD\u30FC\u30B9\u30FB\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F(href=''{0}'')\u3002\u7406\u7531: {1}
TextResourceError = \u30A4\u30F3\u30AF\u30EB\u30FC\u30C9\u64CD\u4F5C\u304C\u5931\u6557\u3057\u3001\u30D5\u30A9\u30FC\u30EB\u30D0\u30C3\u30AF\u306B\u623B\u308A\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u3092\u30C6\u30AD\u30B9\u30C8\u3068\u3057\u3066\u8AAD\u53D6\u308A\u4E2D\u306B\u30EA\u30BD\u30FC\u30B9\u30FB\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F(href=''{0}'')\u3002\u7406\u7531: {1}
-NO_XPointerSchema = \u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u306F\u3001\"{0}\"\u306E\u30B9\u30AD\u30FC\u30DE\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002{0}\u306B\u5BFE\u3057\u3066\u72EC\u81EA\u306E\u30B9\u30AD\u30FC\u30DE\u3092\u5B9A\u7FA9\u3057\u3066\u304F\u3060\u3055\u3044\u3002http://apache.org/xml/properties/xpointer-schema\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044
+NO_XPointerSchema = \u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u306F\u3001"{0}"\u306E\u30B9\u30AD\u30FC\u30DE\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002{0}\u306B\u5BFE\u3057\u3066\u72EC\u81EA\u306E\u30B9\u30AD\u30FC\u30DE\u3092\u5B9A\u7FA9\u3057\u3066\u304F\u3060\u3055\u3044\u3002http://apache.org/xml/properties/xpointer-schema\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044
NO_SubResourceIdentified = \u30DD\u30A4\u30F3\u30BF{0}\u306EXPointer\u30D7\u30ED\u30BB\u30C3\u30B5\u3067\u306F\u30B5\u30D6\u30EA\u30BD\u30FC\u30B9\u306F\u8B58\u5225\u3055\u308C\u307E\u305B\u3093\u3002
NonDuplicateNotation = \u540D\u524D\u304C''{0}''\u306E\u8907\u6570\u306E\u8868\u8A18\u6CD5\u304C\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u3053\u308C\u3089\u306E\u8868\u8A18\u6CD5\u306F\u91CD\u8907\u3068\u307F\u306A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
NonDuplicateUnparsedEntity = \u540D\u524D\u304C''{0}''\u306E\u8907\u6570\u306E\u672A\u89E3\u6790\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u304C\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u3053\u308C\u3089\u306E\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u306F\u91CD\u8907\u3068\u307F\u306A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_ko.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_ko.properties
index 570b7a7d583..40783603303 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_ko.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_ko.properties
@@ -1,30 +1,27 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# Messages for message reporting
BadMessageKey = \uBA54\uC2DC\uC9C0 \uD0A4\uC5D0 \uD574\uB2F9\uD558\uB294 \uC624\uB958 \uBA54\uC2DC\uC9C0\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
@@ -39,10 +36,10 @@ FallbackChild = ''include'' \uC678\uC5D0 \uB2E4\uB978 ''http://www.w3.org/2001/X
HrefMissing = 'include' \uC694\uC18C\uC758 'href' \uC18D\uC131\uC774 \uB204\uB77D\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
RecursiveInclude = \uC21C\uD658 include\uAC00 \uAC10\uC9C0\uB418\uC5C8\uC2B5\uB2C8\uB2E4. ''{0}'' \uBB38\uC11C\uAC00 \uC774\uBBF8 \uCC98\uB9AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
InvalidParseValue = ''include'' \uC694\uC18C\uC5D0 ''parse'' \uC18D\uC131\uC5D0 \uB300\uD574 \uBD80\uC801\uD569\uD55C \uAC12\uC774 \uC788\uC74C: ''{0}''.
-XMLParseError = XML \uD30C\uC77C(href=''{0}'')\uC758 \uAD6C\uBB38\uC744 \uBD84\uC11D\uD558\uB824\uACE0 \uC2DC\uB3C4\uD558\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.\uC6D0\uC778: {1}
+XMLParseError = XML \uD30C\uC77C(href=''{0}'')\uC758 \uAD6C\uBB38\uC744 \uBD84\uC11D\uD558\uB824\uACE0 \uC2DC\uB3C4\uD558\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \uC6D0\uC778: {1}
XMLResourceError = Include \uC791\uC5C5\uC744 \uC2E4\uD328\uD558\uC5EC fallback\uC73C\uB85C \uBCF5\uC6D0\uD558\uB294 \uC911\uC785\uB2C8\uB2E4. \uD30C\uC77C\uC744 XML(href=''{0}'')\uB85C \uC77D\uB294 \uC911 \uB9AC\uC18C\uC2A4 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \uC6D0\uC778: {1}
TextResourceError = Include \uC791\uC5C5\uC744 \uC2E4\uD328\uD558\uC5EC fallback\uC73C\uB85C \uBCF5\uC6D0\uD558\uB294 \uC911\uC785\uB2C8\uB2E4. \uD30C\uC77C\uC744 \uD14D\uC2A4\uD2B8(href=''{0}'')\uB85C \uC77D\uB294 \uC911 \uB9AC\uC18C\uC2A4 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \uC6D0\uC778: {1}
-NO_XPointerSchema = \uAE30\uBCF8\uC801\uC73C\uB85C \"{0}\"\uC5D0 \uB300\uD55C \uC2A4\uD0A4\uB9C8\uB294 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. {0}\uC5D0 \uB300\uD574 \uACE0\uC720\uD55C \uC2A4\uD0A4\uB9C8\uB97C \uC815\uC758\uD558\uC2ED\uC2DC\uC624. http://apache.org/xml/properties/xpointer-schema\uB97C \uCC38\uC870\uD558\uC2ED\uC2DC\uC624.
+NO_XPointerSchema = \uAE30\uBCF8\uC801\uC73C\uB85C "{0}"\uC5D0 \uB300\uD55C \uC2A4\uD0A4\uB9C8\uB294 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. {0}\uC5D0 \uB300\uD574 \uACE0\uC720\uD55C \uC2A4\uD0A4\uB9C8\uB97C \uC815\uC758\uD558\uC2ED\uC2DC\uC624. http://apache.org/xml/properties/xpointer-schema\uB97C \uCC38\uC870\uD558\uC2ED\uC2DC\uC624.
NO_SubResourceIdentified = {0} \uD3EC\uC778\uD130\uC5D0 \uB300\uD55C XPointer \uD504\uB85C\uC138\uC11C\uAC00 \uC2DD\uBCC4\uD55C \uD558\uC704 \uB9AC\uC18C\uC2A4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.
NonDuplicateNotation = \uC774\uB984\uC774 ''{0}''\uC774\uC9C0\uB9CC \uC911\uBCF5\uB41C \uAC83\uC73C\uB85C \uD655\uC778\uB418\uC9C0 \uC54A\uC740 \uD45C\uAE30\uBC95\uC774 \uC5EC\uB7EC \uAC1C \uC0AC\uC6A9\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
NonDuplicateUnparsedEntity = \uC774\uB984\uC774 ''{0}''\uC774\uC9C0\uB9CC \uC911\uBCF5\uB41C \uAC83\uC73C\uB85C \uD655\uC778\uB418\uC9C0 \uC54A\uC558\uC73C\uBA70 \uAD6C\uBB38\uC774 \uBD84\uC11D\uB418\uC9C0 \uC54A\uC740 \uC5D4\uD2F0\uD2F0\uAC00 \uC5EC\uB7EC \uAC1C \uC0AC\uC6A9\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_pt_BR.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_pt_BR.properties
index 5abd8266549..c40d3342d3e 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_pt_BR.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_pt_BR.properties
@@ -1,30 +1,27 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# Messages for message reporting
BadMessageKey = N\u00E3o foi poss\u00EDvel encontrar a mensagem de erro correspondente \u00E0 chave da mensagem.
@@ -39,10 +36,10 @@ FallbackChild = Elementos do namespace ''http://www.w3.org/2001/XInclude'', dife
HrefMissing = O atributo 'href' de um elemento 'include' n\u00E3o foi encontrado.
RecursiveInclude = Inclus\u00E3o recursiva detectada. O documento ''{0}'' j\u00E1 foi processado.
InvalidParseValue = Valor inv\u00E1lido para o atributo ''parse'' no elemento ''include'': ''{0}''.
-XMLParseError = Erro ao tentar fazer parse do arquivo XML (href=''{0}''). Motivo: {1}
+XMLParseError = Erro ao tentar fazer parse do arquivo XML (href=''{0}''). Motivo: {1}
XMLResourceError = Falha na opera\u00E7\u00E3o de inclus\u00E3o; revertendo para fallback. Erro do recurso ao ler o arquivo como XML (href=''{0}''). Motivo: {1}
TextResourceError = Falha na opera\u00E7\u00E3o de inclus\u00E3o; revertendo para fallback. Erro do recurso ao ler o arquivo como texto (href=''{0}''). Motivo: {1}
-NO_XPointerSchema = Por default, o esquema para \"{0}\" n\u00E3o \u00E9 suportado. Defina seu pr\u00F3prio esquema para {0}. Consulte http://apache.org/xml/properties/xpointer-schema
+NO_XPointerSchema = Por default, o esquema para "{0}" n\u00E3o \u00E9 suportado. Defina seu pr\u00F3prio esquema para {0}. Consulte http://apache.org/xml/properties/xpointer-schema
NO_SubResourceIdentified = Nenhum Sub-recurso foi identificado pelo Processador XPointer do Ponteiro {0}.
NonDuplicateNotation = Foram usadas v\u00E1rias nota\u00E7\u00F5es que tinham o nome ''{0}'', mas n\u00E3o foram determinadas como duplica\u00E7\u00F5es.
NonDuplicateUnparsedEntity = Foram usadas v\u00E1rias entidades que tinham o nome ''{0}'', mas n\u00E3o foram determinadas como duplica\u00E7\u00F5es.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_sv.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_sv.properties
index 426a5fa82bd..c75a115c60e 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_sv.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_sv.properties
@@ -1,37 +1,34 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# Messages for message reporting
BadMessageKey = Hittar inte felmeddelandet som motsvarar meddelandenyckeln.
FormatFailed = Ett internt fel intr\u00E4ffade vid formatering av f\u00F6ljande meddelande:\n
# Messages for erroneous input
-NoFallback = Ett \''include\'' med href \''{0}\'' utf\u00F6rdes inte, hittade inget \u00E5terskapningselement (''fallback'').
+NoFallback = Ett ''include'' med href ''{0}'' utf\u00F6rdes inte, hittade inget \u00E5terskapningselement (''fallback'').
MultipleFallbacks = [underordnade] i ett 'include'-element f\u00E5r inte inneh\u00E5lla fler \u00E4n ett 'fallback'-element.
FallbackParent = Ett 'fallback'-element hittades utan n\u00E5got 'include' som \u00F6verordnat element.
IncludeChild = Element fr\u00E5n namnrymd ''http://www.w3.org/2001/XInclude'', ut\u00F6ver ''fallback'', \u00E4r inte till\u00E5tna som underordnade i ''include''-element. Hittade d\u00E4remot ''{0}''.
@@ -42,7 +39,7 @@ InvalidParseValue = Ogiltigt v\u00E4rde f\u00F6r ''parse''-attribut i ''include'
XMLParseError = Fel vid f\u00F6rs\u00F6k att tolka XML-fil (href=''{0}''). Orsak: {1}
XMLResourceError = Inkluderings\u00E5tg\u00E4rden utf\u00F6rdes inte, \u00E5terst\u00E4ller genom att \u00E5terskapa. Resursfel vid l\u00E4sning av fil som XML (href=''{0}''). Orsak: {1}
TextResourceError = Inkluderings\u00E5tg\u00E4rden utf\u00F6rdes inte, \u00E5terst\u00E4ller genom att \u00E5terskapa. Resursfel vid l\u00E4sning av fil som text (href=''{0}''). Orsak: {1}
-NO_XPointerSchema = Schema f\u00F6r \"{0}\" st\u00F6ds inte som standard. Definiera ett eget schema f\u00F6r {0}.Se http://apache.org/xml/properties/xpointer-schema
+NO_XPointerSchema = Schema f\u00F6r "{0}" st\u00F6ds inte som standard. Definiera ett eget schema f\u00F6r {0}.Se http://apache.org/xml/properties/xpointer-schema
NO_SubResourceIdentified = Ingen Subresource har identifierats av XPointer-processorn f\u00F6r pekare {0}.
NonDuplicateNotation = Flera noteringar anv\u00E4nds med namnet ''{0}'', men som inte fastst\u00E4lls som dubbletter.
NonDuplicateUnparsedEntity = Flera otolkade enheter anv\u00E4nds med namnet ''{0}'', men som inte fastst\u00E4lls som dubbletter.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_zh_CN.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_zh_CN.properties
index bcbb3aa3f70..3231b731892 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_zh_CN.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_zh_CN.properties
@@ -1,30 +1,27 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# Messages for message reporting
BadMessageKey = \u627E\u4E0D\u5230\u4E0E\u6D88\u606F\u5173\u952E\u5B57\u5BF9\u5E94\u7684\u9519\u8BEF\u6D88\u606F\u3002
@@ -39,13 +36,13 @@ FallbackChild = \u4E0D\u5141\u8BB8\u5C06\u540D\u79F0\u7A7A\u95F4 ''http://www.w3
HrefMissing = \u7F3A\u5C11 'include' \u5143\u7D20\u7684 'href' \u5C5E\u6027\u3002
RecursiveInclude = \u68C0\u6D4B\u5230\u9012\u5F52 include\u3002\u5DF2\u5904\u7406\u6587\u6863 ''{0}''\u3002
InvalidParseValue = ''include'' \u5143\u7D20\u7684 ''parse'' \u5C5E\u6027\u7684\u503C\u65E0\u6548: ''{0}''\u3002
-XMLParseError = \u5C1D\u8BD5\u5BF9 XML \u6587\u4EF6 (href=''{0}'') \u8FDB\u884C\u8BED\u6CD5\u5206\u6790\u65F6\u51FA\u9519\u3002\u539F\u56E0: {1}
+XMLParseError = \u5C1D\u8BD5\u89E3\u6790 XML \u6587\u4EF6 (href=''{0}'') \u65F6\u51FA\u9519\u3002\u539F\u56E0: {1}
XMLResourceError = Include \u64CD\u4F5C\u5931\u8D25, \u5E76\u8FD8\u539F\u4E3A fallback\u3002\u4EE5 XML (href=''{0}'') \u683C\u5F0F\u8BFB\u53D6\u6587\u4EF6\u65F6\u51FA\u73B0\u8D44\u6E90\u9519\u8BEF\u3002\u539F\u56E0: {1}
TextResourceError = Include \u64CD\u4F5C\u5931\u8D25, \u5E76\u8FD8\u539F\u4E3A fallback\u3002\u4EE5\u6587\u672C (href=''{0}'') \u683C\u5F0F\u8BFB\u53D6\u6587\u4EF6\u65F6\u51FA\u73B0\u8D44\u6E90\u9519\u8BEF\u3002\u539F\u56E0: {1}
-NO_XPointerSchema = \u9ED8\u8BA4\u60C5\u51B5\u4E0B, \u4E0D\u652F\u6301 \"{0}\" \u7684\u65B9\u6848\u3002\u8BF7\u4E3A{0}\u5B9A\u4E49\u60A8\u81EA\u5DF1\u7684\u65B9\u6848\u3002\u8BF7\u8BBF\u95EE http://apache.org/xml/properties/xpointer-schema
+NO_XPointerSchema = \u9ED8\u8BA4\u60C5\u51B5\u4E0B, \u4E0D\u652F\u6301 "{0}" \u7684\u65B9\u6848\u3002\u8BF7\u4E3A{0}\u5B9A\u4E49\u60A8\u81EA\u5DF1\u7684\u65B9\u6848\u3002\u8BF7\u8BBF\u95EE http://apache.org/xml/properties/xpointer-schema
NO_SubResourceIdentified = \u65E0\u6CD5\u901A\u8FC7 XPointer Processor for Pointer {0} \u8BC6\u522B Subresource\u3002
NonDuplicateNotation = \u4F7F\u7528\u4E86\u591A\u4E2A\u540D\u4E3A ''{0}'' \u7684\u8BB0\u53F7, \u4F46\u672A\u5C06\u8FD9\u4E9B\u8BB0\u53F7\u786E\u5B9A\u4E3A\u91CD\u590D\u9879\u3002
-NonDuplicateUnparsedEntity = \u4F7F\u7528\u4E86\u591A\u4E2A\u540D\u4E3A ''{0}'' \u7684\u672A\u8FDB\u884C\u8BED\u6CD5\u5206\u6790\u7684\u5B9E\u4F53, \u4F46\u672A\u5C06\u8FD9\u4E9B\u5B9E\u4F53\u786E\u5B9A\u4E3A\u91CD\u590D\u9879\u3002
+NonDuplicateUnparsedEntity = \u4F7F\u7528\u4E86\u591A\u4E2A\u540D\u4E3A ''{0}'' \u7684\u672A\u89E3\u6790\u5B9E\u4F53, \u4F46\u672A\u5C06\u8FD9\u4E9B\u5B9E\u4F53\u786E\u5B9A\u4E3A\u91CD\u590D\u9879\u3002
XpointerMissing = \u7F3A\u5C11 href \u5C5E\u6027\u65F6, \u5FC5\u987B\u5B58\u5728 xpointer \u5C5E\u6027\u3002
AcceptMalformed = 'include' \u5143\u7D20\u7684 'accept' \u5C5E\u6027\u7684\u503C\u4E2D\u4E0D\u5141\u8BB8\u4F7F\u7528\u8303\u56F4 #x20 \u81F3 #x7E \u4EE5\u5916\u7684\u5B57\u7B26\u3002
AcceptLanguageMalformed = 'include' \u5143\u7D20\u7684 'accept-language' \u5C5E\u6027\u7684\u503C\u4E2D\u4E0D\u5141\u8BB8\u4F7F\u7528\u8303\u56F4 #x20 \u81F3 #x7E \u4EE5\u5916\u7684\u5B57\u7B26\u3002
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_zh_TW.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_zh_TW.properties
index 11cff31525e..949992305f9 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_zh_TW.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_zh_TW.properties
@@ -1,30 +1,27 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# Messages for message reporting
BadMessageKey = \u627E\u4E0D\u5230\u5C0D\u61C9\u8A0A\u606F\u7D22\u5F15\u9375\u7684\u932F\u8AA4\u8A0A\u606F\u3002
@@ -39,20 +36,20 @@ FallbackChild = \u4F86\u81EA\u547D\u540D\u7A7A\u9593 ''http://www.w3.org/2001/XI
HrefMissing = \u907A\u6F0F 'include' \u5143\u7D20\u7684 'href' \u5C6C\u6027\u3002
RecursiveInclude = \u5075\u6E2C\u5230\u905E\u8FF4\u5305\u542B\u3002\u5DF2\u7D93\u8655\u7406\u6587\u4EF6 ''{0}''\u3002
InvalidParseValue = ''include'' \u5143\u7D20\u4E0A ''parse'' \u5C6C\u6027\u7684\u7121\u6548\u503C: ''{0}''\u3002
-XMLParseError = \u5617\u8A66\u5256\u6790 XML \u6A94\u6848\u6642\u767C\u751F\u932F\u8AA4 (href=''{0}'')\u3002\u539F\u56E0: {1}
+XMLParseError = \u5617\u8A66\u5256\u6790 XML \u6A94\u6848 (href=''{0}'') \u6642\u767C\u751F\u932F\u8AA4\u3002\u539F\u56E0: {1}
XMLResourceError = \u5305\u542B\u4F5C\u696D\u5931\u6557\uFF0C\u56DE\u5FA9\u81F3\u5F8C\u63F4\u3002\u4EE5 XML (href=''{0}'') \u65B9\u5F0F\u8B80\u53D6\u6A94\u6848\u6642\u767C\u751F\u8CC7\u6E90\u932F\u8AA4\u3002\u539F\u56E0: {1}
TextResourceError = \u5305\u542B\u4F5C\u696D\u5931\u6557\uFF0C\u56DE\u5FA9\u81F3\u5F8C\u63F4\u3002\u4EE5\u6587\u5B57 (href=''{0}'') \u65B9\u5F0F\u8B80\u53D6\u6A94\u6848\u6642\u767C\u751F\u8CC7\u6E90\u932F\u8AA4\u3002\u539F\u56E0: {1}
-NO_XPointerSchema = \u9810\u8A2D\u4E0D\u652F\u63F4 \"{0}\" \u7684\u7DB1\u8981\u3002\u8ACB\u70BA {0} \u5B9A\u7FA9\u60A8\u81EA\u5DF1\u7684\u7DB1\u8981\u3002\u8ACB\u53C3\u95B1 http://apache.org/xml/properties/xpointer-schema
+NO_XPointerSchema = \u9810\u8A2D\u4E0D\u652F\u63F4 "{0}" \u7684\u7DB1\u8981\u3002\u8ACB\u70BA {0} \u5B9A\u7FA9\u60A8\u81EA\u5DF1\u7684\u7DB1\u8981\u3002\u8ACB\u53C3\u95B1 http://apache.org/xml/properties/xpointer-schema
NO_SubResourceIdentified = XPointer \u8655\u7406\u5668\u672A\u80FD\u70BA\u6307\u6A19 {0} \u8B58\u5225\u4EFB\u4F55\u5B50\u8CC7\u6E90\u3002
NonDuplicateNotation = \u4F7F\u7528\u540D\u7A31\u70BA ''{0}'' \u7684\u591A\u500B\u8868\u793A\u6CD5\uFF0C\u4F46\u662F\u672A\u80FD\u5224\u65B7\u9019\u4E9B\u8868\u793A\u6CD5\u91CD\u8907\u3002
-NonDuplicateUnparsedEntity = \u4F7F\u7528\u540D\u7A31\u70BA ''{0}'' \u7684\u591A\u500B\u672A\u5256\u6790\u500B\u9AD4\uFF0C\u4F46\u662F\u672A\u80FD\u5224\u65B7\u9019\u4E9B\u500B\u9AD4\u91CD\u8907\u3002
+NonDuplicateUnparsedEntity = \u4F7F\u7528\u540D\u7A31\u70BA ''{0}'' \u7684\u591A\u500B\u672A\u5256\u6790\u5BE6\u9AD4\uFF0C\u4F46\u662F\u672A\u80FD\u5224\u65B7\u9019\u4E9B\u5BE6\u9AD4\u91CD\u8907\u3002
XpointerMissing = \u6C92\u6709 href \u5C6C\u6027\u6642\uFF0C\u5FC5\u9808\u6709 xpointer \u5C6C\u6027\u3002
AcceptMalformed = 'include' \u5143\u7D20\u7684 'accept' \u5C6C\u6027\u503C\u4E2D\uFF0C\u4E0D\u5141\u8A31\u7BC4\u570D #x20 \u81F3 #x7E \u4E4B\u5916\u7684\u5B57\u5143\u3002
AcceptLanguageMalformed = 'include' \u5143\u7D20\u7684 'accept-language' \u5C6C\u6027\u503C\u4E2D\uFF0C\u4E0D\u5141\u8A31\u7BC4\u570D #x20 \u81F3 #x7E \u4E4B\u5916\u7684\u5B57\u5143\u3002
RootElementRequired = \u683C\u5F0F\u6B63\u78BA\u7684\u6587\u4EF6\u9700\u8981\u6839\u5143\u7D20\u3002
MultipleRootElements = \u683C\u5F0F\u6B63\u78BA\u7684\u6587\u4EF6\u4E0D\u53EF\u5305\u542B\u591A\u500B\u6839\u5143\u7D20\u3002
ContentIllegalAtTopLevel = \u53D6\u4EE3 'include' \u5143\u7D20\u4F5C\u70BA\u6700\u4E0A\u5C64\u4F86\u6E90 infoset \u7684\u6587\u4EF6\u5143\u7D20\u4E0D\u80FD\u5305\u542B\u5B57\u5143\u3002
-UnexpandedEntityReferenceIllegal = \u53D6\u4EE3 'include' \u5143\u7D20\u4F5C\u70BA\u6700\u4E0A\u5C64\u4F86\u6E90 infoset \u7684\u6587\u4EF6\u5143\u7D20\u4E0D\u80FD\u5305\u542B\u672A\u5C55\u958B\u7684\u500B\u9AD4\u53C3\u7167\u3002
+UnexpandedEntityReferenceIllegal = \u53D6\u4EE3 'include' \u5143\u7D20\u4F5C\u70BA\u6700\u4E0A\u5C64\u4F86\u6E90 infoset \u7684\u6587\u4EF6\u5143\u7D20\u4E0D\u80FD\u5305\u542B\u672A\u5C55\u958B\u7684\u5BE6\u9AD4\u53C3\u7167\u3002
HrefFragmentIdentifierIllegal = \u4E0D\u53EF\u4F7F\u7528\u7247\u6BB5 ID\u3002\u4E0D\u5141\u8A31 ''href'' \u5C6C\u6027\u503C ''{0}''\u3002
HrefSyntacticallyInvalid = ''href'' \u5C6C\u6027\u503C ''{0}'' \u53E5\u6CD5\u7121\u6548\u3002\u5957\u7528\u9041\u96E2\u898F\u5247\u4E4B\u5F8C\uFF0C\u503C\u70BA\u53E5\u6CD5\u6B63\u78BA\u7684 URI \u6216 IRI\u3002
XPointerStreamability = \u6307\u5B9A xpointer \u6307\u5411\u4F86\u6E90 infoset \u4E2D\u7684\u4F4D\u7F6E\u3002\u7531\u65BC\u8655\u7406\u5668\u4E32\u6D41\u7279\u6027\uFF0C\u56E0\u6B64\u7121\u6CD5\u5B58\u53D6\u6B64\u4F4D\u7F6E\u3002
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages.properties
index 3bf9ebdc987..1a5d62af9bb 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages.properties
@@ -261,8 +261,8 @@
# Entity related messages
# 3.1 Start-Tags, End-Tags, and Empty-Element Tags
ReferenceToExternalEntity = The external entity reference \"&{0};\" is not permitted in an attribute value.
- AccessExternalDTD = External DTD: Failed to read external DTD ''{0}'', because ''{1}'' access is not allowed.
- AccessExternalEntity = External Entity: Failed to read external document ''{0}'', because ''{1}'' access is not allowed.
+ AccessExternalDTD = External DTD: Failed to read external DTD ''{0}'', because ''{1}'' access is not allowed due to restriction set by the accessExternalDTD property.
+ AccessExternalEntity = External Entity: Failed to read external document ''{0}'', because ''{1}'' access is not allowed due to restriction set by the accessExternalDTD property.
# 4.1 Character and Entity References
EntityNotDeclared = The entity \"{0}\" was referenced, but not declared.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_de.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_de.properties
index 3cf21e56482..f22a2afa345 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_de.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_de.properties
@@ -1,30 +1,27 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file contains error and warning messages related to XML
# The messages are arranged in key and value tuples in a ListResourceBundle.
@@ -48,14 +45,14 @@
InvalidCharInProlog = Ung\u00FCltiges XML-Zeichen (Unicode: 0x{0}) wurde im Prolog des Dokuments gefunden.
InvalidCharInXMLDecl = Ung\u00FCltiges XML-Zeichen (Unicode: 0x{0}) wurde in der XML-Deklaration gefunden.
# 2.4 Character Data and Markup
- CDEndInContent = Zeichenfolge"\"]]>\" darf nur im Content enthalten sein, wenn sie das Ende eines CDATA-Abschnitts markiert.
+ CDEndInContent = Zeichenfolge""]]>" darf nur im Content enthalten sein, wenn sie das Ende eines CDATA-Abschnitts markiert.
# 2.7 CDATA Sections
- CDSectUnterminated = CDATA-Abschnitt muss mit \"]]>\" enden.
+ CDSectUnterminated = CDATA-Abschnitt muss mit "]]>" enden.
# 2.8 Prolog and Document Type Declaration
XMLDeclMustBeFirst = XML-Deklaration darf nur ganz am Anfang des Dokuments enthalten sein.
- EqRequiredInXMLDecl = Zeichen " = " muss auf \"{0}\" in der XML-Deklaration folgen.
- QuoteRequiredInXMLDecl = Der Wert nach \"{0}\" in der XML-Deklaration muss eine Zeichenfolge in Anf\u00FChrungszeichen sein.
- XMLDeclUnterminated = XML-Deklaration muss mit \"?>\" enden.
+ EqRequiredInXMLDecl = Zeichen " = " muss auf "{0}" in der XML-Deklaration folgen.
+ QuoteRequiredInXMLDecl = Der Wert nach "{0}" in der XML-Deklaration muss eine Zeichenfolge in Anf\u00FChrungszeichen sein.
+ XMLDeclUnterminated = XML-Deklaration muss mit "?>" enden.
VersionInfoRequired = Version ist in der XML-Deklaration erforderlich.
SpaceRequiredBeforeVersionInXMLDecl = Leerstelle vor dem Versionspseudoattribut in der XML-Deklaration erforderlich.
SpaceRequiredBeforeEncodingInXMLDecl = Leerstelle vor dem Codierungspseudoattribut in der XML-Deklaration erforderlich.
@@ -71,70 +68,70 @@
ReferenceIllegalInTrailingMisc=Referenz ist nicht zul\u00E4ssig in angeh\u00E4ngtem Abschnitt.
# 2.9 Standalone Document Declaration
- SDDeclInvalid = Standalone-Dokumentdeklarationswert muss \"Ja\" oder \"Nein\" und nicht \"{0}\" sein.
+ SDDeclInvalid = Standalone-Dokumentdeklarationswert muss "Ja" oder "Nein" und nicht "{0}" sein.
# 2.12 Language Identification
- XMLLangInvalid = xml:lang-Attributwert \"{0}\" ist eine ung\u00FCltige Sprach-ID.
+ XMLLangInvalid = xml:lang-Attributwert "{0}" ist eine ung\u00FCltige Sprach-ID.
# 3. Logical Structures
- ETagRequired = Elementtyp \"{0}\" muss mit dem entsprechenden Endtag \"{0}>\" beendet werden.
+ ETagRequired = Elementtyp "{0}" muss mit dem entsprechenden Endtag "{0}>" beendet werden.
# 3.1 Start-Tags, End-Tags, and Empty-Element Tags
- ElementUnterminated = Auf Elementtyp \"{0}\" m\u00FCssen entweder Attributspezifikationen, \">\" oder \"/>\" folgen.
- EqRequiredInAttribute = Mit Elementtyp \"{0}\" verkn\u00FCpfter Attributname \"{1}\" muss vom Zeichen " = " gefolgt werden.
- OpenQuoteExpected = \u00D6ffnendes Anf\u00FChrungszeichen wird f\u00FCr Attribut \"{1}\" erwartet, das mit Elementtyp \"{0}\" verkn\u00FCpft ist.
- CloseQuoteExpected = Schlie\u00DFendes Anf\u00FChrungszeichen wird f\u00FCr Attribut \"{1}\" erwartet, das mit Elementtyp \"{0}\" verkn\u00FCpft ist.
- AttributeNotUnique = Attribut \"{1}\" wurde bereits f\u00FCr Element \"{0}\" angegeben.
- AttributeNSNotUnique = An Namespace \"{2}\" gebundenes Attribut \"{1}\" wurde bereits f\u00FCr Element \"{0}\" angegeben.
- ETagUnterminated = Endtag f\u00FCr Elementtyp \"{0}\" muss mit einem ">"-Begrenzungszeichen enden.
+ ElementUnterminated = Auf Elementtyp "{0}" m\u00FCssen entweder Attributspezifikationen, ">" oder "/>" folgen.
+ EqRequiredInAttribute = Mit Elementtyp "{0}" verkn\u00FCpfter Attributname "{1}" muss vom Zeichen " = " gefolgt werden.
+ OpenQuoteExpected = \u00D6ffnendes Anf\u00FChrungszeichen wird f\u00FCr Attribut "{1}" erwartet, das mit Elementtyp "{0}" verkn\u00FCpft ist.
+ CloseQuoteExpected = Schlie\u00DFendes Anf\u00FChrungszeichen wird f\u00FCr Attribut "{1}" erwartet, das mit Elementtyp "{0}" verkn\u00FCpft ist.
+ AttributeNotUnique = Attribut "{1}" wurde bereits f\u00FCr Element "{0}" angegeben.
+ AttributeNSNotUnique = An Namespace "{2}" gebundenes Attribut "{1}" wurde bereits f\u00FCr Element "{0}" angegeben.
+ ETagUnterminated = Endtag f\u00FCr Elementtyp "{0}" muss mit einem ">"-Begrenzungszeichen enden.
MarkupNotRecognizedInContent = Der Content von Elementen muss aus ordnungsgem\u00E4\u00DF formatierten Zeichendaten oder Markups bestehen.
DoctypeIllegalInContent = DOCTYPE ist nicht zul\u00E4ssig in Content.
# 4.1 Character and Entity References
ReferenceUnterminated = Referenz muss mit einem ";"-Begrenzungszeichen beendet werden.
# 4.3.2 Well-Formed Parsed Entities
ReferenceNotInOneEntity = Referenz muss vollst\u00E4ndig in derselben geparsten Entit\u00E4t enthalten sein.
- ElementEntityMismatch = Element \"{0}\" muss innerhalb derselben Entit\u00E4t beginnen und enden.
+ ElementEntityMismatch = Element "{0}" muss innerhalb derselben Entit\u00E4t beginnen und enden.
MarkupEntityMismatch=XML-Dokumentstrukturen m\u00FCssen innerhalb derselben Entit\u00E4t beginnen und enden.
# Messages common to Document and DTD
# 2.2 Characters
- InvalidCharInAttValue = Ung\u00FCltiges XML-Zeichen (Unicode: 0x{2}) wurde im Wert des Attributs \"{1}\" gefunden. Element ist \"{0}\".
+ InvalidCharInAttValue = Ung\u00FCltiges XML-Zeichen (Unicode: 0x{2}) wurde im Wert des Attributs "{1}" gefunden. Element ist "{0}".
InvalidCharInComment = Ung\u00FCltiges XML-Zeichen (Unicode: 0x{0}) wurde im Kommentar gefunden.
InvalidCharInPI = Ung\u00FCltiges XML-Zeichen (Unicode: 0x{0}) wurde in der Verarbeitungsanweisung gefunden.
InvalidCharInInternalSubset = Ung\u00FCltiges XML-Zeichen (Unicode: 0x{0}) wurde in der internen Teilmenge der DTD gefunden.
InvalidCharInTextDecl = Ung\u00FCltiges XML-Zeichen (Unicode: 0x{0}) wurde in der Textdeklaration gefunden.
# 2.3 Common Syntactic Constructs
- QuoteRequiredInAttValue = Wert des Attributs \"{1}\" muss mit einem einzelnen oder doppelten Anf\u00FChrungszeichen beginnen.
- LessthanInAttValue = Wert des Attributs \"{1}\", das mit Elementtyp \"{0}\" verkn\u00FCpft ist, darf nicht das Zeichen "<" enthalten.
- AttributeValueUnterminated = Wert f\u00FCr Attribut \"{1}\" muss mit dem entsprechenden Anf\u00FChrungszeichen enden.
+ QuoteRequiredInAttValue = Wert des Attributs "{1}" muss mit einem einzelnen oder doppelten Anf\u00FChrungszeichen beginnen.
+ LessthanInAttValue = Wert des Attributs "{1}", das mit Elementtyp "{0}" verkn\u00FCpft ist, darf nicht das Zeichen "<" enthalten.
+ AttributeValueUnterminated = Wert f\u00FCr Attribut "{1}" muss mit dem entsprechenden Anf\u00FChrungszeichen enden.
# 2.5 Comments
- InvalidCommentStart = Kommentar muss mit \"\" enden.
+ InvalidCommentStart = Kommentar muss mit "" enden.
COMMENT_NOT_IN_ONE_ENTITY = Kommentar ist nicht in derselben Entit\u00E4t enthalten.
# 2.6 Processing Instructions
PITargetRequired = Verarbeitungsanweisung muss mit dem Namen des Ziels beginnen.
SpaceRequiredInPI = Leerstelle ist zwischen dem Ziel der Verarbeitungsanweisung und den Daten erforderlich.
- PIUnterminated = Verarbeitungsanweisung muss mit \"?>\" enden.
- ReservedPITarget = Verarbeitungsanweisungsziel, das \"[xX][mM][lL]\" entspricht, ist nicht zul\u00E4ssig.
+ PIUnterminated = Verarbeitungsanweisung muss mit "?>" enden.
+ ReservedPITarget = Verarbeitungsanweisungsziel, das "[xX][mM][lL]" entspricht, ist nicht zul\u00E4ssig.
PI_NOT_IN_ONE_ENTITY = Verarbeitungsanweisung ist nicht in derselben Entit\u00E4t enthalten.
# 2.8 Prolog and Document Type Declaration
- VersionInfoInvalid = Ung\u00FCltige Version \"{0}\".
- VersionNotSupported = XML-Version \"{0}\" wird nicht unterst\u00FCtzt. Nur XML 1.0 wird unterst\u00FCtzt.
- VersionNotSupported11 = XML-Version \"{0}\" wird nicht unterst\u00FCtzt. Nur XML 1.0 und XML 1.1 werden unterst\u00FCtzt.
+ VersionInfoInvalid = Ung\u00FCltige Version "{0}".
+ VersionNotSupported = XML-Version "{0}" wird nicht unterst\u00FCtzt. Nur XML 1.0 wird unterst\u00FCtzt.
+ VersionNotSupported11 = XML-Version "{0}" wird nicht unterst\u00FCtzt. Nur XML 1.0 und XML 1.1 werden unterst\u00FCtzt.
VersionMismatch= Eine Entit\u00E4t kann keine andere Entit\u00E4t einer sp\u00E4teren Version enthalten.
# 4.1 Character and Entity References
- DigitRequiredInCharRef = Auf \"\" in einer Zeichenreferenz muss umgehend eine Dezimaldarstellung folgen.
- HexdigitRequiredInCharRef = Auf \"\" in einer Zeichenreferenz muss umgehend eine hexadezimale Darstellung folgen.
+ DigitRequiredInCharRef = Auf "" in einer Zeichenreferenz muss umgehend eine Dezimaldarstellung folgen.
+ HexdigitRequiredInCharRef = Auf "" in einer Zeichenreferenz muss umgehend eine hexadezimale Darstellung folgen.
SemicolonRequiredInCharRef = Zeichenreferenz muss mit dem Begrenzungszeichen ";" enden.
- InvalidCharRef = Zeichenreferenz \"{0}\" ist ein ung\u00FCltiges XML-Zeichen.
+ InvalidCharRef = Zeichenreferenz "{0}" ist ein ung\u00FCltiges XML-Zeichen.
NameRequiredInReference = Auf "&" in der Entit\u00E4tsreferenz muss umgehend der Entit\u00E4tsname folgen.
- SemicolonRequiredInReference = Referenz zu Entit\u00E4t \"{0}\" muss mit dem Begrenzungszeichen ";" enden.
+ SemicolonRequiredInReference = Referenz zu Entit\u00E4t "{0}" muss mit dem Begrenzungszeichen ";" enden.
# 4.3.1 The Text Declaration
TextDeclMustBeFirst = Textdeklaration darf nur ganz am Anfang der externen geparsten Entit\u00E4t enthalten sein.
- EqRequiredInTextDecl = Zeichen " = " muss auf \"{0}\" in der Textdeklaration folgen.
- QuoteRequiredInTextDecl = Der Wert nach \"{0}\" in der Textdeklaration muss eine Zeichenfolge in Anf\u00FChrungszeichen sein.
- CloseQuoteMissingInTextDecl = Schlie\u00DFendes Anf\u00FChrungszeichen im Wert nach \"{0}\" in der Textdeklaration fehlt.
+ EqRequiredInTextDecl = Zeichen " = " muss auf "{0}" in der Textdeklaration folgen.
+ QuoteRequiredInTextDecl = Der Wert nach "{0}" in der Textdeklaration muss eine Zeichenfolge in Anf\u00FChrungszeichen sein.
+ CloseQuoteMissingInTextDecl = Schlie\u00DFendes Anf\u00FChrungszeichen im Wert nach "{0}" in der Textdeklaration fehlt.
SpaceRequiredBeforeVersionInTextDecl = Leerstelle vor dem Versionspseudoattribut in der Textdeklaration erforderlich.
SpaceRequiredBeforeEncodingInTextDecl = Leerstelle vor dem Codierungspseudoattribut in der Textdeklaration erforderlich.
- TextDeclUnterminated = Textdeklaration muss mit \"?>\" enden.
+ TextDeclUnterminated = Textdeklaration muss mit "?>" enden.
EncodingDeclRequired = Codierungsdeklaration ist in der Textdeklaration erforderlich.
NoMorePseudoAttributes = Es sind keine weiteren Pseudoattribute zul\u00E4ssig.
MorePseudoAttributes = Es werden weitere Pseudoattribute erwartet.
@@ -143,13 +140,13 @@
CommentNotInOneEntity = Kommentar muss vollst\u00E4ndig in derselben geparsten Entit\u00E4t enthalten sein.
PINotInOneEntity = Verarbeitungsanweisung muss vollst\u00E4ndig in derselben geparsten Entit\u00E4t enthalten sein.
# 4.3.3 Character Encoding in Entities
- EncodingDeclInvalid = Ung\u00FCltiger Codierungsname \"{0}\".
- EncodingByteOrderUnsupported = Angegebene Bytereihenfolge f\u00FCr die Codierung von \"{0}\" wird nicht unterst\u00FCtzt.
+ EncodingDeclInvalid = Ung\u00FCltiger Codierungsname "{0}".
+ EncodingByteOrderUnsupported = Angegebene Bytereihenfolge f\u00FCr die Codierung von "{0}" wird nicht unterst\u00FCtzt.
InvalidByte = Ung\u00FCltiges Byte {0} von {1}-Byte-UTF-8-Sequenz.
ExpectedByte = Byte {0} von {1}-Byte-UTF-8-Sequenz erwartet.
InvalidHighSurrogate = High-Surrogate-Bits in UTF-8-Sequenz d\u00FCrfen 0x10 nicht \u00FCberschreiten, gefunden wurde aber 0x{0}.
- OperationNotSupported = Vorgang \"{0}\" nicht unterst\u00FCtzt von {1}-Reader.
- InvalidASCII = Byte \"{0}\" geh\u00F6rt nicht zum (7-Bit) ASCII-Zeichensatz.
+ OperationNotSupported = Vorgang "{0}" nicht unterst\u00FCtzt von {1}-Reader.
+ InvalidASCII = Byte "{0}" geh\u00F6rt nicht zum (7-Bit) ASCII-Zeichensatz.
CharConversionFailure = Eine Entit\u00E4t, f\u00FCr die eine bestimmte Codierung ermittelt wurde, darf keine Sequenzen enthalten, die in dieser Codierung ung\u00FCltig sind.
# DTD Messages
@@ -169,135 +166,135 @@
PubidCharIllegal = Zeichen (Unicode: 0x{0}) ist nicht zul\u00E4ssig in der \u00F6ffentlichen ID.
SpaceRequiredBetweenPublicAndSystem = Leerstellen erforderlich zwischen publicId und systemId.
# 2.8 Prolog and Document Type Declaration
- MSG_SPACE_REQUIRED_BEFORE_ROOT_ELEMENT_TYPE_IN_DOCTYPEDECL = Leerstelle nach \"" enden.
- PEReferenceWithinMarkup = Parameterentit\u00E4tsreferenz \"%{0};\" darf nicht in Markup in der internen Teilmenge der DTD vorkommen.
+ MSG_SPACE_REQUIRED_BEFORE_ROOT_ELEMENT_TYPE_IN_DOCTYPEDECL = Leerstelle nach "" enden.
+ PEReferenceWithinMarkup = Parameterentit\u00E4tsreferenz "%{0};" darf nicht in Markup in der internen Teilmenge der DTD vorkommen.
MSG_MARKUP_NOT_RECOGNIZED_IN_DTD = Die Markup-Deklarationen, die in der Dokumenttypdeklaration enthalten sind bzw. auf die von der Dokumenttypdeklaration verwiesen wird, m\u00FCssen ordnungsgem\u00E4\u00DF formatiert sein.
# 2.10 White Space Handling
- MSG_XML_SPACE_DECLARATION_ILLEGAL = Attributdeklaration f\u00FCr \"xml:space\" muss als aufgez\u00E4hlter Typ angegeben werden, dessen einzigen m\u00F6glichen Werte \"default\" und \"preserve\" sind.
+ MSG_XML_SPACE_DECLARATION_ILLEGAL = Attributdeklaration f\u00FCr "xml:space" muss als aufgez\u00E4hlter Typ angegeben werden, dessen einzigen m\u00F6glichen Werte "default" und "preserve" sind.
# 3.2 Element Type Declarations
- MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ELEMENTDECL = Leerstelle nach \"" enden.
+ MSG_SPACE_REQUIRED_BEFORE_CONTENTSPEC_IN_ELEMENTDECL = Leerstelle nach Elementtyp "{0}" in der Elementtypdeklaration erforderlich.
+ MSG_CONTENTSPEC_REQUIRED_IN_ELEMENTDECL = Constraint ist nach dem Elementtyp "{0}" in der Elementtypdeklaration erforderlich.
+ ElementDeclUnterminated = Deklaration f\u00FCr Elementtyp "{0}" muss mit ">" enden.
# 3.2.1 Element Content
- MSG_OPEN_PAREN_OR_ELEMENT_TYPE_REQUIRED_IN_CHILDREN = Das Zeichen "(" oder ein Elementtyp ist in der Deklaration des Elementtyps \"{0}\" erforderlich.
- MSG_CLOSE_PAREN_REQUIRED_IN_CHILDREN = Das Zeichen ")" ist in der Deklaration des Elementtyps \"{0}\" erforderlich.
+ MSG_OPEN_PAREN_OR_ELEMENT_TYPE_REQUIRED_IN_CHILDREN = Das Zeichen "(" oder ein Elementtyp ist in der Deklaration des Elementtyps "{0}" erforderlich.
+ MSG_CLOSE_PAREN_REQUIRED_IN_CHILDREN = Das Zeichen ")" ist in der Deklaration des Elementtyps "{0}" erforderlich.
# 3.2.2 Mixed Content
- MSG_ELEMENT_TYPE_REQUIRED_IN_MIXED_CONTENT = Ein Elementtyp ist in der Deklaration des Elementtyps \"{0}\" erforderlich.
- MSG_CLOSE_PAREN_REQUIRED_IN_MIXED = Das Zeichen ")" ist in der Deklaration des Elementtyps \"{0}\" erforderlich.
- MixedContentUnterminated = Das Mischcontentmodell \"{0}\" muss mit \")*\" enden, wenn die Typen der untergeordneten Elemente eingeschr\u00E4nkt sind.
+ MSG_ELEMENT_TYPE_REQUIRED_IN_MIXED_CONTENT = Ein Elementtyp ist in der Deklaration des Elementtyps "{0}" erforderlich.
+ MSG_CLOSE_PAREN_REQUIRED_IN_MIXED = Das Zeichen ")" ist in der Deklaration des Elementtyps "{0}" erforderlich.
+ MixedContentUnterminated = Das Mischcontentmodell "{0}" muss mit ")*" enden, wenn die Typen der untergeordneten Elemente eingeschr\u00E4nkt sind.
# 3.3 Attribute-List Declarations
- MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ATTLISTDECL = Leerstelle nach \"\" enden.
- IgnoreSectUnterminated = Der ausgeschlossene Bedingungsabschnitt muss mit \"]]>\" enden.
+ IncludeSectUnterminated = Der eingeschlossene Bedingungsabschnitt muss mit "]]>" enden.
+ IgnoreSectUnterminated = Der ausgeschlossene Bedingungsabschnitt muss mit "]]>" enden.
# 4.1 Character and Entity References
NameRequiredInPEReference = Auf "%" in der Parameterentit\u00E4tsreferenz muss umgehend der Entit\u00E4tsname folgen.
- SemicolonRequiredInPEReference = Parameterentit\u00E4tsreferenz \"%{0};\" muss mit dem Begrenzungszeichen ";" enden.
+ SemicolonRequiredInPEReference = Parameterentit\u00E4tsreferenz "%{0};" muss mit dem Begrenzungszeichen ";" enden.
# 4.2 Entity Declarations
- MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_ENTITYDECL = Leerstelle nach \"" enden.
- MSG_DUPLICATE_ENTITY_DEFINITION = Entit\u00E4t \"{0}\" wurde mehrmals deklariert.
+ MSG_SPACE_REQUIRED_AFTER_ENTITY_NAME_IN_ENTITYDECL = Leerstelle zwischen dem Entit\u00E4tsnamen "{0}" und der Definition in der Entit\u00E4tsdeklaration erforderlich.
+ MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_UNPARSED_ENTITYDECL = Leerstelle zwischen "NDATA" und dem Notationsnamen in der Deklaration f\u00FCr die Entit\u00E4t "{0} erforderlich.
+ MSG_SPACE_REQUIRED_BEFORE_NDATA_IN_UNPARSED_ENTITYDECL = Leerstelle vor "NDATA" in der Deklaration f\u00FCr die Entit\u00E4t "{0} erforderlich.
+ MSG_NOTATION_NAME_REQUIRED_FOR_UNPARSED_ENTITYDECL = Notationsname ist nach "NDATA" in der Deklaration f\u00FCr die Entit\u00E4t "{0} erforderlich.
+ EntityDeclUnterminated = Deklaration f\u00FCr Entit\u00E4t "{0}" muss mit ">" enden.
+ MSG_DUPLICATE_ENTITY_DEFINITION = Entit\u00E4t "{0}" wurde mehrmals deklariert.
# 4.2.2 External Entities
- ExternalIDRequired = Externe Entit\u00E4tsdeklaration muss mit \"SYSTEM\" oder \"PUBLIC\" beginnen.
- MSG_SPACE_REQUIRED_BEFORE_PUBIDLITERAL_IN_EXTERNALID = Leerstelle zwischen \"PUBLIC\" und der \u00F6ffentlichen ID erforderlich.
+ ExternalIDRequired = Externe Entit\u00E4tsdeklaration muss mit "SYSTEM" oder "PUBLIC" beginnen.
+ MSG_SPACE_REQUIRED_BEFORE_PUBIDLITERAL_IN_EXTERNALID = Leerstelle zwischen "PUBLIC" und der \u00F6ffentlichen ID erforderlich.
MSG_SPACE_REQUIRED_AFTER_PUBIDLITERAL_IN_EXTERNALID = Leerstelle zwischen der \u00F6ffentlichen ID und der System-ID erforderlich.
- MSG_SPACE_REQUIRED_BEFORE_SYSTEMLITERAL_IN_EXTERNALID = Leerstelle zwischen \"SYSTEM\" und der System-ID erforderlich.
- MSG_URI_FRAGMENT_IN_SYSTEMID = Fragment-ID darf nicht als Teil der System-ID \"{0}\" angegeben werden.
+ MSG_SPACE_REQUIRED_BEFORE_SYSTEMLITERAL_IN_EXTERNALID = Leerstelle zwischen "SYSTEM" und der System-ID erforderlich.
+ MSG_URI_FRAGMENT_IN_SYSTEMID = Fragment-ID darf nicht als Teil der System-ID "{0}" angegeben werden.
# 4.7 Notation Declarations
- MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_NOTATIONDECL = Leerstelle nach \"" enden.
+ MSG_SPACE_REQUIRED_AFTER_NOTATION_NAME_IN_NOTATIONDECL = Leerstelle nach dem Notationsnamen "{0}" in der Notationsdeklaration erforderlich.
+ ExternalIDorPublicIDRequired = Deklaration f\u00FCr die Notation "{0}" muss eine System- oder eine \u00F6ffentliche ID enthalten.
+ NotationDeclUnterminated = Deklaration f\u00FCr die Notation "{0}" muss mit ">" enden.
# Validation messages
- DuplicateTypeInMixedContent = Elementtyp \"{1}\" wurde bereits im Contentmodell der Elementdeklaration\"{0}\" angegeben.
- ENTITIESInvalid = Attributwert \"{1}\" mit dem Typ ENTITIES muss aus den Namen von mindestens einer geparsten Entit\u00E4t bestehen.
- ENTITYInvalid = Attributwert \"{1}\" mit dem Typ ENTITY muss aus dem Namen einer geparsten Entit\u00E4t bestehen.
- IDDefaultTypeInvalid = ID-Attribut \"{0}\" muss den deklarierten Standardwert \"#IMPLIED\" oder \"#REQUIRED\" haben.
- IDInvalid = Attributwert \"{0}\" mit dem Typ ID muss ein Name sein.
- IDInvalidWithNamespaces = Attributwert \"{0}\" mit dem Typ ID muss ein NCName sein, wenn Namespaces aktiviert sind.
- IDNotUnique = Attributwert \"{0}\" mit dem Typ ID muss eindeutig im Dokument sein.
- IDREFInvalid = Attributwert \"{0}\" mit dem Typ IDREF muss ein Name sein.
- IDREFInvalidWithNamespaces = Attributwert \"{0}\" mit dem Typ IDREF muss ein NCName sein, wenn Namespaces aktiviert sind.
- IDREFSInvalid = Attributwert \"{0}\" mit dem Typ IDREFS muss mindestens ein Name sein.
- ILL_FORMED_PARAMETER_ENTITY_WHEN_USED_IN_DECL = Ersatztext der Parameterentit\u00E4t \"{0}\" muss ordnungsgem\u00E4\u00DF verschachtelte Deklarationen enthalten, wenn die Entit\u00E4tsreferenz als vollst\u00E4ndige Deklaration verwendet wird.
- ImproperDeclarationNesting = Ersatztext der Parameterentit\u00E4t \"{0}\" muss ordnungsgem\u00E4\u00DF verschachtelte Deklarationen enthalten.
- ImproperGroupNesting = Ersatztext der Parameterentit\u00E4t \"{0}\" muss ordnungsgem\u00E4\u00DF verschachtelte Klammernpaare enthalten.
- INVALID_PE_IN_CONDITIONAL = Ersatztext der Parameterentit\u00E4t \"{0}\" muss den gesamten Bedingungsabschnitt oder nur INCLUDE oder IGNORE enthalten.
- MSG_ATTRIBUTE_NOT_DECLARED = Attribut \"{1}\" muss f\u00FCr Elementtyp \"{0}\" deklariert werden.
- MSG_ATTRIBUTE_VALUE_NOT_IN_LIST = Attribut \"{0}\" mit Wert \"{1}\" muss einen Wert aus der Liste \"{2}\" haben.
- MSG_ATTVALUE_CHANGED_DURING_NORMALIZATION_WHEN_STANDALONE = Der Wert \"{1}\" des Attributs \"{0}\" darf nicht von der Normalisierung (zu \"{2}\") in einem Standalone-Dokument ge\u00E4ndert werden.
- MSG_CONTENT_INCOMPLETE = Content des Elementtyps \"{0}\" ist unvollst\u00E4ndig. Muss \"{1}\" entsprechen.
- MSG_CONTENT_INVALID = Content des Elementtyps \"{0}\" muss \"{1}\" entsprechen.
- MSG_CONTENT_INVALID_SPECIFIED = Content des Elementtyps \"{0}\" muss \"{1}\" entsprechen. Untergeordnete Elemente mit dem Typ \"{2}\" sind nicht zul\u00E4ssig.
- MSG_DEFAULTED_ATTRIBUTE_NOT_SPECIFIED = Attribut \"{1}\" f\u00FCr Elementtyp \"{0}\" hat einen Standardwert und muss in einem Standalone-Dokument angegeben werden.
- MSG_DUPLICATE_ATTDEF = Attribut \"{1}\" ist bereits deklariert f\u00FCr Elementtyp \"{0}\".
- MSG_ELEMENT_ALREADY_DECLARED = Elementtyp \"{0}\" darf nicht mehrmals deklariert werden.
- MSG_ELEMENT_NOT_DECLARED = Elementtyp \"{0}\" muss deklariert werden.
+ DuplicateTypeInMixedContent = Elementtyp "{1}" wurde bereits im Contentmodell der Elementdeklaration"{0}" angegeben.
+ ENTITIESInvalid = Attributwert "{1}" mit dem Typ ENTITIES muss aus den Namen von mindestens einer geparsten Entit\u00E4t bestehen.
+ ENTITYInvalid = Attributwert "{1}" mit dem Typ ENTITY muss aus dem Namen einer geparsten Entit\u00E4t bestehen.
+ IDDefaultTypeInvalid = ID-Attribut "{0}" muss den deklarierten Standardwert "#IMPLIED" oder "#REQUIRED" haben.
+ IDInvalid = Attributwert "{0}" mit dem Typ ID muss ein Name sein.
+ IDInvalidWithNamespaces = Attributwert "{0}" mit dem Typ ID muss ein NCName sein, wenn Namespaces aktiviert sind.
+ IDNotUnique = Attributwert "{0}" mit dem Typ ID muss eindeutig im Dokument sein.
+ IDREFInvalid = Attributwert "{0}" mit dem Typ IDREF muss ein Name sein.
+ IDREFInvalidWithNamespaces = Attributwert "{0}" mit dem Typ IDREF muss ein NCName sein, wenn Namespaces aktiviert sind.
+ IDREFSInvalid = Attributwert "{0}" mit dem Typ IDREFS muss mindestens ein Name sein.
+ ILL_FORMED_PARAMETER_ENTITY_WHEN_USED_IN_DECL = Ersatztext der Parameterentit\u00E4t "{0}" muss ordnungsgem\u00E4\u00DF verschachtelte Deklarationen enthalten, wenn die Entit\u00E4tsreferenz als vollst\u00E4ndige Deklaration verwendet wird.
+ ImproperDeclarationNesting = Ersatztext der Parameterentit\u00E4t "{0}" muss ordnungsgem\u00E4\u00DF verschachtelte Deklarationen enthalten.
+ ImproperGroupNesting = Ersatztext der Parameterentit\u00E4t "{0}" muss ordnungsgem\u00E4\u00DF verschachtelte Klammernpaare enthalten.
+ INVALID_PE_IN_CONDITIONAL = Ersatztext der Parameterentit\u00E4t "{0}" muss den gesamten Bedingungsabschnitt oder nur INCLUDE oder IGNORE enthalten.
+ MSG_ATTRIBUTE_NOT_DECLARED = Attribut "{1}" muss f\u00FCr Elementtyp "{0}" deklariert werden.
+ MSG_ATTRIBUTE_VALUE_NOT_IN_LIST = Attribut "{0}" mit Wert "{1}" muss einen Wert aus der Liste "{2}" haben.
+ MSG_ATTVALUE_CHANGED_DURING_NORMALIZATION_WHEN_STANDALONE = Der Wert "{1}" des Attributs "{0}" darf nicht von der Normalisierung (zu "{2}") in einem Standalone-Dokument ge\u00E4ndert werden.
+ MSG_CONTENT_INCOMPLETE = Content des Elementtyps "{0}" ist unvollst\u00E4ndig. Muss "{1}" entsprechen.
+ MSG_CONTENT_INVALID = Content des Elementtyps "{0}" muss "{1}" entsprechen.
+ MSG_CONTENT_INVALID_SPECIFIED = Content des Elementtyps "{0}" muss "{1}" entsprechen. Untergeordnete Elemente mit dem Typ "{2}" sind nicht zul\u00E4ssig.
+ MSG_DEFAULTED_ATTRIBUTE_NOT_SPECIFIED = Attribut "{1}" f\u00FCr Elementtyp "{0}" hat einen Standardwert und muss in einem Standalone-Dokument angegeben werden.
+ MSG_DUPLICATE_ATTDEF = Attribut "{1}" ist bereits deklariert f\u00FCr Elementtyp "{0}".
+ MSG_ELEMENT_ALREADY_DECLARED = Elementtyp "{0}" darf nicht mehrmals deklariert werden.
+ MSG_ELEMENT_NOT_DECLARED = Elementtyp "{0}" muss deklariert werden.
MSG_GRAMMAR_NOT_FOUND = Dokument ist ung\u00FCltig. Keine Grammatik gefunden.
- MSG_ELEMENT_WITH_ID_REQUIRED = Element mit \"{0}\" ist im Dokument erforderlich.
- MSG_EXTERNAL_ENTITY_NOT_PERMITTED = Referenz zur externen Entit\u00E4t \"{0}\" ist in einem Standalone-Dokument nicht zul\u00E4ssig.
- MSG_FIXED_ATTVALUE_INVALID = Attribut \"{1}\" mit Wert \"{2}\" muss den Wert\"{3}\" haben.
- MSG_MORE_THAN_ONE_ID_ATTRIBUTE = Elementtyp \"{0}\" hat bereits ein Attribut \"{1}\" mit dem Typ ID. Ein zweites Attribut \"{2}\" mit dem Typ ID ist nicht zul\u00E4ssig.
- MSG_MORE_THAN_ONE_NOTATION_ATTRIBUTE = Elementtyp \"{0}\" hat bereits ein Attribut \"{1}\" mit dem Typ NOTATION. Ein zweites Attribut \"{2}\" mit dem Typ NOTATION ist nicht zul\u00E4ssig.
- MSG_NOTATION_NOT_DECLARED_FOR_NOTATIONTYPE_ATTRIBUTE = Notation \"{1}\" muss deklariert werden, wenn sie in der Notationstypliste f\u00FCr Attribut \"{0}\" referenziert wird.
- MSG_NOTATION_NOT_DECLARED_FOR_UNPARSED_ENTITYDECL = Notation \"{1}\" muss deklariert werden, wenn sie in der Deklaration der nicht geparsten Entit\u00E4t f\u00FCr \"{0}\" referenziert wird.
- MSG_REFERENCE_TO_EXTERNALLY_DECLARED_ENTITY_WHEN_STANDALONE = Referenz zur Entit\u00E4t \"{0}\", die in einer externen geparsten Entit\u00E4t deklariert wird, ist in einem Standalone-Dokument nicht zul\u00E4ssig.
- MSG_REQUIRED_ATTRIBUTE_NOT_SPECIFIED = Attribut \"{1}\" ist erforderlich und muss f\u00FCr Elementtyp \"{0}\" angegeben werden.
+ MSG_ELEMENT_WITH_ID_REQUIRED = Element mit "{0}" ist im Dokument erforderlich.
+ MSG_EXTERNAL_ENTITY_NOT_PERMITTED = Referenz zur externen Entit\u00E4t "{0}" ist in einem Standalone-Dokument nicht zul\u00E4ssig.
+ MSG_FIXED_ATTVALUE_INVALID = Attribut "{1}" mit Wert "{2}" muss den Wert"{3}" haben.
+ MSG_MORE_THAN_ONE_ID_ATTRIBUTE = Elementtyp "{0}" hat bereits ein Attribut "{1}" mit dem Typ ID. Ein zweites Attribut "{2}" mit dem Typ ID ist nicht zul\u00E4ssig.
+ MSG_MORE_THAN_ONE_NOTATION_ATTRIBUTE = Elementtyp "{0}" hat bereits ein Attribut "{1}" mit dem Typ NOTATION. Ein zweites Attribut "{2}" mit dem Typ NOTATION ist nicht zul\u00E4ssig.
+ MSG_NOTATION_NOT_DECLARED_FOR_NOTATIONTYPE_ATTRIBUTE = Notation "{1}" muss deklariert werden, wenn sie in der Notationstypliste f\u00FCr Attribut "{0}" referenziert wird.
+ MSG_NOTATION_NOT_DECLARED_FOR_UNPARSED_ENTITYDECL = Notation "{1}" muss deklariert werden, wenn sie in der Deklaration der nicht geparsten Entit\u00E4t f\u00FCr "{0}" referenziert wird.
+ MSG_REFERENCE_TO_EXTERNALLY_DECLARED_ENTITY_WHEN_STANDALONE = Referenz zur Entit\u00E4t "{0}", die in einer externen geparsten Entit\u00E4t deklariert wird, ist in einem Standalone-Dokument nicht zul\u00E4ssig.
+ MSG_REQUIRED_ATTRIBUTE_NOT_SPECIFIED = Attribut "{1}" ist erforderlich und muss f\u00FCr Elementtyp "{0}" angegeben werden.
MSG_WHITE_SPACE_IN_ELEMENT_CONTENT_WHEN_STANDALONE = Es d\u00FCrfen keine Leerstellen zwischen Elementen in einem Standalone-Dokument vorkommen, die in einer externen geparsten Entit\u00E4t mit Elementcontent deklariert sind.
- NMTOKENInvalid = Attributwert \"{0}\" mit dem Typ NMTOKEN muss ein Namenstoken sein.
- NMTOKENSInvalid = Attributwert \"{0}\" mit dem Typ NMTOKENS muss mindestens ein Namenstoken sein.
- NoNotationOnEmptyElement = Elementtyp \"{0}\", der als EMPTY deklariert wurde, kann nicht das Attribut \"{1}\" mit dem Typ NOTATION deklarieren.
- RootElementTypeMustMatchDoctypedecl = Dokument-Root-Element \"{1}\"muss mit DOCTYPE-Root \"{0}\" \u00FCbereinstimmen.
- UndeclaredElementInContentSpec = Contentmodell des Elements \"{0}\" verweist auf das nicht deklarierte Element \"{1}\".
- UniqueNotationName = Deklaration f\u00FCr die Notation \"{0}\" ist nicht eindeutig. Ein jeweiliger Name darf nicht in mehreren Notationsdeklarationen deklariert werden.
+ NMTOKENInvalid = Attributwert "{0}" mit dem Typ NMTOKEN muss ein Namenstoken sein.
+ NMTOKENSInvalid = Attributwert "{0}" mit dem Typ NMTOKENS muss mindestens ein Namenstoken sein.
+ NoNotationOnEmptyElement = Elementtyp "{0}", der als EMPTY deklariert wurde, kann nicht das Attribut "{1}" mit dem Typ NOTATION deklarieren.
+ RootElementTypeMustMatchDoctypedecl = Dokument-Root-Element "{1}"muss mit DOCTYPE-Root "{0}" \u00FCbereinstimmen.
+ UndeclaredElementInContentSpec = Contentmodell des Elements "{0}" verweist auf das nicht deklarierte Element "{1}".
+ UniqueNotationName = Deklaration f\u00FCr die Notation "{0}" ist nicht eindeutig. Ein jeweiliger Name darf nicht in mehreren Notationsdeklarationen deklariert werden.
ENTITYFailedInitializeGrammar = ENTITYDatatype-Validator: Nicht erfolgreich. Initialisierungsmethode muss mit einer g\u00FCltigen Grammatikreferenz aufgerufen werden. \t
- ENTITYNotUnparsed = ENTITY \"{0}\" ist geparst.
- ENTITYNotValid = ENTITY \"{0}\" ist nicht g\u00FCltig.
+ ENTITYNotUnparsed = ENTITY "{0}" ist geparst.
+ ENTITYNotValid = ENTITY "{0}" ist nicht g\u00FCltig.
EmptyList = Werte der Typen ENTITIES, IDREFS und NMTOKENS d\u00FCrfen keine leeren Listen sein.
# Entity related messages
# 3.1 Start-Tags, End-Tags, and Empty-Element Tags
- ReferenceToExternalEntity = Externe Entit\u00E4tsreferenz \"&{0};\" ist in einem Attributwert nicht zul\u00E4ssig.
- AccessExternalDTD = External DTD: Failed to read external DTD ''{0}'', because ''{1}'' access is not allowed.
- AccessExternalEntity = External Entity: Failed to read external document ''{0}'', because ''{1}'' access is not allowed.
+ ReferenceToExternalEntity = Externe Entit\u00E4tsreferenz "&{0};" ist in einem Attributwert nicht zul\u00E4ssig.
+ AccessExternalDTD = Externe DTD: Lesen von externer DTD "{0}" nicht erfolgreich, da "{1}"-Zugriff nicht zul\u00E4ssig ist.
+ AccessExternalEntity = Externe Entity: Lesen von externem Dokument "{0}" nicht erfolgreich, da "{1}"-Zugriff nicht zul\u00E4ssig ist.
# 4.1 Character and Entity References
- EntityNotDeclared = Entit\u00E4t \"{0}\" wurde referenziert aber nicht deklariert.
- ReferenceToUnparsedEntity = Nicht geparste Entit\u00E4tsreferenz \"&{0};\" ist nicht zul\u00E4ssig.
- RecursiveReference = Rekursive Entit\u00E4tsreferenz \"{0}\". (Referenzpfad: {1}),
- RecursiveGeneralReference = Rekursive allgemeine Entit\u00E4tsreferenz \"&{0};\". (Referenzpfad: {1}),
- RecursivePEReference = Rekursive Parameterentit\u00E4tsreferenz \"%{0};\". (Referenzpfad: {1}),
+ EntityNotDeclared = Entit\u00E4t "{0}" wurde referenziert aber nicht deklariert.
+ ReferenceToUnparsedEntity = Nicht geparste Entit\u00E4tsreferenz "&{0};" ist nicht zul\u00E4ssig.
+ RecursiveReference = Rekursive Entit\u00E4tsreferenz "{0}". (Referenzpfad: {1}),
+ RecursiveGeneralReference = Rekursive allgemeine Entit\u00E4tsreferenz "&{0};". (Referenzpfad: {1}),
+ RecursivePEReference = Rekursive Parameterentit\u00E4tsreferenz "%{0};". (Referenzpfad: {1}),
# 4.3.3 Character Encoding in Entities
EncodingNotSupported = Codierung "{0}" wird nicht unterst\u00FCtzt.
EncodingRequired = Eine nicht in UTF-8 oder UTF-16 codierte geparste Entit\u00E4t muss eine Codierungsdeklaration enthalten.
@@ -305,14 +302,14 @@
# Namespaces support
# 4. Using Qualified Names
IllegalQName = Element oder Attribut stimmt nicht mit QName-Production \u00FCberein: QName::=(NCName':')?NCName.
- ElementXMLNSPrefix = Element \"{0}\" darf nicht \"xmlns\" als Pr\u00E4fix enthalten.
- ElementPrefixUnbound = Pr\u00E4fix \"{0}\" f\u00FCr Element \"{1}\" ist nicht gebunden.
- AttributePrefixUnbound = Pr\u00E4fix \"{2}\" f\u00FCr Attribut \"{1}\", das mit Elementtyp \"{0}\" verkn\u00FCpft ist, ist nicht gebunden.
- EmptyPrefixedAttName = Wert des Attributs \"{0}\" ist ung\u00FCltig. Namespace Bindings mit Pr\u00E4fix d\u00FCrfen nicht leer sein.
- PrefixDeclared = Namespace-Pr\u00E4fix \"{0}\" wurde nicht deklariert.
+ ElementXMLNSPrefix = Element "{0}" darf nicht "xmlns" als Pr\u00E4fix enthalten.
+ ElementPrefixUnbound = Pr\u00E4fix "{0}" f\u00FCr Element "{1}" ist nicht gebunden.
+ AttributePrefixUnbound = Pr\u00E4fix "{2}" f\u00FCr Attribut "{1}", das mit Elementtyp "{0}" verkn\u00FCpft ist, ist nicht gebunden.
+ EmptyPrefixedAttName = Wert des Attributs "{0}" ist ung\u00FCltig. Namespace Bindings mit Pr\u00E4fix d\u00FCrfen nicht leer sein.
+ PrefixDeclared = Namespace-Pr\u00E4fix "{0}" wurde nicht deklariert.
CantBindXMLNS = Pr\u00E4fix "xmlns" kann nicht explizit an einen Namespace gebunden werden. Umgekehrt kann auch der Namespace f\u00FCr "xmlns" nicht explizit an ein Pr\u00E4fix gebunden werden.
CantBindXML = Pr\u00E4fix "xml" kann nicht an einen anderen Namespace als den gew\u00F6hnlichen gebunden werden. Umgekehrt kann auch der Namespace f\u00FCr "xml" nicht an ein anderes Pr\u00E4fix als "xml" gebunden werden.
- MSG_ATT_DEFAULT_INVALID = defaultValue \"{1}\" von Attribut \"{0}\" ist aufgrund der lexikalischen Constraints dieses Attributtyps nicht g\u00FCltig.
+ MSG_ATT_DEFAULT_INVALID = defaultValue "{1}" von Attribut "{0}" ist aufgrund der lexikalischen Constraints dieses Attributtyps nicht g\u00FCltig.
# REVISIT: These need messages
MSG_SPACE_REQUIRED_AFTER_SYSTEMLITERAL_IN_EXTERNALID=MSG_SPACE_REQUIRED_AFTER_SYSTEMLITERAL_IN_EXTERNALID
@@ -321,7 +318,7 @@
#Application can set the limit of number of entities that should be expanded by the parser.
-EntityExpansionLimitExceeded=Parser hat mehr als \"{0}\" Entit\u00E4tserweiterungen in diesem Dokument gefunden. Dies ist der durch die Anwendung vorgeschriebene Grenzwert.
+EntityExpansionLimitExceeded=Parser hat mehr als "{0}" Entit\u00E4tserweiterungen in diesem Dokument gefunden. Dies ist der durch die Anwendung vorgeschriebene Grenzwert.
# Application can set the limit of number of attributes of entity that should be expanded by the parser.
-ElementAttributeLimit= Element \"{0}\" hat mehr als \"{1}\" Attribute. \"{1}\" ist der durch die Anwendung vorgeschriebene Grenzwert.
+ElementAttributeLimit= Element "{0}" hat mehr als "{1}" Attribute. "{1}" ist der durch die Anwendung vorgeschriebene Grenzwert.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_es.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_es.properties
index 5ebfaf0eb2a..7864be97e07 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_es.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_es.properties
@@ -1,30 +1,27 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file contains error and warning messages related to XML
# The messages are arranged in key and value tuples in a ListResourceBundle.
@@ -48,14 +45,14 @@
InvalidCharInProlog = Se ha encontrado un car\u00E1cter XML (Unicode: 0x{0}) no v\u00E1lido en el pr\u00F3logo del documento.
InvalidCharInXMLDecl = Se ha encontrado un car\u00E1cter XML (Unicode: 0x{0}) no v\u00E1lido en la declaraci\u00F3n XML.
# 2.4 Character Data and Markup
- CDEndInContent = La secuencia de caracteres \"]]>\" no debe aparecer en el contenido, a menos que se utilice para marcar el final de una secci\u00F3n CDATA.
+ CDEndInContent = La secuencia de caracteres "]]>" no debe aparecer en el contenido, a menos que se utilice para marcar el final de una secci\u00F3n CDATA.
# 2.7 CDATA Sections
- CDSectUnterminated = La secci\u00F3n CDATA debe finalizar en \"]]>\".
+ CDSectUnterminated = La secci\u00F3n CDATA debe finalizar en "]]>".
# 2.8 Prolog and Document Type Declaration
XMLDeclMustBeFirst = La declaraci\u00F3n XML s\u00F3lo puede aparecer al principio del documento.
- EqRequiredInXMLDecl = El car\u00E1cter '' = '' debe aparecer despu\u00E9s de \"{0}\" en la declaraci\u00F3n XML.
- QuoteRequiredInXMLDecl = El valor despu\u00E9s de \"{0}\" en la declaraci\u00F3n XML debe ser una cadena con comillas.
- XMLDeclUnterminated = La declaraci\u00F3n XML debe finalizar en \"?>\".
+ EqRequiredInXMLDecl = El car\u00E1cter '' = '' debe aparecer despu\u00E9s de "{0}" en la declaraci\u00F3n XML.
+ QuoteRequiredInXMLDecl = El valor despu\u00E9s de "{0}" en la declaraci\u00F3n XML debe ser una cadena con comillas.
+ XMLDeclUnterminated = La declaraci\u00F3n XML debe finalizar en "?>".
VersionInfoRequired = La versi\u00F3n es necesaria en la declaraci\u00F3n XML.
SpaceRequiredBeforeVersionInXMLDecl = Es necesario un espacio en blanco antes del pseudo atributo version en la declaraci\u00F3n XML.
SpaceRequiredBeforeEncodingInXMLDecl = Es necesario un espacio en blanco antes del pseudo atributo encoding en la declaraci\u00F3n XML.
@@ -71,70 +68,70 @@
ReferenceIllegalInTrailingMisc=La referencia no est\u00E1 permitida en la secci\u00F3n final.
# 2.9 Standalone Document Declaration
- SDDeclInvalid = El valor de declaraci\u00F3n del documento aut\u00F3nomo debe ser \"yes\" o \"no\", pero nunca \"{0}\".
+ SDDeclInvalid = El valor de declaraci\u00F3n del documento aut\u00F3nomo debe ser "yes" o "no", pero nunca "{0}".
# 2.12 Language Identification
- XMLLangInvalid = El valor del atributo xml:lang \"{0}\" es un identificador de idioma no v\u00E1lido.
+ XMLLangInvalid = El valor del atributo xml:lang "{0}" es un identificador de idioma no v\u00E1lido.
# 3. Logical Structures
- ETagRequired = El tipo de elemento \"{0}\" debe finalizar por la etiqueta final coincidente \"{0}>\".
+ ETagRequired = El tipo de elemento "{0}" debe finalizar por la etiqueta final coincidente "{0}>".
# 3.1 Start-Tags, End-Tags, and Empty-Element Tags
- ElementUnterminated = El tipo de elemento \"{0}\" debe ir seguido de una de estas especificaciones de atributo: \">\" o \"/>\".
- EqRequiredInAttribute = El nombre de atributo \"{1}\" asociado a un tipo de elemento \"{0}\" debe ir seguido del car\u00E1cter '' = ''.
- OpenQuoteExpected = Las comillas de apertura se deben utilizar para el atributo \"{1}\" asociado a un tipo de elemento \"{0}\".
- CloseQuoteExpected = Las comillas de cierre se deben utilizar para el atributo \"{1}\" asociado a un tipo de elemento \"{0}\".
- AttributeNotUnique = El atributo \"{1}\" ya se ha especificado para el elemento \"{0}\".
- AttributeNSNotUnique = El atributo \"{1}\" enlazado al espacio de nombres \"{2}\" ya se ha especificado para el elemento \"{0}\".
- ETagUnterminated = La etiqueta final para el tipo de elemento \"{0}\" debe finalizar en un delimitador ''>''.
+ ElementUnterminated = El tipo de elemento "{0}" debe ir seguido de una de estas especificaciones de atributo: ">" o "/>".
+ EqRequiredInAttribute = El nombre de atributo "{1}" asociado a un tipo de elemento "{0}" debe ir seguido del car\u00E1cter '' = ''.
+ OpenQuoteExpected = Las comillas de apertura se deben utilizar para el atributo "{1}" asociado a un tipo de elemento "{0}".
+ CloseQuoteExpected = Las comillas de cierre se deben utilizar para el atributo "{1}" asociado a un tipo de elemento "{0}".
+ AttributeNotUnique = El atributo "{1}" ya se ha especificado para el elemento "{0}".
+ AttributeNSNotUnique = El atributo "{1}" enlazado al espacio de nombres "{2}" ya se ha especificado para el elemento "{0}".
+ ETagUnterminated = La etiqueta final para el tipo de elemento "{0}" debe finalizar en un delimitador ''>''.
MarkupNotRecognizedInContent = El contenido de los elementos debe constar de marcadores o datos de car\u00E1cter con un formato correcto.
DoctypeIllegalInContent = No se permite un DOCTYPE en el contenido.
# 4.1 Character and Entity References
ReferenceUnterminated = La referencia debe finalizar con un delimitador ';'.
# 4.3.2 Well-Formed Parsed Entities
ReferenceNotInOneEntity = La referencia debe incluirse totalmente en la misma entidad analizada.
- ElementEntityMismatch = El elemento \"{0}\" debe empezar y finalizar en la misma entidad.
+ ElementEntityMismatch = El elemento "{0}" debe empezar y finalizar en la misma entidad.
MarkupEntityMismatch=Las estructuras del documento XML deben empezar y finalizar en la misma entidad.
# Messages common to Document and DTD
# 2.2 Characters
- InvalidCharInAttValue = Se ha encontrado un car\u00E1cter XML (Unicode: 0x{2}) no v\u00E1lido en el valor del atributo \"{1}\" y el elemento es \"{0}\".
+ InvalidCharInAttValue = Se ha encontrado un car\u00E1cter XML (Unicode: 0x{2}) no v\u00E1lido en el valor del atributo "{1}" y el elemento es "{0}".
InvalidCharInComment = Se ha encontrado un car\u00E1cter XML (Unicode: 0x{0}) no v\u00E1lido en el comentario.
InvalidCharInPI = Se ha encontrado un car\u00E1cter XML (Unicode: 0x{0}) no v\u00E1lido en la instrucci\u00F3n de procesamiento.
InvalidCharInInternalSubset = Se ha encontrado un car\u00E1cter XML (Unicode: 0x{0}) no v\u00E1lido en el subconjunto interno del DTD.
InvalidCharInTextDecl = Se ha encontrado un car\u00E1cter XML (Unicode: 0x{0}) no v\u00E1lido en la declaraci\u00F3n de texto.
# 2.3 Common Syntactic Constructs
- QuoteRequiredInAttValue = El valor del atributo \"{1}\" debe empezar por un car\u00E1cter de comillas dobles o simples.
- LessthanInAttValue = El valor del atributo \"{1}\" asociado a un tipo de elemento \"{0}\" no debe contener el car\u00E1cter ''<''.
- AttributeValueUnterminated = El valor para el atributo \"{1}\" debe finalizar en un car\u00E1cter de comillas coincidentes.
+ QuoteRequiredInAttValue = El valor del atributo "{1}" debe empezar por un car\u00E1cter de comillas dobles o simples.
+ LessthanInAttValue = El valor del atributo "{1}" asociado a un tipo de elemento "{0}" no debe contener el car\u00E1cter ''<''.
+ AttributeValueUnterminated = El valor para el atributo "{1}" debe finalizar en un car\u00E1cter de comillas coincidentes.
# 2.5 Comments
- InvalidCommentStart = El comentario debe empezar por \"\".
+ InvalidCommentStart = El comentario debe empezar por "".
COMMENT_NOT_IN_ONE_ENTITY = El comentario no est\u00E1 incluido en la misma entidad.
# 2.6 Processing Instructions
PITargetRequired = La instrucci\u00F3n de procesamiento debe empezar por el nombre del destino.
SpaceRequiredInPI = Es necesario un espacio en blanco entre el destino de la instrucci\u00F3n de procesamiento y los datos.
- PIUnterminated = La instrucci\u00F3n de procesamiento debe finalizar en \"?>\".
- ReservedPITarget = El destino de la instrucci\u00F3n de procesamiento que coincide con \"[xX][mM][lL]\" no est\u00E1 permitido.
+ PIUnterminated = La instrucci\u00F3n de procesamiento debe finalizar en "?>".
+ ReservedPITarget = El destino de la instrucci\u00F3n de procesamiento que coincide con "[xX][mM][lL]" no est\u00E1 permitido.
PI_NOT_IN_ONE_ENTITY = La instrucci\u00F3n de procesamiento no est\u00E1 incluida en la misma entidad.
# 2.8 Prolog and Document Type Declaration
- VersionInfoInvalid = Versi\u00F3n no v\u00E1lida \"{0}\".
- VersionNotSupported = La versi\u00F3n XML \"{0}\" no est\u00E1 soportada, s\u00F3lo la versi\u00F3n XML 1.0 est\u00E1 soportada.
- VersionNotSupported11 = La versi\u00F3n XML \"{0}\" no est\u00E1 soportada, s\u00F3lo las versiones XML 1.0 y XML 1.1 est\u00E1n soportadas.
+ VersionInfoInvalid = Versi\u00F3n no v\u00E1lida "{0}".
+ VersionNotSupported = La versi\u00F3n XML "{0}" no est\u00E1 soportada, s\u00F3lo la versi\u00F3n XML 1.0 est\u00E1 soportada.
+ VersionNotSupported11 = La versi\u00F3n XML "{0}" no est\u00E1 soportada, s\u00F3lo las versiones XML 1.0 y XML 1.1 est\u00E1n soportadas.
VersionMismatch= Una entidad no puede incluir otra entidad de una versi\u00F3n posterior.
# 4.1 Character and Entity References
- DigitRequiredInCharRef = Una representaci\u00F3n decimal debe aparecer inmediatamente despu\u00E9s de \"\" en una referencia de caracteres.
- HexdigitRequiredInCharRef = Una representaci\u00F3n hexadecimal debe aparecer inmediatamente despu\u00E9s de \"\" en una referencia de caracteres.
+ DigitRequiredInCharRef = Una representaci\u00F3n decimal debe aparecer inmediatamente despu\u00E9s de "" en una referencia de caracteres.
+ HexdigitRequiredInCharRef = Una representaci\u00F3n hexadecimal debe aparecer inmediatamente despu\u00E9s de "" en una referencia de caracteres.
SemicolonRequiredInCharRef = La referencia de caracteres debe finalizar en el delimitador ';'.
- InvalidCharRef = La referencia de caracteres \"{0}\" es un car\u00E1cter XML no v\u00E1lido.
+ InvalidCharRef = La referencia de caracteres "{0}" es un car\u00E1cter XML no v\u00E1lido.
NameRequiredInReference = El nombre de la entidad debe aparecer inmediatamente despu\u00E9s de '&' en la referencia de entidades.
- SemicolonRequiredInReference = La referencia a la entidad \"{0}\" debe finalizar en el delimitador '';''.
+ SemicolonRequiredInReference = La referencia a la entidad "{0}" debe finalizar en el delimitador '';''.
# 4.3.1 The Text Declaration
TextDeclMustBeFirst = La declaraci\u00F3n de texto s\u00F3lo puede aparecer al principio de la entidad analizada externa.
- EqRequiredInTextDecl = El car\u00E1cter '' = '' debe aparecer despu\u00E9s de \"{0}\" en la declaraci\u00F3n de texto.
- QuoteRequiredInTextDecl = El valor despu\u00E9s de \"{0}\" en la declaraci\u00F3n de texto debe ser una cadena con comillas.
- CloseQuoteMissingInTextDecl = Faltan las comillas de cierre en el valor despu\u00E9s de \"{0}\" en la declaraci\u00F3n de texto.
+ EqRequiredInTextDecl = El car\u00E1cter '' = '' debe aparecer despu\u00E9s de "{0}" en la declaraci\u00F3n de texto.
+ QuoteRequiredInTextDecl = El valor despu\u00E9s de "{0}" en la declaraci\u00F3n de texto debe ser una cadena con comillas.
+ CloseQuoteMissingInTextDecl = Faltan las comillas de cierre en el valor despu\u00E9s de "{0}" en la declaraci\u00F3n de texto.
SpaceRequiredBeforeVersionInTextDecl = Es necesario un espacio en blanco antes del pseudo atributo version en la declaraci\u00F3n de texto.
SpaceRequiredBeforeEncodingInTextDecl = Es necesario un espacio en blanco antes del pseudo atributo encoding en la declaraci\u00F3n de texto.
- TextDeclUnterminated = La declaraci\u00F3n de texto debe finalizar en \"?>\".
+ TextDeclUnterminated = La declaraci\u00F3n de texto debe finalizar en "?>".
EncodingDeclRequired = La declaraci\u00F3n de codificaci\u00F3n es necesaria en la declaraci\u00F3n de texto.
NoMorePseudoAttributes = No se permiten m\u00E1s pseudo atributos.
MorePseudoAttributes = Se esperan m\u00E1s pseudo atributos.
@@ -143,13 +140,13 @@
CommentNotInOneEntity = El comentario debe incluirse totalmente en la misma entidad analizada.
PINotInOneEntity = La instrucci\u00F3n de procesamiento debe incluirse totalmente en la misma entidad analizada.
# 4.3.3 Character Encoding in Entities
- EncodingDeclInvalid = Nombre de codificaci\u00F3n no v\u00E1lido \"{0}\".
- EncodingByteOrderUnsupported = El orden de bytes proporcionado para la codificaci\u00F3n \"{0}\" no est\u00E1 soportado.
+ EncodingDeclInvalid = Nombre de codificaci\u00F3n no v\u00E1lido "{0}".
+ EncodingByteOrderUnsupported = El orden de bytes proporcionado para la codificaci\u00F3n "{0}" no est\u00E1 soportado.
InvalidByte = Byte no v\u00E1lido {0} de la secuencia UTF-8 de {1} bytes
ExpectedByte = Byte esperado {0} de la secuencia UTF-8 de {1} bytes.
InvalidHighSurrogate = Los bits de sustituci\u00F3n superior en la secuencia UTF-8 no deben exceder 0x10 pero se han encontrado 0x{0}.
- OperationNotSupported = La operaci\u00F3n \"{0}\" no est\u00E1 soportada por el lector {1}.
- InvalidASCII = El byte \"{0}\"no es un miembro del juego de caracteres ASCII (7 bits).
+ OperationNotSupported = La operaci\u00F3n "{0}" no est\u00E1 soportada por el lector {1}.
+ InvalidASCII = El byte "{0}"no es un miembro del juego de caracteres ASCII (7 bits).
CharConversionFailure = Una entidad con una codificaci\u00F3n determinada no debe contener secuencias no permitidas en dicha codificaci\u00F3n.
# DTD Messages
@@ -169,150 +166,150 @@
PubidCharIllegal = El car\u00E1cter (Unicode: 0x{0}) no est\u00E1 permitido en el identificador p\u00FAblico.
SpaceRequiredBetweenPublicAndSystem = Son necesarios espacios en blanco entre publicId y systemId.
# 2.8 Prolog and Document Type Declaration
- MSG_SPACE_REQUIRED_BEFORE_ROOT_ELEMENT_TYPE_IN_DOCTYPEDECL = Es necesario un espacio en blanco despu\u00E9s de \"''.
- PEReferenceWithinMarkup = La referencia de entidad del par\u00E1metro \"%{0};\" no puede producirse en el marcador en el subconjunto interno del DTD.
+ MSG_SPACE_REQUIRED_BEFORE_ROOT_ELEMENT_TYPE_IN_DOCTYPEDECL = Es necesario un espacio en blanco despu\u00E9s de "''.
+ PEReferenceWithinMarkup = La referencia de entidad del par\u00E1metro "%{0};" no puede producirse en el marcador en el subconjunto interno del DTD.
MSG_MARKUP_NOT_RECOGNIZED_IN_DTD = Las declaraciones de marcador que se incluyen o a las que apunta la declaraci\u00F3n de tipo de documento deben tener el formato correcto.
# 2.10 White Space Handling
- MSG_XML_SPACE_DECLARATION_ILLEGAL = La declaraci\u00F3n de atributo para \"xml:space\" debe ofrecerse como un tipo enumerado cuyos \u00FAnicos valores posibles son \"default\" y \"preserve\".
+ MSG_XML_SPACE_DECLARATION_ILLEGAL = La declaraci\u00F3n de atributo para "xml:space" debe ofrecerse como un tipo enumerado cuyos \u00FAnicos valores posibles son "default" y "preserve".
# 3.2 Element Type Declarations
- MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ELEMENTDECL = Es necesario un espacio en blanco despu\u00E9s de \"''.
+ MSG_SPACE_REQUIRED_BEFORE_CONTENTSPEC_IN_ELEMENTDECL = Es necesario un espacio en blanco despu\u00E9s del tipo de elemento "{0}" en la declaraci\u00F3n de tipo de elemento.
+ MSG_CONTENTSPEC_REQUIRED_IN_ELEMENTDECL = Es necesaria la restricci\u00F3n despu\u00E9s del tipo de elemento "{0}" en la declaraci\u00F3n de tipo de elemento.
+ ElementDeclUnterminated = La declaraci\u00F3n para el tipo de elemento "{0}" debe finalizar en ''>''.
# 3.2.1 Element Content
- MSG_OPEN_PAREN_OR_ELEMENT_TYPE_REQUIRED_IN_CHILDREN = Un car\u00E1cter ''('' o un tipo de elemento es necesario en la declaraci\u00F3n de tipo de elemento \"{0}\".
- MSG_CLOSE_PAREN_REQUIRED_IN_CHILDREN = Un car\u00E1cter '')'' es necesario en la declaraci\u00F3n de tipo de elemento \"{0}\".
+ MSG_OPEN_PAREN_OR_ELEMENT_TYPE_REQUIRED_IN_CHILDREN = Un car\u00E1cter ''('' o un tipo de elemento es necesario en la declaraci\u00F3n de tipo de elemento "{0}".
+ MSG_CLOSE_PAREN_REQUIRED_IN_CHILDREN = Un car\u00E1cter '')'' es necesario en la declaraci\u00F3n de tipo de elemento "{0}".
# 3.2.2 Mixed Content
- MSG_ELEMENT_TYPE_REQUIRED_IN_MIXED_CONTENT = Un tipo de elemento es necesario en la declaraci\u00F3n de tipo de elemento \"{0}\".
- MSG_CLOSE_PAREN_REQUIRED_IN_MIXED = Un car\u00E1cter '')'' es necesario en la declaraci\u00F3n de tipo de elemento \"{0}\".
- MixedContentUnterminated = El modelo de contenido mixto \"{0}\" debe finalizar en \")*\" cuando los tipos de elementos secundarios est\u00E1n restringidos.
+ MSG_ELEMENT_TYPE_REQUIRED_IN_MIXED_CONTENT = Un tipo de elemento es necesario en la declaraci\u00F3n de tipo de elemento "{0}".
+ MSG_CLOSE_PAREN_REQUIRED_IN_MIXED = Un car\u00E1cter '')'' es necesario en la declaraci\u00F3n de tipo de elemento "{0}".
+ MixedContentUnterminated = El modelo de contenido mixto "{0}" debe finalizar en ")*" cuando los tipos de elementos secundarios est\u00E1n restringidos.
# 3.3 Attribute-List Declarations
- MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ATTLISTDECL = Es necesario un espacio en blanco despu\u00E9s de \"\".
- IgnoreSectUnterminated = La secci\u00F3n condicional excluida debe finalizar en \"]]>\".
+ IncludeSectUnterminated = La secci\u00F3n condicional incluida debe finalizar en "]]>".
+ IgnoreSectUnterminated = La secci\u00F3n condicional excluida debe finalizar en "]]>".
# 4.1 Character and Entity References
NameRequiredInPEReference = El nombre de la entidad debe aparecer inmediatamente despu\u00E9s de '%' en la referencia de entidad de par\u00E1metro.
- SemicolonRequiredInPEReference = La referencia de entidad de par\u00E1metro \"%{0};\" debe finalizar en el delimitador '';''.
+ SemicolonRequiredInPEReference = La referencia de entidad de par\u00E1metro "%{0};" debe finalizar en el delimitador '';''.
# 4.2 Entity Declarations
- MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_ENTITYDECL = Es necesario un espacio en blanco despu\u00E9s de \"''.
- MSG_DUPLICATE_ENTITY_DEFINITION = La entidad \"{0}\" se ha declarado m\u00E1s de una vez.
+ MSG_SPACE_REQUIRED_AFTER_ENTITY_NAME_IN_ENTITYDECL = Es necesario un espacio en blanco entre el nombre de entidad "{0}" y la definici\u00F3n en la declaraci\u00F3n de entidad.
+ MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_UNPARSED_ENTITYDECL = Es necesario un espacio en blanco entre "NDATA" y el nombre de notaci\u00F3n en la declaraci\u00F3n para la entidad "{0}".
+ MSG_SPACE_REQUIRED_BEFORE_NDATA_IN_UNPARSED_ENTITYDECL = Es necesario un espacio en blanco antes de "NDATA" en la declaraci\u00F3n para la entidad "{0}".
+ MSG_NOTATION_NAME_REQUIRED_FOR_UNPARSED_ENTITYDECL = El nombre de notaci\u00F3n es necesario despu\u00E9s de "NDATA" en la declaraci\u00F3n para la entidad "{0}".
+ EntityDeclUnterminated = La declaraci\u00F3n para la entidad "{0}" debe finalizar en ''>''.
+ MSG_DUPLICATE_ENTITY_DEFINITION = La entidad "{0}" se ha declarado m\u00E1s de una vez.
# 4.2.2 External Entities
- ExternalIDRequired = La declaraci\u00F3n de entidad externa debe empezar por \"SYSTEM\" o \"PUBLIC\".
- MSG_SPACE_REQUIRED_BEFORE_PUBIDLITERAL_IN_EXTERNALID = Es necesario un espacio en blanco entre \"PUBLIC\" y el identificador p\u00FAblico.
+ ExternalIDRequired = La declaraci\u00F3n de entidad externa debe empezar por "SYSTEM" o "PUBLIC".
+ MSG_SPACE_REQUIRED_BEFORE_PUBIDLITERAL_IN_EXTERNALID = Es necesario un espacio en blanco entre "PUBLIC" y el identificador p\u00FAblico.
MSG_SPACE_REQUIRED_AFTER_PUBIDLITERAL_IN_EXTERNALID = Es necesario un espacio en blanco entre el identificador p\u00FAblico y el identificador del sistema.
- MSG_SPACE_REQUIRED_BEFORE_SYSTEMLITERAL_IN_EXTERNALID = Es necesario un espacio en blanco entre \"SYSTEM\" y el identificador del sistema.
- MSG_URI_FRAGMENT_IN_SYSTEMID = No se debe especificar el identificador del fragmento como parte del identificador del sistema \"{0}\".
+ MSG_SPACE_REQUIRED_BEFORE_SYSTEMLITERAL_IN_EXTERNALID = Es necesario un espacio en blanco entre "SYSTEM" y el identificador del sistema.
+ MSG_URI_FRAGMENT_IN_SYSTEMID = No se debe especificar el identificador del fragmento como parte del identificador del sistema "{0}".
# 4.7 Notation Declarations
- MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_NOTATIONDECL = Es necesario un espacio en blanco despu\u00E9s de \"''.
+ MSG_SPACE_REQUIRED_AFTER_NOTATION_NAME_IN_NOTATIONDECL = Es necesario un espacio en blanco despu\u00E9s del nombre de la notaci\u00F3n "{0}" en la declaraci\u00F3n de notaci\u00F3n.
+ ExternalIDorPublicIDRequired = La declaraci\u00F3n para la notaci\u00F3n "{0}" debe incluir un identificador p\u00FAblico o del sistema.
+ NotationDeclUnterminated = La declaraci\u00F3n para la notaci\u00F3n "{0}" debe finalizar en ''>''.
# Validation messages
- DuplicateTypeInMixedContent = El tipo de elemento \"{1}\" ya se especific\u00F3 en el modelo de contenido de la declaraci\u00F3n de elementos \"{0}\".
- ENTITIESInvalid = El valor de atributo \"{1}\" del tipo ENTITIES debe ser el nombre de una o m\u00E1s entidades no analizadas.
- ENTITYInvalid = El valor de atributo \"{1}\" del tipo ENTITY debe ser el nombre de una entidad no analizada.
- IDDefaultTypeInvalid = El atributo de identificador \"{0}\" debe tener un valor por defecto declarado de \"#IMPLIED\" o \"#REQUIRED\".
- IDInvalid = El valor de atributo \"{0}\" del tipo ID debe ser un nombre.
- IDInvalidWithNamespaces = El valor de atributo \"{0}\" del tipo ID debe ser un NCName cuando los espacios de nombres est\u00E9n activados.
- IDNotUnique = El valor de atributo \"{0}\" del tipo ID debe ser \u00FAnico en el documento.
- IDREFInvalid = El valor de atributo \"{0}\" del tipo IDREF debe ser un nombre.
- IDREFInvalidWithNamespaces = El valor de atributo \"{0}\" del tipo IDREF debe ser un NCName cuando los espacios de nombres est\u00E9n activados.
- IDREFSInvalid = El valor de atributo \"{0}\" del tipo IDREFS debe ser uno o m\u00E1s nombres.
- ILL_FORMED_PARAMETER_ENTITY_WHEN_USED_IN_DECL = El texto de sustituci\u00F3n de la entidad del par\u00E1metro \"{0}\" debe incluir declaraciones correctamente anidadas cuando la referencia de entidad se utiliza como una declaraci\u00F3n completa.
- ImproperDeclarationNesting = El texto de sustituci\u00F3n de la entidad del par\u00E1metro \"{0}\" debe incluir declaraciones correctamente anidadas.
- ImproperGroupNesting = El texto de sustituci\u00F3n de la entidad del par\u00E1metro \"{0}\" debe incluir pares de par\u00E9ntesis correctamente anidados.
- INVALID_PE_IN_CONDITIONAL = El texto de sustituci\u00F3n de la entidad del par\u00E1metro \"{0}\" debe incluir la secci\u00F3n condicional completa o s\u00F3lo INCLUDE o IGNORE.
- MSG_ATTRIBUTE_NOT_DECLARED = El atributo \"{1}\" se debe haber declarado para el tipo de elemento \"{0}\".
- MSG_ATTRIBUTE_VALUE_NOT_IN_LIST = El atributo \"{0}\" con el valor \"{1}\" debe tener un valor de la lista \"{2}\".
- MSG_ATTVALUE_CHANGED_DURING_NORMALIZATION_WHEN_STANDALONE = El valor \"{1}\" del atributo \"{0}\" no se debe cambiar mediante la normalizaci\u00F3n (a \"{2}\") en un documento aut\u00F3nomo.
- MSG_CONTENT_INCOMPLETE = El contenido del tipo de elemento \"{0}\" es incompleto, debe coincidir con \"{1}\".
- MSG_CONTENT_INVALID = El contenido del tipo de elemento \"{0}\" debe coincidir con \"{1}\".
- MSG_CONTENT_INVALID_SPECIFIED = El contenido del tipo de elemento \"{0}\" debe coincidir con \"{1}\". Los secundarios del tipo \"{2}\" no est\u00E1n permitidos.
- MSG_DEFAULTED_ATTRIBUTE_NOT_SPECIFIED = El atributo \"{1}\" para el tipo de elemento \"{0}\" tiene un valor por defecto y debe especificarse en un documento aut\u00F3nomo.
- MSG_DUPLICATE_ATTDEF = El atributo \"{1}\" ya se ha declarado para el tipo de elemento \"{0}\".
- MSG_ELEMENT_ALREADY_DECLARED = El tipo de elemento \"{0}\" no debe declararse m\u00E1s de una vez.
- MSG_ELEMENT_NOT_DECLARED = El tipo de elemento \"{0}\" debe declararse.
+ DuplicateTypeInMixedContent = El tipo de elemento "{1}" ya se especific\u00F3 en el modelo de contenido de la declaraci\u00F3n de elementos "{0}".
+ ENTITIESInvalid = El valor de atributo "{1}" del tipo ENTITIES debe ser el nombre de una o m\u00E1s entidades no analizadas.
+ ENTITYInvalid = El valor de atributo "{1}" del tipo ENTITY debe ser el nombre de una entidad no analizada.
+ IDDefaultTypeInvalid = El atributo de identificador "{0}" debe tener un valor por defecto declarado de "#IMPLIED" o "#REQUIRED".
+ IDInvalid = El valor de atributo "{0}" del tipo ID debe ser un nombre.
+ IDInvalidWithNamespaces = El valor de atributo "{0}" del tipo ID debe ser un NCName cuando los espacios de nombres est\u00E9n activados.
+ IDNotUnique = El valor de atributo "{0}" del tipo ID debe ser \u00FAnico en el documento.
+ IDREFInvalid = El valor de atributo "{0}" del tipo IDREF debe ser un nombre.
+ IDREFInvalidWithNamespaces = El valor de atributo "{0}" del tipo IDREF debe ser un NCName cuando los espacios de nombres est\u00E9n activados.
+ IDREFSInvalid = El valor de atributo "{0}" del tipo IDREFS debe ser uno o m\u00E1s nombres.
+ ILL_FORMED_PARAMETER_ENTITY_WHEN_USED_IN_DECL = El texto de sustituci\u00F3n de la entidad del par\u00E1metro "{0}" debe incluir declaraciones correctamente anidadas cuando la referencia de entidad se utiliza como una declaraci\u00F3n completa.
+ ImproperDeclarationNesting = El texto de sustituci\u00F3n de la entidad del par\u00E1metro "{0}" debe incluir declaraciones correctamente anidadas.
+ ImproperGroupNesting = El texto de sustituci\u00F3n de la entidad del par\u00E1metro "{0}" debe incluir pares de par\u00E9ntesis correctamente anidados.
+ INVALID_PE_IN_CONDITIONAL = El texto de sustituci\u00F3n de la entidad del par\u00E1metro "{0}" debe incluir la secci\u00F3n condicional completa o s\u00F3lo INCLUDE o IGNORE.
+ MSG_ATTRIBUTE_NOT_DECLARED = El atributo "{1}" se debe haber declarado para el tipo de elemento "{0}".
+ MSG_ATTRIBUTE_VALUE_NOT_IN_LIST = El atributo "{0}" con el valor "{1}" debe tener un valor de la lista "{2}".
+ MSG_ATTVALUE_CHANGED_DURING_NORMALIZATION_WHEN_STANDALONE = El valor "{1}" del atributo "{0}" no se debe cambiar mediante la normalizaci\u00F3n (a "{2}") en un documento aut\u00F3nomo.
+ MSG_CONTENT_INCOMPLETE = El contenido del tipo de elemento "{0}" es incompleto, debe coincidir con "{1}".
+ MSG_CONTENT_INVALID = El contenido del tipo de elemento "{0}" debe coincidir con "{1}".
+ MSG_CONTENT_INVALID_SPECIFIED = El contenido del tipo de elemento "{0}" debe coincidir con "{1}". Los secundarios del tipo "{2}" no est\u00E1n permitidos.
+ MSG_DEFAULTED_ATTRIBUTE_NOT_SPECIFIED = El atributo "{1}" para el tipo de elemento "{0}" tiene un valor por defecto y debe especificarse en un documento aut\u00F3nomo.
+ MSG_DUPLICATE_ATTDEF = El atributo "{1}" ya se ha declarado para el tipo de elemento "{0}".
+ MSG_ELEMENT_ALREADY_DECLARED = El tipo de elemento "{0}" no debe declararse m\u00E1s de una vez.
+ MSG_ELEMENT_NOT_DECLARED = El tipo de elemento "{0}" debe declararse.
MSG_GRAMMAR_NOT_FOUND = El documento no es v\u00E1lido: no se ha encontrado la gram\u00E1tica.
- MSG_ELEMENT_WITH_ID_REQUIRED = Un elemento con el identificador \"{0}\" debe aparecer en el documento.
- MSG_EXTERNAL_ENTITY_NOT_PERMITTED = La referencia a la entidad externa \"{0}\" no est\u00E1 permitida en un documento aut\u00F3nomo.
- MSG_FIXED_ATTVALUE_INVALID = El atributo \"{1}\" con el valor \"{2}\" debe tener un valor de \"{3}\".
- MSG_MORE_THAN_ONE_ID_ATTRIBUTE = El tipo de elemento \"{0}\" ya tiene un atributo \"{1}\" del tipo ID, un segundo atributo \"{2}\" del tipo ID no est\u00E1 permitido.
- MSG_MORE_THAN_ONE_NOTATION_ATTRIBUTE = El tipo de elemento \"{0}\" ya tiene un atributo \"{1}\" del tipo NOTATION, un segundo atributo \"{2}\" del tipo NOTATION no est\u00E1 permitido.
- MSG_NOTATION_NOT_DECLARED_FOR_NOTATIONTYPE_ATTRIBUTE = La notaci\u00F3n \"{1}\" debe declararse cuando se hace referencia a la misma en la lista de tipos de notaci\u00F3n para el atributo \"{0}\".
- MSG_NOTATION_NOT_DECLARED_FOR_UNPARSED_ENTITYDECL = La notaci\u00F3n \"{1}\" debe declararse cuando se hace referencia a la misma en la declaraci\u00F3n de entidad no analizada para \"{0}\".
- MSG_REFERENCE_TO_EXTERNALLY_DECLARED_ENTITY_WHEN_STANDALONE = La referencia a la entidad \"{0}\" declarada en una entidad analizada externa no est\u00E1 permitida en un documento aut\u00F3nomo.
- MSG_REQUIRED_ATTRIBUTE_NOT_SPECIFIED = El atributo \"{1}\" es necesario y debe especificarse para el tipo de elemento \"{0}\".
+ MSG_ELEMENT_WITH_ID_REQUIRED = Un elemento con el identificador "{0}" debe aparecer en el documento.
+ MSG_EXTERNAL_ENTITY_NOT_PERMITTED = La referencia a la entidad externa "{0}" no est\u00E1 permitida en un documento aut\u00F3nomo.
+ MSG_FIXED_ATTVALUE_INVALID = El atributo "{1}" con el valor "{2}" debe tener un valor de "{3}".
+ MSG_MORE_THAN_ONE_ID_ATTRIBUTE = El tipo de elemento "{0}" ya tiene un atributo "{1}" del tipo ID, un segundo atributo "{2}" del tipo ID no est\u00E1 permitido.
+ MSG_MORE_THAN_ONE_NOTATION_ATTRIBUTE = El tipo de elemento "{0}" ya tiene un atributo "{1}" del tipo NOTATION, un segundo atributo "{2}" del tipo NOTATION no est\u00E1 permitido.
+ MSG_NOTATION_NOT_DECLARED_FOR_NOTATIONTYPE_ATTRIBUTE = La notaci\u00F3n "{1}" debe declararse cuando se hace referencia a la misma en la lista de tipos de notaci\u00F3n para el atributo "{0}".
+ MSG_NOTATION_NOT_DECLARED_FOR_UNPARSED_ENTITYDECL = La notaci\u00F3n "{1}" debe declararse cuando se hace referencia a la misma en la declaraci\u00F3n de entidad no analizada para "{0}".
+ MSG_REFERENCE_TO_EXTERNALLY_DECLARED_ENTITY_WHEN_STANDALONE = La referencia a la entidad "{0}" declarada en una entidad analizada externa no est\u00E1 permitida en un documento aut\u00F3nomo.
+ MSG_REQUIRED_ATTRIBUTE_NOT_SPECIFIED = El atributo "{1}" es necesario y debe especificarse para el tipo de elemento "{0}".
MSG_WHITE_SPACE_IN_ELEMENT_CONTENT_WHEN_STANDALONE = No debe incluirse un espacio en blanco entre los elementos declarados en una entidad analizada externa con el contenido del elemento en un documento aut\u00F3nomo.
- NMTOKENInvalid = El valor de atributo \"{0}\" del tipo NMTOKEN debe ser un elemento de nombre.
- NMTOKENSInvalid = El valor de atributo \"{0}\" del tipo NMTOKENS debe ser uno o m\u00E1s elementos de nombre.
- NoNotationOnEmptyElement = El tipo de elemento \"{0}\" que se declar\u00F3 como EMPTY no puede declarar el atributo \"{1}\" del tipo NOTATION.
- RootElementTypeMustMatchDoctypedecl = El elemento ra\u00EDz del documento \"{1}\", debe coincidir con la ra\u00EDz DOCTYPE \"{0}\".
- UndeclaredElementInContentSpec = El modelo de contenido del elemento \"{0}\" hace referencia al elemento no declarado \"{1}\".
- UniqueNotationName = La declaraci\u00F3n de la notaci\u00F3n \"{0}\" no es \u00FAnica. Un nombre determinado no debe declararse en m\u00E1s de una declaraci\u00F3n de notaci\u00F3n.
+ NMTOKENInvalid = El valor de atributo "{0}" del tipo NMTOKEN debe ser un token de nombre.
+ NMTOKENSInvalid = El valor de atributo "{0}" del tipo NMTOKENS debe ser uno o m\u00E1s tokens de nombre.
+ NoNotationOnEmptyElement = El tipo de elemento "{0}" que se declar\u00F3 como EMPTY no puede declarar el atributo "{1}" del tipo NOTATION.
+ RootElementTypeMustMatchDoctypedecl = El elemento ra\u00EDz del documento "{1}", debe coincidir con la ra\u00EDz DOCTYPE "{0}".
+ UndeclaredElementInContentSpec = El modelo de contenido del elemento "{0}" hace referencia al elemento no declarado "{1}".
+ UniqueNotationName = La declaraci\u00F3n de la notaci\u00F3n "{0}" no es \u00FAnica. Un nombre determinado no debe declararse en m\u00E1s de una declaraci\u00F3n de notaci\u00F3n.
ENTITYFailedInitializeGrammar = Fallo del validador ENTITYDatatype. Es necesario llamar al m\u00E9todo de inicializaci\u00F3n con una referencia de gram\u00E1tica v\u00E1lida. \t
- ENTITYNotUnparsed = ENTITY \"{0}\"no est\u00E1 sin analizar.
- ENTITYNotValid = ENTITY \"{0}\" no es v\u00E1lida.
+ ENTITYNotUnparsed = ENTITY "{0}"no est\u00E1 sin analizar.
+ ENTITYNotValid = ENTITY "{0}" no es v\u00E1lida.
EmptyList = El valor de tipo ENTITIES, IDREFS y NMTOKENS no puede ser una lista vac\u00EDa.
# Entity related messages
# 3.1 Start-Tags, End-Tags, and Empty-Element Tags
- ReferenceToExternalEntity = La referencia de entidad externa \"&{0};\" no est\u00E1 permitida en un valor de atributo.
- AccessExternalDTD = External DTD: Failed to read external DTD ''{0}'', because ''{1}'' access is not allowed.
- AccessExternalEntity = External Entity: Failed to read external document ''{0}'', because ''{1}'' access is not allowed.
+ ReferenceToExternalEntity = La referencia de entidad externa "&{0};" no est\u00E1 permitida en un valor de atributo.
+ AccessExternalDTD = DTD externa: fallo al leer DTD externa ''{0}'' porque el acceso a ''{1}'' no est\u00E1 permitido.
+ AccessExternalEntity = Entidad externa: fallo al leer el documento externo ''{0}'' porque el acceso a ''{1}'' no est\u00E1 permitido.
# 4.1 Character and Entity References
- EntityNotDeclared = Se hizo referencia a la entidad \"{0}\", pero no se declar\u00F3.
- ReferenceToUnparsedEntity = La referencia de entidad no analizada \"&{0};\" no est\u00E1 permitida.
- RecursiveReference = Referencia de entidad recursiva \"{0}\". (Ruta de acceso de referencia: {1}),
- RecursiveGeneralReference = Referencia de entidad general recursiva \"&{0};\". (Ruta de acceso de referencia: {1}),
- RecursivePEReference = Referencia de entidad de par\u00E1metro recursiva \"%{0};\". (Ruta de acceso de referencia: {1}),
+ EntityNotDeclared = Se hizo referencia a la entidad "{0}", pero no se declar\u00F3.
+ ReferenceToUnparsedEntity = La referencia de entidad no analizada "&{0};" no est\u00E1 permitida.
+ RecursiveReference = Referencia de entidad recursiva "{0}". (Ruta de acceso de referencia: {1}),
+ RecursiveGeneralReference = Referencia de entidad general recursiva "&{0};". (Ruta de acceso de referencia: {1}),
+ RecursivePEReference = Referencia de entidad de par\u00E1metro recursiva "%{0};". (Ruta de acceso de referencia: {1}),
# 4.3.3 Character Encoding in Entities
- EncodingNotSupported = La codificaci\u00F3n \"{0}\" no est\u00E1 soportada.
+ EncodingNotSupported = La codificaci\u00F3n "{0}" no est\u00E1 soportada.
EncodingRequired = Una entidad analizada no codificada en UTF-8 o UTF-16 debe contener una declaraci\u00F3n de codificaci\u00F3n.
# Namespaces support
# 4. Using Qualified Names
IllegalQName = El elemento o el atributo no coinciden con la producci\u00F3n del QName: QName::=(NCName':')?NCName.
- ElementXMLNSPrefix = El elemento \"{0}\" no puede tener \"xmlns\" como prefijo.
- ElementPrefixUnbound = El prefijo \"{0}\" para el elemento \"{1}\" no est\u00E1 enlazado.
- AttributePrefixUnbound = El prefijo \"{2}\" para el atributo \"{1}\" asociado a un tipo de elemento \"{0}\" no est\u00E1 enlazado.
- EmptyPrefixedAttName = El valor del atributo \"{0}\" no es v\u00E1lido. Los enlaces de espacio de nombres utilizados de prefijo no pueden estar vac\u00EDos.
- PrefixDeclared = El prefijo de espacio de nombres \"{0}\" no se ha declarado.
+ ElementXMLNSPrefix = El elemento "{0}" no puede tener "xmlns" como prefijo.
+ ElementPrefixUnbound = El prefijo "{0}" para el elemento "{1}" no est\u00E1 enlazado.
+ AttributePrefixUnbound = El prefijo "{2}" para el atributo "{1}" asociado a un tipo de elemento "{0}" no est\u00E1 enlazado.
+ EmptyPrefixedAttName = El valor del atributo "{0}" no es v\u00E1lido. Los enlaces de espacio de nombres utilizados de prefijo no pueden estar vac\u00EDos.
+ PrefixDeclared = El prefijo de espacio de nombres "{0}" no se ha declarado.
CantBindXMLNS = El prefijo "xmlns" no puede enlazarse a ning\u00FAn espacio de nombres expl\u00EDcitamente; tampoco puede enlazarse el espacio de nombres para "xmlns" a cualquier prefijo expl\u00EDcitamente.
CantBindXML = El prefijo "xml" no puede enlazarse a ning\u00FAn espacio de nombres que no sea el habitual; tampoco puede enlazarse el espacio de nombres para "xml" a cualquier prefijo que no sea "xml".
- MSG_ATT_DEFAULT_INVALID = El valor por defecto \"{1}\" del atributo \"{0}\" no es legal para las restricciones l\u00E9xicas de este tipo de atributo.
+ MSG_ATT_DEFAULT_INVALID = El valor por defecto "{1}" del atributo "{0}" no es legal para las restricciones l\u00E9xicas de este tipo de atributo.
# REVISIT: These need messages
MSG_SPACE_REQUIRED_AFTER_SYSTEMLITERAL_IN_EXTERNALID=MSG_SPACE_REQUIRED_AFTER_SYSTEMLITERAL_IN_EXTERNALID
@@ -321,7 +318,7 @@
#Application can set the limit of number of entities that should be expanded by the parser.
-EntityExpansionLimitExceeded=El analizador ha encontrado m\u00E1s de \"{0}\"ampliaciones de entidad en este documento; \u00E9ste es el l\u00EDmite impuesto por la aplicaci\u00F3n.
+EntityExpansionLimitExceeded=El analizador ha encontrado m\u00E1s de "{0}"ampliaciones de entidad en este documento; \u00E9ste es el l\u00EDmite impuesto por la aplicaci\u00F3n.
# Application can set the limit of number of attributes of entity that should be expanded by the parser.
-ElementAttributeLimit= El elemento \"{0}\" tiene m\u00E1s de \"{1}\" atributos, \"{1}\" es el l\u00EDmite impuesto por la aplicaci\u00F3n.
+ElementAttributeLimit= El elemento "{0}" tiene m\u00E1s de "{1}" atributos, "{1}" es el l\u00EDmite impuesto por la aplicaci\u00F3n.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_fr.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_fr.properties
index f60b07301ee..915a6e7b180 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_fr.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_fr.properties
@@ -1,30 +1,27 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file contains error and warning messages related to XML
# The messages are arranged in key and value tuples in a ListResourceBundle.
@@ -48,14 +45,14 @@
InvalidCharInProlog = Un caract\u00E8re XML non valide (Unicode : 0x{0}) a \u00E9t\u00E9 d\u00E9tect\u00E9 dans le prologue du document.
InvalidCharInXMLDecl = Un caract\u00E8re XML non valide (Unicode : 0x{0}) a \u00E9t\u00E9 d\u00E9tect\u00E9 dans la d\u00E9claration XML.
# 2.4 Character Data and Markup
- CDEndInContent = La s\u00E9quence de caract\u00E8res \"]]>\" ne doit pas figurer dans le contenu sauf si elle est utilis\u00E9e pour baliser la fin d'une section CDATA.
+ CDEndInContent = La s\u00E9quence de caract\u00E8res "]]>" ne doit pas figurer dans le contenu sauf si elle est utilis\u00E9e pour baliser la fin d'une section CDATA.
# 2.7 CDATA Sections
- CDSectUnterminated = La section CDATA doit se terminer par \"]]>\".
+ CDSectUnterminated = La section CDATA doit se terminer par "]]>".
# 2.8 Prolog and Document Type Declaration
XMLDeclMustBeFirst = La d\u00E9claration XML ne peut figurer qu'au d\u00E9but du document.
- EqRequiredInXMLDecl = Le caract\u00E8re ''='' doit suivre \"{0}\" dans la d\u00E9claration XML.
- QuoteRequiredInXMLDecl = La valeur suivant \"{0}\" dans la d\u00E9claration XML doit \u00EAtre une cha\u00EEne entre guillemets.
- XMLDeclUnterminated = La d\u00E9claration XML doit se terminer par \"?>\".
+ EqRequiredInXMLDecl = Le caract\u00E8re ''='' doit suivre "{0}" dans la d\u00E9claration XML.
+ QuoteRequiredInXMLDecl = La valeur suivant "{0}" dans la d\u00E9claration XML doit \u00EAtre une cha\u00EEne entre guillemets.
+ XMLDeclUnterminated = La d\u00E9claration XML doit se terminer par "?>".
VersionInfoRequired = La version est obligatoire dans la d\u00E9claration XML.
SpaceRequiredBeforeVersionInXMLDecl = Un espace est obligatoire devant le pseudo-attribut version dans la d\u00E9claration XML.
SpaceRequiredBeforeEncodingInXMLDecl = Un espace est obligatoire devant le pseudo-attribut encoding dans la d\u00E9claration XML.
@@ -71,70 +68,70 @@
ReferenceIllegalInTrailingMisc=R\u00E9f\u00E9rence non autoris\u00E9e dans la section de fin.
# 2.9 Standalone Document Declaration
- SDDeclInvalid = La valeur de d\u00E9claration de document autonome doit \u00EAtre \"oui\" ou \"non\", mais pas \"{0}\".
+ SDDeclInvalid = La valeur de d\u00E9claration de document autonome doit \u00EAtre "oui" ou "non", mais pas "{0}".
# 2.12 Language Identification
- XMLLangInvalid = La valeur d''attribut xml:lang \"{0}\" est un identificateur de langue non valide.
+ XMLLangInvalid = La valeur d''attribut xml:lang "{0}" est un identificateur de langue non valide.
# 3. Logical Structures
- ETagRequired = Le type d''\u00E9l\u00E9ment \"{0}\" doit se terminer par la balise de fin correspondante \"{0}>\".
+ ETagRequired = Le type d''\u00E9l\u00E9ment "{0}" doit se terminer par la balise de fin correspondante "{0}>".
# 3.1 Start-Tags, End-Tags, and Empty-Element Tags
- ElementUnterminated = Le type d''\u00E9l\u00E9ment \"{0}\" doit \u00EAtre suivi des sp\u00E9cifications d''attribut, \">\" ou \"/>\".
- EqRequiredInAttribute = Le nom d''attribut \"{1}\" associ\u00E9 \u00E0 un type d''\u00E9l\u00E9ment \"{0}\" doit \u00EAtre suivi du caract\u00E8re ''=''.
- OpenQuoteExpected = Des guillemets ouvrants sont attendus pour l''attribut \"{1}\" associ\u00E9 \u00E0 un type d''\u00E9l\u00E9ment \"{0}\".
- CloseQuoteExpected = Des guillemets fermants sont attendus pour l''attribut \"{1}\" associ\u00E9 \u00E0 un type d''\u00E9l\u00E9ment \"{0}\".
- AttributeNotUnique = L''attribut \"{1}\" a d\u00E9j\u00E0 \u00E9t\u00E9 sp\u00E9cifi\u00E9 pour l''\u00E9l\u00E9ment \"{0}\".
- AttributeNSNotUnique = L''attribut \"{1}\" li\u00E9 \u00E0 l''espace de noms \"{2}\" a d\u00E9j\u00E0 \u00E9t\u00E9 sp\u00E9cifi\u00E9 pour l''\u00E9l\u00E9ment \"{0}\".
- ETagUnterminated = La balise de fin pour le type d''\u00E9l\u00E9ment \"{0}\" doit se terminer par un d\u00E9limiteur ''>''.
+ ElementUnterminated = Le type d''\u00E9l\u00E9ment "{0}" doit \u00EAtre suivi des sp\u00E9cifications d''attribut, ">" ou "/>".
+ EqRequiredInAttribute = Le nom d''attribut "{1}" associ\u00E9 \u00E0 un type d''\u00E9l\u00E9ment "{0}" doit \u00EAtre suivi du caract\u00E8re ''=''.
+ OpenQuoteExpected = Des guillemets ouvrants sont attendus pour l''attribut "{1}" associ\u00E9 \u00E0 un type d''\u00E9l\u00E9ment "{0}".
+ CloseQuoteExpected = Des guillemets fermants sont attendus pour l''attribut "{1}" associ\u00E9 \u00E0 un type d''\u00E9l\u00E9ment "{0}".
+ AttributeNotUnique = L''attribut "{1}" a d\u00E9j\u00E0 \u00E9t\u00E9 sp\u00E9cifi\u00E9 pour l''\u00E9l\u00E9ment "{0}".
+ AttributeNSNotUnique = L''attribut "{1}" li\u00E9 \u00E0 l''espace de noms "{2}" a d\u00E9j\u00E0 \u00E9t\u00E9 sp\u00E9cifi\u00E9 pour l''\u00E9l\u00E9ment "{0}".
+ ETagUnterminated = La balise de fin pour le type d''\u00E9l\u00E9ment "{0}" doit se terminer par un d\u00E9limiteur ''>''.
MarkupNotRecognizedInContent = Le contenu des \u00E9l\u00E9ments doit inclure un balisage ou des caract\u00E8res au format correct.
DoctypeIllegalInContent = Un DOCTYPE n'est pas autoris\u00E9 dans le contenu.
# 4.1 Character and Entity References
ReferenceUnterminated = La r\u00E9f\u00E9rence doit se terminer par un d\u00E9limiteur ';'.
# 4.3.2 Well-Formed Parsed Entities
ReferenceNotInOneEntity = La r\u00E9f\u00E9rence doit \u00EAtre enti\u00E8rement incluse dans la m\u00EAme entit\u00E9 analys\u00E9e.
- ElementEntityMismatch = L''\u00E9l\u00E9ment \"{0}\" doit commencer et se terminer dans la m\u00EAme entit\u00E9.
+ ElementEntityMismatch = L''\u00E9l\u00E9ment "{0}" doit commencer et se terminer dans la m\u00EAme entit\u00E9.
MarkupEntityMismatch=Les structures de document XML doivent commencer et se terminer dans la m\u00EAme entit\u00E9.
# Messages common to Document and DTD
# 2.2 Characters
- InvalidCharInAttValue = Un caract\u00E8re XML non valide (Unicode : 0x{2}) a \u00E9t\u00E9 d\u00E9tect\u00E9 dans la valeur de l''attribut \"{1}\" et l''\u00E9l\u00E9ment est \"{0}\".
+ InvalidCharInAttValue = Un caract\u00E8re XML non valide (Unicode : 0x{2}) a \u00E9t\u00E9 d\u00E9tect\u00E9 dans la valeur de l''attribut "{1}" et l''\u00E9l\u00E9ment est "{0}".
InvalidCharInComment = Un caract\u00E8re XML non valide (Unicode : 0x{0}) a \u00E9t\u00E9 d\u00E9tect\u00E9 dans le commentaire.
InvalidCharInPI = Un caract\u00E8re XML non valide (Unicode : 0x{0}) a \u00E9t\u00E9 d\u00E9tect\u00E9 dans l''instruction de traitement.
InvalidCharInInternalSubset = Un caract\u00E8re XML non valide (Unicode : 0x{0}) a \u00E9t\u00E9 d\u00E9tect\u00E9 dans le sous-ensemble interne de la DTD.
InvalidCharInTextDecl = Un caract\u00E8re XML non valide (Unicode : 0x{0}) a \u00E9t\u00E9 d\u00E9tect\u00E9 dans la d\u00E9claration textuelle.
# 2.3 Common Syntactic Constructs
- QuoteRequiredInAttValue = La valeur de l''attribut \"{1}\" doit commencer par une apostrophe ou des guillemets.
- LessthanInAttValue = La valeur de l''attribut \"{1}\" associ\u00E9 \u00E0 un type d''\u00E9l\u00E9ment \"{0}\" ne doit pas contenir le caract\u00E8re ''<''.
- AttributeValueUnterminated = La valeur de l''attribut \"{1}\" doit se terminer par les guillemets correspondants.
+ QuoteRequiredInAttValue = La valeur de l''attribut "{1}" doit commencer par une apostrophe ou des guillemets.
+ LessthanInAttValue = La valeur de l''attribut "{1}" associ\u00E9 \u00E0 un type d''\u00E9l\u00E9ment "{0}" ne doit pas contenir le caract\u00E8re ''<''.
+ AttributeValueUnterminated = La valeur de l''attribut "{1}" doit se terminer par les guillemets correspondants.
# 2.5 Comments
- InvalidCommentStart = Le commentaire doit commencer par \"\".
+ InvalidCommentStart = Le commentaire doit commencer par "".
COMMENT_NOT_IN_ONE_ENTITY = Le commentaire n'est pas compris dans la m\u00EAme entit\u00E9.
# 2.6 Processing Instructions
PITargetRequired = L'instruction de traitement doit commencer par le nom de la cible.
SpaceRequiredInPI = Un espace est obligatoire entre les donn\u00E9es et la cible de l'instruction de traitement.
- PIUnterminated = L'instruction de traitement doit se terminer par \"?>\".
- ReservedPITarget = La cible de l'instruction de traitement correspondant \u00E0 \"[xX][mM][lL]\" n'est pas autoris\u00E9e.
+ PIUnterminated = L'instruction de traitement doit se terminer par "?>".
+ ReservedPITarget = La cible de l'instruction de traitement correspondant \u00E0 "[xX][mM][lL]" n'est pas autoris\u00E9e.
PI_NOT_IN_ONE_ENTITY = L'instruction de traitement n'est pas comprise dans la m\u00EAme entit\u00E9.
# 2.8 Prolog and Document Type Declaration
- VersionInfoInvalid = Version \"{0}\" non valide.
- VersionNotSupported = La version XML \"{0}\" n''est pas prise en charge. Seule la version XML 1.0 est prise en charge.
- VersionNotSupported11 = La version XML \"{0}\" n''est pas prise en charge. Seules les versions XML 1.0 et XML 1.1 sont prises en charge.
+ VersionInfoInvalid = Version "{0}" non valide.
+ VersionNotSupported = La version XML "{0}" n''est pas prise en charge. Seule la version XML 1.0 est prise en charge.
+ VersionNotSupported11 = La version XML "{0}" n''est pas prise en charge. Seules les versions XML 1.0 et XML 1.1 sont prises en charge.
VersionMismatch= Une entit\u00E9 ne peut pas inclure une autre entit\u00E9 d'une version ult\u00E9rieure.
# 4.1 Character and Entity References
- DigitRequiredInCharRef = Une repr\u00E9sentation d\u00E9cimale doit imm\u00E9diatement suivre la cha\u00EEne \"\" dans une r\u00E9f\u00E9rence de caract\u00E8re.
- HexdigitRequiredInCharRef = Une repr\u00E9sentation hexad\u00E9cimale doit imm\u00E9diatement suivre la cha\u00EEne \"\" dans une r\u00E9f\u00E9rence de caract\u00E8re.
+ DigitRequiredInCharRef = Une repr\u00E9sentation d\u00E9cimale doit imm\u00E9diatement suivre la cha\u00EEne "" dans une r\u00E9f\u00E9rence de caract\u00E8re.
+ HexdigitRequiredInCharRef = Une repr\u00E9sentation hexad\u00E9cimale doit imm\u00E9diatement suivre la cha\u00EEne "" dans une r\u00E9f\u00E9rence de caract\u00E8re.
SemicolonRequiredInCharRef = La r\u00E9f\u00E9rence de caract\u00E8re doit se terminer par le d\u00E9limiteur ';'.
- InvalidCharRef = La r\u00E9f\u00E9rence de caract\u00E8re \"{0}\" est un caract\u00E8re XML non valide.
+ InvalidCharRef = La r\u00E9f\u00E9rence de caract\u00E8re "{0}" est un caract\u00E8re XML non valide.
NameRequiredInReference = Le nom de l'identit\u00E9 doit imm\u00E9diatement suivre le caract\u00E8re "&" dans la r\u00E9f\u00E9rence d'entit\u00E9.
- SemicolonRequiredInReference = La r\u00E9f\u00E9rence \u00E0 l''entit\u00E9 \"{0}\" doit se terminer par le d\u00E9limiteur '';''.
+ SemicolonRequiredInReference = La r\u00E9f\u00E9rence \u00E0 l''entit\u00E9 "{0}" doit se terminer par le d\u00E9limiteur '';''.
# 4.3.1 The Text Declaration
TextDeclMustBeFirst = La d\u00E9claration textuelle ne doit figurer qu'au d\u00E9but de l'entit\u00E9 analys\u00E9e externe.
- EqRequiredInTextDecl = Le caract\u00E8re ''='' doit suivre \"{0}\" dans la d\u00E9claration textuelle.
- QuoteRequiredInTextDecl = La valeur suivant \"{0}\" dans la d\u00E9claration textuelle doit \u00EAtre une cha\u00EEne entre guillemets.
- CloseQuoteMissingInTextDecl = Dans la valeur suivant \"{0}\" dans la d\u00E9claration textuelle, il manque les guillemets fermants.
+ EqRequiredInTextDecl = Le caract\u00E8re ''='' doit suivre "{0}" dans la d\u00E9claration textuelle.
+ QuoteRequiredInTextDecl = La valeur suivant "{0}" dans la d\u00E9claration textuelle doit \u00EAtre une cha\u00EEne entre guillemets.
+ CloseQuoteMissingInTextDecl = Dans la valeur suivant "{0}" dans la d\u00E9claration textuelle, il manque les guillemets fermants.
SpaceRequiredBeforeVersionInTextDecl = Un espace est obligatoire devant le pseudo-attribut version dans la d\u00E9claration textuelle.
SpaceRequiredBeforeEncodingInTextDecl = Un espace est obligatoire devant le pseudo-attribut encoding dans la d\u00E9claration textuelle.
- TextDeclUnterminated = La d\u00E9claration textuelle doit se terminer par \"?>\".
+ TextDeclUnterminated = La d\u00E9claration textuelle doit se terminer par "?>".
EncodingDeclRequired = La d\u00E9claration d'encodage est obligatoire dans la d\u00E9claration textuelle.
NoMorePseudoAttributes = Aucun autre pseudo-attribut n'est autoris\u00E9.
MorePseudoAttributes = D'autres pseudo-attributs sont attendus.
@@ -143,13 +140,13 @@
CommentNotInOneEntity = Le commentaire doit \u00EAtre enti\u00E8rement inclus dans la m\u00EAme entit\u00E9 analys\u00E9e.
PINotInOneEntity = L'instruction de traitement doit \u00EAtre enti\u00E8rement incluse dans la m\u00EAme entit\u00E9 analys\u00E9e.
# 4.3.3 Character Encoding in Entities
- EncodingDeclInvalid = Nom d''encodage \"{0}\" non valide.
- EncodingByteOrderUnsupported = L''ordre des octets donn\u00E9 pour encoder \"{0}\" n''est pas pris en charge.
+ EncodingDeclInvalid = Nom d''encodage "{0}" non valide.
+ EncodingByteOrderUnsupported = L''ordre des octets donn\u00E9 pour encoder "{0}" n''est pas pris en charge.
InvalidByte = Octet {0} de la s\u00E9quence UTF-8 \u00E0 {1} octets non valide.
ExpectedByte = Octet {0} de la s\u00E9quence UTF-8 \u00E0 {1} octets attendu.
InvalidHighSurrogate = Les bits de substitution sup\u00E9rieurs (High surrogate) dans la s\u00E9quence UTF-8 ne doivent pas d\u00E9passer 0x10 mais des bits 0x{0} ont \u00E9t\u00E9 d\u00E9tect\u00E9s.
- OperationNotSupported = Op\u00E9ration \"{0}\" non prise en charge par le lecteur {1}.
- InvalidASCII = L''octet \"{0}\" n''appartient pas au jeu de caract\u00E8res ASCII (7 bits).
+ OperationNotSupported = Op\u00E9ration "{0}" non prise en charge par le lecteur {1}.
+ InvalidASCII = L''octet "{0}" n''appartient pas au jeu de caract\u00E8res ASCII (7 bits).
CharConversionFailure = Une entit\u00E9 respectant un certain encodage ne doit pas contenir de s\u00E9quences non admises dans cet encodage.
# DTD Messages
@@ -169,150 +166,150 @@
PubidCharIllegal = Ce caract\u00E8re (Unicode : 0x{0}) n''est pas autoris\u00E9 dans l''identificateur public.
SpaceRequiredBetweenPublicAndSystem = Des espaces sont obligatoires entre les ID publicId et systemId.
# 2.8 Prolog and Document Type Declaration
- MSG_SPACE_REQUIRED_BEFORE_ROOT_ELEMENT_TYPE_IN_DOCTYPEDECL = Un espace est obligatoire apr\u00E8s \"''.
- PEReferenceWithinMarkup = La r\u00E9f\u00E9rence d''entit\u00E9 de param\u00E8tre \"%{0};\" ne peut pas survenir dans le balisage du sous-ensemble interne de la DTD.
+ MSG_SPACE_REQUIRED_BEFORE_ROOT_ELEMENT_TYPE_IN_DOCTYPEDECL = Un espace est obligatoire apr\u00E8s "''.
+ PEReferenceWithinMarkup = La r\u00E9f\u00E9rence d''entit\u00E9 de param\u00E8tre "%{0};" ne peut pas survenir dans le balisage du sous-ensemble interne de la DTD.
MSG_MARKUP_NOT_RECOGNIZED_IN_DTD = Les d\u00E9clarations de balisage contenues dans la d\u00E9claration de type de document ou sur lesquelles pointe cette derni\u00E8re doivent avoir un format correct.
# 2.10 White Space Handling
- MSG_XML_SPACE_DECLARATION_ILLEGAL = La d\u00E9claration d'attribut pour \"xml:space\" doit \u00EAtre pr\u00E9sent\u00E9e comme type \u00E9num\u00E9r\u00E9 dont les seules valeurs possibles sont \"default\" et \"preserve\".
+ MSG_XML_SPACE_DECLARATION_ILLEGAL = La d\u00E9claration d'attribut pour "xml:space" doit \u00EAtre pr\u00E9sent\u00E9e comme type \u00E9num\u00E9r\u00E9 dont les seules valeurs possibles sont "default" et "preserve".
# 3.2 Element Type Declarations
- MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ELEMENTDECL = Un espace est obligatoire apr\u00E8s \"''.
+ MSG_SPACE_REQUIRED_BEFORE_CONTENTSPEC_IN_ELEMENTDECL = Un espace est obligatoire apr\u00E8s le type d''\u00E9l\u00E9ment "{0}" dans la d\u00E9claration de type d''\u00E9l\u00E9ment.
+ MSG_CONTENTSPEC_REQUIRED_IN_ELEMENTDECL = La contrainte est obligatoire apr\u00E8s le type d''\u00E9l\u00E9ment "{0}" dans la d\u00E9claration de type d''\u00E9l\u00E9ment.
+ ElementDeclUnterminated = La d\u00E9claration du type d''\u00E9l\u00E9ment "{0}" doit se terminer par ''>''.
# 3.2.1 Element Content
- MSG_OPEN_PAREN_OR_ELEMENT_TYPE_REQUIRED_IN_CHILDREN = Un caract\u00E8re ''('' ou un type d''\u00E9l\u00E9ment est obligatoire dans la d\u00E9claration du type d''\u00E9l\u00E9ment \"{0}\".
- MSG_CLOSE_PAREN_REQUIRED_IN_CHILDREN = Un caract\u00E8re '')'' est obligatoire dans la d\u00E9claration du type d''\u00E9l\u00E9ment \"{0}\".
+ MSG_OPEN_PAREN_OR_ELEMENT_TYPE_REQUIRED_IN_CHILDREN = Un caract\u00E8re ''('' ou un type d''\u00E9l\u00E9ment est obligatoire dans la d\u00E9claration du type d''\u00E9l\u00E9ment "{0}".
+ MSG_CLOSE_PAREN_REQUIRED_IN_CHILDREN = Un caract\u00E8re '')'' est obligatoire dans la d\u00E9claration du type d''\u00E9l\u00E9ment "{0}".
# 3.2.2 Mixed Content
- MSG_ELEMENT_TYPE_REQUIRED_IN_MIXED_CONTENT = Un type d''\u00E9l\u00E9ment est obligatoire dans la d\u00E9claration du type d''\u00E9l\u00E9ment \"{0}\".
- MSG_CLOSE_PAREN_REQUIRED_IN_MIXED = Un caract\u00E8re '')'' est obligatoire dans la d\u00E9claration du type d''\u00E9l\u00E9ment \"{0}\".
- MixedContentUnterminated = Le mod\u00E8le de contenu mixte \"{0}\" doit se terminer par \")*\" lorsque les types d''\u00E9l\u00E9ment enfant sont contraints.
+ MSG_ELEMENT_TYPE_REQUIRED_IN_MIXED_CONTENT = Un type d''\u00E9l\u00E9ment est obligatoire dans la d\u00E9claration du type d''\u00E9l\u00E9ment "{0}".
+ MSG_CLOSE_PAREN_REQUIRED_IN_MIXED = Un caract\u00E8re '')'' est obligatoire dans la d\u00E9claration du type d''\u00E9l\u00E9ment "{0}".
+ MixedContentUnterminated = Le mod\u00E8le de contenu mixte "{0}" doit se terminer par ")*" lorsque les types d''\u00E9l\u00E9ment enfant sont contraints.
# 3.3 Attribute-List Declarations
- MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ATTLISTDECL = Un espace est obligatoire apr\u00E8s \"\".
- IgnoreSectUnterminated = La section conditionnelle exclue doit se terminer par \"]]>\".
+ IncludeSectUnterminated = La section conditionnelle incluse doit se terminer par "]]>".
+ IgnoreSectUnterminated = La section conditionnelle exclue doit se terminer par "]]>".
# 4.1 Character and Entity References
NameRequiredInPEReference = Le nom de l'entit\u00E9 doit imm\u00E9diatement suivre le caract\u00E8re "%" dans la r\u00E9f\u00E9rence d'entit\u00E9 de param\u00E8tre.
- SemicolonRequiredInPEReference = La r\u00E9f\u00E9rence d''entit\u00E9 de param\u00E8tre \"%{0};\" doit se terminer par le d\u00E9limiteur '';''.
+ SemicolonRequiredInPEReference = La r\u00E9f\u00E9rence d''entit\u00E9 de param\u00E8tre "%{0};" doit se terminer par le d\u00E9limiteur '';''.
# 4.2 Entity Declarations
- MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_ENTITYDECL = Un espace est obligatoire apr\u00E8s \"''.
- MSG_DUPLICATE_ENTITY_DEFINITION = L''entit\u00E9 \"{0}\" est d\u00E9clar\u00E9e plusieurs fois.
+ MSG_SPACE_REQUIRED_AFTER_ENTITY_NAME_IN_ENTITYDECL = Un espace est obligatoire entre le nom de l''entit\u00E9 "{0}" et la d\u00E9finition dans la d\u00E9claration d''entit\u00E9.
+ MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_UNPARSED_ENTITYDECL = Un espace est obligatoire entre "NDATA" et le nom de notation dans la d\u00E9claration de l''entit\u00E9 "{0}".
+ MSG_SPACE_REQUIRED_BEFORE_NDATA_IN_UNPARSED_ENTITYDECL = Un espace est obligatoire avant "NDATA" dans la d\u00E9claration de l''entit\u00E9 "{0}".
+ MSG_NOTATION_NAME_REQUIRED_FOR_UNPARSED_ENTITYDECL = Le nom de notation est obligatoire apr\u00E8s "NDATA" dans la d\u00E9claration de l''entit\u00E9 "{0}".
+ EntityDeclUnterminated = La d\u00E9claration de l''entit\u00E9 "{0}" doit se terminer par ''>''.
+ MSG_DUPLICATE_ENTITY_DEFINITION = L''entit\u00E9 "{0}" est d\u00E9clar\u00E9e plusieurs fois.
# 4.2.2 External Entities
- ExternalIDRequired = La d\u00E9claration d'entit\u00E9 externe doit commencer par \"SYSTEM\" ou \"PUBLIC\".
- MSG_SPACE_REQUIRED_BEFORE_PUBIDLITERAL_IN_EXTERNALID = Un espace est obligatoire entre \"PUBLIC\" et l'identificateur public.
+ ExternalIDRequired = La d\u00E9claration d'entit\u00E9 externe doit commencer par "SYSTEM" ou "PUBLIC".
+ MSG_SPACE_REQUIRED_BEFORE_PUBIDLITERAL_IN_EXTERNALID = Un espace est obligatoire entre "PUBLIC" et l'identificateur public.
MSG_SPACE_REQUIRED_AFTER_PUBIDLITERAL_IN_EXTERNALID = Un espace est obligatoire entre l'identificateur public et l'identificateur syst\u00E8me.
- MSG_SPACE_REQUIRED_BEFORE_SYSTEMLITERAL_IN_EXTERNALID = Un espace est obligatoire entre \"SYSTEM\" et l'identificateur syst\u00E8me.
- MSG_URI_FRAGMENT_IN_SYSTEMID = L''identificateur du fragment ne doit pas \u00EAtre sp\u00E9cifi\u00E9 comme faisant partie de l''identificateur syst\u00E8me \"{0}\".
+ MSG_SPACE_REQUIRED_BEFORE_SYSTEMLITERAL_IN_EXTERNALID = Un espace est obligatoire entre "SYSTEM" et l'identificateur syst\u00E8me.
+ MSG_URI_FRAGMENT_IN_SYSTEMID = L''identificateur du fragment ne doit pas \u00EAtre sp\u00E9cifi\u00E9 comme faisant partie de l''identificateur syst\u00E8me "{0}".
# 4.7 Notation Declarations
- MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_NOTATIONDECL = Un espace est obligatoire apr\u00E8s \"''.
+ MSG_SPACE_REQUIRED_AFTER_NOTATION_NAME_IN_NOTATIONDECL = Un espace est obligatoire apr\u00E8s le nom de notation "{0}" dans la d\u00E9claration de notation.
+ ExternalIDorPublicIDRequired = La d\u00E9claration de la notation "{0}" doit inclure un identificateur syst\u00E8me ou public.
+ NotationDeclUnterminated = La d\u00E9claration de la notation "{0}" doit se terminer par ''>''.
# Validation messages
- DuplicateTypeInMixedContent = Le type d''\u00E9l\u00E9ment \"{1}\" a d\u00E9j\u00E0 \u00E9t\u00E9 sp\u00E9cifi\u00E9 dans le mod\u00E8le de contenu de la d\u00E9claration d''\u00E9l\u00E9ment \"{0}\".
- ENTITIESInvalid = La valeur d''attribut \"{1}\" de type ENTITIES doit correspondre au nom d''au moins une entit\u00E9 non analys\u00E9e.
- ENTITYInvalid = La valeur d''attribut \"{1}\" de type ENTITY doit correspondre au nom d''une entit\u00E9 non analys\u00E9e.
- IDDefaultTypeInvalid = L''attribut d''ID \"{0}\" doit avoir une valeur par d\u00E9faut d\u00E9clar\u00E9e de \"#IMPLIED\" ou \"#REQUIRED\".
- IDInvalid = La valeur d''attribut \"{0}\" de type ID doit \u00EAtre un nom.
- IDInvalidWithNamespaces = La valeur d''attribut \"{0}\" de type ID doit \u00EAtre un NCName lorsque les espaces de noms sont activ\u00E9s.
- IDNotUnique = La valeur d''attribut \"{0}\" de type ID doit \u00EAtre unique dans le document.
- IDREFInvalid = La valeur d''attribut \"{0}\" de type IDREF doit \u00EAtre un nom.
- IDREFInvalidWithNamespaces = La valeur d''attribut \"{0}\" de type IDREF doit \u00EAtre un NCName lorsque les espaces de noms sont activ\u00E9s.
- IDREFSInvalid = Une valeur d''attribut \"{0}\" de type IDREFS doit correspondre \u00E0 au moins un nom.
- ILL_FORMED_PARAMETER_ENTITY_WHEN_USED_IN_DECL = Le texte de remplacement de l''entit\u00E9 de param\u00E8tre \"{0}\" doit inclure des d\u00E9clarations correctement imbriqu\u00E9es lorsque la r\u00E9f\u00E9rence d''entit\u00E9 est utilis\u00E9e comme d\u00E9claration compl\u00E8te.
- ImproperDeclarationNesting = Le texte de remplacement de l''entit\u00E9 de param\u00E8tre \"{0}\" doit inclure des d\u00E9clarations correctement imbriqu\u00E9es.
- ImproperGroupNesting = Le texte de remplacement de l''entit\u00E9 de param\u00E8tre \"{0}\" doit inclure des paires de parenth\u00E8ses correctement imbriqu\u00E9es.
- INVALID_PE_IN_CONDITIONAL = Le texte de remplacement de l''entit\u00E9 de param\u00E8tre \"{0}\" doit inclure la section conditionnelle compl\u00E8te ou seulement INCLUDE ou IGNORE.
- MSG_ATTRIBUTE_NOT_DECLARED = L''attribut \"{1}\" doit \u00EAtre d\u00E9clar\u00E9 pour le type d''\u00E9l\u00E9ment \"{0}\".
- MSG_ATTRIBUTE_VALUE_NOT_IN_LIST = L''attribut \"{0}\" de valeur \"{1}\" doit avoir une valeur issue de la liste \"{2}\".
- MSG_ATTVALUE_CHANGED_DURING_NORMALIZATION_WHEN_STANDALONE = La valeur \"{1}\" de l''attribut \"{0}\" ne doit pas \u00EAtre modifi\u00E9e par normalisation (et devenir \"{2}\") dans un document autonome.
- MSG_CONTENT_INCOMPLETE = Le contenu du type d''\u00E9l\u00E9ment \"{0}\" est incomplet. Il doit correspondre \u00E0 \"{1}\".
- MSG_CONTENT_INVALID = Le contenu du type d''\u00E9l\u00E9ment \"{0}\" doit correspondre \u00E0 \"{1}\".
- MSG_CONTENT_INVALID_SPECIFIED = Le contenu du type d''\u00E9l\u00E9ment \"{0}\" doit correspondre \u00E0 \"{1}\". Les enfants de type \"{2}\" ne sont pas autoris\u00E9s.
- MSG_DEFAULTED_ATTRIBUTE_NOT_SPECIFIED = L''attribut \"{1}\" du type d''\u00E9l\u00E9ment \"{0}\" a une valeur par d\u00E9faut et doit \u00EAtre sp\u00E9cifi\u00E9 dans un document autonome.
- MSG_DUPLICATE_ATTDEF = L''attribut \"{1}\" est d\u00E9j\u00E0 d\u00E9clar\u00E9 pour le type d''\u00E9l\u00E9ment \"{0}\".
- MSG_ELEMENT_ALREADY_DECLARED = Le type d''\u00E9l\u00E9ment \"{0}\" ne doit pas \u00EAtre d\u00E9clar\u00E9 plusieurs fois.
- MSG_ELEMENT_NOT_DECLARED = Le type d''\u00E9l\u00E9ment \"{0}\" doit \u00EAtre d\u00E9clar\u00E9.
+ DuplicateTypeInMixedContent = Le type d''\u00E9l\u00E9ment "{1}" a d\u00E9j\u00E0 \u00E9t\u00E9 sp\u00E9cifi\u00E9 dans le mod\u00E8le de contenu de la d\u00E9claration d''\u00E9l\u00E9ment "{0}".
+ ENTITIESInvalid = La valeur d''attribut "{1}" de type ENTITIES doit correspondre au nom d''au moins une entit\u00E9 non analys\u00E9e.
+ ENTITYInvalid = La valeur d''attribut "{1}" de type ENTITY doit correspondre au nom d''une entit\u00E9 non analys\u00E9e.
+ IDDefaultTypeInvalid = L''attribut d''ID "{0}" doit avoir une valeur par d\u00E9faut d\u00E9clar\u00E9e de "#IMPLIED" ou "#REQUIRED".
+ IDInvalid = La valeur d''attribut "{0}" de type ID doit \u00EAtre un nom.
+ IDInvalidWithNamespaces = La valeur d''attribut "{0}" de type ID doit \u00EAtre un NCName lorsque les espaces de noms sont activ\u00E9s.
+ IDNotUnique = La valeur d''attribut "{0}" de type ID doit \u00EAtre unique dans le document.
+ IDREFInvalid = La valeur d''attribut "{0}" de type IDREF doit \u00EAtre un nom.
+ IDREFInvalidWithNamespaces = La valeur d''attribut "{0}" de type IDREF doit \u00EAtre un NCName lorsque les espaces de noms sont activ\u00E9s.
+ IDREFSInvalid = Une valeur d''attribut "{0}" de type IDREFS doit correspondre \u00E0 au moins un nom.
+ ILL_FORMED_PARAMETER_ENTITY_WHEN_USED_IN_DECL = Le texte de remplacement de l''entit\u00E9 de param\u00E8tre "{0}" doit inclure des d\u00E9clarations correctement imbriqu\u00E9es lorsque la r\u00E9f\u00E9rence d''entit\u00E9 est utilis\u00E9e comme d\u00E9claration compl\u00E8te.
+ ImproperDeclarationNesting = Le texte de remplacement de l''entit\u00E9 de param\u00E8tre "{0}" doit inclure des d\u00E9clarations correctement imbriqu\u00E9es.
+ ImproperGroupNesting = Le texte de remplacement de l''entit\u00E9 de param\u00E8tre "{0}" doit inclure des paires de parenth\u00E8ses correctement imbriqu\u00E9es.
+ INVALID_PE_IN_CONDITIONAL = Le texte de remplacement de l''entit\u00E9 de param\u00E8tre "{0}" doit inclure la section conditionnelle compl\u00E8te ou seulement INCLUDE ou IGNORE.
+ MSG_ATTRIBUTE_NOT_DECLARED = L''attribut "{1}" doit \u00EAtre d\u00E9clar\u00E9 pour le type d''\u00E9l\u00E9ment "{0}".
+ MSG_ATTRIBUTE_VALUE_NOT_IN_LIST = L''attribut "{0}" de valeur "{1}" doit avoir une valeur issue de la liste "{2}".
+ MSG_ATTVALUE_CHANGED_DURING_NORMALIZATION_WHEN_STANDALONE = La valeur "{1}" de l''attribut "{0}" ne doit pas \u00EAtre modifi\u00E9e par normalisation (et devenir "{2}") dans un document autonome.
+ MSG_CONTENT_INCOMPLETE = Le contenu du type d''\u00E9l\u00E9ment "{0}" est incomplet. Il doit correspondre \u00E0 "{1}".
+ MSG_CONTENT_INVALID = Le contenu du type d''\u00E9l\u00E9ment "{0}" doit correspondre \u00E0 "{1}".
+ MSG_CONTENT_INVALID_SPECIFIED = Le contenu du type d''\u00E9l\u00E9ment "{0}" doit correspondre \u00E0 "{1}". Les enfants de type "{2}" ne sont pas autoris\u00E9s.
+ MSG_DEFAULTED_ATTRIBUTE_NOT_SPECIFIED = L''attribut "{1}" du type d''\u00E9l\u00E9ment "{0}" a une valeur par d\u00E9faut et doit \u00EAtre sp\u00E9cifi\u00E9 dans un document autonome.
+ MSG_DUPLICATE_ATTDEF = L''attribut "{1}" est d\u00E9j\u00E0 d\u00E9clar\u00E9 pour le type d''\u00E9l\u00E9ment "{0}".
+ MSG_ELEMENT_ALREADY_DECLARED = Le type d''\u00E9l\u00E9ment "{0}" ne doit pas \u00EAtre d\u00E9clar\u00E9 plusieurs fois.
+ MSG_ELEMENT_NOT_DECLARED = Le type d''\u00E9l\u00E9ment "{0}" doit \u00EAtre d\u00E9clar\u00E9.
MSG_GRAMMAR_NOT_FOUND = Le document n'est pas valide : aucune grammaire d\u00E9tect\u00E9e.
- MSG_ELEMENT_WITH_ID_REQUIRED = Un \u00E9l\u00E9ment avec l''identificateur \"{0}\" doit figurer dans le document.
- MSG_EXTERNAL_ENTITY_NOT_PERMITTED = La r\u00E9f\u00E9rence \u00E0 l''entit\u00E9 externe \"{0}\" n''est pas autoris\u00E9e dans le document autonome.
- MSG_FIXED_ATTVALUE_INVALID = L''attribut \"{1}\" de valeur \"{2}\" doit avoir une valeur de \"{3}\".
- MSG_MORE_THAN_ONE_ID_ATTRIBUTE = Le type d''\u00E9l\u00E9ment \"{0}\" a d\u00E9j\u00E0 l''attribut \"{1}\" de type ID. Un deuxi\u00E8me attribut \"{2}\" de type ID n''est pas autoris\u00E9.
- MSG_MORE_THAN_ONE_NOTATION_ATTRIBUTE = Le type d''\u00E9l\u00E9ment \"{0}\" a d\u00E9j\u00E0 l''attribut \"{1}\" de type NOTATION. Un deuxi\u00E8me attribut \"{2}\" de type NOTATION n''est pas autoris\u00E9.
- MSG_NOTATION_NOT_DECLARED_FOR_NOTATIONTYPE_ATTRIBUTE = La notation \"{1}\" doit \u00EAtre d\u00E9clar\u00E9e lorsqu''elle est r\u00E9f\u00E9renc\u00E9e dans la liste des types de notation de l''attribut \"{0}\".
- MSG_NOTATION_NOT_DECLARED_FOR_UNPARSED_ENTITYDECL = La notation \"{1}\" doit \u00EAtre d\u00E9clar\u00E9e lorsqu''elle est r\u00E9f\u00E9renc\u00E9e dans la d\u00E9claration d''entit\u00E9 non analys\u00E9e pour \"{0}\".
- MSG_REFERENCE_TO_EXTERNALLY_DECLARED_ENTITY_WHEN_STANDALONE = La r\u00E9f\u00E9rence \u00E0 l''entit\u00E9 \"{0}\" d\u00E9clar\u00E9e dans une entit\u00E9 analys\u00E9e externe n''est pas autoris\u00E9e dans un document autonome.
- MSG_REQUIRED_ATTRIBUTE_NOT_SPECIFIED = L''attribut \"{1}\" est obligatoire et doit \u00EAtre sp\u00E9cifi\u00E9 pour le type d''\u00E9l\u00E9ment \"{0}\".
+ MSG_ELEMENT_WITH_ID_REQUIRED = Un \u00E9l\u00E9ment avec l''identificateur "{0}" doit figurer dans le document.
+ MSG_EXTERNAL_ENTITY_NOT_PERMITTED = La r\u00E9f\u00E9rence \u00E0 l''entit\u00E9 externe "{0}" n''est pas autoris\u00E9e dans le document autonome.
+ MSG_FIXED_ATTVALUE_INVALID = L''attribut "{1}" de valeur "{2}" doit avoir une valeur de "{3}".
+ MSG_MORE_THAN_ONE_ID_ATTRIBUTE = Le type d''\u00E9l\u00E9ment "{0}" a d\u00E9j\u00E0 l''attribut "{1}" de type ID. Un deuxi\u00E8me attribut "{2}" de type ID n''est pas autoris\u00E9.
+ MSG_MORE_THAN_ONE_NOTATION_ATTRIBUTE = Le type d''\u00E9l\u00E9ment "{0}" a d\u00E9j\u00E0 l''attribut "{1}" de type NOTATION. Un deuxi\u00E8me attribut "{2}" de type NOTATION n''est pas autoris\u00E9.
+ MSG_NOTATION_NOT_DECLARED_FOR_NOTATIONTYPE_ATTRIBUTE = La notation "{1}" doit \u00EAtre d\u00E9clar\u00E9e lorsqu''elle est r\u00E9f\u00E9renc\u00E9e dans la liste des types de notation de l''attribut "{0}".
+ MSG_NOTATION_NOT_DECLARED_FOR_UNPARSED_ENTITYDECL = La notation "{1}" doit \u00EAtre d\u00E9clar\u00E9e lorsqu''elle est r\u00E9f\u00E9renc\u00E9e dans la d\u00E9claration d''entit\u00E9 non analys\u00E9e pour "{0}".
+ MSG_REFERENCE_TO_EXTERNALLY_DECLARED_ENTITY_WHEN_STANDALONE = La r\u00E9f\u00E9rence \u00E0 l''entit\u00E9 "{0}" d\u00E9clar\u00E9e dans une entit\u00E9 analys\u00E9e externe n''est pas autoris\u00E9e dans un document autonome.
+ MSG_REQUIRED_ATTRIBUTE_NOT_SPECIFIED = L''attribut "{1}" est obligatoire et doit \u00EAtre sp\u00E9cifi\u00E9 pour le type d''\u00E9l\u00E9ment "{0}".
MSG_WHITE_SPACE_IN_ELEMENT_CONTENT_WHEN_STANDALONE = Aucun espace ne doit figurer entre les \u00E9l\u00E9ments d\u00E9clar\u00E9s dans une entit\u00E9 analys\u00E9e externe avec le contenu des \u00E9l\u00E9ments dans un document autonome.
- NMTOKENInvalid = La valeur d''attribut \"{0}\" de type NMTOKEN doit correspondre \u00E0 un jeton de nom.
- NMTOKENSInvalid = La valeur d''attribut \"{0}\" de type NMTOKENS doit correspondre \u00E0 au moins un jeton de nom.
- NoNotationOnEmptyElement = Le type d''\u00E9l\u00E9ment \"{0}\" d\u00E9clar\u00E9 EMPTY ne peut pas d\u00E9clarer un attribut \"{1}\" de type NOTATION.
- RootElementTypeMustMatchDoctypedecl = L''\u00E9l\u00E9ment racine de document \"{1}\" doit correspondre \u00E0 la racine DOCTYPE \"{0}\".
- UndeclaredElementInContentSpec = Le mod\u00E8le de contenu de l''\u00E9l\u00E9ment \"{0}\" fait r\u00E9f\u00E9rence \u00E0 l''\u00E9l\u00E9ment non d\u00E9clar\u00E9 \"{1}\".
- UniqueNotationName = La d\u00E9claration de la notation \"{0}\" n''est pas unique. Une valeur Name donn\u00E9e ne doit pas \u00EAtre d\u00E9clar\u00E9e dans plusieurs d\u00E9clarations de notation.
- ENTITYFailedInitializeGrammar = Contr\u00F4le de validation ENTITYDatatype : \u00E9chec. Besoin d'appeler une m\u00E9thode d'initialisation avec une r\u00E9f\u00E9rence de grammaire valide. \t
- ENTITYNotUnparsed = La valeur ENTITY \"{0}\" est analys\u00E9e.
- ENTITYNotValid = La valeur ENTITY \"{0}\" n''est pas valide.
+ NMTOKENInvalid = La valeur d''attribut "{0}" de type NMTOKEN doit correspondre \u00E0 un jeton de nom.
+ NMTOKENSInvalid = La valeur d''attribut "{0}" de type NMTOKENS doit correspondre \u00E0 au moins un jeton de nom.
+ NoNotationOnEmptyElement = Le type d''\u00E9l\u00E9ment "{0}" d\u00E9clar\u00E9 EMPTY ne peut pas d\u00E9clarer un attribut "{1}" de type NOTATION.
+ RootElementTypeMustMatchDoctypedecl = L''\u00E9l\u00E9ment racine de document "{1}" doit correspondre \u00E0 la racine DOCTYPE "{0}".
+ UndeclaredElementInContentSpec = Le mod\u00E8le de contenu de l''\u00E9l\u00E9ment "{0}" fait r\u00E9f\u00E9rence \u00E0 l''\u00E9l\u00E9ment non d\u00E9clar\u00E9 "{1}".
+ UniqueNotationName = La d\u00E9claration de la notation "{0}" n''est pas unique. Une valeur Name donn\u00E9e ne doit pas \u00EAtre d\u00E9clar\u00E9e dans plusieurs d\u00E9clarations de notation.
+ ENTITYFailedInitializeGrammar = Valideur ENTITYDatatype : \u00E9chec. Besoin d'appeler une m\u00E9thode d'initialisation avec une r\u00E9f\u00E9rence de grammaire valide. \t
+ ENTITYNotUnparsed = La valeur ENTITY "{0}" est analys\u00E9e.
+ ENTITYNotValid = La valeur ENTITY "{0}" n''est pas valide.
EmptyList = Une valeur de type ENTITIES, IDREFS et NMTOKENS ne peut pas correspondre \u00E0 une liste vide.
# Entity related messages
# 3.1 Start-Tags, End-Tags, and Empty-Element Tags
- ReferenceToExternalEntity = La r\u00E9f\u00E9rence d''entit\u00E9 externe \"&{0};\" n''est pas autoris\u00E9e dans une valeur d''attribut.
- AccessExternalDTD = External DTD: Failed to read external DTD ''{0}'', because ''{1}'' access is not allowed.
- AccessExternalEntity = External Entity: Failed to read external document ''{0}'', because ''{1}'' access is not allowed.
+ ReferenceToExternalEntity = La r\u00E9f\u00E9rence d''entit\u00E9 externe "&{0};" n''est pas autoris\u00E9e dans une valeur d''attribut.
+ AccessExternalDTD = DTD externe : \u00E9chec de la lecture de la DTD externe ''{0}'', car l''acc\u00E8s ''{1}'' n''est pas autoris\u00E9.
+ AccessExternalEntity = Entit\u00E9 externe : \u00E9chec de la lecture du document externe ''{0}'', car l''acc\u00E8s ''{1}'' n''est pas autoris\u00E9.
# 4.1 Character and Entity References
- EntityNotDeclared = L''entit\u00E9 \"{0}\" \u00E9tait r\u00E9f\u00E9renc\u00E9e, mais pas d\u00E9clar\u00E9e.
- ReferenceToUnparsedEntity = La r\u00E9f\u00E9rence d''entit\u00E9 non analys\u00E9e \"&{0};\" n''est pas autoris\u00E9e.
- RecursiveReference = R\u00E9f\u00E9rence d''entit\u00E9 r\u00E9cursive \"{0}\". (Chemin de r\u00E9f\u00E9rence : {1}),
- RecursiveGeneralReference = R\u00E9f\u00E9rence d''entit\u00E9 g\u00E9n\u00E9rale r\u00E9cursive \"&{0};\". (Chemin de r\u00E9f\u00E9rence : {1}),
- RecursivePEReference = R\u00E9f\u00E9rence d''entit\u00E9 de param\u00E8tre r\u00E9cursive \"%{0};\". (Chemin de r\u00E9f\u00E9rence : {1}),
+ EntityNotDeclared = L''entit\u00E9 "{0}" \u00E9tait r\u00E9f\u00E9renc\u00E9e, mais pas d\u00E9clar\u00E9e.
+ ReferenceToUnparsedEntity = La r\u00E9f\u00E9rence d''entit\u00E9 non analys\u00E9e "&{0};" n''est pas autoris\u00E9e.
+ RecursiveReference = R\u00E9f\u00E9rence d''entit\u00E9 r\u00E9cursive "{0}". (Chemin de r\u00E9f\u00E9rence : {1}),
+ RecursiveGeneralReference = R\u00E9f\u00E9rence d''entit\u00E9 g\u00E9n\u00E9rale r\u00E9cursive "&{0};". (Chemin de r\u00E9f\u00E9rence : {1}),
+ RecursivePEReference = R\u00E9f\u00E9rence d''entit\u00E9 de param\u00E8tre r\u00E9cursive "%{0};". (Chemin de r\u00E9f\u00E9rence : {1}),
# 4.3.3 Character Encoding in Entities
- EncodingNotSupported = L''encodage \"{0}\" n''est pas pris en charge.
+ EncodingNotSupported = L''encodage "{0}" n''est pas pris en charge.
EncodingRequired = Une entit\u00E9 analys\u00E9e sans encodage UTF-8 ou UTF-16 doit contenir une d\u00E9claration d'encodage.
# Namespaces support
# 4. Using Qualified Names
IllegalQName = L'\u00E9l\u00E9ment ou l'attribut ne correspond pas \u00E0 la production QName : QName::=(NCName':')?NCName.
- ElementXMLNSPrefix = L''\u00E9l\u00E9ment \"{0}\" ne peut pas avoir \"xmlns\" comme pr\u00E9fixe.
- ElementPrefixUnbound = Le pr\u00E9fixe \"{0}\" de l''\u00E9l\u00E9ment \"{1}\" n''est pas li\u00E9.
- AttributePrefixUnbound = Le pr\u00E9fixe \"{2}\" de l''attribut \"{1}\" associ\u00E9 \u00E0 un type d''\u00E9l\u00E9ment \"{0}\" n''est pas li\u00E9.
- EmptyPrefixedAttName = La valeur de l''attribut \"{0}\" n''est pas valide. Les liaisons d''espaces de noms pr\u00E9fix\u00E9s ne peuvent pas \u00EAtre vides.
- PrefixDeclared = Le pr\u00E9fixe d''espace de noms \"{0}\" n''\u00E9tait pas d\u00E9clar\u00E9.
+ ElementXMLNSPrefix = L''\u00E9l\u00E9ment "{0}" ne peut pas avoir "xmlns" comme pr\u00E9fixe.
+ ElementPrefixUnbound = Le pr\u00E9fixe "{0}" de l''\u00E9l\u00E9ment "{1}" n''est pas li\u00E9.
+ AttributePrefixUnbound = Le pr\u00E9fixe "{2}" de l''attribut "{1}" associ\u00E9 \u00E0 un type d''\u00E9l\u00E9ment "{0}" n''est pas li\u00E9.
+ EmptyPrefixedAttName = La valeur de l''attribut "{0}" n''est pas valide. Les liaisons d''espaces de noms pr\u00E9fix\u00E9s ne peuvent pas \u00EAtre vides.
+ PrefixDeclared = Le pr\u00E9fixe d''espace de noms "{0}" n''\u00E9tait pas d\u00E9clar\u00E9.
CantBindXMLNS = Le pr\u00E9fixe "xmlns" ne peut pas \u00EAtre li\u00E9 \u00E0 un espace de noms de fa\u00E7on explicite, pas plus que l'espace de noms de "xmlns" \u00E0 un pr\u00E9fixe quelconque.
CantBindXML = Le pr\u00E9fixe "xml" ne peut pas \u00EAtre li\u00E9 \u00E0 un autre espace de noms que son espace de noms habituel. L'espace de noms de "xml" ne peut pas non plus \u00EAtre li\u00E9 \u00E0 un autre pr\u00E9fixe que "xml".
- MSG_ATT_DEFAULT_INVALID = La valeur par d\u00E9faut \"{1}\" de l''attribut \"{0}\" n''est pas admise conform\u00E9ment aux contraintes lexicales de ce type d''attribut.
+ MSG_ATT_DEFAULT_INVALID = La valeur par d\u00E9faut "{1}" de l''attribut "{0}" n''est pas admise conform\u00E9ment aux contraintes lexicales de ce type d''attribut.
# REVISIT: These need messages
MSG_SPACE_REQUIRED_AFTER_SYSTEMLITERAL_IN_EXTERNALID=MSG_SPACE_REQUIRED_AFTER_SYSTEMLITERAL_IN_EXTERNALID
@@ -321,7 +318,7 @@
#Application can set the limit of number of entities that should be expanded by the parser.
-EntityExpansionLimitExceeded=L''analyseur a rencontr\u00E9 plus de \"{0}\" d\u00E9veloppements d''entit\u00E9 dans ce document. Il s''agit de la limite impos\u00E9e par l''application.
+EntityExpansionLimitExceeded=L''analyseur a rencontr\u00E9 plus de "{0}" d\u00E9veloppements d''entit\u00E9 dans ce document. Il s''agit de la limite impos\u00E9e par l''application.
# Application can set the limit of number of attributes of entity that should be expanded by the parser.
-ElementAttributeLimit= L''\u00E9l\u00E9ment \"{0}\" a plus de \"{1}\" attributs. \"{1}\" est la limite impos\u00E9e par l''application.
+ElementAttributeLimit= L''\u00E9l\u00E9ment "{0}" a plus de "{1}" attributs. "{1}" est la limite impos\u00E9e par l''application.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_it.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_it.properties
index e525777850b..5222b2e51f3 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_it.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_it.properties
@@ -1,30 +1,27 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file contains error and warning messages related to XML
# The messages are arranged in key and value tuples in a ListResourceBundle.
@@ -48,14 +45,14 @@
InvalidCharInProlog = \u00C8 stato trovato un carattere XML non valido (Unicode: 0x{0}) nel prologo del documento.
InvalidCharInXMLDecl = \u00C8 stato trovato un carattere XML non valido (Unicode: 0x{0}) nella dichiarazione XML.
# 2.4 Character Data and Markup
- CDEndInContent = La sequenza di caratteri \"]]>\" non deve essere presente nel contenuto a meno che non sia utilizzata per contrassegnare la fine di una sezione CDATA.
+ CDEndInContent = La sequenza di caratteri "]]>" non deve essere presente nel contenuto a meno che non sia utilizzata per contrassegnare la fine di una sezione CDATA.
# 2.7 CDATA Sections
- CDSectUnterminated = La sezione CDATA deve terminare con \"]]>\".
+ CDSectUnterminated = La sezione CDATA deve terminare con "]]>".
# 2.8 Prolog and Document Type Declaration
XMLDeclMustBeFirst = La dichiarazione XML pu\u00F2 comparire solo all'inizio del documento.
- EqRequiredInXMLDecl = Il carattere '' = '' deve seguire \"{0}\" nella dichiarazione XML.
- QuoteRequiredInXMLDecl = Il valore che segue \"{0}\" nella dichiarazione XML deve essere una stringa compresa tra apici.
- XMLDeclUnterminated = La dichiarazione XML deve terminare con \"?>\".
+ EqRequiredInXMLDecl = Il carattere '' = '' deve seguire "{0}" nella dichiarazione XML.
+ QuoteRequiredInXMLDecl = Il valore che segue "{0}" nella dichiarazione XML deve essere una stringa compresa tra apici.
+ XMLDeclUnterminated = La dichiarazione XML deve terminare con "?>".
VersionInfoRequired = La versione \u00E8 obbligatoria nella dichiarazione XML.
SpaceRequiredBeforeVersionInXMLDecl = \u00C8 richiesto uno spazio prima dell'attributo pseudo della versione nella dichiarazione XML.
SpaceRequiredBeforeEncodingInXMLDecl = \u00C8 richiesto uno spazio prima dell'attributo pseudo di codifica nella dichiarazione XML.
@@ -71,70 +68,70 @@
ReferenceIllegalInTrailingMisc=Il riferimento non \u00E8 consentito nella sezione finale.
# 2.9 Standalone Document Declaration
- SDDeclInvalid = Il valore della dichiarazione del documento standalone deve essere \"yes\" o \"no\", non \"{0}\".
+ SDDeclInvalid = Il valore della dichiarazione del documento standalone deve essere "yes" o "no", non "{0}".
# 2.12 Language Identification
- XMLLangInvalid = Il valore dell''attributo xml:lang \"{0}\" \u00E8 un identificativo di lingua non valido.
+ XMLLangInvalid = Il valore dell''attributo xml:lang "{0}" \u00E8 un identificativo di lingua non valido.
# 3. Logical Structures
- ETagRequired = Il tipo di elemento \"{0}\" deve terminare con la corrispondente tag finale \"{0}>\".
+ ETagRequired = Il tipo di elemento "{0}" deve terminare con la corrispondente tag finale "{0}>".
# 3.1 Start-Tags, End-Tags, and Empty-Element Tags
- ElementUnterminated = Il tipo di elemento \"{0}\" deve essere seguito dalle specifiche di attributo \">\" o \"/>\".
- EqRequiredInAttribute = Il nome attributo \"{1}\" associato a un tipo di elemento \"{0}\" deve essere seguito dal carattere '' = ''.
- OpenQuoteExpected = \u00C8 previsto un apice di apertura per l''attributo \"{1}\" associato a un tipo di elemento \"{0}\".
- CloseQuoteExpected = \u00C8 previsto un apice di chiusura per l''attributo \"{1}\" associato a un tipo di elemento \"{0}\".
- AttributeNotUnique = L''attributo \"{1}\" \u00E8 gi\u00E0 stato specificato per l''elemento \"{0}\".
- AttributeNSNotUnique = L''attributo \"{1}\" associato allo spazio di nomi \"{2}\" \u00E8 gi\u00E0 stato specificato per l''elemento \"{0}\".
- ETagUnterminated = La tag finale per il tipo di elemento \"{0}\" deve terminare con un delimitatore ''>''.
+ ElementUnterminated = Il tipo di elemento "{0}" deve essere seguito dalle specifiche di attributo ">" o "/>".
+ EqRequiredInAttribute = Il nome attributo "{1}" associato a un tipo di elemento "{0}" deve essere seguito dal carattere '' = ''.
+ OpenQuoteExpected = \u00C8 previsto un apice di apertura per l''attributo "{1}" associato a un tipo di elemento "{0}".
+ CloseQuoteExpected = \u00C8 previsto un apice di chiusura per l''attributo "{1}" associato a un tipo di elemento "{0}".
+ AttributeNotUnique = L''attributo "{1}" \u00E8 gi\u00E0 stato specificato per l''elemento "{0}".
+ AttributeNSNotUnique = L''attributo "{1}" associato allo spazio di nomi "{2}" \u00E8 gi\u00E0 stato specificato per l''elemento "{0}".
+ ETagUnterminated = La tag finale per il tipo di elemento "{0}" deve terminare con un delimitatore ''>''.
MarkupNotRecognizedInContent = Il contenuto degli elementi deve essere composto da dati o markup di caratteri con formato corretto.
DoctypeIllegalInContent = DOCTYPE non \u00E8 consentito nel contenuto.
# 4.1 Character and Entity References
ReferenceUnterminated = Il riferimento deve terminare con un delimitatore ';'.
# 4.3.2 Well-Formed Parsed Entities
ReferenceNotInOneEntity = Il riferimento deve essere compreso completamente all'interno della stessa entit\u00E0 analizzata.
- ElementEntityMismatch = L''elemento \"{0}\" deve iniziare e finire con la stessa entit\u00E0.
+ ElementEntityMismatch = L''elemento "{0}" deve iniziare e finire con la stessa entit\u00E0.
MarkupEntityMismatch=Le strutture di documenti XML devono iniziare e finire con la stessa entit\u00E0.
# Messages common to Document and DTD
# 2.2 Characters
- InvalidCharInAttValue = \u00C8 stato trovato un carattere XML non valido (Unicode: 0x{2}) nel valore dell''attributo \"{1}\". L''elemento \u00E8 \"{0}\".
+ InvalidCharInAttValue = \u00C8 stato trovato un carattere XML non valido (Unicode: 0x{2}) nel valore dell''attributo "{1}". L''elemento \u00E8 "{0}".
InvalidCharInComment = \u00C8 stato trovato un carattere XML non valido (Unicode: 0x{0}) nel commento.
InvalidCharInPI = \u00C8 stato trovato un carattere XML non valido (Unicode: 0x{0}) nell''istruzione di elaborazione.
InvalidCharInInternalSubset = \u00C8 stato trovato un carattere XML non valido (Unicode: 0x{0}) nel set secondario interno del DTD.
InvalidCharInTextDecl = \u00C8 stato trovato un carattere XML non valido (Unicode: 0x{0}) nella dichiarazione testuale.
# 2.3 Common Syntactic Constructs
- QuoteRequiredInAttValue = Il valore dell''attributo \"{1}\" deve iniziare con un apice o una virgoletta.
- LessthanInAttValue = Il valore dell''attributo \"{1}\" associato a un tipo di elemento \"{0}\" non deve essere contenere il carattere ''<''.
- AttributeValueUnterminated = Il valore dell''attributo \"{1}\" deve terminare con un apice corrispondente.
+ QuoteRequiredInAttValue = Il valore dell''attributo "{1}" deve iniziare con un apice o una virgoletta.
+ LessthanInAttValue = Il valore dell''attributo "{1}" associato a un tipo di elemento "{0}" non deve essere contenere il carattere ''<''.
+ AttributeValueUnterminated = Il valore dell''attributo "{1}" deve terminare con un apice corrispondente.
# 2.5 Comments
- InvalidCommentStart = Il commento deve iniziare con \"\".
+ InvalidCommentStart = Il commento deve iniziare con "".
COMMENT_NOT_IN_ONE_ENTITY = Il commento non \u00E8 compreso all'interno della stessa entit\u00E0.
# 2.6 Processing Instructions
PITargetRequired = L'istruzione di elaborazione deve iniziare con il nome della destinazione.
SpaceRequiredInPI = \u00C8 richiesto uno spazio tra la destinazione delle istruzioni di elaborazione e i dati.
- PIUnterminated = L'istruzione di elaborazione deve terminare con \"?>\".
- ReservedPITarget = Non \u00E8 consentita una destinazione di istruzione di elaborazione corrispondente a \"[xX][mM][lL]\".
+ PIUnterminated = L'istruzione di elaborazione deve terminare con "?>".
+ ReservedPITarget = Non \u00E8 consentita una destinazione di istruzione di elaborazione corrispondente a "[xX][mM][lL]".
PI_NOT_IN_ONE_ENTITY = L'istruzione di elaborazione non \u00E8 compresa all'interno della stessa entit\u00E0.
# 2.8 Prolog and Document Type Declaration
- VersionInfoInvalid = Versione \"{0}\" non valida.
- VersionNotSupported = La versione XML \"{0}\" non \u00E8 supportata. Solo la versione XML 1.0 \u00E8 supportata.
- VersionNotSupported11 = La versione XML \"{0}\" non \u00E8 supportata. Solo le versioni XML 1.0 e XML 1.1 sono supportate.
+ VersionInfoInvalid = Versione "{0}" non valida.
+ VersionNotSupported = La versione XML "{0}" non \u00E8 supportata. Solo la versione XML 1.0 \u00E8 supportata.
+ VersionNotSupported11 = La versione XML "{0}" non \u00E8 supportata. Solo le versioni XML 1.0 e XML 1.1 sono supportate.
VersionMismatch= Un'entit\u00E0 non pu\u00F2 includerne un'altra con una versione successiva.
# 4.1 Character and Entity References
- DigitRequiredInCharRef = Una rappresentazione decimale deve seguire immediatamente \"\" in un riferimento di carattere.
- HexdigitRequiredInCharRef = Una rappresentazione esadecimale deve seguire immediatamente \"\" in un riferimento di carattere.
+ DigitRequiredInCharRef = Una rappresentazione decimale deve seguire immediatamente "" in un riferimento di carattere.
+ HexdigitRequiredInCharRef = Una rappresentazione esadecimale deve seguire immediatamente "" in un riferimento di carattere.
SemicolonRequiredInCharRef = Il riferimento di carattere deve terminare con il delimitatore ';'.
- InvalidCharRef = Il riferimento di carattere \"{0}\" \u00E8 un carattere XML non valido.
+ InvalidCharRef = Il riferimento di carattere "{0}" \u00E8 un carattere XML non valido.
NameRequiredInReference = Il nome entit\u00E0 deve seguire immediatamente '&' nel riferimento di entit\u00E0.
- SemicolonRequiredInReference = Il riferimento di entit\u00E0 \"{0}\" deve terminare con il delimitatore '';''.
+ SemicolonRequiredInReference = Il riferimento di entit\u00E0 "{0}" deve terminare con il delimitatore '';''.
# 4.3.1 The Text Declaration
TextDeclMustBeFirst = La dichiarazione di testo pu\u00F2 comparire solo all'inizio dell'entit\u00E0 esterna analizzata.
- EqRequiredInTextDecl = Il carattere '' = '' deve seguire \"{0}\" nella dichiarazione di testo.
- QuoteRequiredInTextDecl = Il valore che segue \"{0}\" nella dichiarazione di testo deve essere una stringa compresa tra apici.
- CloseQuoteMissingInTextDecl = manca l''apice di chiusura nel valore che segue \"{0}\" nella dichiarazione di testo.
+ EqRequiredInTextDecl = Il carattere '' = '' deve seguire "{0}" nella dichiarazione di testo.
+ QuoteRequiredInTextDecl = Il valore che segue "{0}" nella dichiarazione di testo deve essere una stringa compresa tra apici.
+ CloseQuoteMissingInTextDecl = manca l''apice di chiusura nel valore che segue "{0}" nella dichiarazione di testo.
SpaceRequiredBeforeVersionInTextDecl = \u00C8 richiesto uno spazio prima dell'attributo pseudo della versione nella dichiarazione del testo.
SpaceRequiredBeforeEncodingInTextDecl = \u00C8 richiesto uno spazio prima dell'attributo pseudo di codifica nella dichiarazione del testo.
- TextDeclUnterminated = La dichiarazione di testo deve terminare con \"?>\".
+ TextDeclUnterminated = La dichiarazione di testo deve terminare con "?>".
EncodingDeclRequired = La dichiarazione di codifica \u00E8 obbligatoria nella dichiarazione di testo.
NoMorePseudoAttributes = Non sono consentiti altri attributi pseudo.
MorePseudoAttributes = Sono previsti altri attributi pseudo.
@@ -143,13 +140,13 @@
CommentNotInOneEntity = Il commento deve essere compreso completamente all'interno della stessa entit\u00E0 analizzata.
PINotInOneEntity = L'istruzione di elaborazione deve essere compresa completamente all'interno della stessa entit\u00E0 analizzata.
# 4.3.3 Character Encoding in Entities
- EncodingDeclInvalid = Nome codifica \"{0}\" non valido.
- EncodingByteOrderUnsupported = L''ordine di byte specificato per la codifica \"{0}\" non \u00E8 supportato.
+ EncodingDeclInvalid = Nome codifica "{0}" non valido.
+ EncodingByteOrderUnsupported = L''ordine di byte specificato per la codifica "{0}" non \u00E8 supportato.
InvalidByte = Byte non valido {0} della sequenza UTF-8 a {1} byte.
ExpectedByte = \u00C8 previsto il byte {0} della sequenza UTF-8 a {1} byte.
InvalidHighSurrogate = I bit per surrogato alto nella sequenza UTF-8 non devono superare 0x10, ma \u00E8 stato trovato 0x{0}.
- OperationNotSupported = Operazione \"{0}\" non supportata dal processo di lettura {1}.
- InvalidASCII = Il byte \"{0}\" non fa parte del set di caratteri ASCII (a 7 bit).
+ OperationNotSupported = Operazione "{0}" non supportata dal processo di lettura {1}.
+ InvalidASCII = Il byte "{0}" non fa parte del set di caratteri ASCII (a 7 bit).
CharConversionFailure = Un'entit\u00E0 che deve trovarsi in una determinata codifica non pu\u00F2 contenere sequenze non valide in quella codifica.
# DTD Messages
@@ -169,150 +166,150 @@
PubidCharIllegal = Il carattere (Unicode: 0x{0}) non \u00E8 consentito nell''identificativo pubblico.
SpaceRequiredBetweenPublicAndSystem = Sono richiesti spazi tra publicId e systemId.
# 2.8 Prolog and Document Type Declaration
- MSG_SPACE_REQUIRED_BEFORE_ROOT_ELEMENT_TYPE_IN_DOCTYPEDECL = \u00C8 richiesto uno spazio dopo \"''.
- PEReferenceWithinMarkup = Il riferimento di entit\u00E0 di parametro \"%{0};\" non pu\u00F2 essere presente nel markup del set secondario interno del DTD.
+ MSG_SPACE_REQUIRED_BEFORE_ROOT_ELEMENT_TYPE_IN_DOCTYPEDECL = \u00C8 richiesto uno spazio dopo "''.
+ PEReferenceWithinMarkup = Il riferimento di entit\u00E0 di parametro "%{0};" non pu\u00F2 essere presente nel markup del set secondario interno del DTD.
MSG_MARKUP_NOT_RECOGNIZED_IN_DTD = Le dichiarazioni di markup contenute o indicate dalla dichiarazione del tipo di documento devono avere un formato corretto.
# 2.10 White Space Handling
- MSG_XML_SPACE_DECLARATION_ILLEGAL = La dichiarazione di attributo \"xml:space\" deve essere specificata come tipo enumerato, i cui unici possibili valori sono \"default\" e \"preserve\".
+ MSG_XML_SPACE_DECLARATION_ILLEGAL = La dichiarazione di attributo "xml:space" deve essere specificata come tipo enumerato, i cui unici possibili valori sono "default" e "preserve".
# 3.2 Element Type Declarations
- MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ELEMENTDECL = \u00C8 richiesto uno spazio dopo \"''.
+ MSG_SPACE_REQUIRED_BEFORE_CONTENTSPEC_IN_ELEMENTDECL = \u00C8 richiesto uno spazio dopo il tipo di elemento "{0}" nella dichiarazione del tipo di elemento.
+ MSG_CONTENTSPEC_REQUIRED_IN_ELEMENTDECL = \u00C8 richiesto uno vincolo dopo il tipo di elemento "{0}" nella dichiarazione del tipo di elemento.
+ ElementDeclUnterminated = La dichiarazione per il tipo di elemento "{0}" deve terminare con ''>''.
# 3.2.1 Element Content
- MSG_OPEN_PAREN_OR_ELEMENT_TYPE_REQUIRED_IN_CHILDREN = Un carattere ''('' o un tipo di elemento \u00E8 obbligatorio nella dichiarazione del tipo di elemento \"{0}\".
- MSG_CLOSE_PAREN_REQUIRED_IN_CHILDREN = Un carattere '')'' \u00E8 obbligatorio nella dichiarazione del tipo di elemento \"{0}\".
+ MSG_OPEN_PAREN_OR_ELEMENT_TYPE_REQUIRED_IN_CHILDREN = Un carattere ''('' o un tipo di elemento \u00E8 obbligatorio nella dichiarazione del tipo di elemento "{0}".
+ MSG_CLOSE_PAREN_REQUIRED_IN_CHILDREN = Un carattere '')'' \u00E8 obbligatorio nella dichiarazione del tipo di elemento "{0}".
# 3.2.2 Mixed Content
- MSG_ELEMENT_TYPE_REQUIRED_IN_MIXED_CONTENT = Un tipo di elemento \u00E8 obbligatorio nella dichiarazione del tipo di elemento \"{0}\".
- MSG_CLOSE_PAREN_REQUIRED_IN_MIXED = Un carattere '')'' \u00E8 obbligatorio nella dichiarazione del tipo di elemento \"{0}\".
- MixedContentUnterminated = Il modello di contenuto misto \"{0}\" deve terminare con \")*\" se i tipi di elementi figlio hanno vincoli.
+ MSG_ELEMENT_TYPE_REQUIRED_IN_MIXED_CONTENT = Un tipo di elemento \u00E8 obbligatorio nella dichiarazione del tipo di elemento "{0}".
+ MSG_CLOSE_PAREN_REQUIRED_IN_MIXED = Un carattere '')'' \u00E8 obbligatorio nella dichiarazione del tipo di elemento "{0}".
+ MixedContentUnterminated = Il modello di contenuto misto "{0}" deve terminare con ")*" se i tipi di elementi figlio hanno vincoli.
# 3.3 Attribute-List Declarations
- MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ATTLISTDECL = \u00C8 richiesto uno spazio dopo \"\".
- IgnoreSectUnterminated = La sezione condizionale esclusa deve terminare con \"]]>\".
+ IncludeSectUnterminated = La sezione condizionale inclusa deve terminare con "]]>".
+ IgnoreSectUnterminated = La sezione condizionale esclusa deve terminare con "]]>".
# 4.1 Character and Entity References
NameRequiredInPEReference = Il nome entit\u00E0 deve seguire immediatamente '%' nel riferimento di entit\u00E0 di parametro.
- SemicolonRequiredInPEReference = Il riferimento di entit\u00E0 di parametro \"%{0};\" deve terminare con il delimitatore '';''.
+ SemicolonRequiredInPEReference = Il riferimento di entit\u00E0 di parametro "%{0};" deve terminare con il delimitatore '';''.
# 4.2 Entity Declarations
- MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_ENTITYDECL = \u00C8 richiesto uno spazio dopo \"''.
- MSG_DUPLICATE_ENTITY_DEFINITION = L''entit\u00E0 \"{0}\" \u00E8 stata dichiarata pi\u00F9 volte.
+ MSG_SPACE_REQUIRED_AFTER_ENTITY_NAME_IN_ENTITYDECL = \u00C8 richiesto uno spazio tra il nome entit\u00E0 "{0}" e la definizione nella dichiarazione dell''entit\u00E0:
+ MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_UNPARSED_ENTITYDECL = \u00C8 richiesto uno spazio tra "NDATA" e il nome notazione nella dichiarazione dell''entit\u00E0 "{0}".
+ MSG_SPACE_REQUIRED_BEFORE_NDATA_IN_UNPARSED_ENTITYDECL = \u00C8 richiesto uno spazio prima di "NDATA" nella dichiarazione dell''entit\u00E0 "{0}".
+ MSG_NOTATION_NAME_REQUIRED_FOR_UNPARSED_ENTITYDECL = Il nome notazione \u00E8 obbligatorio dopo "NDATA" nella dichiarazione dell''entit\u00E0 "{0}".
+ EntityDeclUnterminated = La dichiarazione per l''entit\u00E0 "{0}" deve terminare con ''>''.
+ MSG_DUPLICATE_ENTITY_DEFINITION = L''entit\u00E0 "{0}" \u00E8 stata dichiarata pi\u00F9 volte.
# 4.2.2 External Entities
- ExternalIDRequired = La dichiarazione di entit\u00E0 esterna deve iniziare con \"SYSTEM\" o \"PUBLIC\".
- MSG_SPACE_REQUIRED_BEFORE_PUBIDLITERAL_IN_EXTERNALID = \u00C8 richiesto uno spazio tra \"PUBLIC\" e l'identificativo pubblico.
+ ExternalIDRequired = La dichiarazione di entit\u00E0 esterna deve iniziare con "SYSTEM" o "PUBLIC".
+ MSG_SPACE_REQUIRED_BEFORE_PUBIDLITERAL_IN_EXTERNALID = \u00C8 richiesto uno spazio tra "PUBLIC" e l'identificativo pubblico.
MSG_SPACE_REQUIRED_AFTER_PUBIDLITERAL_IN_EXTERNALID = \u00C8 richiesto uno spazio tra l'identificativo pubblico e quello di sistema.
- MSG_SPACE_REQUIRED_BEFORE_SYSTEMLITERAL_IN_EXTERNALID = \u00C8 richiesto uno spazio tra \"SYSTEM\" e l'identificativo di sistema.
- MSG_URI_FRAGMENT_IN_SYSTEMID = L''identificativo di frammento non deve essere specificato nell''identificativo di sistema \"{0}\".
+ MSG_SPACE_REQUIRED_BEFORE_SYSTEMLITERAL_IN_EXTERNALID = \u00C8 richiesto uno spazio tra "SYSTEM" e l'identificativo di sistema.
+ MSG_URI_FRAGMENT_IN_SYSTEMID = L''identificativo di frammento non deve essere specificato nell''identificativo di sistema "{0}".
# 4.7 Notation Declarations
- MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_NOTATIONDECL = \u00C8 richiesto uno spazio dopo \"''.
+ MSG_SPACE_REQUIRED_AFTER_NOTATION_NAME_IN_NOTATIONDECL = \u00C8 richiesto uno spazio dopo il nome notazione "{0}" nella dichiarazione della notazione.
+ ExternalIDorPublicIDRequired = La dichiarazione per la notazione "{0}" deve includere un identificativo di sistema o pubblico.
+ NotationDeclUnterminated = La dichiarazione per la notazione "{0}" deve terminare con ''>''.
# Validation messages
- DuplicateTypeInMixedContent = Il tipo di elemento \"{1}\" \u00E8 gi\u00E0 stato specificato nel modello di contenuto della dichiarazione di elemento \"{0}\".
- ENTITIESInvalid = Il valore di attributo \"{1}\" di tipo ENTITIES deve corrispondere ai nomi di una o pi\u00F9 entit\u00E0 non analizzate.
- ENTITYInvalid = Il valore di attributo \"{1}\" di tipo ENTITY deve corrispondere al nome di un''entit\u00E0 non analizzata.
- IDDefaultTypeInvalid = Nell''attributo ID \"{0}\" deve essere dichiarato un valore predefinito \"#IMPLIED\" o \"#REQUIRED\".
- IDInvalid = Il valore di attributo \"{0}\" di tipo ID deve essere un nome.
- IDInvalidWithNamespaces = Il valore di attributo \"{0}\" di tipo ID deve essere un NCName se sono abilitati gli spazi di nomi.
- IDNotUnique = Il valore di attributo \"{0}\" di tipo ID deve essere univoco all''interno del documento.
- IDREFInvalid = Il valore di attributo \"{0}\" di tipo IDREF deve essere un nome.
- IDREFInvalidWithNamespaces = Il valore di attributo \"{0}\" di tipo IDREF deve essere un NCName se sono abilitati gli spazi di nomi.
- IDREFSInvalid = Il valore di attributo \"{0}\" di tipo IDREFS deve corrispondere a uno o pi\u00F9 nomi.
- ILL_FORMED_PARAMETER_ENTITY_WHEN_USED_IN_DECL = Il testo di sostituzione dell''entit\u00E0 di parametro \"{0}\" deve includere dichiarazioni nidificate correttamente se il riferimento dell''entit\u00E0 \u00E8 utilizzato come dichiarazione completa.
- ImproperDeclarationNesting = Il testo di sostituzione dell''entit\u00E0 di parametro \"{0}\" deve includere dichiarazioni nidificate correttamente.
- ImproperGroupNesting = Il testo di sostituzione dell''entit\u00E0 di parametro \"{0}\" deve includere coppie di parentesi nidificate correttamente.
- INVALID_PE_IN_CONDITIONAL = Il testo di sostituzione dell''entit\u00E0 di parametro \"{0}\" deve includere tutta la sezione condizionale oppure solo INCLUDE o IGNORE.
- MSG_ATTRIBUTE_NOT_DECLARED = Dichiarare l''attributo \"{1}\" per il tipo di elemento \"{0}\".
- MSG_ATTRIBUTE_VALUE_NOT_IN_LIST = L''attributo \"{0}\" con valore \"{1}\" deve avere un valore della lista \"{2}\".
- MSG_ATTVALUE_CHANGED_DURING_NORMALIZATION_WHEN_STANDALONE = Il valore \"{1}\" dell''attributo \"{0}\" non deve essere modificato dalla normalizzazione (in \"{2}\") in un documento standalone.
- MSG_CONTENT_INCOMPLETE = Il contenuto del tipo di elemento \"{0}\" \u00E8 incompleto. Deve corrispondere a \"{1}\".
- MSG_CONTENT_INVALID = Il contenuto del tipo di elemento \"{0}\" deve corrispondere a \"{1}\".
- MSG_CONTENT_INVALID_SPECIFIED = Il contenuto del tipo di elemento \"{0}\" deve corrispondere a \"{1}\". Non sono consentiti elementi figlio di tipo \"{2}\".
- MSG_DEFAULTED_ATTRIBUTE_NOT_SPECIFIED = L''attributo \"{1}\" per il tipo di elemento \"{0}\" ha un valore predefinito e deve essere specificato in un documento standalone.
- MSG_DUPLICATE_ATTDEF = L''attributo \"{1}\" \u00E8 gi\u00E0 stato dichiarato per il tipo di elemento \"{0}\".
- MSG_ELEMENT_ALREADY_DECLARED = Il tipo di elemento \"{0}\" non deve essere dichiarato pi\u00F9 volte.
- MSG_ELEMENT_NOT_DECLARED = Il tipo di elemento \"{0}\" deve essere dichiarato.
+ DuplicateTypeInMixedContent = Il tipo di elemento "{1}" \u00E8 gi\u00E0 stato specificato nel modello di contenuto della dichiarazione di elemento "{0}".
+ ENTITIESInvalid = Il valore di attributo "{1}" di tipo ENTITIES deve corrispondere ai nomi di una o pi\u00F9 entit\u00E0 non analizzate.
+ ENTITYInvalid = Il valore di attributo "{1}" di tipo ENTITY deve corrispondere al nome di un''entit\u00E0 non analizzata.
+ IDDefaultTypeInvalid = Nell''attributo ID "{0}" deve essere dichiarato un valore predefinito "#IMPLIED" o "#REQUIRED".
+ IDInvalid = Il valore di attributo "{0}" di tipo ID deve essere un nome.
+ IDInvalidWithNamespaces = Il valore di attributo "{0}" di tipo ID deve essere un NCName se sono abilitati gli spazi di nomi.
+ IDNotUnique = Il valore di attributo "{0}" di tipo ID deve essere univoco all''interno del documento.
+ IDREFInvalid = Il valore di attributo "{0}" di tipo IDREF deve essere un nome.
+ IDREFInvalidWithNamespaces = Il valore di attributo "{0}" di tipo IDREF deve essere un NCName se sono abilitati gli spazi di nomi.
+ IDREFSInvalid = Il valore di attributo "{0}" di tipo IDREFS deve corrispondere a uno o pi\u00F9 nomi.
+ ILL_FORMED_PARAMETER_ENTITY_WHEN_USED_IN_DECL = Il testo di sostituzione dell''entit\u00E0 di parametro "{0}" deve includere dichiarazioni nidificate correttamente se il riferimento dell''entit\u00E0 \u00E8 utilizzato come dichiarazione completa.
+ ImproperDeclarationNesting = Il testo di sostituzione dell''entit\u00E0 di parametro "{0}" deve includere dichiarazioni nidificate correttamente.
+ ImproperGroupNesting = Il testo di sostituzione dell''entit\u00E0 di parametro "{0}" deve includere coppie di parentesi nidificate correttamente.
+ INVALID_PE_IN_CONDITIONAL = Il testo di sostituzione dell''entit\u00E0 di parametro "{0}" deve includere tutta la sezione condizionale oppure solo INCLUDE o IGNORE.
+ MSG_ATTRIBUTE_NOT_DECLARED = Dichiarare l''attributo "{1}" per il tipo di elemento "{0}".
+ MSG_ATTRIBUTE_VALUE_NOT_IN_LIST = L''attributo "{0}" con valore "{1}" deve avere un valore della lista "{2}".
+ MSG_ATTVALUE_CHANGED_DURING_NORMALIZATION_WHEN_STANDALONE = Il valore "{1}" dell''attributo "{0}" non deve essere modificato dalla normalizzazione (in "{2}") in un documento standalone.
+ MSG_CONTENT_INCOMPLETE = Il contenuto del tipo di elemento "{0}" \u00E8 incompleto. Deve corrispondere a "{1}".
+ MSG_CONTENT_INVALID = Il contenuto del tipo di elemento "{0}" deve corrispondere a "{1}".
+ MSG_CONTENT_INVALID_SPECIFIED = Il contenuto del tipo di elemento "{0}" deve corrispondere a "{1}". Non sono consentiti elementi figlio di tipo "{2}".
+ MSG_DEFAULTED_ATTRIBUTE_NOT_SPECIFIED = L''attributo "{1}" per il tipo di elemento "{0}" ha un valore predefinito e deve essere specificato in un documento standalone.
+ MSG_DUPLICATE_ATTDEF = L''attributo "{1}" \u00E8 gi\u00E0 stato dichiarato per il tipo di elemento "{0}".
+ MSG_ELEMENT_ALREADY_DECLARED = Il tipo di elemento "{0}" non deve essere dichiarato pi\u00F9 volte.
+ MSG_ELEMENT_NOT_DECLARED = Il tipo di elemento "{0}" deve essere dichiarato.
MSG_GRAMMAR_NOT_FOUND = Documento non valido: nessuna grammatica trovata.
- MSG_ELEMENT_WITH_ID_REQUIRED = Un elemento con identificativo \"{0}\" deve esistere nel documento.
- MSG_EXTERNAL_ENTITY_NOT_PERMITTED = Il riferimento all''entit\u00E0 esterna \"{0}\" non \u00E8 consentito in un documento standalone.
- MSG_FIXED_ATTVALUE_INVALID = L''attributo \"{1}\" con valore \"{2}\" deve avere un valore \"{3}\".
- MSG_MORE_THAN_ONE_ID_ATTRIBUTE = Il tipo di elemento \"{0}\" ha gi\u00E0 un attributo \"{1}\" di tipo ID. Non \u00E8 consentito un secondo attributo \"{2}\" di tipo ID.
- MSG_MORE_THAN_ONE_NOTATION_ATTRIBUTE = Il tipo di elemento \"{0}\" ha gi\u00E0 un attributo \"{1}\" di tipo NOTATION. Non \u00E8 consentito un secondo attributo \"{2}\" di tipo NOTATION.
- MSG_NOTATION_NOT_DECLARED_FOR_NOTATIONTYPE_ATTRIBUTE = La notazione \"{1}\" deve essere dichiarata se vi viene fatto riferimento nella lista dei tipi di notazione per l''attributo \"{0}\".
- MSG_NOTATION_NOT_DECLARED_FOR_UNPARSED_ENTITYDECL = La notazione \"{1}\" deve essere dichiarata se vi viene fatto riferimento dichiarazione di entit\u00E0 non analizzata per \"{0}\".
- MSG_REFERENCE_TO_EXTERNALLY_DECLARED_ENTITY_WHEN_STANDALONE = Il riferimento all''entit\u00E0 \"{0}\" dichiarata in un''entit\u00E0 esterna analizzata non \u00E8 consentito in un documento standalone.
- MSG_REQUIRED_ATTRIBUTE_NOT_SPECIFIED = L''attributo \"{1}\" \u00E8 obbligatorio e deve essere specificato per il tipo di elemento \"{0}\".
+ MSG_ELEMENT_WITH_ID_REQUIRED = Un elemento con identificativo "{0}" deve esistere nel documento.
+ MSG_EXTERNAL_ENTITY_NOT_PERMITTED = Il riferimento all''entit\u00E0 esterna "{0}" non \u00E8 consentito in un documento standalone.
+ MSG_FIXED_ATTVALUE_INVALID = L''attributo "{1}" con valore "{2}" deve avere un valore "{3}".
+ MSG_MORE_THAN_ONE_ID_ATTRIBUTE = Il tipo di elemento "{0}" ha gi\u00E0 un attributo "{1}" di tipo ID. Non \u00E8 consentito un secondo attributo "{2}" di tipo ID.
+ MSG_MORE_THAN_ONE_NOTATION_ATTRIBUTE = Il tipo di elemento "{0}" ha gi\u00E0 un attributo "{1}" di tipo NOTATION. Non \u00E8 consentito un secondo attributo "{2}" di tipo NOTATION.
+ MSG_NOTATION_NOT_DECLARED_FOR_NOTATIONTYPE_ATTRIBUTE = La notazione "{1}" deve essere dichiarata se vi viene fatto riferimento nella lista dei tipi di notazione per l''attributo "{0}".
+ MSG_NOTATION_NOT_DECLARED_FOR_UNPARSED_ENTITYDECL = La notazione "{1}" deve essere dichiarata se vi viene fatto riferimento dichiarazione di entit\u00E0 non analizzata per "{0}".
+ MSG_REFERENCE_TO_EXTERNALLY_DECLARED_ENTITY_WHEN_STANDALONE = Il riferimento all''entit\u00E0 "{0}" dichiarata in un''entit\u00E0 esterna analizzata non \u00E8 consentito in un documento standalone.
+ MSG_REQUIRED_ATTRIBUTE_NOT_SPECIFIED = L''attributo "{1}" \u00E8 obbligatorio e deve essere specificato per il tipo di elemento "{0}".
MSG_WHITE_SPACE_IN_ELEMENT_CONTENT_WHEN_STANDALONE = Non deve esistere nessuno spazio tra gli elementi dichiarati in un'entit\u00E0 esterna analizzata con il contenuto dell'elemento in un documento standalone.
- NMTOKENInvalid = Il valore di attributo \"{0}\" di tipo NMTOKEN deve essere un token di nome.
- NMTOKENSInvalid = Il valore di attributo \"{0}\" di tipo NMTOKENS deve corrispondere a uno o pi\u00F9 token di nomi.
- NoNotationOnEmptyElement = Il tipo di elemento \"{0}\" dichiarato come EMPTY non pu\u00F2 dichiarare l''attributo \"{1}\" di tipo NOTATION.
- RootElementTypeMustMatchDoctypedecl = L''elemento radice \"{1}\" del documento deve corrispondere alla radice DOCTYPE \"{0}\".
- UndeclaredElementInContentSpec = Il modello di contenuto dell''elemento \"{0}\" fa riferimento a un elemento \"{1}\" non dichiarato.
- UniqueNotationName = La dichiarazione per la notazione \"{0}\" non \u00E8 univoca. Un nome non deve essere dichiarato pi\u00F9 volte nella dichiarazione di una notazione.
+ NMTOKENInvalid = Il valore di attributo "{0}" di tipo NMTOKEN deve essere un token di nome.
+ NMTOKENSInvalid = Il valore di attributo "{0}" di tipo NMTOKENS deve corrispondere a uno o pi\u00F9 token di nomi.
+ NoNotationOnEmptyElement = Il tipo di elemento "{0}" dichiarato come EMPTY non pu\u00F2 dichiarare l''attributo "{1}" di tipo NOTATION.
+ RootElementTypeMustMatchDoctypedecl = L''elemento radice "{1}" del documento deve corrispondere alla radice DOCTYPE "{0}".
+ UndeclaredElementInContentSpec = Il modello di contenuto dell''elemento "{0}" fa riferimento a un elemento "{1}" non dichiarato.
+ UniqueNotationName = La dichiarazione per la notazione "{0}" non \u00E8 univoca. Un nome non deve essere dichiarato pi\u00F9 volte nella dichiarazione di una notazione.
ENTITYFailedInitializeGrammar = ENTITYDatatype Validator: errore. \u00C8 necessario richiamare il metodo di inizializzazione con un riferimento di grammatica valido. \t
- ENTITYNotUnparsed = ENTITY \"{0}\" non analizzata.
- ENTITYNotValid = ENTITY \"{0}\" non valida.
+ ENTITYNotUnparsed = ENTITY "{0}" non analizzata.
+ ENTITYNotValid = ENTITY "{0}" non valida.
EmptyList = I valori di tipo ENTITIES, IDREFS e NMTOKENS non possono essere una lista vuota.
# Entity related messages
# 3.1 Start-Tags, End-Tags, and Empty-Element Tags
- ReferenceToExternalEntity = Il riferimento di entit\u00E0 esterna \"&{0};\" non \u00E8 consentito in un valore di attributo.
- AccessExternalDTD = External DTD: Failed to read external DTD ''{0}'', because ''{1}'' access is not allowed.
- AccessExternalEntity = External Entity: Failed to read external document ''{0}'', because ''{1}'' access is not allowed.
+ ReferenceToExternalEntity = Il riferimento di entit\u00E0 esterna "&{0};" non \u00E8 consentito in un valore di attributo.
+ AccessExternalDTD = DTD esterna: lettura della DTD esterna ''{0}'' non riuscita. Accesso ''{1}'' non consentito.
+ AccessExternalEntity = Entit\u00E0 esterna: lettura del documento esterno ''{0}'' non riuscita. Accesso ''{1}'' non consentito.
# 4.1 Character and Entity References
- EntityNotDeclared = L''entit\u00E0 \"{0}\" \u00E8 indicata da un riferimento, ma non \u00E8 dichiarata.
- ReferenceToUnparsedEntity = Il riferimento di entit\u00E0 non analizzata \"&{0};\" non \u00E8 consentito.
- RecursiveReference = Riferimento di entit\u00E0 ricorsivo \"{0}\" (percorso riferimento: {1}).
- RecursiveGeneralReference = Riferimento di entit\u00E0 generale ricorsivo \"&{0};\" (percorso riferimento: {1}).
- RecursivePEReference = Riferimento di entit\u00E0 parametro ricorsivo \"%{0};\" (percorso riferimento: {1}).
+ EntityNotDeclared = L''entit\u00E0 "{0}" \u00E8 indicata da un riferimento, ma non \u00E8 dichiarata.
+ ReferenceToUnparsedEntity = Il riferimento di entit\u00E0 non analizzata "&{0};" non \u00E8 consentito.
+ RecursiveReference = Riferimento di entit\u00E0 ricorsivo "{0}" (percorso riferimento: {1}).
+ RecursiveGeneralReference = Riferimento di entit\u00E0 generale ricorsivo "&{0};" (percorso riferimento: {1}).
+ RecursivePEReference = Riferimento di entit\u00E0 parametro ricorsivo "%{0};" (percorso riferimento: {1}).
# 4.3.3 Character Encoding in Entities
- EncodingNotSupported = La codifica \"{0}\" non \u00E8 supportata.
+ EncodingNotSupported = La codifica "{0}" non \u00E8 supportata.
EncodingRequired = Un'entit\u00E0 analizzata non codificata in UTF-8 o UTF-16 deve contenere una dichiarazione di codifica.
# Namespaces support
# 4. Using Qualified Names
IllegalQName = L'elemento o l'attributo non corrisponde alla produzione del QName: QName::=(NCName':')?NCName.
- ElementXMLNSPrefix = L''elemento \"{0}\" non pu\u00F2 avere \"xmlns\" come prefisso.
- ElementPrefixUnbound = Il prefisso \"{0}\" per l''elemento \"{1}\" non \u00E8 associato.
- AttributePrefixUnbound = Il prefisso \"{2}\" per l''attributo \"{1}\" associato a un tipo di elemento \"{0}\" non \u00E8 associato.
- EmptyPrefixedAttName = Il valore dell''attributo \"{0}\" non \u00E8 valido. Le associazioni di spazi di nomi con prefisso non possono essere vuote.
- PrefixDeclared = Il prefisso spazio di nomi \"{0}\" non \u00E8 stato dichiarato.
+ ElementXMLNSPrefix = L''elemento "{0}" non pu\u00F2 avere "xmlns" come prefisso.
+ ElementPrefixUnbound = Il prefisso "{0}" per l''elemento "{1}" non \u00E8 associato.
+ AttributePrefixUnbound = Il prefisso "{2}" per l''attributo "{1}" associato a un tipo di elemento "{0}" non \u00E8 associato.
+ EmptyPrefixedAttName = Il valore dell''attributo "{0}" non \u00E8 valido. Le associazioni di spazi di nomi con prefisso non possono essere vuote.
+ PrefixDeclared = Il prefisso spazio di nomi "{0}" non \u00E8 stato dichiarato.
CantBindXMLNS = Il prefisso "xmlns" non pu\u00F2 essere associato esplicitamente a uno spazio di nomi, n\u00E9 lo spazio di nomi per "xmlns" pu\u00F2 essere associato esplicitamente a un prefisso.
CantBindXML = Il prefisso "xml" non pu\u00F2 essere associato a uno spazio di nomi diverso da quello al quale appartiene, n\u00E9 lo spazio di nomi per "xml" pu\u00F2 essere associato a un prefisso diverso da "xml".
- MSG_ATT_DEFAULT_INVALID = defaultValue \"{1}\" dell''attributo \"{0}\" non valido per i vincoli lessicali di questo tipo di attributo.
+ MSG_ATT_DEFAULT_INVALID = defaultValue "{1}" dell''attributo "{0}" non valido per i vincoli lessicali di questo tipo di attributo.
# REVISIT: These need messages
MSG_SPACE_REQUIRED_AFTER_SYSTEMLITERAL_IN_EXTERNALID=MSG_SPACE_REQUIRED_AFTER_SYSTEMLITERAL_IN_EXTERNALID
@@ -321,7 +318,7 @@
#Application can set the limit of number of entities that should be expanded by the parser.
-EntityExpansionLimitExceeded=Il parser ha rilevato pi\u00F9 \"{0}\" espansioni di entit\u00E0 nel documento. Questo \u00E8 il limite imposto dall''applicazione.
+EntityExpansionLimitExceeded=Il parser ha rilevato pi\u00F9 "{0}" espansioni di entit\u00E0 nel documento. Questo \u00E8 il limite imposto dall''applicazione.
# Application can set the limit of number of attributes of entity that should be expanded by the parser.
-ElementAttributeLimit= L''elemento \"{0}\" contiene pi\u00F9 di \"{1}\" attributi. \"{1}\" \u00E8 il limite imposto dall''applicazione.
+ElementAttributeLimit= L''elemento "{0}" contiene pi\u00F9 di "{1}" attributi. "{1}" \u00E8 il limite imposto dall''applicazione.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ja.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ja.properties
index ed548694ec4..66ed730953c 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ja.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ja.properties
@@ -1,30 +1,27 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file contains error and warning messages related to XML
# The messages are arranged in key and value tuples in a ListResourceBundle.
@@ -48,14 +45,14 @@
InvalidCharInProlog = \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u30D7\u30ED\u30ED\u30FC\u30B0\u306B\u7121\u52B9\u306AXML\u6587\u5B57(Unicode: 0x{0})\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002
InvalidCharInXMLDecl = XML\u5BA3\u8A00\u306B\u7121\u52B9\u306AXML\u6587\u5B57(Unicode: 0x{0})\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002
# 2.4 Character Data and Markup
- CDEndInContent = \u6587\u5B57\u30B7\u30FC\u30B1\u30F3\u30B9\"]]>\"\u306F\u3001CDATA\u30BB\u30AF\u30B7\u30E7\u30F3\u306E\u7D42\u308F\u308A\u3092\u793A\u3059\u76EE\u7684\u4EE5\u5916\u3067\u30B3\u30F3\u30C6\u30F3\u30C4\u306B\u4F7F\u7528\u3057\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002
+ CDEndInContent = \u6587\u5B57\u30B7\u30FC\u30B1\u30F3\u30B9"]]>"\u306F\u3001CDATA\u30BB\u30AF\u30B7\u30E7\u30F3\u306E\u7D42\u308F\u308A\u3092\u793A\u3059\u76EE\u7684\u4EE5\u5916\u3067\u30B3\u30F3\u30C6\u30F3\u30C4\u306B\u4F7F\u7528\u3057\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002
# 2.7 CDATA Sections
- CDSectUnterminated = CDATA\u30BB\u30AF\u30B7\u30E7\u30F3\u306F\"]]>\"\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ CDSectUnterminated = CDATA\u30BB\u30AF\u30B7\u30E7\u30F3\u306F"]]>"\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
# 2.8 Prolog and Document Type Declaration
XMLDeclMustBeFirst = XML\u5BA3\u8A00\u306F\u3001\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u5148\u982D\u3067\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002
- EqRequiredInXMLDecl = XML\u5BA3\u8A00\u3067\u306F\u3001\"{0}\"\u306E\u5F8C\u306B'' = ''\u6587\u5B57\u304C\u5FC5\u8981\u3067\u3059\u3002
- QuoteRequiredInXMLDecl = XML\u5BA3\u8A00\u306E\"{0}\"\u306E\u5F8C\u306B\u7D9A\u304F\u5024\u306F\u3001\u5F15\u7528\u7B26\u3067\u56F2\u3093\u3060\u6587\u5B57\u5217\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- XMLDeclUnterminated = XML\u5BA3\u8A00\u306F\"?>\"\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ EqRequiredInXMLDecl = XML\u5BA3\u8A00\u3067\u306F\u3001"{0}"\u306E\u5F8C\u306B'' = ''\u6587\u5B57\u304C\u5FC5\u8981\u3067\u3059\u3002
+ QuoteRequiredInXMLDecl = XML\u5BA3\u8A00\u306E"{0}"\u306E\u5F8C\u306B\u7D9A\u304F\u5024\u306F\u3001\u5F15\u7528\u7B26\u3067\u56F2\u3093\u3060\u6587\u5B57\u5217\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ XMLDeclUnterminated = XML\u5BA3\u8A00\u306F"?>"\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
VersionInfoRequired = XML\u5BA3\u8A00\u306B\u306F\u30D0\u30FC\u30B8\u30E7\u30F3\u304C\u5FC5\u8981\u3067\u3059\u3002
SpaceRequiredBeforeVersionInXMLDecl = XML\u5BA3\u8A00\u3067\u306F\u3001\u30D0\u30FC\u30B8\u30E7\u30F3\u7591\u4F3C\u5C5E\u6027\u306E\u524D\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
SpaceRequiredBeforeEncodingInXMLDecl = XML\u5BA3\u8A00\u3067\u306F\u3001\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u7591\u4F3C\u5C5E\u6027\u306E\u524D\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
@@ -71,70 +68,70 @@
ReferenceIllegalInTrailingMisc=\u5F8C\u7D9A\u30BB\u30AF\u30B7\u30E7\u30F3\u306B\u306F\u53C2\u7167\u3092\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093\u3002
# 2.9 Standalone Document Declaration
- SDDeclInvalid = \u30B9\u30BF\u30F3\u30C9\u30A2\u30ED\u30F3\u30FB\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5BA3\u8A00\u306E\u5024\u306F\u3001\"{0}\"\u3067\u306F\u306A\u304F\u3001\"yes\"\u307E\u305F\u306F\"no\"\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ SDDeclInvalid = \u30B9\u30BF\u30F3\u30C9\u30A2\u30ED\u30F3\u30FB\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5BA3\u8A00\u306E\u5024\u306F\u3001"{0}"\u3067\u306F\u306A\u304F\u3001"yes"\u307E\u305F\u306F"no"\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
# 2.12 Language Identification
- XMLLangInvalid = xml:lang\u5C5E\u6027\u306E\u5024\"{0}\"\u306F\u7121\u52B9\u306A\u8A00\u8A9E\u8B58\u5225\u5B50\u3067\u3059\u3002
+ XMLLangInvalid = xml:lang\u5C5E\u6027\u306E\u5024"{0}"\u306F\u7121\u52B9\u306A\u8A00\u8A9E\u8B58\u5225\u5B50\u3067\u3059\u3002
# 3. Logical Structures
- ETagRequired = \u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u306F\u3001\u5BFE\u5FDC\u3059\u308B\u7D42\u4E86\u30BF\u30B0\"{0}>\"\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ ETagRequired = \u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306F\u3001\u5BFE\u5FDC\u3059\u308B\u7D42\u4E86\u30BF\u30B0"{0}>"\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
# 3.1 Start-Tags, End-Tags, and Empty-Element Tags
- ElementUnterminated = \u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u306E\u5F8C\u306B\u306F\u3001\u5C5E\u6027\u6307\u5B9A\">\"\u307E\u305F\u306F\"/>\"\u304C\u5FC5\u8981\u3067\u3059\u3002
- EqRequiredInAttribute = \u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u306B\u95A2\u9023\u4ED8\u3051\u3089\u308C\u3066\u3044\u308B\u5C5E\u6027\u540D\"{1}\"\u306E\u5F8C\u306B\u306F\u3001'' = ''\u6587\u5B57\u304C\u5FC5\u8981\u3067\u3059\u3002
- OpenQuoteExpected = \u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u306B\u95A2\u9023\u4ED8\u3051\u3089\u308C\u3066\u3044\u308B\u5C5E\u6027\"{1}\"\u306B\u306F\u3001\u958B\u59CB\u5F15\u7528\u7B26\u304C\u5FC5\u8981\u3067\u3059\u3002
- CloseQuoteExpected = \u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u306B\u95A2\u9023\u4ED8\u3051\u3089\u308C\u3066\u3044\u308B\u5C5E\u6027\"{1}\"\u306B\u306F\u3001\u7D42\u4E86\u5F15\u7528\u7B26\u304C\u5FC5\u8981\u3067\u3059\u3002
- AttributeNotUnique = \u5C5E\u6027\"{1}\"\u306F\u8981\u7D20\"{0}\"\u306B\u5BFE\u3057\u3066\u3059\u3067\u306B\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002
- AttributeNSNotUnique = \u30CD\u30FC\u30E0\u30B9\u30DA\u30FC\u30B9\"{2}\"\u306B\u30D0\u30A4\u30F3\u30C9\u3055\u308C\u305F\u5C5E\u6027\"{1}\"\u306F\u8981\u7D20\"{0}\"\u306B\u5BFE\u3057\u3066\u3059\u3067\u306B\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002
- ETagUnterminated = \u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u306E\u7D42\u4E86\u30BF\u30B0\u306F''>''\u30C7\u30EA\u30DF\u30BF\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ ElementUnterminated = \u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306E\u5F8C\u306B\u306F\u3001\u5C5E\u6027\u6307\u5B9A">"\u307E\u305F\u306F"/>"\u304C\u5FC5\u8981\u3067\u3059\u3002
+ EqRequiredInAttribute = \u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306B\u95A2\u9023\u4ED8\u3051\u3089\u308C\u3066\u3044\u308B\u5C5E\u6027\u540D"{1}"\u306E\u5F8C\u306B\u306F\u3001'' = ''\u6587\u5B57\u304C\u5FC5\u8981\u3067\u3059\u3002
+ OpenQuoteExpected = \u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306B\u95A2\u9023\u4ED8\u3051\u3089\u308C\u3066\u3044\u308B\u5C5E\u6027"{1}"\u306B\u306F\u3001\u958B\u59CB\u5F15\u7528\u7B26\u304C\u5FC5\u8981\u3067\u3059\u3002
+ CloseQuoteExpected = \u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306B\u95A2\u9023\u4ED8\u3051\u3089\u308C\u3066\u3044\u308B\u5C5E\u6027"{1}"\u306B\u306F\u3001\u7D42\u4E86\u5F15\u7528\u7B26\u304C\u5FC5\u8981\u3067\u3059\u3002
+ AttributeNotUnique = \u5C5E\u6027"{1}"\u306F\u8981\u7D20"{0}"\u306B\u5BFE\u3057\u3066\u3059\u3067\u306B\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+ AttributeNSNotUnique = \u30CD\u30FC\u30E0\u30B9\u30DA\u30FC\u30B9"{2}"\u306B\u30D0\u30A4\u30F3\u30C9\u3055\u308C\u305F\u5C5E\u6027"{1}"\u306F\u8981\u7D20"{0}"\u306B\u5BFE\u3057\u3066\u3059\u3067\u306B\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+ ETagUnterminated = \u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306E\u7D42\u4E86\u30BF\u30B0\u306F''>''\u30C7\u30EA\u30DF\u30BF\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
MarkupNotRecognizedInContent = \u8981\u7D20\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u306F\u3001\u6574\u5F62\u5F0F\u306E\u6587\u5B57\u30C7\u30FC\u30BF\u307E\u305F\u306F\u30DE\u30FC\u30AF\u30A2\u30C3\u30D7\u3067\u69CB\u6210\u3055\u308C\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
DoctypeIllegalInContent = \u30B3\u30F3\u30C6\u30F3\u30C4\u306B\u306FDOCTYPE\u3092\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093\u3002
# 4.1 Character and Entity References
ReferenceUnterminated = \u53C2\u7167\u306F';'\u30C7\u30EA\u30DF\u30BF\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
# 4.3.2 Well-Formed Parsed Entities
ReferenceNotInOneEntity = \u53C2\u7167\u306F\u3001\u540C\u3058\u89E3\u6790\u6E08\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u5185\u306B\u5B8C\u5168\u306B\u542B\u307E\u308C\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- ElementEntityMismatch = \u8981\u7D20\"{0}\"\u306F\u3001\u540C\u3058\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u5185\u3067\u958B\u59CB\u304A\u3088\u3073\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ ElementEntityMismatch = \u8981\u7D20"{0}"\u306F\u3001\u540C\u3058\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u5185\u3067\u958B\u59CB\u304A\u3088\u3073\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
MarkupEntityMismatch=XML\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u69CB\u9020\u306F\u3001\u540C\u3058\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u5185\u3067\u958B\u59CB\u304A\u3088\u3073\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
# Messages common to Document and DTD
# 2.2 Characters
- InvalidCharInAttValue = \u5C5E\u6027\"{1}\"\u306E\u5024\u306B\u7121\u52B9\u306AXML\u6587\u5B57(Unicode: 0x{2})\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002\u8981\u7D20\u306F\"{0}\"\u3067\u3059\u3002
+ InvalidCharInAttValue = \u5C5E\u6027"{1}"\u306E\u5024\u306B\u7121\u52B9\u306AXML\u6587\u5B57(Unicode: 0x{2})\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002\u8981\u7D20\u306F"{0}"\u3067\u3059\u3002
InvalidCharInComment = \u30B3\u30E1\u30F3\u30C8\u306B\u7121\u52B9\u306AXML\u6587\u5B57(Unicode: 0x{0})\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002
InvalidCharInPI = \u51E6\u7406\u547D\u4EE4\u306B\u7121\u52B9\u306AXML\u6587\u5B57(Unicode: 0x{0})\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002
InvalidCharInInternalSubset = DTD\u306E\u5185\u90E8\u30B5\u30D6\u30BB\u30C3\u30C8\u306B\u7121\u52B9\u306AXML\u6587\u5B57(Unicode: 0x{0})\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002
InvalidCharInTextDecl = \u30C6\u30AD\u30B9\u30C8\u5BA3\u8A00\u306B\u7121\u52B9\u306AXML\u6587\u5B57(Unicode: 0x{0})\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002
# 2.3 Common Syntactic Constructs
- QuoteRequiredInAttValue = \u5C5E\u6027\"{1}\"\u306E\u5024\u306E\u5148\u982D\u306B\u306F\u3001\u4E00\u91CD\u5F15\u7528\u7B26\u6587\u5B57\u307E\u305F\u306F\u4E8C\u91CD\u5F15\u7528\u7B26\u6587\u5B57\u304C\u5FC5\u8981\u3067\u3059\u3002
- LessthanInAttValue = \u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u306B\u95A2\u9023\u4ED8\u3051\u3089\u308C\u3066\u3044\u308B\u5C5E\u6027\"{1}\"\u306E\u5024\u306B\u306F\u3001''<''\u6587\u5B57\u3092\u542B\u3081\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
- AttributeValueUnterminated = \u5C5E\u6027\"{1}\"\u306E\u5024\u306F\u3001\u5BFE\u5FDC\u3059\u308B\u5F15\u7528\u7B26\u6587\u5B57\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ QuoteRequiredInAttValue = \u5C5E\u6027"{1}"\u306E\u5024\u306E\u5148\u982D\u306B\u306F\u3001\u4E00\u91CD\u5F15\u7528\u7B26\u6587\u5B57\u307E\u305F\u306F\u4E8C\u91CD\u5F15\u7528\u7B26\u6587\u5B57\u304C\u5FC5\u8981\u3067\u3059\u3002
+ LessthanInAttValue = \u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306B\u95A2\u9023\u4ED8\u3051\u3089\u308C\u3066\u3044\u308B\u5C5E\u6027"{1}"\u306E\u5024\u306B\u306F\u3001''<''\u6587\u5B57\u3092\u542B\u3081\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+ AttributeValueUnterminated = \u5C5E\u6027"{1}"\u306E\u5024\u306F\u3001\u5BFE\u5FDC\u3059\u308B\u5F15\u7528\u7B26\u6587\u5B57\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
# 2.5 Comments
- InvalidCommentStart = \u30B3\u30E1\u30F3\u30C8\u306E\u5148\u982D\u306B\u306F\"\"\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ InvalidCommentStart = \u30B3\u30E1\u30F3\u30C8\u306E\u5148\u982D\u306B\u306F""\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
COMMENT_NOT_IN_ONE_ENTITY = \u30B3\u30E1\u30F3\u30C8\u304C\u540C\u3058\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u3067\u56F2\u307E\u308C\u3066\u3044\u307E\u305B\u3093\u3002
# 2.6 Processing Instructions
PITargetRequired = \u51E6\u7406\u547D\u4EE4\u306E\u5148\u982D\u306B\u306F\u30BF\u30FC\u30B2\u30C3\u30C8\u306E\u540D\u524D\u304C\u5FC5\u8981\u3067\u3059\u3002
SpaceRequiredInPI = \u51E6\u7406\u547D\u4EE4\u30BF\u30FC\u30B2\u30C3\u30C8\u3068\u30C7\u30FC\u30BF\u306E\u9593\u306B\u306F\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
- PIUnterminated = \u51E6\u7406\u547D\u4EE4\u306F\"?>\"\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- ReservedPITarget = \"[xX][mM][lL]\"\u3068\u4E00\u81F4\u3059\u308B\u51E6\u7406\u547D\u4EE4\u30BF\u30FC\u30B2\u30C3\u30C8\u306F\u8A31\u53EF\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+ PIUnterminated = \u51E6\u7406\u547D\u4EE4\u306F"?>"\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ ReservedPITarget = "[xX][mM][lL]"\u3068\u4E00\u81F4\u3059\u308B\u51E6\u7406\u547D\u4EE4\u30BF\u30FC\u30B2\u30C3\u30C8\u306F\u8A31\u53EF\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
PI_NOT_IN_ONE_ENTITY = \u51E6\u7406\u547D\u4EE4\u304C\u540C\u3058\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u3067\u56F2\u307E\u308C\u3066\u3044\u307E\u305B\u3093\u3002
# 2.8 Prolog and Document Type Declaration
- VersionInfoInvalid = \u30D0\u30FC\u30B8\u30E7\u30F3\"{0}\"\u306F\u7121\u52B9\u3067\u3059\u3002
- VersionNotSupported = XML\u30D0\u30FC\u30B8\u30E7\u30F3\"{0}\"\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u308B\u306E\u306FXML 1.0\u306E\u307F\u3067\u3059\u3002
- VersionNotSupported11 = XML\u30D0\u30FC\u30B8\u30E7\u30F3\"{0}\"\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u308B\u306E\u306FXML 1.0\u304A\u3088\u3073XML 1.1\u306E\u307F\u3067\u3059\u3002
+ VersionInfoInvalid = \u30D0\u30FC\u30B8\u30E7\u30F3"{0}"\u306F\u7121\u52B9\u3067\u3059\u3002
+ VersionNotSupported = XML\u30D0\u30FC\u30B8\u30E7\u30F3"{0}"\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u308B\u306E\u306FXML 1.0\u306E\u307F\u3067\u3059\u3002
+ VersionNotSupported11 = XML\u30D0\u30FC\u30B8\u30E7\u30F3"{0}"\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u308B\u306E\u306FXML 1.0\u304A\u3088\u3073XML 1.1\u306E\u307F\u3067\u3059\u3002
VersionMismatch= \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u306B\u306F\u3001\u5F8C\u7D9A\u30D0\u30FC\u30B8\u30E7\u30F3\u306E\u5225\u306E\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u3092\u542B\u3081\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
# 4.1 Character and Entity References
- DigitRequiredInCharRef = \u6587\u5B57\u53C2\u7167\u3067\u306F\u300110\u9032\u8868\u73FE\u306F\"\"\u306E\u76F4\u5F8C\u306B\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- HexdigitRequiredInCharRef = \u6587\u5B57\u53C2\u7167\u3067\u306F\u300116\u9032\u8868\u73FE\u306F\"\"\u306E\u76F4\u5F8C\u306B\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ DigitRequiredInCharRef = \u6587\u5B57\u53C2\u7167\u3067\u306F\u300110\u9032\u8868\u73FE\u306F""\u306E\u76F4\u5F8C\u306B\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ HexdigitRequiredInCharRef = \u6587\u5B57\u53C2\u7167\u3067\u306F\u300116\u9032\u8868\u73FE\u306F""\u306E\u76F4\u5F8C\u306B\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
SemicolonRequiredInCharRef = \u6587\u5B57\u53C2\u7167\u306F';'\u30C7\u30EA\u30DF\u30BF\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- InvalidCharRef = \u6587\u5B57\u53C2\u7167\"{0}\"\u306F\u7121\u52B9\u306AXML\u6587\u5B57\u3067\u3059\u3002
+ InvalidCharRef = \u6587\u5B57\u53C2\u7167"{0}"\u306F\u7121\u52B9\u306AXML\u6587\u5B57\u3067\u3059\u3002
NameRequiredInReference = \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u53C2\u7167\u3067\u306F\u3001\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u540D\u306F'&'\u306E\u76F4\u5F8C\u306B\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- SemicolonRequiredInReference = \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\"{0}\"\u3078\u306E\u53C2\u7167\u306F'';''\u30C7\u30EA\u30DF\u30BF\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ SemicolonRequiredInReference = \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3"{0}"\u3078\u306E\u53C2\u7167\u306F'';''\u30C7\u30EA\u30DF\u30BF\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
# 4.3.1 The Text Declaration
TextDeclMustBeFirst = \u30C6\u30AD\u30B9\u30C8\u5BA3\u8A00\u306F\u3001\u5916\u90E8\u306E\u89E3\u6790\u6E08\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u306E\u5148\u982D\u3067\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002
- EqRequiredInTextDecl = \u30C6\u30AD\u30B9\u30C8\u5BA3\u8A00\u3067\u306F\u3001\"{0}\"\u306E\u5F8C\u306B'' = ''\u6587\u5B57\u304C\u5FC5\u8981\u3067\u3059\u3002
- QuoteRequiredInTextDecl = \u30C6\u30AD\u30B9\u30C8\u5BA3\u8A00\u306E\"{0}\"\u306E\u5F8C\u306B\u7D9A\u304F\u5024\u306F\u3001\u5F15\u7528\u7B26\u3067\u56F2\u3093\u3060\u6587\u5B57\u5217\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- CloseQuoteMissingInTextDecl = \u30C6\u30AD\u30B9\u30C8\u5BA3\u8A00\u306E\"{0}\"\u306E\u5F8C\u306B\u7D9A\u304F\u5024\u306B\u7D42\u4E86\u5F15\u7528\u7B26\u304C\u3042\u308A\u307E\u305B\u3093\u3002
+ EqRequiredInTextDecl = \u30C6\u30AD\u30B9\u30C8\u5BA3\u8A00\u3067\u306F\u3001"{0}"\u306E\u5F8C\u306B'' = ''\u6587\u5B57\u304C\u5FC5\u8981\u3067\u3059\u3002
+ QuoteRequiredInTextDecl = \u30C6\u30AD\u30B9\u30C8\u5BA3\u8A00\u306E"{0}"\u306E\u5F8C\u306B\u7D9A\u304F\u5024\u306F\u3001\u5F15\u7528\u7B26\u3067\u56F2\u3093\u3060\u6587\u5B57\u5217\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ CloseQuoteMissingInTextDecl = \u30C6\u30AD\u30B9\u30C8\u5BA3\u8A00\u306E"{0}"\u306E\u5F8C\u306B\u7D9A\u304F\u5024\u306B\u7D42\u4E86\u5F15\u7528\u7B26\u304C\u3042\u308A\u307E\u305B\u3093\u3002
SpaceRequiredBeforeVersionInTextDecl = \u30C6\u30AD\u30B9\u30C8\u5BA3\u8A00\u3067\u306F\u3001\u30D0\u30FC\u30B8\u30E7\u30F3\u7591\u4F3C\u5C5E\u6027\u306E\u524D\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
SpaceRequiredBeforeEncodingInTextDecl = \u30C6\u30AD\u30B9\u30C8\u5BA3\u8A00\u3067\u306F\u3001\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u7591\u4F3C\u5C5E\u6027\u306E\u524D\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
- TextDeclUnterminated = \u30C6\u30AD\u30B9\u30C8\u5BA3\u8A00\u306F\"?>\"\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ TextDeclUnterminated = \u30C6\u30AD\u30B9\u30C8\u5BA3\u8A00\u306F"?>"\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
EncodingDeclRequired = \u30C6\u30AD\u30B9\u30C8\u5BA3\u8A00\u306B\u306F\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u5BA3\u8A00\u304C\u5FC5\u8981\u3067\u3059\u3002
NoMorePseudoAttributes = \u3053\u308C\u4EE5\u4E0A\u306E\u7591\u4F3C\u5C5E\u6027\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093\u3002
MorePseudoAttributes = \u7591\u4F3C\u5C5E\u6027\u304C\u3055\u3089\u306B\u5FC5\u8981\u3067\u3059\u3002
@@ -143,13 +140,13 @@
CommentNotInOneEntity = \u30B3\u30E1\u30F3\u30C8\u306F\u3001\u540C\u3058\u89E3\u6790\u6E08\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u5185\u306B\u5B8C\u5168\u306B\u542B\u307E\u308C\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
PINotInOneEntity = \u51E6\u7406\u547D\u4EE4\u306F\u3001\u540C\u3058\u89E3\u6790\u6E08\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u5185\u306B\u5B8C\u5168\u306B\u542B\u307E\u308C\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
# 4.3.3 Character Encoding in Entities
- EncodingDeclInvalid = \u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u540D\"{0}\"\u304C\u7121\u52B9\u3067\u3059\u3002
- EncodingByteOrderUnsupported = \u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\"{0}\"\u306B\u6307\u5B9A\u3055\u308C\u305F\u30D0\u30A4\u30C8\u9806\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+ EncodingDeclInvalid = \u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u540D"{0}"\u304C\u7121\u52B9\u3067\u3059\u3002
+ EncodingByteOrderUnsupported = \u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0"{0}"\u306B\u6307\u5B9A\u3055\u308C\u305F\u30D0\u30A4\u30C8\u9806\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
InvalidByte = {1}\u30D0\u30A4\u30C8\u306EUTF-8\u30B7\u30FC\u30B1\u30F3\u30B9\u306E\u30D0\u30A4\u30C8{0}\u304C\u7121\u52B9\u3067\u3059\u3002
ExpectedByte = {1}\u30D0\u30A4\u30C8\u306EUTF-8\u30B7\u30FC\u30B1\u30F3\u30B9\u306E\u30D0\u30A4\u30C8{0}\u304C\u5FC5\u8981\u3067\u3059\u3002
InvalidHighSurrogate = UTF-8\u30B7\u30FC\u30B1\u30F3\u30B9\u306E\u4E0A\u4F4D\u30B5\u30ED\u30B2\u30FC\u30C8\u30FB\u30D3\u30C3\u30C8\u306E\u4E0A\u9650\u306F0x10\u3067\u3059\u304C\u30010x{0}\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F\u3002
- OperationNotSupported = \u64CD\u4F5C\"{0}\"\u306F{1}\u30EA\u30FC\u30C0\u30FC\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
- InvalidASCII = \u30D0\u30A4\u30C8\"{0}\"\u306F\u3001(7\u30D3\u30C3\u30C8) ASCII\u30AD\u30E3\u30E9\u30AF\u30BF\u30FB\u30BB\u30C3\u30C8\u306E\u30E1\u30F3\u30D0\u30FC\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+ OperationNotSupported = \u64CD\u4F5C"{0}"\u306F{1}\u30EA\u30FC\u30C0\u30FC\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+ InvalidASCII = \u30D0\u30A4\u30C8"{0}"\u306F\u3001(7\u30D3\u30C3\u30C8) ASCII\u30AD\u30E3\u30E9\u30AF\u30BF\u30FB\u30BB\u30C3\u30C8\u306E\u30E1\u30F3\u30D0\u30FC\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
CharConversionFailure = \u7279\u5B9A\u306E\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u3067\u3042\u308B\u3068\u78BA\u5B9A\u3055\u308C\u305F\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u306B\u306F\u3001\u305D\u306E\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u3067\u4E0D\u6B63\u306A\u30B7\u30FC\u30B1\u30F3\u30B9\u3092\u542B\u3081\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
# DTD Messages
@@ -169,150 +166,150 @@
PubidCharIllegal = \u516C\u958B\u8B58\u5225\u5B50\u3067\u306F\u3001\u6587\u5B57(Unicode: 0x{0})\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002
SpaceRequiredBetweenPublicAndSystem = \u516C\u958B\u8B58\u5225\u5B50\u3068\u30B7\u30B9\u30C6\u30E0\u8B58\u5225\u5B50\u306E\u9593\u306B\u306F\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
# 2.8 Prolog and Document Type Declaration
- MSG_SPACE_REQUIRED_BEFORE_ROOT_ELEMENT_TYPE_IN_DOCTYPEDECL = \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u30FB\u30BF\u30A4\u30D7\u5BA3\u8A00\u3067\u306F\u3001\"''\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- PEReferenceWithinMarkup = \u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u53C2\u7167\"%{0};\"\u306F\u3001DTD\u306E\u5185\u90E8\u30B5\u30D6\u30BB\u30C3\u30C8\u306E\u30DE\u30FC\u30AF\u30A2\u30C3\u30D7\u5185\u306B\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093\u3002
+ MSG_SPACE_REQUIRED_BEFORE_ROOT_ELEMENT_TYPE_IN_DOCTYPEDECL = \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u30FB\u30BF\u30A4\u30D7\u5BA3\u8A00\u3067\u306F\u3001"''\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ PEReferenceWithinMarkup = \u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u53C2\u7167"%{0};"\u306F\u3001DTD\u306E\u5185\u90E8\u30B5\u30D6\u30BB\u30C3\u30C8\u306E\u30DE\u30FC\u30AF\u30A2\u30C3\u30D7\u5185\u306B\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093\u3002
MSG_MARKUP_NOT_RECOGNIZED_IN_DTD = \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u30FB\u30BF\u30A4\u30D7\u5BA3\u8A00\u306B\u542B\u307E\u308C\u308B\u304B\u3001\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u30FB\u30BF\u30A4\u30D7\u5BA3\u8A00\u304C\u6307\u3057\u3066\u3044\u308B\u30DE\u30FC\u30AF\u30A2\u30C3\u30D7\u5BA3\u8A00\u306F\u6574\u5F62\u5F0F\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
# 2.10 White Space Handling
- MSG_XML_SPACE_DECLARATION_ILLEGAL = \"xml:space\"\u306E\u5C5E\u6027\u5BA3\u8A00\u306F\u3001\"default\"\u304A\u3088\u3073\"preserve\"\u306E\u307F\u3092\u4F7F\u7528\u3067\u304D\u308B\u5217\u6319\u30BF\u30A4\u30D7\u3068\u3057\u3066\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ MSG_XML_SPACE_DECLARATION_ILLEGAL = "xml:space"\u306E\u5C5E\u6027\u5BA3\u8A00\u306F\u3001"default"\u304A\u3088\u3073"preserve"\u306E\u307F\u3092\u4F7F\u7528\u3067\u304D\u308B\u5217\u6319\u30BF\u30A4\u30D7\u3068\u3057\u3066\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
# 3.2 Element Type Declarations
- MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ELEMENTDECL = \u8981\u7D20\u30BF\u30A4\u30D7\u5BA3\u8A00\u3067\u306F\u3001\"''\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ MSG_SPACE_REQUIRED_BEFORE_CONTENTSPEC_IN_ELEMENTDECL = \u8981\u7D20\u30BF\u30A4\u30D7\u5BA3\u8A00\u3067\u306F\u3001\u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306E\u5F8C\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
+ MSG_CONTENTSPEC_REQUIRED_IN_ELEMENTDECL = \u8981\u7D20\u30BF\u30A4\u30D7\u5BA3\u8A00\u3067\u306F\u3001\u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306E\u5F8C\u306B\u5236\u7D04\u304C\u5FC5\u8981\u3067\u3059\u3002
+ ElementDeclUnterminated = \u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306E\u5BA3\u8A00\u306F''>''\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
# 3.2.1 Element Content
- MSG_OPEN_PAREN_OR_ELEMENT_TYPE_REQUIRED_IN_CHILDREN = \u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u306E\u5BA3\u8A00\u306B\u306F''(''\u6587\u5B57\u307E\u305F\u306F\u8981\u7D20\u30BF\u30A4\u30D7\u304C\u5FC5\u8981\u3067\u3059\u3002
- MSG_CLOSE_PAREN_REQUIRED_IN_CHILDREN = \u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u306E\u5BA3\u8A00\u306B\u306F'')''\u304C\u5FC5\u8981\u3067\u3059\u3002
+ MSG_OPEN_PAREN_OR_ELEMENT_TYPE_REQUIRED_IN_CHILDREN = \u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306E\u5BA3\u8A00\u306B\u306F''(''\u6587\u5B57\u307E\u305F\u306F\u8981\u7D20\u30BF\u30A4\u30D7\u304C\u5FC5\u8981\u3067\u3059\u3002
+ MSG_CLOSE_PAREN_REQUIRED_IN_CHILDREN = \u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306E\u5BA3\u8A00\u306B\u306F'')''\u304C\u5FC5\u8981\u3067\u3059\u3002
# 3.2.2 Mixed Content
- MSG_ELEMENT_TYPE_REQUIRED_IN_MIXED_CONTENT = \u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u306E\u5BA3\u8A00\u306B\u306F\u8981\u7D20\u30BF\u30A4\u30D7\u304C\u5FC5\u8981\u3067\u3059\u3002
- MSG_CLOSE_PAREN_REQUIRED_IN_MIXED = \u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u306E\u5BA3\u8A00\u306B\u306F'')''\u304C\u5FC5\u8981\u3067\u3059\u3002
- MixedContentUnterminated = \u5B50\u8981\u7D20\u306E\u30BF\u30A4\u30D7\u304C\u5236\u7D04\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u6DF7\u5408\u30B3\u30F3\u30C6\u30F3\u30C4\u30FB\u30E2\u30C7\u30EB\"{0}\"\u306F\")*\"\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ MSG_ELEMENT_TYPE_REQUIRED_IN_MIXED_CONTENT = \u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306E\u5BA3\u8A00\u306B\u306F\u8981\u7D20\u30BF\u30A4\u30D7\u304C\u5FC5\u8981\u3067\u3059\u3002
+ MSG_CLOSE_PAREN_REQUIRED_IN_MIXED = \u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306E\u5BA3\u8A00\u306B\u306F'')''\u304C\u5FC5\u8981\u3067\u3059\u3002
+ MixedContentUnterminated = \u5B50\u8981\u7D20\u306E\u30BF\u30A4\u30D7\u304C\u5236\u7D04\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u6DF7\u5408\u30B3\u30F3\u30C6\u30F3\u30C4\u30FB\u30E2\u30C7\u30EB"{0}"\u306F")*"\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
# 3.3 Attribute-List Declarations
- MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ATTLISTDECL = \u5C5E\u6027\u30EA\u30B9\u30C8\u5BA3\u8A00\u3067\u306F\u3001\"\"\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- IgnoreSectUnterminated = \u9664\u5916\u6761\u4EF6\u4ED8\u304D\u30BB\u30AF\u30B7\u30E7\u30F3\u306E\u6700\u5F8C\u306F\"]]>\"\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ IncludeSectUnterminated = \u5305\u542B\u6761\u4EF6\u4ED8\u304D\u30BB\u30AF\u30B7\u30E7\u30F3\u306F"]]>"\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ IgnoreSectUnterminated = \u9664\u5916\u6761\u4EF6\u4ED8\u304D\u30BB\u30AF\u30B7\u30E7\u30F3\u306E\u6700\u5F8C\u306F"]]>"\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
# 4.1 Character and Entity References
NameRequiredInPEReference = \u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u53C2\u7167\u3067\u306F\u3001\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u540D\u306F'%'\u306E\u76F4\u5F8C\u306B\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- SemicolonRequiredInPEReference = \u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u53C2\u7167\"%{0};\"\u306F'';''\u30C7\u30EA\u30DF\u30BF\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ SemicolonRequiredInPEReference = \u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u53C2\u7167"%{0};"\u306F'';''\u30C7\u30EA\u30DF\u30BF\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
# 4.2 Entity Declarations
- MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_ENTITYDECL = \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u5BA3\u8A00\u3067\u306F\u3001\"''\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- MSG_DUPLICATE_ENTITY_DEFINITION = \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\"{0}\"\u304C\u8907\u6570\u56DE\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+ MSG_SPACE_REQUIRED_AFTER_ENTITY_NAME_IN_ENTITYDECL = \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u5BA3\u8A00\u3067\u306F\u3001\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u540D"{0}"\u3068\u5B9A\u7FA9\u306E\u9593\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
+ MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_UNPARSED_ENTITYDECL = \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3"{0}"\u306E\u5BA3\u8A00\u3067\u306F\u3001"NDATA"\u3068\u8868\u8A18\u540D\u306E\u9593\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
+ MSG_SPACE_REQUIRED_BEFORE_NDATA_IN_UNPARSED_ENTITYDECL = \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3"{0}"\u306E\u5BA3\u8A00\u3067\u306F\u3001"NDATA"\u306E\u524D\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
+ MSG_NOTATION_NAME_REQUIRED_FOR_UNPARSED_ENTITYDECL = \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3"{0}"\u306E\u5BA3\u8A00\u3067\u306F\u3001"NDATA"\u306E\u5F8C\u306B\u8868\u8A18\u540D\u304C\u5FC5\u8981\u3067\u3059\u3002
+ EntityDeclUnterminated = \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3"{0}"\u306E\u5BA3\u8A00\u306F''>''\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ MSG_DUPLICATE_ENTITY_DEFINITION = \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3"{0}"\u304C\u8907\u6570\u56DE\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3059\u3002
# 4.2.2 External Entities
- ExternalIDRequired = \u5916\u90E8\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u5BA3\u8A00\u306E\u5148\u982D\u306B\u306F\"SYSTEM\"\u307E\u305F\u306F\"PUBLIC\"\u304C\u5FC5\u8981\u3067\u3059\u3002
- MSG_SPACE_REQUIRED_BEFORE_PUBIDLITERAL_IN_EXTERNALID = \"PUBLIC\"\u3068\u516C\u958B\u8B58\u5225\u5B50\u306E\u9593\u306B\u306F\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
+ ExternalIDRequired = \u5916\u90E8\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u5BA3\u8A00\u306E\u5148\u982D\u306B\u306F"SYSTEM"\u307E\u305F\u306F"PUBLIC"\u304C\u5FC5\u8981\u3067\u3059\u3002
+ MSG_SPACE_REQUIRED_BEFORE_PUBIDLITERAL_IN_EXTERNALID = "PUBLIC"\u3068\u516C\u958B\u8B58\u5225\u5B50\u306E\u9593\u306B\u306F\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
MSG_SPACE_REQUIRED_AFTER_PUBIDLITERAL_IN_EXTERNALID = \u516C\u958B\u8B58\u5225\u5B50\u3068\u30B7\u30B9\u30C6\u30E0\u8B58\u5225\u5B50\u306E\u9593\u306B\u306F\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
- MSG_SPACE_REQUIRED_BEFORE_SYSTEMLITERAL_IN_EXTERNALID = \"SYSTEM\"\u3068\u30B7\u30B9\u30C6\u30E0\u8B58\u5225\u5B50\u306E\u9593\u306B\u306F\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
- MSG_URI_FRAGMENT_IN_SYSTEMID = \u30D5\u30E9\u30B0\u30E1\u30F3\u30C8\u8B58\u5225\u5B50\u306F\u3001\u30B7\u30B9\u30C6\u30E0\u8B58\u5225\u5B50\"{0}\"\u306E\u4E00\u90E8\u3068\u3057\u3066\u6307\u5B9A\u3057\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002
+ MSG_SPACE_REQUIRED_BEFORE_SYSTEMLITERAL_IN_EXTERNALID = "SYSTEM"\u3068\u30B7\u30B9\u30C6\u30E0\u8B58\u5225\u5B50\u306E\u9593\u306B\u306F\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
+ MSG_URI_FRAGMENT_IN_SYSTEMID = \u30D5\u30E9\u30B0\u30E1\u30F3\u30C8\u8B58\u5225\u5B50\u306F\u3001\u30B7\u30B9\u30C6\u30E0\u8B58\u5225\u5B50"{0}"\u306E\u4E00\u90E8\u3068\u3057\u3066\u6307\u5B9A\u3057\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002
# 4.7 Notation Declarations
- MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_NOTATIONDECL = \u8868\u8A18\u6CD5\u5BA3\u8A00\u3067\u306F\u3001\"''\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ MSG_SPACE_REQUIRED_AFTER_NOTATION_NAME_IN_NOTATIONDECL = \u8868\u8A18\u6CD5\u5BA3\u8A00\u3067\u306F\u3001\u8868\u8A18\u540D"{0}"\u306E\u5F8C\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
+ ExternalIDorPublicIDRequired = \u8868\u8A18\u6CD5"{0}"\u306E\u5BA3\u8A00\u306B\u306F\u3001\u30B7\u30B9\u30C6\u30E0\u8B58\u5225\u5B50\u307E\u305F\u306F\u516C\u958B\u8B58\u5225\u5B50\u3092\u542B\u3081\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ NotationDeclUnterminated = \u8868\u8A18\u6CD5"{0}"\u306E\u5BA3\u8A00\u306F''>''\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
# Validation messages
- DuplicateTypeInMixedContent = \u8981\u7D20\u30BF\u30A4\u30D7\"{1}\"\u306F\u3001\u8981\u7D20\u5BA3\u8A00\"{0}\"\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u30FB\u30E2\u30C7\u30EB\u3067\u3059\u3067\u306B\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002
- ENTITIESInvalid = \u30BF\u30A4\u30D7ENTITIES\u306E\u5C5E\u6027\u5024\"{1}\"\u306F\u30011\u3064\u4EE5\u4E0A\u306E\u672A\u89E3\u6790\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u306E\u540D\u524D\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- ENTITYInvalid = \u30BF\u30A4\u30D7ENTITY\u306E\u5C5E\u6027\u5024\"{1}\"\u306F\u3001\u672A\u89E3\u6790\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u306E\u540D\u524D\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- IDDefaultTypeInvalid = ID\u5C5E\u6027\"{0}\"\u306B\u306F\u3001\"#IMPLIED\"\u307E\u305F\u306F\"#REQUIRED\"\u306E\u5BA3\u8A00\u6E08\u30C7\u30D5\u30A9\u30EB\u30C8\u304C\u542B\u307E\u308C\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- IDInvalid = \u30BF\u30A4\u30D7ID\u306E\u5C5E\u6027\u5024\"{0}\"\u306F\u3001\u540D\u524D\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- IDInvalidWithNamespaces = \u30CD\u30FC\u30E0\u30B9\u30DA\u30FC\u30B9\u304C\u6709\u52B9\u306B\u306A\u3063\u3066\u3044\u308B\u5834\u5408\u3001\u30BF\u30A4\u30D7ID\u306E\u5C5E\u6027\u5024\"{0}\"\u306FNCName\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- IDNotUnique = \u30BF\u30A4\u30D7ID\u306E\u5C5E\u6027\u5024\"{0}\"\u306F\u3001\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5185\u3067\u4E00\u610F\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- IDREFInvalid = \u30BF\u30A4\u30D7IDREF\u306E\u5C5E\u6027\u5024\"{0}\"\u306F\u3001\u540D\u524D\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- IDREFInvalidWithNamespaces = \u30CD\u30FC\u30E0\u30B9\u30DA\u30FC\u30B9\u304C\u6709\u52B9\u306B\u306A\u3063\u3066\u3044\u308B\u5834\u5408\u3001\u30BF\u30A4\u30D7IDREF\u306E\u5C5E\u6027\u5024\"{0}\"\u306FNCName\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- IDREFSInvalid = \u30BF\u30A4\u30D7IDREFS\u306E\u5C5E\u6027\u5024\"{0}\"\u306F\u30011\u3064\u4EE5\u4E0A\u306E\u540D\u524D\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- ILL_FORMED_PARAMETER_ENTITY_WHEN_USED_IN_DECL = \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u53C2\u7167\u304C\u5B8C\u5168\u306A\u5BA3\u8A00\u3068\u3057\u3066\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\"{0}\"\u306E\u7F6E\u63DB\u30C6\u30AD\u30B9\u30C8\u306B\u306F\u3001\u9069\u5207\u306B\u30CD\u30B9\u30C8\u3055\u308C\u305F\u5BA3\u8A00\u304C\u542B\u307E\u308C\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- ImproperDeclarationNesting = \u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\"{0}\"\u306E\u7F6E\u63DB\u30C6\u30AD\u30B9\u30C8\u306B\u306F\u3001\u9069\u5207\u306B\u30CD\u30B9\u30C8\u3055\u308C\u305F\u5BA3\u8A00\u304C\u542B\u307E\u308C\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- ImproperGroupNesting = \u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\"{0}\"\u306E\u7F6E\u63DB\u30C6\u30AD\u30B9\u30C8\u306B\u306F\u3001\u9069\u5207\u306B\u30CD\u30B9\u30C8\u3055\u308C\u305F\u4E38\u30AB\u30C3\u30B3\u306E\u30DA\u30A2\u304C\u542B\u307E\u308C\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- INVALID_PE_IN_CONDITIONAL = \u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\"{0}\"\u306E\u7F6E\u63DB\u30C6\u30AD\u30B9\u30C8\u306B\u306F\u3001\u6761\u4EF6\u4ED8\u304D\u30BB\u30AF\u30B7\u30E7\u30F3\u5168\u4F53\u304B\u3001INCLUDE\u307E\u305F\u306FIGNORE\u306E\u307F\u304C\u542B\u307E\u308C\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- MSG_ATTRIBUTE_NOT_DECLARED = \u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u306B\u5BFE\u3057\u3066\u5C5E\u6027\"{1}\"\u304C\u5BA3\u8A00\u3055\u308C\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- MSG_ATTRIBUTE_VALUE_NOT_IN_LIST = \u5024\"{1}\"\u3092\u6301\u3064\u5C5E\u6027\"{0}\"\u306B\u306F\u3001\u30EA\u30B9\u30C8\"{2}\"\u304B\u3089\u306E\u5024\u304C\u5FC5\u8981\u3067\u3059\u3002
- MSG_ATTVALUE_CHANGED_DURING_NORMALIZATION_WHEN_STANDALONE = \u5C5E\u6027\"{0}\"\u306E\u5024\"{1}\"\u306F\u3001\u30B9\u30BF\u30F3\u30C9\u30A2\u30ED\u30F3\u30FB\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3067\u6B63\u898F\u5316\u306B\u3088\u3063\u3066(\"{2}\"\u306B)\u5909\u66F4\u3055\u308C\u306A\u3044\u3088\u3046\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- MSG_CONTENT_INCOMPLETE = \u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304C\u4E0D\u5B8C\u5168\u3067\u3059\u3002\"{1}\"\u3068\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- MSG_CONTENT_INVALID = \u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u306F\"{1}\"\u3068\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- MSG_CONTENT_INVALID_SPECIFIED = \u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u306F\"{1}\"\u3068\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\u30BF\u30A4\u30D7\"{2}\"\u306E\u5B50\u306F\u8A31\u53EF\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
- MSG_DEFAULTED_ATTRIBUTE_NOT_SPECIFIED = \u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u306E\u5C5E\u6027\"{1}\"\u306F\u3001\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u3092\u6301\u3061\u3001\u30B9\u30BF\u30F3\u30C9\u30A2\u30ED\u30F3\u30FB\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3067\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- MSG_DUPLICATE_ATTDEF = \u5C5E\u6027\"{1}\"\u306F\u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u306B\u5BFE\u3057\u3066\u3059\u3067\u306B\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3059\u3002
- MSG_ELEMENT_ALREADY_DECLARED = \u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u306F\u8907\u6570\u56DE\u5BA3\u8A00\u3057\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002
- MSG_ELEMENT_NOT_DECLARED = \u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u3092\u5BA3\u8A00\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ DuplicateTypeInMixedContent = \u8981\u7D20\u30BF\u30A4\u30D7"{1}"\u306F\u3001\u8981\u7D20\u5BA3\u8A00"{0}"\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u30FB\u30E2\u30C7\u30EB\u3067\u3059\u3067\u306B\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+ ENTITIESInvalid = \u30BF\u30A4\u30D7ENTITIES\u306E\u5C5E\u6027\u5024"{1}"\u306F\u30011\u3064\u4EE5\u4E0A\u306E\u672A\u89E3\u6790\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u306E\u540D\u524D\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ ENTITYInvalid = \u30BF\u30A4\u30D7ENTITY\u306E\u5C5E\u6027\u5024"{1}"\u306F\u3001\u672A\u89E3\u6790\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u306E\u540D\u524D\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ IDDefaultTypeInvalid = ID\u5C5E\u6027"{0}"\u306B\u306F\u3001"#IMPLIED"\u307E\u305F\u306F"#REQUIRED"\u306E\u5BA3\u8A00\u6E08\u30C7\u30D5\u30A9\u30EB\u30C8\u304C\u542B\u307E\u308C\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ IDInvalid = \u30BF\u30A4\u30D7ID\u306E\u5C5E\u6027\u5024"{0}"\u306F\u3001\u540D\u524D\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ IDInvalidWithNamespaces = \u30CD\u30FC\u30E0\u30B9\u30DA\u30FC\u30B9\u304C\u6709\u52B9\u306B\u306A\u3063\u3066\u3044\u308B\u5834\u5408\u3001\u30BF\u30A4\u30D7ID\u306E\u5C5E\u6027\u5024"{0}"\u306FNCName\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ IDNotUnique = \u30BF\u30A4\u30D7ID\u306E\u5C5E\u6027\u5024"{0}"\u306F\u3001\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5185\u3067\u4E00\u610F\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ IDREFInvalid = \u30BF\u30A4\u30D7IDREF\u306E\u5C5E\u6027\u5024"{0}"\u306F\u3001\u540D\u524D\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ IDREFInvalidWithNamespaces = \u30CD\u30FC\u30E0\u30B9\u30DA\u30FC\u30B9\u304C\u6709\u52B9\u306B\u306A\u3063\u3066\u3044\u308B\u5834\u5408\u3001\u30BF\u30A4\u30D7IDREF\u306E\u5C5E\u6027\u5024"{0}"\u306FNCName\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ IDREFSInvalid = \u30BF\u30A4\u30D7IDREFS\u306E\u5C5E\u6027\u5024"{0}"\u306F\u30011\u3064\u4EE5\u4E0A\u306E\u540D\u524D\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ ILL_FORMED_PARAMETER_ENTITY_WHEN_USED_IN_DECL = \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u53C2\u7167\u304C\u5B8C\u5168\u306A\u5BA3\u8A00\u3068\u3057\u3066\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3"{0}"\u306E\u7F6E\u63DB\u30C6\u30AD\u30B9\u30C8\u306B\u306F\u3001\u9069\u5207\u306B\u30CD\u30B9\u30C8\u3055\u308C\u305F\u5BA3\u8A00\u304C\u542B\u307E\u308C\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ ImproperDeclarationNesting = \u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3"{0}"\u306E\u7F6E\u63DB\u30C6\u30AD\u30B9\u30C8\u306B\u306F\u3001\u9069\u5207\u306B\u30CD\u30B9\u30C8\u3055\u308C\u305F\u5BA3\u8A00\u304C\u542B\u307E\u308C\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ ImproperGroupNesting = \u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3"{0}"\u306E\u7F6E\u63DB\u30C6\u30AD\u30B9\u30C8\u306B\u306F\u3001\u9069\u5207\u306B\u30CD\u30B9\u30C8\u3055\u308C\u305F\u4E38\u30AB\u30C3\u30B3\u306E\u30DA\u30A2\u304C\u542B\u307E\u308C\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ INVALID_PE_IN_CONDITIONAL = \u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3"{0}"\u306E\u7F6E\u63DB\u30C6\u30AD\u30B9\u30C8\u306B\u306F\u3001\u6761\u4EF6\u4ED8\u304D\u30BB\u30AF\u30B7\u30E7\u30F3\u5168\u4F53\u304B\u3001INCLUDE\u307E\u305F\u306FIGNORE\u306E\u307F\u304C\u542B\u307E\u308C\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ MSG_ATTRIBUTE_NOT_DECLARED = \u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306B\u5BFE\u3057\u3066\u5C5E\u6027"{1}"\u304C\u5BA3\u8A00\u3055\u308C\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ MSG_ATTRIBUTE_VALUE_NOT_IN_LIST = \u5024"{1}"\u3092\u6301\u3064\u5C5E\u6027"{0}"\u306B\u306F\u3001\u30EA\u30B9\u30C8"{2}"\u304B\u3089\u306E\u5024\u304C\u5FC5\u8981\u3067\u3059\u3002
+ MSG_ATTVALUE_CHANGED_DURING_NORMALIZATION_WHEN_STANDALONE = \u5C5E\u6027"{0}"\u306E\u5024"{1}"\u306F\u3001\u30B9\u30BF\u30F3\u30C9\u30A2\u30ED\u30F3\u30FB\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3067\u6B63\u898F\u5316\u306B\u3088\u3063\u3066("{2}"\u306B)\u5909\u66F4\u3055\u308C\u306A\u3044\u3088\u3046\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ MSG_CONTENT_INCOMPLETE = \u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304C\u4E0D\u5B8C\u5168\u3067\u3059\u3002"{1}"\u3068\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ MSG_CONTENT_INVALID = \u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u306F"{1}"\u3068\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ MSG_CONTENT_INVALID_SPECIFIED = \u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u306F"{1}"\u3068\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\u30BF\u30A4\u30D7"{2}"\u306E\u5B50\u306F\u8A31\u53EF\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+ MSG_DEFAULTED_ATTRIBUTE_NOT_SPECIFIED = \u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306E\u5C5E\u6027"{1}"\u306F\u3001\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u3092\u6301\u3061\u3001\u30B9\u30BF\u30F3\u30C9\u30A2\u30ED\u30F3\u30FB\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3067\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ MSG_DUPLICATE_ATTDEF = \u5C5E\u6027"{1}"\u306F\u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306B\u5BFE\u3057\u3066\u3059\u3067\u306B\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+ MSG_ELEMENT_ALREADY_DECLARED = \u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306F\u8907\u6570\u56DE\u5BA3\u8A00\u3057\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002
+ MSG_ELEMENT_NOT_DECLARED = \u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u3092\u5BA3\u8A00\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
MSG_GRAMMAR_NOT_FOUND = \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u304C\u7121\u52B9\u3067\u3059\u3002\u69CB\u6587\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
- MSG_ELEMENT_WITH_ID_REQUIRED = \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306B\u306F\u8B58\u5225\u5B50\"{0}\"\u3092\u6301\u3064\u8981\u7D20\u304C\u5FC5\u8981\u3067\u3059\u3002
- MSG_EXTERNAL_ENTITY_NOT_PERMITTED = \u5916\u90E8\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\"{0}\"\u3078\u306E\u53C2\u7167\u306F\u3001\u30B9\u30BF\u30F3\u30C9\u30A2\u30ED\u30F3\u30FB\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3067\u306F\u8A31\u53EF\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
- MSG_FIXED_ATTVALUE_INVALID = \u5024\"{2}\"\u3092\u6301\u3064\u5C5E\u6027\"{1}\"\u306B\u306F\u3001\"{3}\"\u306E\u5024\u304C\u5FC5\u8981\u3067\u3059\u3002
- MSG_MORE_THAN_ONE_ID_ATTRIBUTE = \u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u306B\u306F\u3001\u30BF\u30A4\u30D7ID\u306E\u5C5E\u6027\"{1}\"\u304C\u3059\u3067\u306B\u3042\u308A\u307E\u3059\u3002\u30BF\u30A4\u30D7ID\u306E\u5C5E\u6027\"{2}\"\u3092\u3082\u30461\u3064\u6307\u5B9A\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
- MSG_MORE_THAN_ONE_NOTATION_ATTRIBUTE = \u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u306B\u306F\u3001\u30BF\u30A4\u30D7NOTATION\u306E\u5C5E\u6027\"{1}\"\u304C\u3059\u3067\u306B\u3042\u308A\u307E\u3059\u3002\u30BF\u30A4\u30D7NOTATION\u306E\u5C5E\u6027\"{2}\"\u3092\u3082\u30461\u3064\u6307\u5B9A\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
- MSG_NOTATION_NOT_DECLARED_FOR_NOTATIONTYPE_ATTRIBUTE = \u5C5E\u6027\"{0}\"\u306E\u8868\u8A18\u6CD5\u30BF\u30A4\u30D7\u30FB\u30EA\u30B9\u30C8\u3067\u53C2\u7167\u3055\u308C\u308B\u5834\u5408\u3001\u8868\u8A18\u6CD5\"{1}\"\u3092\u5BA3\u8A00\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- MSG_NOTATION_NOT_DECLARED_FOR_UNPARSED_ENTITYDECL = \"{0}\"\u306E\u672A\u89E3\u6790\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u5BA3\u8A00\u3067\u53C2\u7167\u3055\u308C\u308B\u5834\u5408\u3001\u8868\u8A18\u6CD5\"{1}\"\u3092\u5BA3\u8A00\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- MSG_REFERENCE_TO_EXTERNALLY_DECLARED_ENTITY_WHEN_STANDALONE = \u5916\u90E8\u306E\u89E3\u6790\u6E08\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u3067\u5BA3\u8A00\u3055\u308C\u3066\u3044\u308B\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\"{0}\"\u3078\u306E\u53C2\u7167\u306F\u3001\u30B9\u30BF\u30F3\u30C9\u30A2\u30ED\u30F3\u30FB\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3067\u306F\u8A31\u53EF\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
- MSG_REQUIRED_ATTRIBUTE_NOT_SPECIFIED = \u5C5E\u6027\"{1}\"\u304C\u5FC5\u8981\u3067\u3059\u3002\u3053\u306E\u5C5E\u6027\u306F\u3001\u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u306B\u5BFE\u3057\u3066\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ MSG_ELEMENT_WITH_ID_REQUIRED = \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306B\u306F\u8B58\u5225\u5B50"{0}"\u3092\u6301\u3064\u8981\u7D20\u304C\u5FC5\u8981\u3067\u3059\u3002
+ MSG_EXTERNAL_ENTITY_NOT_PERMITTED = \u5916\u90E8\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3"{0}"\u3078\u306E\u53C2\u7167\u306F\u3001\u30B9\u30BF\u30F3\u30C9\u30A2\u30ED\u30F3\u30FB\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3067\u306F\u8A31\u53EF\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+ MSG_FIXED_ATTVALUE_INVALID = \u5024"{2}"\u3092\u6301\u3064\u5C5E\u6027"{1}"\u306B\u306F\u3001"{3}"\u306E\u5024\u304C\u5FC5\u8981\u3067\u3059\u3002
+ MSG_MORE_THAN_ONE_ID_ATTRIBUTE = \u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306B\u306F\u3001\u30BF\u30A4\u30D7ID\u306E\u5C5E\u6027"{1}"\u304C\u3059\u3067\u306B\u3042\u308A\u307E\u3059\u3002\u30BF\u30A4\u30D7ID\u306E\u5C5E\u6027"{2}"\u3092\u3082\u30461\u3064\u6307\u5B9A\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+ MSG_MORE_THAN_ONE_NOTATION_ATTRIBUTE = \u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306B\u306F\u3001\u30BF\u30A4\u30D7NOTATION\u306E\u5C5E\u6027"{1}"\u304C\u3059\u3067\u306B\u3042\u308A\u307E\u3059\u3002\u30BF\u30A4\u30D7NOTATION\u306E\u5C5E\u6027"{2}"\u3092\u3082\u30461\u3064\u6307\u5B9A\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+ MSG_NOTATION_NOT_DECLARED_FOR_NOTATIONTYPE_ATTRIBUTE = \u5C5E\u6027"{0}"\u306E\u8868\u8A18\u6CD5\u30BF\u30A4\u30D7\u30FB\u30EA\u30B9\u30C8\u3067\u53C2\u7167\u3055\u308C\u308B\u5834\u5408\u3001\u8868\u8A18\u6CD5"{1}"\u3092\u5BA3\u8A00\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ MSG_NOTATION_NOT_DECLARED_FOR_UNPARSED_ENTITYDECL = "{0}"\u306E\u672A\u89E3\u6790\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u5BA3\u8A00\u3067\u53C2\u7167\u3055\u308C\u308B\u5834\u5408\u3001\u8868\u8A18\u6CD5"{1}"\u3092\u5BA3\u8A00\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ MSG_REFERENCE_TO_EXTERNALLY_DECLARED_ENTITY_WHEN_STANDALONE = \u5916\u90E8\u306E\u89E3\u6790\u6E08\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u3067\u5BA3\u8A00\u3055\u308C\u3066\u3044\u308B\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3"{0}"\u3078\u306E\u53C2\u7167\u306F\u3001\u30B9\u30BF\u30F3\u30C9\u30A2\u30ED\u30F3\u30FB\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3067\u306F\u8A31\u53EF\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+ MSG_REQUIRED_ATTRIBUTE_NOT_SPECIFIED = \u5C5E\u6027"{1}"\u304C\u5FC5\u8981\u3067\u3059\u3002\u3053\u306E\u5C5E\u6027\u306F\u3001\u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306B\u5BFE\u3057\u3066\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
MSG_WHITE_SPACE_IN_ELEMENT_CONTENT_WHEN_STANDALONE = \u30B9\u30BF\u30F3\u30C9\u30A2\u30ED\u30F3\u30FB\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3067\u306F\u3001\u8981\u7D20\u30B3\u30F3\u30C6\u30F3\u30C4\u3092\u6301\u3064\u5916\u90E8\u306E\u89E3\u6790\u6E08\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u3067\u5BA3\u8A00\u3055\u308C\u308B\u8981\u7D20\u9593\u306B\u7A7A\u767D\u306F\u4E0D\u8981\u3067\u3059\u3002
- NMTOKENInvalid = \u30BF\u30A4\u30D7NMTOKEN\u306E\u5C5E\u6027\u5024\"{0}\"\u306F\u3001\u540D\u524D\u30C8\u30FC\u30AF\u30F3\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- NMTOKENSInvalid = \u30BF\u30A4\u30D7NMTOKENS\u306E\u5C5E\u6027\u5024\"{0}\"\u306F\u30011\u3064\u4EE5\u4E0A\u306E\u540D\u524D\u30C8\u30FC\u30AF\u30F3\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- NoNotationOnEmptyElement = EMPTY\u3068\u5BA3\u8A00\u3055\u308C\u305F\u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u3067\u306F\u3001\u30BF\u30A4\u30D7NOTATION\u306E\u5C5E\u6027\"{1}\"\u3092\u5BA3\u8A00\u3067\u304D\u307E\u305B\u3093\u3002
- RootElementTypeMustMatchDoctypedecl = \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u30FB\u30EB\u30FC\u30C8\u8981\u7D20\"{1}\"\u306FDOCTYPE\u30EB\u30FC\u30C8\"{0}\"\u3068\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- UndeclaredElementInContentSpec = \u8981\u7D20\"{0}\"\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u30FB\u30E2\u30C7\u30EB\u3067\u672A\u5BA3\u8A00\u306E\u8981\u7D20\"{1}\"\u304C\u53C2\u7167\u3055\u308C\u3066\u3044\u307E\u3059\u3002
- UniqueNotationName = \u8868\u8A18\u6CD5\"{0}\"\u306E\u5BA3\u8A00\u304C\u4E00\u610F\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u540C\u3058\u540D\u524D\u3092\u8907\u6570\u306E\u8868\u8A18\u6CD5\u5BA3\u8A00\u3067\u5BA3\u8A00\u3057\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002
+ NMTOKENInvalid = \u30BF\u30A4\u30D7NMTOKEN\u306E\u5C5E\u6027\u5024"{0}"\u306F\u3001\u540D\u524D\u30C8\u30FC\u30AF\u30F3\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ NMTOKENSInvalid = \u30BF\u30A4\u30D7NMTOKENS\u306E\u5C5E\u6027\u5024"{0}"\u306F\u30011\u3064\u4EE5\u4E0A\u306E\u540D\u524D\u30C8\u30FC\u30AF\u30F3\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ NoNotationOnEmptyElement = EMPTY\u3068\u5BA3\u8A00\u3055\u308C\u305F\u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u3067\u306F\u3001\u30BF\u30A4\u30D7NOTATION\u306E\u5C5E\u6027"{1}"\u3092\u5BA3\u8A00\u3067\u304D\u307E\u305B\u3093\u3002
+ RootElementTypeMustMatchDoctypedecl = \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u30FB\u30EB\u30FC\u30C8\u8981\u7D20"{1}"\u306FDOCTYPE\u30EB\u30FC\u30C8"{0}"\u3068\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ UndeclaredElementInContentSpec = \u8981\u7D20"{0}"\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u30FB\u30E2\u30C7\u30EB\u3067\u672A\u5BA3\u8A00\u306E\u8981\u7D20"{1}"\u304C\u53C2\u7167\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+ UniqueNotationName = \u8868\u8A18\u6CD5"{0}"\u306E\u5BA3\u8A00\u304C\u4E00\u610F\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u540C\u3058\u540D\u524D\u3092\u8907\u6570\u306E\u8868\u8A18\u6CD5\u5BA3\u8A00\u3067\u5BA3\u8A00\u3057\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002
ENTITYFailedInitializeGrammar = ENTITYDatatype\u30D0\u30EA\u30C7\u30FC\u30BF: \u6709\u52B9\u306A\u69CB\u6587\u53C2\u7167\u306B\u3088\u308B\u521D\u671F\u5316\u30E1\u30BD\u30C3\u30C9\u306E\u547C\u51FA\u3057\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002 \t
- ENTITYNotUnparsed = ENTITY \"{0}\"\u306F\u672A\u89E3\u6790\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
- ENTITYNotValid = ENTITY \"{0}\"\u306F\u6709\u52B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+ ENTITYNotUnparsed = ENTITY "{0}"\u306F\u672A\u89E3\u6790\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+ ENTITYNotValid = ENTITY "{0}"\u306F\u6709\u52B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
EmptyList = \u30BF\u30A4\u30D7ENTITIES\u3001IDREFS\u304A\u3088\u3073NMTOKENS\u306E\u5024\u306F\u7A7A\u306E\u30EA\u30B9\u30C8\u306B\u3067\u304D\u307E\u305B\u3093\u3002
# Entity related messages
# 3.1 Start-Tags, End-Tags, and Empty-Element Tags
- ReferenceToExternalEntity = \u5916\u90E8\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u53C2\u7167\"&{0};\"\u306F\u3001\u5C5E\u6027\u5024\u3067\u306F\u8A31\u53EF\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
- AccessExternalDTD = External DTD: Failed to read external DTD ''{0}'', because ''{1}'' access is not allowed.
- AccessExternalEntity = External Entity: Failed to read external document ''{0}'', because ''{1}'' access is not allowed.
+ ReferenceToExternalEntity = \u5916\u90E8\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u53C2\u7167"&{0};"\u306F\u3001\u5C5E\u6027\u5024\u3067\u306F\u8A31\u53EF\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+ AccessExternalDTD = \u5916\u90E8DTD: ''{1}''\u30A2\u30AF\u30BB\u30B9\u304C\u8A31\u53EF\u3055\u308C\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u5916\u90E8DTD ''{0}''\u306E\u8AAD\u53D6\u308A\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002
+ AccessExternalEntity = \u5916\u90E8\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3: ''{1}''\u30A2\u30AF\u30BB\u30B9\u304C\u8A31\u53EF\u3055\u308C\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u5916\u90E8\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8''{0}''\u306E\u8AAD\u53D6\u308A\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002
# 4.1 Character and Entity References
- EntityNotDeclared = \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\"{0}\"\u304C\u53C2\u7167\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
- ReferenceToUnparsedEntity = \u672A\u89E3\u6790\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u53C2\u7167\"&{0};\"\u306F\u8A31\u53EF\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
- RecursiveReference = \u518D\u5E30\u7684\u306A\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u53C2\u7167\"{0}\"\u3067\u3059\u3002(\u53C2\u7167\u30D1\u30B9: {1})\u3001
- RecursiveGeneralReference = \u518D\u5E30\u7684\u306A\u4E00\u822C\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u53C2\u7167\"&{0};\"\u3067\u3059\u3002(\u53C2\u7167\u30D1\u30B9: {1})\u3001
- RecursivePEReference = \u518D\u5E30\u7684\u306A\u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u53C2\u7167\"%{0};\"\u3067\u3059\u3002(\u53C2\u7167\u30D1\u30B9: {1})\u3001
+ EntityNotDeclared = \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3"{0}"\u304C\u53C2\u7167\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+ ReferenceToUnparsedEntity = \u672A\u89E3\u6790\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u53C2\u7167"&{0};"\u306F\u8A31\u53EF\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+ RecursiveReference = \u518D\u5E30\u7684\u306A\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u53C2\u7167"{0}"\u3067\u3059\u3002(\u53C2\u7167\u30D1\u30B9: {1})\u3001
+ RecursiveGeneralReference = \u518D\u5E30\u7684\u306A\u4E00\u822C\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u53C2\u7167"&{0};"\u3067\u3059\u3002(\u53C2\u7167\u30D1\u30B9: {1})\u3001
+ RecursivePEReference = \u518D\u5E30\u7684\u306A\u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u53C2\u7167"%{0};"\u3067\u3059\u3002(\u53C2\u7167\u30D1\u30B9: {1})\u3001
# 4.3.3 Character Encoding in Entities
- EncodingNotSupported = \u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\"{0}\"\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+ EncodingNotSupported = \u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0"{0}"\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
EncodingRequired = \u30A8\u30F3\u30B3\u30FC\u30C9\u304CUTF-8\u3068UTF-16\u306E\u3044\u305A\u308C\u3067\u3082\u306A\u3044\u89E3\u6790\u6E08\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u306B\u306F\u3001\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u5BA3\u8A00\u304C\u542B\u307E\u308C\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
# Namespaces support
# 4. Using Qualified Names
IllegalQName = \u8981\u7D20\u307E\u305F\u306F\u5C5E\u6027\u304CQName\u751F\u6210\u3068\u4E00\u81F4\u3057\u307E\u305B\u3093: QName::=(NCName':')?NCName\u3002
- ElementXMLNSPrefix = \u8981\u7D20\"{0}\"\u306E\u63A5\u982D\u8F9E\u3068\u3057\u3066\"xmlns\"\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093\u3002
- ElementPrefixUnbound = \u8981\u7D20\"{1}\"\u306E\u63A5\u982D\u8F9E\"{0}\"\u304C\u30D0\u30A4\u30F3\u30C9\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
- AttributePrefixUnbound = \u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u306B\u95A2\u9023\u4ED8\u3051\u3089\u308C\u3066\u3044\u308B\u5C5E\u6027\"{1}\"\u306E\u63A5\u982D\u8F9E\"{2}\"\u304C\u30D0\u30A4\u30F3\u30C9\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
- EmptyPrefixedAttName = \u5C5E\u6027\"{0}\"\u306E\u5024\u304C\u7121\u52B9\u3067\u3059\u3002\u63A5\u982D\u8F9E\u306E\u4ED8\u3044\u305F\u30CD\u30FC\u30E0\u30B9\u30DA\u30FC\u30B9\u30FB\u30D0\u30A4\u30F3\u30C7\u30A3\u30F3\u30B0\u306F\u7A7A\u306B\u3067\u304D\u307E\u305B\u3093\u3002
- PrefixDeclared = \u30CD\u30FC\u30E0\u30B9\u30DA\u30FC\u30B9\u306E\u63A5\u982D\u8F9E\"{0}\"\u304C\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+ ElementXMLNSPrefix = \u8981\u7D20"{0}"\u306E\u63A5\u982D\u8F9E\u3068\u3057\u3066"xmlns"\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093\u3002
+ ElementPrefixUnbound = \u8981\u7D20"{1}"\u306E\u63A5\u982D\u8F9E"{0}"\u304C\u30D0\u30A4\u30F3\u30C9\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+ AttributePrefixUnbound = \u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306B\u95A2\u9023\u4ED8\u3051\u3089\u308C\u3066\u3044\u308B\u5C5E\u6027"{1}"\u306E\u63A5\u982D\u8F9E"{2}"\u304C\u30D0\u30A4\u30F3\u30C9\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+ EmptyPrefixedAttName = \u5C5E\u6027"{0}"\u306E\u5024\u304C\u7121\u52B9\u3067\u3059\u3002\u63A5\u982D\u8F9E\u306E\u4ED8\u3044\u305F\u30CD\u30FC\u30E0\u30B9\u30DA\u30FC\u30B9\u30FB\u30D0\u30A4\u30F3\u30C7\u30A3\u30F3\u30B0\u306F\u7A7A\u306B\u3067\u304D\u307E\u305B\u3093\u3002
+ PrefixDeclared = \u30CD\u30FC\u30E0\u30B9\u30DA\u30FC\u30B9\u306E\u63A5\u982D\u8F9E"{0}"\u304C\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
CantBindXMLNS = \u63A5\u982D\u8F9E"xmlns"\u306F\u3001\u30CD\u30FC\u30E0\u30B9\u30DA\u30FC\u30B9\u306B\u660E\u793A\u7684\u306B\u30D0\u30A4\u30F3\u30C9\u3067\u304D\u307E\u305B\u3093\u3002\u307E\u305F\u3001"xmlns"\u306E\u30CD\u30FC\u30E0\u30B9\u30DA\u30FC\u30B9\u3082\u3001\u63A5\u982D\u8F9E\u306B\u660E\u793A\u7684\u306B\u30D0\u30A4\u30F3\u30C9\u3067\u304D\u307E\u305B\u3093\u3002
CantBindXML = \u63A5\u982D\u8F9E"xml"\u306F\u3001\u901A\u5E38\u306E\u30CD\u30FC\u30E0\u30B9\u30DA\u30FC\u30B9\u4EE5\u5916\u306E\u30CD\u30FC\u30E0\u30B9\u30DA\u30FC\u30B9\u306B\u30D0\u30A4\u30F3\u30C9\u3067\u304D\u307E\u305B\u3093\u3002\u307E\u305F\u3001"xml"\u306E\u30CD\u30FC\u30E0\u30B9\u30DA\u30FC\u30B9\u3082\u3001"xml"\u4EE5\u5916\u306E\u63A5\u982D\u8F9E\u306B\u30D0\u30A4\u30F3\u30C9\u3067\u304D\u307E\u305B\u3093\u3002
- MSG_ATT_DEFAULT_INVALID = \u5C5E\u6027\"{0}\"\u306EdefaultValue \"{1}\"\u306F\u3001\u3053\u306E\u5C5E\u6027\u30BF\u30A4\u30D7\u306E\u5B57\u53E5\u5236\u7D04\u306B\u95A2\u3057\u3066\u6709\u52B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+ MSG_ATT_DEFAULT_INVALID = \u5C5E\u6027"{0}"\u306EdefaultValue "{1}"\u306F\u3001\u3053\u306E\u5C5E\u6027\u30BF\u30A4\u30D7\u306E\u5B57\u53E5\u5236\u7D04\u306B\u95A2\u3057\u3066\u6709\u52B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
# REVISIT: These need messages
MSG_SPACE_REQUIRED_AFTER_SYSTEMLITERAL_IN_EXTERNALID=MSG_SPACE_REQUIRED_AFTER_SYSTEMLITERAL_IN_EXTERNALID
@@ -321,7 +318,7 @@
#Application can set the limit of number of entities that should be expanded by the parser.
-EntityExpansionLimitExceeded=\u30D1\u30FC\u30B5\u30FC\u306B\u3088\u3063\u3066\u3001\u3053\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5185\u3067\"{0}\"\u3092\u8D85\u3048\u308B\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u62E1\u5F35\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F\u3002\u3053\u308C\u306F\u3001\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306B\u3088\u308B\u5236\u9650\u3067\u3059\u3002
+EntityExpansionLimitExceeded=\u30D1\u30FC\u30B5\u30FC\u306B\u3088\u3063\u3066\u3001\u3053\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5185\u3067"{0}"\u3092\u8D85\u3048\u308B\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u62E1\u5F35\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F\u3002\u3053\u308C\u306F\u3001\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306B\u3088\u308B\u5236\u9650\u3067\u3059\u3002
# Application can set the limit of number of attributes of entity that should be expanded by the parser.
-ElementAttributeLimit= \u8981\u7D20\"{0}\"\u306B\"{1}\"\u3092\u8D85\u3048\u308B\u5C5E\u6027\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\"{1}\"\u306F\u3001\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306B\u3088\u308B\u5236\u9650\u3067\u3059\u3002
+ElementAttributeLimit= \u8981\u7D20"{0}"\u306B"{1}"\u3092\u8D85\u3048\u308B\u5C5E\u6027\u304C\u5B58\u5728\u3057\u307E\u3059\u3002"{1}"\u306F\u3001\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306B\u3088\u308B\u5236\u9650\u3067\u3059\u3002
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ko.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ko.properties
index 882f8085758..0613c417993 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ko.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ko.properties
@@ -1,30 +1,27 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file contains error and warning messages related to XML
# The messages are arranged in key and value tuples in a ListResourceBundle.
@@ -48,14 +45,14 @@
InvalidCharInProlog = \uBB38\uC11C\uC758 \uD504\uB864\uB85C\uADF8\uC5D0\uC11C \uBD80\uC801\uD569\uD55C XML \uBB38\uC790(\uC720\uB2C8\uCF54\uB4DC: 0x{0})\uAC00 \uBC1C\uACAC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
InvalidCharInXMLDecl = XML \uC120\uC5B8\uC5D0\uC11C \uBD80\uC801\uD569\uD55C XML \uBB38\uC790(\uC720\uB2C8\uCF54\uB4DC: 0x{0})\uAC00 \uBC1C\uACAC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
# 2.4 Character Data and Markup
- CDEndInContent = \uBB38\uC790 \uC2DC\uD000\uC2A4 \"]]>\"\uB294 CDATA \uC139\uC158 \uB05D\uC744 \uD45C\uC2DC\uD558\uB294 \uB370 \uC0AC\uC6A9\uB418\uC9C0 \uC54A\uB294 \uACBD\uC6B0 \uCF58\uD150\uCE20\uC5D0 \uB098\uD0C0\uB098\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.
+ CDEndInContent = \uBB38\uC790 \uC2DC\uD000\uC2A4 "]]>"\uB294 CDATA \uC139\uC158 \uB05D\uC744 \uD45C\uC2DC\uD558\uB294 \uB370 \uC0AC\uC6A9\uB418\uC9C0 \uC54A\uB294 \uACBD\uC6B0 \uCF58\uD150\uCE20\uC5D0 \uB098\uD0C0\uB098\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.
# 2.7 CDATA Sections
- CDSectUnterminated = CDATA \uC139\uC158\uC740 \"]]>\"\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
+ CDSectUnterminated = CDATA \uC139\uC158\uC740 "]]>"\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
# 2.8 Prolog and Document Type Declaration
XMLDeclMustBeFirst = XML \uC120\uC5B8\uC740 \uBB38\uC11C \uB9E8 \uC55E\uC5D0\uB9CC \uB098\uD0C0\uB0A0 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
- EqRequiredInXMLDecl = XML \uC120\uC5B8\uC5D0\uC11C\uB294 \"{0}\" \uB2E4\uC74C\uC5D0 '' = '' \uBB38\uC790\uAC00 \uC640\uC57C \uD569\uB2C8\uB2E4.
- QuoteRequiredInXMLDecl = XML \uC120\uC5B8\uC5D0\uC11C \"{0}\" \uB2E4\uC74C\uC5D0 \uC624\uB294 \uAC12\uC740 \uB530\uC634\uD45C\uAC00 \uBD99\uC740 \uBB38\uC790\uC5F4\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
- XMLDeclUnterminated = XML \uC120\uC5B8\uC740 \"?>\"\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
+ EqRequiredInXMLDecl = XML \uC120\uC5B8\uC5D0\uC11C\uB294 "{0}" \uB2E4\uC74C\uC5D0 '' = '' \uBB38\uC790\uAC00 \uC640\uC57C \uD569\uB2C8\uB2E4.
+ QuoteRequiredInXMLDecl = XML \uC120\uC5B8\uC5D0\uC11C "{0}" \uB2E4\uC74C\uC5D0 \uC624\uB294 \uAC12\uC740 \uB530\uC634\uD45C\uAC00 \uBD99\uC740 \uBB38\uC790\uC5F4\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+ XMLDeclUnterminated = XML \uC120\uC5B8\uC740 "?>"\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
VersionInfoRequired = XML \uC120\uC5B8\uC5D0\uB294 \uBC84\uC804\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
SpaceRequiredBeforeVersionInXMLDecl = XML \uC120\uC5B8\uC5D0\uC11C\uB294 \uBC84\uC804 \uC758\uC0AC \uC18D\uC131 \uC55E\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
SpaceRequiredBeforeEncodingInXMLDecl = XML \uC120\uC5B8\uC5D0\uC11C\uB294 \uC778\uCF54\uB529 \uC758\uC0AC \uC18D\uC131 \uC55E\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
@@ -71,70 +68,70 @@
ReferenceIllegalInTrailingMisc=\uD6C4\uD589 \uC139\uC158\uC5D0\uC11C\uB294 \uCC38\uC870\uAC00 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
# 2.9 Standalone Document Declaration
- SDDeclInvalid = \uB3C5\uB9BD\uD615 \uBB38\uC11C \uC120\uC5B8 \uAC12\uC740 \"{0}\"\uC774(\uAC00) \uC544\uB2CC \"yes\" \uB610\uB294 \"no\"\uC5EC\uC57C \uD569\uB2C8\uB2E4.
+ SDDeclInvalid = \uB3C5\uB9BD\uD615 \uBB38\uC11C \uC120\uC5B8 \uAC12\uC740 "{0}"\uC774(\uAC00) \uC544\uB2CC "yes" \uB610\uB294 "no"\uC5EC\uC57C \uD569\uB2C8\uB2E4.
# 2.12 Language Identification
- XMLLangInvalid = xml:lang \uC18D\uC131\uAC12 \"{0}\"\uC740(\uB294) \uBD80\uC801\uD569\uD55C \uC5B8\uC5B4 \uC2DD\uBCC4\uC790\uC785\uB2C8\uB2E4.
+ XMLLangInvalid = xml:lang \uC18D\uC131\uAC12 "{0}"\uC740(\uB294) \uBD80\uC801\uD569\uD55C \uC5B8\uC5B4 \uC2DD\uBCC4\uC790\uC785\uB2C8\uB2E4.
# 3. Logical Structures
- ETagRequired = \uC694\uC18C \uC720\uD615 \"{0}\"\uC740(\uB294) \uC9DD\uC774 \uB9DE\uB294 \uC885\uB8CC \uD0DC\uADF8 \"{0}>\"(\uC73C)\uB85C \uC885\uB8CC\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+ ETagRequired = \uC694\uC18C \uC720\uD615 "{0}"\uC740(\uB294) \uC9DD\uC774 \uB9DE\uB294 \uC885\uB8CC \uD0DC\uADF8 "{0}>"(\uC73C)\uB85C \uC885\uB8CC\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
# 3.1 Start-Tags, End-Tags, and Empty-Element Tags
- ElementUnterminated = \uC694\uC18C \uC720\uD615 \"{0}\" \uB2E4\uC74C\uC5D0\uB294 \uC18D\uC131 \uC0AC\uC591 \">\" \uB610\uB294 \"/>\"\uAC00 \uC640\uC57C \uD569\uB2C8\uB2E4.
- EqRequiredInAttribute = \uC694\uC18C \uC720\uD615 \"{0}\"\uACFC(\uC640) \uC5F0\uAD00\uB41C \uC18D\uC131 \uC774\uB984 \"{1}\" \uB2E4\uC74C\uC5D0\uB294 '' = '' \uBB38\uC790\uAC00 \uC640\uC57C \uD569\uB2C8\uB2E4.
- OpenQuoteExpected = \uC694\uC18C \uC720\uD615 \"{0}\"\uACFC(\uC640) \uC5F0\uAD00\uB41C \"{1}\" \uC18D\uC131\uC5D0\uB294 \uC5EC\uB294 \uB530\uC634\uD45C\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4.
- CloseQuoteExpected = \uC694\uC18C \uC720\uD615 \"{0}\"\uACFC(\uC640) \uC5F0\uAD00\uB41C \"{1}\" \uC18D\uC131\uC5D0\uB294 \uB2EB\uB294 \uB530\uC634\uD45C\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4.
- AttributeNotUnique = \"{1}\" \uC18D\uC131\uC774 \"{0}\" \uC694\uC18C\uC5D0 \uB300\uD574 \uC774\uBBF8 \uC9C0\uC815\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
- AttributeNSNotUnique = \"{2}\" \uB124\uC784\uC2A4\uD398\uC774\uC2A4\uC5D0 \uBC14\uC778\uB4DC\uB41C \"{1}\" \uC18D\uC131\uC774 \"{0}\" \uC694\uC18C\uC5D0 \uB300\uD574 \uC774\uBBF8 \uC9C0\uC815\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
- ETagUnterminated = \uC694\uC18C \uC720\uD615 \"{0}\"\uC5D0 \uB300\uD55C \uC885\uB8CC \uD0DC\uADF8\uB294 ''>'' \uAD6C\uBD84\uC790\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
+ ElementUnterminated = \uC694\uC18C \uC720\uD615 "{0}" \uB2E4\uC74C\uC5D0\uB294 \uC18D\uC131 \uC0AC\uC591 ">" \uB610\uB294 "/>"\uAC00 \uC640\uC57C \uD569\uB2C8\uB2E4.
+ EqRequiredInAttribute = \uC694\uC18C \uC720\uD615 "{0}"\uACFC(\uC640) \uC5F0\uAD00\uB41C \uC18D\uC131 \uC774\uB984 "{1}" \uB2E4\uC74C\uC5D0\uB294 '' = '' \uBB38\uC790\uAC00 \uC640\uC57C \uD569\uB2C8\uB2E4.
+ OpenQuoteExpected = \uC694\uC18C \uC720\uD615 "{0}"\uACFC(\uC640) \uC5F0\uAD00\uB41C "{1}" \uC18D\uC131\uC5D0\uB294 \uC5EC\uB294 \uB530\uC634\uD45C\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4.
+ CloseQuoteExpected = \uC694\uC18C \uC720\uD615 "{0}"\uACFC(\uC640) \uC5F0\uAD00\uB41C "{1}" \uC18D\uC131\uC5D0\uB294 \uB2EB\uB294 \uB530\uC634\uD45C\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4.
+ AttributeNotUnique = "{1}" \uC18D\uC131\uC774 "{0}" \uC694\uC18C\uC5D0 \uB300\uD574 \uC774\uBBF8 \uC9C0\uC815\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
+ AttributeNSNotUnique = "{2}" \uB124\uC784\uC2A4\uD398\uC774\uC2A4\uC5D0 \uBC14\uC778\uB4DC\uB41C "{1}" \uC18D\uC131\uC774 "{0}" \uC694\uC18C\uC5D0 \uB300\uD574 \uC774\uBBF8 \uC9C0\uC815\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
+ ETagUnterminated = \uC694\uC18C \uC720\uD615 "{0}"\uC5D0 \uB300\uD55C \uC885\uB8CC \uD0DC\uADF8\uB294 ''>'' \uAD6C\uBD84\uC790\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
MarkupNotRecognizedInContent = \uC694\uC18C \uCF58\uD150\uCE20\uB294 \uC62C\uBC14\uB978 \uD615\uC2DD\uC758 \uBB38\uC790 \uB370\uC774\uD130 \uB610\uB294 \uB9C8\uD06C\uC5C5\uC73C\uB85C \uAD6C\uC131\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
DoctypeIllegalInContent = \uCF58\uD150\uCE20\uC5D0\uC11C\uB294 DOCTYPE\uC774 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
# 4.1 Character and Entity References
ReferenceUnterminated = \uCC38\uC870\uB294 ';' \uAD6C\uBD84\uC790\uB85C \uC885\uB8CC\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
# 4.3.2 Well-Formed Parsed Entities
ReferenceNotInOneEntity = \uCC38\uC870\uB294 \uAD6C\uBB38\uC774 \uBD84\uC11D\uB41C \uB3D9\uC77C\uD55C \uC5D4\uD2F0\uD2F0\uC5D0 \uC644\uC804\uD788 \uD3EC\uD568\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
- ElementEntityMismatch = \"{0}\" \uC694\uC18C\uB294 \uB3D9\uC77C\uD55C \uC5D4\uD2F0\uD2F0\uC5D0\uC11C \uC2DC\uC791\uB418\uACE0 \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
+ ElementEntityMismatch = "{0}" \uC694\uC18C\uB294 \uB3D9\uC77C\uD55C \uC5D4\uD2F0\uD2F0\uC5D0\uC11C \uC2DC\uC791\uB418\uACE0 \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
MarkupEntityMismatch=XML \uBB38\uC11C \uAD6C\uC870\uB294 \uB3D9\uC77C\uD55C \uC5D4\uD2F0\uD2F0\uC5D0\uC11C \uC2DC\uC791\uB418\uACE0 \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
# Messages common to Document and DTD
# 2.2 Characters
- InvalidCharInAttValue = \"{1}\" \uC18D\uC131\uC758 \uAC12\uC5D0\uC11C \uBD80\uC801\uD569\uD55C XML \uBB38\uC790(\uC720\uB2C8\uCF54\uB4DC: 0x{2})\uAC00 \uBC1C\uACAC\uB418\uC5C8\uC73C\uBA70 \uC694\uC18C\uAC00 \"{0}\"\uC785\uB2C8\uB2E4.
+ InvalidCharInAttValue = "{1}" \uC18D\uC131\uC758 \uAC12\uC5D0\uC11C \uBD80\uC801\uD569\uD55C XML \uBB38\uC790(\uC720\uB2C8\uCF54\uB4DC: 0x{2})\uAC00 \uBC1C\uACAC\uB418\uC5C8\uC73C\uBA70 \uC694\uC18C\uAC00 "{0}"\uC785\uB2C8\uB2E4.
InvalidCharInComment = \uC8FC\uC11D\uC5D0\uC11C \uBD80\uC801\uD569\uD55C XML \uBB38\uC790(\uC720\uB2C8\uCF54\uB4DC: 0x{0})\uAC00 \uBC1C\uACAC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
InvalidCharInPI = \uCC98\uB9AC \uBA85\uB839\uC5D0\uC11C \uBD80\uC801\uD569\uD55C XML \uBB38\uC790(\uC720\uB2C8\uCF54\uB4DC: 0x{0})\uAC00 \uBC1C\uACAC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
InvalidCharInInternalSubset = DTD\uC758 \uB0B4\uBD80 \uBD80\uBD84 \uC9D1\uD569\uC5D0\uC11C \uBD80\uC801\uD569\uD55C XML \uBB38\uC790(\uC720\uB2C8\uCF54\uB4DC: 0x{0})\uAC00 \uBC1C\uACAC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
InvalidCharInTextDecl = \uD14D\uC2A4\uD2B8 \uC120\uC5B8\uC5D0\uC11C \uBD80\uC801\uD569\uD55C XML \uBB38\uC790(\uC720\uB2C8\uCF54\uB4DC: 0x{0})\uAC00 \uBC1C\uACAC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
# 2.3 Common Syntactic Constructs
- QuoteRequiredInAttValue = \"{1}\" \uC18D\uC131\uC758 \uAC12\uC740 \uC791\uC740 \uB530\uC634\uD45C \uB610\uB294 \uD070 \uB530\uC634\uD45C \uBB38\uC790\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4.
- LessthanInAttValue = \uC694\uC18C \uC720\uD615 \"{0}\"\uACFC(\uC640) \uC5F0\uAD00\uB41C \"{1}\" \uC18D\uC131\uC758 \uAC12\uC5D0\uB294 ''<'' \uBB38\uC790\uAC00 \uD3EC\uD568\uB418\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.
- AttributeValueUnterminated = \"{1}\" \uC18D\uC131\uC758 \uAC12\uC740 \uC9DD\uC774 \uB9DE\uB294 \uB530\uC634\uD45C \uBB38\uC790\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
+ QuoteRequiredInAttValue = "{1}" \uC18D\uC131\uC758 \uAC12\uC740 \uC791\uC740 \uB530\uC634\uD45C \uB610\uB294 \uD070 \uB530\uC634\uD45C \uBB38\uC790\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4.
+ LessthanInAttValue = \uC694\uC18C \uC720\uD615 "{0}"\uACFC(\uC640) \uC5F0\uAD00\uB41C "{1}" \uC18D\uC131\uC758 \uAC12\uC5D0\uB294 ''<'' \uBB38\uC790\uAC00 \uD3EC\uD568\uB418\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.
+ AttributeValueUnterminated = "{1}" \uC18D\uC131\uC758 \uAC12\uC740 \uC9DD\uC774 \uB9DE\uB294 \uB530\uC634\uD45C \uBB38\uC790\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
# 2.5 Comments
- InvalidCommentStart = \uC8FC\uC11D\uC740 \"\"\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
+ InvalidCommentStart = \uC8FC\uC11D\uC740 ""\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
COMMENT_NOT_IN_ONE_ENTITY = \uC8FC\uC11D\uC774 \uB3D9\uC77C\uD55C \uC5D4\uD2F0\uD2F0 \uC548\uC5D0 \uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
# 2.6 Processing Instructions
PITargetRequired = \uCC98\uB9AC \uBA85\uB839\uC740 \uB300\uC0C1 \uC774\uB984\uC73C\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4.
SpaceRequiredInPI = \uCC98\uB9AC \uBA85\uB839 \uB300\uC0C1\uACFC \uB370\uC774\uD130 \uC0AC\uC774\uC5D0\uB294 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
- PIUnterminated = \uCC98\uB9AC \uBA85\uB839\uC740 \"?>\"\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
- ReservedPITarget = \"[xX][mM][lL]\"\uACFC \uC77C\uCE58\uD558\uB294 \uCC98\uB9AC \uBA85\uB839 \uB300\uC0C1\uC740 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
+ PIUnterminated = \uCC98\uB9AC \uBA85\uB839\uC740 "?>"\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
+ ReservedPITarget = "[xX][mM][lL]"\uACFC \uC77C\uCE58\uD558\uB294 \uCC98\uB9AC \uBA85\uB839 \uB300\uC0C1\uC740 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
PI_NOT_IN_ONE_ENTITY = \uCC98\uB9AC \uBA85\uB839\uC774 \uB3D9\uC77C\uD55C \uC5D4\uD2F0\uD2F0 \uC548\uC5D0 \uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
# 2.8 Prolog and Document Type Declaration
- VersionInfoInvalid = \"{0}\"\uC740(\uB294) \uBD80\uC801\uD569\uD55C \uBC84\uC804\uC785\uB2C8\uB2E4.
- VersionNotSupported = XML \uBC84\uC804 \"{0}\"\uC740(\uB294) \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. XML 1.0\uB9CC \uC9C0\uC6D0\uB429\uB2C8\uB2E4.
- VersionNotSupported11 = XML \uBC84\uC804 \"{0}\"\uC740(\uB294) \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. XML 1.0 \uBC0F XML 1.1\uB9CC \uC9C0\uC6D0\uB429\uB2C8\uB2E4.
+ VersionInfoInvalid = "{0}"\uC740(\uB294) \uBD80\uC801\uD569\uD55C \uBC84\uC804\uC785\uB2C8\uB2E4.
+ VersionNotSupported = XML \uBC84\uC804 "{0}"\uC740(\uB294) \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. XML 1.0\uB9CC \uC9C0\uC6D0\uB429\uB2C8\uB2E4.
+ VersionNotSupported11 = XML \uBC84\uC804 "{0}"\uC740(\uB294) \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. XML 1.0 \uBC0F XML 1.1\uB9CC \uC9C0\uC6D0\uB429\uB2C8\uB2E4.
VersionMismatch= \uD558\uB098\uC758 \uC5D4\uD2F0\uD2F0\uC5D0\uB294 \uC774\uD6C4 \uBC84\uC804\uC758 \uB2E4\uB978 \uC5D4\uD2F0\uD2F0\uAC00 \uD3EC\uD568\uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
# 4.1 Character and Entity References
- DigitRequiredInCharRef = \uBB38\uC790 \uCC38\uC870\uC5D0\uC11C\uB294 \"\" \uBC14\uB85C \uB2E4\uC74C\uC5D0 \uC2ED\uC9C4\uC218 \uD45C\uD604\uC774 \uC640\uC57C \uD569\uB2C8\uB2E4.
- HexdigitRequiredInCharRef = \uBB38\uC790 \uCC38\uC870\uC5D0\uC11C\uB294 \"\" \uBC14\uB85C \uB2E4\uC74C\uC5D0 16\uC9C4\uC218 \uD45C\uD604\uC774 \uC640\uC57C \uD569\uB2C8\uB2E4.
+ DigitRequiredInCharRef = \uBB38\uC790 \uCC38\uC870\uC5D0\uC11C\uB294 "" \uBC14\uB85C \uB2E4\uC74C\uC5D0 \uC2ED\uC9C4\uC218 \uD45C\uD604\uC774 \uC640\uC57C \uD569\uB2C8\uB2E4.
+ HexdigitRequiredInCharRef = \uBB38\uC790 \uCC38\uC870\uC5D0\uC11C\uB294 "" \uBC14\uB85C \uB2E4\uC74C\uC5D0 16\uC9C4\uC218 \uD45C\uD604\uC774 \uC640\uC57C \uD569\uB2C8\uB2E4.
SemicolonRequiredInCharRef = \uBB38\uC790 \uCC38\uC870\uB294 ';' \uAD6C\uBD84\uC790\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
- InvalidCharRef = \uBB38\uC790 \uCC38\uC870 \"{0}\"\uC740(\uB294) \uBD80\uC801\uD569\uD55C XML \uBB38\uC790\uC785\uB2C8\uB2E4.
+ InvalidCharRef = \uBB38\uC790 \uCC38\uC870 "{0}"\uC740(\uB294) \uBD80\uC801\uD569\uD55C XML \uBB38\uC790\uC785\uB2C8\uB2E4.
NameRequiredInReference = \uC5D4\uD2F0\uD2F0 \uCC38\uC870\uC5D0\uC11C\uB294 '&' \uBC14\uB85C \uB2E4\uC74C\uC5D0 \uC5D4\uD2F0\uD2F0 \uC774\uB984\uC774 \uC640\uC57C \uD569\uB2C8\uB2E4.
- SemicolonRequiredInReference = \"{0}\" \uC5D4\uD2F0\uD2F0\uC5D0 \uB300\uD55C \uCC38\uC870\uB294 '';'' \uAD6C\uBD84\uC790\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
+ SemicolonRequiredInReference = "{0}" \uC5D4\uD2F0\uD2F0\uC5D0 \uB300\uD55C \uCC38\uC870\uB294 '';'' \uAD6C\uBD84\uC790\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
# 4.3.1 The Text Declaration
TextDeclMustBeFirst = \uD14D\uC2A4\uD2B8 \uC120\uC5B8\uC740 \uAD6C\uBB38\uC774 \uBD84\uC11D\uB41C \uC678\uBD80 \uC5D4\uD2F0\uD2F0 \uB9E8 \uC55E\uC5D0\uB9CC \uB098\uD0C0\uB0A0 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
- EqRequiredInTextDecl = \uD14D\uC2A4\uD2B8 \uC120\uC5B8\uC5D0\uC11C\uB294 \"{0}\" \uB2E4\uC74C\uC5D0 '' = '' \uBB38\uC790\uAC00 \uC640\uC57C \uD569\uB2C8\uB2E4.
- QuoteRequiredInTextDecl = \uD14D\uC2A4\uD2B8 \uC120\uC5B8\uC5D0\uC11C \"{0}\" \uB2E4\uC74C\uC5D0 \uC624\uB294 \uAC12\uC740 \uB530\uC634\uD45C\uAC00 \uBD99\uC740 \uBB38\uC790\uC5F4\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
- CloseQuoteMissingInTextDecl = \uD14D\uC2A4\uD2B8 \uC120\uC5B8\uC5D0\uC11C \"{0}\" \uB2E4\uC74C\uC5D0 \uC624\uB294 \uAC12\uC758 \uB2EB\uB294 \uB530\uC634\uD45C\uAC00 \uB204\uB77D\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
+ EqRequiredInTextDecl = \uD14D\uC2A4\uD2B8 \uC120\uC5B8\uC5D0\uC11C\uB294 "{0}" \uB2E4\uC74C\uC5D0 '' = '' \uBB38\uC790\uAC00 \uC640\uC57C \uD569\uB2C8\uB2E4.
+ QuoteRequiredInTextDecl = \uD14D\uC2A4\uD2B8 \uC120\uC5B8\uC5D0\uC11C "{0}" \uB2E4\uC74C\uC5D0 \uC624\uB294 \uAC12\uC740 \uB530\uC634\uD45C\uAC00 \uBD99\uC740 \uBB38\uC790\uC5F4\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+ CloseQuoteMissingInTextDecl = \uD14D\uC2A4\uD2B8 \uC120\uC5B8\uC5D0\uC11C "{0}" \uB2E4\uC74C\uC5D0 \uC624\uB294 \uAC12\uC758 \uB2EB\uB294 \uB530\uC634\uD45C\uAC00 \uB204\uB77D\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
SpaceRequiredBeforeVersionInTextDecl = \uD14D\uC2A4\uD2B8 \uC120\uC5B8\uC740 \uBC84\uC804 \uC758\uC0AC \uC18D\uC131 \uC55E\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
SpaceRequiredBeforeEncodingInTextDecl = \uD14D\uC2A4\uD2B8 \uC120\uC5B8\uC740 \uC778\uCF54\uB529 \uC758\uC0AC \uC18D\uC131 \uC55E\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
- TextDeclUnterminated = \uD14D\uC2A4\uD2B8 \uC120\uC5B8\uC740 \"?>\"\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
+ TextDeclUnterminated = \uD14D\uC2A4\uD2B8 \uC120\uC5B8\uC740 "?>"\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
EncodingDeclRequired = \uD14D\uC2A4\uD2B8 \uC120\uC5B8\uC5D0\uB294 \uC778\uCF54\uB529 \uC120\uC5B8\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
NoMorePseudoAttributes = \uC758\uC0AC \uC18D\uC131\uC740 \uB354 \uC774\uC0C1 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
MorePseudoAttributes = \uC758\uC0AC \uC18D\uC131\uC774 \uB354 \uD544\uC694\uD569\uB2C8\uB2E4.
@@ -143,13 +140,13 @@
CommentNotInOneEntity = \uC8FC\uC11D\uC740 \uAD6C\uBB38\uC774 \uBD84\uC11D\uB41C \uB3D9\uC77C\uD55C \uC5D4\uD2F0\uD2F0\uC5D0 \uC644\uC804\uD788 \uD3EC\uD568\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
PINotInOneEntity = \uCC98\uB9AC \uBA85\uB839\uC740 \uAD6C\uBB38\uC774 \uBD84\uC11D\uB41C \uB3D9\uC77C\uD55C \uC5D4\uD2F0\uD2F0\uC5D0 \uC644\uC804\uD788 \uD3EC\uD568\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
# 4.3.3 Character Encoding in Entities
- EncodingDeclInvalid = \"{0}\"\uC740(\uB294) \uBD80\uC801\uD569\uD55C \uC778\uCF54\uB529 \uC774\uB984\uC785\uB2C8\uB2E4.
- EncodingByteOrderUnsupported = \"{0}\" \uC778\uCF54\uB529\uC5D0 \uB300\uD574 \uC81C\uACF5\uB41C \uBC14\uC774\uD2B8 \uC21C\uC11C\uB294 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
+ EncodingDeclInvalid = "{0}"\uC740(\uB294) \uBD80\uC801\uD569\uD55C \uC778\uCF54\uB529 \uC774\uB984\uC785\uB2C8\uB2E4.
+ EncodingByteOrderUnsupported = "{0}" \uC778\uCF54\uB529\uC5D0 \uB300\uD574 \uC81C\uACF5\uB41C \uBC14\uC774\uD2B8 \uC21C\uC11C\uB294 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
InvalidByte = {0}\uC740(\uB294) {1}\uBC14\uC774\uD2B8 UTF-8 \uC2DC\uD000\uC2A4\uC5D0 \uB300\uD574 \uBD80\uC801\uD569\uD55C \uBC14\uC774\uD2B8\uC785\uB2C8\uB2E4.
ExpectedByte = {1}\uBC14\uC774\uD2B8 UTF-8 \uC2DC\uD000\uC2A4\uC5D0 \uD544\uC694\uD55C \uBC14\uC774\uD2B8\uB294 {0}\uC785\uB2C8\uB2E4.
InvalidHighSurrogate = UTF-8 \uC2DC\uD000\uC2A4\uC758 \uB192\uC740 \uB300\uB9AC \uBE44\uD2B8\uB294 0x10\uC744 \uCD08\uACFC\uD558\uC9C0 \uC54A\uC544\uC57C \uD558\uC9C0\uB9CC 0x{0}\uC774(\uAC00) \uBC1C\uACAC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
- OperationNotSupported = {1} \uC77D\uAE30 \uD504\uB85C\uADF8\uB7A8\uC740 \"{0}\" \uC791\uC5C5\uC744 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
- InvalidASCII = \uBC14\uC774\uD2B8 \"{0}\"\uC740(\uB294) (7\uBE44\uD2B8) ASCII \uBB38\uC790 \uC9D1\uD569\uC5D0 \uC18D\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
+ OperationNotSupported = {1} \uC77D\uAE30 \uD504\uB85C\uADF8\uB7A8\uC740 "{0}" \uC791\uC5C5\uC744 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
+ InvalidASCII = \uBC14\uC774\uD2B8 "{0}"\uC740(\uB294) (7\uBE44\uD2B8) ASCII \uBB38\uC790 \uC9D1\uD569\uC5D0 \uC18D\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
CharConversionFailure = \uD2B9\uC815 \uC778\uCF54\uB529 \uD615\uC2DD\uC774\uC5B4\uC57C \uD558\uB294 \uAC83\uC73C\uB85C \uD655\uC778\uB41C \uC5D4\uD2F0\uD2F0\uC5D0\uB294 \uD574\uB2F9 \uC778\uCF54\uB529\uC5D0 \uBD80\uC801\uD569\uD55C \uC2DC\uD000\uC2A4\uAC00 \uD3EC\uD568\uB418\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.
# DTD Messages
@@ -169,150 +166,150 @@
PubidCharIllegal = \uACF5\uC6A9 \uC2DD\uBCC4\uC790\uC5D0\uB294 \uBB38\uC790(\uC720\uB2C8\uCF54\uB4DC: 0x{0})\uAC00 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
SpaceRequiredBetweenPublicAndSystem = publicId\uC640 systemId \uC0AC\uC774\uC5D0\uB294 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
# 2.8 Prolog and Document Type Declaration
- MSG_SPACE_REQUIRED_BEFORE_ROOT_ELEMENT_TYPE_IN_DOCTYPEDECL = \uBB38\uC11C \uC720\uD615 \uC120\uC5B8\uC5D0\uC11C\uB294 \"''\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
- PEReferenceWithinMarkup = \uB9E4\uAC1C\uBCC0\uC218 \uC5D4\uD2F0\uD2F0 \uCC38\uC870 \"%{0};\"\uC740 DTD\uC758 \uB0B4\uBD80 \uBD80\uBD84 \uC9D1\uD569\uC5D0 \uC788\uB294 \uB9C8\uD06C\uC5C5 \uC548\uC5D0 \uD45C\uC2DC\uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+ MSG_SPACE_REQUIRED_BEFORE_ROOT_ELEMENT_TYPE_IN_DOCTYPEDECL = \uBB38\uC11C \uC720\uD615 \uC120\uC5B8\uC5D0\uC11C\uB294 "''\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
+ PEReferenceWithinMarkup = \uB9E4\uAC1C\uBCC0\uC218 \uC5D4\uD2F0\uD2F0 \uCC38\uC870 "%{0};"\uC740 DTD\uC758 \uB0B4\uBD80 \uBD80\uBD84 \uC9D1\uD569\uC5D0 \uC788\uB294 \uB9C8\uD06C\uC5C5 \uC548\uC5D0 \uD45C\uC2DC\uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
MSG_MARKUP_NOT_RECOGNIZED_IN_DTD = \uBB38\uC11C \uC720\uD615 \uC120\uC5B8\uC744 \uD3EC\uD568\uD558\uAC70\uB098 \uBB38\uC11C \uC720\uD615 \uC120\uC5B8\uC774 \uAC00\uB9AC\uD0A4\uB294 \uB9C8\uD06C\uC5C5 \uC120\uC5B8\uC740 \uC62C\uBC14\uB978 \uD615\uC2DD\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
# 2.10 White Space Handling
- MSG_XML_SPACE_DECLARATION_ILLEGAL = \"xml:space\"\uC5D0 \uB300\uD55C \uC18D\uC131 \uC120\uC5B8\uC740 \"default\" \uBC0F \"preserve\" \uAC12\uB9CC \uAC00\uB2A5\uD55C \uC5F4\uAC70 \uC720\uD615\uC73C\uB85C \uC9C0\uC815\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+ MSG_XML_SPACE_DECLARATION_ILLEGAL = "xml:space"\uC5D0 \uB300\uD55C \uC18D\uC131 \uC120\uC5B8\uC740 "default" \uBC0F "preserve" \uAC12\uB9CC \uAC00\uB2A5\uD55C \uC5F4\uAC70 \uC720\uD615\uC73C\uB85C \uC9C0\uC815\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
# 3.2 Element Type Declarations
- MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ELEMENTDECL = \uC694\uC18C \uC720\uD615 \uC120\uC5B8\uC5D0\uC11C\uB294 \"''\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
+ MSG_SPACE_REQUIRED_BEFORE_CONTENTSPEC_IN_ELEMENTDECL = \uC694\uC18C \uC720\uD615 \uC120\uC5B8\uC5D0\uC11C\uB294 \uC694\uC18C \uC720\uD615 "{0}" \uB2E4\uC74C\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+ MSG_CONTENTSPEC_REQUIRED_IN_ELEMENTDECL = \uC694\uC18C \uC720\uD615 \uC120\uC5B8\uC5D0\uC11C\uB294 \uC694\uC18C \uC720\uD615 "{0}" \uB2E4\uC74C\uC5D0 \uC81C\uC57D \uC870\uAC74\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+ ElementDeclUnterminated = \uC694\uC18C \uC720\uD615 "{0}"\uC5D0 \uB300\uD55C \uC120\uC5B8\uC740 ''>''\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
# 3.2.1 Element Content
- MSG_OPEN_PAREN_OR_ELEMENT_TYPE_REQUIRED_IN_CHILDREN = \uC694\uC18C \uC720\uD615 \"{0}\"\uC758 \uC120\uC5B8\uC5D0\uB294 ''('' \uBB38\uC790 \uB610\uB294 \uC694\uC18C \uC720\uD615\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
- MSG_CLOSE_PAREN_REQUIRED_IN_CHILDREN = \uC694\uC18C \uC720\uD615 \"{0}\"\uC758 \uC120\uC5B8\uC5D0\uB294 '')''\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4.
+ MSG_OPEN_PAREN_OR_ELEMENT_TYPE_REQUIRED_IN_CHILDREN = \uC694\uC18C \uC720\uD615 "{0}"\uC758 \uC120\uC5B8\uC5D0\uB294 ''('' \uBB38\uC790 \uB610\uB294 \uC694\uC18C \uC720\uD615\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+ MSG_CLOSE_PAREN_REQUIRED_IN_CHILDREN = \uC694\uC18C \uC720\uD615 "{0}"\uC758 \uC120\uC5B8\uC5D0\uB294 '')''\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4.
# 3.2.2 Mixed Content
- MSG_ELEMENT_TYPE_REQUIRED_IN_MIXED_CONTENT = \uC694\uC18C \uC720\uD615 \"{0}\"\uC758 \uC120\uC5B8\uC5D0\uB294 \uC694\uC18C \uC720\uD615\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
- MSG_CLOSE_PAREN_REQUIRED_IN_MIXED = \uC694\uC18C \uC720\uD615 \"{0}\"\uC758 \uC120\uC5B8\uC5D0\uB294 '')''\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4.
- MixedContentUnterminated = \uD558\uC704 \uC694\uC18C \uC720\uD615\uC774 \uC81C\uD55C\uB418\uB294 \uACBD\uC6B0 \uD63C\uD569 \uCF58\uD150\uCE20 \uBAA8\uB378 \"{0}\"\uC740(\uB294) \")*\"\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
+ MSG_ELEMENT_TYPE_REQUIRED_IN_MIXED_CONTENT = \uC694\uC18C \uC720\uD615 "{0}"\uC758 \uC120\uC5B8\uC5D0\uB294 \uC694\uC18C \uC720\uD615\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+ MSG_CLOSE_PAREN_REQUIRED_IN_MIXED = \uC694\uC18C \uC720\uD615 "{0}"\uC758 \uC120\uC5B8\uC5D0\uB294 '')''\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4.
+ MixedContentUnterminated = \uD558\uC704 \uC694\uC18C \uC720\uD615\uC774 \uC81C\uD55C\uB418\uB294 \uACBD\uC6B0 \uD63C\uD569 \uCF58\uD150\uCE20 \uBAA8\uB378 "{0}"\uC740(\uB294) ")*"\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
# 3.3 Attribute-List Declarations
- MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ATTLISTDECL = attribute-list \uC120\uC5B8\uC5D0\uC11C\uB294 \"\"\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
- IgnoreSectUnterminated = \uC81C\uC678\uB41C \uC870\uAC74\uBD80 \uC139\uC158\uC740 \"]]>\"\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
+ IncludeSectUnterminated = \uD3EC\uD568\uB41C \uC870\uAC74\uBD80 \uC139\uC158\uC740 "]]>"\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
+ IgnoreSectUnterminated = \uC81C\uC678\uB41C \uC870\uAC74\uBD80 \uC139\uC158\uC740 "]]>"\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
# 4.1 Character and Entity References
NameRequiredInPEReference = \uB9E4\uAC1C\uBCC0\uC218 \uC5D4\uD2F0\uD2F0 \uCC38\uC870\uC5D0\uC11C\uB294 '%' \uBC14\uB85C \uB2E4\uC74C\uC5D0 \uC5D4\uD2F0\uD2F0 \uC774\uB984\uC774 \uC640\uC57C \uD569\uB2C8\uB2E4.
- SemicolonRequiredInPEReference = \uB9E4\uAC1C\uBCC0\uC218 \uC5D4\uD2F0\uD2F0 \uCC38\uC870 \"%{0};\"\uC740 '';'' \uAD6C\uBD84\uC790\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
+ SemicolonRequiredInPEReference = \uB9E4\uAC1C\uBCC0\uC218 \uC5D4\uD2F0\uD2F0 \uCC38\uC870 "%{0};"\uC740 '';'' \uAD6C\uBD84\uC790\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
# 4.2 Entity Declarations
- MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_ENTITYDECL = \uC5D4\uD2F0\uD2F0 \uC120\uC5B8\uC5D0\uC11C\uB294 \"''\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
- MSG_DUPLICATE_ENTITY_DEFINITION = \"{0}\" \uC5D4\uD2F0\uD2F0\uAC00 \uB450 \uBC88 \uC774\uC0C1 \uC120\uC5B8\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
+ MSG_SPACE_REQUIRED_AFTER_ENTITY_NAME_IN_ENTITYDECL = \uC5D4\uD2F0\uD2F0 \uC120\uC5B8\uC5D0\uC11C\uB294 \uC5D4\uD2F0\uD2F0 \uC774\uB984 "{0}"\uACFC(\uC640) \uC815\uC758 \uC0AC\uC774\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+ MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_UNPARSED_ENTITYDECL = "{0}" \uC5D4\uD2F0\uD2F0\uC5D0 \uB300\uD55C \uC120\uC5B8\uC5D0\uC11C\uB294 "NDATA"\uC640 \uD45C\uAE30\uBC95 \uC774\uB984 \uC0AC\uC774\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+ MSG_SPACE_REQUIRED_BEFORE_NDATA_IN_UNPARSED_ENTITYDECL = "{0}" \uC5D4\uD2F0\uD2F0\uC5D0 \uB300\uD55C \uC120\uC5B8\uC5D0\uC11C\uB294 "NDATA" \uC55E\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+ MSG_NOTATION_NAME_REQUIRED_FOR_UNPARSED_ENTITYDECL = "{0}" \uC5D4\uD2F0\uD2F0\uC5D0 \uB300\uD55C \uC120\uC5B8\uC5D0\uC11C\uB294 "NDATA" \uB2E4\uC74C\uC5D0 \uD45C\uAE30\uBC95 \uC774\uB984\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+ EntityDeclUnterminated = "{0}" \uC5D4\uD2F0\uD2F0\uC5D0 \uB300\uD55C \uC120\uC5B8\uC740 ''>''\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
+ MSG_DUPLICATE_ENTITY_DEFINITION = "{0}" \uC5D4\uD2F0\uD2F0\uAC00 \uB450 \uBC88 \uC774\uC0C1 \uC120\uC5B8\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
# 4.2.2 External Entities
- ExternalIDRequired = \uC678\uBD80 \uC5D4\uD2F0\uD2F0 \uC120\uC5B8\uC740 \"SYSTEM\" \uB610\uB294 \"PUBLIC\"\uC73C\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4.
- MSG_SPACE_REQUIRED_BEFORE_PUBIDLITERAL_IN_EXTERNALID = \"PUBLIC\"\uACFC \uACF5\uC6A9 \uC2DD\uBCC4\uC790 \uC0AC\uC774\uC5D0\uB294 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+ ExternalIDRequired = \uC678\uBD80 \uC5D4\uD2F0\uD2F0 \uC120\uC5B8\uC740 "SYSTEM" \uB610\uB294 "PUBLIC"\uC73C\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4.
+ MSG_SPACE_REQUIRED_BEFORE_PUBIDLITERAL_IN_EXTERNALID = "PUBLIC"\uACFC \uACF5\uC6A9 \uC2DD\uBCC4\uC790 \uC0AC\uC774\uC5D0\uB294 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
MSG_SPACE_REQUIRED_AFTER_PUBIDLITERAL_IN_EXTERNALID = \uACF5\uC6A9 \uC2DD\uBCC4\uC790\uC640 \uC2DC\uC2A4\uD15C \uC2DD\uBCC4\uC790 \uC0AC\uC774\uC5D0\uB294 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
- MSG_SPACE_REQUIRED_BEFORE_SYSTEMLITERAL_IN_EXTERNALID = \"SYSTEM\"\uACFC \uC2DC\uC2A4\uD15C \uC2DD\uBCC4\uC790 \uC0AC\uC774\uC5D0\uB294 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
- MSG_URI_FRAGMENT_IN_SYSTEMID = \uBD80\uBD84 \uC2DD\uBCC4\uC790\uB294 \uC2DC\uC2A4\uD15C \uC2DD\uBCC4\uC790 \"{0}\"\uC758 \uC77C\uBD80\uB85C \uC9C0\uC815\uB418\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.
+ MSG_SPACE_REQUIRED_BEFORE_SYSTEMLITERAL_IN_EXTERNALID = "SYSTEM"\uACFC \uC2DC\uC2A4\uD15C \uC2DD\uBCC4\uC790 \uC0AC\uC774\uC5D0\uB294 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+ MSG_URI_FRAGMENT_IN_SYSTEMID = \uBD80\uBD84 \uC2DD\uBCC4\uC790\uB294 \uC2DC\uC2A4\uD15C \uC2DD\uBCC4\uC790 "{0}"\uC758 \uC77C\uBD80\uB85C \uC9C0\uC815\uB418\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.
# 4.7 Notation Declarations
- MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_NOTATIONDECL = \uD45C\uAE30\uBC95 \uC120\uC5B8\uC5D0\uC11C\uB294 \"''\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
+ MSG_SPACE_REQUIRED_AFTER_NOTATION_NAME_IN_NOTATIONDECL = \uD45C\uAE30\uBC95 \uC120\uC5B8\uC5D0\uC11C\uB294 \uD45C\uAE30\uBC95 \uC774\uB984 "{0}" \uB2E4\uC74C\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+ ExternalIDorPublicIDRequired = "{0}" \uD45C\uAE30\uBC95\uC5D0 \uB300\uD55C \uC120\uC5B8\uC5D0\uB294 \uC2DC\uC2A4\uD15C \uB610\uB294 \uACF5\uC6A9 \uC2DD\uBCC4\uC790\uAC00 \uD3EC\uD568\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+ NotationDeclUnterminated = "{0}" \uD45C\uAE30\uBC95\uC5D0 \uB300\uD55C \uC120\uC5B8\uC740 ''>''\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
# Validation messages
- DuplicateTypeInMixedContent = \uC694\uC18C \uC720\uD615 \"{1}\"\uC774(\uAC00) \uC694\uC18C \uC120\uC5B8 \"{0}\"\uC758 \uCF58\uD150\uCE20 \uBAA8\uB378\uC5D0 \uC774\uBBF8 \uC9C0\uC815\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
- ENTITIESInvalid = ENTITIES \uC720\uD615\uC758 \uC18D\uC131\uAC12 \"{1}\"\uC740(\uB294) \uAD6C\uBB38\uC774 \uBD84\uC11D\uB418\uC9C0 \uC54A\uC740 \uD558\uB098 \uC774\uC0C1\uC758 \uC5D4\uD2F0\uD2F0\uC5D0 \uB300\uD55C \uC774\uB984\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
- ENTITYInvalid = ENTITY \uC720\uD615\uC758 \uC18D\uC131\uAC12 \"{1}\"\uC740(\uB294) \uAD6C\uBB38\uC774 \uBD84\uC11D\uB418\uC9C0 \uC54A\uC740 \uC5D4\uD2F0\uD2F0\uC5D0 \uB300\uD55C \uC774\uB984\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
- IDDefaultTypeInvalid = ID \uC18D\uC131 \"{0}\"\uC758 \uC120\uC5B8\uB41C \uAE30\uBCF8\uAC12\uC740 \"#IMPLIED\" \uB610\uB294 \"#REQUIRED\"\uC5EC\uC57C \uD569\uB2C8\uB2E4.
- IDInvalid = ID \uC720\uD615\uC758 \uC18D\uC131\uAC12 \"{0}\"\uC740(\uB294) \uC774\uB984\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
- IDInvalidWithNamespaces = \uB124\uC784\uC2A4\uD398\uC774\uC2A4\uAC00 \uC0AC\uC6A9\uC73C\uB85C \uC124\uC815\uB41C \uACBD\uC6B0 ID \uC720\uD615\uC758 \uC18D\uC131\uAC12 \"{0}\"\uC740(\uB294) NCName\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
- IDNotUnique = ID \uC720\uD615\uC758 \uC18D\uC131\uAC12 \"{0}\"\uC740(\uB294) \uBB38\uC11C \uB0B4\uC5D0\uC11C \uACE0\uC720\uD574\uC57C \uD569\uB2C8\uB2E4.
- IDREFInvalid = IDREF \uC720\uD615\uC758 \uC18D\uC131\uAC12 \"{0}\"\uC740(\uB294) \uC774\uB984\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
- IDREFInvalidWithNamespaces = \uB124\uC784\uC2A4\uD398\uC774\uC2A4\uAC00 \uC0AC\uC6A9\uC73C\uB85C \uC124\uC815\uB41C \uACBD\uC6B0 IDREF \uC720\uD615\uC758 \uC18D\uC131\uAC12 \"{0}\"\uC740(\uB294) NCName\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
- IDREFSInvalid = IDREFS \uC720\uD615\uC758 \uC18D\uC131\uAC12 \"{0}\"\uC740(\uB294) \uD558\uB098 \uC774\uC0C1\uC758 \uC774\uB984\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
- ILL_FORMED_PARAMETER_ENTITY_WHEN_USED_IN_DECL = \uC5D4\uD2F0\uD2F0 \uCC38\uC870\uAC00 \uC804\uCCB4 \uC120\uC5B8\uC73C\uB85C \uC0AC\uC6A9\uB41C \uACBD\uC6B0 \uB9E4\uAC1C\uBCC0\uC218 \uC5D4\uD2F0\uD2F0 \"{0}\"\uC758 \uB300\uCCB4 \uD14D\uC2A4\uD2B8\uC5D0\uB294 \uC81C\uB300\uB85C \uC911\uCCA9\uB41C \uC120\uC5B8\uC774 \uD3EC\uD568\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
- ImproperDeclarationNesting = \uB9E4\uAC1C\uBCC0\uC218 \uC5D4\uD2F0\uD2F0 \"{0}\"\uC758 \uB300\uCCB4 \uD14D\uC2A4\uD2B8\uC5D0\uB294 \uC81C\uB300\uB85C \uC911\uCCA9\uB41C \uC120\uC5B8\uC774 \uD3EC\uD568\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
- ImproperGroupNesting = \uB9E4\uAC1C\uBCC0\uC218 \uC5D4\uD2F0\uD2F0 \"{0}\"\uC758 \uB300\uCCB4 \uD14D\uC2A4\uD2B8\uC5D0\uB294 \uC81C\uB300\uB85C \uC911\uCCA9\uB41C \uAD04\uD638 \uC30D\uC774 \uD3EC\uD568\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
- INVALID_PE_IN_CONDITIONAL = \uB9E4\uAC1C\uBCC0\uC218 \uC5D4\uD2F0\uD2F0 \"{0}\"\uC758 \uB300\uCCB4 \uD14D\uC2A4\uD2B8\uC5D0\uB294 \uC804\uCCB4 \uC870\uAC74\uBD80 \uC139\uC158\uC774 \uD3EC\uD568\uB418\uAC70\uB098 INCLUDE \uB610\uB294 IGNORE\uB9CC \uD3EC\uD568\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
- MSG_ATTRIBUTE_NOT_DECLARED = \uC694\uC18C \uC720\uD615 \"{0}\"\uC5D0 \uB300\uD55C \"{1}\" \uC18D\uC131\uC744 \uC120\uC5B8\uD574\uC57C \uD569\uB2C8\uB2E4.
- MSG_ATTRIBUTE_VALUE_NOT_IN_LIST = \uAC12\uC774 \"{1}\"\uC778 \"{0}\" \uC18D\uC131\uC5D0\uB294 \"{2}\" \uBAA9\uB85D\uC758 \uAC12\uC774 \uC0AC\uC6A9\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
- MSG_ATTVALUE_CHANGED_DURING_NORMALIZATION_WHEN_STANDALONE = \"{0}\" \uC18D\uC131\uC758 \"{1}\" \uAC12\uC740 \uB3C5\uB9BD\uD615 \uBB38\uC11C\uC5D0\uC11C \uC815\uADDC\uD654\uC5D0 \uC758\uD574 \"{2}\"(\uC73C)\uB85C \uBCC0\uACBD\uB418\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.
- MSG_CONTENT_INCOMPLETE = \uC694\uC18C \uC720\uD615 \"{0}\"\uC758 \uCF58\uD150\uCE20\uAC00 \uBD88\uC644\uC804\uD569\uB2C8\uB2E4. \uD574\uB2F9 \uCF58\uD150\uCE20\uB294 \"{1}\"\uACFC(\uC640) \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4.
- MSG_CONTENT_INVALID = \uC694\uC18C \uC720\uD615 \"{0}\"\uC758 \uCF58\uD150\uCE20\uB294 \"{1}\"\uACFC(\uC640) \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4.
- MSG_CONTENT_INVALID_SPECIFIED = \uC694\uC18C \uC720\uD615 \"{0}\"\uC758 \uCF58\uD150\uCE20\uB294 \"{1}\"\uACFC(\uC640) \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4. \"{2}\" \uC720\uD615\uC758 \uD558\uC704 \uD56D\uBAA9\uC740 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
- MSG_DEFAULTED_ATTRIBUTE_NOT_SPECIFIED = \uC694\uC18C \uC720\uD615 \"{0}\"\uC5D0 \uB300\uD55C \"{1}\" \uC18D\uC131\uC5D0 \uAE30\uBCF8\uAC12\uC774 \uC788\uC73C\uBA70 \uB3C5\uB9BD\uD615 \uBB38\uC11C\uC5D0 \uC9C0\uC815\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
- MSG_DUPLICATE_ATTDEF = \uC694\uC18C \uC720\uD615 \"{0}\"\uC5D0 \uB300\uD55C \"{1}\" \uC18D\uC131\uC774 \uC774\uBBF8 \uC120\uC5B8\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.
- MSG_ELEMENT_ALREADY_DECLARED = \uC694\uC18C \uC720\uD615 \"{0}\"\uC740(\uB294) \uB450 \uBC88 \uC774\uC0C1 \uC120\uC5B8\uB418\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.
- MSG_ELEMENT_NOT_DECLARED = \uC694\uC18C \uC720\uD615 \"{0}\"\uC744(\uB97C) \uC120\uC5B8\uD574\uC57C \uD569\uB2C8\uB2E4.
+ DuplicateTypeInMixedContent = \uC694\uC18C \uC720\uD615 "{1}"\uC774(\uAC00) \uC694\uC18C \uC120\uC5B8 "{0}"\uC758 \uCF58\uD150\uCE20 \uBAA8\uB378\uC5D0 \uC774\uBBF8 \uC9C0\uC815\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
+ ENTITIESInvalid = ENTITIES \uC720\uD615\uC758 \uC18D\uC131\uAC12 "{1}"\uC740(\uB294) \uAD6C\uBB38\uC774 \uBD84\uC11D\uB418\uC9C0 \uC54A\uC740 \uD558\uB098 \uC774\uC0C1\uC758 \uC5D4\uD2F0\uD2F0\uC5D0 \uB300\uD55C \uC774\uB984\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+ ENTITYInvalid = ENTITY \uC720\uD615\uC758 \uC18D\uC131\uAC12 "{1}"\uC740(\uB294) \uAD6C\uBB38\uC774 \uBD84\uC11D\uB418\uC9C0 \uC54A\uC740 \uC5D4\uD2F0\uD2F0\uC5D0 \uB300\uD55C \uC774\uB984\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+ IDDefaultTypeInvalid = ID \uC18D\uC131 "{0}"\uC758 \uC120\uC5B8\uB41C \uAE30\uBCF8\uAC12\uC740 "#IMPLIED" \uB610\uB294 "#REQUIRED"\uC5EC\uC57C \uD569\uB2C8\uB2E4.
+ IDInvalid = ID \uC720\uD615\uC758 \uC18D\uC131\uAC12 "{0}"\uC740(\uB294) \uC774\uB984\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+ IDInvalidWithNamespaces = \uB124\uC784\uC2A4\uD398\uC774\uC2A4\uAC00 \uC0AC\uC6A9\uC73C\uB85C \uC124\uC815\uB41C \uACBD\uC6B0 ID \uC720\uD615\uC758 \uC18D\uC131\uAC12 "{0}"\uC740(\uB294) NCName\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+ IDNotUnique = ID \uC720\uD615\uC758 \uC18D\uC131\uAC12 "{0}"\uC740(\uB294) \uBB38\uC11C \uB0B4\uC5D0\uC11C \uACE0\uC720\uD574\uC57C \uD569\uB2C8\uB2E4.
+ IDREFInvalid = IDREF \uC720\uD615\uC758 \uC18D\uC131\uAC12 "{0}"\uC740(\uB294) \uC774\uB984\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+ IDREFInvalidWithNamespaces = \uB124\uC784\uC2A4\uD398\uC774\uC2A4\uAC00 \uC0AC\uC6A9\uC73C\uB85C \uC124\uC815\uB41C \uACBD\uC6B0 IDREF \uC720\uD615\uC758 \uC18D\uC131\uAC12 "{0}"\uC740(\uB294) NCName\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+ IDREFSInvalid = IDREFS \uC720\uD615\uC758 \uC18D\uC131\uAC12 "{0}"\uC740(\uB294) \uD558\uB098 \uC774\uC0C1\uC758 \uC774\uB984\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+ ILL_FORMED_PARAMETER_ENTITY_WHEN_USED_IN_DECL = \uC5D4\uD2F0\uD2F0 \uCC38\uC870\uAC00 \uC804\uCCB4 \uC120\uC5B8\uC73C\uB85C \uC0AC\uC6A9\uB41C \uACBD\uC6B0 \uB9E4\uAC1C\uBCC0\uC218 \uC5D4\uD2F0\uD2F0 "{0}"\uC758 \uB300\uCCB4 \uD14D\uC2A4\uD2B8\uC5D0\uB294 \uC81C\uB300\uB85C \uC911\uCCA9\uB41C \uC120\uC5B8\uC774 \uD3EC\uD568\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+ ImproperDeclarationNesting = \uB9E4\uAC1C\uBCC0\uC218 \uC5D4\uD2F0\uD2F0 "{0}"\uC758 \uB300\uCCB4 \uD14D\uC2A4\uD2B8\uC5D0\uB294 \uC81C\uB300\uB85C \uC911\uCCA9\uB41C \uC120\uC5B8\uC774 \uD3EC\uD568\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+ ImproperGroupNesting = \uB9E4\uAC1C\uBCC0\uC218 \uC5D4\uD2F0\uD2F0 "{0}"\uC758 \uB300\uCCB4 \uD14D\uC2A4\uD2B8\uC5D0\uB294 \uC81C\uB300\uB85C \uC911\uCCA9\uB41C \uAD04\uD638 \uC30D\uC774 \uD3EC\uD568\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+ INVALID_PE_IN_CONDITIONAL = \uB9E4\uAC1C\uBCC0\uC218 \uC5D4\uD2F0\uD2F0 "{0}"\uC758 \uB300\uCCB4 \uD14D\uC2A4\uD2B8\uC5D0\uB294 \uC804\uCCB4 \uC870\uAC74\uBD80 \uC139\uC158\uC774 \uD3EC\uD568\uB418\uAC70\uB098 INCLUDE \uB610\uB294 IGNORE\uB9CC \uD3EC\uD568\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+ MSG_ATTRIBUTE_NOT_DECLARED = \uC694\uC18C \uC720\uD615 "{0}"\uC5D0 \uB300\uD55C "{1}" \uC18D\uC131\uC744 \uC120\uC5B8\uD574\uC57C \uD569\uB2C8\uB2E4.
+ MSG_ATTRIBUTE_VALUE_NOT_IN_LIST = \uAC12\uC774 "{1}"\uC778 "{0}" \uC18D\uC131\uC5D0\uB294 "{2}" \uBAA9\uB85D\uC758 \uAC12\uC774 \uC0AC\uC6A9\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+ MSG_ATTVALUE_CHANGED_DURING_NORMALIZATION_WHEN_STANDALONE = "{0}" \uC18D\uC131\uC758 "{1}" \uAC12\uC740 \uB3C5\uB9BD\uD615 \uBB38\uC11C\uC5D0\uC11C \uC815\uADDC\uD654\uC5D0 \uC758\uD574 "{2}"(\uC73C)\uB85C \uBCC0\uACBD\uB418\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.
+ MSG_CONTENT_INCOMPLETE = \uC694\uC18C \uC720\uD615 "{0}"\uC758 \uCF58\uD150\uCE20\uAC00 \uBD88\uC644\uC804\uD569\uB2C8\uB2E4. \uD574\uB2F9 \uCF58\uD150\uCE20\uB294 "{1}"\uACFC(\uC640) \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4.
+ MSG_CONTENT_INVALID = \uC694\uC18C \uC720\uD615 "{0}"\uC758 \uCF58\uD150\uCE20\uB294 "{1}"\uACFC(\uC640) \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4.
+ MSG_CONTENT_INVALID_SPECIFIED = \uC694\uC18C \uC720\uD615 "{0}"\uC758 \uCF58\uD150\uCE20\uB294 "{1}"\uACFC(\uC640) \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4. "{2}" \uC720\uD615\uC758 \uD558\uC704 \uD56D\uBAA9\uC740 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
+ MSG_DEFAULTED_ATTRIBUTE_NOT_SPECIFIED = \uC694\uC18C \uC720\uD615 "{0}"\uC5D0 \uB300\uD55C "{1}" \uC18D\uC131\uC5D0 \uAE30\uBCF8\uAC12\uC774 \uC788\uC73C\uBA70 \uB3C5\uB9BD\uD615 \uBB38\uC11C\uC5D0 \uC9C0\uC815\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+ MSG_DUPLICATE_ATTDEF = \uC694\uC18C \uC720\uD615 "{0}"\uC5D0 \uB300\uD55C "{1}" \uC18D\uC131\uC774 \uC774\uBBF8 \uC120\uC5B8\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.
+ MSG_ELEMENT_ALREADY_DECLARED = \uC694\uC18C \uC720\uD615 "{0}"\uC740(\uB294) \uB450 \uBC88 \uC774\uC0C1 \uC120\uC5B8\uB418\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.
+ MSG_ELEMENT_NOT_DECLARED = \uC694\uC18C \uC720\uD615 "{0}"\uC744(\uB97C) \uC120\uC5B8\uD574\uC57C \uD569\uB2C8\uB2E4.
MSG_GRAMMAR_NOT_FOUND = \uBB38\uC11C\uAC00 \uBD80\uC801\uD569\uD568: \uBB38\uBC95\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
- MSG_ELEMENT_WITH_ID_REQUIRED = \uC2DD\uBCC4\uC790\uAC00 \"{0}\"\uC778 \uC694\uC18C\uAC00 \uBB38\uC11C\uC5D0 \uB098\uD0C0\uB098\uC57C \uD569\uB2C8\uB2E4.
- MSG_EXTERNAL_ENTITY_NOT_PERMITTED = \uB3C5\uB9BD\uD615 \uBB38\uC11C\uC5D0\uC11C\uB294 \uC678\uBD80 \uC5D4\uD2F0\uD2F0 \"{0}\"\uC5D0 \uB300\uD55C \uCC38\uC870\uAC00 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
- MSG_FIXED_ATTVALUE_INVALID = \uAC12\uC774 \"{2}\"\uC778 \"{1}\" \uC18D\uC131\uC758 \uAC12\uC740 \"{3}\"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
- MSG_MORE_THAN_ONE_ID_ATTRIBUTE = \uC694\uC18C \uC720\uD615 \"{0}\"\uC5D0 ID \uC720\uD615\uC758 \"{1}\" \uC18D\uC131\uC774 \uC774\uBBF8 \uC788\uC73C\uBBC0\uB85C ID \uC720\uD615\uC758 \uB450\uBC88\uC9F8 \uC18D\uC131 \"{2}\"\uC774(\uAC00) \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
- MSG_MORE_THAN_ONE_NOTATION_ATTRIBUTE = \uC694\uC18C \uC720\uD615 \"{0}\"\uC5D0 NOTATION \uC720\uD615\uC758 \"{1}\" \uC18D\uC131\uC774 \uC774\uBBF8 \uC788\uC73C\uBBC0\uB85C NOTATION \uC720\uD615\uC758 \uB450\uBC88\uC9F8 \uC18D\uC131 \"{2}\"\uC774(\uAC00) \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
- MSG_NOTATION_NOT_DECLARED_FOR_NOTATIONTYPE_ATTRIBUTE = \"{1}\" \uD45C\uAE30\uBC95\uC740 \"{0}\" \uC18D\uC131\uC5D0 \uB300\uD55C \uD45C\uAE30\uBC95 \uC720\uD615 \uBAA9\uB85D\uC5D0\uC11C \uCC38\uC870\uB418\uB294 \uACBD\uC6B0 \uC120\uC5B8\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
- MSG_NOTATION_NOT_DECLARED_FOR_UNPARSED_ENTITYDECL = \"{1}\" \uD45C\uAE30\uBC95\uC740 \"{0}\"\uC5D0 \uB300\uD574 \uAD6C\uBB38\uC774 \uBD84\uC11D\uB418\uC9C0 \uC54A\uC740 \uC5D4\uD2F0\uD2F0 \uC120\uC5B8\uC5D0\uC11C \uCC38\uC870\uB418\uB294 \uACBD\uC6B0 \uC120\uC5B8\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
- MSG_REFERENCE_TO_EXTERNALLY_DECLARED_ENTITY_WHEN_STANDALONE = \uB3C5\uB9BD\uD615 \uBB38\uC11C\uC5D0\uC11C\uB294 \uAD6C\uBB38\uC774 \uBD84\uC11D\uB41C \uC678\uBD80 \uC5D4\uD2F0\uD2F0\uC5D0\uC11C \uC120\uC5B8\uB41C \"{0}\" \uC5D4\uD2F0\uD2F0\uC5D0 \uB300\uD55C \uCC38\uC870\uAC00 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
- MSG_REQUIRED_ATTRIBUTE_NOT_SPECIFIED = \"{1}\" \uC18D\uC131\uC774 \uD544\uC694\uD558\uBA70 \uC694\uC18C \uC720\uD615 \"{0}\"\uC5D0 \uB300\uD574 \uC9C0\uC815\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+ MSG_ELEMENT_WITH_ID_REQUIRED = \uC2DD\uBCC4\uC790\uAC00 "{0}"\uC778 \uC694\uC18C\uAC00 \uBB38\uC11C\uC5D0 \uB098\uD0C0\uB098\uC57C \uD569\uB2C8\uB2E4.
+ MSG_EXTERNAL_ENTITY_NOT_PERMITTED = \uB3C5\uB9BD\uD615 \uBB38\uC11C\uC5D0\uC11C\uB294 \uC678\uBD80 \uC5D4\uD2F0\uD2F0 "{0}"\uC5D0 \uB300\uD55C \uCC38\uC870\uAC00 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
+ MSG_FIXED_ATTVALUE_INVALID = \uAC12\uC774 "{2}"\uC778 "{1}" \uC18D\uC131\uC758 \uAC12\uC740 "{3}"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+ MSG_MORE_THAN_ONE_ID_ATTRIBUTE = \uC694\uC18C \uC720\uD615 "{0}"\uC5D0 ID \uC720\uD615\uC758 "{1}" \uC18D\uC131\uC774 \uC774\uBBF8 \uC788\uC73C\uBBC0\uB85C ID \uC720\uD615\uC758 \uB450\uBC88\uC9F8 \uC18D\uC131 "{2}"\uC774(\uAC00) \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
+ MSG_MORE_THAN_ONE_NOTATION_ATTRIBUTE = \uC694\uC18C \uC720\uD615 "{0}"\uC5D0 NOTATION \uC720\uD615\uC758 "{1}" \uC18D\uC131\uC774 \uC774\uBBF8 \uC788\uC73C\uBBC0\uB85C NOTATION \uC720\uD615\uC758 \uB450\uBC88\uC9F8 \uC18D\uC131 "{2}"\uC774(\uAC00) \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
+ MSG_NOTATION_NOT_DECLARED_FOR_NOTATIONTYPE_ATTRIBUTE = "{1}" \uD45C\uAE30\uBC95\uC740 "{0}" \uC18D\uC131\uC5D0 \uB300\uD55C \uD45C\uAE30\uBC95 \uC720\uD615 \uBAA9\uB85D\uC5D0\uC11C \uCC38\uC870\uB418\uB294 \uACBD\uC6B0 \uC120\uC5B8\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+ MSG_NOTATION_NOT_DECLARED_FOR_UNPARSED_ENTITYDECL = "{1}" \uD45C\uAE30\uBC95\uC740 "{0}"\uC5D0 \uB300\uD574 \uAD6C\uBB38\uC774 \uBD84\uC11D\uB418\uC9C0 \uC54A\uC740 \uC5D4\uD2F0\uD2F0 \uC120\uC5B8\uC5D0\uC11C \uCC38\uC870\uB418\uB294 \uACBD\uC6B0 \uC120\uC5B8\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+ MSG_REFERENCE_TO_EXTERNALLY_DECLARED_ENTITY_WHEN_STANDALONE = \uB3C5\uB9BD\uD615 \uBB38\uC11C\uC5D0\uC11C\uB294 \uAD6C\uBB38\uC774 \uBD84\uC11D\uB41C \uC678\uBD80 \uC5D4\uD2F0\uD2F0\uC5D0\uC11C \uC120\uC5B8\uB41C "{0}" \uC5D4\uD2F0\uD2F0\uC5D0 \uB300\uD55C \uCC38\uC870\uAC00 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
+ MSG_REQUIRED_ATTRIBUTE_NOT_SPECIFIED = "{1}" \uC18D\uC131\uC774 \uD544\uC694\uD558\uBA70 \uC694\uC18C \uC720\uD615 "{0}"\uC5D0 \uB300\uD574 \uC9C0\uC815\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
MSG_WHITE_SPACE_IN_ELEMENT_CONTENT_WHEN_STANDALONE = \uB3C5\uB9BD\uD615 \uBB38\uC11C\uC5D0\uC11C\uB294 \uC694\uC18C \uCF58\uD150\uCE20\uB97C \uAC00\uC9C0\uBA70 \uAD6C\uBB38\uC774 \uBD84\uC11D\uB41C \uC678\uBD80 \uC5D4\uD2F0\uD2F0\uC5D0\uC11C \uC120\uC5B8\uB41C \uC694\uC18C \uC0AC\uC774\uC5D0 \uACF5\uBC31\uC774 \uC5C6\uC5B4\uC57C \uD569\uB2C8\uB2E4.
- NMTOKENInvalid = NMTOKEN \uC720\uD615\uC758 \uC18D\uC131\uAC12 \"{0}\"\uC740(\uB294) \uC774\uB984 \uD1A0\uD070\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
- NMTOKENSInvalid = NMTOKENS \uC720\uD615\uC758 \uC18D\uC131\uAC12 \"{0}\"\uC740(\uB294) \uD558\uB098 \uC774\uC0C1\uC758 \uC774\uB984 \uD1A0\uD070\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
- NoNotationOnEmptyElement = EMPTY\uB85C \uC120\uC5B8\uB41C \uC694\uC18C \uC720\uD615 \"{0}\"\uC740(\uB294) NOTATION \uC720\uD615\uC758 \"{1}\" \uC18D\uC131\uC744 \uC120\uC5B8\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
- RootElementTypeMustMatchDoctypedecl = \uBB38\uC11C \uB8E8\uD2B8 \uC694\uC18C \"{1}\"\uC740(\uB294) DOCTYPE \uB8E8\uD2B8 \"{0}\"\uACFC(\uC640) \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4.
- UndeclaredElementInContentSpec = \"{0}\" \uC694\uC18C\uC758 \uCF58\uD150\uCE20 \uBAA8\uB378\uC774 \uC120\uC5B8\uB418\uC9C0 \uC54A\uC740 \uC694\uC18C \"{1}\"\uC744(\uB97C) \uCC38\uC870\uD569\uB2C8\uB2E4.
- UniqueNotationName = \"{0}\" \uD45C\uAE30\uBC95\uC5D0 \uB300\uD55C \uC120\uC5B8\uC774 \uACE0\uC720\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uC81C\uACF5\uB41C \uC774\uB984\uC740 \uB450 \uAC1C \uC774\uC0C1\uC758 \uD45C\uAE30\uBC95 \uC120\uC5B8\uC5D0\uC11C \uC120\uC5B8\uB418\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.
+ NMTOKENInvalid = NMTOKEN \uC720\uD615\uC758 \uC18D\uC131\uAC12 "{0}"\uC740(\uB294) \uC774\uB984 \uD1A0\uD070\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+ NMTOKENSInvalid = NMTOKENS \uC720\uD615\uC758 \uC18D\uC131\uAC12 "{0}"\uC740(\uB294) \uD558\uB098 \uC774\uC0C1\uC758 \uC774\uB984 \uD1A0\uD070\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+ NoNotationOnEmptyElement = EMPTY\uB85C \uC120\uC5B8\uB41C \uC694\uC18C \uC720\uD615 "{0}"\uC740(\uB294) NOTATION \uC720\uD615\uC758 "{1}" \uC18D\uC131\uC744 \uC120\uC5B8\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+ RootElementTypeMustMatchDoctypedecl = \uBB38\uC11C \uB8E8\uD2B8 \uC694\uC18C "{1}"\uC740(\uB294) DOCTYPE \uB8E8\uD2B8 "{0}"\uACFC(\uC640) \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4.
+ UndeclaredElementInContentSpec = "{0}" \uC694\uC18C\uC758 \uCF58\uD150\uCE20 \uBAA8\uB378\uC774 \uC120\uC5B8\uB418\uC9C0 \uC54A\uC740 \uC694\uC18C "{1}"\uC744(\uB97C) \uCC38\uC870\uD569\uB2C8\uB2E4.
+ UniqueNotationName = "{0}" \uD45C\uAE30\uBC95\uC5D0 \uB300\uD55C \uC120\uC5B8\uC774 \uACE0\uC720\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uC81C\uACF5\uB41C \uC774\uB984\uC740 \uB450 \uAC1C \uC774\uC0C1\uC758 \uD45C\uAE30\uBC95 \uC120\uC5B8\uC5D0\uC11C \uC120\uC5B8\uB418\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.
ENTITYFailedInitializeGrammar = ENTITYDatatype \uAC80\uC99D\uAE30: \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. \uC801\uD569\uD55C \uBB38\uBC95 \uCC38\uC870\uB85C \uCD08\uAE30\uD654 \uBA54\uC18C\uB4DC\uB97C \uD638\uCD9C\uD574\uC57C \uD569\uB2C8\uB2E4. \t
- ENTITYNotUnparsed = ENTITY \"{0}\"\uC758 \uAD6C\uBB38\uC774 \uBD84\uC11D\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.
- ENTITYNotValid = ENTITY \"{0}\"\uC774(\uAC00) \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
+ ENTITYNotUnparsed = ENTITY "{0}"\uC758 \uAD6C\uBB38\uC774 \uBD84\uC11D\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.
+ ENTITYNotValid = ENTITY "{0}"\uC774(\uAC00) \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
EmptyList = ENTITIES, IDREFS \uBC0F NMTOKENS \uC720\uD615\uC758 \uAC12\uC740 \uBE48 \uBAA9\uB85D\uC77C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
# Entity related messages
# 3.1 Start-Tags, End-Tags, and Empty-Element Tags
- ReferenceToExternalEntity = \uC18D\uC131\uAC12\uC5D0\uC11C\uB294 \uC678\uBD80 \uC5D4\uD2F0\uD2F0 \uCC38\uC870 \"&{0};\"\uC774 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
- AccessExternalDTD = External DTD: Failed to read external DTD ''{0}'', because ''{1}'' access is not allowed.
- AccessExternalEntity = External Entity: Failed to read external document ''{0}'', because ''{1}'' access is not allowed.
+ ReferenceToExternalEntity = \uC18D\uC131\uAC12\uC5D0\uC11C\uB294 \uC678\uBD80 \uC5D4\uD2F0\uD2F0 \uCC38\uC870 "&{0};"\uC774 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
+ AccessExternalDTD = \uC678\uBD80 DTD: ''{1}'' \uC561\uC138\uC2A4\uAC00 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC544 \uC678\uBD80 DTD ''{0}'' \uC77D\uAE30\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
+ AccessExternalEntity = \uC678\uBD80 \uC5D4\uD2F0\uD2F0: ''{1}'' \uC561\uC138\uC2A4\uAC00 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC544 \uC678\uBD80 \uBB38\uC11C ''{0}'' \uC77D\uAE30\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
# 4.1 Character and Entity References
- EntityNotDeclared = \"{0}\" \uC5D4\uD2F0\uD2F0\uAC00 \uCC38\uC870\uB418\uC5C8\uC9C0\uB9CC \uC120\uC5B8\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.
- ReferenceToUnparsedEntity = \uAD6C\uBB38\uC774 \uBD84\uC11D\uB418\uC9C0 \uC54A\uC740 \uC5D4\uD2F0\uD2F0 \uCC38\uC870 \"&{0};\"\uC740(\uB294) \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
- RecursiveReference = \"{0}\"\uC740(\uB294) \uC21C\uD658 \uC5D4\uD2F0\uD2F0 \uCC38\uC870\uC785\uB2C8\uB2E4(\uCC38\uC870 \uACBD\uB85C: {1}).
- RecursiveGeneralReference = \"&{0};\"\uC740 \uC21C\uD658 \uC77C\uBC18 \uC5D4\uD2F0\uD2F0 \uCC38\uC870\uC785\uB2C8\uB2E4(\uCC38\uC870 \uACBD\uB85C: {1}).
- RecursivePEReference = \"%{0};\"\uC740 \uC21C\uD658 \uB9E4\uAC1C\uBCC0\uC218 \uC5D4\uD2F0\uD2F0 \uCC38\uC870\uC785\uB2C8\uB2E4(\uCC38\uC870 \uACBD\uB85C: {1}).
+ EntityNotDeclared = "{0}" \uC5D4\uD2F0\uD2F0\uAC00 \uCC38\uC870\uB418\uC5C8\uC9C0\uB9CC \uC120\uC5B8\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.
+ ReferenceToUnparsedEntity = \uAD6C\uBB38\uC774 \uBD84\uC11D\uB418\uC9C0 \uC54A\uC740 \uC5D4\uD2F0\uD2F0 \uCC38\uC870 "&{0};"\uC740(\uB294) \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
+ RecursiveReference = "{0}"\uC740(\uB294) \uC21C\uD658 \uC5D4\uD2F0\uD2F0 \uCC38\uC870\uC785\uB2C8\uB2E4(\uCC38\uC870 \uACBD\uB85C: {1}).
+ RecursiveGeneralReference = "&{0};"\uC740 \uC21C\uD658 \uC77C\uBC18 \uC5D4\uD2F0\uD2F0 \uCC38\uC870\uC785\uB2C8\uB2E4(\uCC38\uC870 \uACBD\uB85C: {1}).
+ RecursivePEReference = "%{0};"\uC740 \uC21C\uD658 \uB9E4\uAC1C\uBCC0\uC218 \uC5D4\uD2F0\uD2F0 \uCC38\uC870\uC785\uB2C8\uB2E4(\uCC38\uC870 \uACBD\uB85C: {1}).
# 4.3.3 Character Encoding in Entities
- EncodingNotSupported = \"{0}\" \uC778\uCF54\uB529\uC740 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
+ EncodingNotSupported = "{0}" \uC778\uCF54\uB529\uC740 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
EncodingRequired = UTF-8 \uB610\uB294 UTF-16\uC73C\uB85C \uC778\uCF54\uB529\uB418\uC9C0 \uC54A\uC740 \uAD6C\uBB38\uC774 \uBD84\uC11D\uB41C \uC5D4\uD2F0\uD2F0\uC5D0\uB294 \uC778\uCF54\uB529 \uC120\uC5B8\uC774 \uD3EC\uD568\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
# Namespaces support
# 4. Using Qualified Names
IllegalQName = \uC694\uC18C \uB610\uB294 \uC18D\uC131\uC774 QName \uC791\uC131\uACFC \uC77C\uCE58\uD558\uC9C0 \uC54A\uC74C: QName::=(NCName':')?NCName.
- ElementXMLNSPrefix = \"{0}\" \uC694\uC18C\uC5D0\uB294 \"xmlns\"\uAC00 \uC811\uB450\uC5B4\uB85C \uC0AC\uC6A9\uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
- ElementPrefixUnbound = \"{1}\" \uC694\uC18C\uC5D0 \uB300\uD55C \"{0}\" \uC811\uB450\uC5B4\uAC00 \uBC14\uC778\uB4DC\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.
- AttributePrefixUnbound = \uC694\uC18C \uC720\uD615 \"{0}\"\uACFC(\uC640) \uC5F0\uAD00\uB41C \"{1}\" \uC18D\uC131\uC758 \"{2}\" \uC811\uB450\uC5B4\uAC00 \uBC14\uC778\uB4DC\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.
- EmptyPrefixedAttName = \"{0}\" \uC18D\uC131\uC758 \uAC12\uC774 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. \uC811\uB450\uC5B4\uAC00 \uC9C0\uC815\uB41C \uB124\uC784\uC2A4\uD398\uC774\uC2A4 \uBC14\uC778\uB529\uC740 \uBE44\uC6CC \uB458 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
- PrefixDeclared = \uB124\uC784\uC2A4\uD398\uC774\uC2A4 \uC811\uB450\uC5B4 \"{0}\"\uC774(\uAC00) \uC120\uC5B8\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.
+ ElementXMLNSPrefix = "{0}" \uC694\uC18C\uC5D0\uB294 "xmlns"\uAC00 \uC811\uB450\uC5B4\uB85C \uC0AC\uC6A9\uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+ ElementPrefixUnbound = "{1}" \uC694\uC18C\uC5D0 \uB300\uD55C "{0}" \uC811\uB450\uC5B4\uAC00 \uBC14\uC778\uB4DC\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.
+ AttributePrefixUnbound = \uC694\uC18C \uC720\uD615 "{0}"\uACFC(\uC640) \uC5F0\uAD00\uB41C "{1}" \uC18D\uC131\uC758 "{2}" \uC811\uB450\uC5B4\uAC00 \uBC14\uC778\uB4DC\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.
+ EmptyPrefixedAttName = "{0}" \uC18D\uC131\uC758 \uAC12\uC774 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. \uC811\uB450\uC5B4\uAC00 \uC9C0\uC815\uB41C \uB124\uC784\uC2A4\uD398\uC774\uC2A4 \uBC14\uC778\uB529\uC740 \uBE44\uC6CC \uB458 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+ PrefixDeclared = \uB124\uC784\uC2A4\uD398\uC774\uC2A4 \uC811\uB450\uC5B4 "{0}"\uC774(\uAC00) \uC120\uC5B8\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.
CantBindXMLNS = "xmlns" \uC811\uB450\uC5B4\uB294 \uBA85\uC2DC\uC801\uC73C\uB85C \uB124\uC784\uC2A4\uD398\uC774\uC2A4\uC5D0 \uBC14\uC778\uB4DC\uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. "xmlns"\uC5D0 \uB300\uD55C \uB124\uC784\uC2A4\uD398\uC774\uC2A4\uB3C4 \uBA85\uC2DC\uC801\uC73C\uB85C \uC811\uB450\uC5B4\uC5D0 \uBC14\uC778\uB4DC\uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
CantBindXML = "xml" \uC811\uB450\uC5B4\uB294 \uC77C\uBC18 \uB124\uC784\uC2A4\uD398\uC774\uC2A4\uAC00 \uC544\uB2CC \uB2E4\uB978 \uB124\uC784\uC2A4\uD398\uC774\uC2A4\uC5D0 \uBC14\uC778\uB4DC\uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. "xml"\uC5D0 \uB300\uD55C \uB124\uC784\uC2A4\uD398\uC774\uC2A4\uB3C4 "xml" \uC774\uC678\uC758 \uC811\uB450\uC5B4\uC5D0 \uBC14\uC778\uB4DC\uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
- MSG_ATT_DEFAULT_INVALID = \"{0}\" \uC18D\uC131\uC758 defaultValue \"{1}\"\uC740(\uB294) \uC774 \uC18D\uC131 \uC720\uD615\uC758 \uB809\uC2DC\uCE7C \uC81C\uC57D \uC870\uAC74\uC5D0 \uB300\uD55C \uAC12\uC73C\uB85C \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
+ MSG_ATT_DEFAULT_INVALID = "{0}" \uC18D\uC131\uC758 defaultValue "{1}"\uC740(\uB294) \uC774 \uC18D\uC131 \uC720\uD615\uC758 \uB809\uC2DC\uCE7C \uC81C\uC57D \uC870\uAC74\uC5D0 \uB300\uD55C \uAC12\uC73C\uB85C \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
# REVISIT: These need messages
MSG_SPACE_REQUIRED_AFTER_SYSTEMLITERAL_IN_EXTERNALID=MSG_SPACE_REQUIRED_AFTER_SYSTEMLITERAL_IN_EXTERNALID
@@ -321,7 +318,7 @@
#Application can set the limit of number of entities that should be expanded by the parser.
-EntityExpansionLimitExceeded=\uAD6C\uBB38 \uBD84\uC11D\uAE30\uAC00 \uC774 \uBB38\uC11C\uC5D0\uC11C \"{0}\"\uAC1C\uB97C \uCD08\uACFC\uD558\uB294 \uC5D4\uD2F0\uD2F0 \uD655\uC7A5\uC744 \uBC1C\uACAC\uD588\uC2B5\uB2C8\uB2E4. \uC774\uB294 \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\uC5D0\uC11C \uC801\uC6A9\uD558\uB294 \uC81C\uD55C\uC785\uB2C8\uB2E4.
+EntityExpansionLimitExceeded=\uAD6C\uBB38 \uBD84\uC11D\uAE30\uAC00 \uC774 \uBB38\uC11C\uC5D0\uC11C "{0}"\uAC1C\uB97C \uCD08\uACFC\uD558\uB294 \uC5D4\uD2F0\uD2F0 \uD655\uC7A5\uC744 \uBC1C\uACAC\uD588\uC2B5\uB2C8\uB2E4. \uC774\uB294 \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\uC5D0\uC11C \uC801\uC6A9\uD558\uB294 \uC81C\uD55C\uC785\uB2C8\uB2E4.
# Application can set the limit of number of attributes of entity that should be expanded by the parser.
-ElementAttributeLimit= \"{0}\" \uC694\uC18C\uC5D0 \"{1}\"\uAC1C\uB97C \uCD08\uACFC\uD558\uB294 \uC18D\uC131\uC774 \uC788\uC2B5\uB2C8\uB2E4. \"{1}\"\uC740(\uB294) \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\uC5D0\uC11C \uC801\uC6A9\uD558\uB294 \uC81C\uD55C\uC785\uB2C8\uB2E4.
+ElementAttributeLimit= "{0}" \uC694\uC18C\uC5D0 "{1}"\uAC1C\uB97C \uCD08\uACFC\uD558\uB294 \uC18D\uC131\uC774 \uC788\uC2B5\uB2C8\uB2E4. "{1}"\uC740(\uB294) \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\uC5D0\uC11C \uC801\uC6A9\uD558\uB294 \uC81C\uD55C\uC785\uB2C8\uB2E4.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_pt_BR.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_pt_BR.properties
index 57770dcde09..6bf2f30654e 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_pt_BR.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_pt_BR.properties
@@ -1,30 +1,27 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file contains error and warning messages related to XML
# The messages are arranged in key and value tuples in a ListResourceBundle.
@@ -48,14 +45,14 @@
InvalidCharInProlog = Um caractere XML inv\u00E1lido (Unicode: 0x {0}) foi encontrado no pr\u00F3logo do documento.
InvalidCharInXMLDecl = Um caractere XML inv\u00E1lido (Unicode: 0x{0}) foi encontrado na declara\u00E7\u00E3o XML.
# 2.4 Character Data and Markup
- CDEndInContent = A sequ\u00EAncia de caracteres \"]]>\" n\u00E3o deve aparecer no conte\u00FAdo, a menos que seja usada para marcar o fim de uma se\u00E7\u00E3o CDATA.
+ CDEndInContent = A sequ\u00EAncia de caracteres "]]>" n\u00E3o deve aparecer no conte\u00FAdo, a menos que seja usada para marcar o fim de uma se\u00E7\u00E3o CDATA.
# 2.7 CDATA Sections
- CDSectUnterminated = A se\u00E7\u00E3o CDATA deve terminar com \"]]>\".
+ CDSectUnterminated = A se\u00E7\u00E3o CDATA deve terminar com "]]>".
# 2.8 Prolog and Document Type Declaration
XMLDeclMustBeFirst = A declara\u00E7\u00E3o XML pode aparecer somente bem no in\u00EDcio do documento.
- EqRequiredInXMLDecl = O caractere '' = '' deve estar ap\u00F3s \"{0}\" na declara\u00E7\u00E3o XML.
- QuoteRequiredInXMLDecl = O valor ap\u00F3s \"{0}\" na declara\u00E7\u00E3o XML deve ser uma string entre aspas.
- XMLDeclUnterminated = A declara\u00E7\u00E3o XML deve terminar com \"?>\".
+ EqRequiredInXMLDecl = O caractere '' = '' deve estar ap\u00F3s "{0}" na declara\u00E7\u00E3o XML.
+ QuoteRequiredInXMLDecl = O valor ap\u00F3s "{0}" na declara\u00E7\u00E3o XML deve ser uma string entre aspas.
+ XMLDeclUnterminated = A declara\u00E7\u00E3o XML deve terminar com "?>".
VersionInfoRequired = A vers\u00E3o \u00E9 obrigat\u00F3ria na declara\u00E7\u00E3o XML.
SpaceRequiredBeforeVersionInXMLDecl = O espa\u00E7o em branco \u00E9 necess\u00E1rio antes do pseudo-atributo da vers\u00E3o na declara\u00E7\u00E3o XML.
SpaceRequiredBeforeEncodingInXMLDecl = O espa\u00E7o em branco \u00E9 necess\u00E1rio antes de codificar o pseudo-atributo na declara\u00E7\u00E3o XML.
@@ -71,85 +68,85 @@
ReferenceIllegalInTrailingMisc=A refer\u00EAncia n\u00E3o \u00E9 permitida na se\u00E7\u00E3o \u00E0 esquerda.
# 2.9 Standalone Document Declaration
- SDDeclInvalid = O valor da declara\u00E7\u00E3o do documento stand-alone deve ser \"sim\" ou \"n\u00E3o\", mas n\u00E3o deve ser \"{0}\".
+ SDDeclInvalid = O valor da declara\u00E7\u00E3o do documento stand-alone deve ser "sim" ou "n\u00E3o", mas n\u00E3o deve ser "{0}".
# 2.12 Language Identification
- XMLLangInvalid = O valor do atributo xml:lang \"{0}\" \u00E9 um identificador de idioma inv\u00E1lido.
+ XMLLangInvalid = O valor do atributo xml:lang "{0}" \u00E9 um identificador de idioma inv\u00E1lido.
# 3. Logical Structures
- ETagRequired = O tipo de elemento {0}\" deve ser encerrado pela tag final correspondente \"{0}>\".
+ ETagRequired = O tipo de elemento {0}" deve ser encerrado pela tag final correspondente "{0}>".
# 3.1 Start-Tags, End-Tags, and Empty-Element Tags
- ElementUnterminated = O tipo de elemento \"{0}\" deve ser seguido pelas especifica\u00E7\u00F5es do atributo, \">\" ou \"/>\".
- EqRequiredInAttribute = O nome do atributo \"{1}\" associado a um tipo de elemento \"{0}\" deve ser seguido do caractere '' = ''.
- OpenQuoteExpected = S\u00E3o esperadas aspas de abertura para o atributo \"{1}\" associado a um tipo de elemento \"{0}\".
- CloseQuoteExpected = S\u00E3o esperadas aspas de fechamento para o atributo \"{1}\" associado a um tipo de elemento \"{0}\".
- AttributeNotUnique = O atributo \"{1}\" j\u00E1 foi especificado para o elemento \"{0}\".
- AttributeNSNotUnique = O atributo \"{1}\" vinculado ao namespace \"{2}\" j\u00E1 foi especificado para o elemento \"{0}\".
- ETagUnterminated = A tag final do tipo de elemento \"{0}\" deve terminar com um delimitador ''>".
+ ElementUnterminated = O tipo de elemento "{0}" deve ser seguido pelas especifica\u00E7\u00F5es do atributo, ">" ou "/>".
+ EqRequiredInAttribute = O nome do atributo "{1}" associado a um tipo de elemento "{0}" deve ser seguido do caractere '' = ''.
+ OpenQuoteExpected = S\u00E3o esperadas aspas de abertura para o atributo "{1}" associado a um tipo de elemento "{0}".
+ CloseQuoteExpected = S\u00E3o esperadas aspas de fechamento para o atributo "{1}" associado a um tipo de elemento "{0}".
+ AttributeNotUnique = O atributo "{1}" j\u00E1 foi especificado para o elemento "{0}".
+ AttributeNSNotUnique = O atributo "{1}" vinculado ao namespace "{2}" j\u00E1 foi especificado para o elemento "{0}".
+ ETagUnterminated = A tag final do tipo de elemento "{0}" deve terminar com um delimitador ''>".
MarkupNotRecognizedInContent = O conte\u00FAdo dos elementos deve consistir em dados ou marca\u00E7\u00E3o do caractere correto.
DoctypeIllegalInContent = Um DOCTYPE n\u00E3o \u00E9 permitido no conte\u00FAdo.
# 4.1 Character and Entity References
ReferenceUnterminated = A refer\u00EAncia deve ser encerrada por um delimitador ';'.
# 4.3.2 Well-Formed Parsed Entities
- ReferenceNotInOneEntity = A refer\u00EAncia deve estar totalmente contida na mesma entidade submetida a parse.
- ElementEntityMismatch = O elemento \"{0}\" deve come\u00E7ar e terminar com a mesma entidade.
+ ReferenceNotInOneEntity = A refer\u00EAncia deve estar totalmente contida na mesma entidade submetida a parsing.
+ ElementEntityMismatch = O elemento "{0}" deve come\u00E7ar e terminar com a mesma entidade.
MarkupEntityMismatch=As estruturas do documento XML devem come\u00E7ar e terminar com a mesma entidade.
# Messages common to Document and DTD
# 2.2 Characters
- InvalidCharInAttValue = Um caractere XML inv\u00E1lido (Unicode: 0x {2}) foi encontrado no valor do atributo \"{1}\" e o elemento \u00E9 \"{0}\".
+ InvalidCharInAttValue = Um caractere XML inv\u00E1lido (Unicode: 0x {2}) foi encontrado no valor do atributo "{1}" e o elemento \u00E9 "{0}".
InvalidCharInComment = Um caractere XML inv\u00E1lido (Unicode: 0x{0}) foi encontrado no coment\u00E1rio.
InvalidCharInPI = Um caractere XML inv\u00E1lido (Unicode: 0x{0}) foi encontrado na instru\u00E7\u00E3o de processamento.
InvalidCharInInternalSubset = Um caractere XML inv\u00E1lido (Unicode: 0x {0}) foi encontrado no subconjunto interno do DTD.
InvalidCharInTextDecl = Um caractere XML inv\u00E1lido (Unicode: 0x{0}) foi encontrado na declara\u00E7\u00E3o de texto.
# 2.3 Common Syntactic Constructs
- QuoteRequiredInAttValue = O valor do atributo \"{1}\" deve come\u00E7ar com aspas simples ou duplas.
- LessthanInAttValue = O valor do atributo \"{1}\" associado a um tipo de elemento \"{0}\" n\u00E3o deve conter o caractere ''<''.
- AttributeValueUnterminated = O valor do atributo \"{1}\" deve terminar com as aspas correspondentes.
+ QuoteRequiredInAttValue = O valor do atributo "{1}" deve come\u00E7ar com aspas simples ou duplas.
+ LessthanInAttValue = O valor do atributo "{1}" associado a um tipo de elemento "{0}" n\u00E3o deve conter o caractere ''<''.
+ AttributeValueUnterminated = O valor do atributo "{1}" deve terminar com as aspas correspondentes.
# 2.5 Comments
- InvalidCommentStart = O coment\u00E1rio deve come\u00E7ar com \"\".
+ InvalidCommentStart = O coment\u00E1rio deve come\u00E7ar com "".
COMMENT_NOT_IN_ONE_ENTITY = O coment\u00E1rio n\u00E3o est\u00E1 entre chaves na mesma entidade.
# 2.6 Processing Instructions
PITargetRequired = A instru\u00E7\u00E3o de processamento deve come\u00E7ar com o nome do destino.
SpaceRequiredInPI = O espa\u00E7o em branco \u00E9 obrigat\u00F3rio entre o destino da instru\u00E7\u00E3o de processamento e os dados.
- PIUnterminated = A instru\u00E7\u00E3o de processamento deve terminar com \"?>\".
- ReservedPITarget = O destino da instru\u00E7\u00E3o de processamento correspondente \"[xX][mM][lL]\" n\u00E3o \u00E9 permitido.
+ PIUnterminated = A instru\u00E7\u00E3o de processamento deve terminar com "?>".
+ ReservedPITarget = O destino da instru\u00E7\u00E3o de processamento correspondente "[xX][mM][lL]" n\u00E3o \u00E9 permitido.
PI_NOT_IN_ONE_ENTITY = A instru\u00E7\u00E3o de processamento n\u00E3o est\u00E1 entre chaves na mesma entidade.
# 2.8 Prolog and Document Type Declaration
- VersionInfoInvalid = Vers\u00E3o inv\u00E1lida \"{0}\".
- VersionNotSupported = Vers\u00E3o XML \"{0}\" n\u00E3o suportada; somente XML 1.0 \u00E9 suportada.
- VersionNotSupported11 = Vers\u00E3o XML \"{0}\" n\u00E3o suportada, somente XML 1.0 e XML 1.1 s\u00E3o suportadas.
+ VersionInfoInvalid = Vers\u00E3o inv\u00E1lida "{0}".
+ VersionNotSupported = Vers\u00E3o XML "{0}" n\u00E3o suportada; somente XML 1.0 \u00E9 suportada.
+ VersionNotSupported11 = Vers\u00E3o XML "{0}" n\u00E3o suportada, somente XML 1.0 e XML 1.1 s\u00E3o suportadas.
VersionMismatch= Uma entidade n\u00E3o pode incluir outra entidade de uma vers\u00E3o posterior.
# 4.1 Character and Entity References
- DigitRequiredInCharRef = Uma representa\u00E7\u00E3o decimal deve seguir imediatamente o \"\" em uma refer\u00EAncia de caractere.
- HexdigitRequiredInCharRef = Uma representa\u00E7\u00E3o hexadecimal deve seguir imediatamente o \"\" em uma refer\u00EAncia de caractere.
+ DigitRequiredInCharRef = Uma representa\u00E7\u00E3o decimal deve seguir imediatamente o "" em uma refer\u00EAncia de caractere.
+ HexdigitRequiredInCharRef = Uma representa\u00E7\u00E3o hexadecimal deve seguir imediatamente o "" em uma refer\u00EAncia de caractere.
SemicolonRequiredInCharRef = A refer\u00EAncia de caractere deve terminar com o delimitador ';'.
- InvalidCharRef = A refer\u00EAncia do caractere \"{0}\" \u00E9 um caractere XML inv\u00E1lido.
+ InvalidCharRef = A refer\u00EAncia do caractere "{0}" \u00E9 um caractere XML inv\u00E1lido.
NameRequiredInReference = O nome da entidade deve seguir imediatamente o '&' na refer\u00EAncia da entidade.
- SemicolonRequiredInReference = A refer\u00EAncia \u00E0 entidade \"{0}\" deve terminar com o delimitador '';''.
+ SemicolonRequiredInReference = A refer\u00EAncia \u00E0 entidade "{0}" deve terminar com o delimitador '';''.
# 4.3.1 The Text Declaration
- TextDeclMustBeFirst = A declara\u00E7\u00E3o de texto somente pode aparecer bem no in\u00EDcio da entidade externa submetida a parse.
- EqRequiredInTextDecl = O caractere '' = '' deve estar ap\u00F3s \"{0}\" na declara\u00E7\u00E3o de texto.
- QuoteRequiredInTextDecl = O valor ap\u00F3s \"{0}\" na declara\u00E7\u00E3o de texto deve ser uma string entre aspas.
- CloseQuoteMissingInTextDecl = n\u00E3o foi encontrada a aspa de fechamento no valor ap\u00F3s "{0}\" na declara\u00E7\u00E3o de texto.
+ TextDeclMustBeFirst = A declara\u00E7\u00E3o de texto somente pode aparecer bem no in\u00EDcio da entidade externa submetida a parsing.
+ EqRequiredInTextDecl = O caractere '' = '' deve estar ap\u00F3s "{0}" na declara\u00E7\u00E3o de texto.
+ QuoteRequiredInTextDecl = O valor ap\u00F3s "{0}" na declara\u00E7\u00E3o de texto deve ser uma string entre aspas.
+ CloseQuoteMissingInTextDecl = n\u00E3o foi encontrada a aspa de fechamento no valor ap\u00F3s "{0}" na declara\u00E7\u00E3o de texto.
SpaceRequiredBeforeVersionInTextDecl = O espa\u00E7o em branco \u00E9 necess\u00E1rio antes do pseudo-atributo da vers\u00E3o na declara\u00E7\u00E3o de texto.
SpaceRequiredBeforeEncodingInTextDecl = O espa\u00E7o em branco \u00E9 necess\u00E1rio antes de codificar o pseudo-atributo na declara\u00E7\u00E3o de texto.
- TextDeclUnterminated = A declara\u00E7\u00E3o de texto deve terminar com \"?>\".
+ TextDeclUnterminated = A declara\u00E7\u00E3o de texto deve terminar com "?>".
EncodingDeclRequired = A declara\u00E7\u00E3o de codifica\u00E7\u00E3o \u00E9 necess\u00E1ria na declara\u00E7\u00E3o de texto.
NoMorePseudoAttributes = N\u00E3o s\u00E3o mais permitidos pseudo-atributos.
MorePseudoAttributes = S\u00E3o esperados mais pseudo-atributos.
PseudoAttrNameExpected = \u00C9 esperado um nome de um pseudo-atributo.
# 4.3.2 Well-Formed Parsed Entities
- CommentNotInOneEntity = O coment\u00E1rio deve estar totalmente contido na mesma entidade submetida a parse.
- PINotInOneEntity = A instru\u00E7\u00E3o de processamento deve estar totalmente contida na mesma entidade submetida a parse.
+ CommentNotInOneEntity = O coment\u00E1rio deve estar totalmente contido na mesma entidade submetida a parsing.
+ PINotInOneEntity = A instru\u00E7\u00E3o de processamento deve estar totalmente contida na mesma entidade submetida a parsing.
# 4.3.3 Character Encoding in Entities
- EncodingDeclInvalid = Nome da codifica\u00E7\u00E3o inv\u00E1lida \"{0}\".
- EncodingByteOrderUnsupported = A ordem de bytes fornecida para codifica\u00E7\u00E3o \"{0}\" n\u00E3o \u00E9 suportada.
+ EncodingDeclInvalid = Nome da codifica\u00E7\u00E3o inv\u00E1lida "{0}".
+ EncodingByteOrderUnsupported = A ordem de bytes fornecida para codifica\u00E7\u00E3o "{0}" n\u00E3o \u00E9 suportada.
InvalidByte = Byte inv\u00E1lido {0} da sequ\u00EAncia UTF-8 do byte {1}.
ExpectedByte = Esperava {0} byte da sequ\u00EAncia UTF-8 do byte {1}.
InvalidHighSurrogate = Os bits substitutos altos na sequ\u00EAncia da UTF-8 n\u00E3o devem exceder 0x10 mas foi encontrado 0x{0}.
- OperationNotSupported = A opera\u00E7\u00E3o \"{0}\" n\u00E3o \u00E9 suportada pelo leitor {1}.
- InvalidASCII = O byte \"{0}\" n\u00E3o \u00E9 membro do conjunto de caracteres ASCII (7 bits).
+ OperationNotSupported = A opera\u00E7\u00E3o "{0}" n\u00E3o \u00E9 suportada pelo leitor {1}.
+ InvalidASCII = O byte "{0}" n\u00E3o \u00E9 membro do conjunto de caracteres ASCII (7 bits).
CharConversionFailure = Uma entidade destinada a estar em uma determinada codifica\u00E7\u00E3o n\u00E3o deve conter sequ\u00EAncias inv\u00E1lidas na referida codifica\u00E7\u00E3o.
# DTD Messages
@@ -169,150 +166,150 @@
PubidCharIllegal = O caractere XML (Unicode: 0x{0}) n\u00E3o \u00E9 permitido no identificador p\u00FAblico.
SpaceRequiredBetweenPublicAndSystem = Espa\u00E7os em branco s\u00E3o necess\u00E1rios entre publicId e systemId.
# 2.8 Prolog and Document Type Declaration
- MSG_SPACE_REQUIRED_BEFORE_ROOT_ELEMENT_TYPE_IN_DOCTYPEDECL = O espa\u00E7o em branco \u00E9 necess\u00E1rio ap\u00F3s \"''.
- PEReferenceWithinMarkup = A refer\u00EAncia da entidade do par\u00E2metro \"%{0};\" n\u00E3o pode ocorrer na marca\u00E7\u00E3o no subconjunto interno do DTD.
+ MSG_SPACE_REQUIRED_BEFORE_ROOT_ELEMENT_TYPE_IN_DOCTYPEDECL = O espa\u00E7o em branco \u00E9 necess\u00E1rio ap\u00F3s "''.
+ PEReferenceWithinMarkup = A refer\u00EAncia da entidade do par\u00E2metro "%{0};" n\u00E3o pode ocorrer na marca\u00E7\u00E3o no subconjunto interno do DTD.
MSG_MARKUP_NOT_RECOGNIZED_IN_DTD = As declara\u00E7\u00F5es de marca\u00E7\u00E3o contidas ou apontadas pela declara\u00E7\u00E3o do tipo de documento devem estar corretas.
# 2.10 White Space Handling
- MSG_XML_SPACE_DECLARATION_ILLEGAL = Deve ser fornecida a declara\u00E7\u00E3o do atributo para \"xml:space\" como um tipo enumerado, cujo os \u00FAnicos valores poss\u00EDveis s\u00E3o \"default\" e \"preserve\".
+ MSG_XML_SPACE_DECLARATION_ILLEGAL = Deve ser fornecida a declara\u00E7\u00E3o do atributo para "xml:space" como um tipo enumerado, cujo os \u00FAnicos valores poss\u00EDveis s\u00E3o "default" e "preserve".
# 3.2 Element Type Declarations
- MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ELEMENTDECL = O espa\u00E7o em branco \u00E9 necess\u00E1rio ap\u00F3s \"''.
+ MSG_SPACE_REQUIRED_BEFORE_CONTENTSPEC_IN_ELEMENTDECL = O espa\u00E7o em branco \u00E9 necess\u00E1rio ap\u00F3s o tipo de elemento "{0}" na declara\u00E7\u00E3o do tipo de elemento.
+ MSG_CONTENTSPEC_REQUIRED_IN_ELEMENTDECL = A restri\u00E7\u00E3o \u00E9 necess\u00E1ria ap\u00F3s o tipo de elemento "{0}" na declara\u00E7\u00E3o do tipo de elemento.
+ ElementDeclUnterminated = A declara\u00E7\u00E3o do tipo de elemento "{0}" deve terminar com ''>''.
# 3.2.1 Element Content
- MSG_OPEN_PAREN_OR_ELEMENT_TYPE_REQUIRED_IN_CHILDREN = \u00C9 necess\u00E1rio um caractere ''('' ou um tipo de elemento na declara\u00E7\u00E3o do tipo de elemento \"{0}\".
- MSG_CLOSE_PAREN_REQUIRED_IN_CHILDREN = \u00C9 necess\u00E1rio um caractere '')'' na declara\u00E7\u00E3o do tipo de elemento \"{0}\".
+ MSG_OPEN_PAREN_OR_ELEMENT_TYPE_REQUIRED_IN_CHILDREN = \u00C9 necess\u00E1rio um caractere ''('' ou um tipo de elemento na declara\u00E7\u00E3o do tipo de elemento "{0}".
+ MSG_CLOSE_PAREN_REQUIRED_IN_CHILDREN = \u00C9 necess\u00E1rio um caractere '')'' na declara\u00E7\u00E3o do tipo de elemento "{0}".
# 3.2.2 Mixed Content
- MSG_ELEMENT_TYPE_REQUIRED_IN_MIXED_CONTENT = \u00C9 necess\u00E1rio um tipo de elemento na declara\u00E7\u00E3o do tipo de elemento \"{0}\".
- MSG_CLOSE_PAREN_REQUIRED_IN_MIXED = \u00C9 necess\u00E1rio um caractere '')'' na declara\u00E7\u00E3o do tipo de elemento \"{0}\".
- MixedContentUnterminated = O modelo de conte\u00FAdo misto \"{0}\" deve terminar com \")*\" quando os tipos de elementos filhos forem restringidos.
+ MSG_ELEMENT_TYPE_REQUIRED_IN_MIXED_CONTENT = \u00C9 necess\u00E1rio um tipo de elemento na declara\u00E7\u00E3o do tipo de elemento "{0}".
+ MSG_CLOSE_PAREN_REQUIRED_IN_MIXED = \u00C9 necess\u00E1rio um caractere '')'' na declara\u00E7\u00E3o do tipo de elemento "{0}".
+ MixedContentUnterminated = O modelo de conte\u00FAdo misto "{0}" deve terminar com ")*" quando os tipos de elementos filhos forem restringidos.
# 3.3 Attribute-List Declarations
- MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ATTLISTDECL = O espa\u00E7o em branco \u00E9 necess\u00E1rio ap\u00F3s \"\".
- IgnoreSectUnterminated = A se\u00E7\u00E3o condicional exclu\u00EDda deve terminar com \"]]>\".
+ IncludeSectUnterminated = A se\u00E7\u00E3o condicional inclu\u00EDda deve terminar com "]]>".
+ IgnoreSectUnterminated = A se\u00E7\u00E3o condicional exclu\u00EDda deve terminar com "]]>".
# 4.1 Character and Entity References
NameRequiredInPEReference = O nome da entidade deve seguir imediatamente o '%' na refer\u00EAncia da entidade do par\u00E2metro.
- SemicolonRequiredInPEReference = A refer\u00EAncia da entidade do par\u00E2metro \"%{0};\" deve terminar com o delimitador '';".
+ SemicolonRequiredInPEReference = A refer\u00EAncia da entidade do par\u00E2metro "%{0};" deve terminar com o delimitador '';".
# 4.2 Entity Declarations
- MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_ENTITYDECL = O espa\u00E7o em branco \u00E9 necess\u00E1rio ap\u00F3s \"''.
- MSG_DUPLICATE_ENTITY_DEFINITION = A entidade \"{0}\" foi declarada mais de uma vez.
+ MSG_SPACE_REQUIRED_AFTER_ENTITY_NAME_IN_ENTITYDECL = O espa\u00E7o em branco \u00E9 necess\u00E1rio entre o nome da entidade "{0}" e a defini\u00E7\u00E3o da declara\u00E7\u00E3o da entidade.
+ MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_UNPARSED_ENTITYDECL = \u00C9 necess\u00E1rio um espa\u00E7o em branco entre "NDATA" e o nome da nota\u00E7\u00E3o na declara\u00E7\u00E3o da entidade "{0}".
+ MSG_SPACE_REQUIRED_BEFORE_NDATA_IN_UNPARSED_ENTITYDECL = O espa\u00E7o em branco \u00E9 necess\u00E1rio antes de "NDATA" na declara\u00E7\u00E3o da entidade "{0}".
+ MSG_NOTATION_NAME_REQUIRED_FOR_UNPARSED_ENTITYDECL = O nome da nota\u00E7\u00E3o \u00E9 necess\u00E1rio ap\u00F3s "NDATA" na declara\u00E7\u00E3o da entidade "{0}".
+ EntityDeclUnterminated = A declara\u00E7\u00E3o da entidade "{0}" deve terminar com ''>''.
+ MSG_DUPLICATE_ENTITY_DEFINITION = A entidade "{0}" foi declarada mais de uma vez.
# 4.2.2 External Entities
- ExternalIDRequired = A declara\u00E7\u00E3o da entidade externa deve come\u00E7ar com \"SYSTEM\" ou \"PUBLIC\".
- MSG_SPACE_REQUIRED_BEFORE_PUBIDLITERAL_IN_EXTERNALID = O espa\u00E7o em branco \u00E9 necess\u00E1rio entre \"PUBLIC\" e o identificador p\u00FAblico.
+ ExternalIDRequired = A declara\u00E7\u00E3o da entidade externa deve come\u00E7ar com "SYSTEM" ou "PUBLIC".
+ MSG_SPACE_REQUIRED_BEFORE_PUBIDLITERAL_IN_EXTERNALID = O espa\u00E7o em branco \u00E9 necess\u00E1rio entre "PUBLIC" e o identificador p\u00FAblico.
MSG_SPACE_REQUIRED_AFTER_PUBIDLITERAL_IN_EXTERNALID = O espa\u00E7o em branco \u00E9 necess\u00E1rio entre o identificador p\u00FAblico e o identificador do sistema.
- MSG_SPACE_REQUIRED_BEFORE_SYSTEMLITERAL_IN_EXTERNALID = O espa\u00E7o em branco \u00E9 necess\u00E1rio entre \"SYSTEM\" e o identificador do sistema.
- MSG_URI_FRAGMENT_IN_SYSTEMID = O identificador do fragmento n\u00E3o deve ser especificado como parte do identificador do sistema \"{0}\".
+ MSG_SPACE_REQUIRED_BEFORE_SYSTEMLITERAL_IN_EXTERNALID = O espa\u00E7o em branco \u00E9 necess\u00E1rio entre "SYSTEM" e o identificador do sistema.
+ MSG_URI_FRAGMENT_IN_SYSTEMID = O identificador do fragmento n\u00E3o deve ser especificado como parte do identificador do sistema "{0}".
# 4.7 Notation Declarations
- MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_NOTATIONDECL = O espa\u00E7o em branco \u00E9 necess\u00E1rio ap\u00F3s \"''.
+ MSG_SPACE_REQUIRED_AFTER_NOTATION_NAME_IN_NOTATIONDECL = O espa\u00E7o em branco \u00E9 necess\u00E1rio ap\u00F3s o nome da nota\u00E7\u00E3o "{0}" na declara\u00E7\u00E3o de nota\u00E7\u00E3o.
+ ExternalIDorPublicIDRequired = A declara\u00E7\u00E3o da nota\u00E7\u00E3o "{0}" deve incluir um identificador p\u00FAblico ou do sistema.
+ NotationDeclUnterminated = A declara\u00E7\u00E3o da nota\u00E7\u00E3o "{0}" deve terminar com ''>''.
# Validation messages
- DuplicateTypeInMixedContent = O tipo de elemento \"{1}\" j\u00E1 foi especificado no modelo de conte\u00FAdo da declara\u00E7\u00E3o do elemento \"{0}\".
- ENTITIESInvalid = O valor do atributo \"{1}\" do tipo ENTITIES deve ser o nome de uma ou mais entidades n\u00E3o submetidas a parse.
- ENTITYInvalid = O valor do atributo \"{1}\" do tipo ENTITY deve ser o nome de uma entidade n\u00E3o submetida a parse.
- IDDefaultTypeInvalid = O atributo do ID \"{0}\" deve ter um default declarado \"#IMPLIED\" ou \"#REQUIRED\".
- IDInvalid = O valor do atributo \"{0}\" do ID de tipo deve ser um nome.
- IDInvalidWithNamespaces = O valor do atributo \"{0}\" do ID de tipo deve ser um NCName quando os namespaces estiverem ativados.
- IDNotUnique = O valor do atributo \"{0}\" do ID de tipo deve ser exclusivo no documento.
- IDREFInvalid = O valor do atributo \"{0}\" do IDREF de tipo deve ser um nome.
- IDREFInvalidWithNamespaces = O valor do atributo \"{0}\" do IDREF de tipo deve ser um NCName quando os namespaces estiverem ativados.
- IDREFSInvalid = O valor do atributo \"{0}\" de tipo IDREFS deve ter um ou mais nomes.
- ILL_FORMED_PARAMETER_ENTITY_WHEN_USED_IN_DECL = O texto de substitui\u00E7\u00E3o da entidade do par\u00E2metro \"{0}\" deve incluir as declara\u00E7\u00F5es aninhadas corretamente quando a refer\u00EAncia da entidade for usada como uma declara\u00E7\u00E3o completa.
- ImproperDeclarationNesting = O texto de substitui\u00E7\u00E3o da entidade do par\u00E2metro \"{0}\" deve incluir as declara\u00E7\u00F5es aninhadas corretamente.
- ImproperGroupNesting = O texto de substitui\u00E7\u00E3o da entidade do par\u00E2metro \"{0}\" deve incluir pares de par\u00EAnteses aninhados corretamente.
- INVALID_PE_IN_CONDITIONAL = O texto de substitui\u00E7\u00E3o da entidade do par\u00E2metro \"{0}\" deve incluir a se\u00E7\u00E3o condicional inteira ou apenas INCLUDE ou IGNORE.
- MSG_ATTRIBUTE_NOT_DECLARED = O atributo \"{1}\" deve ser declarado para o tipo de elemento \"{0}\".
- MSG_ATTRIBUTE_VALUE_NOT_IN_LIST = O atributo \"{0}\" com o valor \"{1}\" deve ter um valor da lista \"{2}\".
- MSG_ATTVALUE_CHANGED_DURING_NORMALIZATION_WHEN_STANDALONE = O valor \"{1}\" do atributo \"{0}\" n\u00E3o deve ser alterado por meio da normaliza\u00E7\u00E3o (para \"{2}\") em um documento stand-alone.
- MSG_CONTENT_INCOMPLETE = O conte\u00FAdo do tipo de elemento \"{0}\" est\u00E1 incompleto; ele deve corresponder a \"{1}\".
- MSG_CONTENT_INVALID = O conte\u00FAdo do tipo de elemento \"{0}\" deve corresponder a \"{1}\".
- MSG_CONTENT_INVALID_SPECIFIED = O conte\u00FAdo do tipo de elemento \"{0}\" deve corresponder a \"{1}\". N\u00E3o s\u00E3o permitidos os filhos do tipo \"{2}\".
- MSG_DEFAULTED_ATTRIBUTE_NOT_SPECIFIED = O atributo \"{1}\" do tipo de elemento \"{0}\" tem um valor default e deve ser especificado em um documento stand-alone.
- MSG_DUPLICATE_ATTDEF = O atributo \"{1}\" j\u00E1 foi declarado para o tipo de elemento \"{0}\".
- MSG_ELEMENT_ALREADY_DECLARED = O tipo de elemento \"{0}\" n\u00E3o deve ser declarado mais de uma vez.
- MSG_ELEMENT_NOT_DECLARED = O tipo de elemento \"{0}\" deve ser declarado.
+ DuplicateTypeInMixedContent = O tipo de elemento "{1}" j\u00E1 foi especificado no modelo de conte\u00FAdo da declara\u00E7\u00E3o do elemento "{0}".
+ ENTITIESInvalid = O valor do atributo "{1}" do tipo ENTITIES deve ser o nome de uma ou mais entidades n\u00E3o submetidas a parsing.
+ ENTITYInvalid = O valor do atributo "{1}" do tipo ENTITY deve ser o nome de uma entidade n\u00E3o submetida a parsing.
+ IDDefaultTypeInvalid = O atributo do ID "{0}" deve ter um default declarado "#IMPLIED" ou "#REQUIRED".
+ IDInvalid = O valor do atributo "{0}" do ID de tipo deve ser um nome.
+ IDInvalidWithNamespaces = O valor do atributo "{0}" do ID de tipo deve ser um NCName quando os namespaces estiverem ativados.
+ IDNotUnique = O valor do atributo "{0}" do ID de tipo deve ser exclusivo no documento.
+ IDREFInvalid = O valor do atributo "{0}" do IDREF de tipo deve ser um nome.
+ IDREFInvalidWithNamespaces = O valor do atributo "{0}" do IDREF de tipo deve ser um NCName quando os namespaces estiverem ativados.
+ IDREFSInvalid = O valor do atributo "{0}" de tipo IDREFS deve ter um ou mais nomes.
+ ILL_FORMED_PARAMETER_ENTITY_WHEN_USED_IN_DECL = O texto de substitui\u00E7\u00E3o da entidade do par\u00E2metro "{0}" deve incluir as declara\u00E7\u00F5es aninhadas corretamente quando a refer\u00EAncia da entidade for usada como uma declara\u00E7\u00E3o completa.
+ ImproperDeclarationNesting = O texto de substitui\u00E7\u00E3o da entidade do par\u00E2metro "{0}" deve incluir as declara\u00E7\u00F5es aninhadas corretamente.
+ ImproperGroupNesting = O texto de substitui\u00E7\u00E3o da entidade do par\u00E2metro "{0}" deve incluir pares de par\u00EAnteses aninhados corretamente.
+ INVALID_PE_IN_CONDITIONAL = O texto de substitui\u00E7\u00E3o da entidade do par\u00E2metro "{0}" deve incluir a se\u00E7\u00E3o condicional inteira ou apenas INCLUDE ou IGNORE.
+ MSG_ATTRIBUTE_NOT_DECLARED = O atributo "{1}" deve ser declarado para o tipo de elemento "{0}".
+ MSG_ATTRIBUTE_VALUE_NOT_IN_LIST = O atributo "{0}" com o valor "{1}" deve ter um valor da lista "{2}".
+ MSG_ATTVALUE_CHANGED_DURING_NORMALIZATION_WHEN_STANDALONE = O valor "{1}" do atributo "{0}" n\u00E3o deve ser alterado por meio da normaliza\u00E7\u00E3o (para "{2}") em um documento stand-alone.
+ MSG_CONTENT_INCOMPLETE = O conte\u00FAdo do tipo de elemento "{0}" est\u00E1 incompleto; ele deve corresponder a "{1}".
+ MSG_CONTENT_INVALID = O conte\u00FAdo do tipo de elemento "{0}" deve corresponder a "{1}".
+ MSG_CONTENT_INVALID_SPECIFIED = O conte\u00FAdo do tipo de elemento "{0}" deve corresponder a "{1}". N\u00E3o s\u00E3o permitidos os filhos do tipo "{2}".
+ MSG_DEFAULTED_ATTRIBUTE_NOT_SPECIFIED = O atributo "{1}" do tipo de elemento "{0}" tem um valor default e deve ser especificado em um documento stand-alone.
+ MSG_DUPLICATE_ATTDEF = O atributo "{1}" j\u00E1 foi declarado para o tipo de elemento "{0}".
+ MSG_ELEMENT_ALREADY_DECLARED = O tipo de elemento "{0}" n\u00E3o deve ser declarado mais de uma vez.
+ MSG_ELEMENT_NOT_DECLARED = O tipo de elemento "{0}" deve ser declarado.
MSG_GRAMMAR_NOT_FOUND = O documento \u00E9 inv\u00E1lido: nenhuma gram\u00E1tica encontrada.
- MSG_ELEMENT_WITH_ID_REQUIRED = Um elemento com o identificador \"{0}\" deve aparecer no documento.
- MSG_EXTERNAL_ENTITY_NOT_PERMITTED = A refer\u00EAncia \u00E0 entidade externa \"{0}\" n\u00E3o \u00E9 permitida em um documento stand-alone.
- MSG_FIXED_ATTVALUE_INVALID = O atributo \"{1}\" com o valor \"{2}\" deve ter um valor \"{3}\".
- MSG_MORE_THAN_ONE_ID_ATTRIBUTE = O tipo de elemento \"{0}\" j\u00E1 tem o atributo \"{1}\" do ID do tipo; um segundo atributo \"{2}\" do ID de tipo n\u00E3o \u00E9 permitido.
- MSG_MORE_THAN_ONE_NOTATION_ATTRIBUTE = O tipo de elemento \"{0}\" j\u00E1 tem o atributo \"{1}\" do tipo NOTATION; um segundo atributo \"{2}\" do tipo NOTATION n\u00E3o \u00E9 permitido.
- MSG_NOTATION_NOT_DECLARED_FOR_NOTATIONTYPE_ATTRIBUTE = A nota\u00E7\u00E3o \"{1}\" deve ser declarada quando referenciada na lista de tipos de nota\u00E7\u00E3o do atributo \"{0}\".
- MSG_NOTATION_NOT_DECLARED_FOR_UNPARSED_ENTITYDECL = A nota\u00E7\u00E3o \"{1}\" deve ser declarada quando referenciada na declara\u00E7\u00E3o da entidade n\u00E3o submetida a parse para \"{0}\".
- MSG_REFERENCE_TO_EXTERNALLY_DECLARED_ENTITY_WHEN_STANDALONE = A refer\u00EAncia \u00E0 entidade \"{0}\" declarada em uma entidade externa submetida a parse n\u00E3o \u00E9 permitida em um documento stand-alone.
- MSG_REQUIRED_ATTRIBUTE_NOT_SPECIFIED = O atributo \"{1}\" \u00E9 necess\u00E1rio e deve ser especificado para o tipo de elemento \"{0}\".
- MSG_WHITE_SPACE_IN_ELEMENT_CONTENT_WHEN_STANDALONE = N\u00E3o deve haver espa\u00E7o em branco entre os elementos declarados em uma entidade externa submetida a parse com o conte\u00FAdo do elemento em um documento stand-alone.
- NMTOKENInvalid = O valor do atributo \"{0}\" do tipo NMTOKEN deve ser um token de nome.
- NMTOKENSInvalid = O valor do atributo \"{0}\" do tipo NMTOKENS deve ter um ou mais tokens de nome.
- NoNotationOnEmptyElement = O tipo de elemento \"{0}\" que foi declarado EMPTY n\u00E3o pode declarar o atributo \"{1}\" do tipo NOTATION.
- RootElementTypeMustMatchDoctypedecl = O elemento-raiz do documento \"{1}\" deve corresponder \u00E0 raiz de DOCTYPE \"{0}\".
- UndeclaredElementInContentSpec = O modelo do conte\u00FAdo do elemento \"{0}\" refere-se ao elemento n\u00E3o declarado \"{1}\".
- UniqueNotationName = A declara\u00E7\u00E3o da nota\u00E7\u00E3o \"{0}\" n\u00E3o \u00E9 exclusiva. Um Nome fornecido n\u00E3o deve ser declarado em mais de uma declara\u00E7\u00E3o de nota\u00E7\u00E3o.
+ MSG_ELEMENT_WITH_ID_REQUIRED = Um elemento com o identificador "{0}" deve aparecer no documento.
+ MSG_EXTERNAL_ENTITY_NOT_PERMITTED = A refer\u00EAncia \u00E0 entidade externa "{0}" n\u00E3o \u00E9 permitida em um documento stand-alone.
+ MSG_FIXED_ATTVALUE_INVALID = O atributo "{1}" com o valor "{2}" deve ter um valor "{3}".
+ MSG_MORE_THAN_ONE_ID_ATTRIBUTE = O tipo de elemento "{0}" j\u00E1 tem o atributo "{1}" do ID do tipo; um segundo atributo "{2}" do ID de tipo n\u00E3o \u00E9 permitido.
+ MSG_MORE_THAN_ONE_NOTATION_ATTRIBUTE = O tipo de elemento "{0}" j\u00E1 tem o atributo "{1}" do tipo NOTATION; um segundo atributo "{2}" do tipo NOTATION n\u00E3o \u00E9 permitido.
+ MSG_NOTATION_NOT_DECLARED_FOR_NOTATIONTYPE_ATTRIBUTE = A nota\u00E7\u00E3o "{1}" deve ser declarada quando referenciada na lista de tipos de nota\u00E7\u00E3o do atributo "{0}".
+ MSG_NOTATION_NOT_DECLARED_FOR_UNPARSED_ENTITYDECL = A nota\u00E7\u00E3o "{1}" deve ser declarada quando referenciada na declara\u00E7\u00E3o da entidade n\u00E3o submetida a parsing para "{0}".
+ MSG_REFERENCE_TO_EXTERNALLY_DECLARED_ENTITY_WHEN_STANDALONE = A refer\u00EAncia \u00E0 entidade "{0}" declarada em uma entidade externa submetida a parsing n\u00E3o \u00E9 permitida em um documento stand-alone.
+ MSG_REQUIRED_ATTRIBUTE_NOT_SPECIFIED = O atributo "{1}" \u00E9 necess\u00E1rio e deve ser especificado para o tipo de elemento "{0}".
+ MSG_WHITE_SPACE_IN_ELEMENT_CONTENT_WHEN_STANDALONE = N\u00E3o deve haver espa\u00E7o em branco entre os elementos declarados em uma entidade externa submetida a parsing com o conte\u00FAdo do elemento em um documento stand-alone.
+ NMTOKENInvalid = O valor do atributo "{0}" do tipo NMTOKEN deve ser um token de nome.
+ NMTOKENSInvalid = O valor do atributo "{0}" do tipo NMTOKENS deve ter um ou mais tokens de nome.
+ NoNotationOnEmptyElement = O tipo de elemento "{0}" que foi declarado EMPTY n\u00E3o pode declarar o atributo "{1}" do tipo NOTATION.
+ RootElementTypeMustMatchDoctypedecl = O elemento-raiz do documento "{1}" deve corresponder \u00E0 raiz de DOCTYPE "{0}".
+ UndeclaredElementInContentSpec = O modelo do conte\u00FAdo do elemento "{0}" refere-se ao elemento n\u00E3o declarado "{1}".
+ UniqueNotationName = A declara\u00E7\u00E3o da nota\u00E7\u00E3o "{0}" n\u00E3o \u00E9 exclusiva. Um Nome fornecido n\u00E3o deve ser declarado em mais de uma declara\u00E7\u00E3o de nota\u00E7\u00E3o.
ENTITYFailedInitializeGrammar = Validador de ENTITYDatatype: Falha ao chamar o m\u00E9todo de inicializa\u00E7\u00E3o com uma refer\u00EAncia de Gram\u00E1tica v\u00E1lida. \t
- ENTITYNotUnparsed = ENTITY \"{0}\" n\u00E3o \u00E9 submetida a parse.
- ENTITYNotValid = ENTITY \"{0}\" n\u00E3o \u00E9 v\u00E1lida.
+ ENTITYNotUnparsed = ENTITY "{0}" n\u00E3o \u00E9 submetida a parsing.
+ ENTITYNotValid = ENTITY "{0}" n\u00E3o \u00E9 v\u00E1lida.
EmptyList = O valor dos tipos ENTITIES, IDREFS e NMTOKENS n\u00E3o pode estar na lista vazia.
# Entity related messages
# 3.1 Start-Tags, End-Tags, and Empty-Element Tags
- ReferenceToExternalEntity = A refer\u00EAncia da entidade externa \"&{0};\" n\u00E3o \u00E9 permitida em um valor do atributo.
- AccessExternalDTD = External DTD: Failed to read external DTD ''{0}'', because ''{1}'' access is not allowed.
- AccessExternalEntity = External Entity: Failed to read external document ''{0}'', because ''{1}'' access is not allowed.
+ ReferenceToExternalEntity = A refer\u00EAncia da entidade externa "&{0};" n\u00E3o \u00E9 permitida em um valor do atributo.
+ AccessExternalDTD = DTD Externo: falha ao ler o DTD ''{0}'' externo porque o acesso a ''{1}'' n\u00E3o \u00E9 permitido.
+ AccessExternalEntity = Entidade Externa: falha ao ler o documento ''{0}'' externo porque o acesso a ''{1}'' n\u00E3o \u00E9 permitido.
# 4.1 Character and Entity References
- EntityNotDeclared = A entidade \"{0}\" foi referenciada, mas n\u00E3o declarada.
- ReferenceToUnparsedEntity = A refer\u00EAncia da entidade n\u00E3o submetida a parse \"&{0};\" n\u00E3o \u00E9 permitida.
- RecursiveReference = Refer\u00EAncia da entidade recursiva \"{0}\". (Caminho de refer\u00EAncia: {1}),
- RecursiveGeneralReference = Refer\u00EAncia geral da entidade recursiva \"&{0};\". (Caminho de refer\u00EAncia: {1}),
- RecursivePEReference = Refer\u00EAncia da entidade do par\u00E2metro recursivo \"%{0};\". (Caminho de refer\u00EAncia: {1}),
+ EntityNotDeclared = A entidade "{0}" foi referenciada, mas n\u00E3o declarada.
+ ReferenceToUnparsedEntity = A refer\u00EAncia da entidade n\u00E3o submetida a parsing "&{0};" n\u00E3o \u00E9 permitida.
+ RecursiveReference = Refer\u00EAncia da entidade recursiva "{0}". (Caminho de refer\u00EAncia: {1}),
+ RecursiveGeneralReference = Refer\u00EAncia geral da entidade recursiva "&{0};". (Caminho de refer\u00EAncia: {1}),
+ RecursivePEReference = Refer\u00EAncia da entidade do par\u00E2metro recursivo "%{0};". (Caminho de refer\u00EAncia: {1}),
# 4.3.3 Character Encoding in Entities
- EncodingNotSupported = A codifica\u00E7\u00E3o \"{0}\" n\u00E3o \u00E9 suportada.
- EncodingRequired = Uma entidade submetida a parse n\u00E3o codificada em UTF-8 nem em UTF-16 deve conter uma declara\u00E7\u00E3o de codifica\u00E7\u00E3o.
+ EncodingNotSupported = A codifica\u00E7\u00E3o "{0}" n\u00E3o \u00E9 suportada.
+ EncodingRequired = Uma entidade submetida a parsing n\u00E3o codificada em UTF-8 nem em UTF-16 deve conter uma declara\u00E7\u00E3o de codifica\u00E7\u00E3o.
# Namespaces support
# 4. Using Qualified Names
IllegalQName = O elemento ou o atributo n\u00E3o correspondem \u00E0 produ\u00E7\u00E3o QName: QName::=(NCName':')?NCName.
- ElementXMLNSPrefix = O elemento \"{0}\" n\u00E3o pode ter \"xmlns\" como seu prefixo.
- ElementPrefixUnbound = O prefixo \"{0}\" do elemento \"{1}\" n\u00E3o est\u00E1 vinculado.
- AttributePrefixUnbound = O prefixo \"{2}\" do atributo \"{1}\" associado a um tipo de elemento \"{0}\" n\u00E3o est\u00E1 vinculado.
- EmptyPrefixedAttName = O valor do atributo \"{0}\" \u00E9 inv\u00E1lido. Associa\u00E7\u00F5es de namespace prefixadas n\u00E3o podem ficar vazias.
- PrefixDeclared = O prefixo do namespace \"{0}\" n\u00E3o foi declarado.
+ ElementXMLNSPrefix = O elemento "{0}" n\u00E3o pode ter "xmlns" como seu prefixo.
+ ElementPrefixUnbound = O prefixo "{0}" do elemento "{1}" n\u00E3o est\u00E1 vinculado.
+ AttributePrefixUnbound = O prefixo "{2}" do atributo "{1}" associado a um tipo de elemento "{0}" n\u00E3o est\u00E1 vinculado.
+ EmptyPrefixedAttName = O valor do atributo "{0}" \u00E9 inv\u00E1lido. Associa\u00E7\u00F5es de namespace prefixadas n\u00E3o podem ficar vazias.
+ PrefixDeclared = O prefixo do namespace "{0}" n\u00E3o foi declarado.
CantBindXMLNS = O prefixo "xmlns" n\u00E3o pode ser vinculado a um namespace explicitamente, assim como o namespace de "xmlns" n\u00E3o pode ser vinculado a um prefixo explicitamente.
CantBindXML = O prefixo "xml" n\u00E3o pode ser vinculado a um namespace diferente do namespace comum, assim como o namespace de "xml" n\u00E3o pode ser vinculado a um prefixo diferente de "xml".
- MSG_ATT_DEFAULT_INVALID = O defaultValue \"{1}\" do atributo \"{0}\" n\u00E3o \u00E9 v\u00E1lido para as restri\u00E7\u00F5es l\u00E9xicas deste tipo de atributo.
+ MSG_ATT_DEFAULT_INVALID = O defaultValue "{1}" do atributo "{0}" n\u00E3o \u00E9 v\u00E1lido para as restri\u00E7\u00F5es l\u00E9xicas deste tipo de atributo.
# REVISIT: These need messages
MSG_SPACE_REQUIRED_AFTER_SYSTEMLITERAL_IN_EXTERNALID=MSG_SPACE_REQUIRED_AFTER_SYSTEMLITERAL_IN_EXTERNALID
@@ -321,7 +318,7 @@
#Application can set the limit of number of entities that should be expanded by the parser.
-EntityExpansionLimitExceeded=O parser detectou mais de \"{0}\" expans\u00F5es da entidade neste documento. Este \u00E9 o limite imposto pela aplica\u00E7\u00E3o.
+EntityExpansionLimitExceeded=O parser detectou mais de "{0}" expans\u00F5es da entidade neste documento. Este \u00E9 o limite imposto pela aplica\u00E7\u00E3o.
# Application can set the limit of number of attributes of entity that should be expanded by the parser.
-ElementAttributeLimit= O elemento \"{0}\" tem mais de \"{1}\" atributos. \"{1}\" \u00E9 o limite imposto pela aplica\u00E7\u00E3o.
+ElementAttributeLimit= O elemento "{0}" tem mais de "{1}" atributos. "{1}" \u00E9 o limite imposto pela aplica\u00E7\u00E3o.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_sv.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_sv.properties
index 8c0bb0f0f8d..4502150a6e4 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_sv.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_sv.properties
@@ -1,30 +1,27 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file contains error and warning messages related to XML
# The messages are arranged in key and value tuples in a ListResourceBundle.
@@ -48,14 +45,14 @@
InvalidCharInProlog = Ett ogiltigt XML-tecken (Unicode: 0x{0}) hittades i dokumentets prolog.
InvalidCharInXMLDecl = Ett ogiltigt XML-tecken (Unicode: 0x{0}) hittades i XML-deklarationen.
# 2.4 Character Data and Markup
- CDEndInContent = Teckensekvensen \"]]>\" f\u00E5r inte f\u00F6rekomma i inneh\u00E5llet, s\u00E5vida det inte anv\u00E4nds f\u00F6r att markera slut av CDATA-sektion.
+ CDEndInContent = Teckensekvensen "]]>" f\u00E5r inte f\u00F6rekomma i inneh\u00E5llet, s\u00E5vida det inte anv\u00E4nds f\u00F6r att markera slut av CDATA-sektion.
# 2.7 CDATA Sections
- CDSectUnterminated = CDATA-sektionen m\u00E5ste sluta med \"]]>\".
+ CDSectUnterminated = CDATA-sektionen m\u00E5ste sluta med "]]>".
# 2.8 Prolog and Document Type Declaration
XMLDeclMustBeFirst = XML-deklarationen f\u00E5r endast f\u00F6rekomma allra \u00F6verst i dokumentet.
- EqRequiredInXMLDecl = Tecknet '' = '' m\u00E5ste anges efter \"{0}\" i XML-deklarationen.
- QuoteRequiredInXMLDecl = V\u00E4rdet som f\u00F6ljer \"{0}\" i XML-deklarationen m\u00E5ste omges av citattecken.
- XMLDeclUnterminated = XML-deklarationen m\u00E5ste avslutas med \"?>\".
+ EqRequiredInXMLDecl = Tecknet '' = '' m\u00E5ste anges efter "{0}" i XML-deklarationen.
+ QuoteRequiredInXMLDecl = V\u00E4rdet som f\u00F6ljer "{0}" i XML-deklarationen m\u00E5ste omges av citattecken.
+ XMLDeclUnterminated = XML-deklarationen m\u00E5ste avslutas med "?>".
VersionInfoRequired = Versionen kr\u00E4vs i XML-deklarationen.
SpaceRequiredBeforeVersionInXMLDecl = Tomt utrymme kr\u00E4vs f\u00F6re versionens pseudoattribut i XML-deklarationen.
SpaceRequiredBeforeEncodingInXMLDecl = Tomt utrymme kr\u00E4vs f\u00F6re kodningens pseudoattribut i XML-deklarationen.
@@ -71,70 +68,70 @@
ReferenceIllegalInTrailingMisc=Referensen \u00E4r inte till\u00E5ten i efterf\u00F6ljande avsnitt.
# 2.9 Standalone Document Declaration
- SDDeclInvalid = Deklarationsv\u00E4rdet f\u00F6r frist\u00E5ende dokument m\u00E5ste vara \"yes\" eller \"no\", inte \"{0}\".
+ SDDeclInvalid = Deklarationsv\u00E4rdet f\u00F6r frist\u00E5ende dokument m\u00E5ste vara "yes" eller "no", inte "{0}".
# 2.12 Language Identification
- XMLLangInvalid = Attributv\u00E4rdet \"{0}\" f\u00F6r xml:lang \u00E4r en ogiltig spr\u00E5kidentifierare.
+ XMLLangInvalid = Attributv\u00E4rdet "{0}" f\u00F6r xml:lang \u00E4r en ogiltig spr\u00E5kidentifierare.
# 3. Logical Structures
- ETagRequired = Elementtyp \"{0}\" m\u00E5ste avslutas med matchande sluttagg \"{0}>\".
+ ETagRequired = Elementtyp "{0}" m\u00E5ste avslutas med matchande sluttagg "{0}>".
# 3.1 Start-Tags, End-Tags, and Empty-Element Tags
- ElementUnterminated = Elementtyp \"{0}\" m\u00E5ste f\u00F6ljas av n\u00E5gondera av attributspecifikationerna \">\" eller \"/>\".
- EqRequiredInAttribute = Attributnamnet \"{1}\" som associeras med elementtyp \"{0}\" m\u00E5ste f\u00F6ljas av likhetstecknet ('' = '').
- OpenQuoteExpected = \u00D6ppningscitattecken f\u00F6rv\u00E4ntas f\u00F6r attributet \"{1}\" som associeras med elementtyp \"{0}\".
- CloseQuoteExpected = Slutcitattecken f\u00F6rv\u00E4ntas f\u00F6r attributet \"{1}\" som associeras med elementtyp \"{0}\".
- AttributeNotUnique = Attributet \"{1}\" har redan angetts f\u00F6r elementet \"{0}\".
- AttributeNSNotUnique = Attributet \"{1}\" bundet till namnrymden \"{2}\" har redan angetts f\u00F6r elementet \"{0}\".
- ETagUnterminated = Sluttaggen f\u00F6r elementtyp \"{0}\" m\u00E5ste avslutas med en ''>''-avgr\u00E4nsare.
+ ElementUnterminated = Elementtyp "{0}" m\u00E5ste f\u00F6ljas av n\u00E5gondera av attributspecifikationerna ">" eller "/>".
+ EqRequiredInAttribute = Attributnamnet "{1}" som associeras med elementtyp "{0}" m\u00E5ste f\u00F6ljas av likhetstecknet ('' = '').
+ OpenQuoteExpected = \u00D6ppningscitattecken f\u00F6rv\u00E4ntas f\u00F6r attributet "{1}" som associeras med elementtyp "{0}".
+ CloseQuoteExpected = Slutcitattecken f\u00F6rv\u00E4ntas f\u00F6r attributet "{1}" som associeras med elementtyp "{0}".
+ AttributeNotUnique = Attributet "{1}" har redan angetts f\u00F6r elementet "{0}".
+ AttributeNSNotUnique = Attributet "{1}" bundet till namnrymden "{2}" har redan angetts f\u00F6r elementet "{0}".
+ ETagUnterminated = Sluttaggen f\u00F6r elementtyp "{0}" m\u00E5ste avslutas med en ''>''-avgr\u00E4nsare.
MarkupNotRecognizedInContent = Elementinneh\u00E5llet m\u00E5ste best\u00E5 av v\u00E4lformulerad(e) teckendata eller kodtext.
DoctypeIllegalInContent = DOCTYPE \u00E4r inte till\u00E5tet i inneh\u00E5llet.
# 4.1 Character and Entity References
ReferenceUnterminated = Referensen m\u00E5ste avslutas med en ';'-avgr\u00E4nsare.
# 4.3.2 Well-Formed Parsed Entities
ReferenceNotInOneEntity = Referensen m\u00E5ste finnas med inom samma tolkade enhet.
- ElementEntityMismatch = Elementet \"{0}\" m\u00E5ste b\u00F6rja och sluta inom samma enhet.
+ ElementEntityMismatch = Elementet "{0}" m\u00E5ste b\u00F6rja och sluta inom samma enhet.
MarkupEntityMismatch=XML-dokumentstrukturer m\u00E5ste b\u00F6rja och sluta inom samma enhet.
# Messages common to Document and DTD
# 2.2 Characters
- InvalidCharInAttValue = Ett ogiltigt XML-tecken (Unicode: 0x{2}) hittades i attributv\u00E4rdet \"{1}\" och elementet \u00E4r \"{0}\".
+ InvalidCharInAttValue = Ett ogiltigt XML-tecken (Unicode: 0x{2}) hittades i attributv\u00E4rdet "{1}" och elementet \u00E4r "{0}".
InvalidCharInComment = Ett ogiltigt XML-tecken (Unicode: 0x{0}) hittades i kommentaren.
- InvalidCharInPI = Ett ogiltigt XML-tecken (Unicode: 0x{0}) hittades bearbetningsinstruktionen.
+ InvalidCharInPI = Ett ogiltigt XML-tecken (Unicode: 0x{0}) hittades i bearbetningsinstruktionen.
InvalidCharInInternalSubset = Ett ogiltigt XML-tecken (Unicode: 0x{0}) hittades i den interna delm\u00E4ngden i DTD.
InvalidCharInTextDecl = Ett ogiltigt XML-tecken (Unicode: 0x{0}) hittades i textdeklarationen.
# 2.3 Common Syntactic Constructs
- QuoteRequiredInAttValue = Attributv\u00E4rdet \"{1}\" m\u00E5ste b\u00F6rja med antingen enkelt eller dubbelt citattecken.
- LessthanInAttValue = Attributv\u00E4rdet \"{1}\" som associeras med elementtyp \"{0}\" f\u00E5r inte inneh\u00E5lla n\u00E5got ''<''-tecken.
- AttributeValueUnterminated = Attributv\u00E4rdet \"{1}\" m\u00E5ste avslutas med matchande citattecken.
+ QuoteRequiredInAttValue = Attributv\u00E4rdet "{1}" m\u00E5ste b\u00F6rja med antingen enkelt eller dubbelt citattecken.
+ LessthanInAttValue = Attributv\u00E4rdet "{1}" som associeras med elementtyp "{0}" f\u00E5r inte inneh\u00E5lla n\u00E5got ''<''-tecken.
+ AttributeValueUnterminated = Attributv\u00E4rdet "{1}" m\u00E5ste avslutas med matchande citattecken.
# 2.5 Comments
- InvalidCommentStart = Kommentarer m\u00E5ste inledas med \"\".
+ InvalidCommentStart = Kommentarer m\u00E5ste inledas med "".
COMMENT_NOT_IN_ONE_ENTITY = Kommentaren innesluts inte i samma enhet.
# 2.6 Processing Instructions
PITargetRequired = Bearbetningsinstruktionen m\u00E5ste b\u00F6rja med m\u00E5lnamnet.
SpaceRequiredInPI = Tomt utrymme kr\u00E4vs mellan bearbetningsinstruktionens m\u00E5l och data.
- PIUnterminated = Bearbetningsinstruktionen m\u00E5ste avslutas med \"?>\".
- ReservedPITarget = Bearbetningsinstruktionens m\u00E5lmatchning \"[xX][mM][lL]\" \u00E4r inte till\u00E5ten.
+ PIUnterminated = Bearbetningsinstruktionen m\u00E5ste avslutas med "?>".
+ ReservedPITarget = Bearbetningsinstruktionens m\u00E5lmatchning "[xX][mM][lL]" \u00E4r inte till\u00E5ten.
PI_NOT_IN_ONE_ENTITY = Bearbetningsinstruktionen innesluts inte i samma enhet.
# 2.8 Prolog and Document Type Declaration
- VersionInfoInvalid = Ogiltig version \"{0}\".
- VersionNotSupported = XML-versionen \"{0}\" st\u00F6ds inte, endast XML 1.0 st\u00F6ds.
- VersionNotSupported11 = XML-versionen \"{0}\" st\u00F6ds inte, endast XML 1.0 och XML 1.1 st\u00F6ds.
+ VersionInfoInvalid = Ogiltig version "{0}".
+ VersionNotSupported = XML-versionen "{0}" st\u00F6ds inte, endast XML 1.0 st\u00F6ds.
+ VersionNotSupported11 = XML-versionen "{0}" st\u00F6ds inte, endast XML 1.0 och XML 1.1 st\u00F6ds.
VersionMismatch= En enhet kan inte inkludera n\u00E5gon annan enhet som har en senare version.
# 4.1 Character and Entity References
- DigitRequiredInCharRef = Ett decimalt uttryck m\u00E5ste anges direkt efter \"\" i en teckenreferens.
- HexdigitRequiredInCharRef = Ett hexadecimalt uttryck m\u00E5ste anges direkt efter \"\" i en teckenreferens.
+ DigitRequiredInCharRef = Ett decimalt uttryck m\u00E5ste anges direkt efter "" i en teckenreferens.
+ HexdigitRequiredInCharRef = Ett hexadecimalt uttryck m\u00E5ste anges direkt efter "" i en teckenreferens.
SemicolonRequiredInCharRef = Teckenreferensen m\u00E5ste avslutas med ';'-avgr\u00E4nsare.
- InvalidCharRef = Teckenreferensen \"{0}\" \u00E4r ett ogiltigt XML-tecken.
+ InvalidCharRef = Teckenreferensen "{0}" \u00E4r ett ogiltigt XML-tecken.
NameRequiredInReference = Enhetsnamnet m\u00E5ste omedelbart f\u00F6ljas av '&' i enhetsreferensen.
- SemicolonRequiredInReference = Referensen till enhet \"{0}\" m\u00E5ste avslutas med '';''-avgr\u00E4nsare.
+ SemicolonRequiredInReference = Referensen till enhet "{0}" m\u00E5ste avslutas med '';''-avgr\u00E4nsare.
# 4.3.1 The Text Declaration
TextDeclMustBeFirst = Textdeklarationen m\u00E5ste anges direkt i b\u00F6rjan av externt tolkad enhet.
- EqRequiredInTextDecl = Ett likhetstecken ('' = '') m\u00E5ste anges efter \"{0}\" i textdeklarationen.
- QuoteRequiredInTextDecl = V\u00E4rdet som f\u00F6ljer \"{0}\" i textdeklarationen m\u00E5ste omges av citattecken.
- CloseQuoteMissingInTextDecl = avslutande citattecken saknas f\u00F6r v\u00E4rdet efter \"{0}\" i textdeklarationen.
+ EqRequiredInTextDecl = Ett likhetstecken ('' = '') m\u00E5ste anges efter "{0}" i textdeklarationen.
+ QuoteRequiredInTextDecl = V\u00E4rdet som f\u00F6ljer "{0}" i textdeklarationen m\u00E5ste omges av citattecken.
+ CloseQuoteMissingInTextDecl = avslutande citattecken saknas f\u00F6r v\u00E4rdet efter "{0}" i textdeklarationen.
SpaceRequiredBeforeVersionInTextDecl = Tomt utrymme kr\u00E4vs f\u00F6re versionens pseudoattribut i textdeklarationen.
SpaceRequiredBeforeEncodingInTextDecl = Tomt utrymme kr\u00E4vs f\u00F6re kodningens pseudoattribut i textdeklarationen.
- TextDeclUnterminated = Textdeklarationen m\u00E5ste avslutas med \"?>\".
+ TextDeclUnterminated = Textdeklarationen m\u00E5ste avslutas med "?>".
EncodingDeclRequired = Koddeklaration kr\u00E4vs i textdeklarationen.
NoMorePseudoAttributes = Inga fler pseudoattribut \u00E4r till\u00E5tna.
MorePseudoAttributes = Ytterligare pseudoattribut f\u00F6rv\u00E4ntas.
@@ -143,13 +140,13 @@
CommentNotInOneEntity = Kommentaren m\u00E5ste finnas med inom samma tolkade enhet.
PINotInOneEntity = Bearbetningsinstruktionen m\u00E5ste finnas med inom samma tolkade enhet.
# 4.3.3 Character Encoding in Entities
- EncodingDeclInvalid = Ogiltigt kodnamn, \"{0}\".
- EncodingByteOrderUnsupported = Angiven byteordningsf\u00F6ljd i kodning \"{0}\" st\u00F6ds inte.
+ EncodingDeclInvalid = Ogiltigt kodnamn, "{0}".
+ EncodingByteOrderUnsupported = Angiven byteordningsf\u00F6ljd i kodning "{0}" st\u00F6ds inte.
InvalidByte = Ogiltig byte {0} i UTF-8-sekvensen f\u00F6r {1}-byte.
ExpectedByte = F\u00F6rv\u00E4ntad byte {0} i UTF-8-sekvensen f\u00F6r {1}-byte.
InvalidHighSurrogate = H\u00F6ga surrogatbitar i UTF-8-sekvens f\u00E5r inte \u00F6verskrida 0x10, men 0x{0} hittades.
- OperationNotSupported = Operation \"{0}\" st\u00F6ds inte i l\u00E4saren {1}.
- InvalidASCII = Byte \"{0}\" ing\u00E5r inte i ASCII-teckenupps\u00E4ttningen (7 bitar).
+ OperationNotSupported = Operation "{0}" st\u00F6ds inte i l\u00E4saren {1}.
+ InvalidASCII = Byte "{0}" ing\u00E5r inte i ASCII-teckenupps\u00E4ttningen (7 bitar).
CharConversionFailure = En enhet som fastst\u00E4lls anv\u00E4nda ett visst kodformat f\u00E5r inte inneh\u00E5lla sekvenser som \u00E4r otill\u00E5tna i kodningen.
# DTD Messages
@@ -169,150 +166,150 @@
PubidCharIllegal = Tecknet (Unicode: 0x{0}) \u00E4r inte till\u00E5tet i den allm\u00E4nna identifieraren.
SpaceRequiredBetweenPublicAndSystem = Tomma utrymmen kr\u00E4vs mellan publicId och systemId.
# 2.8 Prolog and Document Type Declaration
- MSG_SPACE_REQUIRED_BEFORE_ROOT_ELEMENT_TYPE_IN_DOCTYPEDECL = Tomt utrymme kr\u00E4vs efter \"''.
- PEReferenceWithinMarkup = Parameterreferensen \"%{0};\" f\u00E5r inte f\u00F6rekomma i kodtexten i den interna delm\u00E4ngden i DTD.
+ MSG_SPACE_REQUIRED_BEFORE_ROOT_ELEMENT_TYPE_IN_DOCTYPEDECL = Tomt utrymme kr\u00E4vs efter "''.
+ PEReferenceWithinMarkup = Parameterreferensen "%{0};" f\u00E5r inte f\u00F6rekomma i kodtexten i den interna delm\u00E4ngden i DTD.
MSG_MARKUP_NOT_RECOGNIZED_IN_DTD = Kodtextdeklarationerna som finns med eller pekas till fr\u00E5n dokumenttypdeklarationen m\u00E5ste vara v\u00E4lformulerade.
# 2.10 White Space Handling
- MSG_XML_SPACE_DECLARATION_ILLEGAL = Attributdeklarationen f\u00F6r \"xml:space\" m\u00E5ste anges som uppr\u00E4kningstyp vars enda m\u00F6jliga v\u00E4rden \u00E4r \"default\" och \"preserve\".
+ MSG_XML_SPACE_DECLARATION_ILLEGAL = Attributdeklarationen f\u00F6r "xml:space" m\u00E5ste anges som uppr\u00E4kningstyp vars enda m\u00F6jliga v\u00E4rden \u00E4r "default" och "preserve".
# 3.2 Element Type Declarations
- MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ELEMENTDECL = Tomt utrymme kr\u00E4vs efter \"''.
+ MSG_SPACE_REQUIRED_BEFORE_CONTENTSPEC_IN_ELEMENTDECL = Tomt utrymme kr\u00E4vs efter elementtyp "{0}" i elementtypdeklarationen.
+ MSG_CONTENTSPEC_REQUIRED_IN_ELEMENTDECL = Begr\u00E4nsningen kr\u00E4vs efter elementtyp "{0}" i elementtypdeklarationen.
+ ElementDeclUnterminated = Deklarationen f\u00F6r elementtyp "{0}" m\u00E5ste avslutas med ''>''.
# 3.2.1 Element Content
- MSG_OPEN_PAREN_OR_ELEMENT_TYPE_REQUIRED_IN_CHILDREN = Tecknet ''('' eller en elementtyp m\u00E5ste anges i deklarationen av elementtyp \"{0}\".
- MSG_CLOSE_PAREN_REQUIRED_IN_CHILDREN = Tecknet '')'' m\u00E5ste anges i deklarationen av elementtyp \"{0}\".
+ MSG_OPEN_PAREN_OR_ELEMENT_TYPE_REQUIRED_IN_CHILDREN = Tecknet ''('' eller en elementtyp m\u00E5ste anges i deklarationen av elementtyp "{0}".
+ MSG_CLOSE_PAREN_REQUIRED_IN_CHILDREN = Tecknet '')'' m\u00E5ste anges i deklarationen av elementtyp "{0}".
# 3.2.2 Mixed Content
- MSG_ELEMENT_TYPE_REQUIRED_IN_MIXED_CONTENT = En elementtyp m\u00E5ste anges i deklarationen av elementtyp \"{0}\".
- MSG_CLOSE_PAREN_REQUIRED_IN_MIXED = Tecknet '')'' m\u00E5ste anges i deklarationen av elementtyp \"{0}\".
- MixedContentUnterminated = Modellen med blandat inneh\u00E5ll \"{0}\" m\u00E5ste avslutas med \")*\" om typer av underordnade element \u00E4r begr\u00E4nsade.
+ MSG_ELEMENT_TYPE_REQUIRED_IN_MIXED_CONTENT = En elementtyp m\u00E5ste anges i deklarationen av elementtyp "{0}".
+ MSG_CLOSE_PAREN_REQUIRED_IN_MIXED = Tecknet '')'' m\u00E5ste anges i deklarationen av elementtyp "{0}".
+ MixedContentUnterminated = Modellen med blandat inneh\u00E5ll "{0}" m\u00E5ste avslutas med ")*" om typer av underordnade element \u00E4r begr\u00E4nsade.
# 3.3 Attribute-List Declarations
- MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ATTLISTDECL = Tomt utrymme kr\u00E4vs efter \"\".
- IgnoreSectUnterminated = Exkluderat villkorsavsnitt m\u00E5ste avslutas med \"]]>\".
+ IncludeSectUnterminated = Inkluderat villkorsavsnitt m\u00E5ste avslutas med "]]>".
+ IgnoreSectUnterminated = Exkluderat villkorsavsnitt m\u00E5ste avslutas med "]]>".
# 4.1 Character and Entity References
NameRequiredInPEReference = Enhetsnamnet m\u00E5ste omedelbart f\u00F6ljas av '%' i parameterreferensen.
- SemicolonRequiredInPEReference = Parameterreferensen \"%{0};\" m\u00E5ste avslutas med '';''-avgr\u00E4nsare.
+ SemicolonRequiredInPEReference = Parameterreferensen "%{0};" m\u00E5ste avslutas med '';''-avgr\u00E4nsare.
# 4.2 Entity Declarations
- MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_ENTITYDECL = Tomt utrymme kr\u00E4vs efter \"''.
- MSG_DUPLICATE_ENTITY_DEFINITION = Enheten \"{0}\" har deklarerats mer \u00E4n en g\u00E5ng.
+ MSG_SPACE_REQUIRED_AFTER_ENTITY_NAME_IN_ENTITYDECL = Tomt utrymme kr\u00E4vs mellan enhetsnamnet "{0}" och definitionen i enhetsdeklarationen.
+ MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_UNPARSED_ENTITYDECL = Tomt utrymme kr\u00E4vs mellan "NDATA" och notationsnamnet i deklarationen f\u00F6r enheten "{0}".
+ MSG_SPACE_REQUIRED_BEFORE_NDATA_IN_UNPARSED_ENTITYDECL = Tomt utrymme kr\u00E4vs f\u00F6re "NDATA" i deklarationen f\u00F6r enheten "{0}".
+ MSG_NOTATION_NAME_REQUIRED_FOR_UNPARSED_ENTITYDECL = Notationsnamnet m\u00E5ste anges efter "NDATA" i deklarationen f\u00F6r enheten "{0}".
+ EntityDeclUnterminated = Deklarationen f\u00F6r enheten "{0}" m\u00E5ste avslutas med ''>''.
+ MSG_DUPLICATE_ENTITY_DEFINITION = Enheten "{0}" har deklarerats mer \u00E4n en g\u00E5ng.
# 4.2.2 External Entities
- ExternalIDRequired = Den externa enhetsdeklarationen m\u00E5ste inledas med antingen \"SYSTEM\" eller \"PUBLIC\".
- MSG_SPACE_REQUIRED_BEFORE_PUBIDLITERAL_IN_EXTERNALID = Tomt utrymme kr\u00E4vs mellan \"PUBLIC\" och den allm\u00E4nna identifieraren.
+ ExternalIDRequired = Den externa enhetsdeklarationen m\u00E5ste inledas med antingen "SYSTEM" eller "PUBLIC".
+ MSG_SPACE_REQUIRED_BEFORE_PUBIDLITERAL_IN_EXTERNALID = Tomt utrymme kr\u00E4vs mellan "PUBLIC" och den allm\u00E4nna identifieraren.
MSG_SPACE_REQUIRED_AFTER_PUBIDLITERAL_IN_EXTERNALID = Tomt utrymme kr\u00E4vs mellan den allm\u00E4nna identifieraren och systemidentifieraren.
- MSG_SPACE_REQUIRED_BEFORE_SYSTEMLITERAL_IN_EXTERNALID = Tomt utrymme kr\u00E4vs mellan \"SYSTEM\" och systemidentifieraren.
- MSG_URI_FRAGMENT_IN_SYSTEMID = Fragmentidentifieraren f\u00E5r inte anges som del av systemidentifieraren \"{0}\".
+ MSG_SPACE_REQUIRED_BEFORE_SYSTEMLITERAL_IN_EXTERNALID = Tomt utrymme kr\u00E4vs mellan "SYSTEM" och systemidentifieraren.
+ MSG_URI_FRAGMENT_IN_SYSTEMID = Fragmentidentifieraren f\u00E5r inte anges som del av systemidentifieraren "{0}".
# 4.7 Notation Declarations
- MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_NOTATIONDECL = Tomt utrymme kr\u00E4vs efter \"''.
+ MSG_SPACE_REQUIRED_AFTER_NOTATION_NAME_IN_NOTATIONDECL = Tomt utrymme kr\u00E4vs efter notationsnamnet "{0}" i notationsdeklarationen.
+ ExternalIDorPublicIDRequired = Deklarationen f\u00F6r notationen "{0}" m\u00E5ste inkludera systemidentifierare eller allm\u00E4n identifierare.
+ NotationDeclUnterminated = Deklarationen f\u00F6r notationen "{0}" m\u00E5ste avslutas med ''>''.
# Validation messages
- DuplicateTypeInMixedContent = Elementtyp \"{1}\" har redan angetts i modellen med inneh\u00E5ll f\u00F6r elementdeklarationen \"{0}\".
- ENTITIESInvalid = Attributv\u00E4rdet \"{1}\" av typen ENTITIES m\u00E5ste motsvara namnen p\u00E5 en eller flera otolkade enheter.
- ENTITYInvalid = Attributv\u00E4rdet \"{1}\" av typen ENTITY m\u00E5ste motsvara namnet p\u00E5 en otolkad enhet.
- IDDefaultTypeInvalid = Id-attributet \"{0}\" m\u00E5ste inneh\u00E5lla deklarerat standardv\u00E4rde \"#IMPLIED\" eller \"#REQUIRED\".
- IDInvalid = Attributv\u00E4rdet \"{0}\" av typen ID m\u00E5ste vara ett namn.
- IDInvalidWithNamespaces = Attributv\u00E4rdet \"{0}\" av typen ID m\u00E5ste vara NCName om namnrymder anv\u00E4nds.
- IDNotUnique = Attributv\u00E4rdet \"{0}\" av typen ID m\u00E5ste vara unikt inom dokumentet.
- IDREFInvalid = Attributv\u00E4rdet \"{0}\" av typen IDREF m\u00E5ste vara ett namn.
- IDREFInvalidWithNamespaces = Attributv\u00E4rdet \"{0}\" av typen IDREF m\u00E5ste vara NCName om namnrymder anv\u00E4nds.
- IDREFSInvalid = Attributv\u00E4rdet \"{0}\" av typen IDREFS m\u00E5ste vara ett eller flera namn.
- ILL_FORMED_PARAMETER_ENTITY_WHEN_USED_IN_DECL = Ers\u00E4ttningstexten f\u00F6r parameterenheten \"{0}\" m\u00E5ste inkludera korrekt kapslade deklarationer om enhetsreferensen anv\u00E4nds som fullst\u00E4ndig deklaration.
- ImproperDeclarationNesting = Ers\u00E4ttningstexten f\u00F6r parameterenheten \"{0}\" m\u00E5ste inkludera deklarationer som \u00E4r korrekt kapslade.
- ImproperGroupNesting = Ers\u00E4ttningstexten f\u00F6r parameterenheten \"{0}\" m\u00E5ste inkludera parentespar som \u00E4r korrekt kapslade.
- INVALID_PE_IN_CONDITIONAL = Ers\u00E4ttningstexten f\u00F6r parameterenheten \"{0}\" m\u00E5st inkludera hela villkorsavsnittet eller endast INCLUDE eller IGNORE.
- MSG_ATTRIBUTE_NOT_DECLARED = Attributet \"{1}\" m\u00E5ste deklareras f\u00F6r elementtyp \"{0}\".
- MSG_ATTRIBUTE_VALUE_NOT_IN_LIST = Attributet \"{0}\" med v\u00E4rdet \"{1}\" m\u00E5ste ha ett v\u00E4rde fr\u00E5n listan \"{2}\".
- MSG_ATTVALUE_CHANGED_DURING_NORMALIZATION_WHEN_STANDALONE = V\u00E4rdet \"{1}\" f\u00F6r attributet \"{0}\" f\u00E5r inte \u00E4ndras vid normalisering (till \"{2}\") i ett frist\u00E5ende dokument.
- MSG_CONTENT_INCOMPLETE = Inneh\u00E5llet i elementtyp \"{0}\" \u00E4r ofullst\u00E4ndigt, det m\u00E5ste matcha \"{1}\".
- MSG_CONTENT_INVALID = Inneh\u00E5llet i elementtyp \"{0}\" m\u00E5ste matcha \"{1}\".
- MSG_CONTENT_INVALID_SPECIFIED = Inneh\u00E5llet i elementtyp \"{0}\" m\u00E5ste matcha \"{1}\". Underordnade till typ \"{2}\" \u00E4r inte till\u00E5tna.
- MSG_DEFAULTED_ATTRIBUTE_NOT_SPECIFIED = Attributet \"{1}\" f\u00F6r elementtyp \"{0}\" har ett standardv\u00E4rde och m\u00E5ste anges i ett frist\u00E5ende dokument.
- MSG_DUPLICATE_ATTDEF = Attributet \"{1}\" har redan deklarerats f\u00F6r elementtyp \"{0}\".
- MSG_ELEMENT_ALREADY_DECLARED = Elementtyp \"{0}\" f\u00E5r deklareras endast en g\u00E5ng.
- MSG_ELEMENT_NOT_DECLARED = Elementtyp \"{0}\" m\u00E5ste deklareras.
+ DuplicateTypeInMixedContent = Elementtyp "{1}" har redan angetts i modellen med inneh\u00E5ll f\u00F6r elementdeklarationen "{0}".
+ ENTITIESInvalid = Attributv\u00E4rdet "{1}" av typen ENTITIES m\u00E5ste motsvara namnen p\u00E5 en eller flera otolkade enheter.
+ ENTITYInvalid = Attributv\u00E4rdet "{1}" av typen ENTITY m\u00E5ste motsvara namnet p\u00E5 en otolkad enhet.
+ IDDefaultTypeInvalid = Id-attributet "{0}" m\u00E5ste inneh\u00E5lla deklarerat standardv\u00E4rde "#IMPLIED" eller "#REQUIRED".
+ IDInvalid = Attributv\u00E4rdet "{0}" av typen ID m\u00E5ste vara ett namn.
+ IDInvalidWithNamespaces = Attributv\u00E4rdet "{0}" av typen ID m\u00E5ste vara NCName om namnrymder anv\u00E4nds.
+ IDNotUnique = Attributv\u00E4rdet "{0}" av typen ID m\u00E5ste vara unikt inom dokumentet.
+ IDREFInvalid = Attributv\u00E4rdet "{0}" av typen IDREF m\u00E5ste vara ett namn.
+ IDREFInvalidWithNamespaces = Attributv\u00E4rdet "{0}" av typen IDREF m\u00E5ste vara NCName om namnrymder anv\u00E4nds.
+ IDREFSInvalid = Attributv\u00E4rdet "{0}" av typen IDREFS m\u00E5ste vara ett eller flera namn.
+ ILL_FORMED_PARAMETER_ENTITY_WHEN_USED_IN_DECL = Ers\u00E4ttningstexten f\u00F6r parameterenheten "{0}" m\u00E5ste inkludera korrekt kapslade deklarationer om enhetsreferensen anv\u00E4nds som fullst\u00E4ndig deklaration.
+ ImproperDeclarationNesting = Ers\u00E4ttningstexten f\u00F6r parameterenheten "{0}" m\u00E5ste inkludera deklarationer som \u00E4r korrekt kapslade.
+ ImproperGroupNesting = Ers\u00E4ttningstexten f\u00F6r parameterenheten "{0}" m\u00E5ste inkludera parentespar som \u00E4r korrekt kapslade.
+ INVALID_PE_IN_CONDITIONAL = Ers\u00E4ttningstexten f\u00F6r parameterenheten "{0}" m\u00E5st inkludera hela villkorsavsnittet eller endast INCLUDE eller IGNORE.
+ MSG_ATTRIBUTE_NOT_DECLARED = Attributet "{1}" m\u00E5ste deklareras f\u00F6r elementtyp "{0}".
+ MSG_ATTRIBUTE_VALUE_NOT_IN_LIST = Attributet "{0}" med v\u00E4rdet "{1}" m\u00E5ste ha ett v\u00E4rde fr\u00E5n listan "{2}".
+ MSG_ATTVALUE_CHANGED_DURING_NORMALIZATION_WHEN_STANDALONE = V\u00E4rdet "{1}" f\u00F6r attributet "{0}" f\u00E5r inte \u00E4ndras vid normalisering (till "{2}") i ett frist\u00E5ende dokument.
+ MSG_CONTENT_INCOMPLETE = Inneh\u00E5llet i elementtyp "{0}" \u00E4r ofullst\u00E4ndigt, det m\u00E5ste matcha "{1}".
+ MSG_CONTENT_INVALID = Inneh\u00E5llet i elementtyp "{0}" m\u00E5ste matcha "{1}".
+ MSG_CONTENT_INVALID_SPECIFIED = Inneh\u00E5llet i elementtyp "{0}" m\u00E5ste matcha "{1}". Underordnade till typ "{2}" \u00E4r inte till\u00E5tna.
+ MSG_DEFAULTED_ATTRIBUTE_NOT_SPECIFIED = Attributet "{1}" f\u00F6r elementtyp "{0}" har ett standardv\u00E4rde och m\u00E5ste anges i ett frist\u00E5ende dokument.
+ MSG_DUPLICATE_ATTDEF = Attributet "{1}" har redan deklarerats f\u00F6r elementtyp "{0}".
+ MSG_ELEMENT_ALREADY_DECLARED = Elementtyp "{0}" f\u00E5r deklareras endast en g\u00E5ng.
+ MSG_ELEMENT_NOT_DECLARED = Elementtyp "{0}" m\u00E5ste deklareras.
MSG_GRAMMAR_NOT_FOUND = Dokumentet \u00E4r ogiltigt: hittade ingen grammatik.
- MSG_ELEMENT_WITH_ID_REQUIRED = Ett element med identifieraren \"{0}\" m\u00E5ste finnas med i dokumentet.
- MSG_EXTERNAL_ENTITY_NOT_PERMITTED = Referens till den externa enheten \"{0}\" \u00E4r inte till\u00E5tet i frist\u00E5ende dokument.
- MSG_FIXED_ATTVALUE_INVALID = Attributet \"{1}\" med v\u00E4rdet \"{2}\" m\u00E5ste ha v\u00E4rdet \"{3}\".
- MSG_MORE_THAN_ONE_ID_ATTRIBUTE = Elementtyp \"{0}\" har redan attributet \"{1}\" av id-typ, ett andra attribut \"{2}\" av samma typ \u00E4r inte till\u00E5tet.
- MSG_MORE_THAN_ONE_NOTATION_ATTRIBUTE = Elementtyp \"{0}\" har redan attributet \"{1}\" av NOTATION-typ, ett andra attribut \"{2}\" av samma typ \u00E4r inte till\u00E5tet.
- MSG_NOTATION_NOT_DECLARED_FOR_NOTATIONTYPE_ATTRIBUTE = Notationen \"{1}\" m\u00E5ste deklareras vid referens i notationstyplistan f\u00F6r attributet \"{0}\".
- MSG_NOTATION_NOT_DECLARED_FOR_UNPARSED_ENTITYDECL = Notationen \"{1}\" m\u00E5ste deklareras vid referens i otolkad enhetsdeklaration f\u00F6r \"{0}\".
- MSG_REFERENCE_TO_EXTERNALLY_DECLARED_ENTITY_WHEN_STANDALONE = Referensen till enheten \"{0}\" som har deklarerats i en externt tolkad enhet \u00E4r inte till\u00E5tet i frist\u00E5ende dokument.
- MSG_REQUIRED_ATTRIBUTE_NOT_SPECIFIED = Attributet \"{1}\" m\u00E5ste anges f\u00F6r elementtyp \"{0}\".
+ MSG_ELEMENT_WITH_ID_REQUIRED = Ett element med identifieraren "{0}" m\u00E5ste finnas med i dokumentet.
+ MSG_EXTERNAL_ENTITY_NOT_PERMITTED = Referens till den externa enheten "{0}" \u00E4r inte till\u00E5tet i frist\u00E5ende dokument.
+ MSG_FIXED_ATTVALUE_INVALID = Attributet "{1}" med v\u00E4rdet "{2}" m\u00E5ste ha v\u00E4rdet "{3}".
+ MSG_MORE_THAN_ONE_ID_ATTRIBUTE = Elementtyp "{0}" har redan attributet "{1}" av id-typ, ett andra attribut "{2}" av samma typ \u00E4r inte till\u00E5tet.
+ MSG_MORE_THAN_ONE_NOTATION_ATTRIBUTE = Elementtyp "{0}" har redan attributet "{1}" av NOTATION-typ, ett andra attribut "{2}" av samma typ \u00E4r inte till\u00E5tet.
+ MSG_NOTATION_NOT_DECLARED_FOR_NOTATIONTYPE_ATTRIBUTE = Notationen "{1}" m\u00E5ste deklareras vid referens i notationstyplistan f\u00F6r attributet "{0}".
+ MSG_NOTATION_NOT_DECLARED_FOR_UNPARSED_ENTITYDECL = Notationen "{1}" m\u00E5ste deklareras vid referens i otolkad enhetsdeklaration f\u00F6r "{0}".
+ MSG_REFERENCE_TO_EXTERNALLY_DECLARED_ENTITY_WHEN_STANDALONE = Referensen till enheten "{0}" som har deklarerats i en externt tolkad enhet \u00E4r inte till\u00E5tet i frist\u00E5ende dokument.
+ MSG_REQUIRED_ATTRIBUTE_NOT_SPECIFIED = Attributet "{1}" m\u00E5ste anges f\u00F6r elementtyp "{0}".
MSG_WHITE_SPACE_IN_ELEMENT_CONTENT_WHEN_STANDALONE = Tomt utrymme f\u00E5r inte f\u00F6rekomma mellan element som har deklarerats i en externt tolkad enhet med elementinneh\u00E5ll i frist\u00E5ende dokument.
- NMTOKENInvalid = Attributv\u00E4rdet \"{0}\" av typen NMTOKEN m\u00E5ste vara ett namntecken.
- NMTOKENSInvalid = Attributv\u00E4rdet \"{0}\" av typen NMTOKENS m\u00E5ste vara ett eller flera namntecken.
- NoNotationOnEmptyElement = Elementtyp \"{0}\" med deklarationen EMPTY kan inte deklareras med attributet \"{1}\" av typen NOTATION.
- RootElementTypeMustMatchDoctypedecl = Dokumentrotelementet \"{1}\" m\u00E5ste matcha DOCTYPE-roten \"{0}\".
- UndeclaredElementInContentSpec = Modellen med inneh\u00E5ll f\u00F6r elementet \"{0}\" refererar till elementet \"{1}\" som inte har deklarerats.
- UniqueNotationName = Deklarationen f\u00F6r notationen \"{0}\" \u00E4r inte unik. Ett namn f\u00E5r inte deklareras i fler \u00E4n en notationsdeklaration.
+ NMTOKENInvalid = Attributv\u00E4rdet "{0}" av typen NMTOKEN m\u00E5ste vara ett namntecken.
+ NMTOKENSInvalid = Attributv\u00E4rdet "{0}" av typen NMTOKENS m\u00E5ste vara ett eller flera namntecken.
+ NoNotationOnEmptyElement = Elementtyp "{0}" med deklarationen EMPTY kan inte deklareras med attributet "{1}" av typen NOTATION.
+ RootElementTypeMustMatchDoctypedecl = Dokumentrotelementet "{1}" m\u00E5ste matcha DOCTYPE-roten "{0}".
+ UndeclaredElementInContentSpec = Modellen med inneh\u00E5ll f\u00F6r elementet "{0}" refererar till elementet "{1}" som inte har deklarerats.
+ UniqueNotationName = Deklarationen f\u00F6r notationen "{0}" \u00E4r inte unik. Ett namn f\u00E5r inte deklareras i fler \u00E4n en notationsdeklaration.
ENTITYFailedInitializeGrammar = ENTITYDatatype-validerare: Behov att anropa initieringsmetod med giltig grammatikreferens utf\u00F6rdes inte. \t
- ENTITYNotUnparsed = ENTITY \"{0}\" \u00E4r otolkat.
- ENTITYNotValid = ENTITY \"{0}\" \u00E4r inte giltigt.
+ ENTITYNotUnparsed = ENTITY "{0}" \u00E4r otolkat.
+ ENTITYNotValid = ENTITY "{0}" \u00E4r inte giltigt.
EmptyList = V\u00E4rdet f\u00F6r typ ENTITIES, IDREFS och NMTOKENS f\u00E5r inte vara en tom lista.
# Entity related messages
# 3.1 Start-Tags, End-Tags, and Empty-Element Tags
- ReferenceToExternalEntity = Den externa enhetsreferensen \"&{0};\" till\u00E5ts inte i ett attributv\u00E4rde.
- AccessExternalDTD = External DTD: Failed to read external DTD ''{0}'', because ''{1}'' access is not allowed.
- AccessExternalEntity = External Entity: Failed to read external document ''{0}'', because ''{1}'' access is not allowed.
+ ReferenceToExternalEntity = Den externa enhetsreferensen "&{0};" till\u00E5ts inte i ett attributv\u00E4rde.
+ AccessExternalDTD = Extern DTD: Kunde inte l\u00E4sa extern DTD ''{0}'', eftersom ''{1}'' \u00E5tkomst inte till\u00E5ts.
+ AccessExternalEntity = Extern enhet: Kunde inte l\u00E4sa externt dokument ''{0}'', eftersom ''{1}'' \u00E5tkomst inte till\u00E5ts.
# 4.1 Character and Entity References
- EntityNotDeclared = Enheten \"{0}\" har refererats, men \u00E4r inte deklarerad.
- ReferenceToUnparsedEntity = Den otolkade enhetsreferensen \"&{0};\" \u00E4r inte till\u00E5ten.
- RecursiveReference = Rekursiv enhetsreferens \"{0}\". (Referenss\u00F6kv\u00E4g: {1}),
- RecursiveGeneralReference = Rekursiv allm\u00E4n enhetsreferens \"&{0};\". (Referenss\u00F6kv\u00E4g: {1}),
- RecursivePEReference = Rekursiv parameterreferens \"%{0};\". (Referenss\u00F6kv\u00E4g: {1}),
+ EntityNotDeclared = Enheten "{0}" har refererats, men \u00E4r inte deklarerad.
+ ReferenceToUnparsedEntity = Den otolkade enhetsreferensen "&{0};" \u00E4r inte till\u00E5ten.
+ RecursiveReference = Rekursiv enhetsreferens "{0}". (Referenss\u00F6kv\u00E4g: {1}),
+ RecursiveGeneralReference = Rekursiv allm\u00E4n enhetsreferens "&{0};". (Referenss\u00F6kv\u00E4g: {1}),
+ RecursivePEReference = Rekursiv parameterreferens "%{0};". (Referenss\u00F6kv\u00E4g: {1}),
# 4.3.3 Character Encoding in Entities
- EncodingNotSupported = Kodningen \"{0}\" st\u00F6ds inte.
+ EncodingNotSupported = Kodningen "{0}" st\u00F6ds inte.
EncodingRequired = En tolkad enhet som inte \u00E4r kodad i varken UTF-8 eller UTF-16 m\u00E5ste ha en kodningsdeklaration.
# Namespaces support
# 4. Using Qualified Names
IllegalQName = Element eller attribut matchar inte QName-produktion: QName::=(NCName':')?NCName.
- ElementXMLNSPrefix = Elementet \"{0}\" kan inte anv\u00E4ndas med \"xmlns\" som prefix.
- ElementPrefixUnbound = Prefixet \"{0}\" f\u00F6r elementet \"{1}\" \u00E4r inte bundet.
- AttributePrefixUnbound = Prefixet \"{2}\" f\u00F6r attributet \"{1}\" som associeras med elementtyp \"{0}\" \u00E4r inte bundet.
- EmptyPrefixedAttName = Ogiltigt v\u00E4rde f\u00F6r attributet \"{0}\". Namnrymdsbindningar som prefix kanske inte \u00E4r tomma.
- PrefixDeclared = Namnrymdsprefixet \"{0}\" har inte deklarerats.
+ ElementXMLNSPrefix = Elementet "{0}" kan inte anv\u00E4ndas med "xmlns" som prefix.
+ ElementPrefixUnbound = Prefixet "{0}" f\u00F6r elementet "{1}" \u00E4r inte bundet.
+ AttributePrefixUnbound = Prefixet "{2}" f\u00F6r attributet "{1}" som associeras med elementtyp "{0}" \u00E4r inte bundet.
+ EmptyPrefixedAttName = Ogiltigt v\u00E4rde f\u00F6r attributet "{0}". Namnrymdsbindningar som prefix kanske inte \u00E4r tomma.
+ PrefixDeclared = Namnrymdsprefixet "{0}" har inte deklarerats.
CantBindXMLNS = Prefixet "xmlns" kan inte bindas till en specifik namnrymd och namnrymden f\u00F6r "xmlns" kan inte heller bindas till ett specifikt prefix.
CantBindXML = Prefixet "xml" kan inte bindas till en namnrymd ut\u00F6ver den vanliga och namnrymden f\u00F6r "xml" kan inte heller bindas till n\u00E5got annat prefix \u00E4n "xml".
- MSG_ATT_DEFAULT_INVALID = defaultValue \"{1}\" f\u00F6r attributet \"{0}\" \u00E4r inte till\u00E5tet vad g\u00E4ller de lexikala begr\u00E4nsningarna f\u00F6r denna attributtyp.
+ MSG_ATT_DEFAULT_INVALID = defaultValue "{1}" f\u00F6r attributet "{0}" \u00E4r inte till\u00E5tet vad g\u00E4ller de lexikala begr\u00E4nsningarna f\u00F6r denna attributtyp.
# REVISIT: These need messages
MSG_SPACE_REQUIRED_AFTER_SYSTEMLITERAL_IN_EXTERNALID=MSG_SPACE_REQUIRED_AFTER_SYSTEMLITERAL_IN_EXTERNALID
@@ -321,7 +318,7 @@
#Application can set the limit of number of entities that should be expanded by the parser.
-EntityExpansionLimitExceeded=Parsern har p\u00E5tr\u00E4ffat fler \u00E4n \"{0}\" enhetstill\u00E4gg i dokumentet - applikationens gr\u00E4nsv\u00E4rde har uppn\u00E5tts.
+EntityExpansionLimitExceeded=Parsern har p\u00E5tr\u00E4ffat fler \u00E4n "{0}" enhetstill\u00E4gg i dokumentet - applikationens gr\u00E4nsv\u00E4rde har uppn\u00E5tts.
# Application can set the limit of number of attributes of entity that should be expanded by the parser.
-ElementAttributeLimit= Elementet \"{0}\" har fler \u00E4n \"{1}\" attribut, \"{1}\" \u00E4r applikationens gr\u00E4nsv\u00E4rde.
+ElementAttributeLimit= Elementet "{0}" har fler \u00E4n "{1}" attribut, "{1}" \u00E4r applikationens gr\u00E4nsv\u00E4rde.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_CN.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_CN.properties
index 74a7a061c2b..d327fe3f3eb 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_CN.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_CN.properties
@@ -1,30 +1,27 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file contains error and warning messages related to XML
# The messages are arranged in key and value tuples in a ListResourceBundle.
@@ -48,14 +45,14 @@
InvalidCharInProlog = \u5728\u6587\u6863\u524D\u8A00\u4E2D\u627E\u5230\u65E0\u6548\u7684 XML \u5B57\u7B26 (Unicode: 0x{0})\u3002
InvalidCharInXMLDecl = \u5728 XML \u58F0\u660E\u4E2D\u627E\u5230\u65E0\u6548\u7684 XML \u5B57\u7B26 (Unicode: 0x{0})\u3002
# 2.4 Character Data and Markup
- CDEndInContent = \u9664\u975E\u4F7F\u7528\u5B57\u7B26\u5E8F\u5217 \"]]>\" \u6765\u6807\u8BB0 CDATA \u8282\u7684\u7ED3\u5C3E, \u5426\u5219\u8BE5\u5B57\u7B26\u5E8F\u5217\u4E0D\u80FD\u51FA\u73B0\u5728\u5185\u5BB9\u4E2D\u3002
+ CDEndInContent = \u9664\u975E\u4F7F\u7528\u5B57\u7B26\u5E8F\u5217 "]]>" \u6765\u6807\u8BB0 CDATA \u8282\u7684\u7ED3\u5C3E, \u5426\u5219\u8BE5\u5B57\u7B26\u5E8F\u5217\u4E0D\u80FD\u51FA\u73B0\u5728\u5185\u5BB9\u4E2D\u3002
# 2.7 CDATA Sections
- CDSectUnterminated = CDATA \u8282\u5FC5\u987B\u4EE5 \"]]>\" \u7ED3\u5C3E\u3002
+ CDSectUnterminated = CDATA \u8282\u5FC5\u987B\u4EE5 "]]>" \u7ED3\u5C3E\u3002
# 2.8 Prolog and Document Type Declaration
XMLDeclMustBeFirst = XML \u58F0\u660E\u53EA\u80FD\u51FA\u73B0\u5728\u6587\u6863\u7684\u6700\u5F00\u5934\u5904\u3002
- EqRequiredInXMLDecl = \u5728 XML \u58F0\u660E\u4E2D, \"{0}\" \u540E\u9762\u5FC5\u987B\u8DDF\u6709 '' = '' \u5B57\u7B26\u3002
- QuoteRequiredInXMLDecl = XML \u58F0\u660E\u4E2D \"{0}\" \u540E\u9762\u8DDF\u968F\u7684\u503C\u5FC5\u987B\u662F\u7528\u5F15\u53F7\u62EC\u8D77\u6765\u7684\u5B57\u7B26\u4E32\u3002
- XMLDeclUnterminated = XML \u58F0\u660E\u5FC5\u987B\u4EE5 \"?>\" \u7ED3\u5C3E\u3002
+ EqRequiredInXMLDecl = \u5728 XML \u58F0\u660E\u4E2D, "{0}" \u540E\u9762\u5FC5\u987B\u8DDF\u6709 '' = '' \u5B57\u7B26\u3002
+ QuoteRequiredInXMLDecl = XML \u58F0\u660E\u4E2D "{0}" \u540E\u9762\u8DDF\u968F\u7684\u503C\u5FC5\u987B\u662F\u7528\u5F15\u53F7\u62EC\u8D77\u6765\u7684\u5B57\u7B26\u4E32\u3002
+ XMLDeclUnterminated = XML \u58F0\u660E\u5FC5\u987B\u4EE5 "?>" \u7ED3\u5C3E\u3002
VersionInfoRequired = XML \u58F0\u660E\u4E2D\u9700\u8981\u6B64\u7248\u672C\u3002
SpaceRequiredBeforeVersionInXMLDecl = \u5728 XML \u58F0\u660E\u4E2D\u7684\u7248\u672C\u4F2A\u5C5E\u6027\u524D\u9762\u5FC5\u987B\u6709\u7A7A\u683C\u3002
SpaceRequiredBeforeEncodingInXMLDecl = \u5728 XML \u58F0\u660E\u4E2D\u7684\u7F16\u7801\u4F2A\u5C5E\u6027\u524D\u9762\u5FC5\u987B\u6709\u7A7A\u683C\u3002
@@ -71,85 +68,85 @@
ReferenceIllegalInTrailingMisc=\u5C3E\u968F\u8282\u4E2D\u4E0D\u5141\u8BB8\u6709\u5F15\u7528\u3002
# 2.9 Standalone Document Declaration
- SDDeclInvalid = \u72EC\u7ACB\u6587\u6863\u58F0\u660E\u503C\u5FC5\u987B\u4E3A \"\u662F\" \u6216 \"\u5426\", \u4E0D\u80FD\u4E3A \"{0}\"\u3002
+ SDDeclInvalid = \u72EC\u7ACB\u6587\u6863\u58F0\u660E\u503C\u5FC5\u987B\u4E3A "\u662F" \u6216 "\u5426", \u4E0D\u80FD\u4E3A "{0}"\u3002
# 2.12 Language Identification
- XMLLangInvalid = xml:lang \u5C5E\u6027\u503C \"{0}\" \u662F\u65E0\u6548\u7684\u8BED\u8A00\u6807\u8BC6\u7B26\u3002
+ XMLLangInvalid = xml:lang \u5C5E\u6027\u503C "{0}" \u662F\u65E0\u6548\u7684\u8BED\u8A00\u6807\u8BC6\u7B26\u3002
# 3. Logical Structures
- ETagRequired = \u5143\u7D20\u7C7B\u578B \"{0}\" \u5FC5\u987B\u7531\u5339\u914D\u7684\u7ED3\u675F\u6807\u8BB0 \"{0}>\" \u7EC8\u6B62\u3002
+ ETagRequired = \u5143\u7D20\u7C7B\u578B "{0}" \u5FC5\u987B\u7531\u5339\u914D\u7684\u7ED3\u675F\u6807\u8BB0 "{0}>" \u7EC8\u6B62\u3002
# 3.1 Start-Tags, End-Tags, and Empty-Element Tags
- ElementUnterminated = \u5143\u7D20\u7C7B\u578B \"{0}\" \u5FC5\u987B\u540E\u8DDF\u5C5E\u6027\u89C4\u8303 \">\" \u6216 \"/>\"\u3002
- EqRequiredInAttribute = \u4E0E\u5143\u7D20\u7C7B\u578B \"{0}\" \u76F8\u5173\u8054\u7684\u5C5E\u6027\u540D \"{1}\" \u5FC5\u987B\u540E\u8DDF '' = '' \u5B57\u7B26\u3002
- OpenQuoteExpected = \u4E0E\u5143\u7D20\u7C7B\u578B \"{0}\" \u76F8\u5173\u8054\u7684\u5C5E\u6027 \"{1}\" \u5E94\u6709\u5DE6\u5F15\u53F7\u3002
- CloseQuoteExpected = \u4E0E\u5143\u7D20\u7C7B\u578B \"{0}\" \u76F8\u5173\u8054\u7684\u5C5E\u6027 \"{1}\" \u5E94\u6709\u53F3\u5F15\u53F7\u3002
- AttributeNotUnique = \u5DF2\u7ECF\u4E3A\u5143\u7D20 \"{0}\" \u6307\u5B9A\u5C5E\u6027 \"{1}\"\u3002
- AttributeNSNotUnique = \u5DF2\u7ECF\u4E3A\u5143\u7D20 \"{0}\" \u6307\u5B9A\u7ED1\u5B9A\u5230\u540D\u79F0\u7A7A\u95F4 \"{2}\" \u7684\u5C5E\u6027 \"{1}\"\u3002
- ETagUnterminated = \u5143\u7D20\u7C7B\u578B \"{0}\" \u7684\u7ED3\u675F\u6807\u8BB0\u5FC5\u987B\u4EE5 ''>'' \u5206\u9694\u7B26\u7ED3\u675F\u3002
+ ElementUnterminated = \u5143\u7D20\u7C7B\u578B "{0}" \u5FC5\u987B\u540E\u8DDF\u5C5E\u6027\u89C4\u8303 ">" \u6216 "/>"\u3002
+ EqRequiredInAttribute = \u4E0E\u5143\u7D20\u7C7B\u578B "{0}" \u76F8\u5173\u8054\u7684\u5C5E\u6027\u540D "{1}" \u5FC5\u987B\u540E\u8DDF '' = '' \u5B57\u7B26\u3002
+ OpenQuoteExpected = \u4E0E\u5143\u7D20\u7C7B\u578B "{0}" \u76F8\u5173\u8054\u7684\u5C5E\u6027 "{1}" \u5E94\u6709\u5DE6\u5F15\u53F7\u3002
+ CloseQuoteExpected = \u4E0E\u5143\u7D20\u7C7B\u578B "{0}" \u76F8\u5173\u8054\u7684\u5C5E\u6027 "{1}" \u5E94\u6709\u53F3\u5F15\u53F7\u3002
+ AttributeNotUnique = \u5DF2\u7ECF\u4E3A\u5143\u7D20 "{0}" \u6307\u5B9A\u5C5E\u6027 "{1}"\u3002
+ AttributeNSNotUnique = \u5DF2\u7ECF\u4E3A\u5143\u7D20 "{0}" \u6307\u5B9A\u7ED1\u5B9A\u5230\u540D\u79F0\u7A7A\u95F4 "{2}" \u7684\u5C5E\u6027 "{1}"\u3002
+ ETagUnterminated = \u5143\u7D20\u7C7B\u578B "{0}" \u7684\u7ED3\u675F\u6807\u8BB0\u5FC5\u987B\u4EE5 ''>'' \u5206\u9694\u7B26\u7ED3\u675F\u3002
MarkupNotRecognizedInContent = \u5143\u7D20\u5185\u5BB9\u5FC5\u987B\u7531\u683C\u5F0F\u6B63\u786E\u7684\u5B57\u7B26\u6570\u636E\u6216\u6807\u8BB0\u7EC4\u6210\u3002
DoctypeIllegalInContent = \u5185\u5BB9\u4E2D\u4E0D\u5141\u8BB8\u6709 DOCTYPE\u3002
# 4.1 Character and Entity References
ReferenceUnterminated = \u5F15\u7528\u5FC5\u987B\u4EE5 ';' \u5206\u9694\u7B26\u7EC8\u6B62\u3002
# 4.3.2 Well-Formed Parsed Entities
- ReferenceNotInOneEntity = \u5F15\u7528\u5FC5\u987B\u5B8C\u5168\u5305\u542B\u5728\u540C\u4E00\u4E2A\u5DF2\u8FDB\u884C\u8BED\u6CD5\u5206\u6790\u7684\u5B9E\u4F53\u5185\u3002
- ElementEntityMismatch = \u5143\u7D20 \"{0}\" \u5FC5\u987B\u4ECE\u5934\u81F3\u5C3E\u5305\u542B\u5728\u540C\u4E00\u4E2A\u5B9E\u4F53\u5185\u3002
+ ReferenceNotInOneEntity = \u5F15\u7528\u5FC5\u987B\u5B8C\u5168\u5305\u542B\u5728\u540C\u4E00\u4E2A\u5DF2\u89E3\u6790\u5B9E\u4F53\u5185\u3002
+ ElementEntityMismatch = \u5143\u7D20 "{0}" \u5FC5\u987B\u4ECE\u5934\u81F3\u5C3E\u5305\u542B\u5728\u540C\u4E00\u4E2A\u5B9E\u4F53\u5185\u3002
MarkupEntityMismatch=XML \u6587\u6863\u7ED3\u6784\u5FC5\u987B\u4ECE\u5934\u81F3\u5C3E\u5305\u542B\u5728\u540C\u4E00\u4E2A\u5B9E\u4F53\u5185\u3002
# Messages common to Document and DTD
# 2.2 Characters
- InvalidCharInAttValue = \u5728 \"{1}\" \u5C5E\u6027\u503C\u4E2D\u627E\u5230\u65E0\u6548\u7684 XML \u5B57\u7B26 (Unicode: 0x{2}), \u5E76\u4E14\u5143\u7D20\u4E3A \"{0}\"\u3002
+ InvalidCharInAttValue = \u5728 "{1}" \u5C5E\u6027\u503C\u4E2D\u627E\u5230\u65E0\u6548\u7684 XML \u5B57\u7B26 (Unicode: 0x{2}), \u5E76\u4E14\u5143\u7D20\u4E3A "{0}"\u3002
InvalidCharInComment = \u5728\u6CE8\u91CA\u4E2D\u627E\u5230\u65E0\u6548\u7684 XML \u5B57\u7B26 (Unicode: 0x{0})\u3002
InvalidCharInPI = \u5728\u5904\u7406\u6307\u4EE4\u4E2D\u627E\u5230\u65E0\u6548\u7684 XML \u5B57\u7B26 (Unicode: 0x{0})\u3002
InvalidCharInInternalSubset = \u5728 DTD \u7684\u5185\u90E8\u5B50\u96C6\u4E2D\u627E\u5230\u65E0\u6548\u7684 XML \u5B57\u7B26 (Unicode: 0x{0})\u3002
InvalidCharInTextDecl = \u5728\u6587\u672C\u58F0\u660E\u4E2D\u627E\u5230\u65E0\u6548\u7684 XML \u5B57\u7B26 (Unicode: 0x{0})\u3002
# 2.3 Common Syntactic Constructs
- QuoteRequiredInAttValue = \"{1}\" \u5C5E\u6027\u503C\u5FC5\u987B\u4EE5\u5355\u5F15\u53F7\u5B57\u7B26\u6216\u53CC\u5F15\u53F7\u5B57\u7B26\u5F00\u5934\u3002
- LessthanInAttValue = \u4E0E\u5143\u7D20\u7C7B\u578B \"{0}\" \u76F8\u5173\u8054\u7684 \"{1}\" \u5C5E\u6027\u503C\u4E0D\u80FD\u5305\u542B ''<'' \u5B57\u7B26\u3002
- AttributeValueUnterminated = \"{1}\" \u5C5E\u6027\u503C\u5FC5\u987B\u4EE5\u5339\u914D\u7684\u5F15\u53F7\u5B57\u7B26\u7ED3\u5C3E\u3002
+ QuoteRequiredInAttValue = "{1}" \u5C5E\u6027\u503C\u5FC5\u987B\u4EE5\u5355\u5F15\u53F7\u5B57\u7B26\u6216\u53CC\u5F15\u53F7\u5B57\u7B26\u5F00\u5934\u3002
+ LessthanInAttValue = \u4E0E\u5143\u7D20\u7C7B\u578B "{0}" \u76F8\u5173\u8054\u7684 "{1}" \u5C5E\u6027\u503C\u4E0D\u80FD\u5305\u542B ''<'' \u5B57\u7B26\u3002
+ AttributeValueUnterminated = "{1}" \u5C5E\u6027\u503C\u5FC5\u987B\u4EE5\u5339\u914D\u7684\u5F15\u53F7\u5B57\u7B26\u7ED3\u5C3E\u3002
# 2.5 Comments
- InvalidCommentStart = \u6CE8\u91CA\u5FC5\u987B\u4EE5 \"\" \u7ED3\u5C3E\u3002
+ InvalidCommentStart = \u6CE8\u91CA\u5FC5\u987B\u4EE5 "" \u7ED3\u5C3E\u3002
COMMENT_NOT_IN_ONE_ENTITY = \u6CE8\u91CA\u6CA1\u6709\u5305\u542B\u5728\u540C\u4E00\u4E2A\u5B9E\u4F53\u5185\u3002
# 2.6 Processing Instructions
PITargetRequired = \u5904\u7406\u6307\u4EE4\u5FC5\u987B\u4EE5\u76EE\u6807\u540D\u79F0\u5F00\u5934\u3002
SpaceRequiredInPI = \u5728\u5904\u7406\u6307\u4EE4\u76EE\u6807\u548C\u6570\u636E\u4E4B\u95F4\u9700\u8981\u6709\u7A7A\u683C\u3002
- PIUnterminated = \u5904\u7406\u6307\u4EE4\u5FC5\u987B\u4EE5 \"?>\" \u7ED3\u5C3E\u3002
- ReservedPITarget = \u4E0D\u5141\u8BB8\u6709\u5339\u914D \"[xX][mM][lL]\" \u7684\u5904\u7406\u6307\u4EE4\u76EE\u6807\u3002
+ PIUnterminated = \u5904\u7406\u6307\u4EE4\u5FC5\u987B\u4EE5 "?>" \u7ED3\u5C3E\u3002
+ ReservedPITarget = \u4E0D\u5141\u8BB8\u6709\u5339\u914D "[xX][mM][lL]" \u7684\u5904\u7406\u6307\u4EE4\u76EE\u6807\u3002
PI_NOT_IN_ONE_ENTITY = \u5904\u7406\u6307\u4EE4\u6CA1\u6709\u5305\u542B\u5728\u540C\u4E00\u4E2A\u5B9E\u4F53\u5185\u3002
# 2.8 Prolog and Document Type Declaration
- VersionInfoInvalid = \u7248\u672C \"{0}\" \u65E0\u6548\u3002
- VersionNotSupported = \u4E0D\u652F\u6301 XML \u7248\u672C \"{0}\", \u53EA\u652F\u6301 XML 1.0\u3002
- VersionNotSupported11 = \u4E0D\u652F\u6301 XML \u7248\u672C \"{0}\", \u53EA\u652F\u6301 XML 1.0 \u548C XML 1.1\u3002
+ VersionInfoInvalid = \u7248\u672C "{0}" \u65E0\u6548\u3002
+ VersionNotSupported = \u4E0D\u652F\u6301 XML \u7248\u672C "{0}", \u53EA\u652F\u6301 XML 1.0\u3002
+ VersionNotSupported11 = \u4E0D\u652F\u6301 XML \u7248\u672C "{0}", \u53EA\u652F\u6301 XML 1.0 \u548C XML 1.1\u3002
VersionMismatch= \u5B9E\u4F53\u4E0D\u80FD\u5305\u542B\u8F83\u9AD8\u7248\u672C\u7684\u53E6\u4E00\u4E2A\u5B9E\u4F53\u3002
# 4.1 Character and Entity References
- DigitRequiredInCharRef = \u5728\u5B57\u7B26\u5F15\u7528\u4E2D, \u5341\u8FDB\u5236\u8868\u793A\u65B9\u6CD5\u5FC5\u987B\u7D27\u8DDF\u5728 \"\" \u540E\u9762\u3002
- HexdigitRequiredInCharRef = \u5728\u5B57\u7B26\u5F15\u7528\u4E2D, \u5341\u516D\u8FDB\u5236\u8868\u793A\u65B9\u6CD5\u5FC5\u987B\u7D27\u8DDF\u5728 \"\" \u540E\u9762\u3002
+ DigitRequiredInCharRef = \u5728\u5B57\u7B26\u5F15\u7528\u4E2D, \u5341\u8FDB\u5236\u8868\u793A\u65B9\u6CD5\u5FC5\u987B\u7D27\u8DDF\u5728 "" \u540E\u9762\u3002
+ HexdigitRequiredInCharRef = \u5728\u5B57\u7B26\u5F15\u7528\u4E2D, \u5341\u516D\u8FDB\u5236\u8868\u793A\u65B9\u6CD5\u5FC5\u987B\u7D27\u8DDF\u5728 "" \u540E\u9762\u3002
SemicolonRequiredInCharRef = \u5B57\u7B26\u5F15\u7528\u5FC5\u987B\u4EE5 ';' \u5206\u9694\u7B26\u7ED3\u5C3E\u3002
- InvalidCharRef = \u5B57\u7B26\u5F15\u7528 \"{0}\" \u662F\u65E0\u6548\u7684 XML \u5B57\u7B26\u3002
+ InvalidCharRef = \u5B57\u7B26\u5F15\u7528 "{0}" \u662F\u65E0\u6548\u7684 XML \u5B57\u7B26\u3002
NameRequiredInReference = \u5728\u5B9E\u4F53\u5F15\u7528\u4E2D, \u5B9E\u4F53\u540D\u79F0\u5FC5\u987B\u7D27\u8DDF\u5728 '&' \u540E\u9762\u3002
- SemicolonRequiredInReference = \u5BF9\u5B9E\u4F53 \"{0}\" \u7684\u5F15\u7528\u5FC5\u987B\u4EE5 '';'' \u5206\u9694\u7B26\u7ED3\u5C3E\u3002
+ SemicolonRequiredInReference = \u5BF9\u5B9E\u4F53 "{0}" \u7684\u5F15\u7528\u5FC5\u987B\u4EE5 '';'' \u5206\u9694\u7B26\u7ED3\u5C3E\u3002
# 4.3.1 The Text Declaration
- TextDeclMustBeFirst = \u6587\u672C\u58F0\u660E\u53EA\u80FD\u51FA\u73B0\u5728\u5DF2\u8FDB\u884C\u8BED\u6CD5\u5206\u6790\u7684\u5916\u90E8\u5B9E\u4F53\u7684\u6700\u5F00\u5934\u5904\u3002
- EqRequiredInTextDecl = \u5728\u6587\u672C\u58F0\u660E\u4E2D, \"{0}\" \u540E\u9762\u5FC5\u987B\u8DDF\u6709 '' = '' \u5B57\u7B26\u3002
- QuoteRequiredInTextDecl = \u6587\u672C\u58F0\u660E\u4E2D \"{0}\" \u540E\u9762\u8DDF\u968F\u7684\u503C\u5FC5\u987B\u662F\u7528\u5F15\u53F7\u62EC\u8D77\u6765\u7684\u5B57\u7B26\u4E32\u3002
- CloseQuoteMissingInTextDecl = \u6587\u672C\u58F0\u660E\u4E2D \"{0}\" \u540E\u9762\u8DDF\u968F\u7684\u503C\u7F3A\u5C11\u53F3\u5F15\u53F7\u3002
+ TextDeclMustBeFirst = \u6587\u672C\u58F0\u660E\u53EA\u80FD\u51FA\u73B0\u5728\u5DF2\u89E3\u6790\u7684\u5916\u90E8\u5B9E\u4F53\u7684\u6700\u5F00\u5934\u5904\u3002
+ EqRequiredInTextDecl = \u5728\u6587\u672C\u58F0\u660E\u4E2D, "{0}" \u540E\u9762\u5FC5\u987B\u8DDF\u6709 '' = '' \u5B57\u7B26\u3002
+ QuoteRequiredInTextDecl = \u6587\u672C\u58F0\u660E\u4E2D "{0}" \u540E\u9762\u8DDF\u968F\u7684\u503C\u5FC5\u987B\u662F\u7528\u5F15\u53F7\u62EC\u8D77\u6765\u7684\u5B57\u7B26\u4E32\u3002
+ CloseQuoteMissingInTextDecl = \u6587\u672C\u58F0\u660E\u4E2D "{0}" \u540E\u9762\u8DDF\u968F\u7684\u503C\u7F3A\u5C11\u53F3\u5F15\u53F7\u3002
SpaceRequiredBeforeVersionInTextDecl = \u5728\u6587\u672C\u58F0\u660E\u4E2D\u7684\u7248\u672C\u4F2A\u5C5E\u6027\u524D\u9762\u5FC5\u987B\u6709\u7A7A\u683C\u3002
SpaceRequiredBeforeEncodingInTextDecl = \u5728\u6587\u672C\u58F0\u660E\u4E2D\u7684\u7F16\u7801\u4F2A\u5C5E\u6027\u524D\u9762\u5FC5\u987B\u6709\u7A7A\u683C\u3002
- TextDeclUnterminated = \u6587\u672C\u58F0\u660E\u5FC5\u987B\u4EE5 \"?>\" \u7ED3\u5C3E\u3002
+ TextDeclUnterminated = \u6587\u672C\u58F0\u660E\u5FC5\u987B\u4EE5 "?>" \u7ED3\u5C3E\u3002
EncodingDeclRequired = \u6587\u672C\u58F0\u660E\u4E2D\u9700\u8981\u7F16\u7801\u58F0\u660E\u3002
NoMorePseudoAttributes = \u4E0D\u5141\u8BB8\u4F7F\u7528\u66F4\u591A\u7684\u4F2A\u5C5E\u6027\u3002
MorePseudoAttributes = \u5E94\u8BE5\u6709\u66F4\u591A\u7684\u4F2A\u5C5E\u6027\u3002
PseudoAttrNameExpected = \u5E94\u8BE5\u6709\u4F2A\u5C5E\u6027\u540D\u3002
# 4.3.2 Well-Formed Parsed Entities
- CommentNotInOneEntity = \u6CE8\u91CA\u5FC5\u987B\u5B8C\u5168\u5305\u542B\u5728\u540C\u4E00\u4E2A\u5DF2\u8FDB\u884C\u8BED\u6CD5\u5206\u6790\u7684\u5B9E\u4F53\u5185\u3002
- PINotInOneEntity = \u5904\u7406\u6307\u4EE4\u5FC5\u987B\u5B8C\u5168\u5305\u542B\u5728\u540C\u4E00\u4E2A\u5DF2\u8FDB\u884C\u8BED\u6CD5\u5206\u6790\u7684\u5B9E\u4F53\u5185\u3002
+ CommentNotInOneEntity = \u6CE8\u91CA\u5FC5\u987B\u5B8C\u5168\u5305\u542B\u5728\u540C\u4E00\u4E2A\u5DF2\u89E3\u6790\u5B9E\u4F53\u5185\u3002
+ PINotInOneEntity = \u5904\u7406\u6307\u4EE4\u5FC5\u987B\u5B8C\u5168\u5305\u542B\u5728\u540C\u4E00\u4E2A\u5DF2\u89E3\u6790\u5B9E\u4F53\u5185\u3002
# 4.3.3 Character Encoding in Entities
- EncodingDeclInvalid = \u7F16\u7801\u540D\u79F0 \"{0}\" \u65E0\u6548\u3002
- EncodingByteOrderUnsupported = \u4E0D\u652F\u6301\u7F16\u7801 \"{0}\" \u7684\u7ED9\u5B9A\u5B57\u8282\u987A\u5E8F\u3002
+ EncodingDeclInvalid = \u7F16\u7801\u540D\u79F0 "{0}" \u65E0\u6548\u3002
+ EncodingByteOrderUnsupported = \u4E0D\u652F\u6301\u7F16\u7801 "{0}" \u7684\u7ED9\u5B9A\u5B57\u8282\u987A\u5E8F\u3002
InvalidByte = {1} \u5B57\u8282\u7684 UTF-8 \u5E8F\u5217\u7684\u5B57\u8282 {0} \u65E0\u6548\u3002
ExpectedByte = \u5E94\u4E3A {1} \u5B57\u8282\u7684 UTF-8 \u5E8F\u5217\u7684\u5B57\u8282 {0}\u3002
InvalidHighSurrogate = UTF-8 \u5E8F\u5217\u4E2D\u7684\u9AD8\u4EE3\u7406\u4F4D\u4E0D\u80FD\u8D85\u8FC7 0x10, \u4F46\u627E\u5230 0x{0}\u3002
- OperationNotSupported = {1}\u8BFB\u8FDB\u7A0B\u4E0D\u652F\u6301\u64CD\u4F5C \"{0}\"\u3002
- InvalidASCII = \u5B57\u8282 \"{0}\" \u4E0D\u662F (7 \u4F4D) ASCII \u5B57\u7B26\u96C6\u7684\u6210\u5458\u3002
+ OperationNotSupported = {1}\u8BFB\u8FDB\u7A0B\u4E0D\u652F\u6301\u64CD\u4F5C "{0}"\u3002
+ InvalidASCII = \u5B57\u8282 "{0}" \u4E0D\u662F (7 \u4F4D) ASCII \u5B57\u7B26\u96C6\u7684\u6210\u5458\u3002
CharConversionFailure = \u786E\u5B9A\u5C5E\u4E8E\u67D0\u4E2A\u7F16\u7801\u7684\u5B9E\u4F53\u4E0D\u80FD\u5305\u542B\u5728\u8BE5\u7F16\u7801\u4E2D\u975E\u6CD5\u7684\u5E8F\u5217\u3002
# DTD Messages
@@ -169,150 +166,150 @@
PubidCharIllegal = \u516C\u5171\u6807\u8BC6\u7B26\u4E2D\u4E0D\u5141\u8BB8\u4F7F\u7528\u8BE5\u5B57\u7B26 (Unicode: 0x{0})\u3002
SpaceRequiredBetweenPublicAndSystem = \u5728 publicId \u548C systemId \u4E4B\u95F4\u9700\u8981\u6709\u7A7A\u683C\u3002
# 2.8 Prolog and Document Type Declaration
- MSG_SPACE_REQUIRED_BEFORE_ROOT_ELEMENT_TYPE_IN_DOCTYPEDECL = \u5728\u6587\u6863\u7C7B\u578B\u58F0\u660E\u4E2D\u7684 \"'' \u7ED3\u5C3E\u3002
- PEReferenceWithinMarkup = \u53C2\u6570\u5B9E\u4F53\u5F15\u7528 \"%{0};\" \u4E0D\u80FD\u51FA\u73B0\u5728 DTD \u7684\u5185\u90E8\u5B50\u96C6\u4E2D\u7684\u6807\u8BB0\u5185\u3002
+ MSG_SPACE_REQUIRED_BEFORE_ROOT_ELEMENT_TYPE_IN_DOCTYPEDECL = \u5728\u6587\u6863\u7C7B\u578B\u58F0\u660E\u4E2D\u7684 "'' \u7ED3\u5C3E\u3002
+ PEReferenceWithinMarkup = \u53C2\u6570\u5B9E\u4F53\u5F15\u7528 "%{0};" \u4E0D\u80FD\u51FA\u73B0\u5728 DTD \u7684\u5185\u90E8\u5B50\u96C6\u4E2D\u7684\u6807\u8BB0\u5185\u3002
MSG_MARKUP_NOT_RECOGNIZED_IN_DTD = \u6587\u6863\u7C7B\u578B\u58F0\u660E\u5305\u542B\u6216\u6307\u5411\u7684\u6807\u8BB0\u58F0\u660E\u5FC5\u987B\u683C\u5F0F\u6B63\u786E\u3002
# 2.10 White Space Handling
- MSG_XML_SPACE_DECLARATION_ILLEGAL = \"xml:space\" \u7684\u5C5E\u6027\u58F0\u660E\u5FC5\u987B\u6307\u5B9A\u4E3A\u679A\u4E3E\u7C7B\u578B, \u5B83\u7684\u53EF\u80FD\u503C\u53EA\u6709 \"default\" \u548C \"preserve\"\u3002
+ MSG_XML_SPACE_DECLARATION_ILLEGAL = "xml:space" \u7684\u5C5E\u6027\u58F0\u660E\u5FC5\u987B\u6307\u5B9A\u4E3A\u679A\u4E3E\u7C7B\u578B, \u5B83\u7684\u53EF\u80FD\u503C\u53EA\u6709 "default" \u548C "preserve"\u3002
# 3.2 Element Type Declarations
- MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ELEMENTDECL = \u5728\u5143\u7D20\u7C7B\u578B\u58F0\u660E\u4E2D\u7684 \"'' \u7ED3\u5C3E\u3002
+ MSG_SPACE_REQUIRED_BEFORE_CONTENTSPEC_IN_ELEMENTDECL = \u5728\u5143\u7D20\u7C7B\u578B\u58F0\u660E\u4E2D\u7684\u5143\u7D20\u7C7B\u578B "{0}" \u540E\u9762\u9700\u8981\u6709\u7A7A\u683C\u3002
+ MSG_CONTENTSPEC_REQUIRED_IN_ELEMENTDECL = \u5728\u5143\u7D20\u7C7B\u578B\u58F0\u660E\u4E2D\u7684\u5143\u7D20\u7C7B\u578B "{0}" \u540E\u9762\u9700\u8981\u6709\u7EA6\u675F\u6761\u4EF6\u3002
+ ElementDeclUnterminated = \u5143\u7D20\u7C7B\u578B "{0}" \u7684\u58F0\u660E\u5FC5\u987B\u4EE5 ''>'' \u7ED3\u5C3E\u3002
# 3.2.1 Element Content
- MSG_OPEN_PAREN_OR_ELEMENT_TYPE_REQUIRED_IN_CHILDREN = \u5728\u5143\u7D20\u7C7B\u578B \"{0}\" \u7684\u58F0\u660E\u4E2D\u9700\u8981\u6709 ''('' \u5B57\u7B26\u6216\u5143\u7D20\u7C7B\u578B\u3002
- MSG_CLOSE_PAREN_REQUIRED_IN_CHILDREN = \u5728\u5143\u7D20\u7C7B\u578B \"{0}\" \u7684\u58F0\u660E\u4E2D\u9700\u8981\u6709 '')''\u3002
+ MSG_OPEN_PAREN_OR_ELEMENT_TYPE_REQUIRED_IN_CHILDREN = \u5728\u5143\u7D20\u7C7B\u578B "{0}" \u7684\u58F0\u660E\u4E2D\u9700\u8981\u6709 ''('' \u5B57\u7B26\u6216\u5143\u7D20\u7C7B\u578B\u3002
+ MSG_CLOSE_PAREN_REQUIRED_IN_CHILDREN = \u5728\u5143\u7D20\u7C7B\u578B "{0}" \u7684\u58F0\u660E\u4E2D\u9700\u8981\u6709 '')''\u3002
# 3.2.2 Mixed Content
- MSG_ELEMENT_TYPE_REQUIRED_IN_MIXED_CONTENT = \u5728\u5143\u7D20\u7C7B\u578B \"{0}\" \u7684\u58F0\u660E\u4E2D\u9700\u8981\u6709\u5143\u7D20\u7C7B\u578B\u3002
- MSG_CLOSE_PAREN_REQUIRED_IN_MIXED = \u5728\u5143\u7D20\u7C7B\u578B \"{0}\" \u7684\u58F0\u660E\u4E2D\u9700\u8981\u6709 '')''\u3002
- MixedContentUnterminated = \u5F53\u5B50\u5143\u7D20\u7C7B\u578B\u53D7\u7EA6\u675F\u65F6, \u6DF7\u5408\u5185\u5BB9\u6A21\u578B \"{0}\" \u5FC5\u987B\u4EE5 \")*\" \u7ED3\u5C3E\u3002
+ MSG_ELEMENT_TYPE_REQUIRED_IN_MIXED_CONTENT = \u5728\u5143\u7D20\u7C7B\u578B "{0}" \u7684\u58F0\u660E\u4E2D\u9700\u8981\u6709\u5143\u7D20\u7C7B\u578B\u3002
+ MSG_CLOSE_PAREN_REQUIRED_IN_MIXED = \u5728\u5143\u7D20\u7C7B\u578B "{0}" \u7684\u58F0\u660E\u4E2D\u9700\u8981\u6709 '')''\u3002
+ MixedContentUnterminated = \u5F53\u5B50\u5143\u7D20\u7C7B\u578B\u53D7\u7EA6\u675F\u65F6, \u6DF7\u5408\u5185\u5BB9\u6A21\u578B "{0}" \u5FC5\u987B\u4EE5 ")*" \u7ED3\u5C3E\u3002
# 3.3 Attribute-List Declarations
- MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ATTLISTDECL = \u5728\u5C5E\u6027\u5217\u8868\u58F0\u660E\u4E2D\u7684 \"\" \u7ED3\u5C3E\u3002
- IgnoreSectUnterminated = \u6392\u9664\u7684\u6761\u4EF6\u8282\u5FC5\u987B\u4EE5 \"]]>\" \u7ED3\u5C3E\u3002
+ IncludeSectUnterminated = \u5305\u542B\u7684\u6761\u4EF6\u8282\u5FC5\u987B\u4EE5 "]]>" \u7ED3\u5C3E\u3002
+ IgnoreSectUnterminated = \u6392\u9664\u7684\u6761\u4EF6\u8282\u5FC5\u987B\u4EE5 "]]>" \u7ED3\u5C3E\u3002
# 4.1 Character and Entity References
NameRequiredInPEReference = \u5728\u53C2\u6570\u5B9E\u4F53\u5F15\u7528\u4E2D, \u5B9E\u4F53\u540D\u79F0\u5FC5\u987B\u7D27\u8DDF\u5728 '%' \u540E\u9762\u3002
- SemicolonRequiredInPEReference = \u53C2\u6570\u5B9E\u4F53\u5F15\u7528 \"%{0};\" \u5FC5\u987B\u4EE5 '';'' \u5206\u9694\u7B26\u7ED3\u5C3E\u3002
+ SemicolonRequiredInPEReference = \u53C2\u6570\u5B9E\u4F53\u5F15\u7528 "%{0};" \u5FC5\u987B\u4EE5 '';'' \u5206\u9694\u7B26\u7ED3\u5C3E\u3002
# 4.2 Entity Declarations
- MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_ENTITYDECL = \u5728\u5B9E\u4F53\u58F0\u660E\u4E2D\u7684 \"'' \u7ED3\u5C3E\u3002
- MSG_DUPLICATE_ENTITY_DEFINITION = \u5B9E\u4F53 \"{0}\" \u58F0\u660E\u4E86\u591A\u6B21\u3002
+ MSG_SPACE_REQUIRED_AFTER_ENTITY_NAME_IN_ENTITYDECL = \u5728\u5B9E\u4F53\u58F0\u660E\u4E2D\u7684\u5B9E\u4F53\u540D\u79F0 "{0}" \u548C\u5B9A\u4E49\u4E4B\u95F4\u9700\u8981\u6709\u7A7A\u683C\u3002
+ MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_UNPARSED_ENTITYDECL = \u5728\u5B9E\u4F53 "{0}" \u7684\u58F0\u660E\u4E2D\u7684 "NDATA" \u548C\u8BB0\u53F7\u540D\u79F0\u4E4B\u95F4\u9700\u8981\u6709\u7A7A\u683C\u3002
+ MSG_SPACE_REQUIRED_BEFORE_NDATA_IN_UNPARSED_ENTITYDECL = \u5728\u5B9E\u4F53 "{0}" \u7684\u58F0\u660E\u4E2D\u7684 "NDATA" \u524D\u9762\u9700\u8981\u6709\u7A7A\u683C\u3002
+ MSG_NOTATION_NAME_REQUIRED_FOR_UNPARSED_ENTITYDECL = \u5728\u5B9E\u4F53 "{0}" \u7684\u58F0\u660E\u4E2D\u7684 "NDATA" \u540E\u9762\u9700\u8981\u6709\u8BB0\u53F7\u540D\u79F0\u3002
+ EntityDeclUnterminated = \u5B9E\u4F53 "{0}" \u7684\u58F0\u660E\u5FC5\u987B\u4EE5 ''>'' \u7ED3\u5C3E\u3002
+ MSG_DUPLICATE_ENTITY_DEFINITION = \u5B9E\u4F53 "{0}" \u58F0\u660E\u4E86\u591A\u6B21\u3002
# 4.2.2 External Entities
- ExternalIDRequired = \u5916\u90E8\u5B9E\u4F53\u58F0\u660E\u5FC5\u987B\u4EE5 \"SYSTEM\" \u6216 \"PUBLIC\" \u5F00\u5934\u3002
- MSG_SPACE_REQUIRED_BEFORE_PUBIDLITERAL_IN_EXTERNALID = \u5728 \"PUBLIC\" \u548C\u516C\u5171\u6807\u8BC6\u7B26\u4E4B\u95F4\u9700\u8981\u6709\u7A7A\u683C\u3002
+ ExternalIDRequired = \u5916\u90E8\u5B9E\u4F53\u58F0\u660E\u5FC5\u987B\u4EE5 "SYSTEM" \u6216 "PUBLIC" \u5F00\u5934\u3002
+ MSG_SPACE_REQUIRED_BEFORE_PUBIDLITERAL_IN_EXTERNALID = \u5728 "PUBLIC" \u548C\u516C\u5171\u6807\u8BC6\u7B26\u4E4B\u95F4\u9700\u8981\u6709\u7A7A\u683C\u3002
MSG_SPACE_REQUIRED_AFTER_PUBIDLITERAL_IN_EXTERNALID = \u5728\u516C\u5171\u6807\u8BC6\u7B26\u548C\u7CFB\u7EDF\u6807\u8BC6\u7B26\u4E4B\u95F4\u9700\u8981\u6709\u7A7A\u683C\u3002
- MSG_SPACE_REQUIRED_BEFORE_SYSTEMLITERAL_IN_EXTERNALID = \u5728 \"SYSTEM\" \u548C\u7CFB\u7EDF\u6807\u8BC6\u7B26\u4E4B\u95F4\u9700\u8981\u6709\u7A7A\u683C\u3002
- MSG_URI_FRAGMENT_IN_SYSTEMID = \u7247\u6BB5\u6807\u8BC6\u7B26\u4E0D\u80FD\u6307\u5B9A\u4E3A\u7CFB\u7EDF\u6807\u8BC6\u7B26 \"{0}\" \u7684\u4E00\u90E8\u5206\u3002
+ MSG_SPACE_REQUIRED_BEFORE_SYSTEMLITERAL_IN_EXTERNALID = \u5728 "SYSTEM" \u548C\u7CFB\u7EDF\u6807\u8BC6\u7B26\u4E4B\u95F4\u9700\u8981\u6709\u7A7A\u683C\u3002
+ MSG_URI_FRAGMENT_IN_SYSTEMID = \u7247\u6BB5\u6807\u8BC6\u7B26\u4E0D\u80FD\u6307\u5B9A\u4E3A\u7CFB\u7EDF\u6807\u8BC6\u7B26 "{0}" \u7684\u4E00\u90E8\u5206\u3002
# 4.7 Notation Declarations
- MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_NOTATIONDECL = \u5728\u8BB0\u53F7\u58F0\u660E\u4E2D\u7684 \"'' \u7ED3\u5C3E\u3002
+ MSG_SPACE_REQUIRED_AFTER_NOTATION_NAME_IN_NOTATIONDECL = \u5728\u8BB0\u53F7\u58F0\u660E\u4E2D\u7684\u8BB0\u53F7\u540D\u79F0 "{0}" \u540E\u9762\u9700\u8981\u6709\u7A7A\u683C\u3002
+ ExternalIDorPublicIDRequired = \u8BB0\u53F7 "{0}" \u7684\u58F0\u660E\u5FC5\u987B\u5305\u542B\u7CFB\u7EDF\u6807\u8BC6\u7B26\u6216\u516C\u5171\u6807\u8BC6\u7B26\u3002
+ NotationDeclUnterminated = \u8BB0\u53F7 "{0}" \u7684\u58F0\u660E\u5FC5\u987B\u4EE5 ''>'' \u7ED3\u5C3E\u3002
# Validation messages
- DuplicateTypeInMixedContent = \u5728\u5143\u7D20\u58F0\u660E \"{0}\" \u7684\u5185\u5BB9\u6A21\u578B\u4E2D\u5DF2\u7ECF\u6307\u5B9A\u4E86\u5143\u7D20\u7C7B\u578B \"{1}\"\u3002
- ENTITIESInvalid = \u7C7B\u578B\u4E3A ENTITIES \u7684\u5C5E\u6027\u503C \"{1}\" \u5FC5\u987B\u662F\u4E00\u4E2A\u6216\u591A\u4E2A\u672A\u8FDB\u884C\u8BED\u6CD5\u5206\u6790\u7684\u5B9E\u4F53\u7684\u540D\u79F0\u3002
- ENTITYInvalid = \u7C7B\u578B\u4E3A ENTITY \u7684\u5C5E\u6027\u503C \"{1}\" \u5FC5\u987B\u662F\u672A\u8FDB\u884C\u8BED\u6CD5\u5206\u6790\u7684\u5B9E\u4F53\u7684\u540D\u79F0\u3002
- IDDefaultTypeInvalid = ID \u5C5E\u6027 \"{0}\" \u5FC5\u987B\u5177\u6709\u5DF2\u58F0\u660E\u7684\u9ED8\u8BA4\u503C \"#IMPLIED\" \u6216 \"#REQUIRED\"\u3002
- IDInvalid = \u7C7B\u578B\u4E3A ID \u7684\u5C5E\u6027\u503C \"{0}\" \u5FC5\u987B\u662F\u540D\u79F0\u3002
- IDInvalidWithNamespaces = \u542F\u7528\u540D\u79F0\u7A7A\u95F4\u65F6, \u7C7B\u578B\u4E3A ID \u7684\u5C5E\u6027\u503C \"{0}\" \u5FC5\u987B\u662F NCName\u3002
- IDNotUnique = \u7C7B\u578B\u4E3A ID \u7684\u5C5E\u6027\u503C \"{0}\" \u5728\u6587\u6863\u5185\u5FC5\u987B\u662F\u552F\u4E00\u7684\u3002
- IDREFInvalid = \u7C7B\u578B\u4E3A IDREF \u7684\u5C5E\u6027\u503C \"{0}\" \u5FC5\u987B\u662F\u540D\u79F0\u3002
- IDREFInvalidWithNamespaces = \u542F\u7528\u540D\u79F0\u7A7A\u95F4\u65F6, \u7C7B\u578B\u4E3A IDREF \u7684\u5C5E\u6027\u503C \"{0}\" \u5FC5\u987B\u662F NCName\u3002
- IDREFSInvalid = \u7C7B\u578B\u4E3A IDREFS \u7684\u5C5E\u6027\u503C \"{0}\" \u5FC5\u987B\u662F\u4E00\u4E2A\u6216\u591A\u4E2A\u540D\u79F0\u3002
- ILL_FORMED_PARAMETER_ENTITY_WHEN_USED_IN_DECL = \u5F53\u5B9E\u4F53\u5F15\u7528\u7528\u4F5C\u5B8C\u6574\u58F0\u660E\u65F6, \u53C2\u6570\u5B9E\u4F53 \"{0}\" \u7684\u66FF\u6362\u6587\u672C\u5FC5\u987B\u5305\u542B\u6B63\u786E\u5D4C\u5957\u7684\u58F0\u660E\u3002
- ImproperDeclarationNesting = \u53C2\u6570\u5B9E\u4F53 \"{0}\" \u7684\u66FF\u6362\u6587\u672C\u5FC5\u987B\u5305\u542B\u6B63\u786E\u5D4C\u5957\u7684\u58F0\u660E\u3002
- ImproperGroupNesting = \u53C2\u6570\u5B9E\u4F53 \"{0}\" \u7684\u66FF\u6362\u6587\u672C\u5FC5\u987B\u5305\u542B\u6B63\u786E\u5D4C\u5957\u7684\u62EC\u53F7\u5BF9\u3002
- INVALID_PE_IN_CONDITIONAL = \u53C2\u6570\u5B9E\u4F53 \"{0}\" \u7684\u66FF\u6362\u6587\u672C\u5FC5\u987B\u5305\u542B\u6574\u4E2A\u6761\u4EF6\u8282, \u6216\u8005\u4EC5\u5305\u542B INCLUDE \u6216 IGNORE\u3002
- MSG_ATTRIBUTE_NOT_DECLARED = \u5FC5\u987B\u4E3A\u5143\u7D20\u7C7B\u578B \"{0}\" \u58F0\u660E\u5C5E\u6027 \"{1}\"\u3002
- MSG_ATTRIBUTE_VALUE_NOT_IN_LIST = \u503C\u4E3A \"{1}\" \u7684\u5C5E\u6027 \"{0}\" \u5FC5\u987B\u5177\u6709\u5217\u8868 \"{2}\" \u4E2D\u7684\u503C\u3002
- MSG_ATTVALUE_CHANGED_DURING_NORMALIZATION_WHEN_STANDALONE = \u5728\u72EC\u7ACB\u6587\u6863\u4E2D, \u5C5E\u6027 \"{0}\" \u7684\u503C \"{1}\" \u4E0D\u80FD\u901A\u8FC7\u89C4\u8303\u5316\u8FDB\u884C\u66F4\u6539 (\u66F4\u6539\u4E3A \"{2}\")\u3002
- MSG_CONTENT_INCOMPLETE = \u5143\u7D20\u7C7B\u578B\u4E3A \"{0}\" \u7684\u5185\u5BB9\u4E0D\u5B8C\u6574, \u5B83\u5FC5\u987B\u5339\u914D \"{1}\"\u3002
- MSG_CONTENT_INVALID = \u5143\u7D20\u7C7B\u578B\u4E3A \"{0}\" \u7684\u5185\u5BB9\u5FC5\u987B\u5339\u914D \"{1}\"\u3002
- MSG_CONTENT_INVALID_SPECIFIED = \u5143\u7D20\u7C7B\u578B\u4E3A \"{0}\" \u7684\u5185\u5BB9\u5FC5\u987B\u5339\u914D \"{1}\"\u3002\u4E0D\u5141\u8BB8\u4F7F\u7528\u7C7B\u578B\u4E3A \"{2}\" \u7684\u5B50\u7EA7\u3002
- MSG_DEFAULTED_ATTRIBUTE_NOT_SPECIFIED = \u5143\u7D20\u7C7B\u578B\u4E3A \"{0}\" \u7684\u5C5E\u6027 \"{1}\" \u5177\u6709\u9ED8\u8BA4\u503C, \u5E76\u4E14\u5FC5\u987B\u5728\u72EC\u7ACB\u6587\u6863\u4E2D\u6307\u5B9A\u3002
- MSG_DUPLICATE_ATTDEF = \u5DF2\u7ECF\u4E3A\u5143\u7D20\u7C7B\u578B \"{0}\" \u58F0\u660E\u5C5E\u6027 \"{1}\"\u3002
- MSG_ELEMENT_ALREADY_DECLARED = \u5143\u7D20\u7C7B\u578B \"{0}\" \u4E0D\u80FD\u58F0\u660E\u591A\u6B21\u3002
- MSG_ELEMENT_NOT_DECLARED = \u5FC5\u987B\u58F0\u660E\u5143\u7D20\u7C7B\u578B \"{0}\"\u3002
+ DuplicateTypeInMixedContent = \u5728\u5143\u7D20\u58F0\u660E "{0}" \u7684\u5185\u5BB9\u6A21\u578B\u4E2D\u5DF2\u7ECF\u6307\u5B9A\u4E86\u5143\u7D20\u7C7B\u578B "{1}"\u3002
+ ENTITIESInvalid = \u7C7B\u578B\u4E3A ENTITIES \u7684\u5C5E\u6027\u503C "{1}" \u5FC5\u987B\u662F\u4E00\u4E2A\u6216\u591A\u4E2A\u672A\u89E3\u6790\u5B9E\u4F53\u7684\u540D\u79F0\u3002
+ ENTITYInvalid = \u7C7B\u578B\u4E3A ENTITY \u7684\u5C5E\u6027\u503C "{1}" \u5FC5\u987B\u662F\u672A\u89E3\u6790\u5B9E\u4F53\u7684\u540D\u79F0\u3002
+ IDDefaultTypeInvalid = ID \u5C5E\u6027 "{0}" \u5FC5\u987B\u5177\u6709\u5DF2\u58F0\u660E\u7684\u9ED8\u8BA4\u503C "#IMPLIED" \u6216 "#REQUIRED"\u3002
+ IDInvalid = \u7C7B\u578B\u4E3A ID \u7684\u5C5E\u6027\u503C "{0}" \u5FC5\u987B\u662F\u540D\u79F0\u3002
+ IDInvalidWithNamespaces = \u542F\u7528\u540D\u79F0\u7A7A\u95F4\u65F6, \u7C7B\u578B\u4E3A ID \u7684\u5C5E\u6027\u503C "{0}" \u5FC5\u987B\u662F NCName\u3002
+ IDNotUnique = \u7C7B\u578B\u4E3A ID \u7684\u5C5E\u6027\u503C "{0}" \u5728\u6587\u6863\u5185\u5FC5\u987B\u662F\u552F\u4E00\u7684\u3002
+ IDREFInvalid = \u7C7B\u578B\u4E3A IDREF \u7684\u5C5E\u6027\u503C "{0}" \u5FC5\u987B\u662F\u540D\u79F0\u3002
+ IDREFInvalidWithNamespaces = \u542F\u7528\u540D\u79F0\u7A7A\u95F4\u65F6, \u7C7B\u578B\u4E3A IDREF \u7684\u5C5E\u6027\u503C "{0}" \u5FC5\u987B\u662F NCName\u3002
+ IDREFSInvalid = \u7C7B\u578B\u4E3A IDREFS \u7684\u5C5E\u6027\u503C "{0}" \u5FC5\u987B\u662F\u4E00\u4E2A\u6216\u591A\u4E2A\u540D\u79F0\u3002
+ ILL_FORMED_PARAMETER_ENTITY_WHEN_USED_IN_DECL = \u5F53\u5B9E\u4F53\u5F15\u7528\u7528\u4F5C\u5B8C\u6574\u58F0\u660E\u65F6, \u53C2\u6570\u5B9E\u4F53 "{0}" \u7684\u66FF\u6362\u6587\u672C\u5FC5\u987B\u5305\u542B\u6B63\u786E\u5D4C\u5957\u7684\u58F0\u660E\u3002
+ ImproperDeclarationNesting = \u53C2\u6570\u5B9E\u4F53 "{0}" \u7684\u66FF\u6362\u6587\u672C\u5FC5\u987B\u5305\u542B\u6B63\u786E\u5D4C\u5957\u7684\u58F0\u660E\u3002
+ ImproperGroupNesting = \u53C2\u6570\u5B9E\u4F53 "{0}" \u7684\u66FF\u6362\u6587\u672C\u5FC5\u987B\u5305\u542B\u6B63\u786E\u5D4C\u5957\u7684\u62EC\u53F7\u5BF9\u3002
+ INVALID_PE_IN_CONDITIONAL = \u53C2\u6570\u5B9E\u4F53 "{0}" \u7684\u66FF\u6362\u6587\u672C\u5FC5\u987B\u5305\u542B\u6574\u4E2A\u6761\u4EF6\u8282, \u6216\u8005\u4EC5\u5305\u542B INCLUDE \u6216 IGNORE\u3002
+ MSG_ATTRIBUTE_NOT_DECLARED = \u5FC5\u987B\u4E3A\u5143\u7D20\u7C7B\u578B "{0}" \u58F0\u660E\u5C5E\u6027 "{1}"\u3002
+ MSG_ATTRIBUTE_VALUE_NOT_IN_LIST = \u503C\u4E3A "{1}" \u7684\u5C5E\u6027 "{0}" \u5FC5\u987B\u5177\u6709\u5217\u8868 "{2}" \u4E2D\u7684\u503C\u3002
+ MSG_ATTVALUE_CHANGED_DURING_NORMALIZATION_WHEN_STANDALONE = \u5728\u72EC\u7ACB\u6587\u6863\u4E2D, \u5C5E\u6027 "{0}" \u7684\u503C "{1}" \u4E0D\u80FD\u901A\u8FC7\u89C4\u8303\u5316\u8FDB\u884C\u66F4\u6539 (\u66F4\u6539\u4E3A "{2}")\u3002
+ MSG_CONTENT_INCOMPLETE = \u5143\u7D20\u7C7B\u578B\u4E3A "{0}" \u7684\u5185\u5BB9\u4E0D\u5B8C\u6574, \u5B83\u5FC5\u987B\u5339\u914D "{1}"\u3002
+ MSG_CONTENT_INVALID = \u5143\u7D20\u7C7B\u578B\u4E3A "{0}" \u7684\u5185\u5BB9\u5FC5\u987B\u5339\u914D "{1}"\u3002
+ MSG_CONTENT_INVALID_SPECIFIED = \u5143\u7D20\u7C7B\u578B\u4E3A "{0}" \u7684\u5185\u5BB9\u5FC5\u987B\u5339\u914D "{1}"\u3002\u4E0D\u5141\u8BB8\u4F7F\u7528\u7C7B\u578B\u4E3A "{2}" \u7684\u5B50\u7EA7\u3002
+ MSG_DEFAULTED_ATTRIBUTE_NOT_SPECIFIED = \u5143\u7D20\u7C7B\u578B\u4E3A "{0}" \u7684\u5C5E\u6027 "{1}" \u5177\u6709\u9ED8\u8BA4\u503C, \u5E76\u4E14\u5FC5\u987B\u5728\u72EC\u7ACB\u6587\u6863\u4E2D\u6307\u5B9A\u3002
+ MSG_DUPLICATE_ATTDEF = \u5DF2\u7ECF\u4E3A\u5143\u7D20\u7C7B\u578B "{0}" \u58F0\u660E\u5C5E\u6027 "{1}"\u3002
+ MSG_ELEMENT_ALREADY_DECLARED = \u5143\u7D20\u7C7B\u578B "{0}" \u4E0D\u80FD\u58F0\u660E\u591A\u6B21\u3002
+ MSG_ELEMENT_NOT_DECLARED = \u5FC5\u987B\u58F0\u660E\u5143\u7D20\u7C7B\u578B "{0}"\u3002
MSG_GRAMMAR_NOT_FOUND = \u6587\u6863\u65E0\u6548: \u627E\u4E0D\u5230\u8BED\u6CD5\u3002
- MSG_ELEMENT_WITH_ID_REQUIRED = \u6587\u6863\u4E2D\u5FC5\u987B\u5305\u542B\u6807\u8BC6\u7B26\u4E3A \"{0}\" \u7684\u5143\u7D20\u3002
- MSG_EXTERNAL_ENTITY_NOT_PERMITTED = \u5728\u72EC\u7ACB\u6587\u6863\u4E2D\u4E0D\u5141\u8BB8\u5F15\u7528\u5916\u90E8\u5B9E\u4F53 \"{0}\"\u3002
- MSG_FIXED_ATTVALUE_INVALID = \u503C\u4E3A \"{2}\" \u7684\u5C5E\u6027 \"{1}\" \u5FC5\u987B\u5177\u6709 \"{3}\" \u7684\u503C\u3002
- MSG_MORE_THAN_ONE_ID_ATTRIBUTE = \u5143\u7D20\u7C7B\u578B \"{0}\" \u5DF2\u7ECF\u5177\u6709\u7C7B\u578B\u4E3A ID \u7684\u5C5E\u6027 \"{1}\", \u4E0D\u5141\u8BB8\u4F7F\u7528\u7C7B\u578B\u4E3A ID \u7684\u53E6\u4E00\u4E2A\u5C5E\u6027 \"{2}\"\u3002
- MSG_MORE_THAN_ONE_NOTATION_ATTRIBUTE = \u5143\u7D20\u7C7B\u578B \"{0}\" \u5DF2\u7ECF\u5177\u6709\u7C7B\u578B\u4E3A NOTATION \u7684\u5C5E\u6027 \"{1}\", \u4E0D\u5141\u8BB8\u4F7F\u7528\u7C7B\u578B\u4E3A NOTATION \u7684\u53E6\u4E00\u4E2A\u5C5E\u6027 \"{2}\"\u3002
- MSG_NOTATION_NOT_DECLARED_FOR_NOTATIONTYPE_ATTRIBUTE = \u5728\u5C5E\u6027 \"{0}\" \u7684\u8BB0\u53F7\u7C7B\u578B\u5217\u8868\u4E2D\u5F15\u7528\u8BB0\u53F7 \"{1}\" \u65F6, \u5FC5\u987B\u58F0\u660E\u8BE5\u8BB0\u53F7\u3002
- MSG_NOTATION_NOT_DECLARED_FOR_UNPARSED_ENTITYDECL = \u5728 \"{0}\" \u7684\u672A\u8FDB\u884C\u8BED\u6CD5\u5206\u6790\u7684\u5B9E\u4F53\u58F0\u660E\u4E2D\u5F15\u7528\u8BB0\u53F7 \"{1}\" \u65F6, \u5FC5\u987B\u58F0\u660E\u8BE5\u8BB0\u53F7\u3002
- MSG_REFERENCE_TO_EXTERNALLY_DECLARED_ENTITY_WHEN_STANDALONE = \u5728\u72EC\u7ACB\u6587\u6863\u4E2D\u4E0D\u5141\u8BB8\u5F15\u7528\u5DF2\u8FDB\u884C\u8BED\u6CD5\u5206\u6790\u7684\u5916\u90E8\u5B9E\u4F53\u4E2D\u58F0\u660E\u7684\u5B9E\u4F53 \"{0}\"\u3002
- MSG_REQUIRED_ATTRIBUTE_NOT_SPECIFIED = \u9700\u8981\u5C5E\u6027 \"{1}\", \u5E76\u4E14\u5FC5\u987B\u4E3A\u5143\u7D20\u7C7B\u578B \"{0}\" \u6307\u5B9A\u8BE5\u5C5E\u6027\u3002
- MSG_WHITE_SPACE_IN_ELEMENT_CONTENT_WHEN_STANDALONE = \u5BF9\u4E8E\u5728\u72EC\u7ACB\u6587\u6863\u4E2D\u5177\u6709\u5143\u7D20\u5185\u5BB9\u7684\u672A\u8FDB\u884C\u8BED\u6CD5\u5206\u6790\u7684\u5916\u90E8\u5B9E\u4F53, \u5728\u8BE5\u5B9E\u4F53\u4E2D\u58F0\u660E\u7684\u5143\u7D20\u4E4B\u95F4\u4E0D\u80FD\u51FA\u73B0\u7A7A\u683C\u3002
- NMTOKENInvalid = \u7C7B\u578B\u4E3A NMTOKEN \u7684\u5C5E\u6027\u503C \"{0}\" \u5FC5\u987B\u662F\u540D\u79F0\u6807\u8BB0\u3002
- NMTOKENSInvalid = \u7C7B\u578B\u4E3A NMTOKENS \u7684\u5C5E\u6027\u503C \"{0}\" \u5FC5\u987B\u662F\u4E00\u4E2A\u6216\u591A\u4E2A\u540D\u79F0\u6807\u8BB0\u3002
- NoNotationOnEmptyElement = \u5DF2\u58F0\u660E\u4E3A EMPTY \u7684\u5143\u7D20\u7C7B\u578B \"{0}\" \u4E0D\u80FD\u58F0\u660E\u7C7B\u578B\u4E3A NOTATION \u7684\u5C5E\u6027 \"{1}\"\u3002
- RootElementTypeMustMatchDoctypedecl = \u6587\u6863\u6839\u5143\u7D20 \"{1}\" \u5FC5\u987B\u5339\u914D DOCTYPE \u6839 \"{0}\"\u3002
- UndeclaredElementInContentSpec = \u5143\u7D20 \"{0}\" \u7684\u5185\u5BB9\u6A21\u578B\u5F15\u7528\u672A\u58F0\u660E\u7684\u5143\u7D20 \"{1}\"\u3002
- UniqueNotationName = \u8BB0\u53F7 \"{0}\" \u7684\u58F0\u660E\u4E0D\u662F\u552F\u4E00\u7684\u3002\u4E0D\u80FD\u5728\u591A\u4E2A\u8BB0\u53F7\u58F0\u660E\u4E2D\u58F0\u660E\u6307\u5B9A\u7684\u540D\u79F0\u3002
+ MSG_ELEMENT_WITH_ID_REQUIRED = \u6587\u6863\u4E2D\u5FC5\u987B\u5305\u542B\u6807\u8BC6\u7B26\u4E3A "{0}" \u7684\u5143\u7D20\u3002
+ MSG_EXTERNAL_ENTITY_NOT_PERMITTED = \u5728\u72EC\u7ACB\u6587\u6863\u4E2D\u4E0D\u5141\u8BB8\u5F15\u7528\u5916\u90E8\u5B9E\u4F53 "{0}"\u3002
+ MSG_FIXED_ATTVALUE_INVALID = \u503C\u4E3A "{2}" \u7684\u5C5E\u6027 "{1}" \u5FC5\u987B\u5177\u6709 "{3}" \u7684\u503C\u3002
+ MSG_MORE_THAN_ONE_ID_ATTRIBUTE = \u5143\u7D20\u7C7B\u578B "{0}" \u5DF2\u7ECF\u5177\u6709\u7C7B\u578B\u4E3A ID \u7684\u5C5E\u6027 "{1}", \u4E0D\u5141\u8BB8\u4F7F\u7528\u7C7B\u578B\u4E3A ID \u7684\u53E6\u4E00\u4E2A\u5C5E\u6027 "{2}"\u3002
+ MSG_MORE_THAN_ONE_NOTATION_ATTRIBUTE = \u5143\u7D20\u7C7B\u578B "{0}" \u5DF2\u7ECF\u5177\u6709\u7C7B\u578B\u4E3A NOTATION \u7684\u5C5E\u6027 "{1}", \u4E0D\u5141\u8BB8\u4F7F\u7528\u7C7B\u578B\u4E3A NOTATION \u7684\u53E6\u4E00\u4E2A\u5C5E\u6027 "{2}"\u3002
+ MSG_NOTATION_NOT_DECLARED_FOR_NOTATIONTYPE_ATTRIBUTE = \u5728\u5C5E\u6027 "{0}" \u7684\u8BB0\u53F7\u7C7B\u578B\u5217\u8868\u4E2D\u5F15\u7528\u8BB0\u53F7 "{1}" \u65F6, \u5FC5\u987B\u58F0\u660E\u8BE5\u8BB0\u53F7\u3002
+ MSG_NOTATION_NOT_DECLARED_FOR_UNPARSED_ENTITYDECL = \u5728 "{0}" \u7684\u672A\u89E3\u6790\u5B9E\u4F53\u58F0\u660E\u4E2D\u5F15\u7528\u8BB0\u53F7 "{1}" \u65F6, \u5FC5\u987B\u58F0\u660E\u8BE5\u8BB0\u53F7\u3002
+ MSG_REFERENCE_TO_EXTERNALLY_DECLARED_ENTITY_WHEN_STANDALONE = \u5728\u72EC\u7ACB\u6587\u6863\u4E2D\u4E0D\u5141\u8BB8\u5F15\u7528\u5DF2\u89E3\u6790\u7684\u5916\u90E8\u5B9E\u4F53\u4E2D\u58F0\u660E\u7684\u5B9E\u4F53 "{0}"\u3002
+ MSG_REQUIRED_ATTRIBUTE_NOT_SPECIFIED = \u9700\u8981\u5C5E\u6027 "{1}", \u5E76\u4E14\u5FC5\u987B\u4E3A\u5143\u7D20\u7C7B\u578B "{0}" \u6307\u5B9A\u8BE5\u5C5E\u6027\u3002
+ MSG_WHITE_SPACE_IN_ELEMENT_CONTENT_WHEN_STANDALONE = \u5BF9\u4E8E\u5728\u72EC\u7ACB\u6587\u6863\u4E2D\u5177\u6709\u5143\u7D20\u5185\u5BB9\u7684\u5DF2\u89E3\u6790\u7684\u5916\u90E8\u5B9E\u4F53, \u5728\u8BE5\u5B9E\u4F53\u4E2D\u58F0\u660E\u7684\u5143\u7D20\u4E4B\u95F4\u4E0D\u80FD\u51FA\u73B0\u7A7A\u683C\u3002
+ NMTOKENInvalid = \u7C7B\u578B\u4E3A NMTOKEN \u7684\u5C5E\u6027\u503C "{0}" \u5FC5\u987B\u662F\u540D\u79F0\u6807\u8BB0\u3002
+ NMTOKENSInvalid = \u7C7B\u578B\u4E3A NMTOKENS \u7684\u5C5E\u6027\u503C "{0}" \u5FC5\u987B\u662F\u4E00\u4E2A\u6216\u591A\u4E2A\u540D\u79F0\u6807\u8BB0\u3002
+ NoNotationOnEmptyElement = \u5DF2\u58F0\u660E\u4E3A EMPTY \u7684\u5143\u7D20\u7C7B\u578B "{0}" \u4E0D\u80FD\u58F0\u660E\u7C7B\u578B\u4E3A NOTATION \u7684\u5C5E\u6027 "{1}"\u3002
+ RootElementTypeMustMatchDoctypedecl = \u6587\u6863\u6839\u5143\u7D20 "{1}" \u5FC5\u987B\u5339\u914D DOCTYPE \u6839 "{0}"\u3002
+ UndeclaredElementInContentSpec = \u5143\u7D20 "{0}" \u7684\u5185\u5BB9\u6A21\u578B\u5F15\u7528\u672A\u58F0\u660E\u7684\u5143\u7D20 "{1}"\u3002
+ UniqueNotationName = \u8BB0\u53F7 "{0}" \u7684\u58F0\u660E\u4E0D\u662F\u552F\u4E00\u7684\u3002\u4E0D\u80FD\u5728\u591A\u4E2A\u8BB0\u53F7\u58F0\u660E\u4E2D\u58F0\u660E\u6307\u5B9A\u7684\u540D\u79F0\u3002
ENTITYFailedInitializeGrammar = ENTITYDatatype \u9A8C\u8BC1\u7A0B\u5E8F: \u672A\u80FD\u4F7F\u7528\u6709\u6548\u7684\u8BED\u6CD5\u5F15\u7528\u8C03\u7528\u521D\u59CB\u5316\u65B9\u6CD5\u3002\t
- ENTITYNotUnparsed = ENTITY \"{0}\" \u672A\u8FDB\u884C\u8BED\u6CD5\u5206\u6790\u3002
- ENTITYNotValid = ENTITY \"{0}\" \u65E0\u6548\u3002
+ ENTITYNotUnparsed = ENTITY "{0}" \u4E0D\u662F\u672A\u89E3\u6790\u7684\u3002
+ ENTITYNotValid = ENTITY "{0}" \u65E0\u6548\u3002
EmptyList = \u7C7B\u578B\u4E3A ENTITIES, IDREFS \u548C NMTOKENS \u7684\u503C\u4E0D\u80FD\u662F\u7A7A\u5217\u8868\u3002
# Entity related messages
# 3.1 Start-Tags, End-Tags, and Empty-Element Tags
- ReferenceToExternalEntity = \u5C5E\u6027\u503C\u4E2D\u4E0D\u5141\u8BB8\u91C7\u7528\u5916\u90E8\u5B9E\u4F53\u5F15\u7528 \"&{0};\"\u3002
- AccessExternalDTD = External DTD: Failed to read external DTD ''{0}'', because ''{1}'' access is not allowed.
- AccessExternalEntity = External Entity: Failed to read external document ''{0}'', because ''{1}'' access is not allowed.
+ ReferenceToExternalEntity = \u5C5E\u6027\u503C\u4E2D\u4E0D\u5141\u8BB8\u91C7\u7528\u5916\u90E8\u5B9E\u4F53\u5F15\u7528 "&{0};"\u3002
+ AccessExternalDTD = \u5916\u90E8 DTD: \u65E0\u6CD5\u8BFB\u53D6\u5916\u90E8 DTD ''{0}'', \u56E0\u4E3A\u4E0D\u5141\u8BB8 ''{1}'' \u8BBF\u95EE\u3002
+ AccessExternalEntity = \u5916\u90E8\u5B9E\u4F53: \u65E0\u6CD5\u8BFB\u53D6\u5916\u90E8\u6587\u6863 ''{0}'', \u56E0\u4E3A\u4E0D\u5141\u8BB8 ''{1}'' \u8BBF\u95EE\u3002
# 4.1 Character and Entity References
- EntityNotDeclared = \u5F15\u7528\u4E86\u5B9E\u4F53 \"{0}\", \u4F46\u672A\u58F0\u660E\u5B83\u3002
- ReferenceToUnparsedEntity = \u4E0D\u5141\u8BB8\u4F7F\u7528\u672A\u8FDB\u884C\u8BED\u6CD5\u5206\u6790\u7684\u5B9E\u4F53\u5F15\u7528 \"&{0};\"\u3002
- RecursiveReference = \u9012\u5F52\u5B9E\u4F53\u5F15\u7528 \"{0}\"\u3002(\u5F15\u7528\u8DEF\u5F84: {1}),
- RecursiveGeneralReference = \u9012\u5F52\u4E00\u822C\u5B9E\u4F53\u5F15\u7528 \"&{0};\"\u3002(\u5F15\u7528\u8DEF\u5F84: {1}),
- RecursivePEReference = \u9012\u5F52\u53C2\u6570\u5B9E\u4F53\u5F15\u7528 \"%{0};\"\u3002(\u5F15\u7528\u8DEF\u5F84: {1}),
+ EntityNotDeclared = \u5F15\u7528\u4E86\u5B9E\u4F53 "{0}", \u4F46\u672A\u58F0\u660E\u5B83\u3002
+ ReferenceToUnparsedEntity = \u4E0D\u5141\u8BB8\u4F7F\u7528\u672A\u89E3\u6790\u7684\u5B9E\u4F53\u5F15\u7528 "&{0};"\u3002
+ RecursiveReference = \u9012\u5F52\u5B9E\u4F53\u5F15\u7528 "{0}"\u3002(\u5F15\u7528\u8DEF\u5F84: {1}),
+ RecursiveGeneralReference = \u9012\u5F52\u4E00\u822C\u5B9E\u4F53\u5F15\u7528 "&{0};"\u3002(\u5F15\u7528\u8DEF\u5F84: {1}),
+ RecursivePEReference = \u9012\u5F52\u53C2\u6570\u5B9E\u4F53\u5F15\u7528 "%{0};"\u3002(\u5F15\u7528\u8DEF\u5F84: {1}),
# 4.3.3 Character Encoding in Entities
- EncodingNotSupported = \u4E0D\u652F\u6301\u7F16\u7801 \"{0}\"\u3002
- EncodingRequired = \u5982\u679C\u5DF2\u8FDB\u884C\u8BED\u6CD5\u5206\u6790\u7684\u5B9E\u4F53\u672A\u4F7F\u7528 UTF-8 \u6216 UTF-16 \u8FDB\u884C\u7F16\u7801, \u5219\u8BE5\u5B9E\u4F53\u5FC5\u987B\u5305\u542B\u7F16\u7801\u58F0\u660E\u3002
+ EncodingNotSupported = \u4E0D\u652F\u6301\u7F16\u7801 "{0}"\u3002
+ EncodingRequired = \u5982\u679C\u5DF2\u89E3\u6790\u7684\u5B9E\u4F53\u672A\u4F7F\u7528 UTF-8 \u6216 UTF-16 \u8FDB\u884C\u7F16\u7801, \u5219\u8BE5\u5B9E\u4F53\u5FC5\u987B\u5305\u542B\u7F16\u7801\u58F0\u660E\u3002
# Namespaces support
# 4. Using Qualified Names
IllegalQName = \u5143\u7D20\u6216\u5C5E\u6027\u4E0D\u5339\u914D QName \u751F\u4EA7: QName::=(NCName':')?NCName\u3002
- ElementXMLNSPrefix = \u5143\u7D20 \"{0}\" \u4E0D\u80FD\u4F7F\u7528 \"xmlns\" \u4F5C\u4E3A\u524D\u7F00\u3002
- ElementPrefixUnbound = \u5143\u7D20 \"{1}\" \u7684\u524D\u7F00 \"{0}\" \u672A\u7ED1\u5B9A\u3002
- AttributePrefixUnbound = \u4E0E\u5143\u7D20\u7C7B\u578B \"{0}\" \u76F8\u5173\u8054\u7684\u5C5E\u6027 \"{1}\" \u7684\u524D\u7F00 \"{2}\" \u672A\u7ED1\u5B9A\u3002
- EmptyPrefixedAttName = \u5C5E\u6027 \"{0}\" \u7684\u503C\u65E0\u6548\u3002\u5E26\u524D\u7F00\u7684\u540D\u79F0\u7A7A\u95F4\u7ED1\u5B9A\u4E0D\u80FD\u4E3A\u7A7A\u3002
- PrefixDeclared = \u672A\u58F0\u660E\u540D\u79F0\u7A7A\u95F4\u524D\u7F00 \"{0}\"\u3002
+ ElementXMLNSPrefix = \u5143\u7D20 "{0}" \u4E0D\u80FD\u4F7F\u7528 "xmlns" \u4F5C\u4E3A\u524D\u7F00\u3002
+ ElementPrefixUnbound = \u5143\u7D20 "{1}" \u7684\u524D\u7F00 "{0}" \u672A\u7ED1\u5B9A\u3002
+ AttributePrefixUnbound = \u4E0E\u5143\u7D20\u7C7B\u578B "{0}" \u76F8\u5173\u8054\u7684\u5C5E\u6027 "{1}" \u7684\u524D\u7F00 "{2}" \u672A\u7ED1\u5B9A\u3002
+ EmptyPrefixedAttName = \u5C5E\u6027 "{0}" \u7684\u503C\u65E0\u6548\u3002\u5E26\u524D\u7F00\u7684\u540D\u79F0\u7A7A\u95F4\u7ED1\u5B9A\u4E0D\u80FD\u4E3A\u7A7A\u3002
+ PrefixDeclared = \u672A\u58F0\u660E\u540D\u79F0\u7A7A\u95F4\u524D\u7F00 "{0}"\u3002
CantBindXMLNS = \u524D\u7F00 "xmlns" \u4E0D\u80FD\u663E\u5F0F\u7ED1\u5B9A\u5230\u4EFB\u4F55\u540D\u79F0\u7A7A\u95F4; "xmlns" \u7684\u540D\u79F0\u7A7A\u95F4\u4E5F\u4E0D\u80FD\u663E\u5F0F\u7ED1\u5B9A\u5230\u4EFB\u4F55\u524D\u7F00\u3002
CantBindXML = \u524D\u7F00 "xml" \u4E0D\u80FD\u7ED1\u5B9A\u5230\u9664\u5B83\u7684\u5E38\u7528\u540D\u79F0\u7A7A\u95F4\u5916\u7684\u4EFB\u4F55\u540D\u79F0\u7A7A\u95F4; "xml" \u7684\u540D\u79F0\u7A7A\u95F4\u4E5F\u4E0D\u80FD\u7ED1\u5B9A\u5230\u9664 "xml" \u5916\u7684\u4EFB\u4F55\u524D\u7F00\u3002
- MSG_ATT_DEFAULT_INVALID = \u5C5E\u6027 \"{0}\" \u7684 defaultValue \"{1}\" \u975E\u6CD5, \u56E0\u4E3A\u6B64\u5C5E\u6027\u7C7B\u578B\u5177\u6709\u8BCD\u6C47\u7EA6\u675F\u6761\u4EF6\u3002
+ MSG_ATT_DEFAULT_INVALID = \u5C5E\u6027 "{0}" \u7684 defaultValue "{1}" \u975E\u6CD5, \u56E0\u4E3A\u6B64\u5C5E\u6027\u7C7B\u578B\u5177\u6709\u8BCD\u6C47\u7EA6\u675F\u6761\u4EF6\u3002
# REVISIT: These need messages
MSG_SPACE_REQUIRED_AFTER_SYSTEMLITERAL_IN_EXTERNALID=MSG_SPACE_REQUIRED_AFTER_SYSTEMLITERAL_IN_EXTERNALID
@@ -321,7 +318,7 @@
#Application can set the limit of number of entities that should be expanded by the parser.
-EntityExpansionLimitExceeded=\u8BED\u6CD5\u5206\u6790\u5668\u5728\u6B64\u6587\u6863\u4E2D\u9047\u5230\u591A\u4E2A \"{0}\" \u5B9E\u4F53\u6269\u5C55; \u8FD9\u662F\u5E94\u7528\u7A0B\u5E8F\u65BD\u52A0\u7684\u9650\u5236\u3002
+EntityExpansionLimitExceeded=\u89E3\u6790\u5668\u5728\u6B64\u6587\u6863\u4E2D\u9047\u5230\u591A\u4E2A "{0}" \u5B9E\u4F53\u6269\u5C55; \u8FD9\u662F\u5E94\u7528\u7A0B\u5E8F\u65BD\u52A0\u7684\u9650\u5236\u3002
# Application can set the limit of number of attributes of entity that should be expanded by the parser.
-ElementAttributeLimit= \u5143\u7D20 \"{0}\" \u5177\u6709\u591A\u4E2A \"{1}\" \u5C5E\u6027, \"{1}\" \u662F\u5E94\u7528\u7A0B\u5E8F\u65BD\u52A0\u7684\u9650\u5236\u3002
+ElementAttributeLimit= \u5143\u7D20 "{0}" \u5177\u6709\u591A\u4E2A "{1}" \u5C5E\u6027, "{1}" \u662F\u5E94\u7528\u7A0B\u5E8F\u65BD\u52A0\u7684\u9650\u5236\u3002
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_TW.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_TW.properties
index 1a953819503..0b2be0cda71 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_TW.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_TW.properties
@@ -1,30 +1,27 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file contains error and warning messages related to XML
# The messages are arranged in key and value tuples in a ListResourceBundle.
@@ -48,14 +45,14 @@
InvalidCharInProlog = \u5728\u6587\u4EF6\u5BA3\u544A\u96C6\u4E2D\u627E\u5230\u7121\u6548\u7684 XML \u5B57\u5143 (Unicode: 0x{0})\u3002
InvalidCharInXMLDecl = \u5728 XML \u5BA3\u544A\u4E2D\u627E\u5230\u7121\u6548\u7684 XML \u5B57\u5143 (Unicode: 0x{0})\u3002
# 2.4 Character Data and Markup
- CDEndInContent = \u5B57\u5143\u9806\u5E8F \"]]>\" \u4E0D\u53EF\u51FA\u73FE\u5728\u5167\u5BB9\u4E2D\uFF0C\u9664\u975E\u7528\u65BC\u6A19\u793A CDATA \u6BB5\u843D\u7684\u7D50\u5C3E\u3002
+ CDEndInContent = \u5B57\u5143\u9806\u5E8F "]]>" \u4E0D\u53EF\u51FA\u73FE\u5728\u5167\u5BB9\u4E2D\uFF0C\u9664\u975E\u7528\u65BC\u6A19\u793A CDATA \u6BB5\u843D\u7684\u7D50\u5C3E\u3002
# 2.7 CDATA Sections
- CDSectUnterminated = CDATA \u6BB5\u843D\u7D50\u5C3E\u5FC5\u9808\u662F \"]]>\"\u3002
+ CDSectUnterminated = CDATA \u6BB5\u843D\u7D50\u5C3E\u5FC5\u9808\u662F "]]>"\u3002
# 2.8 Prolog and Document Type Declaration
XMLDeclMustBeFirst = XML \u5BA3\u544A\u50C5\u80FD\u51FA\u73FE\u5728\u6587\u4EF6\u7684\u958B\u982D\u3002
- EqRequiredInXMLDecl = \u5728 XML \u5BA3\u544A\u4E2D\uFF0C'' = '' \u5B57\u5143\u5FC5\u9808\u7DCA\u63A5\u5728 \"{0}\" \u4E4B\u5F8C\u3002
- QuoteRequiredInXMLDecl = \u5728 XML \u5BA3\u544A\u4E2D\uFF0C\"{0}\" \u4E4B\u5F8C\u7684\u503C\u5FC5\u9808\u662F\u4EE5\u5F15\u865F\u62EC\u4F4F\u7684\u5B57\u4E32\u3002
- XMLDeclUnterminated = XML \u5BA3\u544A\u7D50\u5C3E\u5FC5\u9808\u662F \"?>\"\u3002
+ EqRequiredInXMLDecl = \u5728 XML \u5BA3\u544A\u4E2D\uFF0C'' = '' \u5B57\u5143\u5FC5\u9808\u7DCA\u63A5\u5728 "{0}" \u4E4B\u5F8C\u3002
+ QuoteRequiredInXMLDecl = \u5728 XML \u5BA3\u544A\u4E2D\uFF0C"{0}" \u4E4B\u5F8C\u7684\u503C\u5FC5\u9808\u662F\u4EE5\u5F15\u865F\u62EC\u4F4F\u7684\u5B57\u4E32\u3002
+ XMLDeclUnterminated = XML \u5BA3\u544A\u7D50\u5C3E\u5FC5\u9808\u662F "?>"\u3002
VersionInfoRequired = XML \u5BA3\u544A\u4E2D\u9700\u8981\u7248\u672C\u3002
SpaceRequiredBeforeVersionInXMLDecl = \u5728 XML \u5BA3\u544A\u4E2D\uFF0C\u7248\u672C\u865B\u64EC\u5C6C\u6027\u4E4B\u524D\u9700\u8981\u6709\u7A7A\u683C\u3002
SpaceRequiredBeforeEncodingInXMLDecl = \u5728 XML \u5BA3\u544A\u4E2D\uFF0C\u7DE8\u78BC\u865B\u64EC\u5C6C\u6027\u4E4B\u524D\u9700\u8981\u6709\u7A7A\u683C\u3002
@@ -71,90 +68,90 @@
ReferenceIllegalInTrailingMisc=\u5C3E\u7AEF\u6BB5\u843D\u4E2D\u4E0D\u5141\u8A31\u53C3\u7167\u3002
# 2.9 Standalone Document Declaration
- SDDeclInvalid = \u7368\u7ACB\u6587\u4EF6\u5BA3\u544A\u503C\u5FC5\u9808\u662F \"yes\" \u6216 \"no\"\uFF0C\u800C\u975E \"{0}\"\u3002
+ SDDeclInvalid = \u7368\u7ACB\u6587\u4EF6\u5BA3\u544A\u503C\u5FC5\u9808\u662F "yes" \u6216 "no"\uFF0C\u800C\u975E "{0}"\u3002
# 2.12 Language Identification
- XMLLangInvalid = xml:lang \u5C6C\u6027\u503C \"{0}\" \u70BA\u7121\u6548\u7684\u8A9E\u8A00 ID\u3002
+ XMLLangInvalid = xml:lang \u5C6C\u6027\u503C "{0}" \u70BA\u7121\u6548\u7684\u8A9E\u8A00 ID\u3002
# 3. Logical Structures
- ETagRequired = \u5143\u7D20\u985E\u578B \"{0}\" \u5FC5\u9808\u7531\u914D\u5C0D\u7684\u7D50\u675F\u6A19\u8A18 \"{0}>\" \u7D42\u6B62\u3002
+ ETagRequired = \u5143\u7D20\u985E\u578B "{0}" \u5FC5\u9808\u7531\u914D\u5C0D\u7684\u7D50\u675F\u6A19\u8A18 "{0}>" \u7D42\u6B62\u3002
# 3.1 Start-Tags, End-Tags, and Empty-Element Tags
- ElementUnterminated = \u5143\u7D20\u985E\u578B \"{0}\" \u4E4B\u5F8C\u5FC5\u9808\u7DCA\u63A5\u5C6C\u6027\u8A2D\u5B9A \">\" \u6216 \"/>\"\u3002
- EqRequiredInAttribute = \u95DC\u806F\u5143\u7D20\u985E\u578B \"{0}\" \u7684\u5C6C\u6027\u540D\u7A31 \"{1}\" \u4E4B\u5F8C\u5FC5\u9808\u7DCA\u63A5 '' = '' \u5B57\u5143\u3002
- OpenQuoteExpected = \u95DC\u806F\u5143\u7D20\u985E\u578B \"{0}\" \u7684\u5C6C\u6027 \"{1}\" \u9810\u671F\u6709\u958B\u982D\u5F15\u865F\u3002
- CloseQuoteExpected = \u95DC\u806F\u5143\u7D20\u985E\u578B \"{0}\" \u7684\u5C6C\u6027 \"{1}\" \u9810\u671F\u6709\u7D50\u675F\u5F15\u865F\u3002
- AttributeNotUnique = \u5DF2\u7D93\u70BA\u5143\u7D20 \"{0}\" \u6307\u5B9A\u5C6C\u6027 \"{1}\"\u3002
- AttributeNSNotUnique = \u5DF2\u7D93\u70BA\u5143\u7D20 \"{0}\" \u6307\u5B9A\u9023\u7D50\u547D\u540D\u7A7A\u9593 \"{2}\" \u7684\u5C6C\u6027 \"{1}\"\u3002
- ETagUnterminated = \u5143\u7D20\u985E\u578B \"{0}\" \u7684\u7D50\u675F\u6A19\u8A18\u7D50\u5C3E\u5FC5\u9808\u662F ''>'' \u5206\u754C\u5B57\u5143\u3002
+ ElementUnterminated = \u5143\u7D20\u985E\u578B "{0}" \u4E4B\u5F8C\u5FC5\u9808\u7DCA\u63A5\u5C6C\u6027\u8A2D\u5B9A ">" \u6216 "/>"\u3002
+ EqRequiredInAttribute = \u95DC\u806F\u5143\u7D20\u985E\u578B "{0}" \u7684\u5C6C\u6027\u540D\u7A31 "{1}" \u4E4B\u5F8C\u5FC5\u9808\u7DCA\u63A5 '' = '' \u5B57\u5143\u3002
+ OpenQuoteExpected = \u95DC\u806F\u5143\u7D20\u985E\u578B "{0}" \u7684\u5C6C\u6027 "{1}" \u9810\u671F\u6709\u958B\u982D\u5F15\u865F\u3002
+ CloseQuoteExpected = \u95DC\u806F\u5143\u7D20\u985E\u578B "{0}" \u7684\u5C6C\u6027 "{1}" \u9810\u671F\u6709\u7D50\u675F\u5F15\u865F\u3002
+ AttributeNotUnique = \u5DF2\u7D93\u70BA\u5143\u7D20 "{0}" \u6307\u5B9A\u5C6C\u6027 "{1}"\u3002
+ AttributeNSNotUnique = \u5DF2\u7D93\u70BA\u5143\u7D20 "{0}" \u6307\u5B9A\u9023\u7D50\u547D\u540D\u7A7A\u9593 "{2}" \u7684\u5C6C\u6027 "{1}"\u3002
+ ETagUnterminated = \u5143\u7D20\u985E\u578B "{0}" \u7684\u7D50\u675F\u6A19\u8A18\u7D50\u5C3E\u5FC5\u9808\u662F ''>'' \u5206\u754C\u5B57\u5143\u3002
MarkupNotRecognizedInContent = \u5143\u7D20\u7684\u5167\u5BB9\u5FC5\u9808\u7531\u683C\u5F0F\u6B63\u78BA\u7684\u4F4D\u63CF\u8FF0\u8CC7\u6599\u6216\u6A19\u8A18\u6240\u7D44\u6210\u3002
DoctypeIllegalInContent = \u5167\u5BB9\u4E0D\u5141\u8A31 DOCTYPE\u3002
# 4.1 Character and Entity References
ReferenceUnterminated = \u53C3\u7167\u5FC5\u9808\u7531 ';' \u5206\u754C\u5B57\u5143\u7D42\u6B62\u3002
# 4.3.2 Well-Formed Parsed Entities
- ReferenceNotInOneEntity = \u53C3\u7167\u5FC5\u9808\u6574\u500B\u5305\u542B\u5728\u76F8\u540C\u7684\u5256\u6790\u500B\u9AD4\u5167\u3002
- ElementEntityMismatch = \u5143\u7D20 \"{0}\" \u7684\u958B\u982D\u8207\u7D50\u5C3E\u5FC5\u9808\u5728\u76F8\u540C\u500B\u9AD4\u5167\u3002
- MarkupEntityMismatch=XML \u6587\u4EF6\u7D50\u69CB\u7684\u958B\u982D\u8207\u7D50\u5C3E\u5FC5\u9808\u5728\u76F8\u540C\u500B\u9AD4\u5167\u3002
+ ReferenceNotInOneEntity = \u53C3\u7167\u5FC5\u9808\u6574\u500B\u5305\u542B\u5728\u76F8\u540C\u7684\u5256\u6790\u5BE6\u9AD4\u5167\u3002
+ ElementEntityMismatch = \u5143\u7D20 "{0}" \u7684\u958B\u982D\u8207\u7D50\u5C3E\u5FC5\u9808\u5728\u76F8\u540C\u5BE6\u9AD4\u5167\u3002
+ MarkupEntityMismatch=XML \u6587\u4EF6\u7D50\u69CB\u7684\u958B\u982D\u8207\u7D50\u5C3E\u5FC5\u9808\u5728\u76F8\u540C\u5BE6\u9AD4\u5167\u3002
# Messages common to Document and DTD
# 2.2 Characters
- InvalidCharInAttValue = \u5728\u5C6C\u6027 \"{1}\" \u7684\u503C\u4E2D\u627E\u5230\u7121\u6548\u7684 XML \u5B57\u5143 (Unicode: 0x{2}) \u4E14\u5143\u7D20\u70BA \"{0}\"\u3002
+ InvalidCharInAttValue = \u5728\u5C6C\u6027 "{1}" \u7684\u503C\u4E2D\u627E\u5230\u7121\u6548\u7684 XML \u5B57\u5143 (Unicode: 0x{2}) \u4E14\u5143\u7D20\u70BA "{0}"\u3002
InvalidCharInComment = \u5728\u8A3B\u89E3\u4E2D\u627E\u5230\u7121\u6548\u7684 XML \u5B57\u5143 (Unicode: 0x{0})\u3002
InvalidCharInPI = \u5728\u8655\u7406\u6307\u793A\u4E2D\u627E\u5230\u7121\u6548\u7684 XML \u5B57\u5143 (Unicode: 0x{0})\u3002
InvalidCharInInternalSubset = \u5728 DTD \u5167\u90E8\u5B50\u96C6\u4E2D\u627E\u5230\u7121\u6548\u7684 XML \u5B57\u5143 (Unicode: 0x{0})\u3002
InvalidCharInTextDecl = \u5728\u6587\u5B57\u5BA3\u544A\u4E2D\u627E\u5230\u7121\u6548\u7684 XML \u5B57\u5143 (Unicode: 0x{0})\u3002
# 2.3 Common Syntactic Constructs
- QuoteRequiredInAttValue = \u5C6C\u6027 \"{1}\" \u7684\u503C\u958B\u982D\u5FC5\u9808\u70BA\u55AE\u5F15\u865F\u6216\u96D9\u5F15\u865F\u5B57\u5143\u3002
- LessthanInAttValue = \u95DC\u806F\u5143\u7D20\u985E\u578B \"{0}\" \u4E4B\u5C6C\u6027 \"{1}\" \u7684\u503C\u4E0D\u53EF\u5305\u542B ''<'' \u5B57\u5143\u3002
- AttributeValueUnterminated = \u5C6C\u6027 \"{1}\" \u7684\u503C\u7D50\u5C3E\u5FC5\u9808\u662F\u914D\u5C0D\u7684\u5F15\u865F\u5B57\u5143\u3002
+ QuoteRequiredInAttValue = \u5C6C\u6027 "{1}" \u7684\u503C\u958B\u982D\u5FC5\u9808\u70BA\u55AE\u5F15\u865F\u6216\u96D9\u5F15\u865F\u5B57\u5143\u3002
+ LessthanInAttValue = \u95DC\u806F\u5143\u7D20\u985E\u578B "{0}" \u4E4B\u5C6C\u6027 "{1}" \u7684\u503C\u4E0D\u53EF\u5305\u542B ''<'' \u5B57\u5143\u3002
+ AttributeValueUnterminated = \u5C6C\u6027 "{1}" \u7684\u503C\u7D50\u5C3E\u5FC5\u9808\u662F\u914D\u5C0D\u7684\u5F15\u865F\u5B57\u5143\u3002
# 2.5 Comments
- InvalidCommentStart = \u8A3B\u89E3\u958B\u982D\u5FC5\u9808\u70BA \"\"\u3002
- COMMENT_NOT_IN_ONE_ENTITY = \u8A3B\u89E3\u672A\u5305\u542B\u5728\u76F8\u540C\u500B\u9AD4\u5167\u3002
+ InvalidCommentStart = \u8A3B\u89E3\u958B\u982D\u5FC5\u9808\u70BA ""\u3002
+ COMMENT_NOT_IN_ONE_ENTITY = \u8A3B\u89E3\u672A\u5305\u542B\u5728\u76F8\u540C\u5BE6\u9AD4\u5167\u3002
# 2.6 Processing Instructions
PITargetRequired = \u8655\u7406\u6307\u793A\u7684\u958B\u982D\u5FC5\u9808\u662F\u76EE\u6A19\u7684\u540D\u7A31\u3002
SpaceRequiredInPI = \u8655\u7406\u6307\u793A\u76EE\u6A19\u8207\u8CC7\u6599\u4E4B\u9593\u9700\u8981\u7A7A\u683C\u3002
- PIUnterminated = \u8655\u7406\u6307\u793A\u7D50\u5C3E\u5FC5\u9808\u662F \"?>\"\u3002
- ReservedPITarget = \u4E0D\u5141\u8A31\u7B26\u5408 \"[xX][mM][lL]\" \u7684\u8655\u7406\u6307\u793A\u76EE\u6A19\u3002
- PI_NOT_IN_ONE_ENTITY = \u8655\u7406\u6307\u793A\u672A\u5305\u542B\u5728\u76F8\u540C\u500B\u9AD4\u5167\u3002
+ PIUnterminated = \u8655\u7406\u6307\u793A\u7D50\u5C3E\u5FC5\u9808\u662F "?>"\u3002
+ ReservedPITarget = \u4E0D\u5141\u8A31\u7B26\u5408 "[xX][mM][lL]" \u7684\u8655\u7406\u6307\u793A\u76EE\u6A19\u3002
+ PI_NOT_IN_ONE_ENTITY = \u8655\u7406\u6307\u793A\u672A\u5305\u542B\u5728\u76F8\u540C\u5BE6\u9AD4\u5167\u3002
# 2.8 Prolog and Document Type Declaration
- VersionInfoInvalid = \u7121\u6548\u7684\u7248\u672C \"{0}\"\u3002
- VersionNotSupported = \u4E0D\u652F\u63F4 XML \u7248\u672C \"{0}\"\uFF0C\u50C5\u652F\u63F4 XML 1.0\u3002
- VersionNotSupported11 = \u4E0D\u652F\u63F4 XML \u7248\u672C \"{0}\"\uFF0C\u50C5\u652F\u63F4 XML 1.0 \u8207 XML 1.1\u3002
- VersionMismatch= \u500B\u9AD4\u4E0D\u53EF\u5305\u542B\u8F03\u65B0\u7248\u672C\u7684\u5176\u4ED6\u500B\u9AD4\u3002
+ VersionInfoInvalid = \u7121\u6548\u7684\u7248\u672C "{0}"\u3002
+ VersionNotSupported = \u4E0D\u652F\u63F4 XML \u7248\u672C "{0}"\uFF0C\u50C5\u652F\u63F4 XML 1.0\u3002
+ VersionNotSupported11 = \u4E0D\u652F\u63F4 XML \u7248\u672C "{0}"\uFF0C\u50C5\u652F\u63F4 XML 1.0 \u8207 XML 1.1\u3002
+ VersionMismatch= \u5BE6\u9AD4\u4E0D\u53EF\u5305\u542B\u8F03\u65B0\u7248\u672C\u7684\u5176\u4ED6\u5BE6\u9AD4\u3002
# 4.1 Character and Entity References
- DigitRequiredInCharRef = \u5728\u5B57\u5143\u53C3\u7167\u4E2D\uFF0C\u5341\u9032\u4F4D\u8868\u793A\u6CD5\u5FC5\u9808\u7DCA\u63A5\u5728 \"\" \u4E4B\u5F8C\u3002
- HexdigitRequiredInCharRef = \u5728\u5B57\u5143\u53C3\u7167\u4E2D\uFF0C\u5341\u516D\u9032\u4F4D\u8868\u793A\u6CD5\u5FC5\u9808\u7DCA\u63A5\u5728 \"\" \u4E4B\u5F8C\u3002
+ DigitRequiredInCharRef = \u5728\u5B57\u5143\u53C3\u7167\u4E2D\uFF0C\u5341\u9032\u4F4D\u8868\u793A\u6CD5\u5FC5\u9808\u7DCA\u63A5\u5728 "" \u4E4B\u5F8C\u3002
+ HexdigitRequiredInCharRef = \u5728\u5B57\u5143\u53C3\u7167\u4E2D\uFF0C\u5341\u516D\u9032\u4F4D\u8868\u793A\u6CD5\u5FC5\u9808\u7DCA\u63A5\u5728 "" \u4E4B\u5F8C\u3002
SemicolonRequiredInCharRef = \u5B57\u5143\u53C3\u7167\u7684\u7D50\u5C3E\u5FC5\u9808\u662F ';' \u5206\u754C\u5B57\u5143\u3002
- InvalidCharRef = \u5B57\u5143\u53C3\u7167 \"{0}\" \u70BA\u7121\u6548\u7684 XML \u5B57\u5143\u3002
- NameRequiredInReference = \u5728\u500B\u9AD4\u53C3\u7167\u4E2D\uFF0C\u500B\u9AD4\u540D\u7A31\u5FC5\u9808\u7DCA\u63A5\u5728 '&' \u4E4B\u5F8C\u3002
- SemicolonRequiredInReference = \u500B\u9AD4 \"{0}\" \u7684\u53C3\u7167\u7D50\u5C3E\u5FC5\u9808\u70BA '';'' \u5206\u754C\u5B57\u5143\u3002
+ InvalidCharRef = \u5B57\u5143\u53C3\u7167 "{0}" \u70BA\u7121\u6548\u7684 XML \u5B57\u5143\u3002
+ NameRequiredInReference = \u5728\u5BE6\u9AD4\u53C3\u7167\u4E2D\uFF0C\u5BE6\u9AD4\u540D\u7A31\u5FC5\u9808\u7DCA\u63A5\u5728 '&' \u4E4B\u5F8C\u3002
+ SemicolonRequiredInReference = \u5BE6\u9AD4 "{0}" \u7684\u53C3\u7167\u7D50\u5C3E\u5FC5\u9808\u70BA '';'' \u5206\u754C\u5B57\u5143\u3002
# 4.3.1 The Text Declaration
- TextDeclMustBeFirst = \u6587\u5B57\u5BA3\u544A\u50C5\u80FD\u51FA\u73FE\u5728\u5916\u90E8\u5256\u6790\u500B\u9AD4\u7684\u958B\u982D\u3002
- EqRequiredInTextDecl = \u5728\u6587\u5B57\u5BA3\u544A\u4E2D\uFF0C'' = '' \u5B57\u5143\u5FC5\u9808\u7DCA\u63A5\u5728 \"{0}\" \u4E4B\u5F8C\u3002
- QuoteRequiredInTextDecl = \u6587\u5B57\u5BA3\u544A\u4E2D \"{0}\" \u4E4B\u5F8C\u7684\u503C\u5FC5\u9808\u662F\u4EE5\u5F15\u865F\u62EC\u4F4F\u7684\u5B57\u4E32\u3002
- CloseQuoteMissingInTextDecl = \u6587\u5B57\u5BA3\u544A\u4E2D\uFF0C\u907A\u6F0F \"{0}\" \u4E4B\u5F8C\u7684\u503C\u7684\u7D50\u675F\u5F15\u865F\u3002
+ TextDeclMustBeFirst = \u6587\u5B57\u5BA3\u544A\u50C5\u80FD\u51FA\u73FE\u5728\u5916\u90E8\u5256\u6790\u5BE6\u9AD4\u7684\u958B\u982D\u3002
+ EqRequiredInTextDecl = \u5728\u6587\u5B57\u5BA3\u544A\u4E2D\uFF0C'' = '' \u5B57\u5143\u5FC5\u9808\u7DCA\u63A5\u5728 "{0}" \u4E4B\u5F8C\u3002
+ QuoteRequiredInTextDecl = \u6587\u5B57\u5BA3\u544A\u4E2D "{0}" \u4E4B\u5F8C\u7684\u503C\u5FC5\u9808\u662F\u4EE5\u5F15\u865F\u62EC\u4F4F\u7684\u5B57\u4E32\u3002
+ CloseQuoteMissingInTextDecl = \u6587\u5B57\u5BA3\u544A\u4E2D\uFF0C\u907A\u6F0F "{0}" \u4E4B\u5F8C\u7684\u503C\u7684\u7D50\u675F\u5F15\u865F\u3002
SpaceRequiredBeforeVersionInTextDecl = \u5728\u6587\u5B57\u5BA3\u544A\u4E2D\uFF0C\u7248\u672C\u865B\u64EC\u5C6C\u6027\u4E4B\u524D\u9700\u8981\u6709\u7A7A\u683C\u3002
SpaceRequiredBeforeEncodingInTextDecl = \u5728\u6587\u5B57\u5BA3\u544A\u4E2D\uFF0C\u7DE8\u78BC\u865B\u64EC\u5C6C\u6027\u4E4B\u524D\u9700\u8981\u6709\u7A7A\u683C\u3002
- TextDeclUnterminated = \u6587\u5B57\u5BA3\u544A\u7D50\u5C3E\u5FC5\u9808\u662F \"?>\"\u3002
+ TextDeclUnterminated = \u6587\u5B57\u5BA3\u544A\u7D50\u5C3E\u5FC5\u9808\u662F "?>"\u3002
EncodingDeclRequired = \u6587\u5B57\u5BA3\u544A\u4E2D\u9700\u8981\u7DE8\u78BC\u5BA3\u544A\u3002
NoMorePseudoAttributes = \u4E0D\u5141\u8A31\u66F4\u591A\u7684\u865B\u64EC\u5C6C\u6027\u3002
MorePseudoAttributes = \u9810\u671F\u66F4\u591A\u7684\u865B\u64EC\u5C6C\u6027\u3002
PseudoAttrNameExpected = \u9810\u671F\u4E00\u500B\u865B\u64EC\u5C6C\u6027\u540D\u7A31\u3002
# 4.3.2 Well-Formed Parsed Entities
- CommentNotInOneEntity = \u8A3B\u89E3\u5FC5\u9808\u6574\u500B\u5305\u542B\u5728\u76F8\u540C\u7684\u5256\u6790\u500B\u9AD4\u5167\u3002
- PINotInOneEntity = \u8655\u7406\u6307\u793A\u5FC5\u9808\u6574\u500B\u5305\u542B\u5728\u76F8\u540C\u7684\u5256\u6790\u500B\u9AD4\u5167\u3002
+ CommentNotInOneEntity = \u8A3B\u89E3\u5FC5\u9808\u6574\u500B\u5305\u542B\u5728\u76F8\u540C\u7684\u5256\u6790\u5BE6\u9AD4\u5167\u3002
+ PINotInOneEntity = \u8655\u7406\u6307\u793A\u5FC5\u9808\u6574\u500B\u5305\u542B\u5728\u76F8\u540C\u7684\u5256\u6790\u5BE6\u9AD4\u5167\u3002
# 4.3.3 Character Encoding in Entities
- EncodingDeclInvalid = \u7121\u6548\u7684\u7DE8\u78BC\u540D\u7A31 \"{0}\"\u3002
- EncodingByteOrderUnsupported = \u4E0D\u652F\u63F4\u7DE8\u78BC \"{0}\" \u7684\u6307\u5B9A\u4F4D\u5143\u7D44\u9806\u5E8F\u3002
+ EncodingDeclInvalid = \u7121\u6548\u7684\u7DE8\u78BC\u540D\u7A31 "{0}"\u3002
+ EncodingByteOrderUnsupported = \u4E0D\u652F\u63F4\u7DE8\u78BC "{0}" \u7684\u6307\u5B9A\u4F4D\u5143\u7D44\u9806\u5E8F\u3002
InvalidByte = {1}-byte UTF-8 \u5E8F\u5217\u7684\u7121\u6548\u4F4D\u5143\u7D44 {0}\u3002
ExpectedByte = {1}-byte UTF-8 \u5E8F\u5217\u9810\u671F\u7684\u4F4D\u5143\u7D44 {0}\u3002
InvalidHighSurrogate = UTF-8 \u5E8F\u5217\u4E2D\u9AD8\u66FF\u4EE3\u4F4D\u5143\u4E0D\u53EF\u8D85\u904E 0x10\uFF0C\u4F46\u627E\u5230 0x{0}\u3002
- OperationNotSupported = {1} \u8B80\u53D6\u5668\u4E0D\u652F\u63F4\u4F5C\u696D \"{0}\"\u3002
- InvalidASCII = \u7D44\u5143\u7D44 \"{0}\" \u4E0D\u662F (7 \u4F4D\u5143) ASCII \u5B57\u5143\u96C6\u7684\u6210\u54E1\u3002
- CharConversionFailure = \u6C7A\u5B9A\u4F7F\u7528\u7279\u5B9A\u7DE8\u78BC\u7684\u500B\u9AD4\uFF0C\u5728\u8A72\u7DE8\u78BC\u4E2D\u4E0D\u53EF\u5305\u542B\u7121\u6548\u7684\u5E8F\u5217\u3002
+ OperationNotSupported = {1} \u8B80\u53D6\u5668\u4E0D\u652F\u63F4\u4F5C\u696D "{0}"\u3002
+ InvalidASCII = \u7D44\u5143\u7D44 "{0}" \u4E0D\u662F (7 \u4F4D\u5143) ASCII \u5B57\u5143\u96C6\u7684\u6210\u54E1\u3002
+ CharConversionFailure = \u6C7A\u5B9A\u4F7F\u7528\u7279\u5B9A\u7DE8\u78BC\u7684\u5BE6\u9AD4\uFF0C\u5728\u8A72\u7DE8\u78BC\u4E2D\u4E0D\u53EF\u5305\u542B\u7121\u6548\u7684\u5E8F\u5217\u3002
# DTD Messages
# 2.2 Characters
- InvalidCharInEntityValue = \u5728\u6587\u5B57\u500B\u9AD4\u503C\u4E2D\u627E\u5230\u7121\u6548\u7684 XML \u5B57\u5143 (Unicode: 0x{0})\u3002
+ InvalidCharInEntityValue = \u5728\u6587\u5B57\u5BE6\u9AD4\u503C\u4E2D\u627E\u5230\u7121\u6548\u7684 XML \u5B57\u5143 (Unicode: 0x{0})\u3002
InvalidCharInExternalSubset = \u5728 DTD \u5916\u90E8\u5B50\u96C6\u4E2D\u627E\u5230\u7121\u6548\u7684 XML \u5B57\u5143 (Unicode: 0x{0})\u3002
InvalidCharInIgnoreSect = \u5728\u6392\u9664\u7684\u689D\u4EF6\u6027\u6BB5\u843D\u4E2D\u627E\u5230\u7121\u6548\u7684 XML \u5B57\u5143 (Unicode: 0x{0})\u3002
InvalidCharInPublicID = \u5728\u516C\u7528 ID \u4E2D\u627E\u5230\u7121\u6548\u7684 XML \u5B57\u5143 (Unicode: 0x{0})\u3002
@@ -169,150 +166,150 @@
PubidCharIllegal = \u516C\u7528 ID \u4E2D\u4E0D\u5141\u8A31\u5B57\u5143 (Unicode: 0x{0})\u3002
SpaceRequiredBetweenPublicAndSystem = publicId \u8207 systemId \u4E4B\u9593\u9700\u8981\u7A7A\u683C\u3002
# 2.8 Prolog and Document Type Declaration
- MSG_SPACE_REQUIRED_BEFORE_ROOT_ELEMENT_TYPE_IN_DOCTYPEDECL = \u5728\u6587\u4EF6\u985E\u578B\u5BA3\u544A\u4E2D \"''\u3002
- PEReferenceWithinMarkup = DTD \u5167\u90E8\u5B57\u96C6\u7684\u6A19\u8A18\u5167\u4E0D\u80FD\u51FA\u73FE\u53C3\u6578\u500B\u9AD4\u53C3\u7167 \"%{0};\"\u3002
+ MSG_SPACE_REQUIRED_BEFORE_ROOT_ELEMENT_TYPE_IN_DOCTYPEDECL = \u5728\u6587\u4EF6\u985E\u578B\u5BA3\u544A\u4E2D "''\u3002
+ PEReferenceWithinMarkup = DTD \u5167\u90E8\u5B57\u96C6\u7684\u6A19\u8A18\u5167\u4E0D\u80FD\u51FA\u73FE\u53C3\u6578\u5BE6\u9AD4\u53C3\u7167 "%{0};"\u3002
MSG_MARKUP_NOT_RECOGNIZED_IN_DTD = \u6587\u4EF6\u985E\u578B\u5BA3\u544A\u5305\u542B\u6216\u6307\u5411\u7684\u6A19\u8A18\u5BA3\u544A\u5FC5\u9808\u683C\u5F0F\u6B63\u78BA\u3002
# 2.10 White Space Handling
- MSG_XML_SPACE_DECLARATION_ILLEGAL = \"xml:space\" \u7684\u5C6C\u6027\u5BA3\u544A\u5FC5\u9808\u6307\u5B9A\u70BA\u5217\u8209\u985E\u578B\uFF0C\u5176\u53EF\u80FD\u7684\u503C\u70BA \"default\" \u8207 \"preserve\"\u3002
+ MSG_XML_SPACE_DECLARATION_ILLEGAL = "xml:space" \u7684\u5C6C\u6027\u5BA3\u544A\u5FC5\u9808\u6307\u5B9A\u70BA\u5217\u8209\u985E\u578B\uFF0C\u5176\u53EF\u80FD\u7684\u503C\u70BA "default" \u8207 "preserve"\u3002
# 3.2 Element Type Declarations
- MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ELEMENTDECL = \u5728\u5143\u7D20\u985E\u578B\u5BA3\u544A\u4E2D \"''\u3002
+ MSG_SPACE_REQUIRED_BEFORE_CONTENTSPEC_IN_ELEMENTDECL = \u5728\u5143\u7D20\u985E\u578B\u5BA3\u544A\u4E2D\u5143\u7D20\u985E\u578B "{0}" \u4E4B\u5F8C\u9700\u8981\u7A7A\u683C\u3002
+ MSG_CONTENTSPEC_REQUIRED_IN_ELEMENTDECL = \u5728\u5143\u7D20\u985E\u578B\u5BA3\u544A\u4E2D\u5143\u7D20\u985E\u578B "{0}" \u4E4B\u5F8C\u9700\u8981\u9650\u5236\u689D\u4EF6\u3002
+ ElementDeclUnterminated = \u5143\u7D20\u985E\u578B "{0}" \u7684\u5BA3\u544A\u7D50\u5C3E\u5FC5\u9808\u70BA ''>''\u3002
# 3.2.1 Element Content
- MSG_OPEN_PAREN_OR_ELEMENT_TYPE_REQUIRED_IN_CHILDREN = \u5143\u7D20\u985E\u578B \"{0}\" \u7684\u5BA3\u544A\u4E2D\u9700\u8981\u4E00\u500B ''('' \u5B57\u5143\u6216\u5143\u7D20\u985E\u578B\u3002
- MSG_CLOSE_PAREN_REQUIRED_IN_CHILDREN = \u5143\u7D20\u985E\u578B \"{0}\" \u7684\u5BA3\u544A\u4E2D\u9700\u8981\u4E00\u500B '')''\u3002
+ MSG_OPEN_PAREN_OR_ELEMENT_TYPE_REQUIRED_IN_CHILDREN = \u5143\u7D20\u985E\u578B "{0}" \u7684\u5BA3\u544A\u4E2D\u9700\u8981\u4E00\u500B ''('' \u5B57\u5143\u6216\u5143\u7D20\u985E\u578B\u3002
+ MSG_CLOSE_PAREN_REQUIRED_IN_CHILDREN = \u5143\u7D20\u985E\u578B "{0}" \u7684\u5BA3\u544A\u4E2D\u9700\u8981\u4E00\u500B '')''\u3002
# 3.2.2 Mixed Content
- MSG_ELEMENT_TYPE_REQUIRED_IN_MIXED_CONTENT = \u5143\u7D20\u985E\u578B \"{0}\" \u7684\u5BA3\u544A\u4E2D\u9700\u8981\u4E00\u500B\u5143\u7D20\u985E\u578B\u3002
- MSG_CLOSE_PAREN_REQUIRED_IN_MIXED = \u5143\u7D20\u985E\u578B \"{0}\" \u7684\u5BA3\u544A\u4E2D\u9700\u8981\u4E00\u500B '')''\u3002
- MixedContentUnterminated = \u5B50\u9805\u5143\u7D20\u7684\u985E\u578B\u53D7\u5230\u9650\u5236\u6642\uFF0C\u6DF7\u5408\u5167\u5BB9\u6A21\u578B \"{0}\" \u7684\u7D50\u5C3E\u5FC5\u9808\u70BA \")*\"\u3002
+ MSG_ELEMENT_TYPE_REQUIRED_IN_MIXED_CONTENT = \u5143\u7D20\u985E\u578B "{0}" \u7684\u5BA3\u544A\u4E2D\u9700\u8981\u4E00\u500B\u5143\u7D20\u985E\u578B\u3002
+ MSG_CLOSE_PAREN_REQUIRED_IN_MIXED = \u5143\u7D20\u985E\u578B "{0}" \u7684\u5BA3\u544A\u4E2D\u9700\u8981\u4E00\u500B '')''\u3002
+ MixedContentUnterminated = \u5B50\u9805\u5143\u7D20\u7684\u985E\u578B\u53D7\u5230\u9650\u5236\u6642\uFF0C\u6DF7\u5408\u5167\u5BB9\u6A21\u578B "{0}" \u7684\u7D50\u5C3E\u5FC5\u9808\u70BA ")*"\u3002
# 3.3 Attribute-List Declarations
- MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ATTLISTDECL = \u5728 attribute-list \u5BA3\u544A\u4E2D \"\"\u3002
- IgnoreSectUnterminated = \u6392\u9664\u689D\u4EF6\u6027\u6BB5\u843D\u7D50\u5C3E\u5FC5\u9808\u662F \"]]>\"\u3002
+ IncludeSectUnterminated = \u5305\u542B\u689D\u4EF6\u6027\u6BB5\u843D\u7D50\u5C3E\u5FC5\u9808\u662F "]]>"\u3002
+ IgnoreSectUnterminated = \u6392\u9664\u689D\u4EF6\u6027\u6BB5\u843D\u7D50\u5C3E\u5FC5\u9808\u662F "]]>"\u3002
# 4.1 Character and Entity References
- NameRequiredInPEReference = \u5728\u53C3\u6578\u500B\u9AD4\u53C3\u7167\u4E2D\uFF0C\u500B\u9AD4\u540D\u7A31\u5FC5\u9808\u7DCA\u63A5\u5728 '%' \u4E4B\u5F8C\u3002
- SemicolonRequiredInPEReference = \u53C3\u6578\u500B\u9AD4\u53C3\u7167 \"%{0};\" \u7684\u7D50\u5C3E\u5FC5\u9808\u70BA '';'' \u5206\u754C\u5B57\u5143\u3002
+ NameRequiredInPEReference = \u5728\u53C3\u6578\u5BE6\u9AD4\u53C3\u7167\u4E2D\uFF0C\u5BE6\u9AD4\u540D\u7A31\u5FC5\u9808\u7DCA\u63A5\u5728 '%' \u4E4B\u5F8C\u3002
+ SemicolonRequiredInPEReference = \u53C3\u6578\u5BE6\u9AD4\u53C3\u7167 "%{0};" \u7684\u7D50\u5C3E\u5FC5\u9808\u70BA '';'' \u5206\u754C\u5B57\u5143\u3002
# 4.2 Entity Declarations
- MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_ENTITYDECL = \u5728\u500B\u9AD4\u5BA3\u544A\u4E2D \"''\u3002
- MSG_DUPLICATE_ENTITY_DEFINITION = \u500B\u9AD4 \"{0}\" \u5BA3\u544A\u8D85\u904E\u4E00\u6B21\u4EE5\u4E0A\u3002
+ MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_ENTITYDECL = \u5728\u5BE6\u9AD4\u5BA3\u544A\u4E2D "''\u3002
+ MSG_DUPLICATE_ENTITY_DEFINITION = \u5BE6\u9AD4 "{0}" \u5BA3\u544A\u8D85\u904E\u4E00\u6B21\u4EE5\u4E0A\u3002
# 4.2.2 External Entities
- ExternalIDRequired = \u5916\u90E8\u500B\u9AD4\u5BA3\u544A\u7684\u958B\u982D\u5FC5\u9808\u70BA \"SYSTEM\" \u6216 \"PUBLIC\"\u3002
- MSG_SPACE_REQUIRED_BEFORE_PUBIDLITERAL_IN_EXTERNALID = \"PUBLIC\" \u8207\u516C\u7528 ID \u4E4B\u9593\u9700\u8981\u7A7A\u683C\u3002
+ ExternalIDRequired = \u5916\u90E8\u5BE6\u9AD4\u5BA3\u544A\u7684\u958B\u982D\u5FC5\u9808\u70BA "SYSTEM" \u6216 "PUBLIC"\u3002
+ MSG_SPACE_REQUIRED_BEFORE_PUBIDLITERAL_IN_EXTERNALID = "PUBLIC" \u8207\u516C\u7528 ID \u4E4B\u9593\u9700\u8981\u7A7A\u683C\u3002
MSG_SPACE_REQUIRED_AFTER_PUBIDLITERAL_IN_EXTERNALID = \u516C\u7528 ID \u8207\u7CFB\u7D71 ID \u4E4B\u9593\u9700\u8981\u7A7A\u683C\u3002
- MSG_SPACE_REQUIRED_BEFORE_SYSTEMLITERAL_IN_EXTERNALID = \"SYSTEM\" \u8207\u7CFB\u7D71 ID \u4E4B\u9593\u9700\u8981\u7A7A\u683C\u3002
- MSG_URI_FRAGMENT_IN_SYSTEMID = \u7247\u6BB5 ID \u4E0D\u61C9\u6307\u5B9A\u70BA\u7CFB\u7D71 ID \"{0}\" \u7684\u4E00\u90E8\u5206\u3002
+ MSG_SPACE_REQUIRED_BEFORE_SYSTEMLITERAL_IN_EXTERNALID = "SYSTEM" \u8207\u7CFB\u7D71 ID \u4E4B\u9593\u9700\u8981\u7A7A\u683C\u3002
+ MSG_URI_FRAGMENT_IN_SYSTEMID = \u7247\u6BB5 ID \u4E0D\u61C9\u6307\u5B9A\u70BA\u7CFB\u7D71 ID "{0}" \u7684\u4E00\u90E8\u5206\u3002
# 4.7 Notation Declarations
- MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_NOTATIONDECL = \u5728\u8868\u793A\u6CD5\u5BA3\u544A\u4E2D \"''\u3002
+ MSG_SPACE_REQUIRED_AFTER_NOTATION_NAME_IN_NOTATIONDECL = \u5728\u8868\u793A\u6CD5\u5BA3\u544A\u4E2D\u8868\u793A\u6CD5\u540D\u7A31 "{0}" \u4E4B\u5F8C\u9700\u8981\u7A7A\u683C\u3002
+ ExternalIDorPublicIDRequired = \u8868\u793A\u6CD5 "{0}" \u7684\u5BA3\u544A\u5FC5\u9808\u5305\u542B\u7CFB\u7D71\u6216\u516C\u7528 ID\u3002
+ NotationDeclUnterminated = \u8868\u793A\u6CD5 "{0}" \u7684\u5BA3\u544A\u7D50\u5C3E\u5FC5\u9808\u70BA ''>''\u3002
# Validation messages
- DuplicateTypeInMixedContent = \u5143\u7D20\u5BA3\u544A \"{0}\" \u7684\u5167\u5BB9\u6A21\u578B\u4E2D\u5DF2\u7D93\u6307\u5B9A\u5143\u7D20\u985E\u578B \"{1}\"\u3002
- ENTITIESInvalid = \u985E\u578B ENTITIES \u7684\u5C6C\u6027\u503C \"{1}\" \u5FC5\u9808\u662F\u4E00\u6216\u591A\u500B\u672A\u5256\u6790\u500B\u9AD4\u7684\u540D\u7A31\u3002
- ENTITYInvalid = \u985E\u578B ENTITY \u7684\u5C6C\u6027\u503C \"{1}\" \u5FC5\u9808\u662F\u4E00\u500B\u672A\u5256\u6790\u500B\u9AD4\u7684\u540D\u7A31\u3002
- IDDefaultTypeInvalid = ID \u5C6C\u6027 \"{0}\" \u5FC5\u9808\u5177\u6709 \"#IMPLIED\" \u6216 \"#REQUIRED\" \u7684\u5BA3\u544A\u9810\u8A2D\u3002
- IDInvalid = \u985E\u578B ID \u7684\u5C6C\u6027\u503C \"{0}\" \u5FC5\u9808\u662F\u540D\u7A31\u3002
- IDInvalidWithNamespaces = \u555F\u7528\u547D\u540D\u7A7A\u9593\u6642\uFF0C\u985E\u578B ID \u7684\u5C6C\u6027\u503C \"{0}\" \u5FC5\u9808\u662F NCName\u3002
- IDNotUnique = \u985E\u578B ID \u7684\u5C6C\u6027\u503C \"{0}\" \u5FC5\u9808\u662F\u6587\u4EF6\u5167\u7684\u552F\u4E00\u503C\u3002
- IDREFInvalid = \u985E\u578B IDREF \u7684\u5C6C\u6027\u503C \"{0}\" \u5FC5\u9808\u662F\u540D\u7A31\u3002
- IDREFInvalidWithNamespaces = \u555F\u7528\u547D\u540D\u7A7A\u9593\u6642\uFF0C\u985E\u578B IDREF \u7684\u5C6C\u6027\u503C \"{0}\" \u5FC5\u9808\u662F NCName\u3002
- IDREFSInvalid = \u985E\u578B IDREFS \u7684\u5C6C\u6027\u503C \"{0}\" \u5FC5\u9808\u662F\u4E00\u6216\u591A\u500B\u540D\u7A31\u3002
- ILL_FORMED_PARAMETER_ENTITY_WHEN_USED_IN_DECL = \u7576\u500B\u9AD4\u53C3\u7167\u7576\u4F5C\u5B8C\u6574\u5BA3\u544A\u6642\uFF0C\u53C3\u6578\u500B\u9AD4 \"{0}\" \u7684\u53D6\u4EE3\u6587\u5B57\u5FC5\u9808\u5305\u542B\u6B63\u78BA\u5DE2\u72C0\u7D50\u69CB\u7684\u5BA3\u544A\u3002
- ImproperDeclarationNesting = \u53C3\u6578\u500B\u9AD4 \"{0}\" \u7684\u53D6\u4EE3\u6587\u5B57\u5FC5\u9808\u5305\u542B\u6B63\u78BA\u5DE2\u72C0\u7D50\u69CB\u7684\u5BA3\u544A\u3002
- ImproperGroupNesting = \u53C3\u6578\u500B\u9AD4 \"{0}\" \u7684\u53D6\u4EE3\u6587\u5B57\u5FC5\u9808\u5305\u542B\u6B63\u78BA\u5DE2\u72C0\u7D50\u69CB\u7684\u6210\u5C0D\u62EC\u865F\u3002
- INVALID_PE_IN_CONDITIONAL = \u53C3\u6578\u500B\u9AD4 \"{0}\" \u7684\u53D6\u4EE3\u6587\u5B57\u5FC5\u9808\u5305\u542B\u6574\u500B\u689D\u4EF6\u6027\u6BB5\u843D\u6216\u50C5\u5305\u542B INCLUDE \u6216 IGNORE\u3002
- MSG_ATTRIBUTE_NOT_DECLARED = \u5143\u7D20\u985E\u578B \"{0}\" \u5FC5\u9808\u5BA3\u544A\u5C6C\u6027 \"{1}\"\u3002
- MSG_ATTRIBUTE_VALUE_NOT_IN_LIST = \u5177\u6709\u503C \"{1}\" \u7684\u5C6C\u6027 \"{0}\" \u5FC5\u9808\u5177\u6709\u4F86\u81EA\u6E05\u55AE \"{2}\" \u7684\u503C\u3002
- MSG_ATTVALUE_CHANGED_DURING_NORMALIZATION_WHEN_STANDALONE = \u5728\u7368\u7ACB\u6587\u4EF6\u4E2D\uFF0C\u5C6C\u6027 \"{0}\" \u7684\u503C \"{1}\" \u4E0D\u53EF\u900F\u904E\u6B63\u898F\u5316\u9032\u884C\u8B8A\u66F4 (\u6210\u70BA \"{2}\")\u3002
- MSG_CONTENT_INCOMPLETE = \u5143\u7D20\u985E\u578B \"{0}\" \u7684\u5167\u5BB9\u4E0D\u5B8C\u6574\uFF0C\u5B83\u5FC5\u9808\u914D\u5C0D \"{1}\"\u3002
- MSG_CONTENT_INVALID = \u5143\u7D20\u985E\u578B \"{0}\" \u7684\u5167\u5BB9\u5FC5\u9808\u914D\u5C0D \"{1}\"\u3002
- MSG_CONTENT_INVALID_SPECIFIED = \u5143\u7D20\u985E\u578B \"{0}\" \u7684\u5167\u5BB9\u5FC5\u9808\u914D\u5C0D \"{1}\"\u3002\u4E0D\u5141\u8A31\u985E\u578B \"{2}\" \u7684\u5B50\u9805\u3002
- MSG_DEFAULTED_ATTRIBUTE_NOT_SPECIFIED = \u5143\u7D20\u985E\u578B \"{0}\" \u7684\u5C6C\u6027 \"{1}\" \u5177\u6709\u9810\u8A2D\u503C\uFF0C\u4E14\u5FC5\u9808\u5728\u7368\u7ACB\u6587\u4EF6\u4E2D\u6307\u5B9A\u3002
- MSG_DUPLICATE_ATTDEF = \u5143\u7D20\u985E\u578B \"{0}\" \u5DF2\u7D93\u5BA3\u544A\u5C6C\u6027 \"{1}\"\u3002
- MSG_ELEMENT_ALREADY_DECLARED = \u5143\u7D20\u985E\u578B \"{0}\" \u4E0D\u53EF\u5BA3\u544A\u8D85\u904E\u4E00\u6B21\u4EE5\u4E0A\u3002
- MSG_ELEMENT_NOT_DECLARED = \u5FC5\u9808\u5BA3\u544A\u5143\u7D20\u985E\u578B \"{0}\"\u3002
+ DuplicateTypeInMixedContent = \u5143\u7D20\u5BA3\u544A "{0}" \u7684\u5167\u5BB9\u6A21\u578B\u4E2D\u5DF2\u7D93\u6307\u5B9A\u5143\u7D20\u985E\u578B "{1}"\u3002
+ ENTITIESInvalid = \u985E\u578B ENTITIES \u7684\u5C6C\u6027\u503C "{1}" \u5FC5\u9808\u662F\u4E00\u6216\u591A\u500B\u672A\u5256\u6790\u5BE6\u9AD4\u7684\u540D\u7A31\u3002
+ ENTITYInvalid = \u985E\u578B ENTITY \u7684\u5C6C\u6027\u503C "{1}" \u5FC5\u9808\u662F\u4E00\u500B\u672A\u5256\u6790\u5BE6\u9AD4\u7684\u540D\u7A31\u3002
+ IDDefaultTypeInvalid = ID \u5C6C\u6027 "{0}" \u5FC5\u9808\u5177\u6709 "#IMPLIED" \u6216 "#REQUIRED" \u7684\u5BA3\u544A\u9810\u8A2D\u3002
+ IDInvalid = \u985E\u578B ID \u7684\u5C6C\u6027\u503C "{0}" \u5FC5\u9808\u662F\u540D\u7A31\u3002
+ IDInvalidWithNamespaces = \u555F\u7528\u547D\u540D\u7A7A\u9593\u6642\uFF0C\u985E\u578B ID \u7684\u5C6C\u6027\u503C "{0}" \u5FC5\u9808\u662F NCName\u3002
+ IDNotUnique = \u985E\u578B ID \u7684\u5C6C\u6027\u503C "{0}" \u5FC5\u9808\u662F\u6587\u4EF6\u5167\u7684\u552F\u4E00\u503C\u3002
+ IDREFInvalid = \u985E\u578B IDREF \u7684\u5C6C\u6027\u503C "{0}" \u5FC5\u9808\u662F\u540D\u7A31\u3002
+ IDREFInvalidWithNamespaces = \u555F\u7528\u547D\u540D\u7A7A\u9593\u6642\uFF0C\u985E\u578B IDREF \u7684\u5C6C\u6027\u503C "{0}" \u5FC5\u9808\u662F NCName\u3002
+ IDREFSInvalid = \u985E\u578B IDREFS \u7684\u5C6C\u6027\u503C "{0}" \u5FC5\u9808\u662F\u4E00\u6216\u591A\u500B\u540D\u7A31\u3002
+ ILL_FORMED_PARAMETER_ENTITY_WHEN_USED_IN_DECL = \u7576\u5BE6\u9AD4\u53C3\u7167\u7576\u4F5C\u5B8C\u6574\u5BA3\u544A\u6642\uFF0C\u53C3\u6578\u5BE6\u9AD4 "{0}" \u7684\u53D6\u4EE3\u6587\u5B57\u5FC5\u9808\u5305\u542B\u6B63\u78BA\u5DE2\u72C0\u7D50\u69CB\u7684\u5BA3\u544A\u3002
+ ImproperDeclarationNesting = \u53C3\u6578\u5BE6\u9AD4 "{0}" \u7684\u53D6\u4EE3\u6587\u5B57\u5FC5\u9808\u5305\u542B\u6B63\u78BA\u5DE2\u72C0\u7D50\u69CB\u7684\u5BA3\u544A\u3002
+ ImproperGroupNesting = \u53C3\u6578\u5BE6\u9AD4 "{0}" \u7684\u53D6\u4EE3\u6587\u5B57\u5FC5\u9808\u5305\u542B\u6B63\u78BA\u5DE2\u72C0\u7D50\u69CB\u7684\u6210\u5C0D\u62EC\u865F\u3002
+ INVALID_PE_IN_CONDITIONAL = \u53C3\u6578\u5BE6\u9AD4 "{0}" \u7684\u53D6\u4EE3\u6587\u5B57\u5FC5\u9808\u5305\u542B\u6574\u500B\u689D\u4EF6\u6027\u6BB5\u843D\u6216\u50C5\u5305\u542B INCLUDE \u6216 IGNORE\u3002
+ MSG_ATTRIBUTE_NOT_DECLARED = \u5143\u7D20\u985E\u578B "{0}" \u5FC5\u9808\u5BA3\u544A\u5C6C\u6027 "{1}"\u3002
+ MSG_ATTRIBUTE_VALUE_NOT_IN_LIST = \u5177\u6709\u503C "{1}" \u7684\u5C6C\u6027 "{0}" \u5FC5\u9808\u5177\u6709\u4F86\u81EA\u6E05\u55AE "{2}" \u7684\u503C\u3002
+ MSG_ATTVALUE_CHANGED_DURING_NORMALIZATION_WHEN_STANDALONE = \u5728\u7368\u7ACB\u6587\u4EF6\u4E2D\uFF0C\u5C6C\u6027 "{0}" \u7684\u503C "{1}" \u4E0D\u53EF\u900F\u904E\u6B63\u898F\u5316\u9032\u884C\u8B8A\u66F4 (\u6210\u70BA "{2}")\u3002
+ MSG_CONTENT_INCOMPLETE = \u5143\u7D20\u985E\u578B "{0}" \u7684\u5167\u5BB9\u4E0D\u5B8C\u6574\uFF0C\u5B83\u5FC5\u9808\u914D\u5C0D "{1}"\u3002
+ MSG_CONTENT_INVALID = \u5143\u7D20\u985E\u578B "{0}" \u7684\u5167\u5BB9\u5FC5\u9808\u914D\u5C0D "{1}"\u3002
+ MSG_CONTENT_INVALID_SPECIFIED = \u5143\u7D20\u985E\u578B "{0}" \u7684\u5167\u5BB9\u5FC5\u9808\u914D\u5C0D "{1}"\u3002\u4E0D\u5141\u8A31\u985E\u578B "{2}" \u7684\u5B50\u9805\u3002
+ MSG_DEFAULTED_ATTRIBUTE_NOT_SPECIFIED = \u5143\u7D20\u985E\u578B "{0}" \u7684\u5C6C\u6027 "{1}" \u5177\u6709\u9810\u8A2D\u503C\uFF0C\u4E14\u5FC5\u9808\u5728\u7368\u7ACB\u6587\u4EF6\u4E2D\u6307\u5B9A\u3002
+ MSG_DUPLICATE_ATTDEF = \u5143\u7D20\u985E\u578B "{0}" \u5DF2\u7D93\u5BA3\u544A\u5C6C\u6027 "{1}"\u3002
+ MSG_ELEMENT_ALREADY_DECLARED = \u5143\u7D20\u985E\u578B "{0}" \u4E0D\u53EF\u5BA3\u544A\u8D85\u904E\u4E00\u6B21\u4EE5\u4E0A\u3002
+ MSG_ELEMENT_NOT_DECLARED = \u5FC5\u9808\u5BA3\u544A\u5143\u7D20\u985E\u578B "{0}"\u3002
MSG_GRAMMAR_NOT_FOUND = \u6587\u4EF6\u7121\u6548: \u627E\u4E0D\u5230\u6587\u6CD5\u3002
- MSG_ELEMENT_WITH_ID_REQUIRED = ID \u70BA \"{0}\" \u7684\u5143\u7D20\u5FC5\u9808\u51FA\u73FE\u5728\u6587\u4EF6\u4E2D\u3002
- MSG_EXTERNAL_ENTITY_NOT_PERMITTED = \u7368\u7ACB\u6587\u4EF6\u4E2D\u4E0D\u5141\u8A31\u53C3\u7167\u5916\u90E8\u500B\u9AD4 \"{0}\"\u3002
- MSG_FIXED_ATTVALUE_INVALID = \u5177\u6709\u503C \"{2}\" \u7684\u5C6C\u6027 \"{1}\" \u5FC5\u9808\u5177\u6709 \"{3}\" \u7684\u503C\u3002
- MSG_MORE_THAN_ONE_ID_ATTRIBUTE = \u5143\u7D20\u985E\u578B \"{0}\" \u5DF2\u7D93\u5177\u6709\u985E\u578B ID \u7684\u5C6C\u6027 \"{1}\"\uFF0C\u4E0D\u5141\u8A31\u8A72\u985E\u578B ID \u7684\u7B2C\u4E8C\u500B\u5C6C\u6027 \"{2}\"\u3002
- MSG_MORE_THAN_ONE_NOTATION_ATTRIBUTE = \u5143\u7D20\u985E\u578B \"{0}\" \u5DF2\u7D93\u5177\u6709\u985E\u578B NOTATION \u7684\u5C6C\u6027 \"{1}\"\uFF0C\u4E0D\u5141\u8A31\u8A72\u985E\u578B NOTATION \u7684\u7B2C\u4E8C\u500B\u5C6C\u6027 \"{2}\"\u3002
- MSG_NOTATION_NOT_DECLARED_FOR_NOTATIONTYPE_ATTRIBUTE = \u82E5\u8981\u5728\u5C6C\u6027 \"{0}\" \u7684\u8868\u793A\u6CD5\u985E\u578B\u6E05\u55AE\u4E2D\u53C3\u7167\u8868\u793A\u6CD5 \"{1}\"\uFF0C\u5FC5\u9808\u4E88\u4EE5\u5BA3\u544A\u3002
- MSG_NOTATION_NOT_DECLARED_FOR_UNPARSED_ENTITYDECL = \u82E5\u8981\u5728 \"{0}\" \u7684\u672A\u5256\u6790\u500B\u9AD4\u5BA3\u544A\u4E2D\u53C3\u7167\u8868\u793A\u6CD5 \"{1}\"\uFF0C\u5FC5\u9808\u4E88\u4EE5\u5BA3\u544A\u3002
- MSG_REFERENCE_TO_EXTERNALLY_DECLARED_ENTITY_WHEN_STANDALONE = \u5728\u7368\u7ACB\u6587\u4EF6\u4E2D\uFF0C\u4E0D\u5141\u8A31\u53C3\u7167\u5916\u90E8\u5256\u6790\u500B\u9AD4\u4E2D\u5BA3\u544A\u7684\u500B\u9AD4 \"{0}\"\u3002
- MSG_REQUIRED_ATTRIBUTE_NOT_SPECIFIED = \u5143\u7D20\u985E\u578B \"{0}\" \u9700\u8981\u5C6C\u6027 \"{1}\" \u4E14\u5FC5\u9808\u4E88\u4EE5\u6307\u5B9A\u3002
- MSG_WHITE_SPACE_IN_ELEMENT_CONTENT_WHEN_STANDALONE = \u5728\u7368\u7ACB\u6587\u4EF6\u4E2D\uFF0C\u5177\u6709\u5143\u7D20\u5167\u5BB9\u7684\u5916\u90E8\u5256\u6790\u500B\u9AD4\u4E2D\u5BA3\u544A\u7684\u5143\u7D20\u4E4B\u9593\uFF0C\u4E0D\u53EF\u6709\u7A7A\u683C\u3002
- NMTOKENInvalid = \u985E\u578B NMTOKEN \u7684\u5C6C\u6027\u503C \"{0}\" \u5FC5\u9808\u662F\u540D\u7A31\u8A18\u865F\u3002
- NMTOKENSInvalid = \u985E\u578B NMTOKENS \u7684\u5C6C\u6027\u503C \"{0}\" \u5FC5\u9808\u662F\u4E00\u6216\u591A\u500B\u540D\u7A31\u8A18\u865F\u3002
- NoNotationOnEmptyElement = \u5BA3\u544A EMPTY \u7684\u5143\u7D20\u985E\u578B \"{0}\" \u4E0D\u53EF\u5BA3\u544A\u985E\u578B NOTATION \u7684\u5C6C\u6027 \"{1}\"\u3002
- RootElementTypeMustMatchDoctypedecl = \u6587\u4EF6\u6839\u5143\u7D20 \"{1}\" \u5FC5\u9808\u914D\u5C0D DOCTYPE \u6839 \"{0}\"\u3002
- UndeclaredElementInContentSpec = \u5143\u7D20 \"{0}\" \u7684\u5167\u5BB9\u6A21\u578B\u53C3\u7167\u672A\u5BA3\u544A\u7684\u5143\u7D20 \"{1}\"\u3002
- UniqueNotationName = \u8868\u793A\u6CD5 \"{0}\" \u7684\u5BA3\u544A\u4E26\u975E\u552F\u4E00\u3002\u6307\u5B9A\u7684 Name \u4E0D\u80FD\u5728\u4E00\u500B\u4EE5\u4E0A\u7684\u8868\u793A\u6CD5\u5BA3\u544A\u4E2D\u5BA3\u544A\u3002
+ MSG_ELEMENT_WITH_ID_REQUIRED = ID \u70BA "{0}" \u7684\u5143\u7D20\u5FC5\u9808\u51FA\u73FE\u5728\u6587\u4EF6\u4E2D\u3002
+ MSG_EXTERNAL_ENTITY_NOT_PERMITTED = \u7368\u7ACB\u6587\u4EF6\u4E2D\u4E0D\u5141\u8A31\u53C3\u7167\u5916\u90E8\u5BE6\u9AD4 "{0}"\u3002
+ MSG_FIXED_ATTVALUE_INVALID = \u5177\u6709\u503C "{2}" \u7684\u5C6C\u6027 "{1}" \u5FC5\u9808\u5177\u6709 "{3}" \u7684\u503C\u3002
+ MSG_MORE_THAN_ONE_ID_ATTRIBUTE = \u5143\u7D20\u985E\u578B "{0}" \u5DF2\u7D93\u5177\u6709\u985E\u578B ID \u7684\u5C6C\u6027 "{1}"\uFF0C\u4E0D\u5141\u8A31\u8A72\u985E\u578B ID \u7684\u7B2C\u4E8C\u500B\u5C6C\u6027 "{2}"\u3002
+ MSG_MORE_THAN_ONE_NOTATION_ATTRIBUTE = \u5143\u7D20\u985E\u578B "{0}" \u5DF2\u7D93\u5177\u6709\u985E\u578B NOTATION \u7684\u5C6C\u6027 "{1}"\uFF0C\u4E0D\u5141\u8A31\u8A72\u985E\u578B NOTATION \u7684\u7B2C\u4E8C\u500B\u5C6C\u6027 "{2}"\u3002
+ MSG_NOTATION_NOT_DECLARED_FOR_NOTATIONTYPE_ATTRIBUTE = \u82E5\u8981\u5728\u5C6C\u6027 "{0}" \u7684\u8868\u793A\u6CD5\u985E\u578B\u6E05\u55AE\u4E2D\u53C3\u7167\u8868\u793A\u6CD5 "{1}"\uFF0C\u5FC5\u9808\u4E88\u4EE5\u5BA3\u544A\u3002
+ MSG_NOTATION_NOT_DECLARED_FOR_UNPARSED_ENTITYDECL = \u82E5\u8981\u5728 "{0}" \u7684\u672A\u5256\u6790\u5BE6\u9AD4\u5BA3\u544A\u4E2D\u53C3\u7167\u8868\u793A\u6CD5 "{1}"\uFF0C\u5FC5\u9808\u4E88\u4EE5\u5BA3\u544A\u3002
+ MSG_REFERENCE_TO_EXTERNALLY_DECLARED_ENTITY_WHEN_STANDALONE = \u5728\u7368\u7ACB\u6587\u4EF6\u4E2D\uFF0C\u4E0D\u5141\u8A31\u53C3\u7167\u5916\u90E8\u5256\u6790\u5BE6\u9AD4\u4E2D\u5BA3\u544A\u7684\u5BE6\u9AD4 "{0}"\u3002
+ MSG_REQUIRED_ATTRIBUTE_NOT_SPECIFIED = \u5143\u7D20\u985E\u578B "{0}" \u9700\u8981\u5C6C\u6027 "{1}" \u4E14\u5FC5\u9808\u4E88\u4EE5\u6307\u5B9A\u3002
+ MSG_WHITE_SPACE_IN_ELEMENT_CONTENT_WHEN_STANDALONE = \u5728\u7368\u7ACB\u6587\u4EF6\u4E2D\uFF0C\u5177\u6709\u5143\u7D20\u5167\u5BB9\u7684\u5916\u90E8\u5256\u6790\u5BE6\u9AD4\u4E2D\u5BA3\u544A\u7684\u5143\u7D20\u4E4B\u9593\uFF0C\u4E0D\u53EF\u6709\u7A7A\u683C\u3002
+ NMTOKENInvalid = \u985E\u578B NMTOKEN \u7684\u5C6C\u6027\u503C "{0}" \u5FC5\u9808\u662F\u540D\u7A31\u8A18\u865F\u3002
+ NMTOKENSInvalid = \u985E\u578B NMTOKENS \u7684\u5C6C\u6027\u503C "{0}" \u5FC5\u9808\u662F\u4E00\u6216\u591A\u500B\u540D\u7A31\u8A18\u865F\u3002
+ NoNotationOnEmptyElement = \u5BA3\u544A EMPTY \u7684\u5143\u7D20\u985E\u578B "{0}" \u4E0D\u53EF\u5BA3\u544A\u985E\u578B NOTATION \u7684\u5C6C\u6027 "{1}"\u3002
+ RootElementTypeMustMatchDoctypedecl = \u6587\u4EF6\u6839\u5143\u7D20 "{1}" \u5FC5\u9808\u914D\u5C0D DOCTYPE \u6839 "{0}"\u3002
+ UndeclaredElementInContentSpec = \u5143\u7D20 "{0}" \u7684\u5167\u5BB9\u6A21\u578B\u53C3\u7167\u672A\u5BA3\u544A\u7684\u5143\u7D20 "{1}"\u3002
+ UniqueNotationName = \u8868\u793A\u6CD5 "{0}" \u7684\u5BA3\u544A\u4E26\u975E\u552F\u4E00\u3002\u6307\u5B9A\u7684 Name \u4E0D\u80FD\u5728\u4E00\u500B\u4EE5\u4E0A\u7684\u8868\u793A\u6CD5\u5BA3\u544A\u4E2D\u5BA3\u544A\u3002
ENTITYFailedInitializeGrammar = ENTITYDatatype \u9A57\u8B49\u7A0B\u5F0F: \u5931\u6557\u3002\u9700\u8981\u4F7F\u7528\u6709\u6548\u7684\u6587\u6CD5\u53C3\u7167\u4F86\u547C\u53EB\u8D77\u59CB\u65B9\u6CD5\u3002 \t
- ENTITYNotUnparsed = ENTITY \"{0}\" \u4E26\u975E\u672A\u7D93\u5256\u6790\u3002
- ENTITYNotValid = ENTITY \"{0}\" \u7121\u6548\u3002
+ ENTITYNotUnparsed = ENTITY "{0}" \u4E26\u975E\u672A\u7D93\u5256\u6790\u3002
+ ENTITYNotValid = ENTITY "{0}" \u7121\u6548\u3002
EmptyList = \u985E\u578B ENTITIES\u3001IDREFS \u8207 NMTOKENS \u7684\u503C\u4E0D\u53EF\u70BA\u7A7A\u767D\u6E05\u55AE\u3002
# Entity related messages
# 3.1 Start-Tags, End-Tags, and Empty-Element Tags
- ReferenceToExternalEntity = \u5C6C\u6027\u503C\u4E0D\u5141\u8A31\u53C3\u7167\u5916\u90E8\u500B\u9AD4 \"&{0};\"\u3002
- AccessExternalDTD = External DTD: Failed to read external DTD ''{0}'', because ''{1}'' access is not allowed.
- AccessExternalEntity = External Entity: Failed to read external document ''{0}'', because ''{1}'' access is not allowed.
+ ReferenceToExternalEntity = \u5C6C\u6027\u503C\u4E0D\u5141\u8A31\u53C3\u7167\u5916\u90E8\u5BE6\u9AD4 "&{0};"\u3002
+ AccessExternalDTD = \u5916\u90E8 DTD: \u7121\u6CD5\u8B80\u53D6\u5916\u90E8 DTD ''{0}''\uFF0C\u56E0\u70BA\u4E0D\u5141\u8A31 ''{1}'' \u5B58\u53D6\u3002
+ AccessExternalEntity = \u5916\u90E8\u5BE6\u9AD4: \u7121\u6CD5\u8B80\u53D6\u5916\u90E8\u6587\u4EF6 ''{0}''\uFF0C\u56E0\u70BA\u4E0D\u5141\u8A31 ''{1}'' \u5B58\u53D6\u3002
# 4.1 Character and Entity References
- EntityNotDeclared = \u53C3\u7167\u4E86\u500B\u9AD4 \"{0}\"\uFF0C\u4F46\u662F\u672A\u5BA3\u544A\u3002
- ReferenceToUnparsedEntity = \u4E0D\u5141\u8A31\u672A\u5256\u6790\u7684\u500B\u9AD4\u53C3\u7167 \"&{0};\"\u3002
- RecursiveReference = \u905E\u8FF4\u500B\u9AD4\u53C3\u7167 \"{0}\"\u3002(\u53C3\u7167\u8DEF\u5F91: {1})\uFF0C
- RecursiveGeneralReference = \u905E\u8FF4\u4E00\u822C\u500B\u9AD4\u53C3\u7167 \"&{0};\"\u3002(\u53C3\u7167\u8DEF\u5F91: {1})\uFF0C
- RecursivePEReference = \u905E\u8FF4\u53C3\u6578\u500B\u9AD4\u53C3\u7167 \"%{0};\"\u3002(\u53C3\u7167\u8DEF\u5F91: {1})\uFF0C
+ EntityNotDeclared = \u53C3\u7167\u4E86\u5BE6\u9AD4 "{0}"\uFF0C\u4F46\u662F\u672A\u5BA3\u544A\u3002
+ ReferenceToUnparsedEntity = \u4E0D\u5141\u8A31\u672A\u5256\u6790\u7684\u5BE6\u9AD4\u53C3\u7167 "&{0};"\u3002
+ RecursiveReference = \u905E\u8FF4\u5BE6\u9AD4\u53C3\u7167 "{0}"\u3002(\u53C3\u7167\u8DEF\u5F91: {1})\uFF0C
+ RecursiveGeneralReference = \u905E\u8FF4\u4E00\u822C\u5BE6\u9AD4\u53C3\u7167 "&{0};"\u3002(\u53C3\u7167\u8DEF\u5F91: {1})\uFF0C
+ RecursivePEReference = \u905E\u8FF4\u53C3\u6578\u5BE6\u9AD4\u53C3\u7167 "%{0};"\u3002(\u53C3\u7167\u8DEF\u5F91: {1})\uFF0C
# 4.3.3 Character Encoding in Entities
- EncodingNotSupported = \u4E0D\u652F\u63F4\u7DE8\u78BC \"{0}\"\u3002
- EncodingRequired = \u672A\u4F7F\u7528 UTF-8 \u6216 UTF-16 \u7DE8\u78BC\u7684\u5256\u6790\u500B\u9AD4\uFF0C\u5FC5\u9808\u5305\u542B\u7DE8\u78BC\u5BA3\u544A\u3002
+ EncodingNotSupported = \u4E0D\u652F\u63F4\u7DE8\u78BC "{0}"\u3002
+ EncodingRequired = \u672A\u4F7F\u7528 UTF-8 \u6216 UTF-16 \u7DE8\u78BC\u7684\u5256\u6790\u5BE6\u9AD4\uFF0C\u5FC5\u9808\u5305\u542B\u7DE8\u78BC\u5BA3\u544A\u3002
# Namespaces support
# 4. Using Qualified Names
IllegalQName = \u5143\u7D20\u6216\u5C6C\u6027\u4E0D\u7B26\u5408 QName \u7522\u751F: QName::=(NCName':')?NCName\u3002
- ElementXMLNSPrefix = \u5143\u7D20 \"{0}\" \u4E0D\u80FD\u4F7F\u7528 \"xmlns\" \u4F5C\u70BA\u524D\u7F6E\u78BC\u3002
- ElementPrefixUnbound = \u5143\u7D20 \"{1}\" \u7684\u524D\u7F6E\u78BC \"{0}\" \u672A\u9023\u7D50\u3002
- AttributePrefixUnbound = \u95DC\u806F\u5143\u7D20\u985E\u578B \"{0}\" \u4E4B\u5C6C\u6027 \"{1}\" \u7684\u524D\u7F6E\u78BC \"{2}\" \u672A\u9023\u7D50\u3002
- EmptyPrefixedAttName = \u5C6C\u6027 \"{0}\" \u7684\u503C\u7121\u6548\u3002\u524D\u7F6E\u7684\u547D\u540D\u7A7A\u9593\u9023\u7D50\u4E0D\u53EF\u70BA\u7A7A\u767D\u3002
- PrefixDeclared = \u672A\u5BA3\u544A\u547D\u540D\u7A7A\u9593\u524D\u7F6E\u78BC \"{0}\"\u3002
+ ElementXMLNSPrefix = \u5143\u7D20 "{0}" \u4E0D\u80FD\u4F7F\u7528 "xmlns" \u4F5C\u70BA\u524D\u7F6E\u78BC\u3002
+ ElementPrefixUnbound = \u5143\u7D20 "{1}" \u7684\u524D\u7F6E\u78BC "{0}" \u672A\u9023\u7D50\u3002
+ AttributePrefixUnbound = \u95DC\u806F\u5143\u7D20\u985E\u578B "{0}" \u4E4B\u5C6C\u6027 "{1}" \u7684\u524D\u7F6E\u78BC "{2}" \u672A\u9023\u7D50\u3002
+ EmptyPrefixedAttName = \u5C6C\u6027 "{0}" \u7684\u503C\u7121\u6548\u3002\u524D\u7F6E\u7684\u547D\u540D\u7A7A\u9593\u9023\u7D50\u4E0D\u53EF\u70BA\u7A7A\u767D\u3002
+ PrefixDeclared = \u672A\u5BA3\u544A\u547D\u540D\u7A7A\u9593\u524D\u7F6E\u78BC "{0}"\u3002
CantBindXMLNS = \u524D\u7F6E\u78BC "xmlns" \u7121\u6CD5\u660E\u78BA\u9023\u7D50\u4EFB\u4F55\u547D\u540D\u7A7A\u9593; "xmlns" \u7684\u547D\u540D\u7A7A\u9593\u4E5F\u7121\u6CD5\u660E\u78BA\u9023\u7D50\u4EFB\u4F55\u524D\u7F6E\u78BC\u3002
CantBindXML = \u524D\u7F6E\u78BC "xml" \u7121\u6CD5\u9023\u7D50\u4E00\u822C\u547D\u540D\u7A7A\u9593\u4E4B\u5916\u7684\u4EFB\u4F55\u547D\u540D\u7A7A\u9593; "xml" \u7684\u547D\u540D\u7A7A\u9593\u4E5F\u7121\u6CD5\u9023\u7D50 "xml" \u4E4B\u5916\u7684\u4EFB\u4F55\u547D\u540D\u7A7A\u9593\u3002
- MSG_ATT_DEFAULT_INVALID = \u7531\u65BC\u6B64\u5C6C\u6027\u985E\u578B\u7684\u8A9E\u5F59\u9650\u5236\u689D\u4EF6\uFF0C\u5C6C\u6027 \"{0}\" \u7684 defaultValue \"{1}\" \u7121\u6548\u3002
+ MSG_ATT_DEFAULT_INVALID = \u7531\u65BC\u6B64\u5C6C\u6027\u985E\u578B\u7684\u8A9E\u5F59\u9650\u5236\u689D\u4EF6\uFF0C\u5C6C\u6027 "{0}" \u7684 defaultValue "{1}" \u7121\u6548\u3002
# REVISIT: These need messages
MSG_SPACE_REQUIRED_AFTER_SYSTEMLITERAL_IN_EXTERNALID=MSG_SPACE_REQUIRED_AFTER_SYSTEMLITERAL_IN_EXTERNALID
@@ -321,7 +318,7 @@
#Application can set the limit of number of entities that should be expanded by the parser.
-EntityExpansionLimitExceeded=\u5256\u6790\u5668\u5728\u6B64\u6587\u4EF6\u4E2D\u906D\u9047 \"{0}\" \u500B\u4EE5\u4E0A\u7684\u500B\u9AD4\u64F4\u5145; \u6B64\u70BA\u61C9\u7528\u7A0B\u5F0F\u6240\u898F\u5B9A\u7684\u9650\u5236\u3002
+EntityExpansionLimitExceeded=\u5256\u6790\u5668\u5728\u6B64\u6587\u4EF6\u4E2D\u906D\u9047 "{0}" \u500B\u4EE5\u4E0A\u7684\u5BE6\u9AD4\u64F4\u5145; \u6B64\u70BA\u61C9\u7528\u7A0B\u5F0F\u6240\u898F\u5B9A\u7684\u9650\u5236\u3002
# Application can set the limit of number of attributes of entity that should be expanded by the parser.
-ElementAttributeLimit= \u5143\u7D20 \"{0}\" \u5177\u6709\u8D85\u904E \"{1}\" \u500B\u4EE5\u4E0A\u7684\u5C6C\u6027\uFF0C\"{1}\" \u70BA\u61C9\u7528\u7A0B\u5F0F\u6240\u898F\u5B9A\u7684\u9650\u5236\u3002
+ElementAttributeLimit= \u5143\u7D20 "{0}" \u5177\u6709\u8D85\u904E "{1}" \u500B\u4EE5\u4E0A\u7684\u5C6C\u6027\uFF0C"{1}" \u70BA\u61C9\u7528\u7A0B\u5F0F\u6240\u898F\u5B9A\u7684\u9650\u5236\u3002
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages.properties
index 23234a4bf61..d986140a86e 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages.properties
@@ -86,7 +86,7 @@
#schema valid (3.X.3)
- schema_reference.access = schema_reference: Failed to read schema document ''{0}'', because ''{1}'' access is not allowed.
+ schema_reference.access = schema_reference: Failed to read schema document ''{0}'', because ''{1}'' access is not allowed due to restriction set by the accessExternalSchema property.
schema_reference.4 = schema_reference.4: Failed to read schema document ''{0}'', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not .
src-annotation = src-annotation: elements can only contain and elements, but ''{0}'' was found.
src-attribute.1 = src-attribute.1: The properties ''default'' and ''fixed'' cannot both be present in attribute declaration ''{0}''. Use only one of them.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_de.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_de.properties
index eed78fb7577..b591da69fdf 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_de.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_de.properties
@@ -1,35 +1,32 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file contains error and warning messages related to XML Schema
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: XMLSchemaMessages_de.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: XMLSchemaMessages_de.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 01:16:51 gmolloy Exp $
BadMessageKey = Die zum Meldungsschl\u00FCssel geh\u00F6rige Fehlermeldung kann nicht gefunden werden.
FormatFailed = Beim Formatieren der folgenden Meldung ist ein interner Fehler aufgetreten:\n
@@ -42,20 +39,20 @@
# Identity constraints
- AbsentKeyValue = Identity Constraint-Fehler (cvc-identity-constraint.4.2.1): Element \"{0}\" hat einen Schl\u00FCssel ohne Wert.
- DuplicateField = Doppelte \u00DCbereinstimmung in Geltungsbereich f\u00FCr Feld \"{0}\".
- DuplicateKey = Doppelter Schl\u00FCsselwert [{0}] f\u00FCr Identity Constraint des Elements \"{1}\" deklariert.
- DuplicateUnique = Doppelter eindeutiger Wert [{0}] f\u00FCr Identity Constraint des Elements \"{1}\" deklariert.
- FieldMultipleMatch = Identity Constraint-Fehler: Feld \"{0}\" entspricht mehreren Werten im Geltungsbereich seines Selectors. Felder m\u00FCssen eindeutigen Werten entsprechen.
- FixedDiffersFromActual = Content dieses Elements entspricht nicht dem Wert des \"fixed\"-Attributs in der Elementdeklaration im Schema.
- KeyMatchesNillable = Identity Constraint-Fehler (cvc-identity-constraint.4.2.3): Element \"{0}\" hat einen Schl\u00FCssel, der einem Element entspricht, bei dem "nillable" auf "true" gesetzt wurde.
- KeyNotEnoughValues = Nicht gen\u00FCgend Werte angegeben f\u00FCr Identity Constraint f\u00FCr Element \"{0}\".
+ AbsentKeyValue = Identity Constraint-Fehler (cvc-identity-constraint.4.2.1): Element "{0}" hat einen Schl\u00FCssel ohne Wert.
+ DuplicateField = Doppelte \u00DCbereinstimmung in Geltungsbereich f\u00FCr Feld "{0}".
+ DuplicateKey = Doppelter Schl\u00FCsselwert [{0}] f\u00FCr Identity Constraint des Elements "{1}" deklariert.
+ DuplicateUnique = Doppelter eindeutiger Wert [{0}] f\u00FCr Identity Constraint des Elements "{1}" deklariert.
+ FieldMultipleMatch = Identity Constraint-Fehler: Feld "{0}" entspricht mehreren Werten im Geltungsbereich seines Selectors. Felder m\u00FCssen eindeutigen Werten entsprechen.
+ FixedDiffersFromActual = Content dieses Elements entspricht nicht dem Wert des "fixed"-Attributs in der Elementdeklaration im Schema.
+ KeyMatchesNillable = Identity Constraint-Fehler (cvc-identity-constraint.4.2.3): Element "{0}" hat einen Schl\u00FCssel, der einem Element entspricht, bei dem "nillable" auf "true" gesetzt wurde.
+ KeyNotEnoughValues = Nicht gen\u00FCgend Werte angegeben f\u00FCr Identity Constraint f\u00FCr Element "{0}".
KeyNotFound = Schl\u00FCssel "{0}" mit Wert "{1}" nicht gefunden f\u00FCr Identity Constraint des Elements "{2}".
- KeyRefNotEnoughValues = Nicht gen\u00FCgend Werte angegeben f\u00FCr Identity Constraint f\u00FCr Element \"{0}\".
- KeyRefOutOfScope = Identity Constraint-Fehler: Identity Constraint \"{0}\" hat eine keyref, die zu einem Key- oder Unique-Constraint au\u00DFerhalb des Geltungsbereichs verweist.
- KeyRefReferNotFound = Schl\u00FCsselreferenzdeklaration \"{0}\" verweist auf einen unbekannten Schl\u00FCssel mit dem Namen \"{1}\".
- UniqueNotEnoughValues = Nicht gen\u00FCgend Werte angegeben f\u00FCr Identity Constraint f\u00FCr Element \"{0}\".
- UnknownField = Interner Identity Constraint-Fehler. Unbekanntes Feld \"{0}\".
+ KeyRefNotEnoughValues = Nicht gen\u00FCgend Werte angegeben f\u00FCr Identity Constraint f\u00FCr Element "{0}".
+ KeyRefOutOfScope = Identity Constraint-Fehler: Identity Constraint "{0}" hat eine keyref, die zu einem Key- oder Unique-Constraint au\u00DFerhalb des Geltungsbereichs verweist.
+ KeyRefReferNotFound = Schl\u00FCsselreferenzdeklaration "{0}" verweist auf einen unbekannten Schl\u00FCssel mit dem Namen "{1}".
+ UniqueNotEnoughValues = Nicht gen\u00FCgend Werte angegeben f\u00FCr Identity Constraint f\u00FCr Element "{0}".
+ UnknownField = Interner Identity Constraint-Fehler. Unbekanntes Feld "{0}".
# Ideally, we should only use the following error keys, not the ones under
# "Identity constraints". And we should cover all of the following errors.
@@ -114,7 +111,7 @@
#schema valid (3.X.3)
- schema_reference.access = schema_reference: Failed to read schema document ''{0}'', because ''{1}'' access is not allowed.
+ schema_reference.access = schema_reference: Lesen von Schema-Dokument "{0}" nicht erfolgreich, da "{1}"-Zugriff nicht zul\u00E4ssig ist.
schema_reference.4 = schema_reference.4: Schemadokument "{0}" konnte nicht gelesen werden, da 1) das Dokument nicht gefunden werden konnte; 2) das Dokument nicht gelesen werden konnte; 3) das Root-Element des Dokuments nicht ist.
src-annotation = src-annotation: -Elemente k\u00F6nnen nur - und -Elemente enthalten, aber es wurde "{0}" gefunden.
src-attribute.1 = src-attribute.1: Die Eigenschaften "default" und "fixed" k\u00F6nnen nicht beide in der Attributdeklaration "{0}" vorhanden sein. Verwenden Sie nur eine dieser Eigenschaften.
@@ -181,7 +178,7 @@
cos-ct-extends.1.4.3.2.2.1.b = cos-ct-extends.1.4.3.2.2.1.b: Der Contenttyp eines abgeleiteten Typs und der seiner Basis m\u00FCssen beide "mixed" oder "element-only" sein. Typ "{0}" ist "mixed", aber sein Basistyp nicht.
cos-element-consistent = cos-element-consistent: Fehler bei Typ "{0}". Mehrere Elemente mit Namen "{1}" und unterschiedlichen Typen kommen in der Modellgruppe vor.
cos-list-of-atomic = cos-list-of-atomic: In der Definition von Listentyp "{0}" ist Typ "{1}" ein ung\u00FCltiger Listenelementtyp, da er nicht atomar ist ("{1}" ist entweder ein Listentyp oder ein Vereinigungsmengentyp, der eine Liste enth\u00E4lt).
- cos-nonambig = cos-nonambig: {0} und {1} (oder Elemente aus ihrer Substitutionsgruppe) verletzen \"Unique Particle Attribution\". Bei der Validierung f\u00FCr dieses Schema w\u00FCrde eine Mehrdeutigkeit f\u00FCr diese beiden Partikel erstellt.
+ cos-nonambig = cos-nonambig: {0} und {1} (oder Elemente aus ihrer Substitutionsgruppe) verletzen "Unique Particle Attribution". Bei der Validierung f\u00FCr dieses Schema w\u00FCrde eine Mehrdeutigkeit f\u00FCr diese beiden Partikel erstellt.
cos-particle-restrict.a = cos-particle-restrict.a: Abgeleitetes Partikel ist leer, und die Basis kann nicht geleert werden.
cos-particle-restrict.b = cos-particle-restrict.b: Basispartikel ist leer, aber das abgeleitete Partikel ist nicht leer.
cos-particle-restrict.2 = cos-particle-restrict.2: Unzul\u00E4ssige Partikeleinschr\u00E4nkung: "{0}".
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_es.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_es.properties
index b5e6560e957..dc6d6a24f21 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_es.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_es.properties
@@ -1,35 +1,32 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file contains error and warning messages related to XML Schema
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: XMLSchemaMessages_es.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: XMLSchemaMessages_es.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 05:10:53 gmolloy Exp $
BadMessageKey = No se ha encontrado el mensaje de error correspondiente a la clave de mensaje.
FormatFailed = Se ha producido un error interno al formatear el siguiente mensaje:\n
@@ -42,20 +39,20 @@
# Identity constraints
- AbsentKeyValue = Error de restricci\u00F3n de identidad (cvc-identity-constraint.4.2.1): el elemento \"{0}\" tiene una clave sin valor.
- DuplicateField = Coincidencia duplicada en \u00E1mbito del campo \"{0}\".
- DuplicateKey = Valor de clave duplicado [{0}] declarado para la restricci\u00F3n de identidad del elemento \"{1}\".
- DuplicateUnique = Valor \u00FAnico duplicado [{0}] declarado para la restricci\u00F3n de identidad del elemento \"{1}\".
- FieldMultipleMatch = Error de restricci\u00F3n de identidad: el campo \"{0}\" coincide con m\u00E1s de un valor en el \u00E1mbito de su selector; los campos deben coincidir con valores \u00FAnicos.
- FixedDiffersFromActual = El contenido de este elemento no es equivalente al valor del atributo \"fixed\" en la declaraci\u00F3n del elemento del esquema.
- KeyMatchesNillable = Error de restricci\u00F3n de identidad (cvc-identity-constraint.4.2.3): el elemento \"{0}\" tiene una clave que coincide con un elemento cuyo valor de Permite Nill est\u00E1 definido en true.
- KeyNotEnoughValues = No se han especificado suficientes valores para la restricci\u00F3n de identidad especificada para el elemento \"{0}\".
+ AbsentKeyValue = Error de restricci\u00F3n de identidad (cvc-identity-constraint.4.2.1): el elemento "{0}" tiene una clave sin valor.
+ DuplicateField = Coincidencia duplicada en \u00E1mbito del campo "{0}".
+ DuplicateKey = Valor de clave duplicado [{0}] declarado para la restricci\u00F3n de identidad del elemento "{1}".
+ DuplicateUnique = Valor \u00FAnico duplicado [{0}] declarado para la restricci\u00F3n de identidad del elemento "{1}".
+ FieldMultipleMatch = Error de restricci\u00F3n de identidad: el campo "{0}" coincide con m\u00E1s de un valor en el \u00E1mbito de su selector; los campos deben coincidir con valores \u00FAnicos.
+ FixedDiffersFromActual = El contenido de este elemento no es equivalente al valor del atributo "fixed" en la declaraci\u00F3n del elemento del esquema.
+ KeyMatchesNillable = Error de restricci\u00F3n de identidad (cvc-identity-constraint.4.2.3): el elemento "{0}" tiene una clave que coincide con un elemento cuyo valor de Permite Nill est\u00E1 definido en true.
+ KeyNotEnoughValues = No se han especificado suficientes valores para la restricci\u00F3n de identidad especificada para el elemento "{0}".
KeyNotFound = No se ha encontrado la clave ''{0}'' con el valor ''{1}'' para la restricci\u00F3n de identidad del elemento ''{2}''.
- KeyRefNotEnoughValues = No se han especificado suficientes valores para la restricci\u00F3n de identidad especificada para el elemento \"{0}\".
- KeyRefOutOfScope = Error de restricci\u00F3n de identidad: la restricci\u00F3n de identidad \"{0}\" tiene una referencia de clave que hace referencia a una clave o elemento \u00FAnico que se encuentra fuera de \u00E1mbito.
- KeyRefReferNotFound = La declaraci\u00F3n de referencia de clave \"{0}\" hace referencia a una clave desconocida con el nombre \"{1}\".
- UniqueNotEnoughValues = No se han especificado suficientes valores para la restricci\u00F3n de identidad especificada para el elemento \"{0}\".
- UnknownField = Error de restricci\u00F3n de identidad interno; campo desconocido \"{0}\".
+ KeyRefNotEnoughValues = No se han especificado suficientes valores para la restricci\u00F3n de identidad especificada para el elemento "{0}".
+ KeyRefOutOfScope = Error de restricci\u00F3n de identidad: la restricci\u00F3n de identidad "{0}" tiene una referencia de clave que hace referencia a una clave o elemento \u00FAnico que se encuentra fuera de \u00E1mbito.
+ KeyRefReferNotFound = La declaraci\u00F3n de referencia de clave "{0}" hace referencia a una clave desconocida con el nombre "{1}".
+ UniqueNotEnoughValues = No se han especificado suficientes valores para la restricci\u00F3n de identidad especificada para el elemento "{0}".
+ UnknownField = Error de restricci\u00F3n de identidad interno; campo desconocido "{0}".
# Ideally, we should only use the following error keys, not the ones under
# "Identity constraints". And we should cover all of the following errors.
@@ -114,7 +111,7 @@
#schema valid (3.X.3)
- schema_reference.access = schema_reference: Failed to read schema document ''{0}'', because ''{1}'' access is not allowed.
+ schema_reference.access = schema_reference: fallo al leer el documento de esquema ''{0}'' porque el acceso a ''{1}'' no est\u00E1 permitido.
schema_reference.4 = schema_reference.4: Fallo al leer el documento de esquema ''{0}'', porque 1) no se ha encontrado el documento; 2) no se ha podido leer el documento; 3) el elemento ra\u00EDz del documento no es .
src-annotation = src-annotation: Los elementos de s\u00F3lo pueden contener elementos de y , pero se ha encontrado ''{0}''.
src-attribute.1 = src-attribute.1: Las propiedades ''default'' y ''fixed'' no pueden estar presentes de forma simult\u00E1nea en la declaraci\u00F3n de atributo ''{0}''. Utilice s\u00F3lo una de ellas.
@@ -181,7 +178,7 @@
cos-ct-extends.1.4.3.2.2.1.b = cos-ct-extends.1.4.3.2.2.1.b: El tipo de contenido de un tipo derivado y el de su base deben ser mixtos o ser ambos s\u00F3lo de elemento. El tipo ''{0}'' es mixto, pero su tipo base no lo es.
cos-element-consistent = cos-element-consistent: Error para el tipo ''{0}''. Aparecen en el grupo de modelos varios elementos con el nombre ''{1}'' y con tipos diferentes.
cos-list-of-atomic = cos-list-of-atomic: En la definici\u00F3n de tipo de lista ''{0}'', el tipo ''{1}'' es un tipo de elemento de lista no v\u00E1lido porque no es at\u00F3mico (''{1}'' es un tipo de lista o un tipo de uni\u00F3n que contiene una lista).
- cos-nonambig = cos-nonambig: {0} y {1} (o los elementos de su grupo de sustituci\u00F3n) violan la \"atribuci\u00F3n de part\u00EDcula \u00FAnica\". Durante la validaci\u00F3n a partir de este esquema, se crear\u00E1 ambig\u00FCedad para estas dos part\u00EDculas.
+ cos-nonambig = cos-nonambig: {0} y {1} (o los elementos de su grupo de sustituci\u00F3n) violan la "atribuci\u00F3n de part\u00EDcula \u00FAnica". Durante la validaci\u00F3n a partir de este esquema, se crear\u00E1 ambig\u00FCedad para estas dos part\u00EDculas.
cos-particle-restrict.a = cos-particle-restrict.a: La part\u00EDcula derivada est\u00E1 vac\u00EDa y la base no se puede vaciar.
cos-particle-restrict.b = cos-particle-restrict.b: La part\u00EDcula base est\u00E1 vac\u00EDa, pero la part\u00EDcula derivada no.
cos-particle-restrict.2 = cos-particle-restrict.2: Restricci\u00F3n de part\u00EDcula prohibida: ''{0}''.
@@ -310,7 +307,7 @@
EmptyTargetNamespace = EmptyTargetNamespace: En el documento de esquema ''{0}'', el valor del atributo ''targetNamespace'' no puede ser una cadena vac\u00EDa.
FacetValueFromBase = FacetValueFromBase: En la declaraci\u00F3n de tipo ''{0}'', el valor ''{1}'' de la faceta ''{2}'' debe proceder del espacio reservado para el valor del tipo base, ''{3}''.
FixedFacetValue = FixedFacetValue: En la definici\u00F3n de {3}, el valor ''{1}'' para la faceta ''{0}'' no es v\u00E1lido porque el valor de ''{0}'' se ha definido en ''{2}'' en uno de los tipos de ascendientes y ''{''fixed''}'' = true.
- InvalidRegex = InvalidRegex: El valor del patr\u00F3n ''{0}'' no es una expresi\u00F3n normal v\u00E1lida. El error registrado ha sido: ''{1}'' en la columna ''{2}''.
+ InvalidRegex = InvalidRegex: El valor del patr\u00F3n ''{0}'' no es una expresi\u00F3n regular v\u00E1lida. El error registrado ha sido: ''{1}'' en la columna ''{2}''.
maxOccurLimit = La configuraci\u00F3n actual del analizador no permite que la definici\u00F3n del valor del atributo maxOccurs sea mayor que {0}.
PublicSystemOnNotation = PublicSystemOnNotation: Al menos un valor de ''public'' y ''system'' debe aparecer en el elemento ''notation''.
SchemaLocation = SchemaLocation: El valor de schemaLocation = ''{0}'' debe tener un n\u00FAmero par de URI.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_fr.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_fr.properties
index f3c3156d7c3..46f840f4746 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_fr.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_fr.properties
@@ -1,35 +1,32 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file contains error and warning messages related to XML Schema
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: XMLSchemaMessages_fr.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: XMLSchemaMessages_fr.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 02:16:52 gmolloy Exp $
BadMessageKey = Le message d'erreur correspondant \u00E0 la cl\u00E9 de message est introuvable.
FormatFailed = Une erreur interne est survenue lors du formatage du message suivant :\n
@@ -42,20 +39,20 @@
# Identity constraints
- AbsentKeyValue = Erreur de contrainte d''identit\u00E9 (cvc-identity-constraint.4.2.1) : l''\u00E9l\u00E9ment \"{0}\" a une cl\u00E9 sans valeur.
- DuplicateField = Correspondance en double dans la port\u00E9e du champ \"{0}\".
- DuplicateKey = Valeur de cl\u00E9 en double [{0}] d\u00E9clar\u00E9e pour la contrainte d''identit\u00E9 de l''\u00E9l\u00E9ment \"{1}\".
- DuplicateUnique = Valeur unique en double [{0}] d\u00E9clar\u00E9e pour la contrainte d''identit\u00E9 de l''\u00E9l\u00E9ment \"{1}\".
- FieldMultipleMatch = Erreur de contrainte d''identit\u00E9 : le champ \"{0}\" concorde avec plusieurs valeurs dans la port\u00E9e de son s\u00E9lecteur. Les champs doivent concorder avec des valeurs uniques.
- FixedDiffersFromActual = Le contenu de l'\u00E9l\u00E9ment n'\u00E9quivaut pas \u00E0 la valeur de l'attribut \"fixed\" dans la d\u00E9claration de l'\u00E9l\u00E9ment du sch\u00E9ma.
- KeyMatchesNillable = Erreur de contrainte d''identit\u00E9 (cvc-identity-constraint.4.2.3) : l''\u00E9l\u00E9ment \"{0}\" a une cl\u00E9 qui concorde avec un \u00E9l\u00E9ment dont l''attribut nillable a la valeur True.
- KeyNotEnoughValues = Le nombre de valeurs indiqu\u00E9es pour la contrainte d''identit\u00E9 de l''\u00E9l\u00E9ment \"{0}\" est insuffisant.
+ AbsentKeyValue = Erreur de contrainte d''identit\u00E9 (cvc-identity-constraint.4.2.1) : l''\u00E9l\u00E9ment "{0}" a une cl\u00E9 sans valeur.
+ DuplicateField = Correspondance en double dans la port\u00E9e du champ "{0}".
+ DuplicateKey = Valeur de cl\u00E9 en double [{0}] d\u00E9clar\u00E9e pour la contrainte d''identit\u00E9 de l''\u00E9l\u00E9ment "{1}".
+ DuplicateUnique = Valeur unique en double [{0}] d\u00E9clar\u00E9e pour la contrainte d''identit\u00E9 de l''\u00E9l\u00E9ment "{1}".
+ FieldMultipleMatch = Erreur de contrainte d''identit\u00E9 : le champ "{0}" concorde avec plusieurs valeurs dans la port\u00E9e de son s\u00E9lecteur ; les champs doivent concorder avec des valeurs uniques.
+ FixedDiffersFromActual = Le contenu de l'\u00E9l\u00E9ment n'\u00E9quivaut pas \u00E0 la valeur de l'attribut "fixed" dans la d\u00E9claration de l'\u00E9l\u00E9ment du sch\u00E9ma.
+ KeyMatchesNillable = Erreur de contrainte d''identit\u00E9 (cvc-identity-constraint.4.2.3) : l''\u00E9l\u00E9ment "{0}" a une cl\u00E9 qui concorde avec un \u00E9l\u00E9ment dont l''attribut nillable a la valeur True.
+ KeyNotEnoughValues = Le nombre de valeurs indiqu\u00E9es pour la contrainte d''identit\u00E9 de l''\u00E9l\u00E9ment "{0}" est insuffisant.
KeyNotFound = La cl\u00E9 ''{0}'' ayant la valeur ''{1}'' est introuvable pour la contrainte d''identit\u00E9 de l''\u00E9l\u00E9ment ''{2}''.
- KeyRefNotEnoughValues = Le nombre de valeurs indiqu\u00E9es pour la contrainte d''identit\u00E9 de l''\u00E9l\u00E9ment \"{0}\" est insuffisant.
- KeyRefOutOfScope = Erreur de contrainte d''identit\u00E9 : la contrainte d''identit\u00E9 \"{0}\" comporte une r\u00E9f\u00E9rence keyref se rapportant \u00E0 une cl\u00E9 ou \u00E0 une valeur unique hors port\u00E9e.
- KeyRefReferNotFound = La d\u00E9claration de r\u00E9f\u00E9rence de cl\u00E9 \"{0}\" se rapporte \u00E0 une cl\u00E9 inconnue portant le nom \"{1}\".
- UniqueNotEnoughValues = Le nombre de valeurs indiqu\u00E9es pour la contrainte d''identit\u00E9 de l''\u00E9l\u00E9ment \"{0}\" est insuffisant.
- UnknownField = Erreur de contrainte d''identit\u00E9 interne ; champ inconnu \"{0}\".
+ KeyRefNotEnoughValues = Le nombre de valeurs indiqu\u00E9es pour la contrainte d''identit\u00E9 de l''\u00E9l\u00E9ment "{0}" est insuffisant.
+ KeyRefOutOfScope = Erreur de contrainte d''identit\u00E9 : la contrainte d''identit\u00E9 "{0}" comporte une r\u00E9f\u00E9rence keyref se rapportant \u00E0 une cl\u00E9 ou \u00E0 une valeur unique hors port\u00E9e.
+ KeyRefReferNotFound = La d\u00E9claration de r\u00E9f\u00E9rence de cl\u00E9 "{0}" se rapporte \u00E0 une cl\u00E9 inconnue portant le nom "{1}".
+ UniqueNotEnoughValues = Le nombre de valeurs indiqu\u00E9es pour la contrainte d''identit\u00E9 de l''\u00E9l\u00E9ment "{0}" est insuffisant.
+ UnknownField = Erreur de contrainte d''identit\u00E9 interne ; champ inconnu "{0}".
# Ideally, we should only use the following error keys, not the ones under
# "Identity constraints". And we should cover all of the following errors.
@@ -68,7 +65,7 @@
cvc-complex-type.2.2 = cvc-complex-type.2.2 : L''\u00E9l\u00E9ment ''{0}'' ne doit comporter aucun enfant ([children]) de type \u00E9l\u00E9ment et la valeur doit \u00EAtre valide.
cvc-complex-type.2.3 = cvc-complex-type.2.3 : L''\u00E9l\u00E9ment ''{0}'' ne doit comporter aucun enfant ([children]) de type caract\u00E8re, car le type porte le type de contenu "element-only".
cvc-complex-type.2.4.a = cvc-complex-type.2.4.a : Contenu non valide trouv\u00E9 \u00E0 partir de l''\u00E9l\u00E9ment ''{0}''. L''une des valeurs ''{1}'' est attendue.
- cvc-complex-type.2.4.b = cvc-complex-type.2.4.b : Le contenu de l''\u00E9l\u00E9ment "{0}" n''est pas complet. L''une des valeurs "{1}" est attendue.
+ cvc-complex-type.2.4.b = cvc-complex-type.2.4.b : Le contenu de l''\u00E9l\u00E9ment ''{0}'' n''est pas complet. L''un des \u00E9l\u00E9ments ''{1}'' est attendu.
cvc-complex-type.2.4.c = cvc-complex-type.2.4.c : Le caract\u00E8re g\u00E9n\u00E9rique concordant est strict, mais aucune d\u00E9claration ne peut \u00EAtre trouv\u00E9e pour l''\u00E9l\u00E9ment ''{0}''.
cvc-complex-type.2.4.d = cvc-complex-type.2.4.d : Contenu non valide trouv\u00E9 \u00E0 partir de l''\u00E9l\u00E9ment ''{0}''. Aucun \u00E9l\u00E9ment enfant n''est attendu \u00E0 cet endroit.
cvc-complex-type.2.4.e = cvc-complex-type.2.4.d : Contenu non valide trouv\u00E9 \u00E0 partir de l''\u00E9l\u00E9ment ''{0}''. Aucun \u00E9l\u00E9ment enfant ''{1}'' n''est attendu \u00E0 cet endroit.
@@ -79,8 +76,8 @@
cvc-complex-type.5.1 = cvc-complex-type.5.1 : Dans l''\u00E9l\u00E9ment ''{0}'', l''attribut ''{1}'' est un ID g\u00E9n\u00E9rique. Or, il existe d\u00E9j\u00E0 un ID g\u00E9n\u00E9rique ''{2}''. Il ne peut en exister qu''un seul.
cvc-complex-type.5.2 = cvc-complex-type.5.2 : Dans l''\u00E9l\u00E9ment ''{0}'', l''attribut ''{1}'' est un ID g\u00E9n\u00E9rique. Or, il existe d\u00E9j\u00E0 un attribut ''{2}'' d\u00E9riv\u00E9 de l''ID dans ''{''attribute uses''}''.
cvc-datatype-valid.1.2.1 = cvc-datatype-valid.1.2.1 : ''{0}'' n''est pas une valeur valide pour ''{1}''.
- cvc-datatype-valid.1.2.2 = cvc-datatype-valid.1.2.2 : ''{0}'' n''est pas une valeur valide pour le type de liste ''{1}''.
- cvc-datatype-valid.1.2.3 = cvc-datatype-valid.1.2.3 : ''{0}'' n''est pas une valeur valide pour le type d''union ''{1}''.
+ cvc-datatype-valid.1.2.2 = cvc-datatype-valid.1.2.2 : ''{0}'' n''est pas une valeur valide du type de liste ''{1}''.
+ cvc-datatype-valid.1.2.3 = cvc-datatype-valid.1.2.3 : ''{0}'' n''est pas une valeur valide du type d''union ''{1}''.
cvc-elt.1 = cvc-elt.1 : D\u00E9claration de l''\u00E9l\u00E9ment ''{0}'' introuvable.
cvc-elt.2 = cvc-elt.2 : La valeur de l''attribut ''{''abstract''}'' dans la d\u00E9claration de l''\u00E9l\u00E9ment pour ''{0}'' doit \u00EAtre False.
cvc-elt.3.1 = cvc-elt.3.1 : L''attribut ''{1}'' ne doit pas figurer dans l''\u00E9l\u00E9ment ''{0}'', car la propri\u00E9t\u00E9 ''{''nillable''}'' de ''{0}'' est False.
@@ -114,7 +111,7 @@
#schema valid (3.X.3)
- schema_reference.access = schema_reference: Failed to read schema document ''{0}'', because ''{1}'' access is not allowed.
+ schema_reference.access = schema_reference : \u00E9chec de la lecture du document de sch\u00E9ma ''{0}'', car l''acc\u00E8s ''{1}'' n''est pas autoris\u00E9.
schema_reference.4 = schema_reference.4 : Echec de la lecture du document de sch\u00E9ma ''{0}'' pour les raisons suivantes : 1) Le document est introuvable ; 2) Le document n''a pas pu \u00EAtre lu ; 3) L''\u00E9l\u00E9ment racine du document n''est pas .
src-annotation = src-annotation : Les \u00E9l\u00E9ments ne peuvent contenir que des \u00E9l\u00E9ments et , mais ''{0}'' a \u00E9t\u00E9 trouv\u00E9.
src-attribute.1 = src-attribute.1 : Les propri\u00E9t\u00E9s ''default'' et ''fixed'' ne peuvent pas figurer simultan\u00E9ment dans la d\u00E9claration d''attribut ''{0}''. Utilisez uniquement l''une d''entre elles.
@@ -130,7 +127,7 @@
src-ct.4 = src-ct.4 : Erreur de repr\u00E9sentation de la d\u00E9finition de type complexe pour le type ''{0}''. L''intersection de caract\u00E8res g\u00E9n\u00E9riques ne peut pas \u00EAtre exprim\u00E9e.
src-ct.5 = src-ct.5 : Erreur de repr\u00E9sentation de la d\u00E9finition de type complexe pour le type ''{0}''. L''union de caract\u00E8res g\u00E9n\u00E9riques ne peut pas \u00EAtre exprim\u00E9e.
src-element.1 = src-element.1 : Les propri\u00E9t\u00E9s ''default'' et ''fixed'' ne peuvent pas figurer simultan\u00E9ment dans la d\u00E9claration d''\u00E9l\u00E9ment ''{0}''. Utilisez uniquement l''une d''entre elles.
- src-element.2.1 = src-element.2.1 : 'ref' ou 'name' doit figurer dans les d\u00E9clarations d''\u00E9l\u00E9ment local.
+ src-element.2.1 = src-element.2.1 : 'ref' ou 'name' doit figurer dans les d\u00E9clarations d'\u00E9l\u00E9ment local.
src-element.2.2 = src-element.2.2 : Puisque ''{0}'' contient l''attribut ''ref'', son contenu doit concorder avec (annotation?). Cependant, ''{1}'' a \u00E9t\u00E9 trouv\u00E9.
src-element.3 = src-element.3 : L''\u00E9l\u00E9ment ''{0}'' pr\u00E9sente un attribut ''type'' et un enfant ''anonymous type''. Seul un d''entre eux est autoris\u00E9 dans un \u00E9l\u00E9ment.
src-import.1.1 = src-import.1.1 : L''attribut namespace "{0}" d''un \u00E9l\u00E9ment d''information d''\u00E9l\u00E9ment ne doit pas \u00EAtre identique \u00E0 l''attribut targetNamespace du sch\u00E9ma dans lequel il figure.
@@ -180,12 +177,12 @@
cos-ct-extends.1.4.3.2.2.1.a = cos-ct-extends.1.4.3.2.2.1.a : Le type de contenu d''un type d\u00E9riv\u00E9 et celui de sa base doivent tous les deux \u00EAtre mixtes (mixed) ou \u00E9l\u00E9ment uniquement (element-only). Le type ''{0}'' est \u00E9l\u00E9ment uniquement, mais le type de sa base ne l''est pas.
cos-ct-extends.1.4.3.2.2.1.b = cos-ct-extends.1.4.3.2.2.1.b : Le type de contenu d''un type d\u00E9riv\u00E9 et celui de sa base doivent tous les deux \u00EAtre mixtes (mixed) ou \u00E9l\u00E9ment uniquement (element-only). Le type ''{0}'' est mixte, mais le type de sa base ne l''est pas.
cos-element-consistent = cos-element-consistent : Erreur dans le type ''{0}''. Plusieurs \u00E9l\u00E9ments portant le nom ''{1}'', de divers types, figurent dans le groupe de mod\u00E8les.
- cos-list-of-atomic = cos-list-of-atomic : Dans la d\u00E9finition du type de liste ''{0}'', le type ''{1}'' est un type d''\u00E9l\u00E9ment de liste non valide car il n''est pas non d\u00E9composable (''{1}'' est un type de liste ou un type d''union contenant une liste).
+ cos-list-of-atomic = cos-list-of-atomic : Dans la d\u00E9finition du type de liste ''{0}'', le type ''{1}'' est un type d''\u00E9l\u00E9ment de liste non valide car il n''est pas atomique (''{1}'' est un type de liste ou un type d''union contenant une liste).
cos-nonambig = cos-nonambig : {0} et {1} (ou des \u00E9l\u00E9ments de leur groupe de substitution) violent la r\u00E8gle d''attribution de particule unique (Unique Particle Attribution). Au cours de la validation par rapport \u00E0 ce sch\u00E9ma, ces deux particules peuvent devenir ambigu\u00EBs.
cos-particle-restrict.a = cos-particle-restrict.a : La particule d\u00E9riv\u00E9e est vide et la base ne peut pas \u00EAtre vide.
cos-particle-restrict.b = cos-particle-restrict.b : La particule de base est vide, mais la particule d\u00E9riv\u00E9e ne l'est pas.
cos-particle-restrict.2 = cos-particle-restrict.2 : Restriction de particule interdite : ''{0}''.
- cos-st-restricts.1.1 = cos-st-restricts.1.1 : Le type ''{1}'' \u00E9tant non d\u00E9composable, sa valeur ''{''base type definition''}'', ''{0}'', doit \u00EAtre une d\u00E9finition de type simple non d\u00E9composable ou un type de donn\u00E9es primitif int\u00E9gr\u00E9.
+ cos-st-restricts.1.1 = cos-st-restricts.1.1 : Le type ''{1}'' \u00E9tant non d\u00E9composable, sa valeur ''{''base type definition''}'', ''{0}'', doit \u00EAtre une d\u00E9finition de type simple atomique ou un type de donn\u00E9es primitif int\u00E9gr\u00E9.
cos-st-restricts.2.1 = cos-st-restricts.2.1 : Dans la d\u00E9finition du type de liste ''{0}'', le type ''{1}'' est un type d''\u00E9l\u00E9ment non valide car il s''agit d''un type de liste ou un type d''union contenant une liste.
cos-st-restricts.2.3.1.1 = cos-st-restricts.2.3.1.1 : Le composant ''{''final''}'' de la valeur ''{''item type definition''}'', ''{0}'', contient ''list''. Cela signifie que la valeur ''{0}'' ne peut pas \u00EAtre utilis\u00E9e en tant que type d''\u00E9l\u00E9ment pour le type de liste ''{1}''.
cos-st-restricts.3.3.1.1 = cos-st-restricts.3.3.1.1 : Le composant ''{''final''}'' de la valeur ''{''member type definitions''}'', ''{0}'', contient ''union''. Cela signifie que la valeur ''{0}'' ne peut pas \u00EAtre utilis\u00E9e en tant que type de membre pour le type d''union ''{1}''.
@@ -268,7 +265,7 @@
rcase-NSCompat.2 = rcase-NSCompat.2 : Erreur dans la particule o\u00F9 la valeur ''{''term''}'' est la d\u00E9claration d''\u00E9l\u00E9ment ''{0}''. Sa plage d''occurrences, ({1},{2}), n''est pas une restriction valide de la plage ({3},{4}) de la particule correspondante dans le type de base.
rcase-NSRecurseCheckCardinality.1 = rcase-NSRecurseCheckCardinality.1 : Aucune mise en correspondance fonctionnelle compl\u00E8te entre les particules.
rcase-NSRecurseCheckCardinality.2 = rcase-NSRecurseCheckCardinality.2 : La plage d''occurrences du groupe, ({0},{1}), n''est pas une restriction valide de la plage \u00E0 caract\u00E8re g\u00E9n\u00E9rique de la base, ({2},{3}).
- rcase-NSSubset.1 = rcase-NSSubset.1 : Le caract\u00E8re g\u00E9n\u00E9rique n'est pas un sous-ensemble de caract\u00E8res g\u00E9n\u00E9riques correspondant dans la base.
+ rcase-NSSubset.1 = rcase-NSSubset.1 : Le caract\u00E8re g\u00E9n\u00E9rique n'est pas un sous-ensemble du caract\u00E8re g\u00E9n\u00E9rique correspondant dans la base.
rcase-NSSubset.2 = rcase-NSSubset.2 : La plage d''occurrences du caract\u00E8re g\u00E9n\u00E9rique, ({0},{1}), n''est pas une restriction valide de celle de la base, ({2},{3}).
rcase-NSSubset.3 = rcase-NSSubset.3 : Le contenu de processus de caract\u00E8re g\u00E9n\u00E9rique, ''{0}'', est plus faible que celui figurant dans la base, ''{1}''.
rcase-Recurse.1 = rcase-Recurse.1 : La plage d''occurrences du groupe, ({0},{1}), n''est pas une restriction valide de la plage d''occurrences du groupe de base, ({2},{3}).
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_it.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_it.properties
index 4153c6d2219..7f4caa83e71 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_it.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_it.properties
@@ -1,35 +1,32 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file contains error and warning messages related to XML Schema
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: XMLSchemaMessages_it.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: XMLSchemaMessages_it.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/27 08:14:02 gmolloy Exp $
BadMessageKey = Impossibile trovare il messaggio di errore corrispondente alla chiave di messaggio.
FormatFailed = Si \u00E8 verificato un errore interno durante la formattazione del seguente messaggio:\n
@@ -43,19 +40,19 @@
# Identity constraints
AbsentKeyValue = Errore del vincolo di identit\u00E0 (cvc-identity-constraint.4.2.1): l''elemento "{0}" ha una chiave senza alcun valore.
- DuplicateField = Corrispondenza duplicata nell''ambito per il campo \"{0}\".
+ DuplicateField = Corrispondenza duplicata nell''ambito per il campo "{0}".
DuplicateKey = Valore chiave duplicato [{0}] dichiarato per il vincolo di identit\u00E0 dell''elemento "{1}".
DuplicateUnique = Valore univoco duplicato [{0}] dichiarato per il vincolo di identit\u00E0 dell''elemento "{1}".
FieldMultipleMatch = Errore del vincolo di identit\u00E0: il campo "{0}" corrisponde a pi\u00F9 valori nell''ambito del proprio selettore; i campi devono corrispondere a valori univoci.
- FixedDiffersFromActual = Il contenuto di questo elemento non equivale al valore dell'attributo \"fixed\" nella dichiarazione dell'elemento nello schema.
+ FixedDiffersFromActual = Il contenuto di questo elemento non equivale al valore dell'attributo "fixed" nella dichiarazione dell'elemento nello schema.
KeyMatchesNillable = Errore del vincolo di identit\u00E0 (cvc-identity-constraint.4.2.3): l''elemento "{0}" ha una chiave corrispondente a un elemento con un valore annullabile impostato su true.
- KeyNotEnoughValues = Valori insufficienti forniti per il vincolo di identit\u00E0 specificato per l''elemento \"{0}\".
+ KeyNotEnoughValues = Valori insufficienti forniti per il vincolo di identit\u00E0 specificato per l''elemento "{0}".
KeyNotFound = Chiave "{0}"con valore "{1}" non trovata per il vincolo di identit\u00E0 dell''elemento "{2}".
- KeyRefNotEnoughValues = Valori insufficienti forniti per il vincolo di identit\u00E0 specificato per l''elemento \"{0}\".
- KeyRefOutOfScope = Errore del vincolo di identit\u00E0: il vincolo di identit\u00E0 \"{0}\" ha un keyref che fa riferimento a una chiave o a un valore univoco fuori ambito.
- KeyRefReferNotFound = La dichiarazione \"{0}\" del riferimento chiave fa riferimento a una chiave sconosciuta denominata \"{1}\".
- UniqueNotEnoughValues = Valori insufficienti forniti per il vincolo di identit\u00E0 specificato per l''elemento \"{0}\".
- UnknownField = Errore interno del vincolo di identit\u00E0; campo \"{0}\" sconosciuto
+ KeyRefNotEnoughValues = Valori insufficienti forniti per il vincolo di identit\u00E0 specificato per l''elemento "{0}".
+ KeyRefOutOfScope = Errore del vincolo di identit\u00E0: il vincolo di identit\u00E0 "{0}" ha un keyref che fa riferimento a una chiave o a un valore univoco fuori ambito.
+ KeyRefReferNotFound = La dichiarazione "{0}" del riferimento chiave fa riferimento a una chiave sconosciuta denominata "{1}".
+ UniqueNotEnoughValues = Valori insufficienti forniti per il vincolo di identit\u00E0 specificato per l''elemento "{0}".
+ UnknownField = Errore interno del vincolo di identit\u00E0; campo "{0}" sconosciuto
# Ideally, we should only use the following error keys, not the ones under
# "Identity constraints". And we should cover all of the following errors.
@@ -114,7 +111,7 @@
#schema valid (3.X.3)
- schema_reference.access = schema_reference: Failed to read schema document ''{0}'', because ''{1}'' access is not allowed.
+ schema_reference.access = schema_reference: lettura del documento di schema ''{0}'' non riuscita. Accesso ''{1}'' non consentito.
schema_reference.4 = schema_reference.4: lettura del documento di schema "{0}" non riuscita perch\u00E9 1) non \u00E8 stato possibile trovare il documento; 2) non \u00E8 stato possibile leggere il documento; 3) l''elemento radice del documento non \u00E8 .
src-annotation = src-annotation: possono essere contenuti soltanto elementi e , ma \u00E8 stato trovato ''{0}''.
src-attribute.1 = src-attribute.1: le propriet\u00E0 ''default'' e ''fixed'' non possono essere entrambi presenti nella dichiarazione di attributo ''{0}''. Utilizzarne solo una.
@@ -181,7 +178,7 @@
cos-ct-extends.1.4.3.2.2.1.b = cos-ct-extends.1.4.3.2.2.1.b: Il tipo di contenuto di un tipo derivato e quello della rispettiva base devono essere entrambi misti o di soli elementi. Il tipo ''{0}'' \u00E8 misto, mentre la rispettiva base non lo \u00E8.
cos-element-consistent = cos-element-consistent: errore per il tipo "{0}". Nel gruppo di modelli appaiono pi\u00F9 elementi con nome "{1}" e tipi diversi.
cos-list-of-atomic = cos-list-of-atomic: nella definizione del tipo di lista ''{0}'', il tipo ''{1}'' non \u00E8 valido poich\u00E9 non \u00E8 indivisibile (''{1}'' \u00E8 un tipo di lista o un tipo di unione che contiene una lista).
- cos-nonambig = cos-nonambig: {0} e {1} (o gli elementi derivanti dal gruppo di sostituzione) violano \"Unique Particle Attribution\". Durante la convalida su questo schema, si creerebbe un''ambiguit\u00E0 per le due parti.
+ cos-nonambig = cos-nonambig: {0} e {1} (o gli elementi derivanti dal gruppo di sostituzione) violano "Unique Particle Attribution". Durante la convalida su questo schema, si creerebbe un''ambiguit\u00E0 per le due parti.
cos-particle-restrict.a = cos-particle-restrict.a: la parte derivata \u00E8 vuota, mente la base non \u00E8 svuotabile.
cos-particle-restrict.b = cos-particle-restrict.b: la parte della base \u00E8 vuota, mente la parte derivata non lo \u00E8.
cos-particle-restrict.2 = cos-particle-restrict.2: limitazione di parte vietata: ''{0}''.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_ja.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_ja.properties
index 9fe30e2e67d..063f82c7597 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_ja.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_ja.properties
@@ -1,35 +1,32 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file contains error and warning messages related to XML Schema
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: XMLSchemaMessages_ja.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: XMLSchemaMessages_ja.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 01:05:12 gmolloy Exp $
BadMessageKey = \u30E1\u30C3\u30BB\u30FC\u30B8\u30FB\u30AD\u30FC\u306B\u5BFE\u5FDC\u3059\u308B\u30A8\u30E9\u30FC\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
FormatFailed = \u6B21\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u306E\u66F8\u5F0F\u8A2D\u5B9A\u4E2D\u306B\u5185\u90E8\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F:\n
@@ -42,20 +39,20 @@
# Identity constraints
- AbsentKeyValue = \u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u5236\u7D04\u30A8\u30E9\u30FC(cvc-identity-constraint.4.2.1): \u8981\u7D20\"{0}\"\u306B\u5024\u306E\u306A\u3044\u30AD\u30FC\u304C\u3042\u308A\u307E\u3059\u3002
- DuplicateField = \u30D5\u30A3\u30FC\u30EB\u30C9\"{0}\"\u306E\u30B9\u30B3\u30FC\u30D7\u5185\u3067\u4E00\u81F4\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059\u3002
- DuplicateKey = \u8981\u7D20\"{1}\"\u306E\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u5236\u7D04\u3067\u5BA3\u8A00\u3055\u308C\u305Fkey\u306E\u5024[{0}]\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059\u3002
- DuplicateUnique = \u8981\u7D20\"{1}\"\u306E\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u5236\u7D04\u3067\u5BA3\u8A00\u3055\u308C\u305Funique\u306E\u5024[{0}]\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059\u3002
- FieldMultipleMatch = \u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u5236\u7D04\u30A8\u30E9\u30FC: \u30D5\u30A3\u30FC\u30EB\u30C9\"{0}\"\u304C\u30BB\u30EC\u30AF\u30BF\u306E\u30B9\u30B3\u30FC\u30D7\u5185\u306E\u8907\u6570\u306E\u5024\u3068\u4E00\u81F4\u3057\u3066\u3044\u307E\u3059\u3002\u30D5\u30A3\u30FC\u30EB\u30C9\u306Funique\u306E\u5024\u3068\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
- FixedDiffersFromActual = \u3053\u306E\u8981\u7D20\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u306F\u3001\u30B9\u30AD\u30FC\u30DE\u5185\u306E\u8981\u7D20\u5BA3\u8A00\u3067\u306E\"fixed\"\u5C5E\u6027\u306E\u5024\u3068\u7570\u306A\u308A\u307E\u3059\u3002
- KeyMatchesNillable = \u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u5236\u7D04\u30A8\u30E9\u30FC(cvc-identity-constraint.4.2.3): \u8981\u7D20\"{0}\"\u306B\u306F\u3001nillable\u304Ctrue\u3067\u3042\u308B\u8981\u7D20\u3068\u4E00\u81F4\u3059\u308B\u30AD\u30FC\u304C\u3042\u308A\u307E\u3059\u3002
- KeyNotEnoughValues = \u8981\u7D20\"{0}\"\u306B\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u5236\u7D04\u306B\u3001\u5341\u5206\u306A\u5024\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+ AbsentKeyValue = \u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u5236\u7D04\u30A8\u30E9\u30FC(cvc-identity-constraint.4.2.1): \u8981\u7D20"{0}"\u306B\u5024\u306E\u306A\u3044\u30AD\u30FC\u304C\u3042\u308A\u307E\u3059\u3002
+ DuplicateField = \u30D5\u30A3\u30FC\u30EB\u30C9"{0}"\u306E\u30B9\u30B3\u30FC\u30D7\u5185\u3067\u4E00\u81F4\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059\u3002
+ DuplicateKey = \u8981\u7D20"{1}"\u306E\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u5236\u7D04\u3067\u5BA3\u8A00\u3055\u308C\u305Fkey\u306E\u5024[{0}]\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059\u3002
+ DuplicateUnique = \u8981\u7D20"{1}"\u306E\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u5236\u7D04\u3067\u5BA3\u8A00\u3055\u308C\u305Funique\u306E\u5024[{0}]\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059\u3002
+ FieldMultipleMatch = \u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u5236\u7D04\u30A8\u30E9\u30FC: \u30D5\u30A3\u30FC\u30EB\u30C9"{0}"\u304C\u30BB\u30EC\u30AF\u30BF\u306E\u30B9\u30B3\u30FC\u30D7\u5185\u306E\u8907\u6570\u306E\u5024\u3068\u4E00\u81F4\u3057\u3066\u3044\u307E\u3059\u3002\u30D5\u30A3\u30FC\u30EB\u30C9\u306Funique\u306E\u5024\u3068\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ FixedDiffersFromActual = \u3053\u306E\u8981\u7D20\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u306F\u3001\u30B9\u30AD\u30FC\u30DE\u5185\u306E\u8981\u7D20\u5BA3\u8A00\u3067\u306E"fixed"\u5C5E\u6027\u306E\u5024\u3068\u7570\u306A\u308A\u307E\u3059\u3002
+ KeyMatchesNillable = \u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u5236\u7D04\u30A8\u30E9\u30FC(cvc-identity-constraint.4.2.3): \u8981\u7D20"{0}"\u306B\u306F\u3001nillable\u304Ctrue\u3067\u3042\u308B\u8981\u7D20\u3068\u4E00\u81F4\u3059\u308B\u30AD\u30FC\u304C\u3042\u308A\u307E\u3059\u3002
+ KeyNotEnoughValues = \u8981\u7D20"{0}"\u306B\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u5236\u7D04\u306B\u3001\u5341\u5206\u306A\u5024\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
KeyNotFound = \u8981\u7D20''{2}''\u306E\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u5236\u7D04\u3067\u3001\u5024''{1}''\u306E\u30AD\u30FC''{0}''\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
- KeyRefNotEnoughValues = \u8981\u7D20\"{0}\"\u306B\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u5236\u7D04\u306B\u3001\u5341\u5206\u306A\u5024\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
- KeyRefOutOfScope = \u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u5236\u7D04\u30A8\u30E9\u30FC: \u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u5236\u7D04\"{0}\"\u306B\u3001\u30B9\u30B3\u30FC\u30D7\u5916\u306Ekey\u3084unique\u3092\u53C2\u7167\u3057\u3066\u3044\u308Bkeyref\u304C\u3042\u308A\u307E\u3059\u3002
- KeyRefReferNotFound = \u30AD\u30FC\u53C2\u7167\u306E\u5BA3\u8A00\"{0}\"\u304C\u3001\"{1}\"\u3068\u3044\u3046\u540D\u524D\u306E\u4E0D\u660E\u306A\u30AD\u30FC\u3092\u53C2\u7167\u3057\u3066\u3044\u307E\u3059\u3002
- UniqueNotEnoughValues = \u8981\u7D20\"{0}\"\u306B\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u5236\u7D04\u306B\u3001\u5341\u5206\u306A\u5024\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
- UnknownField = \u5185\u90E8\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u5236\u7D04\u30A8\u30E9\u30FC: \u30D5\u30A3\u30FC\u30EB\u30C9\"{0}\"\u304C\u4E0D\u660E\u3067\u3059\u3002
+ KeyRefNotEnoughValues = \u8981\u7D20"{0}"\u306B\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u5236\u7D04\u306B\u3001\u5341\u5206\u306A\u5024\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+ KeyRefOutOfScope = \u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u5236\u7D04\u30A8\u30E9\u30FC: \u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u5236\u7D04"{0}"\u306B\u3001\u30B9\u30B3\u30FC\u30D7\u5916\u306Ekey\u3084unique\u3092\u53C2\u7167\u3057\u3066\u3044\u308Bkeyref\u304C\u3042\u308A\u307E\u3059\u3002
+ KeyRefReferNotFound = \u30AD\u30FC\u53C2\u7167\u306E\u5BA3\u8A00"{0}"\u304C\u3001"{1}"\u3068\u3044\u3046\u540D\u524D\u306E\u4E0D\u660E\u306A\u30AD\u30FC\u3092\u53C2\u7167\u3057\u3066\u3044\u307E\u3059\u3002
+ UniqueNotEnoughValues = \u8981\u7D20"{0}"\u306B\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u5236\u7D04\u306B\u3001\u5341\u5206\u306A\u5024\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+ UnknownField = \u5185\u90E8\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u5236\u7D04\u30A8\u30E9\u30FC: \u30D5\u30A3\u30FC\u30EB\u30C9"{0}"\u304C\u4E0D\u660E\u3067\u3059\u3002
# Ideally, we should only use the following error keys, not the ones under
# "Identity constraints". And we should cover all of the following errors.
@@ -114,7 +111,7 @@
#schema valid (3.X.3)
- schema_reference.access = schema_reference: Failed to read schema document ''{0}'', because ''{1}'' access is not allowed.
+ schema_reference.access = schema_reference: ''{1}''\u30A2\u30AF\u30BB\u30B9\u304C\u8A31\u53EF\u3055\u308C\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u30B9\u30AD\u30FC\u30DE\u30FB\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8''{0}''\u306E\u8AAD\u53D6\u308A\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002
schema_reference.4 = schema_reference.4: 1)\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u304C\u898B\u3064\u304B\u3089\u306A\u304B\u3063\u305F\u30012)\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u8AAD\u307F\u53D6\u308C\u306A\u304B\u3063\u305F\u30013)\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u30EB\u30FC\u30C8\u8981\u7D20\u304C\u3067\u306F\u306A\u304B\u3063\u305F\u305F\u3081\u3001\u30B9\u30AD\u30FC\u30DE\u30FB\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8''{0}''\u306E\u8AAD\u53D6\u308A\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002
src-annotation = src-annotation: \u8981\u7D20\u306B\u542B\u3081\u308B\u3053\u3068\u304C\u3067\u304D\u308B\u306E\u306F\u8981\u7D20\u304A\u3088\u3073\u8981\u7D20\u306E\u307F\u3067\u3059\u304C\u3001''{0}''\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002
src-attribute.1 = src-attribute.1: ''default''\u3068''fixed''\u306E\u4E21\u65B9\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u5C5E\u6027\u5BA3\u8A00''{0}''\u306B\u542B\u3081\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\u3044\u305A\u308C\u304B\u4E00\u65B9\u306E\u307F\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002
@@ -181,7 +178,7 @@
cos-ct-extends.1.4.3.2.2.1.b = cos-ct-extends.1.4.3.2.2.1.b: \u5C0E\u51FA\u3055\u308C\u305F\u30BF\u30A4\u30D7\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u30FB\u30BF\u30A4\u30D7\u3068\u305D\u306E\u30D9\u30FC\u30B9\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u30FB\u30BF\u30A4\u30D7\u306F\u4E21\u65B9\u3068\u3082\u6DF7\u5408\u578B\u306B\u3059\u308B\u304B\u3001\u8981\u7D20\u306E\u307F\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\u30BF\u30A4\u30D7''{0}''\u306F\u6DF7\u5408\u578B\u3067\u3059\u304C\u3001\u305D\u306E\u30D9\u30FC\u30B9\u30FB\u30BF\u30A4\u30D7\u306F\u6DF7\u5408\u578B\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
cos-element-consistent = cos-element-consistent: \u30BF\u30A4\u30D7''{0}''\u306E\u30A8\u30E9\u30FC\u3002''{1}''\u3068\u3044\u3046\u540D\u524D\u306E\u7570\u306A\u308B\u30BF\u30A4\u30D7\u306E\u8907\u6570\u306E\u8981\u7D20\u304C\u30E2\u30C7\u30EB\u30FB\u30B0\u30EB\u30FC\u30D7\u306B\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002
cos-list-of-atomic = cos-list-of-atomic: \u30BF\u30A4\u30D7''{1}''\u306F\u30A2\u30C8\u30DF\u30C3\u30AF\u3067\u306F\u306A\u3044\u305F\u3081(''{1}''\u306F\u30EA\u30B9\u30C8\u30FB\u30BF\u30A4\u30D7\u304B\u3001\u30EA\u30B9\u30C8\u3092\u542B\u3080\u5171\u7528\u4F53\u30BF\u30A4\u30D7\u3067\u3042\u308B\u305F\u3081)\u3001\u30EA\u30B9\u30C8\u30FB\u30BF\u30A4\u30D7''{0}''\u306E\u5B9A\u7FA9\u3067\u306F\u7121\u52B9\u306A\u30EA\u30B9\u30C8\u8981\u7D20\u30BF\u30A4\u30D7\u3067\u3059\u3002
- cos-nonambig = cos-nonambig: {0}\u3068{1} (\u307E\u305F\u306F\u7F6E\u63DB\u30B0\u30EB\u30FC\u30D7\u306E\u8981\u7D20)\u304C\"Unique Particle Attribution\"\u306B\u9055\u53CD\u3057\u3066\u3044\u307E\u3059\u3002\u3053\u306E\u30B9\u30AD\u30FC\u30DE\u306B\u5BFE\u3059\u308B\u691C\u8A3C\u6642\u306B\u3001\u3053\u308C\u30892\u3064\u306E\u30D1\u30FC\u30C6\u30A3\u30AF\u30EB\u306B\u3042\u3044\u307E\u3044\u3055\u304C\u751F\u3058\u308B\u3068\u8003\u3048\u3089\u308C\u307E\u3059\u3002
+ cos-nonambig = cos-nonambig: {0}\u3068{1} (\u307E\u305F\u306F\u7F6E\u63DB\u30B0\u30EB\u30FC\u30D7\u306E\u8981\u7D20)\u304C"Unique Particle Attribution"\u306B\u9055\u53CD\u3057\u3066\u3044\u307E\u3059\u3002\u3053\u306E\u30B9\u30AD\u30FC\u30DE\u306B\u5BFE\u3059\u308B\u691C\u8A3C\u6642\u306B\u3001\u3053\u308C\u30892\u3064\u306E\u30D1\u30FC\u30C6\u30A3\u30AF\u30EB\u306B\u3042\u3044\u307E\u3044\u3055\u304C\u751F\u3058\u308B\u3068\u8003\u3048\u3089\u308C\u307E\u3059\u3002
cos-particle-restrict.a = cos-particle-restrict.a: \u5C0E\u51FA\u3055\u308C\u305F\u30D1\u30FC\u30C6\u30A3\u30AF\u30EB\u304C\u7A7A\u3067\u3042\u308A\u3001\u30D9\u30FC\u30B9\u306F\u7A7A\u306B\u3067\u304D\u307E\u305B\u3093\u3002
cos-particle-restrict.b = cos-particle-restrict.b: \u30D9\u30FC\u30B9\u306E\u30D1\u30FC\u30C6\u30A3\u30AF\u30EB\u306F\u7A7A\u3067\u3059\u304C\u3001\u5C0E\u51FA\u3055\u308C\u305F\u30D1\u30FC\u30C6\u30A3\u30AF\u30EB\u306F\u7A7A\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
cos-particle-restrict.2 = cos-particle-restrict.2: \u7981\u6B62\u3055\u308C\u305F\u30D1\u30FC\u30C6\u30A3\u30AF\u30EB\u306E\u5236\u9650: ''{0}''\u3002
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_ko.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_ko.properties
index a6a77f32186..2a21d78161f 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_ko.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_ko.properties
@@ -1,35 +1,32 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file contains error and warning messages related to XML Schema
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: XMLSchemaMessages_ko.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: XMLSchemaMessages_ko.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 02:40:33 gmolloy Exp $
BadMessageKey = \uBA54\uC2DC\uC9C0 \uD0A4\uC5D0 \uD574\uB2F9\uD558\uB294 \uC624\uB958 \uBA54\uC2DC\uC9C0\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
FormatFailed = \uB2E4\uC74C \uBA54\uC2DC\uC9C0\uC758 \uD615\uC2DD\uC744 \uC9C0\uC815\uD558\uB294 \uC911 \uB0B4\uBD80 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.\n
@@ -42,20 +39,20 @@
# Identity constraints
- AbsentKeyValue = ID \uC81C\uC57D \uC870\uAC74 \uC624\uB958(cvc-identity-constraint.4.2.1): \"{0}\" \uC694\uC18C\uC5D0 \uAC12\uC774 \uC5C6\uB294 \uD0A4\uAC00 \uC788\uC2B5\uB2C8\uB2E4.
- DuplicateField = \"{0}\" \uD544\uB4DC \uBC94\uC704\uC5D0 \uC911\uBCF5 \uC0AC\uD56D\uC774 \uC788\uC2B5\uB2C8\uB2E4.
- DuplicateKey = \uC911\uBCF5 \uD0A4 \uAC12 [{0}]\uC774(\uAC00) \"{1}\" \uC694\uC18C\uC758 ID \uC81C\uC57D \uC870\uAC74\uC5D0 \uB300\uD574 \uC120\uC5B8\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
- DuplicateUnique = \uC911\uBCF5 \uACE0\uC720 \uAC12 [{0}]\uC774(\uAC00) \"{1}\" \uC694\uC18C\uC758 ID \uC81C\uC57D \uC870\uAC74\uC5D0 \uB300\uD574 \uC120\uC5B8\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
- FieldMultipleMatch = ID \uC81C\uC57D \uC870\uAC74 \uC624\uB958: \"{0}\" \uD544\uB4DC\uAC00 \uD574\uB2F9 \uC120\uD0DD\uAE30 \uBC94\uC704 \uB0B4\uC5D0 \uD3EC\uD568\uB41C \uC5EC\uB7EC \uAC12\uACFC \uC77C\uCE58\uD569\uB2C8\uB2E4. \uD544\uB4DC\uB294 \uACE0\uC720 \uAC12\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4.
- FixedDiffersFromActual = \uC774 \uC694\uC18C\uC758 \uCF58\uD150\uCE20\uAC00 \uC2A4\uD0A4\uB9C8\uC758 \uC694\uC18C \uC120\uC5B8\uC5D0 \uC788\uB294 \"fixed\" \uC18D\uC131\uAC12\uACFC \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
- KeyMatchesNillable = ID \uC81C\uC57D \uC870\uAC74 \uC624\uB958(cvc-identity-constraint.4.2.3): \"{0}\" \uC694\uC18C\uC5D0 nillable\uC774 true\uB85C \uC124\uC815\uB41C \uC694\uC18C\uC640 \uC77C\uCE58\uD558\uB294 \uD0A4\uAC00 \uC788\uC2B5\uB2C8\uB2E4.
- KeyNotEnoughValues = \"{0}\" \uC694\uC18C\uC758 ID \uC81C\uC57D \uC870\uAC74\uC5D0 \uB300\uD574 \uC9C0\uC815\uB41C \uAC12\uC774 \uBD80\uC871\uD569\uB2C8\uB2E4.
+ AbsentKeyValue = ID \uC81C\uC57D \uC870\uAC74 \uC624\uB958(cvc-identity-constraint.4.2.1): "{0}" \uC694\uC18C\uC5D0 \uAC12\uC774 \uC5C6\uB294 \uD0A4\uAC00 \uC788\uC2B5\uB2C8\uB2E4.
+ DuplicateField = "{0}" \uD544\uB4DC \uBC94\uC704\uC5D0 \uC911\uBCF5 \uC0AC\uD56D\uC774 \uC788\uC2B5\uB2C8\uB2E4.
+ DuplicateKey = \uC911\uBCF5 \uD0A4 \uAC12 [{0}]\uC774(\uAC00) "{1}" \uC694\uC18C\uC758 ID \uC81C\uC57D \uC870\uAC74\uC5D0 \uB300\uD574 \uC120\uC5B8\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
+ DuplicateUnique = \uC911\uBCF5 \uACE0\uC720 \uAC12 [{0}]\uC774(\uAC00) "{1}" \uC694\uC18C\uC758 ID \uC81C\uC57D \uC870\uAC74\uC5D0 \uB300\uD574 \uC120\uC5B8\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
+ FieldMultipleMatch = ID \uC81C\uC57D \uC870\uAC74 \uC624\uB958: "{0}" \uD544\uB4DC\uAC00 \uD574\uB2F9 \uC120\uD0DD\uAE30 \uBC94\uC704 \uB0B4\uC5D0 \uD3EC\uD568\uB41C \uC5EC\uB7EC \uAC12\uACFC \uC77C\uCE58\uD569\uB2C8\uB2E4. \uD544\uB4DC\uB294 \uACE0\uC720 \uAC12\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4.
+ FixedDiffersFromActual = \uC774 \uC694\uC18C\uC758 \uCF58\uD150\uCE20\uAC00 \uC2A4\uD0A4\uB9C8\uC758 \uC694\uC18C \uC120\uC5B8\uC5D0 \uC788\uB294 "fixed" \uC18D\uC131\uAC12\uACFC \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
+ KeyMatchesNillable = ID \uC81C\uC57D \uC870\uAC74 \uC624\uB958(cvc-identity-constraint.4.2.3): "{0}" \uC694\uC18C\uC5D0 nillable\uC774 true\uB85C \uC124\uC815\uB41C \uC694\uC18C\uC640 \uC77C\uCE58\uD558\uB294 \uD0A4\uAC00 \uC788\uC2B5\uB2C8\uB2E4.
+ KeyNotEnoughValues = "{0}" \uC694\uC18C\uC758 ID \uC81C\uC57D \uC870\uAC74\uC5D0 \uB300\uD574 \uC9C0\uC815\uB41C \uAC12\uC774 \uBD80\uC871\uD569\uB2C8\uB2E4.
KeyNotFound = ''{2}'' \uC694\uC18C\uC758 ID \uC81C\uC57D \uC870\uAC74\uC5D0 \uB300\uD574 \uAC12\uC774 ''{1}''\uC778 ''{0}'' \uD0A4\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
- KeyRefNotEnoughValues = \"{0}\" \uC694\uC18C\uC758 ID \uC81C\uC57D \uC870\uAC74\uC5D0 \uB300\uD574 \uC9C0\uC815\uB41C \uAC12\uC774 \uBD80\uC871\uD569\uB2C8\uB2E4.
- KeyRefOutOfScope = ID \uC81C\uC57D \uC870\uAC74 \uC624\uB958: ID \uC81C\uC57D \uC870\uAC74 \"{0}\"\uC758 keyref\uAC00 \uBC94\uC704\uC5D0\uC11C \uBC97\uC5B4\uB09C \uD0A4 \uB610\uB294 \uACE0\uC720 \uD56D\uBAA9\uC744 \uCC38\uC870\uD569\uB2C8\uB2E4.
- KeyRefReferNotFound = \uD0A4 \uCC38\uC870 \uC120\uC5B8 \"{0}\"\uC740(\uB294) \uC774\uB984\uC774 \"{1}\"\uC778 \uC54C \uC218 \uC5C6\uB294 \uD0A4\uB97C \uCC38\uC870\uD569\uB2C8\uB2E4.
- UniqueNotEnoughValues = \"{0}\" \uC694\uC18C\uC758 ID \uC81C\uC57D \uC870\uAC74\uC5D0 \uB300\uD574 \uC9C0\uC815\uB41C \uAC12\uC774 \uBD80\uC871\uD569\uB2C8\uB2E4.
- UnknownField = \uB0B4\uBD80 ID \uC81C\uC57D \uC870\uAC74 \uC624\uB958: \"{0}\"\uC740(\uB294) \uC54C \uC218 \uC5C6\uB294 \uD544\uB4DC\uC785\uB2C8\uB2E4.
+ KeyRefNotEnoughValues = "{0}" \uC694\uC18C\uC758 ID \uC81C\uC57D \uC870\uAC74\uC5D0 \uB300\uD574 \uC9C0\uC815\uB41C \uAC12\uC774 \uBD80\uC871\uD569\uB2C8\uB2E4.
+ KeyRefOutOfScope = ID \uC81C\uC57D \uC870\uAC74 \uC624\uB958: ID \uC81C\uC57D \uC870\uAC74 "{0}"\uC758 keyref\uAC00 \uBC94\uC704\uC5D0\uC11C \uBC97\uC5B4\uB09C \uD0A4 \uB610\uB294 \uACE0\uC720 \uD56D\uBAA9\uC744 \uCC38\uC870\uD569\uB2C8\uB2E4.
+ KeyRefReferNotFound = \uD0A4 \uCC38\uC870 \uC120\uC5B8 "{0}"\uC740(\uB294) \uC774\uB984\uC774 "{1}"\uC778 \uC54C \uC218 \uC5C6\uB294 \uD0A4\uB97C \uCC38\uC870\uD569\uB2C8\uB2E4.
+ UniqueNotEnoughValues = "{0}" \uC694\uC18C\uC758 ID \uC81C\uC57D \uC870\uAC74\uC5D0 \uB300\uD574 \uC9C0\uC815\uB41C \uAC12\uC774 \uBD80\uC871\uD569\uB2C8\uB2E4.
+ UnknownField = \uB0B4\uBD80 ID \uC81C\uC57D \uC870\uAC74 \uC624\uB958: "{0}"\uC740(\uB294) \uC54C \uC218 \uC5C6\uB294 \uD544\uB4DC\uC785\uB2C8\uB2E4.
# Ideally, we should only use the following error keys, not the ones under
# "Identity constraints". And we should cover all of the following errors.
@@ -114,7 +111,7 @@
#schema valid (3.X.3)
- schema_reference.access = schema_reference: Failed to read schema document ''{0}'', because ''{1}'' access is not allowed.
+ schema_reference.access = schema_reference: ''{1}'' \uC561\uC138\uC2A4\uAC00 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC544 \uC2A4\uD0A4\uB9C8 \uBB38\uC11C ''{0}'' \uC77D\uAE30\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
schema_reference.4 = schema_reference.4: \uC2A4\uD0A4\uB9C8 \uBB38\uC11C ''{0}'' \uC77D\uAE30\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. \uC6D0\uC778: 1) \uBB38\uC11C\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. 2) \uBB38\uC11C\uB97C \uC77D\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. 3) \uBB38\uC11C\uC758 \uB8E8\uD2B8 \uC694\uC18C\uAC00 \uAC00 \uC544\uB2D9\uB2C8\uB2E4.
src-annotation = src-annotation: \uC694\uC18C\uC5D0\uB294 \uBC0F \uC694\uC18C\uB9CC \uD3EC\uD568\uB420 \uC218 \uC788\uC9C0\uB9CC ''{0}''\uC774(\uAC00) \uBC1C\uACAC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
src-attribute.1 = src-attribute.1: ''default'' \uBC0F ''fixed'' \uC18D\uC131\uC740 \uC18D\uC131 \uC120\uC5B8 ''{0}''\uC5D0 \uD568\uAED8 \uC874\uC7AC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uD558\uB098\uB9CC \uC0AC\uC6A9\uD558\uC2ED\uC2DC\uC624.
@@ -181,7 +178,7 @@
cos-ct-extends.1.4.3.2.2.1.b = cos-ct-extends.1.4.3.2.2.1.b: \uD30C\uC0DD\uB41C \uC720\uD615\uACFC \uD574\uB2F9 \uAE30\uBCF8 \uC720\uD615\uC758 \uCF58\uD150\uCE20 \uC720\uD615\uC740 \uBAA8\uB450 \uD63C\uD569\uB418\uAC70\uB098 \uBAA8\uB450 \uC694\uC18C \uC804\uC6A9\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. ''{0}'' \uC720\uD615\uC740 \uD63C\uD569\uB418\uC5B4 \uC788\uC9C0\uB9CC \uD574\uB2F9 \uAE30\uBCF8 \uC720\uD615\uC740 \uD63C\uD569\uB418\uC5B4 \uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
cos-element-consistent = cos-element-consistent: ''{0}'' \uC720\uD615\uC5D0 \uB300\uD574 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \uC774\uB984\uC774 ''{1}''\uC774\uBA70 \uC720\uD615\uC774 \uB2E4\uB978 \uC5EC\uB7EC \uC694\uC18C\uAC00 \uBAA8\uB378 \uADF8\uB8F9\uC5D0 \uB098\uD0C0\uB0A9\uB2C8\uB2E4.
cos-list-of-atomic = cos-list-of-atomic: \uBAA9\uB85D \uC720\uD615 ''{0}''\uC758 \uC815\uC758\uC5D0\uC11C ''{1}'' \uC720\uD615\uC740 \uAE30\uBCF8 \uB2E8\uC704\uAC00 \uC544\uB2C8\uBBC0\uB85C \uBD80\uC801\uD569\uD55C \uBAA9\uB85D \uC694\uC18C \uC720\uD615\uC785\uB2C8\uB2E4. ''{1}''\uC774(\uAC00) \uBAA9\uB85D \uC720\uD615\uC774\uAC70\uB098 \uBAA9\uB85D\uC744 \uD3EC\uD568\uD558\uB294 \uD569\uC9D1\uD569 \uC720\uD615\uC785\uB2C8\uB2E4.
- cos-nonambig = cos-nonambig: {0} \uBC0F {1}(\uB610\uB294 \uD574\uB2F9 \uB300\uCCB4 \uADF8\uB8F9\uC758 \uC694\uC18C)\uC774(\uAC00) \"Unique Particle Attribution\"\uC744 \uC704\uBC18\uD569\uB2C8\uB2E4. \uC774 \uC2A4\uD0A4\uB9C8\uC5D0 \uB300\uD55C \uAC80\uC99D \uC911 \uC774\uB7EC\uD55C \uB450 \uC870\uAC01\uC774 \uBAA8\uD638\uD574\uC9C8 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
+ cos-nonambig = cos-nonambig: {0} \uBC0F {1}(\uB610\uB294 \uD574\uB2F9 \uB300\uCCB4 \uADF8\uB8F9\uC758 \uC694\uC18C)\uC774(\uAC00) "Unique Particle Attribution"\uC744 \uC704\uBC18\uD569\uB2C8\uB2E4. \uC774 \uC2A4\uD0A4\uB9C8\uC5D0 \uB300\uD55C \uAC80\uC99D \uC911 \uC774\uB7EC\uD55C \uB450 \uC870\uAC01\uC774 \uBAA8\uD638\uD574\uC9C8 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
cos-particle-restrict.a = cos-particle-restrict.a: \uD30C\uC0DD\uB41C \uC870\uAC01\uC774 \uBE44\uC5B4 \uC788\uC73C\uBBC0\uB85C \uAE30\uBCF8 \uC870\uAC01\uC744 \uBE44\uC6B8 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
cos-particle-restrict.b = cos-particle-restrict.b: \uAE30\uBCF8 \uC870\uAC01\uC740 \uBE44\uC5B4 \uC788\uC9C0\uB9CC \uD30C\uC0DD\uB41C \uC870\uAC01\uC740 \uBE44\uC5B4 \uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
cos-particle-restrict.2 = cos-particle-restrict.2: \uAE08\uC9C0\uB41C \uC870\uAC01 \uC81C\uD55C \uC0AC\uD56D: ''{0}''.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_pt_BR.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_pt_BR.properties
index 163fc6d2b4a..8e0eec53908 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_pt_BR.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_pt_BR.properties
@@ -1,35 +1,32 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file contains error and warning messages related to XML Schema
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: XMLSchemaMessages_pt_BR.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: XMLSchemaMessages_pt_BR.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 07:33:06 gmolloy Exp $
BadMessageKey = N\u00E3o foi poss\u00EDvel encontrar a mensagem de erro correspondente \u00E0 chave da mensagem.
FormatFailed = Ocorreu um erro interno ao formatar a mensagem a seguir:\n
@@ -42,20 +39,20 @@
# Identity constraints
- AbsentKeyValue = Erro de Restri\u00E7\u00E3o de identidade (cvc-identity-constraint.4.2.1): o elemento \"{0}\" tem uma chave sem valor.
- DuplicateField = Correspond\u00EAncia duplicada no escopo do campo \"{0}\".
- DuplicateKey = Valor da chave duplicado [{0}] declarado para a restri\u00E7\u00E3o de identidade do elemento \"{1}\".
- DuplicateUnique = Valor exclusivo duplicado [{0}] declarado para a restri\u00E7\u00E3o de identidade do elemento \"{1}\".
- FieldMultipleMatch = Erro de restri\u00E7\u00E3o de identidade: o campo \"{0}\" corresponde a mais de um valor no escopo deste seletor; os campos devem corresponder a valores exclusivos.
- FixedDiffersFromActual = O conte\u00FAdo deste elemento n\u00E3o \u00E9 equivalente ao valor do atributo \"fixed\" na declara\u00E7\u00E3o do elemento do esquema.
- KeyMatchesNillable = Erro de restri\u00E7\u00E3o de identidade (cvc-identity-constraint.4.2.3): o elemento \"{0}\" tem uma chave que corresponde a um elemento o qual tem anul\u00E1vel definido como verdadeiro.
- KeyNotEnoughValues = N\u00E3o h\u00E1 valores suficientes especificados para a restri\u00E7\u00E3o de identidade de especificada para o elemento \"{0}\".
+ AbsentKeyValue = Erro de Restri\u00E7\u00E3o de identidade (cvc-identity-constraint.4.2.1): o elemento "{0}" tem uma chave sem valor.
+ DuplicateField = Correspond\u00EAncia duplicada no escopo do campo "{0}".
+ DuplicateKey = Valor da chave duplicado [{0}] declarado para a restri\u00E7\u00E3o de identidade do elemento "{1}".
+ DuplicateUnique = Valor exclusivo duplicado [{0}] declarado para a restri\u00E7\u00E3o de identidade do elemento "{1}".
+ FieldMultipleMatch = Erro de restri\u00E7\u00E3o de identidade: o campo "{0}" corresponde a mais de um valor no escopo deste seletor; os campos devem corresponder a valores exclusivos.
+ FixedDiffersFromActual = O conte\u00FAdo deste elemento n\u00E3o \u00E9 equivalente ao valor do atributo "fixed" na declara\u00E7\u00E3o do elemento do esquema.
+ KeyMatchesNillable = Erro de restri\u00E7\u00E3o de identidade (cvc-identity-constraint.4.2.3): o elemento "{0}" tem uma chave que corresponde a um elemento o qual tem anul\u00E1vel definido como verdadeiro.
+ KeyNotEnoughValues = N\u00E3o h\u00E1 valores suficientes especificados para a restri\u00E7\u00E3o de identidade de especificada para o elemento "{0}".
KeyNotFound = Chave ''{0}'' com valor ''{1}'' n\u00E3o encontrada para a restri\u00E7\u00E3o de identidade do elemento ''{2}''.
- KeyRefNotEnoughValues = N\u00E3o h\u00E1 valores suficientes especificados para a restri\u00E7\u00E3o de identidade de especificada para o elemento \"{0}\".
- KeyRefOutOfScope = Erro de restri\u00E7\u00E3o de identidade: a restri\u00E7\u00E3o de identidade \"{0}\" tem uma keyref que se refere a uma chave exclusiva a qual est\u00E1 fora do escopo.
- KeyRefReferNotFound = A declara\u00E7\u00E3o de refer\u00EAncia da chave \"{0}\" refere-se a uma chave com o nome \"{1}\".
- UniqueNotEnoughValues = N\u00E3o h\u00E1 valores suficientes especificados para a restri\u00E7\u00E3o de identidade especificada para o elemento \"{0}\".
- UnknownField = Erro interno de restri\u00E7\u00E3o de identidade; campo desconhecido \"{0}\".
+ KeyRefNotEnoughValues = N\u00E3o h\u00E1 valores suficientes especificados para a restri\u00E7\u00E3o de identidade de especificada para o elemento "{0}".
+ KeyRefOutOfScope = Erro de restri\u00E7\u00E3o de identidade: a restri\u00E7\u00E3o de identidade "{0}" tem uma keyref que se refere a uma chave exclusiva a qual est\u00E1 fora do escopo.
+ KeyRefReferNotFound = A declara\u00E7\u00E3o de refer\u00EAncia da chave "{0}" refere-se a uma chave com o nome "{1}".
+ UniqueNotEnoughValues = N\u00E3o h\u00E1 valores suficientes especificados para a restri\u00E7\u00E3o de identidade especificada para o elemento "{0}".
+ UnknownField = Erro interno de restri\u00E7\u00E3o de identidade; campo desconhecido "{0}".
# Ideally, we should only use the following error keys, not the ones under
# "Identity constraints". And we should cover all of the following errors.
@@ -114,7 +111,7 @@
#schema valid (3.X.3)
- schema_reference.access = schema_reference: Failed to read schema document ''{0}'', because ''{1}'' access is not allowed.
+ schema_reference.access = schema_reference: falha ao ler o documento ''{0}'' do esquema porque o acesso a ''{1}'' n\u00E3o \u00E9 permitido.
schema_reference.4 = schema_reference.4: Falha ao ler o documento do esquema ''{0}'' porque 1) n\u00E3o foi poss\u00EDvel encontrar o documento; 2) n\u00E3o foi poss\u00EDvel ler o documento; 3) o elemento-raiz do documento n\u00E3o \u00E9 .
src-annotation = src-annotation: os elementos de podem conter somente os elementos e , mas foi encontrado ''{0}''.
src-attribute.1 = src-attribute.1: As propriedades ''default'' e ''fixed'' n\u00E3o podem estar presentes na declara\u00E7\u00E3o do atributo ''{0}''. Use somente uma delas.
@@ -181,7 +178,7 @@
cos-ct-extends.1.4.3.2.2.1.b = cos-ct-extends.1.4.3.2.2.1.b: O tipo de conte\u00FAdo de um tipo derivado e sua base devem ser mistos ou ambos devem ser somente de elemento. O tipo ''{0}'' \u00E9 misto, mas seu tipo de base n\u00E3o \u00E9.
cos-element-consistent = cos-element-consistent: Erro do tipo ''{0}''. V\u00E1rios elementos com o nome ''{1}'' com diferentes tipos aparecem no grupo de modelos.
cos-list-of-atomic = cos-list-of-atomic: Na defini\u00E7\u00E3o do tipo de lista ''{0}'', o tipo ''{1}'' \u00E9 um tipo de elemento da lista inv\u00E1lido porque n\u00E3o \u00E9 at\u00F4mico (''{1}'' \u00E9 um tipo de lista ou um tipo de uni\u00E3o que cont\u00E9m uma lista).
- cos-nonambig = cos-nonambig: {0} e {1} (ou elementos de seu grupo de substitui\u00E7\u00E3o) violam a \"Unique Particle Attribution\". Durante a valida\u00E7\u00E3o deste esquema, a ambiguidade ser\u00E1 criada para essas duas part\u00EDculas.
+ cos-nonambig = cos-nonambig: {0} e {1} (ou elementos de seu grupo de substitui\u00E7\u00E3o) violam a "Unique Particle Attribution". Durante a valida\u00E7\u00E3o deste esquema, a ambiguidade ser\u00E1 criada para essas duas part\u00EDculas.
cos-particle-restrict.a = cos-particle-restrict.a: A part\u00EDcula obtida est\u00E1 vazia e a base n\u00E3o pode ser esvaziada.
cos-particle-restrict.b = cos-particle-restrict.b: A part\u00EDcula base est\u00E1 vazia, mas a part\u00EDcula obtida n\u00E3o est\u00E1.
cos-particle-restrict.2 = cos-particle-restrict.2: Restri\u00E7\u00E3o de part\u00EDcula proibida: ''{0}''.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_sv.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_sv.properties
index 4cc42ca5eb5..f29bfa177be 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_sv.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_sv.properties
@@ -1,35 +1,32 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file contains error and warning messages related to XML Schema
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: XMLSchemaMessages_sv.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: XMLSchemaMessages_sv.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 00:46:23 gmolloy Exp $
BadMessageKey = Hittar inte felmeddelandet som motsvarar meddelandenyckeln.
FormatFailed = Ett internt fel intr\u00E4ffade vid formatering av f\u00F6ljande meddelande:\n
@@ -42,20 +39,20 @@
# Identity constraints
- AbsentKeyValue = Fel vid id-begr\u00E4nsning (cvc-identity-constraint.4.2.1): elementet \"{0}\" har en nyckel som saknar v\u00E4rde.
- DuplicateField = Dubblettmatchning inom omfattningen av f\u00E4ltet \"{0}\".
- DuplicateKey = Duplicerat nyckelv\u00E4rde [{0}] har deklarerats f\u00F6r id-begr\u00E4nsning av elementet \"{1}\".
- DuplicateUnique = Duplicerat unikt v\u00E4rde [{0}] har deklarerats f\u00F6r id-begr\u00E4nsning av elementet \"{1}\".
- FieldMultipleMatch = Fel vid id-begr\u00E4nsning: f\u00E4ltet \"{0}\" matchar fler \u00E4n ett v\u00E4rde inom omfattningen av v\u00E4ljaren; f\u00E4lt m\u00E5ste matcha unika v\u00E4rden.
- FixedDiffersFromActual = Elementets inneh\u00E5ll motsvarar inte v\u00E4rdet av attributet som anges som \"fixed\" i elementdeklarationen i schemat.
- KeyMatchesNillable = Fel vid id-begr\u00E4nsning (cvc-identity-constraint.4.2.3): elementet \"{0}\" har en nyckel som matchar ett element med nullbart v\u00E4rde angivet som true.
- KeyNotEnoughValues = Det finns inte tillr\u00E4ckligt m\u00E5nga v\u00E4rden angivna f\u00F6r som id-begr\u00E4nsning f\u00F6r elementet \"{0}\".
+ AbsentKeyValue = Fel vid id-begr\u00E4nsning (cvc-identity-constraint.4.2.1): elementet "{0}" har en nyckel som saknar v\u00E4rde.
+ DuplicateField = Dubblettmatchning inom omfattningen av f\u00E4ltet "{0}".
+ DuplicateKey = Duplicerat nyckelv\u00E4rde [{0}] har deklarerats f\u00F6r id-begr\u00E4nsning av elementet "{1}".
+ DuplicateUnique = Duplicerat unikt v\u00E4rde [{0}] har deklarerats f\u00F6r id-begr\u00E4nsning av elementet "{1}".
+ FieldMultipleMatch = Fel vid id-begr\u00E4nsning: f\u00E4ltet "{0}" matchar fler \u00E4n ett v\u00E4rde inom omfattningen av v\u00E4ljaren; f\u00E4lt m\u00E5ste matcha unika v\u00E4rden.
+ FixedDiffersFromActual = Elementets inneh\u00E5ll motsvarar inte v\u00E4rdet av attributet som anges som "fixed" i elementdeklarationen i schemat.
+ KeyMatchesNillable = Fel vid id-begr\u00E4nsning (cvc-identity-constraint.4.2.3): elementet "{0}" har en nyckel som matchar ett element med nullbart v\u00E4rde angivet som true.
+ KeyNotEnoughValues = Det finns inte tillr\u00E4ckligt m\u00E5nga v\u00E4rden angivna f\u00F6r som id-begr\u00E4nsning f\u00F6r elementet "{0}".
KeyNotFound = Nyckeln ''{0}'' med v\u00E4rdet ''{1}'' hittades inte f\u00F6r id-begr\u00E4nsning f\u00F6r element ''{2}''.
- KeyRefNotEnoughValues = Det finns inte tillr\u00E4ckligt m\u00E5nga v\u00E4rden angivna f\u00F6r som id-begr\u00E4nsning f\u00F6r elementet \"{0}\".
- KeyRefOutOfScope = Fel vid id-begr\u00E4nsning: id-begr\u00E4nsning \"{0}\" har en nyckelreferens som refererar till nyckel eller unikt v\u00E4rde utanf\u00F6r definitionsomr\u00E5det.
- KeyRefReferNotFound = Nyckelreferensdeklarationen \"{0}\" refererar till ok\u00E4nd nyckel med namnet \"{1}\".
- UniqueNotEnoughValues = Det finns inte tillr\u00E4ckligt m\u00E5nga v\u00E4rden angivna f\u00F6r som id-begr\u00E4nsning f\u00F6r elementet \"{0}\".
- UnknownField = Fel vid intern id-begr\u00E4nsning; ok\u00E4nt f\u00E4lt \"{0}\".
+ KeyRefNotEnoughValues = Det finns inte tillr\u00E4ckligt m\u00E5nga v\u00E4rden angivna f\u00F6r som id-begr\u00E4nsning f\u00F6r elementet "{0}".
+ KeyRefOutOfScope = Fel vid id-begr\u00E4nsning: id-begr\u00E4nsning "{0}" har en nyckelreferens som refererar till nyckel eller unikt v\u00E4rde utanf\u00F6r definitionsomr\u00E5det.
+ KeyRefReferNotFound = Nyckelreferensdeklarationen "{0}" refererar till ok\u00E4nd nyckel med namnet "{1}".
+ UniqueNotEnoughValues = Det finns inte tillr\u00E4ckligt m\u00E5nga v\u00E4rden angivna f\u00F6r som id-begr\u00E4nsning f\u00F6r elementet "{0}".
+ UnknownField = Fel vid intern id-begr\u00E4nsning; ok\u00E4nt f\u00E4lt "{0}".
# Ideally, we should only use the following error keys, not the ones under
# "Identity constraints". And we should cover all of the following errors.
@@ -63,7 +60,7 @@
#validation (3.X.4)
cvc-attribute.3 = cvc-attribute.3: V\u00E4rdet ''{2}'' f\u00F6r attributet ''{1}'' i elementet ''{0}'' har ogiltig typ, ''{3}''.
- cvc-attribute.4 = cvc-attribute.4: V\u00E4rdet \''{2}\'' f\u00F6r attributet \''{1}\'' i elementet \''{0}\'' har ogiltig fast \''{\''v\u00E4rdebegr\u00E4nsning\''}\''. Attributet m\u00E5ste ha v\u00E4rdet \''{3}\''.
+ cvc-attribute.4 = cvc-attribute.4: V\u00E4rdet ''{2}'' f\u00F6r attributet ''{1}'' i elementet ''{0}'' har ogiltig fast ''{''v\u00E4rdebegr\u00E4nsning''}''. Attributet m\u00E5ste ha v\u00E4rdet ''{3}''.
cvc-complex-type.2.1 = cvc-complex-type.2.1: Elementet ''{0}'' f\u00E5r inte ha [underordnade] objekt med tecken- eller elementinformation, eftersom inneh\u00E5llstyp \u00E4r tomt.
cvc-complex-type.2.2 = cvc-complex-type.2.2: Elementet ''{0}'' f\u00E5r inte ha [underordnade] element och v\u00E4rdet m\u00E5ste vara giltigt.
cvc-complex-type.2.3 = cvc-complex-type.2.3: Elementet ''{0}'' f\u00E5r inte ha [underordnade] tecken, eftersom inneh\u00E5llstyp \u00E4r endast element.
@@ -77,19 +74,19 @@
cvc-complex-type.3.2.2 = cvc-complex-type.3.2.2: Attributet ''{1}'' \u00E4r inte till\u00E5tet i elementet ''{0}''.
cvc-complex-type.4 = cvc-complex-type.4: Attributet ''{1}'' m\u00E5ste anger i elementet ''{0}''.
cvc-complex-type.5.1 = cvc-complex-type.5.1: I elementet ''{0}'' \u00E4r attributet ''{1}'' ett joker-id. Joker-id ''{2}'' finns redan och endast ett id kan anv\u00E4ndas.
- cvc-complex-type.5.2 = cvc-complex-type.5.2: I elementet ''{0}'' \u00E4r attributet ''{1}'' ett joker-id. Det finns redan ett attribut ''{2}'' som tas fr\u00E5n id bland \''{\''attributanv\u00E4ndningar\''}\''.
+ cvc-complex-type.5.2 = cvc-complex-type.5.2: I elementet ''{0}'' \u00E4r attributet ''{1}'' ett joker-id. Det finns redan ett attribut ''{2}'' som tas fr\u00E5n id bland ''{''attributanv\u00E4ndningar''}''.
cvc-datatype-valid.1.2.1 = cvc-datatype-valid.1.2.1: ''{0}'' \u00E4r inte n\u00E5got giltigt v\u00E4rde f\u00F6r ''{1}''.
cvc-datatype-valid.1.2.2 = cvc-datatype-valid.1.2.2: ''{0}'' \u00E4r inte n\u00E5got giltigt v\u00E4rde f\u00F6r listtyp ''{1}''.
cvc-datatype-valid.1.2.3 = cvc-datatype-valid.1.2.3: ''{0}'' \u00E4r inte n\u00E5got giltigt v\u00E4rde f\u00F6r uniontyp ''{1}''.
cvc-elt.1 = cvc-elt.1: Kan inte hitta deklarationen f\u00F6r elementet ''{0}''.
- cvc-elt.2 = cvc-elt.2: V\u00E4rdet f\u00F6r \''{\''abstrakt\''}\'' i elementdeklarationen f\u00F6r ''{0}'' m\u00E5ste anges som false.
- cvc-elt.3.1 = cvc-elt.3.1: Attributet ''{1}'' f\u00E5r inte anges i elementet ''{0}'', eftersom \''{\''nullbar\''}\'' egenskap f\u00F6r ''{0}'' har angetts som false.
+ cvc-elt.2 = cvc-elt.2: V\u00E4rdet f\u00F6r ''{''abstrakt''}'' i elementdeklarationen f\u00F6r ''{0}'' m\u00E5ste anges som false.
+ cvc-elt.3.1 = cvc-elt.3.1: Attributet ''{1}'' f\u00E5r inte anges i elementet ''{0}'', eftersom ''{''nullbar''}'' egenskap f\u00F6r ''{0}'' har angetts som false.
cvc-elt.3.2.1 = cvc-elt.3.2.1: Elementet ''{0}'' f\u00E5r inte inneh\u00E5lla [underordnade] med tecken- eller elementinformation eftersom ''{1}'' har angetts.
- cvc-elt.3.2.2 = cvc-elt.3.2.2: Det f\u00E5r inte finnas n\u00E5gon fast \''{\''v\u00E4rdebegr\u00E4nsning\''}\'' f\u00F6r elementet ''{0}'' eftersom ''{1}'' har angetts.
+ cvc-elt.3.2.2 = cvc-elt.3.2.2: Det f\u00E5r inte finnas n\u00E5gon fast ''{''v\u00E4rdebegr\u00E4nsning''}'' f\u00F6r elementet ''{0}'' eftersom ''{1}'' har angetts.
cvc-elt.4.1 = cvc-elt.4.1: V\u00E4rdet ''{2}'' f\u00F6r attributet ''{1}'' i elementet ''{0}'' \u00E4r inte n\u00E5got giltigt QName.
cvc-elt.4.2 = cvc-elt.4.2: Kan inte matcha ''{1}'' med typdefinition f\u00F6r elementet ''{0}''.
cvc-elt.4.3 = cvc-elt.4.3: Typ ''{1}'' \u00E4r inte giltigt att tas fr\u00E5n typdefinitionen ''{2}'' i elementet ''{0}''.
- cvc-elt.5.1.1 = cvc-elt.5.1.1: \''{\''v\u00E4rdebegr\u00E4nsning\''}\'' ''{2}'' i elementet ''{0}'' \u00E4r inte n\u00E5got giltigt standardv\u00E4rde f\u00F6r typ ''{1}''.
+ cvc-elt.5.1.1 = cvc-elt.5.1.1: ''{''v\u00E4rdebegr\u00E4nsning''}'' ''{2}'' i elementet ''{0}'' \u00E4r inte n\u00E5got giltigt standardv\u00E4rde f\u00F6r typ ''{1}''.
cvc-elt.5.2.2.1 = cvc-elt.5.2.2.1: Elementet ''{0}'' f\u00E5r inte ha [underordnade] objekt med elementinformation.
cvc-elt.5.2.2.2.1 = cvc-elt.5.2.2.2.1: V\u00E4rdet ''{1}'' i elementet ''{0}'' matchar inte v\u00E4rdet med fast ''{''v\u00E4rdebegr\u00E4nsning''}'', ''{2}''.
cvc-elt.5.2.2.2.2 = cvc-elt.5.2.2.2.2: V\u00E4rdet ''{1}'' i elementet ''{0}'' matchar inte v\u00E4rdet med ''{''v\u00E4rdebegr\u00E4nsning''}'', ''{2}''.
@@ -114,7 +111,7 @@
#schema valid (3.X.3)
- schema_reference.access = schema_reference: Failed to read schema document ''{0}'', because ''{1}'' access is not allowed.
+ schema_reference.access = schema_reference: Kunde inte l\u00E4sa schemadokument ''{0}'', eftersom ''{1}'' \u00E5tkomst inte till\u00E5ts.
schema_reference.4 = schema_reference.4: L\u00E4sning av schemadokument ''{0}'' utf\u00F6rdes inte p\u00E5 grund av 1) det g\u00E5r inte att hitta dokumentet; 2) det g\u00E5r inte att l\u00E4sa dokumentet; 3) dokumentets rotelement \u00E4r inte .
src-annotation = src-annotation: element f\u00F6r f\u00E5r endast inneh\u00E5lla element f\u00F6r och , men ''{0}'' hittades.
src-attribute.1 = src-attribute.1: B\u00E5da egenskaperna ''default'' och ''fixed'' kan inte samtidigt ing\u00E5 i attributdeklarationen ''{0}''. Anv\u00E4nd en av dem.
@@ -171,31 +168,31 @@
ag-props-correct.2 = ag-props-correct.2: Ett fel intr\u00E4ffade f\u00F6r attributgruppen ''{0}''. Duplicerad attributanv\u00E4ndning med samma namn och namnrymd. Namnet p\u00E5 dubbletten \u00E4r ''{1}''.
ag-props-correct.3 = ag-props-correct.3: Ett fel intr\u00E4ffade f\u00F6r attributgruppen ''{0}''. Tv\u00E5 attributdeklarationer, ''{1}'' och ''{2}'' har angetts med typer som h\u00E4rleds fr\u00E5n ID.
a-props-correct.2 = a-props-correct.2: Ogiltigt v\u00E4rde f\u00F6r begr\u00E4nsning, ''{1}'', i attributet ''{0}''.
- a-props-correct.3 = a-props-correct.3: Attributet ''{0}'' f\u00E5r inte anv\u00E4nda ''fixed'' eller ''default'', eftersom attributets \''{\''typdefinition\''}\'' \u00E4r ID eller h\u00E4rleds fr\u00E5n ID.
- au-props-correct.2 = au-props-correct.2: Det fasta v\u00E4rdet ''{1}'' har angetts i attributdeklarationen ''{0}''. Om attributet som refererar till ''{0}'' \u00E4ven inneh\u00E5ller en \''{\''v\u00E4rdebegr\u00E4nsning\''}\'' m\u00E5ste du l\u00F6sa detta och ange v\u00E4rdet ''{1}''.
+ a-props-correct.3 = a-props-correct.3: Attributet ''{0}'' f\u00E5r inte anv\u00E4nda ''fixed'' eller ''default'', eftersom attributets ''{''typdefinition''}'' \u00E4r ID eller h\u00E4rleds fr\u00E5n ID.
+ au-props-correct.2 = au-props-correct.2: Det fasta v\u00E4rdet ''{1}'' har angetts i attributdeklarationen ''{0}''. Om attributet som refererar till ''{0}'' \u00E4ven inneh\u00E5ller en ''{''v\u00E4rdebegr\u00E4nsning''}'' m\u00E5ste du l\u00F6sa detta och ange v\u00E4rdet ''{1}''.
cos-all-limited.1.2 = cos-all-limited.1.2: En 'all'-modellgrupp m\u00E5ste anges i en partikel med '{'min f\u00F6rekomster'}' = '{'max f\u00F6rekomster'}' = 1 och partikeln m\u00E5ste vara en del i ett par som utg\u00F6r '{'inneh\u00E5llstyp'}' i en komplex typdefinition.
- cos-all-limited.2 = cos-all-limited.2: V\u00E4rdet f\u00F6r \''{\''max f\u00F6rekomster\''}\'' i ett element i en ''all''-modellgrupp m\u00E5ste vara 0 eller 1. V\u00E4rdet ''{0}'' f\u00F6r elementet ''{1}'' \u00E4r ogiltigt.
+ cos-all-limited.2 = cos-all-limited.2: V\u00E4rdet f\u00F6r ''{''max f\u00F6rekomster''}'' i ett element i en ''all''-modellgrupp m\u00E5ste vara 0 eller 1. V\u00E4rdet ''{0}'' f\u00F6r elementet ''{1}'' \u00E4r ogiltigt.
cos-applicable-facets = cos-applicable-facets: Aspekten (facet) ''{0}'' \u00E4r inte till\u00E5ten med typ {1}.
cos-ct-extends.1.1 = cos-ct-extends.1.1: Typ ''{0}'' h\u00E4rleds fr\u00E5n ett till\u00E4gg fr\u00E5n typ ''{1}''. Attributet ''final'' i ''{1}'' till\u00E5ter dock inte h\u00E4rledning av till\u00E4gg.
cos-ct-extends.1.4.3.2.2.1.a = cos-ct-extends.1.4.3.2.2.1.a: Inneh\u00E5llstyp f\u00F6r h\u00E4rledd typ och f\u00F6r basen m\u00E5ste b\u00E5da vara blandade eller endast element. Typ ''{0}'' \u00E4r endast element, men d\u00E4remot inte basen.
cos-ct-extends.1.4.3.2.2.1.b = cos-ct-extends.1.4.3.2.2.1.b: Inneh\u00E5llstyp f\u00F6r h\u00E4rledd typ och f\u00F6r basen m\u00E5ste b\u00E5da vara blandade eller endast element. Typ ''{0}'' \u00E4r blandat, men d\u00E4remot inte basen.
cos-element-consistent = cos-element-consistent: Ett fel intr\u00E4ffade f\u00F6r typ ''{0}''. Flera element med namnet ''{1}'', med olika typer, har angetts i modellgruppen.
cos-list-of-atomic = cos-list-of-atomic: I definitionen av listtyp ''{0}'' \u00E4r typ ''{1}'' en ogiltig typ av listelement eftersom den inte \u00E4r atomisk (''{1}'' \u00E4r antingen en listtyp eller en uniontyp som inneh\u00E5ller en lista).
- cos-nonambig = cos-nonambig: {0} och {1} (eller element fr\u00E5n ers\u00E4ttningsgruppen) bryter mot \"Unique Particle Attribution\". Detta skapar tvetydighet f\u00F6r partiklarna vid validering gentemot detta schema.
+ cos-nonambig = cos-nonambig: {0} och {1} (eller element fr\u00E5n ers\u00E4ttningsgruppen) bryter mot "Unique Particle Attribution". Detta skapar tvetydighet f\u00F6r partiklarna vid validering gentemot detta schema.
cos-particle-restrict.a = cos-particle-restrict.a: H\u00E4rledd partikel \u00E4r tom och basen \u00E4r inte t\u00F6mningsbar.
cos-particle-restrict.b = cos-particle-restrict.b: Baspartikeln \u00E4r tom, men den h\u00E4rledda partikeln \u00E4r inte det.
cos-particle-restrict.2 = cos-particle-restrict.2: F\u00F6rbjuden partikelbegr\u00E4nsning: ''{0}''.
- cos-st-restricts.1.1 = cos-st-restricts.1.1: Typ ''{1}'' \u00E4r atomisk och d\u00E4rf\u00F6r m\u00E5ste \''{\''bastypdefinitionen\''}\'', ''{0}'', anges som atomisk enkel typ eller inbyggd primitiv datatyp.
+ cos-st-restricts.1.1 = cos-st-restricts.1.1: Typ ''{1}'' \u00E4r atomisk och d\u00E4rf\u00F6r m\u00E5ste ''{''bastypdefinitionen''}'', ''{0}'', anges som atomisk enkel typ eller inbyggd primitiv datatyp.
cos-st-restricts.2.1 = cos-st-restricts.2.1: I definitionen av listtyp ''{0}'' \u00E4r typ ''{1}'' en ogiltig objekttyp eftersom det \u00E4r antingen en listtyp eller en uniontyp som inneh\u00E5ller en lista.
- cos-st-restricts.2.3.1.1 = cos-st-restricts.2.3.1.1: Den \''{\''sista\''}\'' komponenten i \''{\''objekttypdefinitionen\''}\'', ''{0}'', inneh\u00E5ller ''list''. Detta betyder att ''{0}'' inte kan anv\u00E4ndas som objekttyp f\u00F6r listtyp ''{1}''.
- cos-st-restricts.3.3.1.1 = cos-st-restricts.3.3.1.1: Den ''{''sista''}'' komponenten i \''{\''medlemtypdefinitionerna\''}\'', ''{0}'', inneh\u00E5ller ''union''. Detta betyder att ''{0}'' inte kan anv\u00E4ndas som medlemstyp f\u00F6r uniontyp ''{1}''.
+ cos-st-restricts.2.3.1.1 = cos-st-restricts.2.3.1.1: Den ''{''sista''}'' komponenten i ''{''objekttypdefinitionen''}'', ''{0}'', inneh\u00E5ller ''list''. Detta betyder att ''{0}'' inte kan anv\u00E4ndas som objekttyp f\u00F6r listtyp ''{1}''.
+ cos-st-restricts.3.3.1.1 = cos-st-restricts.3.3.1.1: Den ''{''sista''}'' komponenten i ''{''medlemtypdefinitionerna''}'', ''{0}'', inneh\u00E5ller ''union''. Detta betyder att ''{0}'' inte kan anv\u00E4ndas som medlemstyp f\u00F6r uniontyp ''{1}''.
cos-valid-default.2.1 = cos-valid-default.2.1: Elementet ''{0}'' har en v\u00E4rdebegr\u00E4nsning och m\u00E5ste ha en blandad eller enkel inneh\u00E5llsmodell.
- cos-valid-default.2.2.2 = cos-valid-default.2.2.2: Eftersom elementet ''{0}'' har en \''{\''v\u00E4rdebegr\u00E4nsning\''}\'' och typdefinitionen har blandad \''{\''inneh\u00E5llstyp\''}\'' s\u00E5 m\u00E5ste partikeln av \''{\''inneh\u00E5llstyp\''}\'' vara t\u00F6mningsbar.
+ cos-valid-default.2.2.2 = cos-valid-default.2.2.2: Eftersom elementet ''{0}'' har en ''{''v\u00E4rdebegr\u00E4nsning''}'' och typdefinitionen har blandad ''{''inneh\u00E5llstyp''}'' s\u00E5 m\u00E5ste partikeln av ''{''inneh\u00E5llstyp''}'' vara t\u00F6mningsbar.
c-props-correct.2 = c-props-correct.2: Kardinalitet av f\u00E4lt med nyckelreferens ''{0}'' och nyckel ''{1}'' m\u00E5ste matcha varandra.
ct-props-correct.3 = ct-props-correct.3: Cirkul\u00E4ra definitioner har identifierats f\u00F6r komplex typ ''{0}''. Detta inneb\u00E4r att ''{0}'' ing\u00E5r i sin egen typhierarki, vilket \u00E4r fel.
ct-props-correct.4 = ct-props-correct.4: Ett fel intr\u00E4ffade f\u00F6r typ ''{0}''. Duplicerad attributanv\u00E4ndning med samma namn och namnrymd. Namnet p\u00E5 dubbletten \u00E4r ''{1}''.
ct-props-correct.5 = ct-props-correct.5: Ett fel intr\u00E4ffade f\u00F6r typ ''{0}''. Tv\u00E5 attributdeklarationer, ''{1}'' och ''{2}'', anv\u00E4nds med typer som h\u00E4rleds fr\u00E5n ID.
- derivation-ok-restriction.1 = derivation-ok-restriction.1: Typ ''{0}'' h\u00E4rleddes genom begr\u00E4nsning fr\u00E5n typ ''{1}''. ''{1}'' har d\u00E4remot en \''{\''slutlig\''}\'' egenskap som f\u00F6rbjuder h\u00E4rledning via begr\u00E4nsning.
+ derivation-ok-restriction.1 = derivation-ok-restriction.1: Typ ''{0}'' h\u00E4rleddes genom begr\u00E4nsning fr\u00E5n typ ''{1}''. ''{1}'' har d\u00E4remot en ''{''slutlig''}'' egenskap som f\u00F6rbjuder h\u00E4rledning via begr\u00E4nsning.
derivation-ok-restriction.2.1.1 = derivation-ok-restriction.2.1.1: Ett fel intr\u00E4ffade f\u00F6r typ ''{0}''. Attributanv\u00E4ndning ''{1}'' i denna typ har ''use''-v\u00E4rdet ''{2}'' vilket inte \u00E4r konsekvent med v\u00E4rdet f\u00F6r ''required'' i matchande attributanv\u00E4ndning i bastypen.
derivation-ok-restriction.2.1.2 = derivation-ok-restriction.2.1.2: Ett fel intr\u00E4ffade f\u00F6r typ ''{0}''. Attributanv\u00E4ndning ''{1}'' i denna typ har typ ''{2}'', som inte f\u00E5r h\u00E4rledas fr\u00E5n ''{3}'', typ i matchande attributanv\u00E4ndning i bastypen.
derivation-ok-restriction.2.1.3.a = derivation-ok-restriction.2.1.3.a: Ett fel intr\u00E4ffade f\u00F6r typ ''{0}''. Attributanv\u00E4ndning ''{1}'' i denna typ har en effektiv v\u00E4rdebegr\u00E4nsning som inte \u00E4r fast, medan den effektiva v\u00E4rdebegr\u00E4nsningen i matchande attributanv\u00E4ndning i bastypen \u00E4r fast.
@@ -210,11 +207,11 @@
derivation-ok-restriction.5.3.2 = derivation-ok-restriction.5.3.2: Ett fel intr\u00E4ffade f\u00F6r typ ''{0}''. Inneh\u00E5llstypen f\u00F6r denna typ \u00E4r tom, men inneh\u00E5llstypen f\u00F6r basen, ''{1}'', \u00E4r inte tom eller t\u00F6mningsbar.
derivation-ok-restriction.5.4.1.2 = derivation-ok-restriction.5.4.1.2: Ett fel intr\u00E4ffade f\u00F6r typ ''{0}''. Inneh\u00E5llstypen f\u00F6r denna typ \u00E4r blandad, medan inneh\u00E5llstypen f\u00F6r basen, ''{1}'', inte \u00E4r det.
derivation-ok-restriction.5.4.2 = derivation-ok-restriction.5.4.2: Ett fel intr\u00E4ffade f\u00F6r typ ''{0}''. Typpartikeln \u00E4r inte n\u00E5gon giltig begr\u00E4nsning f\u00F6r partikeln i basen.
- enumeration-required-notation = enumeration-required-notation: NOTATION-typ, ''{0}'' anv\u00E4nds av {2} ''{1}'', m\u00E5ste anges med uppr\u00E4kningsv\u00E4rde som specificerar de notationselement som anv\u00E4nds av denna typ.
+ enumeration-required-notation = enumeration-required-notation: NOTATION-typ, ''{0}'' anv\u00E4nds av {2} ''{1}'', m\u00E5ste anges med uppr\u00E4kningsaspektv\u00E4rde som specificerar de notationselement som anv\u00E4nds av denna typ.
enumeration-valid-restriction = enumeration-valid-restriction: Uppr\u00E4kningsv\u00E4rdet ''{0}'' finns inte i bastypens, {1}, v\u00E4rdeutrymme.
e-props-correct.2 = e-props-correct.2: Ogiltigt v\u00E4rde f\u00F6r begr\u00E4nsningsv\u00E4rde ''{1}'' i elementet ''{0}''.
- e-props-correct.4 = e-props-correct.4: \''{\''Typdefinition\''}\'' f\u00F6r elementet ''{0}'' har en ogiltig h\u00E4rledning fr\u00E5n \''{\''typdefinitionen\''}\'' f\u00F6r substitutionHead ''{1}'' eller s\u00E5 till\u00E5ts inte denna h\u00E4rledning av egenskapen ''{1}'' f\u00F6r \''{\''ers\u00E4ttningsgruppexkluderingar\''}\''.
- e-props-correct.5 = e-props-correct.5: En \''{\''v\u00E4rdebegr\u00E4nsning\''}\'' f\u00E5r inte finnas med i elementet ''{0}'' eftersom elementets \''{\''typdefinition\''}\'' eller \''{\''typdefinitionens\''}\'' \''{\''inneh\u00E5llstyp\''}\'' \u00E4r ID, eller h\u00E4rleds fr\u00E5n ID.
+ e-props-correct.4 = e-props-correct.4: ''{''Typdefinition''}'' f\u00F6r elementet ''{0}'' har en ogiltig h\u00E4rledning fr\u00E5n ''{''typdefinitionen''}'' f\u00F6r substitutionHead ''{1}'' eller s\u00E5 till\u00E5ts inte denna h\u00E4rledning av egenskapen ''{1}'' f\u00F6r ''{''ers\u00E4ttningsgruppexkluderingar''}''.
+ e-props-correct.5 = e-props-correct.5: En ''{''v\u00E4rdebegr\u00E4nsning''}'' f\u00E5r inte finnas med i elementet ''{0}'' eftersom elementets ''{''typdefinition''}'' eller ''{''typdefinitionens''}'' ''{''inneh\u00E5llstyp''}'' \u00E4r ID, eller h\u00E4rleds fr\u00E5n ID.
e-props-correct.6 = e-props-correct.6: Cirkul\u00E4r ers\u00E4ttningsgrupp identifierades f\u00F6r elementet ''{0}''.
fractionDigits-valid-restriction = fractionDigits-valid-restriction: I definitionen f\u00F6r {2} \u00E4r v\u00E4rdet ''{0}'' f\u00F6r ''fractionDigits'' ogiltigt eftersom det m\u00E5ste vara mindre \u00E4n eller lika med v\u00E4rdet f\u00F6r ''fractionDigits'' som har angetts som ''{1}'' i n\u00E5gon typ f\u00F6r \u00F6verordnad.
fractionDigits-totalDigits = fractionDigits-totalDigits: I definitionen av {2} \u00E4r v\u00E4rdet ''{0}'' f\u00F6r ''fractionDigits'' ogiltigt eftersom v\u00E4rdet m\u00E5ste vara mindre \u00E4n eller lika med v\u00E4rdet f\u00F6r ''totalDigits'' som \u00E4r ''{1}''.
@@ -235,7 +232,7 @@
maxInclusive-valid-restriction.3 = maxInclusive-valid-restriction.3: Ett fel intr\u00E4ffade f\u00F6r typ ''{2}''. maxInclusive-v\u00E4rdet ''{0}'' m\u00E5ste vara st\u00F6rre \u00E4n eller lika med minInclusive i bastyp ''{1}''.
maxInclusive-valid-restriction.4 = maxInclusive-valid-restriction.4: Ett fel intr\u00E4ffade f\u00F6r typ ''{2}''. maxInclusive-v\u00E4rdet ''{0}'' m\u00E5ste vara st\u00F6rre \u00E4n minExclusive i bastyp ''{1}''.
maxLength-valid-restriction = maxLength-valid-restriction: I definitionen f\u00F6r {2} m\u00E5ste maxLength-v\u00E4rdet ''{0}'' vara mindre \u00E4n eller lika med v\u00E4rdet i bastyp ''{1}''.
- mg-props-correct.2 = mg-props-correct.2: Cirkul\u00E4ra definitioner identifierades f\u00F6r gruppen ''{0}''. Rekursivt efterf\u00F6ljande v\u00E4rdena f\u00F6r \''{\''term\''}\'' i partiklarna leder till en partikel vars \''{\''term\''}\'' \u00E4r den ursprungliga gruppen.
+ mg-props-correct.2 = mg-props-correct.2: Cirkul\u00E4ra definitioner identifierades f\u00F6r gruppen ''{0}''. Rekursivt efterf\u00F6ljande v\u00E4rdena f\u00F6r ''{''term''}'' i partiklarna leder till en partikel vars ''{''term''}'' \u00E4r den ursprungliga gruppen.
minExclusive-less-than-equal-to-maxExclusive = minExclusive-less-than-equal-to-maxExclusive: I definitionen f\u00F6r {2} m\u00E5ste minExclusive-v\u00E4rdet ''{0}'' vara mindre \u00E4n eller lika med maxExclusive-v\u00E4rdet ''{1}''.
minExclusive-less-than-maxInclusive = minExclusive-less-than-maxInclusive: I definitionen f\u00F6r {2} m\u00E5ste minExclusive-v\u00E4rdet ''{0}'' vara mindre \u00E4n maxInclusive-v\u00E4rdet ''{1}''.
minExclusive-valid-restriction.1 = minExclusive-valid-restriction.1: Ett fel intr\u00E4ffade f\u00F6r typ ''{2}''. minExclusive-v\u00E4rdet ''{0}'' m\u00E5ste vara st\u00F6rre \u00E4n eller lika med minExclusive i bastyp ''{1}''.
@@ -252,20 +249,20 @@
minLength-less-than-equal-to-maxLength = minLength-less-than-equal-to-maxLength: I definitionen f\u00F6r {2} m\u00E5ste minLength-v\u00E4rdet ''{0}'' vara mindre \u00E4n maxLength-v\u00E4rdet ''{1}''.
minLength-valid-restriction = minLength-valid-restriction: I definitionen f\u00F6r {2} m\u00E5ste minLength-v\u00E4rdet ''{0}'' vara st\u00F6rre \u00E4n eller lika med v\u00E4rdet i bastyp ''{1}''.
no-xmlns = no-xmlns: Ett {namn} p\u00E5 en attributdeklaration f\u00E5r inte matcha 'xmlns'.
- no-xsi = no-xsi: En \''{\''m\u00E5lnamnrymd\''}\'' i en attributdeklaration f\u00E5r inte matcha ''{0}''.
+ no-xsi = no-xsi: En ''{''m\u00E5lnamnrymd''}'' i en attributdeklaration f\u00E5r inte matcha ''{0}''.
p-props-correct.2.1 = p-props-correct.2.1: I deklarationen ''{0}'' \u00E4r v\u00E4rdet f\u00F6r ''minOccurs'' ''{1}'', men det f\u00E5r inte vara st\u00F6rre \u00E4n v\u00E4rdet f\u00F6r ''maxOccurs'' (som \u00E4r ''{2}'').
rcase-MapAndSum.1 = rcase-MapAndSum.1: Det finns ingen fullst\u00E4ndigt fungerande mappning mellan partiklarna.
rcase-MapAndSum.2 = rcase-MapAndSum.2: Gruppens f\u00F6rekomstintervall ({0},{1}) \u00E4r inte n\u00E5gon giltig begr\u00E4nsning f\u00F6r basgruppens f\u00F6rekomstintervall, ({2},{3}).
rcase-NameAndTypeOK.1 = rcase-NameAndTypeOK.1: Element har namn och m\u00E5lnamnrymder som inte \u00E4r desamma: Elementet ''{0}'' i namnrymd ''{1}'' och elementet ''{2}'' i namnrymd ''{3}''.
- rcase-NameAndTypeOK.2 = rcase-NameAndTypeOK.2: Ett fel intr\u00E4ffade f\u00F6r partikeln vars \''{\''term\''}\'' \u00E4r elementdeklarationen ''{0}''. Elementdeklarationens v\u00E4rde som \u00E4r \''{\''nullbart\''}\'' har angetts som true, men motsvarande partikel i bastypen har en elementdeklaration vars v\u00E4rde som \u00E4r \''{\''nullbart\''}\'' har angetts som false.
- rcase-NameAndTypeOK.3 = rcase-NameAndTypeOK.3: Ett fel intr\u00E4ffade f\u00F6r partikeln vars \''{\''term\''}\'' \u00E4r elementdeklarationen ''{0}''. F\u00F6rekomstintervallet, ({1},{2}), \u00E4r inte n\u00E5gon giltig begr\u00E4nsning f\u00F6r intervallet, ({3},{4}, i motsvarande partikel i bastypen.
+ rcase-NameAndTypeOK.2 = rcase-NameAndTypeOK.2: Ett fel intr\u00E4ffade f\u00F6r partikeln vars ''{''term''}'' \u00E4r elementdeklarationen ''{0}''. Elementdeklarationens v\u00E4rde som \u00E4r ''{''nullbart''}'' har angetts som true, men motsvarande partikel i bastypen har en elementdeklaration vars v\u00E4rde som \u00E4r ''{''nullbart''}'' har angetts som false.
+ rcase-NameAndTypeOK.3 = rcase-NameAndTypeOK.3: Ett fel intr\u00E4ffade f\u00F6r partikeln vars ''{''term''}'' \u00E4r elementdeklarationen ''{0}''. F\u00F6rekomstintervallet, ({1},{2}), \u00E4r inte n\u00E5gon giltig begr\u00E4nsning f\u00F6r intervallet, ({3},{4}, i motsvarande partikel i bastypen.
rcase-NameAndTypeOK.4.a = rcase-NameAndTypeOK.4.a: Elementet ''{0}'' har inte n\u00E5got fast v\u00E4rde, men motsvarande element i bastypen har angetts med det fasta v\u00E4rdet ''{1}''.
rcase-NameAndTypeOK.4.b = rcase-NameAndTypeOK.4.b: Elementet ''{0}'' har det fasta v\u00E4rdet ''{1}'', men motsvarande element i bastypen har angetts med det fasta v\u00E4rdet ''{2}''.
rcase-NameAndTypeOK.5 = rcase-NameAndTypeOK.5: Identitetsbegr\u00E4nsningarna f\u00F6r elementet ''{0}'' \u00E4r inte n\u00E5gon del av de som finns i basen.
rcase-NameAndTypeOK.6 = rcase-NameAndTypeOK.6: De avaktiverade ers\u00E4ttningarna f\u00F6r elementet ''{0}'' \u00E4r inte inneslutna i basen.
rcase-NameAndTypeOK.7 = rcase-NameAndTypeOK.7: Elementtyp ''{0}'', ''{1}'' h\u00E4rleds inte fr\u00E5n typ av baselement, ''{2}''.
rcase-NSCompat.1 = rcase-NSCompat.1: Elementet ''{0}'' har namnrymden ''{1}'' som inte \u00E4r till\u00E5tet av jokertecknet i basen.
- rcase-NSCompat.2 = rcase-NSCompat.2: Ett fel intr\u00E4ffade f\u00F6r partikeln vars \''{\''term\''}\'' \u00E4r elementdeklarationen ''{0}''. F\u00F6rekomstintervallet, ({1},{2}), \u00E4r inte n\u00E5gon giltig begr\u00E4nsning f\u00F6r intervallet, ({3},{4}, i motsvarande partikel i bastypen.
+ rcase-NSCompat.2 = rcase-NSCompat.2: Ett fel intr\u00E4ffade f\u00F6r partikeln vars ''{''term''}'' \u00E4r elementdeklarationen ''{0}''. F\u00F6rekomstintervallet, ({1},{2}), \u00E4r inte n\u00E5gon giltig begr\u00E4nsning f\u00F6r intervallet, ({3},{4}, i motsvarande partikel i bastypen.
rcase-NSRecurseCheckCardinality.1 = rcase-NSRecurseCheckCardinality.1: Det finns ingen fullst\u00E4ndigt fungerande mappning mellan partiklarna.
rcase-NSRecurseCheckCardinality.2 = rcase-NSRecurseCheckCardinality.2: Gruppens f\u00F6rekomstintervall ({0},{1}) \u00E4r inte n\u00E5gon giltig begr\u00E4nsning f\u00F6r basjokertecknets intervall, ({2},{3}).
rcase-NSSubset.1 = rcase-NSSubset.1: Jokertecknet \u00E4r inte n\u00E5gon del av motsvarande jokertecken i basen.
@@ -281,7 +278,7 @@
# src-redefine.1 = src-redefine.1: The component ''{0}'' is begin redefined, but its corresponding component isn't in the schema document being redefined (with namespace ''{2}''), but in a different document, with namespace ''{1}''.
sch-props-correct.2 = sch-props-correct.2: Ett schema kan inte inneh\u00E5lla tv\u00E5 globala komponenter med samma namn. Detta schema har tv\u00E5 f\u00F6rekomster av ''{0}''.
st-props-correct.2 = st-props-correct.2: Cirkul\u00E4ra definitioner har identifierats f\u00F6r enkel typ ''{0}''. Detta inneb\u00E4r att ''{0}'' ing\u00E5r i sin egen typhierarki, vilket \u00E4r fel.
- st-props-correct.3 = st-props-correct.3: Ett fel intr\u00E4ffade f\u00F6r typ ''{0}''. V\u00E4rdet f\u00F6r \''{\''slutgiltigt\''}\'' i \''{\''bastypdefinitionen\''}\'', ''{1}'', f\u00F6rbjuder h\u00E4rledning med begr\u00E4nsning.
+ st-props-correct.3 = st-props-correct.3: Ett fel intr\u00E4ffade f\u00F6r typ ''{0}''. V\u00E4rdet f\u00F6r ''{''slutgiltigt''}'' i ''{''bastypdefinitionen''}'', ''{1}'', f\u00F6rbjuder h\u00E4rledning med begr\u00E4nsning.
totalDigits-valid-restriction = totalDigits-valid-restriction: I definitionen f\u00F6r {2} \u00E4r v\u00E4rdet ''{0}'' f\u00F6r ''totalDigits'' ogiltigt eftersom det m\u00E5ste vara mindre \u00E4n eller lika med v\u00E4rdet f\u00F6r ''totalDigits'' som har angetts som ''{1}'' i n\u00E5gon typ f\u00F6r \u00F6verordnad.
whiteSpace-valid-restriction.1 = whiteSpace-valid-restriction.1: I definitionen f\u00F6r {0} \u00E4r v\u00E4rdet ''{1}'' f\u00F6r ''whitespace'' ogiltigt, eftersom v\u00E4rdet f\u00F6r ''whitespace'' har angetts som ''collapse'' i n\u00E5gon typ f\u00F6r \u00F6verordnad.
whiteSpace-valid-restriction.2 = whiteSpace-valid-restriction.2: I definitionen f\u00F6r {0} \u00E4r v\u00E4rdet ''preserve'' f\u00F6r ''whitespace'' ogiltigt, eftersom v\u00E4rdet f\u00F6r ''whitespace'' har angetts som ''replace'' i n\u00E5gon typ f\u00F6r \u00F6verordnad.
@@ -309,7 +306,7 @@
c-selector-xpath = c-selector-xpath: V\u00E4ljarv\u00E4rdet ''{0}'' \u00E4r ogiltigt; xpath f\u00F6r v\u00E4ljare f\u00E5r inte inneh\u00E5lla attribut.
EmptyTargetNamespace = EmptyTargetNamespace: I schemadokumentet ''{0}'' f\u00E5r v\u00E4rdet f\u00F6r attributet ''targetNamespace'' inte vara en tom str\u00E4ng.
FacetValueFromBase = FacetValueFromBase: I deklarationen av typ ''{0}'' m\u00E5ste v\u00E4rdet ''{1}'' f\u00F6r aspekt ''{2}'' komma fr\u00E5n v\u00E4rdeutrymmet i bastypen ''{3}''.
- FixedFacetValue = FixedFacetValue: I definitionen f\u00F6r {3} \u00E4r v\u00E4rdet ''{1}'' f\u00F6r aspekten ''{0}'' ogiltigt eftersom v\u00E4rdet f\u00F6r ''{0}'' har angetts som ''{2}'' i n\u00E5gon av typerna f\u00F6r \u00F6verordnade samtidigt som \''{\''fast\''}\'' = true.
+ FixedFacetValue = FixedFacetValue: I definitionen f\u00F6r {3} \u00E4r v\u00E4rdet ''{1}'' f\u00F6r aspekten ''{0}'' ogiltigt eftersom v\u00E4rdet f\u00F6r ''{0}'' har angetts som ''{2}'' i n\u00E5gon av typerna f\u00F6r \u00F6verordnade samtidigt som ''{''fast''}'' = true.
InvalidRegex = InvalidRegex: M\u00F6nsterv\u00E4rdet ''{0}'' \u00E4r inte n\u00E5got giltigt regulj\u00E4rt uttryck. Det rapporterade felet \u00E4r: ''{1}'' i kolumn ''{2}''.
maxOccurLimit = Den aktuella konfigurationen f\u00F6r parsern till\u00E5ter inte att attributv\u00E4rdet f\u00F6r Occurs anges som st\u00F6rre \u00E4n v\u00E4rdet {0}.
PublicSystemOnNotation = PublicSystemOnNotation: \u00C5tminstone ett av ''public'' och ''system'' m\u00E5ste anges i elementets ''notation''.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_zh_CN.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_zh_CN.properties
index f517a72a2cd..2fdc0884edc 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_zh_CN.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_zh_CN.properties
@@ -1,35 +1,32 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file contains error and warning messages related to XML Schema
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: XMLSchemaMessages_zh_CN.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: XMLSchemaMessages_zh_CN.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 01:19:32 gmolloy Exp $
BadMessageKey = \u627E\u4E0D\u5230\u4E0E\u6D88\u606F\u5173\u952E\u5B57\u5BF9\u5E94\u7684\u9519\u8BEF\u6D88\u606F\u3002
FormatFailed = \u8BBE\u7F6E\u4EE5\u4E0B\u6D88\u606F\u7684\u683C\u5F0F\u65F6\u51FA\u73B0\u5185\u90E8\u9519\u8BEF:\n
@@ -42,20 +39,20 @@
# Identity constraints
- AbsentKeyValue = \u8EAB\u4EFD\u7EA6\u675F\u6761\u4EF6\u9519\u8BEF (cvc-identity-constraint.4.2.1): \u5143\u7D20 \"{0}\" \u7684\u4E00\u4E2A\u5173\u952E\u5B57\u6CA1\u6709\u503C\u3002
- DuplicateField = \u5B57\u6BB5 \"{0}\" \u5728\u4F5C\u7528\u57DF\u5185\u6709\u91CD\u590D\u5339\u914D\u3002
- DuplicateKey = \u4E3A\u5143\u7D20 \"{1}\" \u7684\u8EAB\u4EFD\u7EA6\u675F\u6761\u4EF6\u58F0\u660E\u7684\u5173\u952E\u5B57\u503C [{0}] \u91CD\u590D\u3002
- DuplicateUnique = \u4E3A\u5143\u7D20 \"{1}\" \u7684\u8EAB\u4EFD\u7EA6\u675F\u6761\u4EF6\u58F0\u660E\u7684\u552F\u4E00\u503C [{0}] \u91CD\u590D\u3002
- FieldMultipleMatch = \u8EAB\u4EFD\u7EA6\u675F\u6761\u4EF6\u9519\u8BEF: \u5B57\u6BB5 \"{0}\" \u4E0E\u5176\u9009\u62E9\u5668\u4F5C\u7528\u57DF\u5185\u7684\u591A\u4E2A\u503C\u5339\u914D; \u5B57\u6BB5\u5FC5\u987B\u4E0E\u552F\u4E00\u503C\u5339\u914D\u3002
- FixedDiffersFromActual = \u6B64\u5143\u7D20\u7684\u5185\u5BB9\u4E0E\u65B9\u6848\u4E2D\u5143\u7D20\u58F0\u660E\u7684 \"fixed\" \u5C5E\u6027\u7684\u503C\u4E0D\u76F8\u540C\u3002
- KeyMatchesNillable = \u8EAB\u4EFD\u7EA6\u675F\u6761\u4EF6\u9519\u8BEF (cvc-identity-constraint.4.2.3): \u5143\u7D20 \"{0}\" \u5177\u6709\u4E00\u4E2A\u4E0E nillable \u8BBE\u7F6E\u4E3A\u201C\u771F\u201D\u7684\u5143\u7D20\u5339\u914D\u7684\u5173\u952E\u5B57\u3002
- KeyNotEnoughValues = \u5BF9\u4E8E\u4E3A\u5143\u7D20 \"{0}\" \u6307\u5B9A\u7684 \u8EAB\u4EFD\u7EA6\u675F\u6761\u4EF6, \u6CA1\u6709\u4E3A\u5B83\u6307\u5B9A\u8DB3\u591F\u7684\u503C\u3002
+ AbsentKeyValue = \u8EAB\u4EFD\u7EA6\u675F\u6761\u4EF6\u9519\u8BEF (cvc-identity-constraint.4.2.1): \u5143\u7D20 "{0}" \u7684\u4E00\u4E2A\u5173\u952E\u5B57\u6CA1\u6709\u503C\u3002
+ DuplicateField = \u5B57\u6BB5 "{0}" \u5728\u4F5C\u7528\u57DF\u5185\u6709\u91CD\u590D\u5339\u914D\u3002
+ DuplicateKey = \u4E3A\u5143\u7D20 "{1}" \u7684\u8EAB\u4EFD\u7EA6\u675F\u6761\u4EF6\u58F0\u660E\u7684\u5173\u952E\u5B57\u503C [{0}] \u91CD\u590D\u3002
+ DuplicateUnique = \u4E3A\u5143\u7D20 "{1}" \u7684\u8EAB\u4EFD\u7EA6\u675F\u6761\u4EF6\u58F0\u660E\u7684\u552F\u4E00\u503C [{0}] \u91CD\u590D\u3002
+ FieldMultipleMatch = \u8EAB\u4EFD\u7EA6\u675F\u6761\u4EF6\u9519\u8BEF: \u5B57\u6BB5 "{0}" \u4E0E\u5176\u9009\u62E9\u5668\u4F5C\u7528\u57DF\u5185\u7684\u591A\u4E2A\u503C\u5339\u914D; \u5B57\u6BB5\u5FC5\u987B\u4E0E\u552F\u4E00\u503C\u5339\u914D\u3002
+ FixedDiffersFromActual = \u6B64\u5143\u7D20\u7684\u5185\u5BB9\u4E0E\u65B9\u6848\u4E2D\u5143\u7D20\u58F0\u660E\u7684 "fixed" \u5C5E\u6027\u7684\u503C\u4E0D\u76F8\u540C\u3002
+ KeyMatchesNillable = \u8EAB\u4EFD\u7EA6\u675F\u6761\u4EF6\u9519\u8BEF (cvc-identity-constraint.4.2.3): \u5143\u7D20 "{0}" \u5177\u6709\u4E00\u4E2A\u4E0E nillable \u8BBE\u7F6E\u4E3A\u201C\u771F\u201D\u7684\u5143\u7D20\u5339\u914D\u7684\u5173\u952E\u5B57\u3002
+ KeyNotEnoughValues = \u5BF9\u4E8E\u4E3A\u5143\u7D20 "{0}" \u6307\u5B9A\u7684 \u8EAB\u4EFD\u7EA6\u675F\u6761\u4EF6, \u6CA1\u6709\u4E3A\u5B83\u6307\u5B9A\u8DB3\u591F\u7684\u503C\u3002
KeyNotFound = \u6CA1\u6709\u4E3A\u5143\u7D20 ''{2}'' \u7684\u8EAB\u4EFD\u7EA6\u675F\u6761\u4EF6\u627E\u5230\u503C\u4E3A ''{1}'' \u7684\u5173\u952E\u5B57 ''{0}''\u3002
- KeyRefNotEnoughValues = \u5BF9\u4E8E\u4E3A\u5143\u7D20 \"{0}\" \u6307\u5B9A\u7684 \u8EAB\u4EFD\u7EA6\u675F\u6761\u4EF6, \u6CA1\u6709\u4E3A\u5B83\u6307\u5B9A\u8DB3\u591F\u7684\u503C\u3002
- KeyRefOutOfScope = \u8EAB\u4EFD\u7EA6\u675F\u6761\u4EF6\u9519\u8BEF: \u8EAB\u4EFD\u7EA6\u675F\u6761\u4EF6 \"{0}\" \u5177\u6709\u4E00\u4E2A\u5F15\u7528\u4E86\u4F5C\u7528\u57DF\u4E4B\u5916\u7684\u5173\u952E\u5B57\u6216\u552F\u4E00\u503C\u7684 keyref\u3002
- KeyRefReferNotFound = \u5173\u952E\u5B57\u5F15\u7528\u58F0\u660E \"{0}\" \u5F15\u7528\u4E86\u540D\u4E3A \"{1}\" \u7684\u672A\u77E5\u5173\u952E\u5B57\u3002
- UniqueNotEnoughValues = \u5BF9\u4E8E\u4E3A\u5143\u7D20 \"{0}\" \u6307\u5B9A\u7684 \u8EAB\u4EFD\u7EA6\u675F\u6761\u4EF6, \u6CA1\u6709\u4E3A\u5B83\u6307\u5B9A\u8DB3\u591F\u7684\u503C\u3002
- UnknownField = \u5185\u90E8\u8EAB\u4EFD\u7EA6\u675F\u6761\u4EF6\u9519\u8BEF; \u5B57\u6BB5 \"{0}\" \u672A\u77E5\u3002
+ KeyRefNotEnoughValues = \u5BF9\u4E8E\u4E3A\u5143\u7D20 "{0}" \u6307\u5B9A\u7684 \u8EAB\u4EFD\u7EA6\u675F\u6761\u4EF6, \u6CA1\u6709\u4E3A\u5B83\u6307\u5B9A\u8DB3\u591F\u7684\u503C\u3002
+ KeyRefOutOfScope = \u8EAB\u4EFD\u7EA6\u675F\u6761\u4EF6\u9519\u8BEF: \u8EAB\u4EFD\u7EA6\u675F\u6761\u4EF6 "{0}" \u5177\u6709\u4E00\u4E2A\u5F15\u7528\u4E86\u4F5C\u7528\u57DF\u4E4B\u5916\u7684\u5173\u952E\u5B57\u6216\u552F\u4E00\u503C\u7684 keyref\u3002
+ KeyRefReferNotFound = \u5173\u952E\u5B57\u5F15\u7528\u58F0\u660E "{0}" \u5F15\u7528\u4E86\u540D\u4E3A "{1}" \u7684\u672A\u77E5\u5173\u952E\u5B57\u3002
+ UniqueNotEnoughValues = \u5BF9\u4E8E\u4E3A\u5143\u7D20 "{0}" \u6307\u5B9A\u7684 \u8EAB\u4EFD\u7EA6\u675F\u6761\u4EF6, \u6CA1\u6709\u4E3A\u5B83\u6307\u5B9A\u8DB3\u591F\u7684\u503C\u3002
+ UnknownField = \u5185\u90E8\u8EAB\u4EFD\u7EA6\u675F\u6761\u4EF6\u9519\u8BEF; \u5B57\u6BB5 "{0}" \u672A\u77E5\u3002
# Ideally, we should only use the following error keys, not the ones under
# "Identity constraints". And we should cover all of the following errors.
@@ -114,7 +111,7 @@
#schema valid (3.X.3)
- schema_reference.access = schema_reference: Failed to read schema document ''{0}'', because ''{1}'' access is not allowed.
+ schema_reference.access = schema_reference: \u65E0\u6CD5\u8BFB\u53D6\u65B9\u6848\u6587\u6863 ''{0}'', \u56E0\u4E3A\u4E0D\u5141\u8BB8 ''{1}'' \u8BBF\u95EE\u3002
schema_reference.4 = schema_reference.4: \u65E0\u6CD5\u8BFB\u53D6\u65B9\u6848\u6587\u6863 ''{0}'', \u539F\u56E0\u4E3A 1) \u65E0\u6CD5\u627E\u5230\u6587\u6863; 2) \u65E0\u6CD5\u8BFB\u53D6\u6587\u6863; 3) \u6587\u6863\u7684\u6839\u5143\u7D20\u4E0D\u662F \u3002
src-annotation = src-annotation: \u5143\u7D20\u53EA\u80FD\u5305\u542B \u548C \u5143\u7D20, \u4F46\u53D1\u73B0\u4E86 ''{0}''\u3002
src-attribute.1 = src-attribute.1: \u5C5E\u6027\u58F0\u660E ''{0}'' \u4E2D\u4E0D\u80FD\u540C\u65F6\u5B58\u5728\u7279\u6027 ''default'' \u548C ''fixed''\u3002\u5E94\u53EA\u4F7F\u7528\u5176\u4E2D\u4E00\u4E2A\u3002
@@ -181,7 +178,7 @@
cos-ct-extends.1.4.3.2.2.1.b = cos-ct-extends.1.4.3.2.2.1.b: \u6D3E\u751F\u7C7B\u578B\u53CA\u5176\u57FA\u7C7B\u578B\u7684\u5185\u5BB9\u7C7B\u578B\u90FD\u5FC5\u987B\u4E3A\u201C\u6DF7\u5408\u201D\u6216\u201C\u4EC5\u5143\u7D20\u201D\u3002\u7C7B\u578B ''{0}'' \u4E3A\u201C\u6DF7\u5408\u201D, \u4F46\u5176\u57FA\u7C7B\u578B\u4E0D\u662F\u3002
cos-element-consistent = cos-element-consistent: \u7C7B\u578B ''{0}'' \u9519\u8BEF\u3002\u6A21\u578B\u7EC4\u4E2D\u5B58\u5728\u540D\u79F0\u4E3A ''{1}'' \u4E14\u5177\u6709\u4E0D\u540C\u7C7B\u578B\u7684\u591A\u4E2A\u5143\u7D20\u3002
cos-list-of-atomic = cos-list-of-atomic: \u5728\u5217\u8868\u7C7B\u578B ''{0}'' \u7684\u5B9A\u4E49\u4E2D, \u7C7B\u578B ''{1}'' \u662F\u65E0\u6548\u7684\u5217\u8868\u5143\u7D20\u7C7B\u578B, \u56E0\u4E3A\u5B83\u4E0D\u662F\u539F\u5B50 (''{1}'' \u65E2\u4E0D\u662F\u5217\u8868\u7C7B\u578B, \u4E5F\u4E0D\u662F\u5305\u542B\u5217\u8868\u7684\u8054\u5408\u7C7B\u578B)\u3002
- cos-nonambig = cos-nonambig: {0} \u548C {1} (\u6216\u6765\u81EA\u5176\u66FF\u4EE3\u7EC4\u7684\u5143\u7D20) \u8FDD\u53CD\u4E86 \"\u552F\u4E00\u7C92\u5B50\u5C5E\u6027\"\u3002\u6839\u636E\u6B64\u65B9\u6848\u8FDB\u884C\u9A8C\u8BC1\u671F\u95F4, \u8FD9\u4E24\u4E2A\u7C92\u5B50\u4F1A\u9020\u6210\u6B67\u4E49\u3002
+ cos-nonambig = cos-nonambig: {0} \u548C {1} (\u6216\u6765\u81EA\u5176\u66FF\u4EE3\u7EC4\u7684\u5143\u7D20) \u8FDD\u53CD\u4E86 "\u552F\u4E00\u7C92\u5B50\u5C5E\u6027"\u3002\u6839\u636E\u6B64\u65B9\u6848\u8FDB\u884C\u9A8C\u8BC1\u671F\u95F4, \u8FD9\u4E24\u4E2A\u7C92\u5B50\u4F1A\u9020\u6210\u6B67\u4E49\u3002
cos-particle-restrict.a = cos-particle-restrict.a: \u6D3E\u751F\u7684\u7C92\u5B50\u4E3A\u7A7A, \u800C\u57FA\u7C92\u5B50\u4E0D\u53EF\u4E3A\u7A7A\u3002
cos-particle-restrict.b = cos-particle-restrict.b: \u57FA\u7C92\u5B50\u4E3A\u7A7A, \u4F46\u6D3E\u751F\u7C92\u5B50\u4E0D\u4E3A\u7A7A\u3002
cos-particle-restrict.2 = cos-particle-restrict.2: \u7981\u6B62\u7C92\u5B50\u9650\u5236: ''{0}''\u3002
@@ -311,7 +308,7 @@
FacetValueFromBase = FacetValueFromBase: \u5728\u7C7B\u578B ''{0}'' \u7684\u58F0\u660E\u4E2D, \u9762 ''{2}'' \u7684\u503C ''{1}'' \u5FC5\u987B\u6765\u81EA\u57FA\u7C7B\u578B\u7684\u503C\u7A7A\u95F4 ''{3}''\u3002
FixedFacetValue = FixedFacetValue: \u5728 {3} \u7684\u5B9A\u4E49\u4E2D, \u9762 ''{0}'' \u7684\u503C ''{1}'' \u65E0\u6548, \u56E0\u4E3A ''{0}'' \u7684\u503C\u5DF2\u5728\u539F\u7EA7\u7C7B\u578B\u4E4B\u4E00\u4E2D\u8BBE\u7F6E\u4E3A ''{2}'', \u5E76\u4E14 ''{''fixed''}'' = true\u3002
InvalidRegex = InvalidRegex: \u6A21\u5F0F\u503C ''{0}'' \u4E0D\u662F\u6709\u6548\u7684\u6B63\u5219\u8868\u8FBE\u5F0F\u3002\u5217 ''{2}'' \u4E0A\u62A5\u544A\u7684\u9519\u8BEF\u4E3A: ''{1}''\u3002
- maxOccurLimit = \u8BED\u6CD5\u5206\u6790\u5668\u7684\u5F53\u524D\u914D\u7F6E\u4E0D\u5141\u8BB8\u5C06 maxOccurs \u5C5E\u6027\u503C\u8BBE\u7F6E\u4E3A\u5927\u4E8E\u503C {0}\u3002
+ maxOccurLimit = \u89E3\u6790\u5668\u7684\u5F53\u524D\u914D\u7F6E\u4E0D\u5141\u8BB8\u5C06 maxOccurs \u5C5E\u6027\u503C\u8BBE\u7F6E\u4E3A\u5927\u4E8E\u503C {0}\u3002
PublicSystemOnNotation = PublicSystemOnNotation: \u5143\u7D20 ''notation'' \u4E2D\u5FC5\u987B\u81F3\u5C11\u51FA\u73B0 ''public'' \u548C ''system'' \u4E2D\u7684\u4E00\u4E2A\u3002
SchemaLocation = SchemaLocation: schemaLocation \u503C ''{0}'' \u5FC5\u987B\u5177\u6709\u5076\u6570\u4E2A URI\u3002
TargetNamespace.1 = TargetNamespace.1: \u5E94\u4E3A\u540D\u79F0\u7A7A\u95F4 ''{0}'', \u4F46\u65B9\u6848\u6587\u6863\u7684\u76EE\u6807\u540D\u79F0\u7A7A\u95F4\u4E3A ''{1}''\u3002
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_zh_TW.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_zh_TW.properties
index 8661de47c74..8600e688583 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_zh_TW.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_zh_TW.properties
@@ -1,35 +1,32 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file contains error and warning messages related to XML Schema
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: XMLSchemaMessages_zh_TW.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: XMLSchemaMessages_zh_TW.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/27 00:30:48 gmolloy Exp $
BadMessageKey = \u627E\u4E0D\u5230\u5C0D\u61C9\u8A0A\u606F\u7D22\u5F15\u9375\u7684\u932F\u8AA4\u8A0A\u606F\u3002
FormatFailed = \u683C\u5F0F\u5316\u4E0B\u5217\u8A0A\u606F\u6642\u767C\u751F\u5167\u90E8\u932F\u8AA4:\n
@@ -42,20 +39,20 @@
# Identity constraints
- AbsentKeyValue = \u8B58\u5225\u9650\u5236\u689D\u4EF6\u932F\u8AA4 (cvc-identity-constraint.4.2.1): \u5143\u7D20 \"{0}\" \u5177\u6709\u7684\u91D1\u9470\u6C92\u6709\u503C\u3002
- DuplicateField = \u7BC4\u570D\u4E2D\u7684\u6B04\u4F4D \"{0}\" \u91CD\u8907\u914D\u5C0D\u3002
- DuplicateKey = \u70BA\u5143\u7D20 \"{1}\" \u7684\u8B58\u5225\u9650\u5236\u689D\u4EF6\u5BA3\u544A\u4E86\u91CD\u8907\u7684\u91D1\u9470\u503C [{0}]\u3002
- DuplicateUnique = \u70BA\u5143\u7D20 \"{1}\" \u7684\u8B58\u5225\u9650\u5236\u689D\u4EF6\u5BA3\u544A\u4E86\u91CD\u8907\u7684\u552F\u4E00\u503C [{0}]\u3002
- FieldMultipleMatch = \u8B58\u5225\u9650\u5236\u689D\u4EF6\u932F\u8AA4: \u6B04\u4F4D \"{0}\" \u7B26\u5408\u5176\u9078\u53D6\u5668\u7BC4\u570D\u5167\u8D85\u904E\u4E00\u500B\u4EE5\u4E0A\u7684\u503C; \u6B04\u4F4D\u5FC5\u9808\u7B26\u5408\u552F\u4E00\u503C\u3002
- FixedDiffersFromActual = \u6B64\u5143\u7D20\u7684\u5167\u5BB9\u4E0D\u7B49\u65BC\u7DB1\u8981\u5143\u7D20\u5BA3\u544A\u4E2D \"fixed\" \u5C6C\u6027\u7684\u503C\u3002
- KeyMatchesNillable = \u8B58\u5225\u9650\u5236\u689D\u4EF6\u932F\u8AA4 (cvc-identity-constraint.4.2.3): \u5143\u7D20 \"{0}\" \u5177\u6709\u7684\u91D1\u9470\uFF0C\u7B26\u5408 nillable \u8A2D\u70BA\u771F\u7684\u5143\u7D20\u3002
- KeyNotEnoughValues = \u6C92\u6709\u8DB3\u5920\u7684\u503C\u6307\u5B9A\u5143\u7D20 \"{0}\" \u6307\u5B9A\u7684 \u8B58\u5225\u9650\u5236\u689D\u4EF6\u3002
+ AbsentKeyValue = \u8B58\u5225\u9650\u5236\u689D\u4EF6\u932F\u8AA4 (cvc-identity-constraint.4.2.1): \u5143\u7D20 "{0}" \u5177\u6709\u7684\u91D1\u9470\u6C92\u6709\u503C\u3002
+ DuplicateField = \u7BC4\u570D\u4E2D\u7684\u6B04\u4F4D "{0}" \u91CD\u8907\u914D\u5C0D\u3002
+ DuplicateKey = \u70BA\u5143\u7D20 "{1}" \u7684\u8B58\u5225\u9650\u5236\u689D\u4EF6\u5BA3\u544A\u4E86\u91CD\u8907\u7684\u91D1\u9470\u503C [{0}]\u3002
+ DuplicateUnique = \u70BA\u5143\u7D20 "{1}" \u7684\u8B58\u5225\u9650\u5236\u689D\u4EF6\u5BA3\u544A\u4E86\u91CD\u8907\u7684\u552F\u4E00\u503C [{0}]\u3002
+ FieldMultipleMatch = \u8B58\u5225\u9650\u5236\u689D\u4EF6\u932F\u8AA4: \u6B04\u4F4D "{0}" \u7B26\u5408\u5176\u9078\u53D6\u5668\u7BC4\u570D\u5167\u8D85\u904E\u4E00\u500B\u4EE5\u4E0A\u7684\u503C; \u6B04\u4F4D\u5FC5\u9808\u7B26\u5408\u552F\u4E00\u503C\u3002
+ FixedDiffersFromActual = \u6B64\u5143\u7D20\u7684\u5167\u5BB9\u4E0D\u7B49\u65BC\u7DB1\u8981\u5143\u7D20\u5BA3\u544A\u4E2D "fixed" \u5C6C\u6027\u7684\u503C\u3002
+ KeyMatchesNillable = \u8B58\u5225\u9650\u5236\u689D\u4EF6\u932F\u8AA4 (cvc-identity-constraint.4.2.3): \u5143\u7D20 "{0}" \u5177\u6709\u7684\u91D1\u9470\uFF0C\u7B26\u5408 nillable \u8A2D\u70BA\u771F\u7684\u5143\u7D20\u3002
+ KeyNotEnoughValues = \u6C92\u6709\u8DB3\u5920\u7684\u503C\u6307\u5B9A\u5143\u7D20 "{0}" \u6307\u5B9A\u7684 \u8B58\u5225\u9650\u5236\u689D\u4EF6\u3002
KeyNotFound = \u5143\u7D20 ''{2}'' \u7684\u8B58\u5225\u9650\u5236\u689D\u4EF6\u627E\u4E0D\u5230\u503C ''{1}'' \u7684\u91D1\u9470 ''{0}''\u3002
- KeyRefNotEnoughValues = \u6C92\u6709\u8DB3\u5920\u7684\u503C\u6307\u5B9A\u5143\u7D20 \"{0}\" \u6307\u5B9A\u7684 \u8B58\u5225\u9650\u5236\u689D\u4EF6\u3002
- KeyRefOutOfScope = \u8B58\u5225\u9650\u5236\u689D\u4EF6\u932F\u8AA4: \u8B58\u5225\u9650\u5236\u689D\u4EF6 \"{0}\" \u5177\u6709\u4E00\u500B keyref\uFF0C\u5B83\u53C3\u7167\u4E86\u7BC4\u570D\u4E4B\u5916\u7684\u91D1\u9470\u6216\u552F\u4E00\u503C\u3002
- KeyRefReferNotFound = \u91D1\u9470\u53C3\u7167\u5BA3\u544A \"{0}\" \u53C3\u7167\u4E86\u540D\u7A31\u70BA \"{1}\" \u7684\u4E0D\u660E\u91D1\u9470\u3002
- UniqueNotEnoughValues = \u6C92\u6709\u8DB3\u5920\u7684\u503C\u6307\u5B9A\u5143\u7D20 \"{0}\" \u6307\u5B9A\u7684 \u8B58\u5225\u9650\u5236\u689D\u4EF6\u3002
- UnknownField = \u5167\u90E8\u8B58\u5225\u9650\u5236\u689D\u4EF6\u932F\u8AA4; \u4E0D\u660E\u7684\u6B04\u4F4D \"{0}\"\u3002
+ KeyRefNotEnoughValues = \u6C92\u6709\u8DB3\u5920\u7684\u503C\u6307\u5B9A\u5143\u7D20 "{0}" \u6307\u5B9A\u7684 \u8B58\u5225\u9650\u5236\u689D\u4EF6\u3002
+ KeyRefOutOfScope = \u8B58\u5225\u9650\u5236\u689D\u4EF6\u932F\u8AA4: \u8B58\u5225\u9650\u5236\u689D\u4EF6 "{0}" \u5177\u6709\u4E00\u500B keyref\uFF0C\u5B83\u53C3\u7167\u4E86\u7BC4\u570D\u4E4B\u5916\u7684\u91D1\u9470\u6216\u552F\u4E00\u503C\u3002
+ KeyRefReferNotFound = \u91D1\u9470\u53C3\u7167\u5BA3\u544A "{0}" \u53C3\u7167\u4E86\u540D\u7A31\u70BA "{1}" \u7684\u4E0D\u660E\u91D1\u9470\u3002
+ UniqueNotEnoughValues = \u6C92\u6709\u8DB3\u5920\u7684\u503C\u6307\u5B9A\u5143\u7D20 "{0}" \u6307\u5B9A\u7684 \u8B58\u5225\u9650\u5236\u689D\u4EF6\u3002
+ UnknownField = \u5167\u90E8\u8B58\u5225\u9650\u5236\u689D\u4EF6\u932F\u8AA4; \u4E0D\u660E\u7684\u6B04\u4F4D "{0}"\u3002
# Ideally, we should only use the following error keys, not the ones under
# "Identity constraints". And we should cover all of the following errors.
@@ -114,7 +111,7 @@
#schema valid (3.X.3)
- schema_reference.access = schema_reference: Failed to read schema document ''{0}'', because ''{1}'' access is not allowed.
+ schema_reference.access = schema_reference: \u7121\u6CD5\u8B80\u53D6\u7DB1\u8981\u6587\u4EF6 ''{0}''\uFF0C\u56E0\u70BA\u4E0D\u5141\u8A31 ''{1}'' \u5B58\u53D6\u3002
schema_reference.4 = schema_reference.4: \u7121\u6CD5\u8B80\u53D6\u7DB1\u8981\u6587\u4EF6 ''{0}''\uFF0C\u56E0\u70BA 1) \u627E\u4E0D\u5230\u6587\u4EF6; 2) \u7121\u6CD5\u8B80\u53D6\u6587\u4EF6; 3) \u6587\u4EF6\u7684\u6839\u5143\u7D20\u4E0D\u662F \u3002
src-annotation = src-annotation: \u5143\u7D20\u50C5\u80FD\u5305\u542B \u8207 \u5143\u7D20\uFF0C\u4F46\u627E\u5230 ''{0}''\u3002
src-attribute.1 = src-attribute.1: \u5C6C\u6027 ''default'' \u8207 ''fixed'' \u4E0D\u53EF\u540C\u6642\u51FA\u73FE\u5728\u5C6C\u6027\u5BA3\u544A ''{0}'' \u4E2D\u3002\u8ACB\u53EA\u4F7F\u7528\u5176\u4E2D\u4E00\u500B\u3002
@@ -297,7 +294,7 @@
# the "invalid-content" messages provide less information than the "must-match" counterparts above. They're used for complex types when providing a "match" would be an information dump
s4s-elt-invalid-content.1 = s4s-elt-invalid-content.1: ''{0}'' \u7684\u5167\u5BB9\u7121\u6548\u3002\u5143\u7D20 ''{1}'' \u7121\u6548\u3001\u4F4D\u7F6E\u932F\u8AA4\u6216\u592A\u5E38\u51FA\u73FE\u3002
s4s-elt-invalid-content.2 = s4s-elt-invalid-content.2: ''{0}'' \u7684\u5167\u5BB9\u7121\u6548\u3002\u5143\u7D20 ''{1}'' \u4E0D\u53EF\u7A7A\u767D\u3002
- s4s-elt-invalid-content.3 = s4s-elt-invalid-content.3: \u985E\u578B ''{0}'' \u7684\u5143\u7D20\u4E0D\u53EF\u51FA\u73FE\u5728\u5BA3\u544A\u4E4B\u5F8C\uFF0C\u505A\u70BA \u5143\u7D20\u7684\u5B50\u9805\u3002
+ s4s-elt-invalid-content.3 = s4s-elt-invalid-content.3: \u985E\u578B ''{0}'' \u7684\u5143\u7D20\u4E0D\u53EF\u51FA\u73FE\u5728\u5BA3\u544A\u4E4B\u5F8C\uFF0C\u4F5C\u70BA \u5143\u7D20\u7684\u5B50\u9805\u3002
s4s-elt-schema-ns = s4s-elt-schema-ns: \u5143\u7D20 ''{0}'' \u7684\u547D\u540D\u7A7A\u9593\u5FC5\u9808\u4F86\u81EA\u7DB1\u8981\u547D\u540D\u7A7A\u9593 ''http://www.w3.org/2001/XMLSchema''\u3002
s4s-elt-character = s4s-elt-character: \u7DB1\u8981\u5143\u7D20\u4E2D\u4E0D\u5141\u8A31\u975E\u7A7A\u767D\u5B57\u5143\uFF0C\u4F46\u662F ''xs:appinfo'' \u8207 ''xs:documentation'' \u9664\u5916\u3002\u767C\u73FE ''{0}''\u3002
@@ -310,11 +307,11 @@
EmptyTargetNamespace = EmptyTargetNamespace: \u5728\u7DB1\u8981\u6587\u4EF6 ''{0}'' \u4E2D\uFF0C''targetNamespace'' \u5C6C\u6027\u7684\u503C\u4E0D\u53EF\u70BA\u7A7A\u767D\u5B57\u4E32\u3002
FacetValueFromBase = FacetValueFromBase: \u5728\u985E\u578B ''{0}'' \u7684\u5BA3\u544A\u4E2D\uFF0Cfacet ''{2}'' \u7684\u503C ''{1}'' \u5FC5\u9808\u4F86\u81EA\u57FA\u790E\u985E\u578B\u7684\u503C\u7A7A\u9593 ''{3}''\u3002
FixedFacetValue = FixedFacetValue: \u5728 {3} \u7684\u5B9A\u7FA9\u4E2D\uFF0Cfacet ''{0}'' \u7684\u503C ''{1}'' \u7121\u6548\uFF0C\u56E0\u70BA ''{0}'' \u7684\u503C\u4EE5\u5176\u4E2D\u4E00\u500B\u7956\u7CFB\u985E\u578B\u8A2D\u70BA ''{2}''\uFF0C\u4E14 ''{''fixed''}'' = true\u3002
- InvalidRegex = InvalidRegex: \u6A23\u5F0F\u503C ''{0}'' \u4E0D\u662F\u6709\u6548\u7684\u4E00\u822C\u8868\u793A\u5F0F\u3002\u5831\u544A\u7684\u932F\u8AA4: \u4F4D\u65BC\u8CC7\u6599\u6B04 ''{2}'' \u7684 ''{1}''\u3002
+ InvalidRegex = InvalidRegex: \u6A23\u5F0F\u503C ''{0}'' \u4E0D\u662F\u6709\u6548\u7684\u6B63\u898F\u8868\u793A\u5F0F\u3002\u5831\u544A\u7684\u932F\u8AA4: \u4F4D\u65BC\u8CC7\u6599\u6B04 ''{2}'' \u7684 ''{1}''\u3002
maxOccurLimit = \u5256\u6790\u5668\u76EE\u524D\u7684\u7D44\u614B\u4E0D\u5141\u8A31 maxOccurs \u5C6C\u6027\u503C\u8A2D\u70BA\u5927\u65BC\u503C {0}\u3002
PublicSystemOnNotation = PublicSystemOnNotation: ''public'' \u8207 ''system'' \u81F3\u5C11\u5176\u4E2D\u4E4B\u4E00\u5FC5\u9808\u51FA\u73FE\u5728\u5143\u7D20 ''notation'' \u4E2D\u3002
SchemaLocation = \u7B49\u65BC ''{0}'' \u7684 SchemaLocation: schemaLocation \u503C\u5FC5\u9808\u5177\u6709\u5076\u6578\u500B URI\u3002
TargetNamespace.1 = TargetNamespace.1: \u9810\u671F\u547D\u540D\u7A7A\u9593 ''{0}''\uFF0C\u4F46\u662F\u7DB1\u8981\u6587\u4EF6\u7684\u76EE\u6A19\u547D\u540D\u7A7A\u9593\u70BA ''{1}''\u3002
TargetNamespace.2 = TargetNamespace.2: \u672A\u9810\u671F\u547D\u540D\u7A7A\u9593\uFF0C\u4F46\u662F\u7DB1\u8981\u6587\u4EF6\u5177\u6709\u76EE\u6A19\u547D\u540D\u7A7A\u9593 ''{1}''\u3002
- UndeclaredEntity = UndeclaredEntity: \u672A\u5BA3\u544A\u500B\u9AD4 ''{0}''\u3002
+ UndeclaredEntity = UndeclaredEntity: \u672A\u5BA3\u544A\u5BE6\u9AD4 ''{0}''\u3002
UndeclaredPrefix = UndeclaredPrefix: \u7121\u6CD5\u89E3\u6790 ''{0}'' \u70BA QName: \u672A\u5BA3\u544A\u524D\u7F6E\u78BC ''{1}''\u3002
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_de.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_de.properties
index 045395ace19..a279e879bd4 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_de.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_de.properties
@@ -1,30 +1,27 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores error messages for the Xerces XML
# serializer. Many DOM Load/Save error messages also
@@ -33,7 +30,7 @@
# As usual with properties files, the messages are arranged in
# key/value tuples.
#
-# @version $Id: XMLSerializerMessages_de.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: XMLSerializerMessages_de.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 01:16:51 gmolloy Exp $
BadMessageKey = Die zum Meldungsschl\u00FCssel geh\u00F6rige Fehlermeldung kann nicht gefunden werden.
FormatFailed = Beim Formatieren der folgenden Meldung ist ein interner Fehler aufgetreten:\n
@@ -49,8 +46,8 @@
AttributeQName = Attributname "{0}" ist kein QName.
AttributePrefix = Attribut "{0}" geh\u00F6rt zu keinem Namespace: Pr\u00E4fix ist m\u00F6glicherweise nicht deklariert oder an einen Namespace gebunden.
InvalidNSDecl = Namespace-Deklarationssyntax ist falsch: {0}.
- EndingCDATA = Zeichenfolge"\"]]>\" darf nur im Content enthalten sein, wenn sie das Ende eines CDATA-Abschnitts markiert.
- SplittingCDATA = Teilen eines CDATA-Abschnitts mit dem CDATA-Abschnittsabschlusszeichen \"]]>\".
+ EndingCDATA = Zeichenfolge""]]>" darf nur im Content enthalten sein, wenn sie das Ende eines CDATA-Abschnitts markiert.
+ SplittingCDATA = Teilen eines CDATA-Abschnitts mit dem CDATA-Abschnittsabschlusszeichen "]]>".
ResourceNotFound = Ressource "{0}" konnte nicht gefunden werden.
ResourceNotLoaded = Ressource "{0}" konnte nicht geladen werden. {1}
SerializationStopped = Serialisierung auf Benutzeranforderung gestoppt.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_es.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_es.properties
index 181ccc6c408..a06a1613092 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_es.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_es.properties
@@ -1,39 +1,36 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores error messages for the Xerces XML
-# serializer. Many DOM Load/Save error messages also
+# serializer. Many DOM Load/Save error messages also
# live here, since the serializer largely implements that package.
#
# As usual with properties files, the messages are arranged in
# key/value tuples.
-#
-# @version $Id: XMLSerializerMessages_es.properties 3021 2011-03-01 00:12:28Z joehw $
+#
+# @version $Id: XMLSerializerMessages_es.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 05:10:53 gmolloy Exp $
BadMessageKey = No se ha encontrado el mensaje de error que corresponde a la clave de mensaje.
FormatFailed = Se ha producido un error interno al formatear el siguiente mensaje:\n
@@ -49,8 +46,8 @@
AttributeQName = El nombre del atributo ''{0}'' no es un QName.
AttributePrefix = El atributo ''{0}'' no pertenece a ning\u00FAn espacio de nombres: el prefijo puede ser no declarado o estar enlazado a alg\u00FAn espacio de nombres.
InvalidNSDecl = La sintaxis de la declaraci\u00F3n de espacio de nombres no es correcta: {0}.
- EndingCDATA = La secuencia de caracteres \"]]>\" no debe aparecer en el contenido a menos que se utilice para marcar el final de una secci\u00F3n CDATA.
- SplittingCDATA = Divisi\u00F3n de una secci\u00F3n CDATA que contiene el marcador de terminaci\u00F3n de secci\u00F3n CDATA \"]]>\".
+ EndingCDATA = La secuencia de caracteres "]]>" no debe aparecer en el contenido a menos que se utilice para marcar el final de una secci\u00F3n CDATA.
+ SplittingCDATA = Divisi\u00F3n de una secci\u00F3n CDATA que contiene el marcador de terminaci\u00F3n de secci\u00F3n CDATA "]]>".
ResourceNotFound = No se ha encontrado el recurso ''{0}''.
ResourceNotLoaded = No se ha podido cargar el recurso ''{0}''. {1}
SerializationStopped = La serializaci\u00F3n se ha parado a petici\u00F3n del usuario.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_fr.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_fr.properties
index abb5d784f4b..a274f4be731 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_fr.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_fr.properties
@@ -1,39 +1,36 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores error messages for the Xerces XML
-# serializer. Many DOM Load/Save error messages also
+# serializer. Many DOM Load/Save error messages also
# live here, since the serializer largely implements that package.
#
# As usual with properties files, the messages are arranged in
# key/value tuples.
-#
-# @version $Id: XMLSerializerMessages_fr.properties 3021 2011-03-01 00:12:28Z joehw $
+#
+# @version $Id: XMLSerializerMessages_fr.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 02:16:52 gmolloy Exp $
BadMessageKey = Le message d'erreur correspondant \u00E0 la cl\u00E9 de message est introuvable.
FormatFailed = Une erreur interne est survenue lors de la mise en forme du message suivant :\n
@@ -49,8 +46,8 @@
AttributeQName = Le nom d''attribut ''{0}'' n''est pas un QName.
AttributePrefix = L''attribut ''{0}'' n''appartient \u00E0 aucun espace de noms : le pr\u00E9fixe est peut-\u00EAtre non d\u00E9clar\u00E9 ou li\u00E9 \u00E0 un espace de noms.
InvalidNSDecl = La syntaxe de la d\u00E9claration d''espace de noms est incorrecte : {0}.
- EndingCDATA = La s\u00E9quence de caract\u00E8res \"]]>\" ne peut figurer dans le contenu que pour marquer la fin de la section CDATA.
- SplittingCDATA = Fractionnement d'une section CDATA contenant le marqueur de fin de section CDATA \"]]>\".
+ EndingCDATA = La s\u00E9quence de caract\u00E8res "]]>" ne peut figurer dans le contenu que pour marquer la fin de la section CDATA.
+ SplittingCDATA = Fractionnement d'une section CDATA contenant le marqueur de fin de section CDATA "]]>".
ResourceNotFound = La ressource ''{0}'' est introuvable.
ResourceNotLoaded = La ressource ''{0}'' n''a pas pu \u00EAtre charg\u00E9e. {1}
SerializationStopped = La s\u00E9rialisation a \u00E9t\u00E9 arr\u00EAt\u00E9e \u00E0 la demande de l'utilisateur.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_it.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_it.properties
index f732af7f2dc..114f1f47125 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_it.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_it.properties
@@ -1,39 +1,36 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores error messages for the Xerces XML
-# serializer. Many DOM Load/Save error messages also
+# serializer. Many DOM Load/Save error messages also
# live here, since the serializer largely implements that package.
#
# As usual with properties files, the messages are arranged in
# key/value tuples.
-#
-# @version $Id: XMLSerializerMessages_it.properties 3021 2011-03-01 00:12:28Z joehw $
+#
+# @version $Id: XMLSerializerMessages_it.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/27 08:14:02 gmolloy Exp $
BadMessageKey = Impossibile trovare il messaggio di errore corrispondente alla chiave di messaggio.
FormatFailed = Si \u00E8 verificato un errore interno durante la formattazione del seguente messaggio:\n
@@ -49,8 +46,8 @@
AttributeQName = Il nome attributo ''{0}'' non \u00E8 un QName.
AttributePrefix = L''attributo ''{0}'' non appartiene ad alcuno spazio di nomi: il prefisso deve essere non dichiarato o associato a uno spazio di nomi.
InvalidNSDecl = La sintassi della dichiarazione dello spazio di nomi \u00E8 errata: {0}.
- EndingCDATA = La sequenza di caratteri \"]]>\" non deve essere presente nel contenuto a meno che non sia utilizzata per contrassegnare la fine di una sezione CDATA.
- SplittingCDATA = Verr\u00E0 suddivisa una sezione CDATA che contiene l'indicatore di fine della sezione CDATA \"]]>\".
+ EndingCDATA = La sequenza di caratteri "]]>" non deve essere presente nel contenuto a meno che non sia utilizzata per contrassegnare la fine di una sezione CDATA.
+ SplittingCDATA = Verr\u00E0 suddivisa una sezione CDATA che contiene l'indicatore di fine della sezione CDATA "]]>".
ResourceNotFound = Impossibile trovare la risorsa ''{0}''.
ResourceNotLoaded = Impossibile caricare la risorsa ''{0}''. {1}
SerializationStopped = Serializzazione arrestata su richiesta dell'utente.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_ja.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_ja.properties
index 79ac4fca5b9..c604e087580 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_ja.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_ja.properties
@@ -1,39 +1,36 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores error messages for the Xerces XML
-# serializer. Many DOM Load/Save error messages also
+# serializer. Many DOM Load/Save error messages also
# live here, since the serializer largely implements that package.
#
# As usual with properties files, the messages are arranged in
# key/value tuples.
-#
-# @version $Id: XMLSerializerMessages_ja.properties 3021 2011-03-01 00:12:28Z joehw $
+#
+# @version $Id: XMLSerializerMessages_ja.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 01:05:12 gmolloy Exp $
BadMessageKey = \u30E1\u30C3\u30BB\u30FC\u30B8\u30FB\u30AD\u30FC\u306B\u5BFE\u5FDC\u3059\u308B\u30A8\u30E9\u30FC\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
FormatFailed = \u6B21\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u306E\u66F8\u5F0F\u8A2D\u5B9A\u4E2D\u306B\u5185\u90E8\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F:\n
@@ -49,8 +46,8 @@
AttributeQName = \u5C5E\u6027\u540D''{0}''\u306FQName\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
AttributePrefix = \u5C5E\u6027''{0}''\u304C\u3069\u306E\u30CD\u30FC\u30E0\u30B9\u30DA\u30FC\u30B9\u306B\u3082\u5C5E\u3057\u3066\u3044\u307E\u305B\u3093\u3002\u63A5\u982D\u8F9E\u304C\u5BA3\u8A00\u3055\u308C\u3066\u3044\u306A\u3044\u304B\u3001\u306A\u3093\u3089\u304B\u306E\u30CD\u30FC\u30E0\u30B9\u30DA\u30FC\u30B9\u306B\u30D0\u30A4\u30F3\u30C9\u3055\u308C\u3066\u3044\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002
InvalidNSDecl = \u30CD\u30FC\u30E0\u30B9\u30DA\u30FC\u30B9\u5BA3\u8A00\u306E\u69CB\u6587\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093: {0}\u3002
- EndingCDATA = \u6587\u5B57\u30B7\u30FC\u30B1\u30F3\u30B9\"]]>\"\u306F\u3001CDATA\u30BB\u30AF\u30B7\u30E7\u30F3\u306E\u7D42\u308F\u308A\u3092\u793A\u3059\u76EE\u7684\u4EE5\u5916\u3067\u30B3\u30F3\u30C6\u30F3\u30C4\u306B\u4F7F\u7528\u3057\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002
- SplittingCDATA = CDATA\u30BB\u30AF\u30B7\u30E7\u30F3\u7D42\u4E86\u30DE\u30FC\u30AB\u30FC\"]]>\"\u304C\u542B\u307E\u308C\u3066\u3044\u308BCDATA\u30BB\u30AF\u30B7\u30E7\u30F3\u3092\u5206\u5272\u3057\u3066\u3044\u307E\u3059\u3002
+ EndingCDATA = \u6587\u5B57\u30B7\u30FC\u30B1\u30F3\u30B9"]]>"\u306F\u3001CDATA\u30BB\u30AF\u30B7\u30E7\u30F3\u306E\u7D42\u308F\u308A\u3092\u793A\u3059\u76EE\u7684\u4EE5\u5916\u3067\u30B3\u30F3\u30C6\u30F3\u30C4\u306B\u4F7F\u7528\u3057\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002
+ SplittingCDATA = CDATA\u30BB\u30AF\u30B7\u30E7\u30F3\u7D42\u4E86\u30DE\u30FC\u30AB\u30FC"]]>"\u304C\u542B\u307E\u308C\u3066\u3044\u308BCDATA\u30BB\u30AF\u30B7\u30E7\u30F3\u3092\u5206\u5272\u3057\u3066\u3044\u307E\u3059\u3002
ResourceNotFound = \u30EA\u30BD\u30FC\u30B9''{0}''\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002
ResourceNotLoaded = \u30EA\u30BD\u30FC\u30B9''{0}''\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002 {1}
SerializationStopped = \u30B7\u30EA\u30A2\u30E9\u30A4\u30BA\u304C\u30E6\u30FC\u30B6\u30FC\u30FB\u30EA\u30AF\u30A8\u30B9\u30C8\u3067\u505C\u6B62\u3055\u308C\u307E\u3057\u305F\u3002
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_ko.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_ko.properties
index cfab02476e4..0ff73562f3d 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_ko.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_ko.properties
@@ -1,39 +1,36 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores error messages for the Xerces XML
-# serializer. Many DOM Load/Save error messages also
+# serializer. Many DOM Load/Save error messages also
# live here, since the serializer largely implements that package.
#
# As usual with properties files, the messages are arranged in
# key/value tuples.
-#
-# @version $Id: XMLSerializerMessages_ko.properties 3021 2011-03-01 00:12:28Z joehw $
+#
+# @version $Id: XMLSerializerMessages_ko.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 02:40:33 gmolloy Exp $
BadMessageKey = \uBA54\uC2DC\uC9C0 \uD0A4\uC5D0 \uD574\uB2F9\uD558\uB294 \uC624\uB958 \uBA54\uC2DC\uC9C0\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
FormatFailed = \uB2E4\uC74C \uBA54\uC2DC\uC9C0\uC758 \uD615\uC2DD\uC744 \uC9C0\uC815\uD558\uB294 \uC911 \uB0B4\uBD80 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.\n
@@ -49,8 +46,8 @@
AttributeQName = \uC18D\uC131 \uC774\uB984 ''{0}''\uC740(\uB294) QName\uC774 \uC544\uB2D9\uB2C8\uB2E4.
AttributePrefix = ''{0}'' \uC18D\uC131\uC774 \uB124\uC784\uC2A4\uD398\uC774\uC2A4\uC5D0 \uC18D\uD558\uC9C0 \uC54A\uC74C: \uC811\uB450\uC5B4\uC758 \uC120\uC5B8\uC744 \uD574\uC81C\uD558\uAC70\uB098 \uC811\uB450\uC5B4\uB97C \uB124\uC784\uC2A4\uD398\uC774\uC2A4\uC5D0 \uBC14\uC778\uB4DC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
InvalidNSDecl = \uB124\uC784\uC2A4\uD398\uC774\uC2A4 \uC120\uC5B8 \uAD6C\uBB38\uC774 \uC62C\uBC14\uB974\uC9C0 \uC54A\uC74C: {0}.
- EndingCDATA = \uBB38\uC790 \uC2DC\uD000\uC2A4 \"]]>\"\uB294 CDATA \uC139\uC158 \uB05D\uC744 \uD45C\uC2DC\uD558\uB294 \uB370 \uC0AC\uC6A9\uB418\uC9C0 \uC54A\uB294 \uACBD\uC6B0 \uCF58\uD150\uCE20\uC5D0 \uB098\uD0C0\uB098\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.
- SplittingCDATA = CDATA \uC139\uC158 \uC885\uB8CC \uD45C\uC2DC\uC790 \"]]>\"\uB97C \uD3EC\uD568\uD558\uB294 CDATA \uC139\uC158\uC744 \uBD84\uD560\uD558\uB294 \uC911\uC785\uB2C8\uB2E4.
+ EndingCDATA = \uBB38\uC790 \uC2DC\uD000\uC2A4 "]]>"\uB294 CDATA \uC139\uC158 \uB05D\uC744 \uD45C\uC2DC\uD558\uB294 \uB370 \uC0AC\uC6A9\uB418\uC9C0 \uC54A\uB294 \uACBD\uC6B0 \uCF58\uD150\uCE20\uC5D0 \uB098\uD0C0\uB098\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.
+ SplittingCDATA = CDATA \uC139\uC158 \uC885\uB8CC \uD45C\uC2DC\uC790 "]]>"\uB97C \uD3EC\uD568\uD558\uB294 CDATA \uC139\uC158\uC744 \uBD84\uD560\uD558\uB294 \uC911\uC785\uB2C8\uB2E4.
ResourceNotFound = ''{0}'' \uB9AC\uC18C\uC2A4\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
ResourceNotLoaded = ''{0}'' \uB9AC\uC18C\uC2A4\uB97C \uB85C\uB4DC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. {1}
SerializationStopped = \uC0AC\uC6A9\uC790 \uC694\uCCAD\uC5D0 \uB530\uB77C \uC9C1\uB82C\uD654\uAC00 \uC815\uC9C0\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_pt_BR.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_pt_BR.properties
index 8333b31d445..e842306d2bb 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_pt_BR.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_pt_BR.properties
@@ -1,39 +1,36 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores error messages for the Xerces XML
-# serializer. Many DOM Load/Save error messages also
+# serializer. Many DOM Load/Save error messages also
# live here, since the serializer largely implements that package.
#
# As usual with properties files, the messages are arranged in
# key/value tuples.
-#
-# @version $Id: XMLSerializerMessages_pt_BR.properties 3021 2011-03-01 00:12:28Z joehw $
+#
+# @version $Id: XMLSerializerMessages_pt_BR.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 07:33:06 gmolloy Exp $
BadMessageKey = N\u00E3o foi poss\u00EDvel encontrar a mensagem de erro correspondente \u00E0 chave da mensagem.
FormatFailed = Ocorreu um erro interno ao formatar a mensagem a seguir:\n
@@ -49,8 +46,8 @@
AttributeQName = O nome do atributo ''{0}'' n\u00E3o \u00E9 QName.
AttributePrefix = O atributo ''{0}'' n\u00E3o pertence a nenhum namespace: o prefixo n\u00E3o pode ser n\u00E3o declarado ou vinculado a algum namespace.
InvalidNSDecl = Sintaxe de declara\u00E7\u00E3o de namespace incorreta: {0}.
- EndingCDATA = A sequ\u00EAncia de caracteres \"]]>\" n\u00E3o deve aparecer no conte\u00FAdo, a menos que seja usada para marcar o fim de uma se\u00E7\u00E3o CDATA.
- SplittingCDATA = Dividir uma se\u00E7\u00E3o CDATA que cont\u00E9m o marcador \"]]>\" de termina\u00E7\u00E3o de se\u00E7\u00E3o CDATA.
+ EndingCDATA = A sequ\u00EAncia de caracteres "]]>" n\u00E3o deve aparecer no conte\u00FAdo, a menos que seja usada para marcar o fim de uma se\u00E7\u00E3o CDATA.
+ SplittingCDATA = Dividir uma se\u00E7\u00E3o CDATA que cont\u00E9m o marcador "]]>" de termina\u00E7\u00E3o de se\u00E7\u00E3o CDATA.
ResourceNotFound = N\u00E3o foi poss\u00EDvel encontrar o recurso ''{0}''.
ResourceNotLoaded = N\u00E3o foi poss\u00EDvel carregar o recurso ''{0}''. {1}
SerializationStopped = Serializa\u00E7\u00E3o interrompida na solicita\u00E7\u00E3o do usu\u00E1rio.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_sv.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_sv.properties
index c9014cee0bc..404f048827c 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_sv.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_sv.properties
@@ -1,39 +1,36 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores error messages for the Xerces XML
-# serializer. Many DOM Load/Save error messages also
+# serializer. Many DOM Load/Save error messages also
# live here, since the serializer largely implements that package.
#
# As usual with properties files, the messages are arranged in
# key/value tuples.
-#
-# @version $Id: XMLSerializerMessages_sv.properties 3021 2011-03-01 00:12:28Z joehw $
+#
+# @version $Id: XMLSerializerMessages_sv.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 00:46:23 gmolloy Exp $
BadMessageKey = Hittar inte felmeddelandet som motsvarar meddelandenyckeln.
FormatFailed = Ett internt fel intr\u00E4ffade vid formatering av f\u00F6ljande meddelande:\n
@@ -49,8 +46,8 @@
AttributeQName = Attributnamnet ''{0}'' \u00E4r inte n\u00E5got QName.
AttributePrefix = Attributet ''{0}'' tillh\u00F6r inte n\u00E5gon namnrymd: prefixet kanske inte har deklarerats eller \u00E4r bundet till annan namnrymd.
InvalidNSDecl = Felaktig syntax i deklaration av namnrymd: {0}.
- EndingCDATA = Teckensekvensen \"]]>\" f\u00E5r inte f\u00F6rekomma i inneh\u00E5llet, s\u00E5vida det inte anv\u00E4nds f\u00F6r att markera slut av CDATA-sektion.
- SplittingCDATA = Delar en CDATA-sektion som inneh\u00E5ller CDATA-sektionens avslutningsmark\u00F6r \"]]>\".
+ EndingCDATA = Teckensekvensen "]]>" f\u00E5r inte f\u00F6rekomma i inneh\u00E5llet, s\u00E5vida det inte anv\u00E4nds f\u00F6r att markera slut av CDATA-sektion.
+ SplittingCDATA = Delar en CDATA-sektion som inneh\u00E5ller CDATA-sektionens avslutningsmark\u00F6r "]]>".
ResourceNotFound = Resursen ''{0}'' hittades inte.
ResourceNotLoaded = Resursen ''{0}'' kunde inte laddas. {1}
SerializationStopped = Serialiseringen stoppades vid anv\u00E4ndarbeg\u00E4ran.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_zh_CN.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_zh_CN.properties
index 7d26fe6ca71..c9888263168 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_zh_CN.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_zh_CN.properties
@@ -1,39 +1,36 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores error messages for the Xerces XML
-# serializer. Many DOM Load/Save error messages also
+# serializer. Many DOM Load/Save error messages also
# live here, since the serializer largely implements that package.
#
# As usual with properties files, the messages are arranged in
# key/value tuples.
-#
-# @version $Id: XMLSerializerMessages_zh_CN.properties 3021 2011-03-01 00:12:28Z joehw $
+#
+# @version $Id: XMLSerializerMessages_zh_CN.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 01:19:32 gmolloy Exp $
BadMessageKey = \u627E\u4E0D\u5230\u4E0E\u6D88\u606F\u5173\u952E\u5B57\u5BF9\u5E94\u7684\u9519\u8BEF\u6D88\u606F\u3002
FormatFailed = \u8BBE\u7F6E\u4EE5\u4E0B\u6D88\u606F\u7684\u683C\u5F0F\u65F6\u51FA\u73B0\u5185\u90E8\u9519\u8BEF:\n
@@ -49,8 +46,8 @@
AttributeQName = \u5C5E\u6027\u540D ''{0}'' \u4E0D\u662F\u9650\u5B9A\u540D\u3002
AttributePrefix = \u5C5E\u6027 ''{0}'' \u4E0D\u5C5E\u4E8E\u4EFB\u4F55\u540D\u79F0\u7A7A\u95F4: \u53EF\u80FD\u672A\u58F0\u660E\u524D\u7F00, \u6216\u8005\u5DF2\u7ECF\u5C06\u524D\u7F00\u7ED1\u5B9A\u5230\u67D0\u4E2A\u540D\u79F0\u7A7A\u95F4\u3002
InvalidNSDecl = \u540D\u79F0\u7A7A\u95F4\u58F0\u660E\u8BED\u6CD5\u4E0D\u6B63\u786E: {0}\u3002
- EndingCDATA = \u9664\u975E\u4F7F\u7528\u5B57\u7B26\u5E8F\u5217 \"]]>\" \u6765\u6807\u8BB0 CDATA \u8282\u7684\u7ED3\u5C3E, \u5426\u5219\u8BE5\u5B57\u7B26\u5E8F\u5217\u4E0D\u80FD\u51FA\u73B0\u5728\u5185\u5BB9\u4E2D\u3002
- SplittingCDATA = \u62C6\u5206\u5305\u542B CDATA \u6BB5\u7EC8\u6B62\u6807\u8BB0 \"]]>\" \u7684 CDATA \u6BB5\u3002
+ EndingCDATA = \u9664\u975E\u4F7F\u7528\u5B57\u7B26\u5E8F\u5217 "]]>" \u6765\u6807\u8BB0 CDATA \u8282\u7684\u7ED3\u5C3E, \u5426\u5219\u8BE5\u5B57\u7B26\u5E8F\u5217\u4E0D\u80FD\u51FA\u73B0\u5728\u5185\u5BB9\u4E2D\u3002
+ SplittingCDATA = \u62C6\u5206\u5305\u542B CDATA \u6BB5\u7EC8\u6B62\u6807\u8BB0 "]]>" \u7684 CDATA \u6BB5\u3002
ResourceNotFound = \u627E\u4E0D\u5230\u8D44\u6E90 ''{0}''\u3002
ResourceNotLoaded = \u65E0\u6CD5\u52A0\u8F7D\u8D44\u6E90 ''{0}''\u3002{1}
SerializationStopped = \u6839\u636E\u7528\u6237\u8BF7\u6C42\u505C\u6B62\u4E86\u5E8F\u5217\u5316\u3002
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_zh_TW.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_zh_TW.properties
index 14a2629eead..c6dfc1606d2 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_zh_TW.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_zh_TW.properties
@@ -1,39 +1,36 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores error messages for the Xerces XML
-# serializer. Many DOM Load/Save error messages also
+# serializer. Many DOM Load/Save error messages also
# live here, since the serializer largely implements that package.
#
# As usual with properties files, the messages are arranged in
# key/value tuples.
-#
-# @version $Id: XMLSerializerMessages_zh_TW.properties 3021 2011-03-01 00:12:28Z joehw $
+#
+# @version $Id: XMLSerializerMessages_zh_TW.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/27 00:30:48 gmolloy Exp $
BadMessageKey = \u627E\u4E0D\u5230\u5C0D\u61C9\u8A0A\u606F\u7D22\u5F15\u9375\u7684\u932F\u8AA4\u8A0A\u606F\u3002
FormatFailed = \u683C\u5F0F\u5316\u4E0B\u5217\u8A0A\u606F\u6642\u767C\u751F\u5167\u90E8\u932F\u8AA4:\n
@@ -49,8 +46,8 @@
AttributeQName = \u5C6C\u6027\u540D\u7A31 ''{0}'' \u4E0D\u662F QName\u3002
AttributePrefix = \u5C6C\u6027 ''{0}'' \u4E0D\u5C6C\u65BC\u4EFB\u4F55\u547D\u540D\u7A7A\u9593: \u53EF\u80FD\u672A\u5BA3\u544A\u524D\u7F6E\u78BC\u6216\u524D\u7F6E\u78BC\u9023\u7D50\u5176\u4ED6\u547D\u540D\u7A7A\u9593\u3002
InvalidNSDecl = \u547D\u540D\u7A7A\u9593\u5BA3\u544A\u8A9E\u6CD5\u4E0D\u6B63\u78BA: {0}\u3002
- EndingCDATA = \u5B57\u5143\u9806\u5E8F \"]]>\" \u4E0D\u53EF\u51FA\u73FE\u5728\u5167\u5BB9\u4E2D\uFF0C\u9664\u975E\u7528\u65BC\u6A19\u793A CDATA \u6BB5\u843D\u7684\u7D50\u5C3E\u3002
- SplittingCDATA = \u5206\u5272\u5305\u542B CDATA \u6BB5\u843D\u7D42\u6B62\u6A19\u8A18 \"]]>\" \u7684 CDATA \u6BB5\u843D\u3002
+ EndingCDATA = \u5B57\u5143\u9806\u5E8F "]]>" \u4E0D\u53EF\u51FA\u73FE\u5728\u5167\u5BB9\u4E2D\uFF0C\u9664\u975E\u7528\u65BC\u6A19\u793A CDATA \u6BB5\u843D\u7684\u7D50\u5C3E\u3002
+ SplittingCDATA = \u5206\u5272\u5305\u542B CDATA \u6BB5\u843D\u7D42\u6B62\u6A19\u8A18 "]]>" \u7684 CDATA \u6BB5\u843D\u3002
ResourceNotFound = \u627E\u4E0D\u5230\u8CC7\u6E90 ''{0}''\u3002
ResourceNotLoaded = \u7121\u6CD5\u8F09\u5165\u8CC7\u6E90 ''{0}''\u3002{1}
SerializationStopped = \u4F9D\u7167\u4F7F\u7528\u8005\u8981\u6C42\u505C\u6B62\u5E8F\u5217\u5316\u3002
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_de.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_de.properties
index b559b6feae0..72d3bba7381 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_de.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_de.properties
@@ -1,36 +1,33 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces XPointer implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: XPointerMessages_de.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: XPointerMessages_de.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 01:16:51 gmolloy Exp $
# Messages for message reporting
BadMessageKey = Die zum Meldungsschl\u00FCssel geh\u00F6rige Fehlermeldung kann nicht gefunden werden.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_es.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_es.properties
index 78cadb1bfc2..baa0b0d6fd4 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_es.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_es.properties
@@ -1,36 +1,33 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces XPointer implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: XPointerMessages_es.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: XPointerMessages_es.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 05:10:53 gmolloy Exp $
# Messages for message reporting
BadMessageKey = No se ha encontrado el mensaje de error que corresponde a la clave de mensaje.
@@ -38,7 +35,7 @@ FormatFailed = Se ha producido un error interno al formatear el siguiente mensaj
# XPointer Framework Error Messages
XPointerProcessingError = XPointerProcessingError: Se ha producido un error al procesar la expresi\u00F3n XPointer.
-InvalidXPointerToken = InvalidXPointerToken: La expresi\u00F3n XPointer contiene el elemento no v\u00E1lido ''{0}''
+InvalidXPointerToken = InvalidXPointerToken: La expresi\u00F3n XPointer contiene el token no v\u00E1lido ''{0}''
InvalidXPointerExpression = InvalidXPointerExpression: La expresi\u00F3n XPointer ''{0}'' no es v\u00E1lida.
MultipleShortHandPointers = MultipleShortHandPointers: La expresi\u00F3n XPointer ''{0}'' no es v\u00E1lida. Tiene m\u00E1s de un puntero abreviado.
SchemeDataNotFollowedByCloseParenthesis = SchemeDataNotFollowedByCloseParenthesis: La expresi\u00F3n XPointer ''{0}'' no es v\u00E1lida. SchemeData no viene seguido de un car\u00E1cter '')''.
@@ -48,7 +45,7 @@ UnbalancedParenthesisInXPointerExpression = UnbalancedParenthesisInXPointerExpre
InvalidSchemeDataInXPointer = InvalidSchemeDataInXPointer: La expresi\u00F3n XPointer ''{0}'' contiene un valor de SchemeData no v\u00E1lido.
# XPointer Element Scheme Error Messages
-InvalidElementSchemeToken = InvalidElementSchemeToken: La expresi\u00F3n XPointer del esquema de element() contiene el elemento no v\u00E1lido ''{0}''
+InvalidElementSchemeToken = InvalidElementSchemeToken: La expresi\u00F3n XPointer del esquema de element() contiene el token no v\u00E1lido ''{0}''
InvalidElementSchemeXPointer = InvalidElementSchemeXPointer: La expresi\u00F3n XPointer del esquema de elemento ''{0}'' no es v\u00E1lida.
XPointerElementSchemeProcessingError = XPointerElementSchemeProcessingError: Se ha producido un error al procesar la expresi\u00F3n de esquema XPointer element().
InvalidNCNameInElementSchemeData = InvalidNCNameInElementSchemeData: El esquema element() contiene un puntero abreviado ''{0}'' con un valor de NCName no v\u00E1lido.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_fr.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_fr.properties
index 86bb01a522a..9eb7cf0d3fc 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_fr.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_fr.properties
@@ -1,36 +1,33 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces XPointer implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: XPointerMessages_fr.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: XPointerMessages_fr.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 02:16:52 gmolloy Exp $
# Messages for message reporting
BadMessageKey = Le message d'erreur correspondant \u00E0 la cl\u00E9 de message est introuvable.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_it.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_it.properties
index 1fcaacbeb91..d59616ea2d6 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_it.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_it.properties
@@ -1,36 +1,33 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces XPointer implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: XPointerMessages_it.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: XPointerMessages_it.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/27 08:14:02 gmolloy Exp $
# Messages for message reporting
BadMessageKey = Impossibile trovare il messaggio di errore corrispondente alla chiave di messaggio.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_ja.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_ja.properties
index 095876d10bf..26a2a3eec83 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_ja.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_ja.properties
@@ -1,36 +1,33 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces XPointer implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: XPointerMessages_ja.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: XPointerMessages_ja.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 01:05:12 gmolloy Exp $
# Messages for message reporting
BadMessageKey = \u30E1\u30C3\u30BB\u30FC\u30B8\u30FB\u30AD\u30FC\u306B\u5BFE\u5FDC\u3059\u308B\u30A8\u30E9\u30FC\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_ko.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_ko.properties
index ebe5b263389..3f43bbd67bd 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_ko.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_ko.properties
@@ -1,36 +1,33 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces XPointer implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: XPointerMessages_ko.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: XPointerMessages_ko.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 02:40:33 gmolloy Exp $
# Messages for message reporting
BadMessageKey = \uBA54\uC2DC\uC9C0 \uD0A4\uC5D0 \uD574\uB2F9\uD558\uB294 \uC624\uB958 \uBA54\uC2DC\uC9C0\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_pt_BR.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_pt_BR.properties
index b6736914971..a4076986da3 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_pt_BR.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_pt_BR.properties
@@ -1,36 +1,33 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces XPointer implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: XPointerMessages_pt_BR.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: XPointerMessages_pt_BR.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/28 07:33:06 gmolloy Exp $
# Messages for message reporting
BadMessageKey = N\u00E3o foi poss\u00EDvel encontrar a mensagem de erro correspondente \u00E0 chave da mensagem.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_sv.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_sv.properties
index ae9c25a95a5..8444e131b9b 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_sv.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_sv.properties
@@ -1,36 +1,33 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces XPointer implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: XPointerMessages_sv.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: XPointerMessages_sv.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 00:46:23 gmolloy Exp $
# Messages for message reporting
BadMessageKey = Hittar inte felmeddelandet som motsvarar meddelandenyckeln.
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_zh_CN.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_zh_CN.properties
index e8f1a43c5c7..d2c2dc3220f 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_zh_CN.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_zh_CN.properties
@@ -1,36 +1,33 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces XPointer implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: XPointerMessages_zh_CN.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: XPointerMessages_zh_CN.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/29 01:19:32 gmolloy Exp $
# Messages for message reporting
BadMessageKey = \u627E\u4E0D\u5230\u4E0E\u6D88\u606F\u5173\u952E\u5B57\u5BF9\u5E94\u7684\u9519\u8BEF\u6D88\u606F\u3002
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_zh_TW.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_zh_TW.properties
index a000679c06c..6c9bf142532 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_zh_TW.properties
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_zh_TW.properties
@@ -1,36 +1,33 @@
-/*
- * 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.
- */
-
-/*
- * Copyright (c) 2009 by Oracle Corporation. 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
+# 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.
+#
# This file stores localized messages for the Xerces XPointer implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
-# @version $Id: XPointerMessages_zh_TW.properties 3021 2011-03-01 00:12:28Z joehw $
+# @version $Id: XPointerMessages_zh_TW.properties /st_wptg_1.8.0.0.0jdk/2 2013/05/27 00:30:48 gmolloy Exp $
# Messages for message reporting
BadMessageKey = \u627E\u4E0D\u5230\u5C0D\u61C9\u8A0A\u606F\u7D22\u5F15\u9375\u7684\u932F\u8AA4\u8A0A\u606F\u3002
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_de.properties b/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_de.properties
new file mode 100644
index 00000000000..aa7f3abec25
--- /dev/null
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_de.properties
@@ -0,0 +1,66 @@
+#
+# 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.
+#
+
+parser.parse.1=Falsches Zeichen.
+parser.parse.2=Ung\u00FCltige Referenznummer.
+parser.next.1=Nach \\ ist ein Zeichen erforderlich.
+parser.next.2='?' wird nicht erwartet. '(?:' oder '(?=' oder '(?!' oder '(?<' oder '(?#' oder '(?>'?
+parser.next.3='(?<=' oder '(?'?
+parser.next.3=Se esperaba '(?<=' o '(?'?
-parser.next.3='(?<=' ou '(?'?
+parser.next.3='(?<=' ou '(?'?
+parser.next.3='(?<=' o '(?' \u3067\u3059\u304b?
-parser.next.3='(?<=' \u304b '(?'\u3067\u3059\u304B\u3002
+parser.next.3='(?<='\u307E\u305F\u306F'(?'?
+parser.next.3='(?<=' \uB610\uB294 '(?'?
+parser.next.3='(?<=' ou '(?'?
+parser.next.3='(?<=' eller '(?'?
+parser.next.3=\u5E94\u4E3A '(?<=' \u6216 '(?'?
+parser.next.3=\u9810\u671F\u61C9\u70BA '(?<=' \u6216 '(?
- * - query the system property using
System.getProperty
- * - read
META-INF/services/factoryId
file
- * - use fallback classname
- *
- *
- * @return Class object of factory, never null
- *
- * @param factoryId Name of the factory to find, same as
- * a property name
- * @param fallbackClassName Implementation class name, if nothing else
- * is found. Use null to mean no fallback.
- *
- * @exception ObjectFactory.ConfigurationError
- */
- public static Object createObject(String factoryId, String fallbackClassName)
- throws ConfigurationError {
- return createObject(factoryId, null, fallbackClassName);
- } // createObject(String,String):Object
-
- /**
- * Finds the implementation Class object in the specified order. The
- * specified order is the following:
- *
- * - query the system property using
System.getProperty
- * - read
$java.home/lib/propertiesFilename
file
- * - read
META-INF/services/factoryId
file
- * - use fallback classname
- *
- *
- * @return Class object of factory, never null
- *
- * @param factoryId Name of the factory to find, same as
- * a property name
- * @param propertiesFilename The filename in the $java.home/lib directory
- * of the properties file. If none specified,
- * ${java.home}/lib/xerces.properties will be used.
- * @param fallbackClassName Implementation class name, if nothing else
- * is found. Use null to mean no fallback.
- *
- * @exception ObjectFactory.ConfigurationError
- */
- public static Object createObject(String factoryId,
- String propertiesFilename,
- String fallbackClassName)
- throws ConfigurationError
- {
- if (DEBUG) debugPrintln("debug is on");
-
- ClassLoader cl = findClassLoader();
-
- // Use the system property first
- try {
- String systemProp = SecuritySupport.getSystemProperty(factoryId);
- if (systemProp != null && systemProp.length() > 0) {
- if (DEBUG) debugPrintln("found system property, value=" + systemProp);
- return newInstance(systemProp, cl, true);
- }
- } catch (SecurityException se) {
- // Ignore and continue w/ next location
- }
-
- // JAXP specific change
- // always use fallback class to avoid the expense of constantly
- // "stat"ing a non-existent "xerces.properties" and jar SPI entry
- // see CR 6400863: Expensive creating of SAX parser in Mustang
- if (fallbackClassName == null) {
- throw new ConfigurationError(
- "Provider for " + factoryId + " cannot be found", null);
- }
-
- if (DEBUG) debugPrintln("using fallback, value=" + fallbackClassName);
- return newInstance(fallbackClassName, cl, true);
-
- } // createObject(String,String,String):Object
//
// Private static methods
@@ -235,7 +122,7 @@ public final class ObjectFactory {
// Check for any extension ClassLoaders in chain up to
// boot ClassLoader
chain = SecuritySupport.getParentClassLoader(chain);
- };
+ }
// Assert: Context ClassLoader not in chain of
// boot/extension/system ClassLoaders
@@ -343,94 +230,4 @@ public final class ObjectFactory {
return providerClass;
}
- /*
- * Try to find provider using Jar Service Provider Mechanism
- *
- * @return instance of provider class if found or null
- */
- private static Object findJarServiceProvider(String factoryId)
- throws ConfigurationError
- {
- String serviceId = "META-INF/services/" + factoryId;
- InputStream is = null;
-
- // First try the Context ClassLoader
- ClassLoader cl = findClassLoader();
-
- is = SecuritySupport.getResourceAsStream(cl, serviceId);
-
- // If no provider found then try the current ClassLoader
- if (is == null) {
- ClassLoader current = ObjectFactory.class.getClassLoader();
- if (cl != current) {
- cl = current;
- is = SecuritySupport.getResourceAsStream(cl, serviceId);
- }
- }
-
- if (is == null) {
- // No provider found
- return null;
- }
-
- if (DEBUG) debugPrintln("found jar resource=" + serviceId +
- " using ClassLoader: " + cl);
-
- // Read the service provider name in UTF-8 as specified in
- // the jar spec. Unfortunately this fails in Microsoft
- // VJ++, which does not implement the UTF-8
- // encoding. Theoretically, we should simply let it fail in
- // that case, since the JVM is obviously broken if it
- // doesn't support such a basic standard. But since there
- // are still some users attempting to use VJ++ for
- // development, we have dropped in a fallback which makes a
- // second attempt using the platform's default encoding. In
- // VJ++ this is apparently ASCII, which is a subset of
- // UTF-8... and since the strings we'll be reading here are
- // also primarily limited to the 7-bit ASCII range (at
- // least, in English versions), this should work well
- // enough to keep us on the air until we're ready to
- // officially decommit from VJ++. [Edited comment from
- // jkesselm]
- BufferedReader rd;
- try {
- rd = new BufferedReader(new InputStreamReader(is, "UTF-8"), DEFAULT_LINE_LENGTH);
- } catch (java.io.UnsupportedEncodingException e) {
- rd = new BufferedReader(new InputStreamReader(is), DEFAULT_LINE_LENGTH);
- }
-
- String factoryClassName = null;
- try {
- // XXX Does not handle all possible input as specified by the
- // Jar Service Provider specification
- factoryClassName = rd.readLine();
- } catch (IOException x) {
- // No provider found
- return null;
- }
- finally {
- try {
- // try to close the reader.
- rd.close();
- }
- // Ignore the exception.
- catch (IOException exc) {}
- }
-
- if (factoryClassName != null &&
- ! "".equals(factoryClassName)) {
- if (DEBUG) debugPrintln("found in resource, value="
- + factoryClassName);
-
- // Note: here we do not want to fall back to the current
- // ClassLoader because we want to avoid the case where the
- // resource file was found using one ClassLoader and the
- // provider class was instantiated using a different one.
- return newInstance(factoryClassName, cl, false);
- }
-
- // No provider found
- return null;
- }
-
} // class ObjectFactory
diff --git a/jaxp/src/com/sun/org/apache/xml/internal/dtm/DTMManager.java b/jaxp/src/com/sun/org/apache/xml/internal/dtm/DTMManager.java
index 711814e80e1..d629b9fd8db 100644
--- a/jaxp/src/com/sun/org/apache/xml/internal/dtm/DTMManager.java
+++ b/jaxp/src/com/sun/org/apache/xml/internal/dtm/DTMManager.java
@@ -52,14 +52,6 @@ import com.sun.org.apache.xalan.internal.utils.SecuritySupport;
public abstract class DTMManager
{
- /** The default property name to load the manager. */
- private static final String defaultPropName =
- "com.sun.org.apache.xml.internal.dtm.DTMManager";
-
- /** The default class name to use as the manager. */
- private static String defaultClassName =
- "com.sun.org.apache.xml.internal.dtm.ref.DTMManagerDefault";
-
/**
* Factory for creating XMLString objects.
* %TBD% Make this set by the caller.
@@ -97,29 +89,7 @@ public abstract class DTMManager
/**
* Obtain a new instance of a DTMManager
.
* This static method creates a new factory instance
- * This method uses the following ordered lookup procedure to determine
- * the DTMManager
implementation class to
- * load:
- *
- * -
- * Use the
com.sun.org.apache.xml.internal.dtm.DTMManager
system
- * property.
- *
- * -
- * Use the JAVA_HOME(the parent directory where jdk is
- * installed)/lib/xalan.properties for a property file that contains the
- * name of the implementation class keyed on the same value as the
- * system property defined above.
- *
- * -
- * Use the Services API (as detailed in the JAR specification), if
- * available, to determine the classname. The Services API will look
- * for a classname in the file
- *
META-INF/services/com.sun.org.apache.xml.internal.dtm.DTMManager
- * in jars available to the runtime.
- *
- * -
- * Use the default
DTMManager
classname, which is
+ * using the default DTMManager
implementation, which is
* com.sun.org.apache.xml.internal.dtm.ref.DTMManagerDefault
.
*
*
@@ -136,39 +106,10 @@ public abstract class DTMManager
public static DTMManager newInstance(XMLStringFactory xsf)
throws DTMConfigurationException
{
- return newInstance(xsf, true);
- }
+ final DTMManager factoryImpl = new com.sun.org.apache.xml.internal.dtm.ref.DTMManagerDefault();
+ factoryImpl.setXMLStringFactory(xsf);
- public static DTMManager newInstance(XMLStringFactory xsf, boolean useServicesMechanism)
- throws DTMConfigurationException
- {
- DTMManager factoryImpl = null;
- try
- {
- if (useServicesMechanism) {
- factoryImpl = (DTMManager) ObjectFactory
- .createObject(defaultPropName, defaultClassName);
- } else {
- factoryImpl = new com.sun.org.apache.xml.internal.dtm.ref.DTMManagerDefault();
- }
- }
- catch (ConfigurationError e)
- {
- throw new DTMConfigurationException(XMLMessages.createXMLMessage(
- XMLErrorResources.ER_NO_DEFAULT_IMPL, null), e.getException());
- //"No default implementation found");
- }
-
- if (factoryImpl == null)
- {
- throw new DTMConfigurationException(XMLMessages.createXMLMessage(
- XMLErrorResources.ER_NO_DEFAULT_IMPL, null));
- //"No default implementation found");
- }
-
- factoryImpl.setXMLStringFactory(xsf);
-
- return factoryImpl;
+ return factoryImpl;
}
/**
diff --git a/jaxp/src/com/sun/org/apache/xml/internal/utils/XMLReaderManager.java b/jaxp/src/com/sun/org/apache/xml/internal/utils/XMLReaderManager.java
index 8f79f869cb2..28002037272 100644
--- a/jaxp/src/com/sun/org/apache/xml/internal/utils/XMLReaderManager.java
+++ b/jaxp/src/com/sun/org/apache/xml/internal/utils/XMLReaderManager.java
@@ -136,11 +136,16 @@ public class XMLReaderManager {
try {
reader.setFeature(NAMESPACES_FEATURE, true);
reader.setFeature(NAMESPACE_PREFIXES_FEATURE, false);
- reader.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD, _accessExternalDTD);
} catch (SAXException se) {
// Try to carry on if we've got a parser that
// doesn't know about namespace prefixes.
}
+ try {
+ reader.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD, _accessExternalDTD);
+ } catch (SAXException se) {
+ System.err.println("Warning: " + reader.getClass().getName() + ": "
+ + se.getMessage());
+ }
} catch (ParserConfigurationException ex) {
throw new SAXException(ex);
} catch (FactoryConfigurationError ex1) {
diff --git a/jaxp/src/com/sun/org/apache/xpath/internal/XPathContext.java b/jaxp/src/com/sun/org/apache/xpath/internal/XPathContext.java
index dc1063e8f3d..e71f61e6243 100644
--- a/jaxp/src/com/sun/org/apache/xpath/internal/XPathContext.java
+++ b/jaxp/src/com/sun/org/apache/xpath/internal/XPathContext.java
@@ -22,17 +22,6 @@
*/
package com.sun.org.apache.xpath.internal;
-import java.lang.reflect.Method;
-import java.util.Stack;
-import java.util.Vector;
-import java.util.HashMap;
-import java.util.Iterator;
-
-import javax.xml.transform.ErrorListener;
-import javax.xml.transform.SourceLocator;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.URIResolver;
-
import com.sun.org.apache.xalan.internal.extensions.ExpressionContext;
import com.sun.org.apache.xalan.internal.res.XSLMessages;
import com.sun.org.apache.xml.internal.dtm.Axis;
@@ -46,14 +35,21 @@ import com.sun.org.apache.xml.internal.utils.IntStack;
import com.sun.org.apache.xml.internal.utils.NodeVector;
import com.sun.org.apache.xml.internal.utils.ObjectStack;
import com.sun.org.apache.xml.internal.utils.PrefixResolver;
-import com.sun.org.apache.xml.internal.utils.SAXSourceLocator;
import com.sun.org.apache.xml.internal.utils.XMLString;
import com.sun.org.apache.xpath.internal.axes.SubContextList;
-import com.sun.org.apache.xpath.internal.objects.XObject;
import com.sun.org.apache.xpath.internal.objects.DTMXRTreeFrag;
+import com.sun.org.apache.xpath.internal.objects.XObject;
import com.sun.org.apache.xpath.internal.objects.XString;
import com.sun.org.apache.xpath.internal.res.XPATHErrorResources;
-
+import java.lang.reflect.Method;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Stack;
+import java.util.Vector;
+import javax.xml.transform.ErrorListener;
+import javax.xml.transform.SourceLocator;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.URIResolver;
import org.xml.sax.XMLReader;
/**
@@ -339,8 +335,8 @@ public class XPathContext extends DTMManager // implements ExpressionContext
m_saxLocations.push(null);
m_useServicesMechanism = useServicesMechanism;
m_dtmManager = DTMManager.newInstance(
- com.sun.org.apache.xpath.internal.objects.XMLStringFactoryImpl.getFactory(),
- m_useServicesMechanism);
+ com.sun.org.apache.xpath.internal.objects.XMLStringFactoryImpl.getFactory()
+ );
}
/**
@@ -363,8 +359,8 @@ public class XPathContext extends DTMManager // implements ExpressionContext
m_dtmManager = DTMManager.newInstance(
- com.sun.org.apache.xpath.internal.objects.XMLStringFactoryImpl.getFactory(),
- m_useServicesMechanism);
+ com.sun.org.apache.xpath.internal.objects.XMLStringFactoryImpl.getFactory()
+ );
m_saxLocations.removeAllElements();
m_axesIteratorStack.removeAllElements();
@@ -622,32 +618,6 @@ public class XPathContext extends DTMManager // implements ExpressionContext
/** Misnamed string manager for XPath messages. */
// private static XSLMessages m_XSLMessages = new XSLMessages();
- /**
- * Tell the user of an assertion error, and probably throw an
- * exception.
- *
- * @param b If false, a TransformerException will be thrown.
- * @param msg The assertion message, which should be informative.
- *
- * @throws javax.xml.transform.TransformerException if b is false.
- */
- private void assertion(boolean b, String msg) throws javax.xml.transform.TransformerException
- {
- if (!b)
- {
- ErrorListener errorHandler = getErrorListener();
-
- if (errorHandler != null)
- {
- errorHandler.fatalError(
- new TransformerException(
- XSLMessages.createMessage(
- XPATHErrorResources.ER_INCORRECT_PROGRAMMER_ASSERTION,
- new Object[]{ msg }), (SAXSourceLocator)this.getSAXLocator()));
- }
- }
- }
-
//==========================================================
// SECTION: Execution context state tracking
//==========================================================
@@ -664,7 +634,7 @@ public class XPathContext extends DTMManager // implements ExpressionContext
* Get the current context node list.
*
* @return the current node list,
- * also refered to here as a context node list.
+ * also referred to here as a context node list.
*/
public final DTMIterator getContextNodeList()
{
@@ -679,7 +649,7 @@ public class XPathContext extends DTMManager // implements ExpressionContext
* Set the current context node list.
*
* @param nl the current node list,
- * also refered to here as a context node list.
+ * also referred to here as a context node list.
* @xsl.usage internal
*/
public final void pushContextNodeList(DTMIterator nl)
@@ -700,7 +670,7 @@ public class XPathContext extends DTMManager // implements ExpressionContext
}
/**
- * The ammount to use for stacks that record information during the
+ * The amount to use for stacks that record information during the
* recursive execution.
*/
public static final int RECURSIONLIMIT = (1024*4);
diff --git a/jaxp/src/javax/xml/xpath/XPathException.java b/jaxp/src/javax/xml/xpath/XPathException.java
index aca84e57867..6ec9d09c4b1 100644
--- a/jaxp/src/javax/xml/xpath/XPathException.java
+++ b/jaxp/src/javax/xml/xpath/XPathException.java
@@ -26,6 +26,11 @@
package javax.xml.xpath;
import java.io.PrintWriter;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.ObjectStreamField;
+import java.io.InvalidClassException;
/**
* XPathException
represents a generic XPath exception.
@@ -36,7 +41,9 @@ import java.io.PrintWriter;
*/
public class XPathException extends Exception {
- private final Throwable cause;
+ private static final ObjectStreamField[] serialPersistentFields = {
+ new ObjectStreamField( "cause", Throwable.class )
+ };
/**
* Stream Unique Identifier.
@@ -62,7 +69,6 @@ public class XPathException extends Exception {
if ( message == null ) {
throw new NullPointerException ( "message can't be null");
}
- this.cause = null;
}
/**
@@ -77,8 +83,7 @@ public class XPathException extends Exception {
* @throws NullPointerException if cause
is null
.
*/
public XPathException(Throwable cause) {
- super();
- this.cause = cause;
+ super(cause);
if ( cause == null ) {
throw new NullPointerException ( "cause can't be null");
}
@@ -90,7 +95,47 @@ public class XPathException extends Exception {
* @return Cause of this XPathException.
*/
public Throwable getCause() {
- return cause;
+ return super.getCause();
+ }
+
+ /**
+ * Writes "cause" field to the stream.
+ * The cause is got from the parent class.
+ *
+ * @param out stream used for serialization.
+ * @throws IOException thrown by ObjectOutputStream
+ *
+ */
+ private void writeObject(ObjectOutputStream out)
+ throws IOException
+ {
+ ObjectOutputStream.PutField fields = out.putFields();
+ fields.put("cause", (Throwable) super.getCause());
+ out.writeFields();
+ }
+
+ /**
+ * Reads the "cause" field from the stream.
+ * And initializes the "cause" if it wasn't
+ * done before.
+ *
+ * @param in stream used for deserialization
+ * @throws IOException thrown by ObjectInputStream
+ * @throws ClassNotFoundException thrown by ObjectInputStream
+ */
+ private void readObject(ObjectInputStream in)
+ throws IOException, ClassNotFoundException
+ {
+ ObjectInputStream.GetField fields = in.readFields();
+ Throwable scause = (Throwable) fields.get("cause", null);
+
+ if (super.getCause() == null && scause != null) {
+ try {
+ super.initCause(scause);
+ } catch(IllegalStateException e) {
+ throw new InvalidClassException("Inconsistent state: two causes");
+ }
+ }
}
/**
diff --git a/jaxp/src/org/xml/sax/helpers/XMLReaderFactory.java b/jaxp/src/org/xml/sax/helpers/XMLReaderFactory.java
index 81ca862b1cf..7e05b983a51 100644
--- a/jaxp/src/org/xml/sax/helpers/XMLReaderFactory.java
+++ b/jaxp/src/org/xml/sax/helpers/XMLReaderFactory.java
@@ -85,6 +85,7 @@ final public class XMLReaderFactory
private static final String property = "org.xml.sax.driver";
private static SecuritySupport ss = new SecuritySupport();
+ private static String _clsFromJar = null;
private static boolean _jarread = false;
/**
* Attempt to create an XMLReader from system defaults.
@@ -163,14 +164,14 @@ final public class XMLReaderFactory
}
if (in != null) {
- reader = new BufferedReader (
- new InputStreamReader (in, "UTF8"));
- className = reader.readLine ();
+ reader = new BufferedReader (new InputStreamReader (in, "UTF8"));
+ _clsFromJar = reader.readLine ();
in.close ();
}
} catch (Exception e) {
}
}
+ className = _clsFromJar;
}
// 3. Distro-specific fallback
diff --git a/jaxws/.hgtags b/jaxws/.hgtags
index b72c9a9bcfe..fff5bca7aab 100644
--- a/jaxws/.hgtags
+++ b/jaxws/.hgtags
@@ -216,3 +216,6 @@ a5e7c2f093c9996ab3419db1565094a07b059e9c jdk8-b86
a0f604766ca14818e2a7b1558cc399499caabf75 jdk8-b92
7386eca865e1f7216637cdf8dcf3f5d5c255f208 jdk8-b93
254c53fd97ab24942043adcfa5c1a0a38a3b274e jdk8-b94
+1468c94135f978dd29d03bce2f7d7e952154d144 jdk8-b95
+690d34b326bc78a6f5f225522695b41c7f7f70e8 jdk8-b96
+dcde7f049111353ad23175f54985a4f6bfea720c jdk8-b97
diff --git a/jaxws/src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/DatabindingModeFeature.java b/jaxws/src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/DatabindingModeFeature.java
index c4cf116b0e0..5acb939ebec 100644
--- a/jaxws/src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/DatabindingModeFeature.java
+++ b/jaxws/src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/DatabindingModeFeature.java
@@ -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
@@ -30,7 +30,7 @@ import java.util.Map;
import javax.xml.ws.WebServiceFeature;
-public class DatabindingModeFeature extends WebServiceFeature {
+public class DatabindingModeFeature extends WebServiceFeature implements com.sun.xml.internal.ws.api.ServiceSharedFeatureMarker {
/**
* Constant value identifying the DatabindingFeature
*/
diff --git a/jaxws/src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/ExternalMetadataFeature.java b/jaxws/src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/ExternalMetadataFeature.java
index d0c0d87a7fb..ff182cd86af 100644
--- a/jaxws/src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/ExternalMetadataFeature.java
+++ b/jaxws/src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/ExternalMetadataFeature.java
@@ -52,6 +52,7 @@ public class ExternalMetadataFeature extends WebServiceFeature {
private List resourceNames;
private List files;
+ private MetadataReader reader;
private ExternalMetadataFeature() {
}
@@ -88,6 +89,7 @@ public class ExternalMetadataFeature extends WebServiceFeature {
}
public MetadataReader getMetadataReader(ClassLoader classLoader, boolean disableSecureXmlProcessing) {
+ if (reader != null && enabled) return reader;
return enabled ? new ExternalMetadataReader(files, resourceNames, classLoader, true, disableSecureXmlProcessing) : null;
}
@@ -153,5 +155,9 @@ public class ExternalMetadataFeature extends WebServiceFeature {
return this;
}
+ public Builder setReader( MetadataReader r ) {
+ o.reader = r;
+ return this;
+ }
}
}
diff --git a/jaxws/src/share/jaxws_classes/com/oracle/webservices/internal/api/message/BaseDistributedPropertySet.java b/jaxws/src/share/jaxws_classes/com/oracle/webservices/internal/api/message/BaseDistributedPropertySet.java
index ab53f0574c1..e4ea2c19ea8 100644
--- a/jaxws/src/share/jaxws_classes/com/oracle/webservices/internal/api/message/BaseDistributedPropertySet.java
+++ b/jaxws/src/share/jaxws_classes/com/oracle/webservices/internal/api/message/BaseDistributedPropertySet.java
@@ -22,6 +22,7 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
+
package com.oracle.webservices.internal.api.message;
import com.sun.istack.internal.NotNull;
diff --git a/jaxws/src/share/jaxws_classes/com/oracle/webservices/internal/impl/encoding/StreamDecoderImpl.java b/jaxws/src/share/jaxws_classes/com/oracle/webservices/internal/impl/encoding/StreamDecoderImpl.java
index 28b3502cfdb..0ab6a2ea7a1 100644
--- a/jaxws/src/share/jaxws_classes/com/oracle/webservices/internal/impl/encoding/StreamDecoderImpl.java
+++ b/jaxws/src/share/jaxws_classes/com/oracle/webservices/internal/impl/encoding/StreamDecoderImpl.java
@@ -22,6 +22,7 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
+
package com.oracle.webservices.internal.impl.encoding;
import java.io.IOException;
diff --git a/jaxws/src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/package-info.java b/jaxws/src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/package-info.java
index 457f7e76b38..e91a138d49f 100644
--- a/jaxws/src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/package-info.java
+++ b/jaxws/src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/package-info.java
@@ -23,7 +23,6 @@
* questions.
*/
-
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.6-SNAPSHOT
// See http://java.sun.com/xml/jaxb
diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle.properties b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle.properties
index b68f941bda4..c1805f1ff17 100644
--- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle.properties
+++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle.properties
@@ -30,10 +30,10 @@ BASEDIR_DOESNT_EXIST = \
Non-existent directory: {0}
VERSION = \
- schemagen 2.2.7-b63
+ schemagen 2.2.8-b01
FULLVERSION = \
- schemagen full version "2.2.7-b63"
+ schemagen full version "2.2.8-b01"
USAGE = \
Usage: schemagen [-options ...] \n\
diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_de.properties b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_de.properties
index 77b472d313c..971c1709e2e 100644
--- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_de.properties
+++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_de.properties
@@ -27,8 +27,8 @@ UNEXPECTED_NGCC_TOKEN = Nicht erkanntes {0} in Zeile {1} Spalte {2}
BASEDIR_DOESNT_EXIST = Nicht vorhandenes Verzeichnis: {0}
-VERSION = schemagen 2.2.7-b63
+VERSION = schemagen 2.2.8-b01
-FULLVERSION = schemagen vollst\u00E4ndige Version "2.2.7-b63"
+FULLVERSION = schemagen vollst\u00E4ndige Version "2.2.8-b01"
USAGE = Verwendung: schemagen [-options ...] \nOptionen: \n\\ \\ \\ \\ -d : Gibt an, wo die von Prozessor und javac generierten Klassendateien gespeichert werden sollen\n\\ \\ \\ \\ -cp : Gibt an, wo die vom Benutzer angegebenen Dateien gespeichert sind\n\\ \\ \\ \\ -classpath : Gibt an, wo die vom Benutzer angegebenen Dateien gespeichert sind\n\\ \\ \\ \\ -encoding : Gibt die Codierung f\u00FCr die Annotationsverarbeitung/den javac-Aufruf an \n\\ \\ \\ \\ -episode : Generiert Episodendatei f\u00FCr separate Kompilierung\n\\ \\ \\ \\ -version : Zeigt Versionsinformation an\n\\ \\ \\ \\ -fullversion : Zeigt vollst\u00E4ndige Versionsinformationen an\n\\ \\ \\ \\ -help : Zeigt diese Verwendungsmeldung an
diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_es.properties b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_es.properties
index 4281c08073f..030047264b7 100644
--- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_es.properties
+++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_es.properties
@@ -27,8 +27,8 @@ UNEXPECTED_NGCC_TOKEN = Aparece un {0} inesperado en la l\u00EDnea {1} y la colu
BASEDIR_DOESNT_EXIST = Directorio no existente: {0}
-VERSION = schemagen 2.2.7-b63
+VERSION = schemagen 2.2.8-b01
-FULLVERSION = versi\u00F3n completa de schemagen "2.2.7-b63"
+FULLVERSION = versi\u00F3n completa de schemagen "2.2.8-b01"
USAGE = Sintaxis: schemagen [-options ...] \nOpciones: \n\\ \\ \\ \\ -d : especifique d\u00F3nde se colocan los archivos de clase generados por javac y el procesador\n\\ \\ \\ \\ -cp : especifique d\u00F3nde se encuentran los archivos especificados por el usuario\n\\ \\ \\ \\ -encoding : especifique la codificaci\u00F3n que se va a utilizar para el procesamiento de anotaciones/llamada de javac\n\\ \\ \\ \\ -episode : 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
diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_fr.properties b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_fr.properties
index e72bfd541b2..b3107ee4418 100644
--- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_fr.properties
+++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_fr.properties
@@ -27,8 +27,8 @@ UNEXPECTED_NGCC_TOKEN = Un \u00E9l\u00E9ment {0} inattendu appara\u00EEt \u00E0
BASEDIR_DOESNT_EXIST = R\u00E9pertoire {0} inexistant
-VERSION = schemagen 2.2.7-b63
+VERSION = schemagen 2.2.8-b01
-FULLVERSION = version compl\u00E8te de schemagen "2.2.7-b63"
+FULLVERSION = version compl\u00E8te de schemagen "2.2.8-b01"
USAGE = Syntaxe : schemagen [-options ...] \nOptions : \n\ \ \ \ -d : indiquez o\u00F9 placer les fichiers de classe g\u00E9n\u00E9r\u00E9s par le processeur et le compilateur javac\n\ \ \ \ -cp : indiquez o\u00F9 trouver les fichiers sp\u00E9cifi\u00E9s par l'utilisateur\n\ \ \ \ -classpath : indiquez o\u00F9 trouver les fichiers sp\u00E9cifi\u00E9s par l'utilisateur\n\ \ \ \ -encoding : indiquez l'encodage \u00E0 utiliser pour l'appel de javac/traitement de l'annotation \n\ \ \ \ -episode : 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
diff --git a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_it.properties b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_it.properties
index 25a9f06a15d..0aa7cf4c807 100644
--- a/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_it.properties
+++ b/jaxws/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_it.properties
@@ -27,8 +27,8 @@ UNEXPECTED_NGCC_TOKEN = {0} imprevisto visualizzato sulla riga {1} colonna {2}
BASEDIR_DOESNT_EXIST = Directory non esistente: {0}
-VERSION = schemagen 2.2.7-b63
+VERSION = schemagen 2.2.8-b01
-FULLVERSION = versione completa schemagen "2.2.7-b63"
+FULLVERSION = versione completa schemagen "2.2.8-b01"
USAGE = Uso: schemagen [-options ...] \nOpzioni: \n\ \ \ \ -d : specifica dove posizionare il processore e i file della classe generata javac\n\ \ \ \ -cp