aboutsummaryrefslogtreecommitdiffstats
path: root/games/q15
Commit message (Expand)AuthorAgeFilesLines
* -remove MD5ohauer2011-07-031-1/+0
* Drop maintainershipaz2010-09-241-1/+1
* - update to 1.4.1dinoex2010-03-281-1/+1
* - update to jpeg-8dinoex2010-02-051-1/+1
* - bump all port that indirectly depends on libjpeg and have not yet been bump...dinoex2009-07-311-1/+1
* Bump portrevision due to upgrade of devel/gettext.edwin2008-06-061-1/+1
* - Remove USE_XLIB/USE_X_PREFIX/USE_XPM in favor of USE_XORGmiwi2008-03-231-2/+1
* - Welcome X.org 7.2 \o/.flz2007-05-201-0/+1
* - Remove QTDIR from CONFIGURE_ENV, it's in there already thanks to frameworkpav2007-02-132-2/+3
* SHA256ifyedwin2006-01-221-0/+1
* - Change my e-mailaz2005-10-031-1/+1
* Add q15.jylefort2005-08-314-0/+58
.2%;'/> -rw-r--r--java/openjdk7/files/patch-set-jdk132659
-rw-r--r--java/openjdk7/files/patch-src-os-bsd-vm-os_bsd.cpp8
5 files changed, 43788 insertions, 148920 deletions
diff --git a/java/openjdk7/Makefile b/java/openjdk7/Makefile
index 653cfec958c5..aca4e6eef54e 100644
--- a/java/openjdk7/Makefile
+++ b/java/openjdk7/Makefile
@@ -3,7 +3,6 @@
PORTNAME= openjdk
PORTVERSION= ${JDK_MAJOR_VERSION}.${PORT_MINOR_VERSION}.${PORT_BUILD_NUMBER}
-PORTREVISION= 2
CATEGORIES= java devel
MASTER_SITES= http://download.java.net/openjdk/jdk${JDK_MAJOR_VERSION}u${JDK_MINOR_VERSION}/promoted/b${JDK_BUILD_NUMBER}/ \
http://download.java.net/jaxp/1.4.5/:jaxp \
@@ -38,12 +37,12 @@ DEBUG_DESC= Enable extra debugging info
POLICY_DESC= Install the Unlimited Strength Policy Files
TZUPDATE_DESC= Update the time zone data
-PORT_MINOR_VERSION= 25
-PORT_BUILD_NUMBER= 15
+PORT_MINOR_VERSION= 45
+PORT_BUILD_NUMBER= 18
JDK_MAJOR_VERSION= 7
-JDK_MINOR_VERSION= 6
-JDK_BUILD_NUMBER= 24
-JDK_BUILD_DATE= 09_aug_2012
+JDK_MINOR_VERSION= 40
+JDK_BUILD_NUMBER= 43
+JDK_BUILD_DATE= 26_aug_2013
JDK_SRC_DISTFILE= ${PORTNAME}-${JDK_MAJOR_VERSION}u${JDK_MINOR_VERSION}-fcs-src-b${JDK_BUILD_NUMBER}-${JDK_BUILD_DATE}
# Use our own version of ant to avoid circular dependencies
@@ -104,19 +103,6 @@ BOOTSTRAP_JDKS= ${LOCALBASE}/openjdk7 \
${LOCALBASE}/openjdk6 \
${LOCALBASE}/bootstrap-openjdk
-SECURITY_ICONS= security-icon-bw16.png \
- security-icon-bw24.png \
- security-icon-bw32.png \
- security-icon-bw48.png \
- security-icon-interim16.png \
- security-icon-interim24.png \
- security-icon-interim32.png \
- security-icon-interim48.png \
- security-icon-yellow16.png \
- security-icon-yellow24.png \
- security-icon-yellow32.png \
- security-icon-yellow48.png
-
NO_STAGE= yes
.include <bsd.port.options.mk>
@@ -146,14 +132,6 @@ PATCH_DEPENDS+= gpatch:${PORTSDIR}/devel/patch
PATCH= gpatch
.endif
-post-extract:
- # Move icons to their new home.
- @${MKDIR} ${WRKSRC}/jdk/src/share/classes/sun/awt/resources
-.for icon in ${SECURITY_ICONS}
- @${MV} ${WRKSRC}/jdk/src/solaris/classes/sun/awt/X11/${icon} \
- ${WRKSRC}/jdk/src/share/classes/sun/awt/resources/
-.endfor
-
post-patch:
@${REINPLACE_CMD} "s|%%LOCALBASE%%|${LOCALBASE}|" \
${WRKSRC}/hotspot/src/os/bsd/vm/os_bsd.cpp
diff --git a/java/openjdk7/distinfo b/java/openjdk7/distinfo
index 4d7d927a43ac..23cff337f530 100644
--- a/java/openjdk7/distinfo
+++ b/java/openjdk7/distinfo
@@ -1,4 +1,4 @@
-SHA256 (openjdk-7u6-fcs-src-b24-09_aug_2012.zip) = 22aec9bcc660d2e6502c9d24e5fdac97da9c4d251dafd87f708bcf6dabbbb431
-SIZE (openjdk-7u6-fcs-src-b24-09_aug_2012.zip) = 103796914
+SHA256 (openjdk-7u40-fcs-src-b43-26_aug_2013.zip) = 00f8ea561876cbcad174ba3ca7a9ae10b50df46a782ac64c2ac57ac357b50596
+SIZE (openjdk-7u40-fcs-src-b43-26_aug_2013.zip) = 104575196
SHA256 (apache-ant-1.8.4-bin.zip) = d49d60bc0468279125e4a0db4d9b6637cab342a4bd736c90c0b71865b26c1479
SIZE (apache-ant-1.8.4-bin.zip) = 8043520
diff --git a/java/openjdk7/files/patch-set b/java/openjdk7/files/patch-set
index 6748e31712d2..daec653be0fe 100644
--- a/java/openjdk7/files/patch-set
+++ b/java/openjdk7/files/patch-set
@@ -1,5 +1,5 @@
---- .hgtags 2012-08-10 09:07:00.000000000 -0700
-+++ .hgtags 2013-06-22 09:41:03.000000000 -0700
+--- .hgtags 2013-09-06 11:20:33.000000000 -0700
++++ .hgtags 2013-12-01 11:13:37.000000000 -0800
@@ -123,6 +123,7 @@
2d38c2a79c144c30cd04d143d83ee7ec6af40771 jdk7-b146
3ac30b3852876ccad6bd61697b5f9efa91ca7bc6 jdk7u1-b01
@@ -8,90 +8,71 @@
34451dc0580d5c95d97b95a564e6198f36545d68 jdk7u1-b02
bf735d852f79bdbb3373c777eec3ff27e035e7ba jdk7u1-b03
f66a2bada589f4157789e6f66472954d2f1c114e jdk7u1-b04
-@@ -197,5 +198,79 @@
- 29f6fb1833eb2a696b95e8985126f2d70f511a82 jdk7u6-b21
- 31cdab09d719fe60876c7f3a472386c1455d93e2 jdk7u6-b22
- d1c709f1196a73d1df10d04a221b10e30fd2eb48 jdk7u6-b23
--1ab3edf5061fdde3a6f6510373a92444445af710 jdk7u8-b01
--d7a94c8cbbbfadbd9e2f3e4737eb7deb572dedc9 jdk7u8-b02
-+e4def733cc8c58e83b7cefa7edd89a3e2b793520 jdk7u6-b24
-+f5f546dba006778854e7a81141fc1b44acd257a4 jdk7u6-b30
-+43775eae8df6c874fb3631c86009505cf3821b1f jdk7u6-b31
-+43775eae8df6c874fb3631c86009505cf3821b1f jdk7u7-b10
-+a380c75873bfb578e605d4362edb18c08698cc3e jdk7u7-b30
-+d7f2b3949f9c9ff1115ea61c496d3cd4c62e2759 jdk7u7-b11
-+82c51e6a3bea0dd8feb1bd3033e847dbdc5d9f99 jdk7u7-b31
-+5ca487420f9c2cf6d39acf1e842d13bf8ef0ca07 jdk7u7-b01
-+dbfa9c57853c2dd9cd4e4a139d83b519573d8031 jdk7u7-b02
-+bae912f95f2aa1d22dbc0ff62816b71861965cd6 jdk7u9-b03
-+0000000000000000000000000000000000000000 jdk7u7-b01
-+5ca487420f9c2cf6d39acf1e842d13bf8ef0ca07 jdk7u9-b01
-+0000000000000000000000000000000000000000 jdk7u7-b02
-+dbfa9c57853c2dd9cd4e4a139d83b519573d8031 jdk7u9-b02
-+3159fbe20e2d9501007aae8ca3db58978d754561 jdk7u9-b04
-+d9c8fa0606fdfff242175ce904c525a6fc40d6e5 jdk7u9-b05
-+81f8b620894e275012a1b447f13319b7d2148b28 jdk7u9-b31
-+d247cdeb828f4463b55ea53c4b2d6346f7706c3c jdk7u9-b32
-+d934ce27cddbc9ba7236791f177872491204a41e jdk7u10-b10
-+5a5ee5b70d563d5817b6ec023d275e9b17256459 jdk7u10-b11
-+48b58c2d665c9a1d3598b981e46f87f9bcdd5b46 jdk7u10-b12
-+1b9618b61e29c09b92f83956c613acf36ccabb38 jdk7u10-b13
-+c50e1a044e4fcc1a94b79b42f3629beb07624010 jdk7u10-b14
-+137087461db28f935493940658f31be760098f00 jdk7u10-b15
-+c8a37a49fc90ae31b864544d6d4a9f6137d4995d jdk7u10-b16
-+494e838439db7f0f4e36f7dcfeba06d2bef78c8d jdk7u10-b17
-+dce9058d2151e6b5c84898c13cfd1521a627a296 jdk7u10-b18
-+b5fb925394331313dbe3859fdc408bfd37193476 jdk7u10-b30
-+337ce65c8c356766212812b78f49f5632995987d jdk7u10-b31
-+c2d5141baeda6c9b5bbc83c21eff9c3940fefae4 jdk7u11-b20
-+168aa0f1417b3651a955ae66068dc148b660f829 jdk7u11-b21
-+7c0710ed65b097d415f772ff4fb58c4822890aa3 jdk7u11-b32
-+61cee7a518a4ae05439490ec388c3ab1d1d899f2 jdk7u11-b33
-+c8a37a49fc90ae31b864544d6d4a9f6137d4995d jdk7u11-b03
-+0b418e2ccf9093718609144689d1a8b316ad951f jdk7u11-b04
-+e127e6c94b56f7348df67d9672c16a7dc9c5ec5e jdk7u11-b05
-+f6abff072aabfee866342d9f7f4aac7d13450ddf jdk7u11-b06
-+80a3d0bcd3d4c9e83b75416178bdd60a2d23ebbc jdk7u11-b07
-+e7c55def6796d3c426631b5717084ef122908847 jdk7u11-b08
-+2412f7b8551ede5296cb6e1d6189f40aad9eeffe jdk7u13-b09
-+3b7815df113f8044039739276237b964ee8fa015 jdk7u13-b10
-+527d3cf769ec073d7348e4c31f97c47c943c96b6 jdk7u13-b30
-+3b7815df113f8044039739276237b964ee8fa015 jdk7u13-b20
-+0e52db2d9bb8bc789f6c66f2cfb7cd2d3b0b16c6 jdk7u15-b01
-+0324fca94d073b3aad77658224f17679f25c18b1 jdk7u15-b02
-+25a9d44cebf2a7ac6dd1748c94e00b242403acb1 jdk7u15-b30
-+5c1b2900a65b5ebe9d2a5c9b48903081c8196b04 jdk7u15-b31
-+e7adbfbcd837ad4e9f88db45612e5704b7a249fd jdk7u15-b33
-+f37a75bd39595ba38bdc53ee957c63bbb3cbb12d jdk7u15-b03
-+2412f7b8551ede5296cb6e1d6189f40aad9eeffe jdk7u15-b32
-+0c2b2dae93e7a720bbcc2e13a1913a2264335554 jdk7u17-b01
-+8e49ff2feda30801d7826ca1778eb7b901a7089c jdk7u17-b02
-+933d424580f967ed11eda2bbfd690f985a72df6e jdk7u17-b30
-+790582955edb617b41abbc73cf82544dbf8c1d97 jdk7u17-b31
-+941539a9f6441f053e8e7f31064944b2fc08879f jdk7u17-b32
-+527d3cf769ec073d7348e4c31f97c47c943c96b6 jdk7u21-b01
-+bc264b362dc7b4f2bda34e1a5b87a4f0c2bd4d82 jdk7u21-b02
-+20603c659295a40c7f16259cb08c91475092efed jdk7u21-b03
-+d2b1fdd8ee0affe640c7493ab3ae04fcc1961446 jdk7u21-b04
-+2d6657f92359d1d46b355fd0c99b8aa5f34832e4 jdk7u21-b05
-+14522481739dc6981beb5cc55d543dcc62cda067 jdk7u21-b06
-+0df382e8c17bf817d55fc8759c7f5c9e9d0337f0 jdk7u21-b07
-+1aff32a21aba64c3767e9a72ebf1b8ba490e99ec jdk7u21-b08
-+a2e0099b4cf70be026a7a0ba7918fcd71d57fdce jdk7u21-b09
-+602ad1a5b09fb9136e8bf1b708e0524fbdb35324 jdk7u21-b10
-+fa322ca378324750ea049f2e92357e51eca27ae4 jdk7u21-b11
-+450e8dde919df278fe75ae95e0eb0a6464f5bc41 jdk7u21-b30
-+170520883597f90771aca8251a8d089e7566e4bf jdk7u21-b12
-+50bfbd21bf42f6ae4167226ac45cd79e0ab7758c jdk7u25-b03
-+a94c9aa356bbed13c1e2b4a9a380117ddff1668f jdk7u25-b04
-+29a789ae14dc09a50eb45d3445075642e77490a2 jdk7u25-b05
-+8a7c657b7536006633b5e961d93e2173712a64fa jdk7u25-b06
-+d45374e7c7eeb4e01d9f239e71e8a8aff453d55a jdk7u25-b07
-+b01002577912b89306e88a9973b6f3bc049a2a69 jdk7u25-b08
-+84285f4e0aa2f81b80bc6fbe713d768c0d9a7156 jdk7u25-b09
-+aae1e27d347b71f65f548c12b918ede98d869b7c jdk7u25-b10
---- corba/.hgtags 2012-08-10 09:09:50.000000000 -0700
-+++ corba/.hgtags 2013-06-22 09:41:22.000000000 -0700
+@@ -300,6 +301,22 @@
+ 84285f4e0aa2f81b80bc6fbe713d768c0d9a7156 jdk7u25-b09
+ aae1e27d347b71f65f548c12b918ede98d869b7c jdk7u25-b10
+ 039f12124903cd0b7633a17a26f6ca281f7aaeae jdk7u25-b11
++210f464368dba0fc4f8d239654fa7432ad2ed31f jdk7u14-b16
++f07712232642fc30dcf7c433ff890e7247b5fd0b jdk7u14-b17
++9e2a9a2c5b240daa4e27ff75d030a77827174753 jdk7u14-b18
++d9d4dc020cb37142230f6a20d2a75a677c5cd26f jdk7u14-b19
++d9d4dc020cb37142230f6a20d2a75a677c5cd26f jdk7u14-b19
++b4b7795ef8047e3d2b2ba48a70c08d9184073100 jdk7u14-b19
++f413e7a22c198559af5aca28309356e6d4edd78f jdk7u14-b20
++41686e19d8189a546434a52dd9679e9b6a0a68be jdk7u14-b21
++3e3177719b43f732239d6d51e96d26ee18440960 jdk7u14-b22
++8c6e2197930c79f6beafd83181714cc817b83229 jdk7u40-b23
++5169c92728b54a4b5e9a41071f8bf8701d0fe1fa jdk7u40-b24
++f89fd7e2800c1c35b6c339f54780d5579bb30991 jdk7u40-b25
++4ef57f592525d36487ea6eeb2be84d0e9170b26b jdk7u40-b26
++75167199239375d05b68668023c885c2776fd548 jdk7u40-b27
++ac751f3867ecffca814b25daf5e19d82d83fc755 jdk7u40-b28
++dbe42a627813892d1bb59a4240c24f60ef22930a jdk7u40-b29
+ 2d02518960053d2b1dcb9aabacd709788e92c549 jdk7u25-b12
+ 37c4268341d79b16165bdaf7e1fad489d692bc83 jdk7u25-b13
+ 9de1fc3635def64c19c51f272f09b51d8cf0ca98 jdk7u25-b14
+@@ -327,7 +344,7 @@
+ ac751f3867ecffca814b25daf5e19d82d83fc755 jdk7u40-b28
+ dbe42a627813892d1bb59a4240c24f60ef22930a jdk7u40-b29
+ 1c141e6fde911c4974c87e340eb698754607f422 jdk7u40-b30
+-58a2a470aa3bccd3eb3624e68bca9397c8cc26a2 jdk7u40-b31
++e51f24701c608e57ba7ae69ba28bbc2daab02c4c jdk7u45-b01
+ da376fd5e4d68f8a45003a6e175267dc840711cc jdk7u40-b32
+ 3fdfe7f1b06354e11e8af51b7c653c8a0adb3987 jdk7u40-b33
+ a1ae13479e8767329fa20774b5cea5976aaeb37b jdk7u40-b34
+@@ -341,3 +358,19 @@
+ 3af81bfe320c12758234233da6fa27c3c0ffcdc4 jdk7u40-b42
+ 1d53bd8fd2a62bcf336727ebec377ef7498dd4a6 jdk7u40-b43
+ dc1e099cd62d250b4a997ce694b47fe2f50d2905 jdk7u40-b60
++07e41ff8674c9438cb1124cf78eed8636ed5d4fa jdk7u45-b02
++23c983c352a170d7a5fb7d703081daf1816d257a jdk7u45-b03
++1018a8ab686da6c1be22bec3ab9d01b2dc206333 jdk7u45-b04
++22e0ca1fa645d0518b514159afafe34335699c11 jdk7u45-b05
++61343f60f25a1d0deddc1468b2eb948df5275641 jdk7u45-b06
++24088aaf3f6834e46b486b706fbc6ce1f18814e5 jdk7u45-b07
++036425509e31070700a3956aaca7c33d583b7a5e jdk7u45-b08
++b6af2c522a633de1c7b66204fac7104b410ce23c jdk7u45-b09
++3fedb8c609a0f43bc8084edbecb0435e19dcb9a2 jdk7u45-b10
++142403d9f1167b8559b49627c7199c84623307da jdk7u45-b11
++a14018a5fa18092dcca5084656abb797bdb7b5ff jdk7u45-b12
++4d38e9adeb81df9c24550070df1f358aa9c17477 jdk7u45-b13
++bab0456ba0520f73ee20814ddf7ea0d596e49abd jdk7u45-b14
++b4b2584649027b622c188db7a6c3f9cff0e20130 jdk7u45-b15
++f2479abad143d2d9f33b6c872890ca0c5dd52530 jdk7u45-b16
++6fd67e0287a9893ea1f0090fe127f18a7e235148 jdk7u45-b17
+--- Makefile 2013-09-06 11:20:33.000000000 -0700
++++ Makefile 2013-12-01 11:13:37.000000000 -0800
+@@ -264,7 +264,7 @@
+ DEBUG_NAME=$(DEBUG_NAME) \
+ GENERATE_DOCS=false \
+ $(if $(findstring true,$(BUILD_INSTALL)),BUILD_INSTALL_BUNDLES=true,) \
+- CREATE_DEBUGINFO_BUNDLES=false \
++ CREATE_DEBUGINFO_BUNDLES=true \
+ $(BOOT_CYCLE_DEBUG_SETTINGS) \
+ generic_build_repo_series
+
+--- corba/.hgtags 2013-09-06 11:20:46.000000000 -0700
++++ corba/.hgtags 2013-12-01 11:13:39.000000000 -0800
@@ -123,6 +123,7 @@
770227a4087e4e401fe87ccd19738440111c3948 jdk7-b146
36f0efbc66ef8ace3cca8aa8d0c88f3334080f8a jdk7u1-b01
@@ -100,1430 +81,3891 @@
9515a2d034b4727c11aeea36354a549fbc469c4f jdk7u1-b02
dd71cb354c573c1addcda269a7dd9144bfce9587 jdk7u1-b03
eaee830124aa453627591d8f9eccb39d7e040876 jdk7u1-b04
-@@ -197,5 +198,81 @@
- 353c15c4bc371f2f8258344c988d1403477cc140 jdk7u6-b21
- 793b80c0316fcafa18668bced26acb41af3be07d jdk7u6-b22
- 2a8376123fbb81bc4b2f643ff7cfaf7f87b21c35 jdk7u6-b23
--353c15c4bc371f2f8258344c988d1403477cc140 jdk7u8-b01
--d17ca8d088f7cc0dd42230472f534c8d1e415bcb jdk7u8-b02
-+02512f61591f55d84458d1ea4ce84eecb7324f89 jdk7u6-b24
-+8b20875b3faa01ef56331045de88747df278eaeb jdk7u6-b30
-+d7fe6c13adf9e06d98c061449d171bc06c2ba0a3 jdk7u6-b31
-+d7fe6c13adf9e06d98c061449d171bc06c2ba0a3 jdk7u7-b10
-+496baf62d0550c704505b0ff6f390279f6a569e0 jdk7u7-b30
-+e57e4274a3575f278115cc8ef03c5bdf3c43a7ed jdk7u7-b11
-+06cbc4af754ea8f2e3b7d0b1701d1a69ce9d5075 jdk7u7-b31
-+8737f43e092ea52dd85dcf164736eea3b9b364e6 jdk7u7-b01
-+ec602836c4e173927911673d253bb8baa1e3d170 jdk7u7-b02
-+a163e56c6679d10dc64ec48f35e67c3a5942afba jdk7u9-b03
-+0000000000000000000000000000000000000000 jdk7u7-b01
-+8737f43e092ea52dd85dcf164736eea3b9b364e6 jdk7u9-b01
-+0000000000000000000000000000000000000000 jdk7u7-b02
-+ec602836c4e173927911673d253bb8baa1e3d170 jdk7u9-b02
-+268470f3f0d0d7e9b04c579c551571097f0b0305 jdk7u9-b04
-+a5dced409c4b7f940db80846f6efabac74523b0e jdk7u9-b05
-+b426254b45bcd7cdb38003497fdd4168e366d3cb jdk7u9-b31
-+0fa70374aa257929e2541e57c55c4cdebec91fd4 jdk7u9-b32
-+ba68d4ad02c465a36344a34eba34491466ec17d4 jdk7u10-b10
-+a738921b001a92381bf355a2bb1ecd742ecee352 jdk7u10-b11
-+e52708ecb2c32b366c251e4083fbb37e22a425c3 jdk7u10-b12
-+5cd2ef642635a7d0a79a7c28343b2ddfd0e6aa4a jdk7u10-b13
-+2d53a2c7e4b989ceba356abfc8dc2129269a134f jdk7u10-b14
-+c488cd628db35eb09d8ef9e10ffd00c9a93d0778 jdk7u10-b15
-+64f09d7549d304fbfd3c29b4f148bf44e8e3e979 jdk7u10-b16
-+57c3355153d1624fd98618097c1a82ab3ffc66f8 jdk7u10-b17
-+f2a347637a55fa4de9542a8dcab72ad6fac44d2b jdk7u10-b18
-+22cf8bc2ec47498fe548b308a81be0486dd7e3d0 jdk7u10-b30
-+2723612f5983e7d65490d7d4a3d8577026448736 jdk7u10-b31
-+e7952daece16b27d69cb78f6912407c3bbaf8e83 jdk7u11-b20
-+dff0f0272891b1d53497d9525567959b73476ff9 jdk7u11-b21
-+24f8cb8a0a615686f8baba4d746514bae92f064d jdk7u11-b32
-+4bfef14df261d69dc32e37d189e12e3fa572a83c jdk7u11-b33
-+96a3c68e5741dc9ab5cb0da426511eb15fd29ede jdk7u11-b03
-+1413b173730f4796fca42c89eeb804a5935b0264 jdk7u11-b04
-+5c49a17bc15f4fd4722746788f5130df132cd038 jdk7u11-b05
-+30057c20fbb3caa61857656d05421e56731184f2 jdk7u11-b06
-+9d9440d1fa2dd872c2a2b564fc5fa4d3555afab6 jdk7u11-b07
-+983fac5b27376839142ac5a8770461e4e48c2dc8 jdk7u11-b08
-+b192d148731916e4b1b47b7a3e6b0a1d7ddf3f14 jdk7u13-b09
-+b9ab9b203a41469a274419d26be2c04558b57ce8 jdk7u13-b10
-+f5ef46204dba19679edd7492b221110fd1a0bd33 jdk7u13-b30
-+b9ab9b203a41469a274419d26be2c04558b57ce8 jdk7u13-b20
-+622e370c2d1e8c5f48d8f520f486dc6fcc1239c5 jdk7u15-b01
-+30188388048333e213a839363329ac2cb0cf0e0d jdk7u15-b02
-+7f0e7ce088ff554f64e2c102ae3718ae4d580c34 jdk7u15-b30
-+3714b558333e1089e2649ead8586873abd9c0ed1 jdk7u15-b31
-+f0c038610b6da1a0d4214b730aa6cb17b64d0a3b jdk7u15-b33
-+e5b996dabec6ac6aa12705ce678642605ea9d476 jdk7u15-b03
-+b192d148731916e4b1b47b7a3e6b0a1d7ddf3f14 jdk7u15-b32
-+94e8b9b0e0ef1685e2f2fcc886e08a42a85c8e03 jdk7u17-b01
-+e82d31e1f1189ae6f02d6855f0cd78074599b2e1 jdk7u17-b02
-+d4366e557c4c5af62a94fc9885aed87c99abc848 jdk7u17-b30
-+a6f066dd2cd526da73070d1e46c9b1e1ab1a6756 jdk7u17-b31
-+6401c6b99d2d43ed4f0e2d38dce496069f6e91f8 jdk7u17-b32
-+f5ef46204dba19679edd7492b221110fd1a0bd33 jdk7u21-b01
-+17ecd70a2247ed86a095aae9f1a201fa7feea861 jdk7u21-b02
-+bf0877613aeba816d5f18ea6316d535819f628e9 jdk7u21-b03
-+3e39240d7314e82b3ccff3b2a64413be9c0b6665 jdk7u21-b04
-+f5a291dc9d219f68a2d4bcc72c65c014e9ec3b8b jdk7u21-b05
-+94f2ebfccc5e057169284bb2c858296b235868ea jdk7u21-b06
-+23a57aceeb69e688f8ce8b8361fad3a49cf4ac5f jdk7u21-b07
-+ebedf04bfffe289e8bf9661b38f73ca6c0dad17c jdk7u21-b08
-+b8f92ad1f0cc86d8571a0e23192e667f0ef8e421 jdk7u21-b09
-+b2adfd931a2504948d4fee780e4175122be10484 jdk7u21-b10
-+61e2e2d9cfcea20132b50d8fb7ead66a8a373db7 jdk7u21-b11
-+3c774492beaaff241c654add2c4e683b9ff002f2 jdk7u21-b30
-+fa2a377ce52dfa88fca858d735d78b53f2b5b754 jdk7u21-b12
-+3d0f2d5b1866860f7089b51cca8ca0ca41c04d9c jdk7u25-b01
-+cdbafc5080eeb8ea3fec9fe7d071e0bf96635581 jdk7u25-b02
-+2057de7ee6b17ab3335ec6cd5730f88f4cfe9502 jdk7u25-b03
-+b180f1282ad221bde0d4d865c879c0fa7f8ef4c8 jdk7u25-b04
-+d97e6c162735798fe0c9f1dd582aa1114b6c5447 jdk7u25-b05
-+da9301dac56c26846212db33bb20001652b6ce60 jdk7u25-b06
-+aa2dc8d3bb2cdd726ec97bc2bf130eec46467f28 jdk7u25-b07
-+550d43da7fe2f85bbce88cc94066c589480b1221 jdk7u25-b08
-+161ec4dd450d59e1b8ad136db231925c97ff6205 jdk7u25-b09
-+c9da98e82bb006dccd94a50871d6cdb66fa2d7e7 jdk7u25-b10
---- corba/make/com/sun/corba/minclude/com_sun_corba_se_impl_orbutil.jmk 2012-08-10 09:09:53.000000000 -0700
-+++ corba/make/com/sun/corba/minclude/com_sun_corba_se_impl_orbutil.jmk 2013-06-22 09:39:21.000000000 -0700
-@@ -1,5 +1,5 @@
- #
--# Copyright (c) 2000, 2009, 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
-@@ -29,10 +29,6 @@
- com/sun/corba/se/impl/orbutil/DenseIntMapImpl.java \
- com/sun/corba/se/impl/orbutil/GetPropertyAction.java \
- com/sun/corba/se/impl/orbutil/HexOutputStream.java \
-- com/sun/corba/se/impl/orbutil/IIOPInputStream_1_3.java \
-- com/sun/corba/se/impl/orbutil/IIOPInputStream_1_3_1.java \
-- com/sun/corba/se/impl/orbutil/IIOPOutputStream_1_3.java \
-- com/sun/corba/se/impl/orbutil/IIOPOutputStream_1_3_1.java \
- com/sun/corba/se/impl/orbutil/LegacyHookGetFields.java \
- com/sun/corba/se/impl/orbutil/LegacyHookPutFields.java \
- com/sun/corba/se/impl/orbutil/LogKeywords.java \
-@@ -43,21 +39,12 @@
- 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/RepIdDelegator_1_3.java \
-- com/sun/corba/se/impl/orbutil/RepIdDelegator_1_3_1.java \
-- com/sun/corba/se/impl/orbutil/RepositoryIdCache_1_3.java \
-- com/sun/corba/se/impl/orbutil/RepositoryId_1_3.java \
- com/sun/corba/se/impl/orbutil/RepositoryIdFactory.java \
- com/sun/corba/se/impl/orbutil/RepositoryIdStrings.java \
- com/sun/corba/se/impl/orbutil/RepositoryIdUtility.java \
- com/sun/corba/se/impl/orbutil/RepositoryIdInterface.java \
-- com/sun/corba/se/impl/orbutil/RepositoryIdCache_1_3_1.java \
-- com/sun/corba/se/impl/orbutil/RepositoryId_1_3_1.java \
- com/sun/corba/se/impl/orbutil/StackImpl.java \
-- com/sun/corba/se/impl/orbutil/ValueHandlerImpl_1_3_1.java \
-- com/sun/corba/se/impl/orbutil/ValueHandlerImpl_1_3.java \
- com/sun/corba/se/impl/orbutil/closure/Future.java \
- com/sun/corba/se/impl/orbutil/closure/Constant.java \
- com/sun/corba/se/impl/orbutil/concurrent/Sync.java \
---- corba/src/share/classes/com/sun/corba/se/impl/activation/ServerMain.java 2012-08-10 09:10:11.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/activation/ServerMain.java 2013-03-09 18:08:34.000000000 -0800
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 1997, 2002, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
-@@ -322,9 +322,9 @@
- com.sun.corba.se.spi.activation._ServerImplBase
+@@ -302,6 +303,22 @@
+ 161ec4dd450d59e1b8ad136db231925c97ff6205 jdk7u25-b09
+ c9da98e82bb006dccd94a50871d6cdb66fa2d7e7 jdk7u25-b10
+ 109386df5b8e259d0af802217769a3c448404e49 jdk7u25-b11
++38282b734daefcbb8155b7d7ef9664130330ed14 jdk7u14-b16
++8b1d77697ca4d2a9c29d67fd2ff03aded9b06012 jdk7u14-b17
++862b43d26e03bbceb3465f93354860e0d17eb324 jdk7u14-b18
++bfbaab73969d4d978d0280d6ad51bac8c47dbaf8 jdk7u14-b19
++bfbaab73969d4d978d0280d6ad51bac8c47dbaf8 jdk7u14-b19
++a921b45a1f9086a7d598a76f920639050386f996 jdk7u14-b19
++54320e5d9da60df24f0e2c57c011809911dc06e1 jdk7u14-b20
++fb590ca4de9aaf1f6bca945be040dffc55b5e8d2 jdk7u14-b21
++e5d89aa2c1a11dba841a646858dda9ea18dc8f57 jdk7u14-b22
++d85df1552f877a1cc51f43bc07a42a0c48f18e0b jdk7u40-b23
++d3ab3b19caa02ee85359cfe07b6e0b74eb7b3d74 jdk7u40-b24
++abfc54516d0b7f9aed34ef175f6bbb93fda4cbb3 jdk7u40-b25
++be9099c54a35c00d0dfe6beeed8ea5d4ab3cd3fe jdk7u40-b26
++f745eeabb0eaabe8c0835c175b31f1e1c0f00bd4 jdk7u40-b27
++c8b9201f88f4ce417df7a40efcb7fef656d94512 jdk7u40-b28
++1ad0a5a3f7b1e9d95670d733d7e70714050ba6bf jdk7u40-b29
+ ef8e6f8305d524f3b448a85f901aadf1adc81fc0 jdk7u25-b12
+ eca480919c71072a31f62a61cb3aad30677007e3 jdk7u25-b13
+ 577c4dd1a6e9bc1bb2c2e5d5ecbab8eacb4121af jdk7u25-b14
+@@ -343,3 +360,20 @@
+ b4a480a039bc19b27bfb5fcbbbf75e651d2718b7 jdk7u40-b42
+ e29ea0b297e519010e661603a07bb8d48fa904a2 jdk7u40-b43
+ 08737d863a7aa5eb39374b26c9585e1770affe92 jdk7u40-b60
++4f54264ca4df2fc50fbb9bb2654dad97776d10ac jdk7u45-b01
++1a1a1dedf437c50797a49c21a12161a79c761757 jdk7u45-b02
++3a2cca8c2f209b533af6c1201cc8aee43628e578 jdk7u45-b03
++4f4f7869bd6585042ad9596426dd1aa0829b8e98 jdk7u45-b04
++faee62d13040eae3d081f0383843a391ceef1edd jdk7u45-b05
++435dd0e1ab9ec9cbc83dc5ed260886f6becbef25 jdk7u45-b06
++2e19615f6045c3f39e39c56c485f7bc1df97e2ce jdk7u45-b07
++771c5c869d16d2da5668e412f505ad75f8f610c1 jdk7u45-b08
++a89d69bef3614f618843f5e9a495b12d13597851 jdk7u45-b09
++fd8a2041b75c4f712f2b08d627388d44a0cf2ee7 jdk7u45-b10
++55e0d3d9514343f380336b68aa8691a89b2e710b jdk7u45-b11
++336566c2905a49fc9a6f90f5ecd30517cfcaefff jdk7u45-b12
++6cadc3dd82a423f6c24460bb1997c0f39159dd93 jdk7u45-b13
++43e22471d0c29451f282b162864c2d3e494d5871 jdk7u45-b14
++3d7a52de59f03589d7a9334a6895063ff3331bfc jdk7u45-b15
++b1f069eb48edfa6fb7428dc045a53e287215ef4a jdk7u45-b16
++8b8793f06c56e343962b473bc0fb79f23b8be734 jdk7u45-b17
+--- corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLNameTranslatorImpl.java 2013-09-06 11:20:49.000000000 -0700
++++ corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLNameTranslatorImpl.java 2013-12-01 11:13:38.000000000 -0800
+@@ -905,28 +905,4 @@
+
+ return contents.toString();
+ }
+-
+- public static void main(String[] args) {
+-
+- Class remoteInterface = java.rmi.Remote.class;
+-
+- if( args.length > 0 ) {
+- String className = args[0];
+- try {
+- remoteInterface = Class.forName(className);
+- } catch(Exception e) {
+- e.printStackTrace();
+- System.exit(-1);
+- }
+- }
+-
+- System.out.println("Building name translation for " + remoteInterface);
+- try {
+- IDLNameTranslator nameTranslator =
+- IDLNameTranslatorImpl.get(remoteInterface);
+- System.out.println(nameTranslator);
+- } catch(IllegalStateException ise) {
+- ise.printStackTrace();
+- }
+- }
+ }
+--- corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/InvocationHandlerFactoryImpl.java 2013-09-06 11:20:50.000000000 -0700
++++ corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/InvocationHandlerFactoryImpl.java 2013-12-01 11:13:38.000000000 -0800
+@@ -43,6 +43,8 @@
+ import com.sun.corba.se.spi.orbutil.proxy.DelegateInvocationHandlerImpl ;
+ import com.sun.corba.se.spi.orbutil.proxy.CompositeInvocationHandler ;
+ import com.sun.corba.se.spi.orbutil.proxy.CompositeInvocationHandlerImpl ;
++import java.security.AccessController;
++import java.security.PrivilegedAction;
+
+ public class InvocationHandlerFactoryImpl implements InvocationHandlerFactory
{
- private ORB orb;
-- private Method installMethod ;
-- private Method uninstallMethod ;
-- private Method shutdownMethod ;
-+ private transient Method installMethod ;
-+ private transient Method uninstallMethod ;
-+ private transient Method shutdownMethod ;
- private Object methodArgs[] ;
-
- ServerCallback(ORB orb, Method installMethod, Method uninstallMethod,
---- corba/src/share/classes/com/sun/corba/se/impl/activation/ServerManagerImpl.java 2012-08-10 09:10:12.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/activation/ServerManagerImpl.java 2013-06-22 09:39:21.000000000 -0700
+@@ -114,24 +116,32 @@
+ // which extends org.omg.CORBA.Object. This handler delegates all
+ // calls directly to a DynamicStubImpl, which extends
+ // org.omg.CORBA.portable.ObjectImpl.
+- InvocationHandler dynamicStubHandler =
++ final InvocationHandler dynamicStubHandler =
+ DelegateInvocationHandlerImpl.create( stub ) ;
+
+ // Create an invocation handler that handles any remote interface
+ // methods.
+- InvocationHandler stubMethodHandler = new StubInvocationHandlerImpl(
++ final InvocationHandler stubMethodHandler = new StubInvocationHandlerImpl(
+ pm, classData, stub ) ;
+
+ // Create a composite handler that handles the DynamicStub interface
+ // as well as the remote interfaces.
+ final CompositeInvocationHandler handler =
+ new CustomCompositeInvocationHandlerImpl( stub ) ;
++
++ AccessController.doPrivileged(new PrivilegedAction<Void>() {
++ @Override
++ public Void run() {
+ handler.addInvocationHandler( DynamicStub.class,
+ dynamicStubHandler ) ;
+ handler.addInvocationHandler( org.omg.CORBA.Object.class,
+ dynamicStubHandler ) ;
+ handler.addInvocationHandler( Object.class,
+ dynamicStubHandler ) ;
++ return null;
++ }
++ });
++
+
+ // If the method passed to invoke is not from DynamicStub or its superclasses,
+ // it must be from an implemented interface, so we just handle
+--- corba/src/share/classes/com/sun/corba/se/impl/transport/SelectorImpl.java 2013-09-06 11:20:50.000000000 -0700
++++ corba/src/share/classes/com/sun/corba/se/impl/transport/SelectorImpl.java 2013-12-01 11:13:38.000000000 -0800
@@ -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.
+- * 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,6 @@
+@@ -55,7 +55,7 @@
+ /**
+ * @author Harold Carr
+ */
+-public class SelectorImpl
++class SelectorImpl
+ extends
+ Thread
+ implements
+--- corba/src/share/classes/com/sun/corba/se/spi/orbutil/proxy/CompositeInvocationHandlerImpl.java 2013-09-06 11:20:51.000000000 -0700
++++ corba/src/share/classes/com/sun/corba/se/spi/orbutil/proxy/CompositeInvocationHandlerImpl.java 2013-12-01 11:13:38.000000000 -0800
+@@ -36,6 +36,7 @@
+
+ import com.sun.corba.se.spi.logging.CORBALogDomains ;
+ import com.sun.corba.se.impl.logging.ORBUtilSystemException ;
++import com.sun.corba.se.impl.presentation.rmi.DynamicAccessPermission;
+
+ public class CompositeInvocationHandlerImpl implements
+ CompositeInvocationHandler
+@@ -46,11 +47,13 @@
+ public void addInvocationHandler( Class interf,
+ InvocationHandler handler )
+ {
++ checkAccess();
+ classToInvocationHandler.put( interf, handler ) ;
+ }
+
+ public void setDefaultHandler( InvocationHandler handler )
+ {
++ checkAccess();
+ defaultHandler = handler ;
+ }
- 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;
+@@ -78,4 +81,12 @@
---- corba/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java 2012-08-10 09:10:12.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java 2013-06-22 09:39:21.000000000 -0700
+ return handler.invoke( proxy, method, args ) ;
+ }
++
++ private static final DynamicAccessPermission perm = new DynamicAccessPermission("access");
++ private void checkAccess() {
++ final SecurityManager sm = System.getSecurityManager();
++ if (sm != null) {
++ sm.checkPermission(perm);
++}
++ }
+ }
+--- corba/src/share/classes/sun/rmi/rmic/iiop/StubGenerator.java 2013-09-06 11:20:56.000000000 -0700
++++ corba/src/share/classes/sun/rmi/rmic/iiop/StubGenerator.java 2013-12-01 11:13:38.000000000 -0800
@@ -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.
+- * 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
-@@ -33,6 +33,8 @@
+@@ -34,6 +34,9 @@
- import java.io.Serializable;
- import java.math.BigDecimal;
+ import java.io.File;
+ import java.io.IOException;
++import java.io.SerializablePermission;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
- import java.util.List ;
- import java.util.ArrayList ;
+ import java.util.Vector;
+ import java.util.Hashtable;
+ import java.util.Enumeration;
+@@ -49,6 +52,7 @@
+ import com.sun.corba.se.impl.util.PackagePrefixChecker;
+ import sun.rmi.rmic.Main;
-@@ -504,7 +506,13 @@
- 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<AnyOutputStream>() {
-+ @Override
-+ public AnyOutputStream run() {
-+ return new AnyOutputStream(finalorb);
-+ }
-+ });
- }
++
+ /**
+ * An IIOP stub/tie generator for rmic.
+ *
+@@ -78,6 +82,7 @@
+ protected boolean castArray = false;
+ protected Hashtable transactionalObjects = new Hashtable() ;
+ protected boolean POATie = false ;
++ protected boolean emitPermissionCheck = false;
/**
-@@ -1218,7 +1226,7 @@
- // See bug 4391648 for more info about the tcORB in this
- // case.
- RepositoryIdStrings repStrs
-- = RepositoryIdFactory.getRepIdStringsFactory(tcORB);
-+ = RepositoryIdFactory.getRepIdStringsFactory();
-
-
- // Assertion: c instanceof Serializable?
-@@ -1251,7 +1259,7 @@
- // Anything else
- // We know that this is a TypeCodeImpl since it is our ORB
- classTC = (TypeCodeImpl)ValueUtility.createTypeCodeForClass(
-- tcORB, c, ORBUtility.createValueHandler(tcORB));
-+ tcORB, c, ORBUtility.createValueHandler());
- // Intruct classTC to store its buffer
- classTC.setCaching(true);
- // Update the cache
---- corba/src/share/classes/com/sun/corba/se/impl/corba/TypeCodeImpl.java 2012-08-10 09:10:13.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/corba/TypeCodeImpl.java 2013-06-22 09:39:21.000000000 -0700
+ * Default constructor for Main to use.
+@@ -193,6 +198,9 @@
+ } else if (argv[i].equals("-standardPackage")) {
+ standardPackage = true;
+ argv[i] = null;
++ } else if (argv[i].equals("-emitPermissionCheck")) {
++ emitPermissionCheck = true;
++ argv[i] = null;
+ } else if (arg.equals("-xstubbase")) {
+ argv[i] = null;
+ if (++i < argv.length && argv[i] != null && !argv[i].startsWith("-")) {
+@@ -390,9 +398,22 @@
+
+ writePackageAndImports(p);
+
++// generate
++// import java.security.AccessController;
++// import java.security.PrivilegedAction;
++// import java.io.SerializablePermission;
++ if (emitPermissionCheck) {
++ p.pln("import java.security.AccessController;");
++ p.pln("import java.security.PrivilegedAction;");
++ p.pln("import java.io.SerializablePermission;");
++ p.pln();
++ p.pln();
++ }
++
+ // Declare the stub class; implement all remote interfaces.
+
+ p.p("public class " + currentClass);
++
+ p.p(" extends " + getName(stubBaseClass));
+ p.p(" implements ");
+ if (remoteInterfaces.length > 0) {
+@@ -422,6 +443,56 @@
+ writeIds( p, theType, false );
+ p.pln();
+
++ if (emitPermissionCheck) {
++
++ // produce the following generated code
++ // private static Void checkPermission() {
++ // SecurityManager sm = System.getSecurityManager();
++ // if (sm != null) {
++ // sm.checkPermission(new SerializablePermission(
++ // "enableSubclassImplementation")); // testing
++ // }
++ // return null;
++ // }
++ //
++ // private _XXXXXX_Stub(Void ignore) {
++ // }
++ //
++ // public _XXXXXX_Stub() {
++ // this(checkPermission());
++ // }
++ // where XXXXXX is the name of the remote interface
++
++ p.pln();
++ p.plnI("private static Void checkPermission() {");
++ p.plnI("SecurityManager sm = System.getSecurityManager();");
++ p.pln("if (sm != null) {");
++ p.pI();
++ p.plnI("sm.checkPermission(new SerializablePermission(");
++ p.plnI("\"enableSubclassImplementation\"));");
++ p.pO();
++ p.pO();
++ p.pOln("}");
++ p.pln("return null;");
++ p.pO();
++ p.pOln("}");
++ p.pln();
++ p.pO();
++
++ p.pI();
++ p.pln("private " + currentClass + "(Void ignore) { }");
++ p.pln();
++
++ p.plnI("public " + currentClass + "() { ");
++ p.pln("this(checkPermission());");
++ p.pOln("}");
++ p.pln();
++ }
++
++ if (!emitPermissionCheck) {
++ p.pI();
++ }
++
+ // Write the _ids() method...
+
+ p.plnI("public String[] _ids() { ");
+@@ -815,7 +886,6 @@
+ CompoundType theType) throws IOException {
+
+ // Wtite the method declaration and opening brace...
+-
+ String methodName = method.getName();
+ String methodIDLName = method.getIDLName();
+
+@@ -1631,7 +1701,7 @@
+
+ // Write data members...
+ p.pln();
+- p.pln("private " + getName(theType) + " target = null;");
++ p.pln("volatile private " + getName(theType) + " target = null;");
+ p.pln();
+
+ // Write the ids...
+@@ -1695,6 +1765,10 @@
+
+ if (remoteMethods.length > 0) {
+ p.plnI("try {");
++ p.pln(getName(theType) + " target = this.target;");
++ p.plnI("if (target == null) {");
++ p.pln("throw new java.io.IOException();");
++ p.pOln("}");
+ p.plnI(idExtInputStream + " "+in+" = ");
+ p.pln("(" + idExtInputStream + ") "+_in+";");
+ p.pO();
+--- hotspot/.hgtags 2013-09-06 11:21:49.000000000 -0700
++++ hotspot/.hgtags 2013-12-01 11:14:05.000000000 -0800
+@@ -182,6 +182,7 @@
+ 38fa55e5e79232d48f1bb8cf27d88bc094c9375a hs21-b16
+ 81d815b05abb564aa1f4100ae13491c949b9a07e jdk7-b147
+ 81d815b05abb564aa1f4100ae13491c949b9a07e hs21-b17
++f1a18ada5853af49fce54d43dd5a5b67dc291470 7u0
+ 9b0ca45cd756d538c4c30afab280a91868eee1a5 jdk7u2-b01
+ 0cc8a70952c368e06de2adab1f2649a408f5e577 jdk8-b01
+ 31e253c1da429124bb87570ab095d9bc89850d0a jdk8-b02
+@@ -476,6 +477,24 @@
+ 8386245b59c3e82b7c728b7d3832ea342c62615d jdk7u21-b50
+ c5e4585a045fe165d067ec0e98af42eace20c5f8 jdk7u21-b12
+ 00dbf9fa12ec6b1ba15d9a9a12495f50e10837bf jdk7u21-b31
++bf2d84c5103d98db1697b50071a649ea23c4e33d jdk7u25-b01
++07119340f80f77dfcb03fa568641e80b43d4be74 jdk7u25-b02
++655bea6843fb7beabd8d9eeda59572c0c7055b85 jdk7u25-b03
++96a4e612195c0d753be24cf38fea0ee8ce30edcf jdk7u25-b04
++7151c26b838828a20cb28595ef1f70403d1868cf jdk7u25-b05
++fbb5f6083dd00ca7417e4a45311f33918bb2a5f0 jdk7u25-b06
++83abf4b2fc8a5bb7226177c5e4334bd0bfd7a8df jdk7u25-b07
++525252cd9fca4869c3fd81bc61299a85e73ff9c7 jdk7u25-b08
++706a255a8404b7e41579cea278df6bb87c314567 jdk7u25-b09
++402184622f60a2ba35479bdf124a8d4694835406 jdk7u25-b10
++cca49a35bf83664456af112482ffb3a7465d21fa jdk7u25-b11
++7ca68c0674df72fdd784de337c049404d2b5b0c3 jdk7u25-b12
++3e145a686fedd9eefdcb6b714241200ed236b41d jdk7u25-b13
++4fafaf293aa5666e8c9f5ca1d96c3f752305f586 jdk7u25-b14
++40acb370626fbc439e4cfed8854960a83a376fba jdk7u25-b15
++97a3ebd62052410e0709035f40032d3f2113ed86 jdk7u25-b30
++b80a290e6e3011097273525c4f352c70b9857464 jdk7u25-b16
++273e8afccd6ef9e10e9fe121f7b323755191f3cc jdk7u25-b32
+ e3d2c238e29c421c3b5c001e400acbfb30790cfc jdk7u14-b14
+ 860ae068f4dff62a77c8315f0335b7e935087e86 hs24-b34
+ 12619005c5e29be6e65f0dc9891ca19d9ffb1aaa jdk7u14-b15
+@@ -550,3 +569,20 @@
+ b8d8caf6df744d5342b5d284376a005e86c0b108 hs24-b56
+ eceae04782438987cd747e1c76e4085f50b43a18 jdk7u40-b43
+ af1fc2868a2b919727bfbb0858449bd991bbee4a jdk7u40-b60
++5fb434aa203c32b4551167b922a70e79831ffdf4 jdk7u45-b01
++f2039061ba49de742ae88cc3123fd1237965d665 jdk7u45-b02
++d6fd3f84a30ce82a37fc39b6e5e9d73bd8054ab2 jdk7u45-b03
++7f16aa9067386aeb3668336aa6cd63ef3dc4f44a jdk7u45-b04
++b4fe146b820b47d8b59bbb9dc9d43221436ed0ae jdk7u45-b05
++63efa616e54dd3545e16a5aa1917662548b18ee5 jdk7u45-b06
++f6748e6123b6745497d69addffdff38e224a77c5 jdk7u45-b07
++06bcab9ef18355dccc87401fc24dbd5f15615db0 jdk7u45-b08
++996b6863b3b2468cece20d7a6f571f9ec1b7830c jdk7u45-b09
++bcaf889eea9e64d30f8c3aefdcdc2c2ee29406f2 jdk7u45-b10
++7ca907428850dc2aa99ee4a906446e479dbeb392 jdk7u45-b11
++ed1505510ea0e94b17f968cdb3e8aba13c99d543 jdk7u45-b12
++89f99af7a7bbdadb5b8cf781c7d899c22df64b71 jdk7u45-b13
++718d1e9223dd0359d9ccef81fb82c32215702fe8 jdk7u45-b14
++9ad76a08e5edfe24e95eef84e15fef261bff1abf jdk7u45-b15
++429884602206fcf5314c8b953c06d54d337558ca jdk7u45-b16
++0c0dc384915cafd9bfaa2fe5792a629a22d1b990 jdk7u45-b17
+--- hotspot/agent/src/os/bsd/ps_proc.c 2013-09-06 11:21:50.000000000 -0700
++++ hotspot/agent/src/os/bsd/ps_proc.c 2013-12-01 19:30:15.000000000 -0800
+@@ -131,7 +131,7 @@
+
+ static bool ptrace_continue(pid_t pid, int signal) {
+ // pass the signal to the process so we don't swallow it
+- if (ptrace(PTRACE_CONT, pid, NULL, signal) < 0) {
++ if (ptrace(PT_CONTINUE, pid, NULL, signal) < 0) {
+ print_debug("ptrace(PTRACE_CONT, ..) failed for %d\n", pid);
+ return false;
+ }
+--- hotspot/agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java 2013-09-06 11:21:51.000000000 -0700
++++ hotspot/agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java 2013-12-01 11:14:05.000000000 -0800
+@@ -33,6 +33,7 @@
+ import sun.jvm.hotspot.debugger.remote.*;
+ import sun.jvm.hotspot.debugger.windbg.*;
+ import sun.jvm.hotspot.debugger.linux.*;
++import sun.jvm.hotspot.debugger.bsd.*;
+ import sun.jvm.hotspot.memory.*;
+ import sun.jvm.hotspot.oops.*;
+ import sun.jvm.hotspot.runtime.*;
+--- hotspot/agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpotAgent.java 2013-09-06 11:21:52.000000000 -0700
++++ hotspot/agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpotAgent.java 2013-12-01 11:14:05.000000000 -0800
+@@ -35,6 +35,7 @@
+ import sun.jvm.hotspot.debugger.windbg.*;
+ import sun.jvm.hotspot.debugger.linux.*;
+ import sun.jvm.hotspot.debugger.sparc.*;
++import sun.jvm.hotspot.debugger.bsd.*;
+ import sun.jvm.hotspot.debugger.remote.*;
+ import sun.jvm.hotspot.livejvm.*;
+ import sun.jvm.hotspot.memory.*;
+--- hotspot/make/bsd/Makefile 2013-09-06 11:21:59.000000000 -0700
++++ hotspot/make/bsd/Makefile 2013-12-01 11:14:05.000000000 -0800
@@ -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 @@
- }
+ #
+-# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
++# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
+ # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ #
+ # This code is free software; you can redistribute it and/or modify it
+@@ -211,6 +211,8 @@
+ BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) LIBRARY_SUFFIX=$(LIBRARY_SUFFIX)
+ BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION) HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION) JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
- 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;
---- corba/src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream_1_0.java 2012-08-10 09:10:15.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream_1_0.java 2013-03-09 18:08:34.000000000 -0800
++BUILDTREE_VARS += ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS) OBJCOPY=$(OBJCOPY) STRIP_POLICY=$(STRIP_POLICY) ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES) ZIPEXE=$(ZIPEXE)
++
+ BUILDTREE = $(MAKE) -f $(BUILDTREE_MAKE) $(BUILDTREE_VARS)
+
+ #-------------------------------------------------------------------------------
+@@ -337,9 +339,11 @@
+
+ # Doc target. This is the same for all build options.
+ # Hence create a docs directory beside ...$(ARCH)_[...]
++# We specify 'BUILD_FLAVOR=product' so that the proper
++# ENABLE_FULL_DEBUG_SYMBOLS value is used.
+ docs: checks
+ $(QUIETLY) mkdir -p $(SUBDIR_DOCS)
+- $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/makefiles/jvmti.make $(MFLAGS) $(BUILDTREE_VARS) JvmtiOutDir=$(SUBDIR_DOCS) jvmtidocs
++ $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/makefiles/jvmti.make $(MFLAGS) $(BUILDTREE_VARS) JvmtiOutDir=$(SUBDIR_DOCS) BUILD_FLAVOR=product jvmtidocs
+
+ # Synonyms for win32-like targets.
+ compiler2: jvmg product
+--- hotspot/make/bsd/makefiles/buildtree.make 2013-09-06 11:22:00.000000000 -0700
++++ hotspot/make/bsd/makefiles/buildtree.make 2013-12-01 11:14:05.000000000 -0800
@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
-@@ -269,8 +269,8 @@
+ #
+-# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
++# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+ # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ #
+ # This code is free software; you can redistribute it and/or modify it
+@@ -253,6 +253,16 @@
+ echo "$(call gamma-path,commonsrc,os/posix/vm)"; \
+ [ -n "$(CFLAGS_BROWSE)" ] && \
+ echo && echo "CFLAGS_BROWSE = $(CFLAGS_BROWSE)"; \
++ [ -n "$(ENABLE_FULL_DEBUG_SYMBOLS)" ] && \
++ echo && echo "ENABLE_FULL_DEBUG_SYMBOLS = $(ENABLE_FULL_DEBUG_SYMBOLS)"; \
++ [ -n "$(OBJCOPY)" ] && \
++ echo && echo "OBJCOPY = $(OBJCOPY)"; \
++ [ -n "$(STRIP_POLICY)" ] && \
++ echo && echo "STRIP_POLICY = $(STRIP_POLICY)"; \
++ [ -n "$(ZIP_DEBUGINFO_FILES)" ] && \
++ echo && echo "ZIP_DEBUGINFO_FILES = $(ZIP_DEBUGINFO_FILES)"; \
++ [ -n "$(ZIPEXE)" ] && \
++ echo && echo "ZIPEXE = $(ZIPEXE)"; \
+ [ -n "$(HOTSPOT_EXTRA_SYSDEFS)" ] && \
+ echo && \
+ echo "HOTSPOT_EXTRA_SYSDEFS\$$(HOTSPOT_EXTRA_SYSDEFS) = $(HOTSPOT_EXTRA_SYSDEFS)" && \
+@@ -382,7 +392,7 @@
+ $(QUIETLY) ( \
+ $(BUILDTREE_COMMENT); \
+ echo "JDK=${JAVA_HOME}"; \
+- ) > $@
++ ) > $@
- private final void createRepositoryIdHandlers()
- {
-- repIdUtil = RepositoryIdFactory.getRepIdUtility(orb);
-- repIdStrs = RepositoryIdFactory.getRepIdStringsFactory(orb);
-+ repIdUtil = RepositoryIdFactory.getRepIdUtility();
-+ repIdStrs = RepositoryIdFactory.getRepIdStringsFactory();
- }
+ .dbxrc: $(BUILDTREE_MAKE)
+ @echo Creating $@ ...
+--- hotspot/make/bsd/makefiles/jsig.make 2013-09-06 11:22:00.000000000 -0700
++++ hotspot/make/bsd/makefiles/jsig.make 2013-12-01 11:14:05.000000000 -0800
+@@ -36,9 +36,16 @@
+ LIBJSIG_G = lib$(JSIG_G).so
+ endif
- public GIOPVersion getGIOPVersion() {
-@@ -564,10 +564,7 @@
++LIBJSIG_DEBUGINFO = lib$(JSIG).debuginfo
++LIBJSIG_DIZ = lib$(JSIG).diz
++LIBJSIG_G_DEBUGINFO = lib$(JSIG_G).debuginfo
++LIBJSIG_G_DIZ = lib$(JSIG_G).diz
++
+ JSIGSRCDIR = $(GAMMADIR)/src/os/$(Platform_os_family)/vm
- checkForNegativeLength(len);
+ DEST_JSIG = $(JDK_LIBDIR)/$(LIBJSIG)
++DEST_JSIG_DEBUGINFO = $(JDK_LIBDIR)/$(LIBJSIG_DEBUGINFO)
++DEST_JSIG_DIZ = $(JDK_LIBDIR)/$(LIBJSIG_DIZ)
-- if (orb != null && ORBUtility.isLegacyORB((ORB)orb))
-- return legacyReadString(len);
-- else
-- return internalReadString(len);
-+ return internalReadString(len);
- }
+ LIBJSIG_MAPFILE = $(MAKEFILES_DIR)/mapfile-vers-jsig
- private final String internalReadString(int len) {
-@@ -588,54 +585,6 @@
- return new String(result, 0, getCharConverter().getNumChars());
- }
+@@ -57,11 +64,33 @@
+ $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
+ @echo Making signal interposition lib...
+ $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
+- $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) -o $@ $<
++ $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) -o $@ $<
+ $(QUIETLY) [ -f $(LIBJSIG_G) ] || { ln -s $@ $(LIBJSIG_G); }
++ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
++ $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO)
++ $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@
++ ifeq ($(STRIP_POLICY),all_strip)
++ $(QUIETLY) $(STRIP) $@
++ else
++ ifeq ($(STRIP_POLICY),min_strip)
++ $(QUIETLY) $(STRIP) -S $@
++ # implied else here is no stripping at all
++ endif
++ endif
++ [ -f $(LIBJSIG_G_DEBUGINFO) ] || { ln -s $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO); }
++ ifeq ($(ZIP_DEBUGINFO_FILES),1)
++ $(ZIPEXE) -q -y $(LIBJSIG_DIZ) $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO)
++ $(RM) $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO)
++ [ -f $(LIBJSIG_G_DIZ) ] || { ln -s $(LIBJSIG_DIZ) $(LIBJSIG_G_DIZ); }
++ endif
++endif
-- private final String legacyReadString(int len) {
--
-- //
-- // Workaround for ORBs which send string lengths of
-- // zero to mean empty string.
-- //
-- //
-- // IMPORTANT: Do not replace 'new String("")' with "", it may result
-- // in a Serialization bug (See serialization.zerolengthstring) and
-- // bug id: 4728756 for details
-- if (len == 0)
-- return new String("");
--
-- len--;
-- char[] c = new char[len];
--
-- int n = 0;
-- while (n < len) {
-- int avail;
-- int bytes;
-- int wanted;
--
-- avail = bbwi.buflen - bbwi.position();
-- if (avail <= 0) {
-- grow(1, 1);
-- avail = bbwi.buflen - bbwi.position();
-- }
-- wanted = len - n;
-- bytes = (wanted < avail) ? wanted : avail;
-- // Microbenchmarks are showing a loop of ByteBuffer.get(int) being
-- // faster than ByteBuffer.get(byte[], int, int).
-- for (int i=0; i<bytes; i++) {
-- c[n+i] = (char) (bbwi.byteBuffer.get(bbwi.position()+i) & 0xFF);
-- }
-- bbwi.position(bbwi.position() + bytes);
-- n += bytes;
-- }
--
-- //
-- // Skip past terminating null byte
-- //
-- if (bbwi.position() + 1 > bbwi.buflen)
-- alignAndCheck(1, 1);
-- bbwi.position(bbwi.position() + 1);
--
-- return new String(c);
-- }
--
- public final String read_string() {
- return readStringOrIndirection(false);
- }
-@@ -1045,7 +994,7 @@
+ install_jsig: $(LIBJSIG)
+ @echo "Copying $(LIBJSIG) to $(DEST_JSIG)"
++ $(QUIETLY) test -f $(LIBJSIG_DEBUGINFO) && \
++ cp -f $(LIBJSIG_DEBUGINFO) $(DEST_JSIG_DEBUGINFO)
++ $(QUIETLY) test -f $(LIBJSIG_DIZ) && \
++ cp -f $(LIBJSIG_DIZ) $(DEST_JSIG_DIZ)
+ $(QUIETLY) cp -f $(LIBJSIG) $(DEST_JSIG) && echo "Done"
- try {
- if (valueHandler == null)
-- valueHandler = ORBUtility.createValueHandler(orb);
-+ valueHandler = ORBUtility.createValueHandler();
-
- value = valueHandler.readValue(parent,
- indirection,
---- corba/src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream_1_0.java 2012-08-10 09:10:15.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream_1_0.java 2013-03-09 18:08:34.000000000 -0800
+ .PHONY: install_jsig
+--- hotspot/make/bsd/makefiles/launcher.make 2013-09-06 11:22:00.000000000 -0700
++++ hotspot/make/bsd/makefiles/launcher.make 2013-12-01 11:14:05.000000000 -0800
+@@ -50,7 +50,7 @@
+ LIBS_LAUNCHER += $(STATIC_STDCXX) $(LIBS)
+ else
+ LAUNCHER.o = launcher.o
+- LFLAGS_LAUNCHER += -L`pwd`
++ LFLAGS_LAUNCHER += -L`pwd`
+
+ # The gamma launcher runs the JDK from $JAVA_HOME, overriding the JVM with a
+ # freshly built JVM at ./libjvm.{so|dylib}. This is accomplished by setting
+--- hotspot/make/bsd/makefiles/mapfile-vers-product 2013-09-06 11:22:00.000000000 -0700
++++ hotspot/make/bsd/makefiles/mapfile-vers-product 2013-12-01 20:12:29.000000000 -0800
@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
-@@ -189,18 +189,8 @@
+ #
+-# Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
++# Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+ # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ #
+ # This code is free software; you can redistribute it and/or modify it
+@@ -19,235 +19,247 @@
+ # 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
+-
+- # _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_GetComponentType
+- _JVM_GetDeclaredClasses
+- _JVM_GetDeclaringClass
+- _JVM_GetEnclosingMethodInfo
+- _JVM_GetFieldAnnotations
+- _JVM_GetFieldIxModifiers
+- _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_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_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_PrintStackTrace
+- _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
++
++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_GetComponentType;
++ JVM_GetDeclaredClasses;
++ JVM_GetDeclaringClass;
++ JVM_GetEnclosingMethodInfo;
++ JVM_GetFieldAnnotations;
++ JVM_GetFieldIxModifiers;
++ 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_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_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_PrintStackTrace;
++ 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_linux_signal;
- private final void createRepositoryIdHandlers()
- {
-- if (orb != null) {
-- // Get the appropriate versions based on the ORB version. The
-- // ORB versioning info is only in the core ORB.
-- repIdUtil
-- = RepositoryIdFactory.getRepIdUtility(orb);
-- repIdStrs
-- = RepositoryIdFactory.getRepIdStringsFactory(orb);
-- } else {
-- // Get the latest versions
-- repIdUtil = RepositoryIdFactory.getRepIdUtility();
-- repIdStrs = RepositoryIdFactory.getRepIdStringsFactory();
-- }
-+ repIdUtil = RepositoryIdFactory.getRepIdUtility();
-+ repIdStrs = RepositoryIdFactory.getRepIdStringsFactory();
- }
+ # miscellaneous functions
+- _jio_fprintf
+- _jio_printf
+- _jio_snprintf
+- _jio_vfprintf
+- _jio_vsnprintf
++ 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;
- public BufferManagerWrite getBufferManager()
-@@ -705,7 +695,7 @@
- private void writeArray(Serializable array, Class clazz) {
+ # This is for Forte Analyzer profiling support.
+- _AsyncGetCallTrace
++ AsyncGetCallTrace;
++
++ # INSERT VTABLE SYMBOLS HERE
- if (valueHandler == null)
-- valueHandler = ORBUtility.createValueHandler(orb); //d11638
-+ valueHandler = ORBUtility.createValueHandler(); //d11638
+- # INSERT VTABLE SYMBOLS HERE
++ local:
++ *;
++};
- // Write value_tag
- int indirection = writeValueTag(mustChunk, true,
-@@ -768,7 +758,7 @@
+--- hotspot/make/bsd/makefiles/ppc.make 2013-09-06 11:22:00.000000000 -0700
++++ hotspot/make/bsd/makefiles/ppc.make 2013-12-01 11:14:05.000000000 -0800
+@@ -28,3 +28,6 @@
+ # Must also specify if CPU is big endian
+ CFLAGS += -DVM_BIG_ENDIAN
- private void writeRMIIIOPValueType(Serializable object, Class clazz) {
- if (valueHandler == null)
-- valueHandler = ORBUtility.createValueHandler(orb); //d11638
-+ valueHandler = ORBUtility.createValueHandler(); //d11638
++ifdef E500V2
++ASFLAGS += -Wa,-mspe -Wa,--defsym -Wa,E500V2=1
++endif
+--- hotspot/make/bsd/makefiles/saproc.make 2013-09-06 11:22:00.000000000 -0700
++++ hotspot/make/bsd/makefiles/saproc.make 2013-12-01 11:14:05.000000000 -0800
+@@ -36,6 +36,11 @@
+ LIBSAPROC_G = lib$(SAPROC_G).so
+ endif
- Serializable key = object;
++LIBSAPROC_DEBUGINFO = lib$(SAPROC).debuginfo
++LIBSAPROC_DIZ = lib$(SAPROC).diz
++LIBSAPROC_G_DEBUGINFO = lib$(SAPROC_G).debuginfo
++LIBSAPROC_G_DIZ = lib$(SAPROC_G).diz
++
+ AGENT_DIR = $(GAMMADIR)/agent
---- corba/src/share/classes/com/sun/corba/se/impl/encoding/IDLJavaSerializationOutputStream.java 2012-08-10 09:10:16.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/encoding/IDLJavaSerializationOutputStream.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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 @@
- *
- * @author Ram Jeyaraman
- */
--public class IDLJavaSerializationOutputStream extends CDROutputStreamBase {
-+final class IDLJavaSerializationOutputStream extends CDROutputStreamBase {
+ SASRCDIR = $(AGENT_DIR)/src/os/$(Platform_os_family)
+@@ -66,7 +71,9 @@
- private ORB orb;
- private byte encodingVersion;
---- corba/src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java 2012-08-10 09:10:16.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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 @@
- }
+ SAMAPFILE = $(SASRCDIR)/mapfile
- 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 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;
---- corba/src/share/classes/com/sun/corba/se/impl/interceptors/CDREncapsCodec.java 2012-08-10 09:10:17.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/interceptors/CDREncapsCodec.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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 @@
- // 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:
---- corba/src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java 2012-08-10 09:10:18.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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.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;
---- corba/src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java 2012-08-10 09:10:18.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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.EncapsOutputStream;
+-DEST_SAPROC = $(JDK_LIBDIR)/$(LIBSAPROC)
++DEST_SAPROC = $(JDK_LIBDIR)/$(LIBSAPROC)
++DEST_SAPROC_DEBUGINFO = $(JDK_LIBDIR)/$(LIBSAPROC_DEBUGINFO)
++DEST_SAPROC_DIZ = $(JDK_LIBDIR)/$(LIBSAPROC_DIZ)
+
+ # DEBUG_BINARIES overrides everything, use full -g debug information
+ ifeq ($(DEBUG_BINARIES), true)
+@@ -114,10 +121,32 @@
+ -o $@ \
+ $(SALIBS)
+ $(QUIETLY) [ -f $(LIBSAPROC_G) ] || { ln -s $@ $(LIBSAPROC_G); }
++ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
++ $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBSAPROC_DEBUGINFO)
++ $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBSAPROC_DEBUGINFO) $@
++ ifeq ($(STRIP_POLICY),all_strip)
++ $(QUIETLY) $(STRIP) $@
++ else
++ ifeq ($(STRIP_POLICY),min_strip)
++ $(QUIETLY) $(STRIP) -S $@
++ # implied else here is no stripping at all
++ endif
++ endif
++ [ -f $(LIBSAPROC_G_DEBUGINFO) ] || { ln -s $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO); }
++ ifeq ($(ZIP_DEBUGINFO_FILES),1)
++ $(ZIPEXE) -q -y $(LIBSAPROC_DIZ) $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO)
++ $(RM) $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO)
++ [ -f $(LIBSAPROC_G_DIZ) ] || { ln -s $(LIBSAPROC_DIZ) $(LIBSAPROC_G_DIZ); }
++ endif
++endif
- import com.sun.corba.se.impl.orbutil.ORBUtility;
--import com.sun.corba.se.impl.orbutil.ORBClassLoader;
+ install_saproc: $(BUILDLIBSAPROC)
+ $(QUIETLY) if [ -e $(LIBSAPROC) ] ; then \
+ echo "Copying $(LIBSAPROC) to $(DEST_SAPROC)"; \
++ test -f $(LIBSAPROC_DEBUGINFO) && \
++ cp -f $(LIBSAPROC_DEBUGINFO) $(DEST_SAPROC_DEBUGINFO); \
++ test -f $(LIBSAPROC_DIZ) && \
++ cp -f $(LIBSAPROC_DIZ) $(DEST_SAPROC_DIZ); \
+ cp -f $(LIBSAPROC) $(DEST_SAPROC) && echo "Done"; \
+ fi
- import com.sun.corba.se.impl.util.RepositoryId;
+--- hotspot/make/hotspot_version 2013-09-06 11:22:00.000000000 -0700
++++ hotspot/make/hotspot_version 2013-12-01 11:14:00.000000000 -0800
+@@ -34,8 +34,8 @@
+ HOTSPOT_VM_COPYRIGHT=Copyright 2013
- import com.sun.corba.se.impl.logging.InterceptorsSystemException;
- import com.sun.corba.se.impl.logging.OMGSystemException;
+ HS_MAJOR_VER=24
+-HS_MINOR_VER=0
+-HS_BUILD_NUMBER=56
++HS_MINOR_VER=45
++HS_BUILD_NUMBER=08
-+import sun.corba.SharedSecrets;
+ JDK_MAJOR_VER=1
+ JDK_MINOR_VER=7
+--- hotspot/make/solaris/makefiles/defs.make 2013-09-06 11:22:00.000000000 -0700
++++ hotspot/make/solaris/makefiles/defs.make 2013-12-01 11:14:06.000000000 -0800
+@@ -221,8 +221,8 @@
+ endif
+ ifeq ($(JVM_VARIANT_CLIENT),true)
+ EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
+- EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
+- EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.$(LIBRARY_SUFFIX)
++ EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
++ EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.$(LIBRARY_SUFFIX)
+ EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.$(LIBRARY_SUFFIX)
+ ifeq ($(ARCH_DATA_MODEL),32)
+ EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.$(LIBRARY_SUFFIX)
+--- hotspot/make/windows/makefiles/compile.make 2013-09-06 11:22:01.000000000 -0700
++++ hotspot/make/windows/makefiles/compile.make 2013-12-01 11:14:01.000000000 -0800
+@@ -172,6 +172,7 @@
+ PRODUCT_OPT_OPTION = /O2 /Oy-
+ FASTDEBUG_OPT_OPTION = /O2 /Oy-
+ DEBUG_OPT_OPTION = /Od
++SAFESEH_FLAG = /SAFESEH
+ !endif
+
+ !if "$(COMPILER_NAME)" == "VS2005"
+@@ -190,6 +191,7 @@
+ !if "x$(MT)" == "x"
+ MT=mt.exe
+ !endif
++SAFESEH_FLAG = /SAFESEH
+ !endif
+
+ !if "$(COMPILER_NAME)" == "VS2008"
+@@ -203,6 +205,7 @@
+ !if "x$(MT)" == "x"
+ MT=mt.exe
+ !endif
++SAFESEH_FLAG = /SAFESEH
+ !endif
+
+ !if "$(COMPILER_NAME)" == "VS2010"
+@@ -216,9 +219,11 @@
+ !if "x$(MT)" == "x"
+ MT=mt.exe
+ !endif
+-!if "$(BUILDARCH)" == "i486"
+-LD_FLAGS = /SAFESEH $(LD_FLAGS)
++SAFESEH_FLAG = /SAFESEH
+ !endif
+
- /**
- * Implementation of the RequestInfo interface as specified in
- * orbos/99-12-02 section 5.4.1.
-@@ -452,7 +453,8 @@
-
- // 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 @@
- 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 @@
- // 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 @@
- {
- 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 );
---- corba/src/share/classes/com/sun/corba/se/impl/io/FVDCodeBaseImpl.java 2012-08-10 09:10:18.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/io/FVDCodeBaseImpl.java 2013-03-09 18:08:34.000000000 -0800
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 1999, 2003, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
-@@ -86,7 +86,7 @@
- // default to using the current ORB version in case the
- // vhandler is not set
- if (vhandler == null) {
-- vhandler = new ValueHandlerImpl(false);
-+ vhandler = ValueHandlerImpl.getInstance(false);
- }
++!if "$(BUILDARCH)" == "i486"
++LD_FLAGS = $(SAFESEH_FLAG) $(LD_FLAGS)
+ !endif
+
+ # If NO_OPTIMIZATIONS is defined in the environment, turn everything off
+--- hotspot/make/windows/makefiles/sa.make 2013-09-06 11:22:01.000000000 -0700
++++ hotspot/make/windows/makefiles/sa.make 2013-12-01 11:14:01.000000000 -0800
+@@ -107,6 +107,9 @@
+ !if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1"
+ SA_LFLAGS = $(SA_LFLAGS) -map -debug
+ !endif
++!if "$(BUILDARCH)" == "i486"
++SA_LFLAGS = $(SAFESEH_FLAG) $(SA_LFLAGS)
++!endif
+
+ # Note that we do not keep sawindbj.obj around as it would then
+ # get included in the dumpbin command in build_vm_def.sh
+--- hotspot/src/cpu/sparc/vm/globals_sparc.hpp 2013-09-06 11:22:02.000000000 -0700
++++ hotspot/src/cpu/sparc/vm/globals_sparc.hpp 2013-12-01 11:14:06.000000000 -0800
+@@ -71,7 +71,11 @@
+ define_pd_global(bool, RewriteBytecodes, true);
+ define_pd_global(bool, RewriteFrequentPairs, true);
- // Util.getCodebase may return null which would
-@@ -120,7 +120,7 @@
- // default to using the current ORB version in case the
- // vhandler is not set
- if (vhandler == null) {
-- vhandler = new ValueHandlerImpl(false);
-+ vhandler = ValueHandlerImpl.getInstance(false);
- }
++#ifdef _ALLBSD_SOURCE
++define_pd_global(bool, UseMembar, true);
++#else
+ define_pd_global(bool, UseMembar, false);
++#endif
- try{
-@@ -161,7 +161,7 @@
- // default to using the current ORB version in case the
- // vhandler is not set
- if (vhandler == null) {
-- vhandler = new ValueHandlerImpl(false);
-+ vhandler = ValueHandlerImpl.getInstance(false);
- }
+ // GC Ergo Flags
+ define_pd_global(intx, CMSYoungGenPerWorker, 16*M); // default max size of CMS young gen, per GC worker thread
+--- hotspot/src/os/bsd/vm/attachListener_bsd.cpp 2013-09-06 11:22:03.000000000 -0700
++++ hotspot/src/os/bsd/vm/attachListener_bsd.cpp 2013-12-01 16:07:49.000000000 -0800
+@@ -460,14 +460,14 @@
+
+ void AttachListener::vm_start() {
+ char fn[UNIX_PATH_MAX];
+- struct stat64 st;
++ struct stat st;
+ int ret;
+
+ int n = snprintf(fn, UNIX_PATH_MAX, "%s/.java_pid%d",
+ os::get_temp_directory(), os::current_process_id());
+ assert(n < (int)UNIX_PATH_MAX, "java_pid file name buffer overflow");
+
+- RESTARTABLE(::stat64(fn, &st), ret);
++ RESTARTABLE(::stat(fn, &st), ret);
+ if (ret == 0) {
+ ret = ::unlink(fn);
+ if (ret == -1) {
+--- hotspot/src/os/bsd/vm/decoder_bsd.cpp 1969-12-31 16:00:00.000000000 -0800
++++ hotspot/src/os/bsd/vm/decoder_bsd.cpp 2013-12-01 11:14:05.000000000 -0800
+@@ -0,0 +1,46 @@
++/*
++ * Copyright (c) 1997, 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 "prims/jvm.h"
++#include "utilities/decoder_elf.hpp"
++
++#include <cxxabi.h>
++
++bool ElfDecoder::demangle(const char* symbol, char *buf, int buflen) {
++ int status;
++ char* result;
++ size_t size = (size_t)buflen;
++
++ // Don't pass buf to __cxa_demangle. In case of the 'buf' is too small,
++ // __cxa_demangle will call system "realloc" for additional memory, which
++ // may use different malloc/realloc mechanism that allocates 'buf'.
++ if ((result = abi::__cxa_demangle(symbol, NULL, NULL, &status)) != NULL) {
++ jio_snprintf(buf, buflen, "%s", result);
++ // call c library's free
++ ::free(result);
++ return true;
++ }
++ return false;
++}
++
+--- hotspot/src/os/bsd/vm/os_bsd.cpp 2013-09-06 11:22:03.000000000 -0700
++++ port/hotspot/src/os/bsd/vm/os_bsd.cpp 2013-12-07 18:34:55.000000000 -0800
+@@ -187,6 +187,8 @@
+ static int SR_signum = SIGUSR2;
+ sigset_t SR_sigset;
+
++// Declarations
++static void unpackTime(timespec* absTime, bool isAbsolute, jlong time);
+
+ ////////////////////////////////////////////////////////////////////////////////
+ // utility functions
+@@ -355,7 +357,11 @@
+ * since it returns a 64 bit value)
+ */
+ mib[0] = CTL_HW;
++#ifdef HW_MEMSIZE
+ mib[1] = HW_MEMSIZE;
++#else
++ mib[1] = HW_USERMEM;
++#endif
+ len = sizeof(mem_val);
+ if (sysctl(mib, 2, &mem_val, &len, NULL, 0) != -1) {
+ assert(len == sizeof(mem_val), "unexpected data size");
+@@ -971,13 +977,14 @@
+ #endif
- Stack repIds = new Stack();
---- corba/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java 2012-08-10 09:10:18.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java 2013-06-22 09:39:21.000000000 -0700
-@@ -300,11 +300,11 @@
- resetStream();
- }
+ #ifdef __APPLE__
+-static uint64_t locate_unique_thread_id() {
++static uint64_t locate_unique_thread_id(mach_port_t mach_thread_port) {
+ // Additional thread_id used to correlate threads in SA
+ thread_identifier_info_data_t m_ident_info;
+ mach_msg_type_number_t count = THREAD_IDENTIFIER_INFO_COUNT;
-- 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;
- }
+- thread_info(::mach_thread_self(), THREAD_IDENTIFIER_INFO,
++ thread_info(mach_thread_port, THREAD_IDENTIFIER_INFO,
+ (thread_info_t) &m_ident_info, &count);
++
+ return m_ident_info.thread_id;
+ }
+ #endif
+@@ -1009,9 +1016,14 @@
+
+ #ifdef _ALLBSD_SOURCE
+ #ifdef __APPLE__
+- // thread_id is mach thread on macos
+- osthread->set_thread_id(::mach_thread_self());
+- osthread->set_unique_thread_id(locate_unique_thread_id());
++ // thread_id is mach thread on macos, which pthreads graciously caches and provides for us
++ mach_port_t thread_id = ::pthread_mach_thread_np(::pthread_self());
++ guarantee(thread_id != 0, "thread id missing from pthreads");
++ osthread->set_thread_id(thread_id);
++
++ uint64_t unique_thread_id = locate_unique_thread_id(thread_id);
++ guarantee(unique_thread_id != 0, "unique thread id was not found");
++ osthread->set_unique_thread_id(unique_thread_id);
+ #else
+ // thread_id is pthread_id on BSD
+ osthread->set_thread_id(::pthread_self());
+@@ -1207,8 +1219,14 @@
+ // Store pthread info into the OSThread
+ #ifdef _ALLBSD_SOURCE
+ #ifdef __APPLE__
+- osthread->set_thread_id(::mach_thread_self());
+- osthread->set_unique_thread_id(locate_unique_thread_id());
++ // thread_id is mach thread on macos, which pthreads graciously caches and provides for us
++ mach_port_t thread_id = ::pthread_mach_thread_np(::pthread_self());
++ guarantee(thread_id != 0, "just checking");
++ osthread->set_thread_id(thread_id);
++
++ uint64_t unique_thread_id = locate_unique_thread_id(thread_id);
++ guarantee(unique_thread_id != 0, "just checking");
++ osthread->set_unique_thread_id(unique_thread_id);
+ #else
+ osthread->set_thread_id(::pthread_self());
+ #endif
+@@ -1830,7 +1848,7 @@
+
+ intx os::current_thread_id() {
+ #ifdef __APPLE__
+- return (intx)::mach_thread_self();
++ return (intx)::pthread_mach_thread_np(::pthread_self());
+ #else
+ return (intx)::pthread_self();
+ #endif
+@@ -2381,14 +2399,14 @@
+ }
-- public final org.omg.CORBA_2_3.portable.InputStream getOrbStream() {
-+ final org.omg.CORBA_2_3.portable.InputStream getOrbStream() {
- return orbStream;
- }
+ void os::print_os_info_brief(outputStream* st) {
+- st->print("Bsd");
++ st->print("BSD");
-@@ -327,11 +327,11 @@
- return (javax.rmi.CORBA.ValueHandler) vhandler;
- }
+ os::Posix::print_uname_info(st);
+ }
-- public final void increaseRecursionDepth(){
-+ final void increaseRecursionDepth(){
- recursionDepth++;
- }
+ void os::print_os_info(outputStream* st) {
+ st->print("OS:");
+- st->print("Bsd");
++ st->print("BSD");
-- public final int decreaseRecursionDepth(){
-+ final int decreaseRecursionDepth(){
- return --recursionDepth;
- }
+ os::Posix::print_uname_info(st);
---- corba/src/share/classes/com/sun/corba/se/impl/io/IIOPOutputStream.java 2012-08-10 09:10:18.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/io/IIOPOutputStream.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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 @@
+@@ -2397,10 +2415,6 @@
+ os::Posix::print_load_average(st);
+ }
+
+-void os::pd_print_cpu_info(outputStream* st) {
+- // Nothing to do for now.
+-}
+-
+ void os::print_memory_info(outputStream* st) {
+
+ st->print("Memory:");
+@@ -2417,6 +2431,7 @@
+ st->print("(" UINT64_FORMAT "k free)",
+ os::available_memory() >> 10);
+ #ifndef _ALLBSD_SOURCE
++ // FIXME: Make this work for *BSD
+ st->print(", swap " UINT64_FORMAT "k",
+ ((jlong)si.totalswap * si.mem_unit) >> 10);
+ st->print("(" UINT64_FORMAT "k free)",
+@@ -2424,12 +2439,22 @@
+ #endif
+ st->cr();
+
++ // FIXME: Make this work for *BSD
+ // meminfo
+ st->print("\n/proc/meminfo:\n");
+ _print_ascii_file("/proc/meminfo", st);
+ st->cr();
+ }
+
++void os::pd_print_cpu_info(outputStream* st) {
++ // FIXME: Make this work for *BSD
++ st->print("\n/proc/cpuinfo:\n");
++ if (!_print_ascii_file("/proc/cpuinfo", st)) {
++ st->print(" <Not Available>");
++ }
++ st->cr();
++}
++
+ // Taken from /usr/include/bits/siginfo.h Supposed to be architecture specific
+ // but they're the same for all the bsd arch that we support
+ // and they're the same for solaris but there's no common place to put this.
+@@ -2575,6 +2600,25 @@
+ len = strlen(buf);
+ jrelib_p = buf + len;
+
++#ifndef __APPLE__
++ snprintf(jrelib_p, buflen-len, "/jre/lib/%s", cpu_arch);
++ if (0 != access(buf, F_OK)) {
++ snprintf(jrelib_p, buflen-len, "/lib/%s", cpu_arch);
++ }
++
++ if (0 == access(buf, F_OK)) {
++ // Use current module name "libjvm[_g].so" instead of
++ // "libjvm"debug_only("_g")".so" since for fastdebug version
++ // we should have "libjvm.so" but debug_only("_g") adds "_g"!
++ len = strlen(buf);
++ snprintf(buf + len, buflen-len, "/hotspot/libjvm%s.so", p);
++ } else {
++ // Go back to path of .so
++ rp = realpath(dli_fname, buf);
++ if (rp == NULL)
++ return;
++ }
++#else
+ // Add the appropriate library subdir
+ snprintf(jrelib_p, buflen-len, "/jre/lib");
+ if (0 != access(buf, F_OK)) {
+@@ -2604,6 +2648,7 @@
+ if (rp == NULL)
+ return;
}
++#endif
+ }
}
+ }
+@@ -2707,10 +2752,14 @@
+ bool timedwait(unsigned int sec, int nsec);
+ private:
+ jlong currenttime() const;
+- semaphore_t _semaphore;
++ os_semaphore_t _semaphore;
+ };
-- 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;
- }
++#if defined(__FreeBSD__) && __FreeBSD__ > 8
++Semaphore::Semaphore() : _semaphore() {
++#else
+ Semaphore::Semaphore() : _semaphore(0) {
++#endif
+ SEM_INIT(_semaphore, 0);
+ }
-- public final org.omg.CORBA_2_3.portable.OutputStream getOrbStream() {
-+ final org.omg.CORBA_2_3.portable.OutputStream getOrbStream() {
- return orbStream;
- }
+@@ -2775,7 +2824,7 @@
-- public final void increaseRecursionDepth(){
-+ final void increaseRecursionDepth(){
- recursionDepth++;
- }
+ bool Semaphore::timedwait(unsigned int sec, int nsec) {
+ struct timespec ts;
+- jlong endtime = unpackTime(&ts, false, (sec * NANOSECS_PER_SEC) + nsec);
++ unpackTime(&ts, false, (sec * NANOSECS_PER_SEC) + nsec);
-- public final int decreaseRecursionDepth(){
-+ final int decreaseRecursionDepth(){
- return --recursionDepth;
- }
+ while (1) {
+ int result = sem_timedwait(&_semaphore, &ts);
+@@ -2996,7 +3045,11 @@
+ }
---- corba/src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java 2012-08-10 09:10:18.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java 2013-06-22 09:39:21.000000000 -0700
-@@ -251,7 +251,7 @@
- }
+ void os::pd_free_memory(char *addr, size_t bytes, size_t alignment_hint) {
++#if !defined(__APPLE__) && !defined(__FreeBSD__)
++ commit_memory(addr, bytes, alignment_hint, false);
++#else
+ ::madvise(addr, bytes, MADV_DONTNEED);
++#endif
+ }
- protected abstract byte getStreamFormatVersion();
-- protected abstract org.omg.CORBA_2_3.portable.InputStream getOrbStream();
-+ abstract org.omg.CORBA_2_3.portable.InputStream getOrbStream();
+ void os::numa_make_global(char *addr, size_t bytes) {
+@@ -3829,6 +3882,7 @@
+ return OS_OK;
+ #elif defined(__FreeBSD__)
+ int ret = pthread_setprio(thread->osthread()->pthread_id(), newpri);
++ return (ret == 0) ? OS_OK : OS_ERR;
+ #elif defined(__APPLE__) || defined(__NetBSD__)
+ struct sched_param sp;
+ int policy;
+--- hotspot/src/os/bsd/vm/os_bsd.hpp 2013-09-06 11:22:03.000000000 -0700
++++ hotspot/src/os/bsd/vm/os_bsd.hpp 2013-12-01 11:14:06.000000000 -0800
+@@ -103,6 +103,12 @@
- // Description of possible actions
- protected static class ReadObjectState {
---- corba/src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java 2012-08-10 09:10:18.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java 2013-03-09 18:08:34.000000000 -0800
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
-@@ -25,7 +25,7 @@
- /*
- * Licensed Materials - Property of IBM
- * RMI-IIOP v1.0
-- * Copyright IBM Corp. 1998 1999 All Rights Reserved
-+ * Copyright IBM Corp. 1998 2012 All Rights Reserved
- *
- */
+ static bool hugetlbfs_sanity_check(bool warn, size_t page_size);
-@@ -56,7 +56,8 @@
++ static void print_full_memory_info(outputStream* st);
++#ifndef _ALLBSD_SOURCE
++ static void print_distro_info(outputStream* st);
++ static void print_libversion_info(outputStream* st);
++#endif
++
+ public:
- import java.util.Arrays;
- import java.util.Comparator;
--import java.util.Hashtable;
-+import java.util.concurrent.ConcurrentHashMap;
-+import java.util.concurrent.ConcurrentMap;
+ static void init_thread_fpu_state();
+--- hotspot/src/os/bsd/vm/os_bsd.inline.hpp 2013-09-06 11:22:03.000000000 -0700
++++ hotspot/src/os/bsd/vm/os_bsd.inline.hpp 2013-12-01 11:14:06.000000000 -0800
+@@ -31,10 +31,22 @@
+ # include "atomic_bsd_x86.inline.hpp"
+ # include "orderAccess_bsd_x86.inline.hpp"
+ #endif
++#ifdef TARGET_OS_ARCH_bsd_sparc
++# include "atomic_bsd_sparc.inline.hpp"
++# include "orderAccess_bsd_sparc.inline.hpp"
++#endif
+ #ifdef TARGET_OS_ARCH_bsd_zero
+ # include "atomic_bsd_zero.inline.hpp"
+ # include "orderAccess_bsd_zero.inline.hpp"
+ #endif
++#ifdef TARGET_OS_ARCH_bsd_arm
++# include "atomic_bsd_arm.inline.hpp"
++# include "orderAccess_bsd_arm.inline.hpp"
++#endif
++#ifdef TARGET_OS_ARCH_bsd_ppc
++# include "atomic_bsd_ppc.inline.hpp"
++# include "orderAccess_bsd_ppc.inline.hpp"
++#endif
- import com.sun.corba.se.impl.util.RepositoryId;
+ // System includes
-@@ -83,8 +84,6 @@
- private static Object noArgsList[] = {};
- private static Class noTypesList[] = {};
+--- hotspot/src/os/bsd/vm/thread_bsd.inline.hpp 2013-09-06 11:22:03.000000000 -0700
++++ hotspot/src/os/bsd/vm/thread_bsd.inline.hpp 2013-12-01 11:14:05.000000000 -0800
+@@ -34,11 +34,26 @@
+ # include "orderAccess_bsd_x86.inline.hpp"
+ # include "prefetch_bsd_x86.inline.hpp"
+ #endif
++#ifdef TARGET_OS_ARCH_bsd_sparc
++# include "atomic_bsd_sparc.inline.hpp"
++# include "orderAccess_bsd_sparc.inline.hpp"
++# include "prefetch_bsd_sparc.inline.hpp"
++#endif
+ #ifdef TARGET_OS_ARCH_bsd_zero
+ # include "atomic_bsd_zero.inline.hpp"
+ # include "orderAccess_bsd_zero.inline.hpp"
+ # include "prefetch_bsd_zero.inline.hpp"
+ #endif
++#ifdef TARGET_OS_ARCH_bsd_arm
++# include "atomic_bsd_arm.inline.hpp"
++# include "orderAccess_bsd_arm.inline.hpp"
++# include "prefetch_bsd_arm.inline.hpp"
++#endif
++#ifdef TARGET_OS_ARCH_bsd_ppc
++# include "atomic_bsd_ppc.inline.hpp"
++# include "orderAccess_bsd_ppc.inline.hpp"
++# include "prefetch_bsd_ppc.inline.hpp"
++#endif
-- private static Hashtable translatedFields;
--
- /** true if represents enum type */
- private boolean isEnum;
+ // Contains inlined functions for class Thread and ThreadLocalStorage
-@@ -384,6 +383,55 @@
- */
+--- hotspot/src/os/posix/vm/os_posix.cpp 2013-09-06 11:22:04.000000000 -0700
++++ hotspot/src/os/posix/vm/os_posix.cpp 2013-12-01 11:14:06.000000000 -0800
+@@ -173,11 +173,19 @@
+ if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
+ else st->print("%d", rlim.rlim_cur);
+
++#ifdef __OpenBSD__
++ st->print(", DATA ");
++ getrlimit(RLIMIT_DATA, &rlim);
++ if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
++ else st->print("%uk", rlim.rlim_cur >> 10);
++ st->cr();
++#else
+ st->print(", AS ");
+ getrlimit(RLIMIT_AS, &rlim);
+ if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
+ else st->print("%uk", rlim.rlim_cur >> 10);
+ st->cr();
++#endif
+ }
+
+ void os::Posix::print_uname_info(outputStream* st) {
+--- hotspot/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp 2013-09-06 11:22:04.000000000 -0700
++++ hotspot/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp 2013-12-01 11:14:07.000000000 -0800
+@@ -24,7 +24,7 @@
+ */
+
+ #if defined(_ALLBSD_SOURCE) && !defined(__APPLE__) && !defined(__NetBSD__)
+-#include <pthread.h>
++# include <pthread.h>
+ # include <pthread_np.h> /* For pthread_attr_get_np */
+ #endif
+
+--- hotspot/src/share/vm/classfile/classFileParser.cpp 2013-09-06 11:22:10.000000000 -0700
++++ hotspot/src/share/vm/classfile/classFileParser.cpp 2013-12-01 11:14:01.000000000 -0800
+@@ -2028,8 +2028,8 @@
+ }
+ if (lvt_cnt == max_lvt_cnt) {
+ max_lvt_cnt <<= 1;
+- REALLOC_RESOURCE_ARRAY(u2, localvariable_table_length, lvt_cnt, max_lvt_cnt);
+- REALLOC_RESOURCE_ARRAY(u2*, localvariable_table_start, lvt_cnt, max_lvt_cnt);
++ localvariable_table_length = REALLOC_RESOURCE_ARRAY(u2, localvariable_table_length, lvt_cnt, max_lvt_cnt);
++ localvariable_table_start = REALLOC_RESOURCE_ARRAY(u2*, localvariable_table_start, lvt_cnt, max_lvt_cnt);
+ }
+ localvariable_table_start[lvt_cnt] =
+ parse_localvariable_table(code_length,
+@@ -2058,8 +2058,8 @@
+ // Parse local variable type table
+ if (lvtt_cnt == max_lvtt_cnt) {
+ max_lvtt_cnt <<= 1;
+- REALLOC_RESOURCE_ARRAY(u2, localvariable_type_table_length, lvtt_cnt, max_lvtt_cnt);
+- REALLOC_RESOURCE_ARRAY(u2*, localvariable_type_table_start, lvtt_cnt, max_lvtt_cnt);
++ localvariable_type_table_length = REALLOC_RESOURCE_ARRAY(u2, localvariable_type_table_length, lvtt_cnt, max_lvtt_cnt);
++ localvariable_type_table_start = REALLOC_RESOURCE_ARRAY(u2*, localvariable_type_table_start, lvtt_cnt, max_lvtt_cnt);
+ }
+ localvariable_type_table_start[lvtt_cnt] =
+ parse_localvariable_table(code_length,
+@@ -4051,9 +4051,8 @@
+ for (int index = 0; index < num_methods; index++) {
+ methodOop m = (methodOop)methods->obj_at(index);
+
+- // skip private, static and <init> methods
+- if ((!m->is_private()) &&
+- (!m->is_static()) &&
++ // skip static and <init> methods
++ if ((!m->is_static()) &&
+ (m->name() != vmSymbols::object_initializer_name())) {
+
+ Symbol* name = m->name();
+--- hotspot/src/share/vm/gc_implementation/shared/gcTraceSend.cpp 2013-09-06 11:22:12.000000000 -0700
++++ hotspot/src/share/vm/gc_implementation/shared/gcTraceSend.cpp 2013-12-01 18:56:31.000000000 -0800
+@@ -109,7 +109,7 @@
+ if (e.should_commit()) {
+ e.set_gcId(_shared_gc_info.id());
+ e.set_data(to_trace_struct(pf_info));
+- e.set_thread(pf_info.thread()->thread_id());
++ e.set_thread((uint64_t) pf_info.thread()->thread_id());
+ e.commit();
+ }
+ }
+--- hotspot/src/share/vm/runtime/atomic.cpp 2013-09-06 11:22:15.000000000 -0700
++++ hotspot/src/share/vm/runtime/atomic.cpp 2013-12-01 11:14:05.000000000 -0800
+@@ -54,6 +54,12 @@
+ #ifdef TARGET_OS_ARCH_windows_x86
+ # include "atomic_windows_x86.inline.hpp"
+ #endif
++#ifdef TARGET_OS_ARCH_bsd_x86
++# include "atomic_bsd_x86.inline.hpp"
++#endif
++#ifdef TARGET_OS_ARCH_bsd_zero
++# include "atomic_bsd_zero.inline.hpp"
++#endif
+ #ifdef TARGET_OS_ARCH_linux_arm
+ # include "atomic_linux_arm.inline.hpp"
+ #endif
+--- hotspot/src/share/vm/runtime/mutexLocker.cpp 2013-09-06 11:22:15.000000000 -0700
++++ hotspot/src/share/vm/runtime/mutexLocker.cpp 2013-12-01 11:14:07.000000000 -0800
+@@ -133,13 +133,15 @@
+
+ Mutex* Management_lock = NULL;
+ Monitor* Service_lock = NULL;
+-Mutex* Stacktrace_lock = NULL;
++Monitor* PeriodicTask_lock = NULL;
+
+-Monitor* JfrQuery_lock = NULL;
++#ifdef INCLUDE_TRACE
++Mutex* JfrStacktrace_lock = NULL;
+ Monitor* JfrMsg_lock = NULL;
+ Mutex* JfrBuffer_lock = NULL;
+ Mutex* JfrStream_lock = NULL;
+-Monitor* PeriodicTask_lock = NULL;
++Mutex* JfrThreadGroups_lock = NULL;
++#endif
+
+ #define MAX_NUM_MUTEX 128
+ static Monitor * _mutex_array[MAX_NUM_MUTEX];
+@@ -215,7 +217,6 @@
+ def(Patching_lock , Mutex , special, true ); // used for safepointing and code patching.
+ def(ObjAllocPost_lock , Monitor, special, false);
+ def(Service_lock , Monitor, special, true ); // used for service thread operations
+- def(Stacktrace_lock , Mutex, special, true ); // used for JFR stacktrace database
+ def(JmethodIdCreation_lock , Mutex , leaf, true ); // used for creating jmethodIDs.
+
+ def(SystemDictionary_lock , Monitor, leaf, true ); // lookups done by VM thread
+@@ -278,12 +279,17 @@
+ def(MethodCompileQueue_lock , Monitor, nonleaf+4, true );
+ def(Debug2_lock , Mutex , nonleaf+4, true );
+ def(Debug3_lock , Mutex , nonleaf+4, true );
+- def(CompileThread_lock , Monitor, nonleaf+5, false );
++ def(CompileThread_lock , Monitor, nonleaf+5, false);
++ def(PeriodicTask_lock , Monitor, nonleaf+5, true);
+
++#ifdef INCLUDE_TRACE
+ def(JfrMsg_lock , Monitor, leaf, true);
+ def(JfrBuffer_lock , Mutex, nonleaf+1, true);
++ def(JfrThreadGroups_lock , Mutex, nonleaf+1, true);
+ def(JfrStream_lock , Mutex, nonleaf+2, true);
+- def(PeriodicTask_lock , Monitor, nonleaf+5, true);
++ def(JfrStacktrace_lock , Mutex, special, true );
++#endif
++
+ }
+
+ GCMutexLocker::GCMutexLocker(Monitor * mutex) {
+--- hotspot/src/share/vm/runtime/mutexLocker.hpp 2013-09-06 11:22:15.000000000 -0700
++++ hotspot/src/share/vm/runtime/mutexLocker.hpp 2013-12-01 11:14:07.000000000 -0800
+@@ -135,13 +135,15 @@
+
+ extern Mutex* Management_lock; // a lock used to serialize JVM management
+ extern Monitor* Service_lock; // a lock used for service thread operation
+-extern Mutex* Stacktrace_lock; // used to guard access to the stacktrace table
++extern Monitor* PeriodicTask_lock; // protects the periodic task structure
+
+-extern Monitor* JfrQuery_lock; // protects JFR use
++#ifdef INCLUDE_TRACE
++extern Mutex* JfrStacktrace_lock; // used to guard access to the JFR stacktrace table
+ extern Monitor* JfrMsg_lock; // protects JFR messaging
+ extern Mutex* JfrBuffer_lock; // protects JFR buffer operations
+ extern Mutex* JfrStream_lock; // protects JFR stream access
+-extern Monitor* PeriodicTask_lock; // protects the periodic task structure
++extern Mutex* JfrThreadGroups_lock; // protects JFR access to Thread Groups
++#endif
+
+ // A MutexLocker provides mutual exclusion with respect to a given mutex
+ // for the scope which contains the locker. The lock is an OS lock, not
+--- hotspot/src/share/vm/runtime/objectMonitor.cpp 2013-09-06 11:22:15.000000000 -0700
++++ hotspot/src/share/vm/runtime/objectMonitor.cpp 2013-12-01 19:08:09.000000000 -0800
+@@ -1684,7 +1684,7 @@
+ }
+ iterator->_notified = 1 ;
+ Thread * Self = THREAD;
+- iterator->_notifier_tid = Self->osthread()->thread_id();
++ iterator->_notifier_tid = (jlong) Self->osthread()->thread_id();
+
+ ObjectWaiter * List = _EntryList ;
+ if (List != NULL) {
+@@ -1810,7 +1810,7 @@
+ guarantee (iterator->_notified == 0, "invariant") ;
+ iterator->_notified = 1 ;
+ Thread * Self = THREAD;
+- iterator->_notifier_tid = Self->osthread()->thread_id();
++ iterator->_notifier_tid = (jlong) Self->osthread()->thread_id();
+ if (Policy != 4) {
+ iterator->TState = ObjectWaiter::TS_ENTER ;
+ }
+--- hotspot/src/share/vm/runtime/os.hpp 2013-09-06 11:22:15.000000000 -0700
++++ hotspot/src/share/vm/runtime/os.hpp 2013-12-01 11:14:07.000000000 -0800
+@@ -30,6 +30,9 @@
+ #include "runtime/extendedPC.hpp"
+ #include "runtime/handles.hpp"
+ #include "utilities/top.hpp"
++#ifdef TARGET_OS_FAMILY_bsd
++# include "jvm_bsd.h"
++#endif
+ #ifdef TARGET_OS_FAMILY_linux
+ # include "jvm_linux.h"
+ # include <setjmp.h>
+@@ -755,8 +758,8 @@
+ # include "os_windows.hpp"
+ #endif
+ #ifdef TARGET_OS_FAMILY_bsd
+-# include "os_posix.hpp"
+ # include "os_bsd.hpp"
++# include "os_posix.hpp"
+ #endif
+ #ifdef TARGET_OS_ARCH_linux_x86
+ # include "os_linux_x86.hpp"
+--- hotspot/src/share/vm/runtime/vmThread.cpp 2013-09-06 11:22:16.000000000 -0700
++++ hotspot/src/share/vm/runtime/vmThread.cpp 2013-12-01 19:27:03.000000000 -0800
+@@ -390,7 +390,7 @@
+ // Only write caller thread information for non-concurrent vm operations.
+ // For concurrent vm operations, the thread id is set to 0 indicating thread is unknown.
+ // This is because the caller thread could have exited already.
+- event.set_caller(is_concurrent ? 0 : op->calling_thread()->osthread()->thread_id());
++ event.set_caller(is_concurrent ? 0 : (uint64_t) op->calling_thread()->osthread()->thread_id());
+ event.commit();
}
-+ private static final class PersistentFieldsValue {
-+ private final ConcurrentMap map = new ConcurrentHashMap();
-+ private static final Object NULL_VALUE =
-+ (PersistentFieldsValue.class.getName() + ".NULL_VALUE");
+--- hotspot/src/share/vm/trace/tracetypes.xml 2013-09-06 11:22:17.000000000 -0700
++++ hotspot/src/share/vm/trace/tracetypes.xml 2013-12-01 18:56:50.000000000 -0800
+@@ -60,7 +60,7 @@
+ <types>
+ <content_types>
+ <content_type id="Thread" hr_name="Thread"
+- type="U4" builtin_type="OSTHREAD">
++ type="thread_id_t" builtin_type="OSTHREAD">
+ <value type="UTF8" field="name" label="Thread name"/>
+ </content_type>
+
+@@ -294,8 +294,8 @@
+ type="u8" sizeop="sizeof(u8)"/>
+
+ <!-- OS Thread ID -->
+- <primary_type symbol="OSTHREAD" datatype="U4" contenttype="OSTHREAD"
+- type="u4" sizeop="sizeof(u4)"/>
++ <primary_type symbol="OSTHREAD" datatype="U8" contenttype="OSTHREAD"
++ type="u8" sizeop="sizeof(u8)"/>
+
+ <!-- VM Thread ID Note: changed from U2 to U8 for hotspot -->
+ <primary_type symbol="VMTHREAD" datatype="U8" contenttype="VMTHREAD"
+--- hotspot/test/compiler/5091921/Test7005594.sh 2013-09-06 11:22:17.000000000 -0700
++++ hotspot/test/compiler/5091921/Test7005594.sh 2013-12-01 11:14:08.000000000 -0800
+@@ -60,6 +60,9 @@
+ # Windows/MKS
+ MEM=`"$ROOTDIR/mksnt/sysinf" memory -v | grep "Total Physical Memory: " | sed 's/Total Physical Memory: *//g'`
+ MEM="$(($machine_memory / 1024))"
++elif [ -n `sysctl -n hw.physmem64 2> /dev/null` -o -n `sysctl -n hw.physmem 2> /dev/null` ];
++ # BSD
++ MEM=`sysctl -n hw.physmem64 2> /dev/null || sysctl -n hw.physmem) | awk '{print int($$NF / 1048576); }'`
+ else
+ echo "Unable to determine amount of physical memory on the machine"
+ fi
+--- hotspot/test/runtime/7110720/Test7110720.sh 2013-09-06 11:22:20.000000000 -0700
++++ hotspot/test/runtime/7110720/Test7110720.sh 2013-12-01 13:46:54.000000000 -0800
+@@ -28,7 +28,7 @@
+ # set platform-dependent variables
+ OS=`uname -s`
+ case "$OS" in
+- SunOS | Linux | Darwin )
++ SunOS | Linux | Darwin | *BSD )
+ FS="/"
+ RM=/bin/rm
+ CP=/bin/cp
+--- hotspot/test/runtime/7158800/Test7158800.sh 1969-12-31 16:00:00.000000000 -0800
++++ hotspot/test/runtime/7158800/Test7158800.sh 2013-12-01 11:14:05.000000000 -0800
+@@ -0,0 +1,91 @@
++#!/bin/sh
++#
++# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
++# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
++#
++# This code is free software; you can redistribute it and/or modify it
++# 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.
++#
++#
++# Run test for InternTest.java
++#
+
-+ PersistentFieldsValue() { }
++if [ "${TESTSRC}" = "" ]
++then TESTSRC=.
++fi
+
-+ ObjectStreamField[] get(Class type) {
-+ Object value = map.get(type);
-+ if (value == null) {
-+ value = computeValue(type);
-+ map.putIfAbsent(type, value);
++if [ "${TESTJAVA}" = "" ]
++then
++ PARENT=`dirname \`which java\``
++ TESTJAVA=`dirname ${PARENT}`
++ echo "TESTJAVA not set, selecting " ${TESTJAVA}
++ echo "If this is incorrect, try setting the variable manually."
++fi
++
++if [ "${TESTCLASSES}" = "" ]
++then
++ echo "TESTCLASSES not set. Test cannot execute. Failed."
++ exit 1
++fi
++
++# set platform-dependent variables
++OS=`uname -s`
++case "$OS" in
++ SunOS | Linux | *BSD )
++ NULL=/dev/null
++ PS=":"
++ FS="/"
++ ;;
++ Windows_* )
++ NULL=NUL
++ PS=";"
++ FS="\\"
++ ;;
++ * )
++ echo "Unrecognized system!"
++ exit 1;
++ ;;
++esac
++
++JEMMYPATH=${CPAPPEND}
++CLASSPATH=.${PS}${TESTCLASSES}${PS}${JEMMYPATH} ; export CLASSPATH
++
++THIS_DIR=`pwd`
++
++${TESTJAVA}${FS}bin${FS}java -fullversion
++
++${TESTJAVA}${FS}bin${FS}javac -d . ${TESTSRC}${FS}InternTest.java
++
++cp ${TESTSRC}${FS}badstrings.txt .
++
++${TESTJAVA}${FS}bin${FS}java -XX:+PrintStringTableStatistics -XX:+TraceSafepointCleanupTime InternTest bad > test.out 2>&1 &
++C_PID=$!
++
++sleep 60
++
++ps | grep ${C_PID} | grep -v grep
++
++if [ $? = 0 ]
++then
++ kill -9 ${C_PID}
++ echo "Test Failed"
++ exit 1
++else
++ echo "Test Passed"
++ exit 0
++fi
+--- jaxp/.hgtags 2013-09-06 11:22:52.000000000 -0700
++++ jaxp/.hgtags 2013-12-01 11:13:42.000000000 -0800
+@@ -123,6 +123,7 @@
+ bcd31fa1e3c6f51b4fdd427ef905188cdac57164 jdk7-b146
+ 067fb18071e3872698f6218724958bd0cebf30a3 jdk7u1-b01
+ fc268cd1dd5d2e903ccd4b0275e1f9c2461ed30c jdk7-b147
++3170972bd3928a331c4c64a5c0c9632077fb399a 7u0
+ 104ca42e1e7ca66b074a4619ce6420f15d8f454d jdk7u1-b02
+ 64e323faadf65018c1ffc8bb9c97f7b664e87347 jdk7u1-b03
+ 2256c20e66857f80cacda14ffdbc0979c929d7f8 jdk7u1-b04
+@@ -302,6 +303,22 @@
+ 5952538d55e624132f97400332a50b71880c874c jdk7u25-b09
+ aa00dd983dd0f5b07269d0648a0325e9b3e0d957 jdk7u25-b10
+ 0fb6d76bcd2e8d54d0a69e1c3d2a85d84b3e17a4 jdk7u25-b11
++7b47e1a26f7cbb8d8d22ea165f2d7fbbbd354c77 jdk7u14-b16
++77ac1ef42b2fd47cc87b9800f63efdd4cf2fa05d jdk7u14-b17
++d47975f80a24b55410fa2e2c5f50f3405d83fe73 jdk7u14-b18
++331e489ecb7b19fa98c60324f7ce5d168284a8c8 jdk7u14-b19
++331e489ecb7b19fa98c60324f7ce5d168284a8c8 jdk7u14-b19
++c3c9f04cf10c2fe576b208f6a8ca3777b1d31145 jdk7u14-b19
++5e1fee011646b4a3ff29b7b9cdc208e0a0577cb4 jdk7u14-b20
++d1c8bb1cbc9183fc994b5fedf26886ceda0d59f9 jdk7u14-b21
++d1c6afebdfe28eb07eb2d03a6911a0f33b619165 jdk7u14-b22
++0e4c549d3635122145ac88bad7b98716976ca49e jdk7u40-b23
++d17acb2ee133811baa8eae3436a8c191fc433da1 jdk7u40-b24
++52bcce690998b4ad91abddae118847f4358c6110 jdk7u40-b25
++cd764ada36b50e2096ba35b4c27ca8f83b3db964 jdk7u40-b26
++7626b3fbc822fd4efd5ba3b5fc18f2fef5749597 jdk7u40-b27
++9186b6efd2b2eafa7fee5be1b043f59f25db12a6 jdk7u40-b28
++740942c76fb668a04bf89feccf069f6958651d54 jdk7u40-b29
+ 5e87aee78c91efa65bd5aeb37bcc1c1c637a7f0c jdk7u25-b12
+ 83b80c094befd08cbac4247d9b8f12c6a039f23f jdk7u25-b13
+ 68cc0d2a49f09b5c611b2775f2e66de1022bdedc jdk7u25-b14
+@@ -343,3 +360,20 @@
+ 66363323f14d85d4ab28e883a3323b9d72dea5fd jdk7u40-b42
+ c0bd71414ea513f54f23965936a837fca093ac91 jdk7u40-b43
+ 91bc4534851265291bb3b16452a0968d6909979f jdk7u40-b60
++1a7e2024963d3a8d6cde209de0967ac43418b82a jdk7u45-b01
++72b314bf2ee171bec2157f737ba3bf77fbdf1118 jdk7u45-b02
++399c58bf22ad35a3527a286123497615100746b2 jdk7u45-b03
++e66ea9257ba8a77fc64f6f2924584b183767d82b jdk7u45-b04
++3a6dce39c05c254aba9f3ae57c035bf3facfe8b9 jdk7u45-b05
++a7b1dcabdebbdbf40040a1c6f8411d2f8d25bb37 jdk7u45-b06
++abb39bc40bcc91c7f8ebc2867e98f302d9bc8417 jdk7u45-b07
++72295e1b27e61751cc323b5e4d6781bf7afae0a4 jdk7u45-b08
++255d92f5ed98915a025484360963d7d09bd77313 jdk7u45-b09
++28a18e725bb39d47e920ef910f435321fb891a88 jdk7u45-b10
++3d3b4da34d583e86a3b90b8f69927a37d40f5b57 jdk7u45-b11
++2ac5c9749223f205cd081ecd0028b2f3ea13f8f8 jdk7u45-b12
++18a009fdfba2bbc5036f96cbefffcdefe9580bb1 jdk7u45-b13
++d577bae705f208661733e09a4875d79255897b7b jdk7u45-b14
++daadec741c9bc5067897eb8803123d0af6c5ebc3 jdk7u45-b15
++0a8b95184728548be4b20876e05f76e0262e4195 jdk7u45-b16
++2586d303503b5bb6fd39dc0ce572d6e858caf41c jdk7u45-b17
+--- jaxp/src/com/sun/org/apache/xalan/internal/XalanConstants.java 2013-09-06 11:22:55.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xalan/internal/XalanConstants.java 2013-12-01 11:13:41.000000000 -0800
+@@ -39,33 +39,138 @@
+ //
+ // Constants
+ //
+- // Oracle Feature:
++ //Xerces security manager
++ public static final String SECURITY_MANAGER =
++ "http://apache.org/xml/properties/security-manager";
++
++ //
++ // Implementation limits: API properties
++ //
++ /** Oracle JAXP property prefix ("http://www.oracle.com/xml/jaxp/properties/"). */
++ public static final String ORACLE_JAXP_PROPERTY_PREFIX =
++ "http://www.oracle.com/xml/jaxp/properties/";
+ /**
+- * <p>Use Service Mechanism</p>
+- *
+- * <ul>
+- * <li>
++ * JDK entity expansion limit; Note that the existing system property
++ * "entityExpansionLimit" with no prefix is still observed
++ */
++ public static final String JDK_ENTITY_EXPANSION_LIMIT =
++ ORACLE_JAXP_PROPERTY_PREFIX + "entityExpansionLimit";
++
++ /**
++ * JDK element attribute limit; Note that the existing system property
++ * "elementAttributeLimit" with no prefix is still observed
++ */
++ public static final String JDK_ELEMENT_ATTRIBUTE_LIMIT =
++ ORACLE_JAXP_PROPERTY_PREFIX + "elementAttributeLimit";
++
++ /**
++ * JDK maxOccur limit; Note that the existing system property
++ * "maxOccurLimit" with no prefix is still observed
++ */
++ public static final String JDK_MAX_OCCUR_LIMIT =
++ ORACLE_JAXP_PROPERTY_PREFIX + "maxOccurLimit";
++
++ /**
++ * JDK total entity size limit
++ */
++ public static final String JDK_TOTAL_ENTITY_SIZE_LIMIT =
++ ORACLE_JAXP_PROPERTY_PREFIX + "totalEntitySizeLimit";
++
++ /**
++ * JDK maximum general entity size limit
++ */
++ public static final String JDK_GENEAL_ENTITY_SIZE_LIMIT =
++ ORACLE_JAXP_PROPERTY_PREFIX + "maxGeneralEntitySizeLimit";
++ /**
++ * JDK maximum parameter entity size limit
++ */
++ public static final String JDK_PARAMETER_ENTITY_SIZE_LIMIT =
++ ORACLE_JAXP_PROPERTY_PREFIX + "maxParameterEntitySizeLimit";
++ /**
++ * JDK maximum XML name limit
++ */
++ public static final String JDK_XML_NAME_LIMIT =
++ ORACLE_JAXP_PROPERTY_PREFIX + "maxXMLNameLimit";
++ /**
++ * JDK property indicating whether the parser shall print out entity
++ * count information
++ * Value: a string "yes" means print, "no" or any other string means not.
++ */
++ public static final String JDK_ENTITY_COUNT_INFO =
++ ORACLE_JAXP_PROPERTY_PREFIX + "getEntityCountInfo";
++
++ //
++ // Implementation limits: corresponding System Properties of the above
++ // API properties
++ //
++ /**
++ * JDK entity expansion limit; Note that the existing system property
++ * "entityExpansionLimit" with no prefix is still observed
++ */
++ public static final String SP_ENTITY_EXPANSION_LIMIT = "jdk.xml.entityExpansionLimit";
++
++ /**
++ * JDK element attribute limit; Note that the existing system property
++ * "elementAttributeLimit" with no prefix is still observed
++ */
++ public static final String SP_ELEMENT_ATTRIBUTE_LIMIT = "jdk.xml.elementAttributeLimit";
++
++ /**
++ * JDK maxOccur limit; Note that the existing system property
++ * "maxOccurLimit" with no prefix is still observed
++ */
++ public static final String SP_MAX_OCCUR_LIMIT = "jdk.xml.maxOccurLimit";
++
++ /**
++ * JDK total entity size limit
++ */
++ public static final String SP_TOTAL_ENTITY_SIZE_LIMIT = "jdk.xml.totalEntitySizeLimit";
++
++ /**
++ * JDK maximum general entity size limit
++ */
++ public static final String SP_GENEAL_ENTITY_SIZE_LIMIT = "jdk.xml.maxGeneralEntitySizeLimit";
++ /**
++ * JDK maximum parameter entity size limit
++ */
++ public static final String SP_PARAMETER_ENTITY_SIZE_LIMIT = "jdk.xml.maxParameterEntitySizeLimit";
++ /**
++ * JDK maximum XML name limit
++ */
++ public static final String SP_XML_NAME_LIMIT = "jdk.xml.maxXMLNameLimit";
++
++ //legacy System Properties
++ public final static String ENTITY_EXPANSION_LIMIT = "entityExpansionLimit";
++ public static final String ELEMENT_ATTRIBUTE_LIMIT = "elementAttributeLimit" ;
++ public final static String MAX_OCCUR_LIMIT = "maxOccurLimit";
++
++ /**
++ * A string "yes" that can be used for properties such as getEntityCountInfo
++ */
++ public static final String JDK_YES = "yes";
++
++ // Oracle Feature:
++ /**
++ * <p>Use Service Mechanism</p>
++ *
++ * <ul>
++ * <li>
+ * {@code true} instruct an object to use service mechanism to
+ * find a service implementation. This is the default behavior.
+ * </li>
+ * <li>
+ * {@code false} instruct an object to skip service mechanism and
+ * use the default implementation for that service.
+- * </li>
+- * </ul>
+- */
+-
++ * </li>
++ * </ul>
++ */
+ public static final String ORACLE_FEATURE_SERVICE_MECHANISM = "http://www.oracle.com/feature/use-service-mechanism";
+
+- /** Oracle JAXP property prefix ("http://www.oracle.com/xml/jaxp/properties/"). */
+- public static final String ORACLE_JAXP_PROPERTY_PREFIX =
+- "http://www.oracle.com/xml/jaxp/properties/";
+
+ //System Properties corresponding to ACCESS_EXTERNAL_* properties
+ public static final String SP_ACCESS_EXTERNAL_STYLESHEET = "javax.xml.accessExternalStylesheet";
+ public static final String SP_ACCESS_EXTERNAL_DTD = "javax.xml.accessExternalDTD";
+
+-
+ //all access keyword
+ public static final String ACCESS_EXTERNAL_ALL = "all";
+
+--- jaxp/src/com/sun/org/apache/xalan/internal/utils/XMLSecurityManager.java 1969-12-31 16:00:00.000000000 -0800
++++ jaxp/src/com/sun/org/apache/xalan/internal/utils/XMLSecurityManager.java 2013-12-01 11:13:41.000000000 -0800
+@@ -0,0 +1,449 @@
++/*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++ * Copyright (c) 2013 Oracle and/or its affiliates. All rights reserved.
++ *
++ * The contents of this file are subject to the terms of either the GNU
++ * General Public License Version 2 only ("GPL") or the Common Development
++ * and Distribution License("CDDL") (collectively, the "License"). You
++ * may not use this file except in compliance with the License. You can
++ * obtain a copy of the License at
++ * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
++ * or packager/legal/LICENSE.txt. See the License for the specific
++ * language governing permissions and limitations under the License.
++ *
++ * When distributing the software, include this License Header Notice in each
++ * file and include the License file at packager/legal/LICENSE.txt.
++ *
++ * GPL Classpath Exception:
++ * Oracle designates this particular file as subject to the "Classpath"
++ * exception as provided by Oracle in the GPL Version 2 section of the License
++ * file that accompanied this code.
++ *
++ * Modifications:
++ * If applicable, add the following below the License Header, with the fields
++ * enclosed by brackets [] replaced by your own identifying information:
++ * "Portions Copyright [year] [name of copyright owner]"
++ *
++ * Contributor(s):
++ * If you wish your version of this file to be governed by only the CDDL or
++ * only the GPL Version 2, indicate your decision by adding "[Contributor]
++ * elects to include this software in this distribution under the [CDDL or GPL
++ * Version 2] license." If you don't indicate a single choice of license, a
++ * recipient has the option to distribute your version of this file under
++ * either the CDDL, the GPL Version 2 or to extend the choice of license to
++ * its licensees as provided above. However, if you add GPL Version 2 code
++ * and therefore, elected the GPL Version 2 license, then the option applies
++ * only if the new code is made subject to such option by the copyright
++ * holder.
++ */
++package com.sun.org.apache.xalan.internal.utils;
++
++import com.sun.org.apache.xalan.internal.XalanConstants;
++
++
++/**
++ * This class is not the same as that in Xerces. It is used to manage the
++ * state of corresponding Xerces properties and pass the values over to
++ * the Xerces Security Manager.
++ *
++ * @author Joe Wang Oracle Corp.
++ *
++ */
++public final class XMLSecurityManager {
++
++ /**
++ * States of the settings of a property, in the order: default value, value
++ * set by FEATURE_SECURE_PROCESSING, jaxp.properties file, jaxp system
++ * properties, and jaxp api properties
++ */
++ public static enum State {
++ //this order reflects the overriding order
++
++ DEFAULT("default"), FSP("FEATURE_SECURE_PROCESSING"),
++ JAXPDOTPROPERTIES("jaxp.properties"), SYSTEMPROPERTY("system property"),
++ APIPROPERTY("property");
++
++ final String literal;
++ State(String literal) {
++ this.literal = literal;
++ }
++
++ String literal() {
++ return literal;
++ }
++ }
++
++ /**
++ * Limits managed by the security manager
++ */
++ public static enum Limit {
++
++ ENTITY_EXPANSION_LIMIT(XalanConstants.JDK_ENTITY_EXPANSION_LIMIT,
++ XalanConstants.SP_ENTITY_EXPANSION_LIMIT, 0, 64000),
++ MAX_OCCUR_NODE_LIMIT(XalanConstants.JDK_MAX_OCCUR_LIMIT,
++ XalanConstants.SP_MAX_OCCUR_LIMIT, 0, 5000),
++ ELEMENT_ATTRIBUTE_LIMIT(XalanConstants.JDK_ELEMENT_ATTRIBUTE_LIMIT,
++ XalanConstants.SP_ELEMENT_ATTRIBUTE_LIMIT, 0, 10000),
++ TOTAL_ENTITY_SIZE_LIMIT(XalanConstants.JDK_TOTAL_ENTITY_SIZE_LIMIT,
++ XalanConstants.SP_TOTAL_ENTITY_SIZE_LIMIT, 0, 50000000),
++ GENEAL_ENTITY_SIZE_LIMIT(XalanConstants.JDK_GENEAL_ENTITY_SIZE_LIMIT,
++ XalanConstants.SP_GENEAL_ENTITY_SIZE_LIMIT, 0, 0),
++ PARAMETER_ENTITY_SIZE_LIMIT(XalanConstants.JDK_PARAMETER_ENTITY_SIZE_LIMIT,
++ XalanConstants.SP_PARAMETER_ENTITY_SIZE_LIMIT, 0, 1000000);
++
++ final String apiProperty;
++ final String systemProperty;
++ final int defaultValue;
++ final int secureValue;
++
++ Limit(String apiProperty, String systemProperty, int value, int secureValue) {
++ this.apiProperty = apiProperty;
++ this.systemProperty = systemProperty;
++ this.defaultValue = value;
++ this.secureValue = secureValue;
++ }
++
++ public boolean equalsAPIPropertyName(String propertyName) {
++ return (propertyName == null) ? false : apiProperty.equals(propertyName);
++ }
++
++ public boolean equalsSystemPropertyName(String propertyName) {
++ return (propertyName == null) ? false : systemProperty.equals(propertyName);
++ }
++
++ public String apiProperty() {
++ return apiProperty;
++ }
++
++ String systemProperty() {
++ return systemProperty;
++ }
++
++ int defaultValue() {
++ return defaultValue;
++ }
++
++ int secureValue() {
++ return secureValue;
++ }
++ }
++
++ /**
++ * Map old property names with the new ones
++ */
++ public static enum NameMap {
++
++ ENTITY_EXPANSION_LIMIT(XalanConstants.SP_ENTITY_EXPANSION_LIMIT,
++ XalanConstants.ENTITY_EXPANSION_LIMIT),
++ MAX_OCCUR_NODE_LIMIT(XalanConstants.SP_MAX_OCCUR_LIMIT,
++ XalanConstants.MAX_OCCUR_LIMIT),
++ ELEMENT_ATTRIBUTE_LIMIT(XalanConstants.SP_ELEMENT_ATTRIBUTE_LIMIT,
++ XalanConstants.ELEMENT_ATTRIBUTE_LIMIT);
++ final String newName;
++ final String oldName;
++
++ NameMap(String newName, String oldName) {
++ this.newName = newName;
++ this.oldName = oldName;
++ }
++
++ String getOldName(String newName) {
++ if (newName.equals(this.newName)) {
++ return oldName;
+ }
-+ return ((value == NULL_VALUE) ? null : (ObjectStreamField[])value);
++ return null;
++ }
++ }
++ /**
++ * Values of the properties
++ */
++ private final int[] values;
++ /**
++ * States of the settings for each property
++ */
++ private State[] states;
++ /**
++ * States that determine if properties are set explicitly
++ */
++ private boolean[] isSet;
++
++
++ /**
++ * Index of the special entityCountInfo property
++ */
++ private int indexEntityCountInfo = 10000;
++ private String printEntityCountInfo = "";
++
++ /**
++ * Default constructor. Establishes default values for known security
++ * vulnerabilities.
++ */
++ public XMLSecurityManager() {
++ this(false);
++ }
++
++ /**
++ * Instantiate Security Manager in accordance with the status of
++ * secure processing
++ * @param secureProcessing
++ */
++ public XMLSecurityManager(boolean secureProcessing) {
++ values = new int[Limit.values().length];
++ states = new State[Limit.values().length];
++ isSet = new boolean[Limit.values().length];
++ for (Limit limit : Limit.values()) {
++ if (secureProcessing) {
++ values[limit.ordinal()] = limit.secureValue();
++ states[limit.ordinal()] = State.FSP;
++ } else {
++ values[limit.ordinal()] = limit.defaultValue();
++ states[limit.ordinal()] = State.DEFAULT;
++ }
++ }
++ //read system properties or jaxp.properties
++ readSystemProperties();
++ }
++
++ /**
++ * Setting FEATURE_SECURE_PROCESSING explicitly
++ */
++ public void setSecureProcessing(boolean secure) {
++ for (Limit limit : Limit.values()) {
++ if (secure) {
++ setLimit(limit.ordinal(), State.FSP, limit.secureValue());
++ } else {
++ setLimit(limit.ordinal(), State.FSP, limit.defaultValue());
++ }
++ }
++ }
++
++ /**
++ * Set limit by property name and state
++ * @param propertyName property name
++ * @param state the state of the property
++ * @param value the value of the property
++ * @return true if the property is managed by the security manager; false
++ * if otherwise.
++ */
++ public boolean setLimit(String propertyName, State state, Object value) {
++ int index = getIndex(propertyName);
++ if (index > -1) {
++ setLimit(index, state, value);
++ return true;
+ }
++ return false;
++ }
++
++ /**
++ * Set the value for a specific limit.
++ *
++ * @param limit the limit
++ * @param state the state of the property
++ * @param value the value of the property
++ */
++ public void setLimit(Limit limit, State state, int value) {
++ setLimit(limit.ordinal(), state, value);
++ }
+
-+ private static Object computeValue(Class<?> type) {
++ /**
++ * Set the value of a property by its index
++ *
++ * @param index the index of the property
++ * @param state the state of the property
++ * @param value the value of the property
++ */
++ public void setLimit(int index, State state, Object value) {
++ if (index == indexEntityCountInfo) {
++ //if it's explicitly set, it's treated as yes no matter the value
++ printEntityCountInfo = (String)value;
++ } else {
++ int temp = 0;
+ try {
-+ Field pf = type.getDeclaredField("serialPersistentFields");
-+ int mods = pf.getModifiers();
-+ if (Modifier.isPrivate(mods) && Modifier.isStatic(mods) &&
-+ Modifier.isFinal(mods)) {
-+ pf.setAccessible(true);
-+ java.io.ObjectStreamField[] fields =
-+ (java.io.ObjectStreamField[])pf.get(type);
-+ return translateFields(fields);
++ temp = Integer.parseInt((String) value);
++ if (temp < 0) {
++ temp = 0;
+ }
-+ } catch (NoSuchFieldException e1) {
-+ } catch (IllegalAccessException e2) {
-+ } catch (IllegalArgumentException e3) {
-+ } catch (ClassCastException e4) { }
-+ return NULL_VALUE;
++ } catch (NumberFormatException e) {}
++ setLimit(index, state, temp); }
++ }
++
++ /**
++ * Set the value of a property by its index
++ *
++ * @param index the index of the property
++ * @param state the state of the property
++ * @param value the value of the property
++ */
++ public void setLimit(int index, State state, int value) {
++ if (index == indexEntityCountInfo) {
++ //if it's explicitly set, it's treated as yes no matter the value
++ printEntityCountInfo = XalanConstants.JDK_YES;
++ } else {
++ //only update if it shall override
++ if (state.compareTo(states[index]) >= 0) {
++ values[index] = value;
++ states[index] = state;
++ isSet[index] = true;
++ }
++ }
++ }
++
++
++ /**
++ * Return the value of the specified property.
++ *
++ * @param propertyName the property name
++ * @return the value of the property as a string. If a property is managed
++ * by this manager, its value shall not be null.
++ */
++ public String getLimitAsString(String propertyName) {
++ int index = getIndex(propertyName);
++ if (index > -1) {
++ return getLimitValueByIndex(index);
++ }
++
++ return null;
++ }
++
++ /**
++ * Return the value of a property by its ordinal
++ *
++ * @param limit the property
++ * @return value of a property
++ */
++ public String getLimitValueAsString(Limit limit) {
++ return Integer.toString(values[limit.ordinal()]);
++ }
++
++ /**
++ * Return the value of the specified property
++ *
++ * @param limit the property
++ * @return the value of the property
++ */
++ public int getLimit(Limit limit) {
++ return values[limit.ordinal()];
++ }
++
++ /**
++ * Return the value of a property by its ordinal
++ *
++ * @param index the index of a property
++ * @return value of a property
++ */
++ public int getLimitByIndex(int index) {
++ return values[index];
++ }
++ /**
++ * Return the value of a property by its index
++ *
++ * @param index the index of a property
++ * @return limit of a property as a string
++ */
++ public String getLimitValueByIndex(int index) {
++ if (index == indexEntityCountInfo) {
++ return printEntityCountInfo;
+ }
+
-+ private static ObjectStreamField[] translateFields(
-+ java.io.ObjectStreamField[] fields) {
-+ ObjectStreamField[] translation =
-+ new ObjectStreamField[fields.length];
-+ for (int i = 0; i < fields.length; i++) {
-+ translation[i] = new ObjectStreamField(fields[i].getName(),
-+ fields[i].getType());
++ return Integer.toString(values[index]);
++ }
++ /**
++ * Return the state of the limit property
++ *
++ * @param limit the limit
++ * @return the state of the limit property
++ */
++ public State getState(Limit limit) {
++ return states[limit.ordinal()];
++ }
++
++ /**
++ * Return the state of the limit property
++ *
++ * @param limit the limit
++ * @return the state of the limit property
++ */
++ public String getStateLiteral(Limit limit) {
++ return states[limit.ordinal()].literal();
++ }
++
++ /**
++ * Get the index by property name
++ *
++ * @param propertyName property name
++ * @return the index of the property if found; return -1 if not
++ */
++ public int getIndex(String propertyName) {
++ for (Limit limit : Limit.values()) {
++ if (limit.equalsAPIPropertyName(propertyName)) {
++ //internally, ordinal is used as index
++ return limit.ordinal();
+ }
-+ return translation;
+ }
++ //special property to return entity count info
++ if (propertyName.equals(XalanConstants.JDK_ENTITY_COUNT_INFO)) {
++ return indexEntityCountInfo;
++ }
++ return -1;
+ }
+
-+ private static final PersistentFieldsValue persistentFieldsValue =
-+ new PersistentFieldsValue();
++ /**
++ * Indicate if a property is set explicitly
++ * @param index
++ * @return
++ */
++ public boolean isSet(int index) {
++ return isSet[index];
++ }
+
- /*
- * Initialize class descriptor. This method is only invoked on class
- * descriptors created via calls to lookupInternal(). This method is kept
-@@ -416,35 +464,7 @@
- * If it is declared, use the declared serialPersistentFields.
- * Otherwise, extract the fields from the class itself.
- */
-- try {
-- Field pf = cl.getDeclaredField("serialPersistentFields");
-- // serial bug 7; the serialPersistentFields were not
-- // being read and stored as Accessible bit was not set
-- pf.setAccessible(true);
-- // serial bug 7; need to find if the field is of type
-- // java.io.ObjectStreamField
-- java.io.ObjectStreamField[] f =
-- (java.io.ObjectStreamField[])pf.get(cl);
-- int mods = pf.getModifiers();
-- if ((Modifier.isPrivate(mods)) &&
-- (Modifier.isStatic(mods)) &&
-- (Modifier.isFinal(mods)))
-- {
-- fields = (ObjectStreamField[])translateFields((Object[])pf.get(cl));
-- }
-- } catch (NoSuchFieldException e) {
-- fields = null;
-- } catch (IllegalAccessException e) {
-- fields = null;
-- } catch (IllegalArgumentException e) {
-- fields = null;
-- } catch (ClassCastException e) {
-- /* Thrown if a field serialPersistentField exists
-- * but it is not of type ObjectStreamField.
-- */
-- fields = null;
-- }
--
-+ fields = persistentFieldsValue.get(cl);
++ public boolean printEntityCountInfo() {
++ return printEntityCountInfo.equals(XalanConstants.JDK_YES);
++ }
++ /**
++ * Read from system properties, or those in jaxp.properties
++ */
++ private void readSystemProperties() {
++
++ for (Limit limit : Limit.values()) {
++ if (!getSystemProperty(limit, limit.systemProperty())) {
++ //if system property is not found, try the older form if any
++ for (NameMap nameMap : NameMap.values()) {
++ String oldName = nameMap.getOldName(limit.systemProperty());
++ if (oldName != null) {
++ getSystemProperty(limit, oldName);
++ }
++ }
++ }
++ }
++
++ }
++
++ /**
++ * Read from system properties, or those in jaxp.properties
++ *
++ * @param property the type of the property
++ * @param sysPropertyName the name of system property
++ */
++ private boolean getSystemProperty(Limit limit, String sysPropertyName) {
++ try {
++ String value = SecuritySupport.getSystemProperty(sysPropertyName);
++ if (value != null && !value.equals("")) {
++ values[limit.ordinal()] = Integer.parseInt(value);
++ states[limit.ordinal()] = State.SYSTEMPROPERTY;
++ return true;
++ }
++
++ value = SecuritySupport.readJAXPProperty(sysPropertyName);
++ if (value != null && !value.equals("")) {
++ values[limit.ordinal()] = Integer.parseInt(value);
++ states[limit.ordinal()] = State.JAXPDOTPROPERTIES;
++ return true;
++ }
++ } catch (NumberFormatException e) {
++ //invalid setting
++ throw new NumberFormatException("Invalid setting for system property: " + limit.systemProperty());
++ }
++ return false;
++ }
++}
+--- jaxp/src/com/sun/org/apache/xalan/internal/utils/XMLSecurityPropertyManager.java 2013-09-06 11:22:55.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xalan/internal/utils/XMLSecurityPropertyManager.java 2013-12-01 11:13:41.000000000 -0800
+@@ -94,6 +94,23 @@
+ }
- if (fields == null) {
- /* Get all of the declared fields for this
-@@ -641,44 +661,6 @@
- superclass = null;
+ /**
++ * Set limit by property name and state
++ * @param propertyName property name
++ * @param state the state of the property
++ * @param value the value of the property
++ * @return true if the property is managed by the security property manager;
++ * false if otherwise.
++ */
++ public boolean setValue(String propertyName, State state, Object value) {
++ int index = getIndex(propertyName);
++ if (index > -1) {
++ setValue(index, state, (String)value);
++ return true;
++ }
++ return false;
++ }
++
++ /**
+ * Set the value for a specific property.
+ *
+ * @param property the property
+@@ -121,6 +138,22 @@
+ states[index] = state;
+ }
}
++
++ /**
++ * Return the value of the specified property
++ *
++ * @param propertyName the property name
++ * @return the value of the property as a string
++ */
++ public String getValue(String propertyName) {
++ int index = getIndex(propertyName);
++ if (index > -1) {
++ return getValueByIndex(index);
++ }
++
++ return null;
++ }
++
+ /**
+ * Return the value of the specified property
+ *
+--- jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Import.java 2013-09-06 11:22:55.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Import.java 2013-12-01 11:13:41.000000000 -0800
+@@ -86,7 +86,7 @@
+ if (input == null) {
+ docToLoad = SystemIDResolver.getAbsoluteURI(docToLoad, currLoadedDoc);
+ String accessError = SecuritySupport.checkAccess(docToLoad,
+- xsltc.getProperty(XMLConstants.ACCESS_EXTERNAL_STYLESHEET),
++ (String)xsltc.getProperty(XMLConstants.ACCESS_EXTERNAL_STYLESHEET),
+ XalanConstants.ACCESS_EXTERNAL_ALL);
+
+ if (accessError != null) {
+--- jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Include.java 2013-09-06 11:22:55.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Include.java 2013-12-01 11:13:41.000000000 -0800
+@@ -87,7 +87,7 @@
+ if (input == null) {
+ docToLoad = SystemIDResolver.getAbsoluteURI(docToLoad, currLoadedDoc);
+ String accessError = SecuritySupport.checkAccess(docToLoad,
+- xsltc.getProperty(XMLConstants.ACCESS_EXTERNAL_STYLESHEET),
++ (String)xsltc.getProperty(XMLConstants.ACCESS_EXTERNAL_STYLESHEET),
+ XalanConstants.ACCESS_EXTERNAL_ALL);
+
+ if (accessError != null) {
+--- jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java 2013-09-06 11:22:55.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java 2013-12-01 11:13:41.000000000 -0800
+@@ -28,6 +28,7 @@
+ 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.utils.XMLSecurityManager;
+ import com.sun.org.apache.xalan.internal.xsltc.compiler.util.ErrorMsg;
+ import com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodType;
+ import com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type;
+@@ -487,6 +488,20 @@
+ }
-- private static Object[] translateFields(Object objs[])
-- throws NoSuchFieldException {
-- try{
-- java.io.ObjectStreamField fields[] = (java.io.ObjectStreamField[])objs;
-- Object translation[] = null;
--
-- if (translatedFields == null)
-- translatedFields = new Hashtable();
--
-- translation = (Object[])translatedFields.get(fields);
--
-- if (translation != null)
-- return translation;
-- else {
-- Class osfClass = Class.forName("com.sun.corba.se.impl.io.ObjectStreamField");
-- translation = (Object[])java.lang.reflect.Array.newInstance(osfClass, objs.length);
-- Object arg[] = new Object[2];
-- Class types[] = {String.class, Class.class};
-- Constructor constructor = osfClass.getDeclaredConstructor(types);
-- for (int i = fields.length -1; i >= 0; i--){
-- arg[0] = fields[i].getName();
-- arg[1] = fields[i].getType();
--
-- translation[i] = constructor.newInstance(arg);
-- }
-- translatedFields.put(fields, translation);
--
-- }
--
-- return (Object[])translation;
-- }
-- catch(Throwable t){
-- NoSuchFieldException nsfe = new NoSuchFieldException();
-- nsfe.initCause( t ) ;
-- throw nsfe ;
-- }
-- }
--
- /*
- * Set the class this version descriptor matches.
- * The base class name and serializable hash must match.
-@@ -1555,8 +1537,8 @@
- private boolean hasExternalizableBlockData;
- Method writeObjectMethod;
- Method readObjectMethod;
-- private Method writeReplaceObjectMethod;
-- private Method readResolveObjectMethod;
-+ private transient Method writeReplaceObjectMethod;
-+ private transient Method readResolveObjectMethod;
- private Constructor cons ;
+ final XMLReader reader = parser.getXMLReader();
++ try {
++ XMLSecurityManager securityManager =
++ (XMLSecurityManager)_xsltc.getProperty(XalanConstants.SECURITY_MANAGER);
++ for (XMLSecurityManager.Limit limit : XMLSecurityManager.Limit.values()) {
++ reader.setProperty(limit.apiProperty(), securityManager.getLimitValueAsString(limit));
++ }
++ if (securityManager.printEntityCountInfo()) {
++ parser.setProperty(XalanConstants.JDK_ENTITY_COUNT_INFO, XalanConstants.JDK_YES);
++ }
++ } catch (SAXException se) {
++ System.err.println("Warning: " + reader.getClass().getName() + ": "
++ + se.getMessage());
++ }
++
+ return(parse(reader, input));
+ }
+ catch (ParserConfigurationException e) {
+@@ -565,7 +580,7 @@
+ }
+ path = SystemIDResolver.getAbsoluteURI(path);
+ String accessError = SecuritySupport.checkAccess(path,
+- _xsltc.getProperty(XMLConstants.ACCESS_EXTERNAL_STYLESHEET),
++ (String)_xsltc.getProperty(XMLConstants.ACCESS_EXTERNAL_STYLESHEET),
+ XalanConstants.ACCESS_EXTERNAL_ALL);
+ if (accessError != null) {
+ ErrorMsg msg = new ErrorMsg(ErrorMsg.ACCESSING_XSLT_TARGET_ERR,
+--- jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/XSLTC.java 2013-09-06 11:22:56.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/XSLTC.java 2013-12-01 11:13:41.000000000 -0800
+@@ -44,11 +44,11 @@
+ import com.sun.org.apache.bcel.internal.classfile.JavaClass;
+ import com.sun.org.apache.xalan.internal.XalanConstants;
+ import com.sun.org.apache.xalan.internal.utils.SecuritySupport;
++import com.sun.org.apache.xalan.internal.utils.XMLSecurityManager;
+ import com.sun.org.apache.xalan.internal.xsltc.compiler.util.ErrorMsg;
+ import com.sun.org.apache.xalan.internal.xsltc.compiler.util.Util;
+ import com.sun.org.apache.xml.internal.dtm.DTM;
+
+-import com.sun.org.apache.xalan.internal.utils.SecuritySupport;
+ import org.xml.sax.InputSource;
+ import org.xml.sax.XMLReader;
+
+@@ -146,6 +146,7 @@
+ */
+ private String _accessExternalDTD = XalanConstants.EXTERNAL_ACCESS_DEFAULT;
++ private XMLSecurityManager _xmlSecurityManager;
+
+ /**
+ * XSLTC compiler constructor
+@@ -184,12 +185,14 @@
/**
---- corba/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java 2012-08-10 09:10:19.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java 2013-06-22 09:39:21.000000000 -0700
-@@ -179,7 +179,7 @@
- putFields.write(this);
+ * Return allowed protocols for accessing external stylesheet.
+ */
+- public String getProperty(String name) {
++ public Object getProperty(String name) {
+ if (name.equals(XMLConstants.ACCESS_EXTERNAL_STYLESHEET)) {
+ return _accessExternalStylesheet;
+ }
+ else if (name.equals(XMLConstants.ACCESS_EXTERNAL_DTD)) {
+ return _accessExternalDTD;
++ } else if (name.equals(XalanConstants.SECURITY_MANAGER)) {
++ return _xmlSecurityManager;
+ }
+ return null;
+ }
+@@ -197,12 +200,14 @@
+ /**
+ * Set allowed protocols for accessing external stylesheet.
+ */
+- public void setProperty(String name, String value) {
++ public void setProperty(String name, Object value) {
+ if (name.equals(XMLConstants.ACCESS_EXTERNAL_STYLESHEET)) {
+ _accessExternalStylesheet = (String)value;
+ }
+ else if (name.equals(XMLConstants.ACCESS_EXTERNAL_DTD)) {
+ _accessExternalDTD = (String)value;
++ } else if (name.equals(XalanConstants.SECURITY_MANAGER)) {
++ _xmlSecurityManager = (XMLSecurityManager)value;
+ }
}
-- public abstract org.omg.CORBA_2_3.portable.OutputStream getOrbStream();
-+ abstract org.omg.CORBA_2_3.portable.OutputStream getOrbStream();
+--- jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesHandlerImpl.java 2013-09-06 11:22:57.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesHandlerImpl.java 2013-12-01 11:13:41.000000000 -0800
+@@ -29,7 +29,7 @@
+ import javax.xml.transform.TransformerException;
+ import javax.xml.transform.URIResolver;
+ import javax.xml.transform.sax.TemplatesHandler;
+-
++import com.sun.org.apache.xalan.internal.XalanConstants;
+ import com.sun.org.apache.xalan.internal.xsltc.compiler.CompilerException;
+ import com.sun.org.apache.xalan.internal.xsltc.compiler.Parser;
+ import com.sun.org.apache.xalan.internal.xsltc.compiler.SourceLoader;
+@@ -103,6 +103,8 @@
+ (String)tfactory.getAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET));
+ xsltc.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD,
+ (String)tfactory.getAttribute(XMLConstants.ACCESS_EXTERNAL_DTD));
++ xsltc.setProperty(XalanConstants.SECURITY_MANAGER,
++ tfactory.getAttribute(XalanConstants.SECURITY_MANAGER));
+
+
+ if ("true".equals(tfactory.getAttribute(TransformerFactoryImpl.ENABLE_INLINING)))
+--- jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.java 2013-09-06 11:22:57.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.java 2013-12-01 11:13:41.000000000 -0800
+@@ -77,6 +77,7 @@
+ import com.sun.org.apache.xalan.internal.utils.XMLSecurityPropertyManager;
+ import com.sun.org.apache.xalan.internal.utils.XMLSecurityPropertyManager.Property;
+ import com.sun.org.apache.xalan.internal.utils.XMLSecurityPropertyManager.State;
++import com.sun.org.apache.xalan.internal.utils.XMLSecurityManager;
- protected abstract void beginOptionalCustomData();
+ import org.xml.sax.InputSource;
+ import org.xml.sax.XMLFilter;
+@@ -227,17 +228,17 @@
+ */
+ private boolean _useServicesMechanism;
---- corba/src/share/classes/com/sun/corba/se/impl/io/ValueHandlerImpl.java 2012-08-10 09:10:19.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/io/ValueHandlerImpl.java 2013-03-09 18:08:34.000000000 -0800
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
-@@ -53,7 +53,7 @@
- import com.sun.corba.se.impl.logging.OMGSystemException;
- import com.sun.corba.se.impl.logging.UtilSystemException;
+- /**
++ /**
+ * protocols allowed for external references set by the stylesheet processing instruction, Import and Include element.
+ */
+ private String _accessExternalStylesheet = XalanConstants.EXTERNAL_ACCESS_DEFAULT;
+-
+ /**
+ * protocols allowed for external DTD references in source file and/or stylesheet.
+ */
+ private String _accessExternalDTD = XalanConstants.EXTERNAL_ACCESS_DEFAULT;
--public class ValueHandlerImpl implements javax.rmi.CORBA.ValueHandlerMultiFormat {
-+public final class ValueHandlerImpl implements javax.rmi.CORBA.ValueHandlerMultiFormat {
+ private XMLSecurityPropertyManager _xmlSecurityPropertyMgr;
++ private XMLSecurityManager _xmlSecurityManager;
- // Property to override our maximum stream format version
- public static final String FORMAT_VERSION_PROPERTY
-@@ -150,14 +150,22 @@
- writeValueWithVersion(out, value, streamFormatVersion);
+ /**
+ * javax.xml.transform.sax.TransformerFactory implementation.
+@@ -264,6 +265,9 @@
+ Property.ACCESS_EXTERNAL_DTD);
+ _accessExternalStylesheet = _xmlSecurityPropertyMgr.getValue(
+ Property.ACCESS_EXTERNAL_STYLESHEET);
++
++ //Parser's security manager
++ _xmlSecurityManager = new XMLSecurityManager(true);
}
-- public ValueHandlerImpl(){}
-+ private ValueHandlerImpl(){}
+ /**
+@@ -322,11 +326,21 @@
+ return Boolean.TRUE;
+ else
+ return Boolean.FALSE;
++ } else if (name.equals(XalanConstants.SECURITY_MANAGER)) {
++ return _xmlSecurityManager;
+ }
-- public ValueHandlerImpl(boolean isInputStream) {
-+ private ValueHandlerImpl(boolean isInputStream) {
- this();
- useHashtables = false;
- this.isInputStream = isInputStream;
- }
+- int index = _xmlSecurityPropertyMgr.getIndex(name);
+- if (index > -1) {
+- return _xmlSecurityPropertyMgr.getValueByIndex(index);
++ /** Check to see if the property is managed by the security manager **/
++ String propertyValue = (_xmlSecurityManager != null) ?
++ _xmlSecurityManager.getLimitAsString(name) : null;
++ if (propertyValue != null) {
++ return propertyValue;
++ } else {
++ propertyValue = (_xmlSecurityPropertyMgr != null) ?
++ _xmlSecurityPropertyMgr.getValue(name) : null;
++ if (propertyValue != null) {
++ return propertyValue;
++ }
+ }
-+ static ValueHandlerImpl getInstance() {
-+ return new ValueHandlerImpl();
-+ }
-+
-+ static ValueHandlerImpl getInstance(boolean isInputStream) {
-+ return new ValueHandlerImpl(isInputStream);
-+ }
+ // Throw an exception for all other attributes
+@@ -429,10 +443,13 @@
+ }
+ }
+
+- int index = _xmlSecurityPropertyMgr.getIndex(name);
+- if (index > -1) {
+- _xmlSecurityPropertyMgr.setValue(index,
+- State.APIPROPERTY, (String)value);
++ if (_xmlSecurityManager != null &&
++ _xmlSecurityManager.setLimit(name, XMLSecurityManager.State.APIPROPERTY, value)) {
++ return;
++ }
+
++ if (_xmlSecurityPropertyMgr != null &&
++ _xmlSecurityPropertyMgr.setValue(name, XMLSecurityPropertyManager.State.APIPROPERTY, value)) {
+ _accessExternalDTD = _xmlSecurityPropertyMgr.getValue(
+ Property.ACCESS_EXTERNAL_DTD);
+ _accessExternalStylesheet = _xmlSecurityPropertyMgr.getValue(
+@@ -482,6 +499,7 @@
+ throw new TransformerConfigurationException(err.toString());
+ }
+ _isNotSecureProcessing = !value;
++ _xmlSecurityManager.setSecureProcessing(value);
+
+ // set external access restriction when FSP is explicitly set
+ if (value && XalanConstants.IS_JDK8_OR_ABOVE) {
+@@ -851,6 +869,7 @@
+ if (!_isNotSecureProcessing) xsltc.setSecureProcessing(true);
+ xsltc.setProperty(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, _accessExternalStylesheet);
+ xsltc.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD, _accessExternalDTD);
++ xsltc.setProperty(XalanConstants.SECURITY_MANAGER, _xmlSecurityManager);
+ xsltc.init();
+
+ // Set a document loader (for xsl:include/import) if defined
+--- jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java 2013-09-06 11:22:57.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java 2013-12-01 11:13:41.000000000 -0800
+@@ -25,6 +25,7 @@
+
+ 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.XMLSecurityManager;
+ import java.io.File;
+ import java.io.FileOutputStream;
+ import java.io.IOException;
+@@ -218,6 +219,7 @@
+ */
+ private String _accessExternalDTD = XalanConstants.EXTERNAL_ACCESS_DEFAULT;
+
++ private XMLSecurityManager _securityManager;
/**
- * Writes the value to the stream using java semantics.
- * @param out The stream to write the value to
-@@ -458,12 +466,7 @@
- return ObjectStreamClass.lookup(value.getClass()).writeReplace(value);
+ * A hashtable to store parameters for the identity transform. These
+ * are not needed during the transformation, but we must keep track of
+@@ -272,8 +274,11 @@
+ _useServicesMechanism = _tfactory.useServicesMechnism();
+ _accessExternalStylesheet = (String)_tfactory.getAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET);
+ _accessExternalDTD = (String)_tfactory.getAttribute(XMLConstants.ACCESS_EXTERNAL_DTD);
++ _securityManager = (XMLSecurityManager)_tfactory.getAttribute(XalanConstants.SECURITY_MANAGER);
+ _readerManager = XMLReaderManager.getInstance(_useServicesMechanism);
+ _readerManager.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD, _accessExternalDTD);
++ _readerManager.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, _isSecureProcessing);
++ _readerManager.setProperty(XalanConstants.SECURITY_MANAGER, _securityManager);
+ //_isIncremental = tfactory._incremental;
}
-- /**
-- * Encapsulates writing of Java char arrays so that the 1.3 subclass
-- * can override it without exposing internals across packages. This
-- * is a fix for bug 4367783.
-- */
-- protected void writeCharArray(org.omg.CORBA_2_3.portable.OutputStream out,
-+ private void writeCharArray(org.omg.CORBA_2_3.portable.OutputStream out,
- char[] array,
- int offset,
- int length)
-@@ -576,12 +579,7 @@
- }
+@@ -289,6 +294,7 @@
+ */
+ public void setSecureProcessing(boolean flag) {
+ _isSecureProcessing = flag;
++ _readerManager.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, _isSecureProcessing);
}
+ /**
+ * Return the state of the services mechanism feature.
+--- jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/Util.java 2013-09-06 11:22:57.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/Util.java 2013-12-01 11:13:41.000000000 -0800
+@@ -23,6 +23,7 @@
-- /**
-- * Encapsulates reading of Java char arrays so that the 1.3 subclass
-- * can override it without exposing internals across packages. This
-- * is a fix for bug 4367783.
-- */
-- protected void readCharArray(org.omg.CORBA_2_3.portable.InputStream in,
-+ private void readCharArray(org.omg.CORBA_2_3.portable.InputStream in,
- char[] array,
- int offset,
- int length)
-@@ -795,7 +793,7 @@
- return RepositoryId.cache.getId(repId).isSequence();
- }
+ package com.sun.org.apache.xalan.internal.xsltc.trax;
-- protected String getOutputStreamClassName() {
-+ private String getOutputStreamClassName() {
- return "com.sun.corba.se.impl.io.IIOPOutputStream";
- }
++import com.sun.org.apache.xalan.internal.XalanConstants;
+ import java.io.InputStream;
+ import java.io.Reader;
-@@ -843,29 +841,11 @@
- private IIOPOutputStream createOutputStreamBuiltInNoPriv(
- final String name
- ) throws IOException {
-- return
-- name.equals(
-- IIOPOutputStream
-- .class.getName()
-- ) ?
-- new IIOPOutputStream() :
--
-- name.equals(
-- com.sun.corba.se.impl.orbutil.IIOPOutputStream_1_3
-- .class.getName()
-- ) ?
-- new com.sun.corba.se.impl.orbutil.IIOPOutputStream_1_3() :
--
-- name.equals(
-- com.sun.corba.se.impl.orbutil.IIOPOutputStream_1_3_1
-- .class.getName()
-- ) ?
-- new com.sun.corba.se.impl.orbutil.IIOPOutputStream_1_3_1() :
--
-- null;
-+ return name.equals(IIOPOutputStream.class.getName()) ?
-+ new IIOPOutputStream() : null;
- }
+@@ -43,6 +44,7 @@
+ import javax.xml.transform.stream.StreamSource;
-- protected String getInputStreamClassName() {
-+ private String getInputStreamClassName() {
- return "com.sun.corba.se.impl.io.IIOPInputStream";
- }
+ import com.sun.org.apache.xalan.internal.utils.FactoryImpl;
++import com.sun.org.apache.xalan.internal.utils.XMLSecurityManager;
+ import com.sun.org.apache.xalan.internal.xsltc.compiler.XSLTC;
+ import com.sun.org.apache.xalan.internal.xsltc.compiler.util.ErrorMsg;
-@@ -913,26 +893,8 @@
- private IIOPInputStream createInputStreamBuiltInNoPriv(
- final String name
- ) throws IOException {
-- return
-- name.equals(
-- IIOPInputStream
-- .class.getName()
-- ) ?
-- new IIOPInputStream() :
--
-- name.equals(
-- com.sun.corba.se.impl.orbutil.IIOPInputStream_1_3
-- .class.getName()
-- ) ?
-- new com.sun.corba.se.impl.orbutil.IIOPInputStream_1_3() :
+@@ -105,6 +107,13 @@
+ if (reader == null) {
+ try {
+ reader= XMLReaderFactory.createXMLReader();
++ try {
++ reader.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING,
++ xsltc.isSecureProcessing());
++ } catch (SAXNotRecognizedException e) {
++ System.err.println("Warning: " + reader.getClass().getName() + ": "
++ + e.getMessage());
++ }
+ } catch (Exception e ) {
+ try {
+
+@@ -144,6 +153,22 @@
+ + e.getMessage());
+ }
+
++ try {
++ XMLSecurityManager securityManager =
++ (XMLSecurityManager)xsltc.getProperty(XalanConstants.SECURITY_MANAGER);
++ if (securityManager != null) {
++ for (XMLSecurityManager.Limit limit : XMLSecurityManager.Limit.values()) {
++ reader.setProperty(limit.apiProperty(),
++ securityManager.getLimitValueAsString(limit));
++ }
++ if (securityManager.printEntityCountInfo()) {
++ reader.setProperty(XalanConstants.JDK_ENTITY_COUNT_INFO, XalanConstants.JDK_YES);
++ }
++ }
++ } catch (SAXException se) {
++ System.err.println("Warning: " + reader.getClass().getName() + ": "
++ + se.getMessage());
++ }
+ xsltc.setXMLReader(reader);
+ }catch (SAXNotRecognizedException snre ) {
+ throw new TransformerConfigurationException
+--- jaxp/src/com/sun/org/apache/xerces/internal/dom/DOMConfigurationImpl.java 2013-09-06 11:22:57.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/dom/DOMConfigurationImpl.java 2013-12-01 11:13:41.000000000 -0800
+@@ -33,6 +33,7 @@
+ import com.sun.org.apache.xerces.internal.util.PropertyState;
+ import com.sun.org.apache.xerces.internal.util.SymbolTable;
+ import com.sun.org.apache.xerces.internal.utils.ObjectFactory;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager;
+ import com.sun.org.apache.xerces.internal.utils.XMLSecurityPropertyManager;
+ import com.sun.org.apache.xerces.internal.xni.XMLDTDContentModelHandler;
+ import com.sun.org.apache.xerces.internal.xni.XMLDTDHandler;
+@@ -59,6 +60,7 @@
+ import org.w3c.dom.ls.LSResourceResolver;
+
+
++
+ /**
+ * Xerces implementation of DOMConfiguration that maintains a table of recognized parameters.
+ *
+@@ -156,6 +158,9 @@
+ protected static final String SCHEMA_DV_FACTORY =
+ Constants.XERCES_PROPERTY_PREFIX + Constants.SCHEMA_DV_FACTORY_PROPERTY;
+
++ /** Property identifier: Security manager. */
++ private static final String SECURITY_MANAGER = Constants.SECURITY_MANAGER;
++
+ /** Property identifier: Security property manager. */
+ private static final String XML_SECURITY_PROPERTY_MANAGER =
+ Constants.XML_SECURITY_PROPERTY_MANAGER;
+@@ -279,6 +284,7 @@
+ JAXP_SCHEMA_LANGUAGE,
+ DTD_VALIDATOR_FACTORY_PROPERTY,
+ SCHEMA_DV_FACTORY,
++ SECURITY_MANAGER,
+ XML_SECURITY_PROPERTY_MANAGER
+ };
+ addRecognizedProperties(recognizedProperties);
+@@ -313,6 +319,8 @@
+ fValidationManager = createValidationManager();
+ setProperty(VALIDATION_MANAGER, fValidationManager);
+
++ setProperty(SECURITY_MANAGER, new XMLSecurityManager(true));
++
+ setProperty(Constants.XML_SECURITY_PROPERTY_MANAGER,
+ new XMLSecurityPropertyManager());
+
+--- jaxp/src/com/sun/org/apache/xerces/internal/impl/Constants.java 2013-09-06 11:22:57.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/impl/Constants.java 2013-12-01 11:13:41.000000000 -0800
+@@ -174,8 +174,6 @@
+ /** JAXP schemaSource language: when used internally may include DTD namespace (DOM) */
+ public static final String SCHEMA_LANGUAGE = "schemaLanguage";
+
+- public static final String SYSTEM_PROPERTY_ELEMENT_ATTRIBUTE_LIMIT = "elementAttributeLimit" ;
-
-- name.equals(
-- com.sun.corba.se.impl.orbutil.IIOPInputStream_1_3_1
-- .class.getName()
-- ) ?
-- new com.sun.corba.se.impl.orbutil.IIOPInputStream_1_3_1() :
+ /** JAXP Standard property prefix ("http://javax.xml.XMLConstants/property/"). */
+ public static final String JAXPAPI_PROPERTY_PREFIX =
+ "http://javax.xml.XMLConstants/property/";
+@@ -209,6 +207,107 @@
+ public static final boolean IS_JDK8_OR_ABOVE = isJavaVersionAtLeast(8);
+
+ //
++ // Implementation limits: corresponding System Properties of the above
++ // API properties
++ //
++ /**
++ * JDK entity expansion limit; Note that the existing system property
++ * "entityExpansionLimit" with no prefix is still observed
++ */
++ public static final String JDK_ENTITY_EXPANSION_LIMIT =
++ ORACLE_JAXP_PROPERTY_PREFIX + "entityExpansionLimit";
++
++ /**
++ * JDK element attribute limit; Note that the existing system property
++ * "elementAttributeLimit" with no prefix is still observed
++ */
++ public static final String JDK_ELEMENT_ATTRIBUTE_LIMIT =
++ ORACLE_JAXP_PROPERTY_PREFIX + "elementAttributeLimit";
++
++ /**
++ * JDK maxOccur limit; Note that the existing system property
++ * "maxOccurLimit" with no prefix is still observed
++ */
++ public static final String JDK_MAX_OCCUR_LIMIT =
++ ORACLE_JAXP_PROPERTY_PREFIX + "maxOccurLimit";
++
++ /**
++ * JDK total entity size limit
++ */
++ public static final String JDK_TOTAL_ENTITY_SIZE_LIMIT =
++ ORACLE_JAXP_PROPERTY_PREFIX + "totalEntitySizeLimit";
++
++ /**
++ * JDK maximum general entity size limit
++ */
++ public static final String JDK_GENEAL_ENTITY_SIZE_LIMIT =
++ ORACLE_JAXP_PROPERTY_PREFIX + "maxGeneralEntitySizeLimit";
++ /**
++ * JDK maximum parameter entity size limit
++ */
++ public static final String JDK_PARAMETER_ENTITY_SIZE_LIMIT =
++ ORACLE_JAXP_PROPERTY_PREFIX + "maxParameterEntitySizeLimit";
++ /**
++ * JDK maximum XML name limit
++ */
++ public static final String JDK_XML_NAME_LIMIT =
++ ORACLE_JAXP_PROPERTY_PREFIX + "maxXMLNameLimit";
++ /**
++ * JDK property to allow printing out information from the limit analyzer
++ */
++ public static final String JDK_ENTITY_COUNT_INFO =
++ ORACLE_JAXP_PROPERTY_PREFIX + "getEntityCountInfo";
++
++ //
++ // Implementation limits: API properties
++ //
++ /**
++ * JDK entity expansion limit; Note that the existing system property
++ * "entityExpansionLimit" with no prefix is still observed
++ */
++ public static final String SP_ENTITY_EXPANSION_LIMIT = "jdk.xml.entityExpansionLimit";
++
++ /**
++ * JDK element attribute limit; Note that the existing system property
++ * "elementAttributeLimit" with no prefix is still observed
++ */
++ public static final String SP_ELEMENT_ATTRIBUTE_LIMIT = "jdk.xml.elementAttributeLimit";
++
++ /**
++ * JDK maxOccur limit; Note that the existing system property
++ * "maxOccurLimit" with no prefix is still observed
++ */
++ public static final String SP_MAX_OCCUR_LIMIT = "jdk.xml.maxOccurLimit";
++
++ /**
++ * JDK total entity size limit
++ */
++ public static final String SP_TOTAL_ENTITY_SIZE_LIMIT = "jdk.xml.totalEntitySizeLimit";
++
++ /**
++ * JDK maximum general entity size limit
++ */
++ public static final String SP_GENEAL_ENTITY_SIZE_LIMIT = "jdk.xml.maxGeneralEntitySizeLimit";
++ /**
++ * JDK maximum parameter entity size limit
++ */
++ public static final String SP_PARAMETER_ENTITY_SIZE_LIMIT = "jdk.xml.maxParameterEntitySizeLimit";
++ /**
++ * JDK maximum XML name limit
++ */
++ public static final String SP_XML_NAME_LIMIT = "jdk.xml.maxXMLNameLimit";
++
++ //legacy System Properties
++ public final static String ENTITY_EXPANSION_LIMIT = "entityExpansionLimit";
++ public static final String ELEMENT_ATTRIBUTE_LIMIT = "elementAttributeLimit" ;
++ public final static String MAX_OCCUR_LIMIT = "maxOccurLimit";
++
++ /**
++ * A string "yes" that can be used for properties such as getEntityCountInfo
++ */
++ public static final String JDK_YES = "yes";
++
++ //
+ // DOM features
+ //
+
+@@ -443,7 +542,7 @@
+ public static final String LOCALE_PROPERTY = "locale";
+
+ /** property identifier: security manager. */
+- protected static final String SECURITY_MANAGER =
++ public static final String SECURITY_MANAGER =
+ Constants.XERCES_PROPERTY_PREFIX + Constants.SECURITY_MANAGER_PROPERTY;
+
+
+@@ -511,9 +610,6 @@
+ */
+ public final static String ATTRIBUTE_DECLARED = "ATTRIBUTE_DECLARED";
+
+- public final static String ENTITY_EXPANSION_LIMIT = "entityExpansionLimit";
-
-- null;
-+ return name.equals(IIOPInputStream.class.getName()) ?
-+ new IIOPInputStream() : null;
- }
+- public final static String MAX_OCCUR_LIMIT = "maxOccurLimit";
- /**
-@@ -958,12 +920,7 @@
+ /**
+ * {@link org.w3c.dom.TypeInfo} associated with current element/attribute
+--- jaxp/src/com/sun/org/apache/xerces/internal/impl/PropertyManager.java 2013-09-06 11:22:57.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/impl/PropertyManager.java 2013-12-01 11:13:41.000000000 -0800
+@@ -25,6 +25,7 @@
- }
+ package com.sun.org.apache.xerces.internal.impl;
-- /**
-- * Our JDK 1.3 and JDK 1.3.1 behavior subclasses override this.
-- * The correct behavior is for a Java char to map to a CORBA wchar,
-- * but our older code mapped it to a CORBA char.
-- */
-- protected TCKind getJavaCharTCKind() {
-+ TCKind getJavaCharTCKind() {
- return TCKind.tk_wchar;
- }
- }
---- corba/src/share/classes/com/sun/corba/se/impl/io/ValueUtility.java 2012-08-10 09:10:19.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/io/ValueUtility.java 2013-06-22 09:39:21.000000000 -0700
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 1999, 2002, 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
-@@ -93,6 +93,22 @@
- null, // tk_abstract_interface 32
- };
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager;
+ import com.sun.org.apache.xerces.internal.utils.XMLSecurityPropertyManager;
+ import com.sun.xml.internal.stream.StaxEntityResolverWrapper;
+ import java.util.HashMap;
+@@ -50,12 +51,16 @@
-+ static {
-+ sun.corba.SharedSecrets.setJavaCorbaAccess(new sun.corba.JavaCorbaAccess() {
-+ 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);
-+ }
-+ }
-+ });
-+ }
+ private static final String STRING_INTERNING = "http://xml.org/sax/features/string-interning";
+
++ /** Property identifier: Security manager. */
++ private static final String SECURITY_MANAGER = Constants.SECURITY_MANAGER;
+
- public static String getSignature(ValueMember member)
- throws ClassNotFoundException {
+ /** Property identifier: Security property manager. */
+ private static final String XML_SECURITY_PROPERTY_MANAGER =
+ Constants.XML_SECURITY_PROPERTY_MANAGER;
---- corba/src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java 2012-08-10 09:10:19.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java 2013-06-22 09:39:21.000000000 -0700
-@@ -128,7 +128,8 @@
- static public void writeEncapsulation( WriteContents obj,
- OutputStream os )
- {
-- EncapsOutputStream out = new EncapsOutputStream( (ORB)os.orb() ) ;
-+ EncapsOutputStream out =
-+ sun.corba.OutputStreamFactory.newEncapsOutputStream((ORB)os.orb());
+ HashMap supportedProps = new HashMap();
- out.putEndian() ;
++ private XMLSecurityManager fSecurityManager;
+ private XMLSecurityPropertyManager fSecurityPropertyMgr;
---- corba/src/share/classes/com/sun/corba/se/impl/ior/GenericTaggedProfile.java 2012-08-10 09:10:19.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/ior/GenericTaggedProfile.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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 static final int CONTEXT_READER = 1;
+@@ -82,6 +87,7 @@
- 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 ) ;
---- corba/src/share/classes/com/sun/corba/se/impl/ior/IORImpl.java 2012-08-10 09:10:19.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/ior/IORImpl.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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 @@
- {
- 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 @@
+ HashMap properties = propertyManager.getProperties();
+ supportedProps.putAll(properties);
++ fSecurityManager = (XMLSecurityManager)getProperty(SECURITY_MANAGER);
+ fSecurityPropertyMgr = (XMLSecurityPropertyManager)getProperty(XML_SECURITY_PROPERTY_MANAGER);
}
- 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);
---- corba/src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyImpl.java 2012-08-10 09:10:20.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyImpl.java 2013-06-22 09:39:21.000000000 -0700
-@@ -87,7 +87,8 @@
-
- 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() ;
+@@ -124,6 +130,8 @@
+ supportedProps.put(Constants.XERCES_FEATURE_PREFIX + Constants.WARN_ON_DUPLICATE_ENTITYDEF_FEATURE, new Boolean(false));
+ supportedProps.put(Constants.XERCES_FEATURE_PREFIX + Constants.WARN_ON_UNDECLARED_ELEMDEF_FEATURE, new Boolean(false));
+
++ fSecurityManager = new XMLSecurityManager(true);
++ supportedProps.put(SECURITY_MANAGER, fSecurityManager);
+ fSecurityPropertyMgr = new XMLSecurityPropertyManager();
+ supportedProps.put(XML_SECURITY_PROPERTY_MANAGER, fSecurityPropertyMgr);
+ }
+@@ -142,6 +150,7 @@
+ */
+ public boolean containsProperty(String property){
+ return supportedProps.containsKey(property) ||
++ (fSecurityManager != null && fSecurityManager.getIndex(property) > -1) ||
+ (fSecurityPropertyMgr!=null && fSecurityPropertyMgr.getIndex(property) > -1) ;
}
---- corba/src/share/classes/com/sun/corba/se/impl/ior/TaggedComponentFactoryFinderImpl.java 2012-08-10 09:10:21.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/ior/TaggedComponentFactoryFinderImpl.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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 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
---- corba/src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileImpl.java 2012-08-10 09:10:22.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileImpl.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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 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()) ;
---- corba/src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileTemplateImpl.java 2012-08-10 09:10:22.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileTemplateImpl.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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 @@
- // 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 ) ;
---- corba/src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/Util.java 2012-08-10 09:10:23.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/Util.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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,9 +109,9 @@
- 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;
+@@ -169,12 +178,34 @@
+ supportedProps.put( Constants.XERCES_PROPERTY_PREFIX + Constants.STAX_ENTITY_RESOLVER_PROPERTY , new StaxEntityResolverWrapper((XMLResolver)value)) ;
+ }
- /**
- * Provides utility methods that can be used by stubs and ties to
-@@ -125,7 +125,8 @@
- // Maps targets to ties.
- private static IdentityHashtable exportedServants = new IdentityHashtable();
-
-- private static ValueHandlerImpl valueHandlerSingleton = new ValueHandlerImpl();
-+ private static final ValueHandlerImpl valueHandlerSingleton =
-+ SharedSecrets.getJavaCorbaAccess().newValueHandlerImpl();
-
- private UtilSystemException utilWrapper = UtilSystemException.get(
- CORBALogDomains.RPC_ENCODING);
-@@ -259,7 +260,7 @@
- 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;
-@@ -275,7 +276,7 @@
- }
- } 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;
-@@ -291,7 +292,7 @@
- }
- } 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;
---- corba/src/share/classes/com/sun/corba/se/impl/orb/ORBDataParserImpl.java 2012-08-10 09:10:31.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/orb/ORBDataParserImpl.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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 @@
+- int index = (fSecurityPropertyMgr != null) ? fSecurityPropertyMgr.getIndex(property) : -1;
+- if (index > -1) {
+- fSecurityPropertyMgr.setValue(index,
+- XMLSecurityPropertyManager.State.APIPROPERTY, (String)value);
+- } else {
+- supportedProps.put(property, value);
++ /**
++ * It's possible for users to set a security manager through the interface.
++ * If it's the old SecurityManager, convert it to the new XMLSecurityManager
++ */
++ if (property.equals(Constants.SECURITY_MANAGER)) {
++ fSecurityManager = XMLSecurityManager.convert(value, fSecurityManager);
++ supportedProps.put(Constants.SECURITY_MANAGER, fSecurityManager);
++ return;
++ }
++ if (property.equals(Constants.XML_SECURITY_PROPERTY_MANAGER)) {
++ if (value == null) {
++ fSecurityPropertyMgr = new XMLSecurityPropertyManager();
++ } else {
++ fSecurityPropertyMgr = (XMLSecurityPropertyManager)value;
++ }
++ supportedProps.put(Constants.XML_SECURITY_PROPERTY_MANAGER, fSecurityPropertyMgr);
++ return;
++ }
++
++ //check if the property is managed by security manager
++ if (fSecurityManager == null ||
++ !fSecurityManager.setLimit(property, XMLSecurityManager.State.APIPROPERTY, value)) {
++ //check if the property is managed by security property manager
++ if (fSecurityPropertyMgr == null ||
++ !fSecurityPropertyMgr.setValue(property, XMLSecurityPropertyManager.State.APIPROPERTY, value)) {
++ //fall back to the existing property manager
++ supportedProps.put(property, value);
++ }
+ }
- 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 ;
+ if(equivalentProperty != null){
+--- jaxp/src/com/sun/org/apache/xerces/internal/impl/XML11NSDocumentScannerImpl.java 2013-09-06 11:22:57.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/impl/XML11NSDocumentScannerImpl.java 2013-12-01 11:13:41.000000000 -0800
+@@ -108,6 +108,7 @@
+ * @author Elena Litani, IBM
+ * @author Michael Glavassevich, IBM
+ * @author Sunitha Reddy, Sun Microsystems
++ * @version $Id: XML11NSDocumentScannerImpl.java,v 1.6 2010-11-01 04:39:40 joehw Exp $
+ */
+ public class XML11NSDocumentScannerImpl extends XML11DocumentScannerImpl {
+
+@@ -236,7 +237,8 @@
+
+ // attributes
+ scanAttribute(fAttributes);
+- if (fSecurityManager != null && fAttributes.getLength() > fElementAttributeLimit){
++ if (fSecurityManager != null && (!fSecurityManager.isNoLimit(fElementAttributeLimit)) &&
++ fAttributes.getLength() > fElementAttributeLimit){
+ fErrorReporter.reportError(XMLMessageFormatter.XML_DOMAIN,
+ "ElementAttributeLimit",
+ new Object[]{rawname, new Integer(fElementAttributeLimit) },
+--- jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLDTDScannerImpl.java 2013-09-06 11:22:57.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLDTDScannerImpl.java 2013-12-01 11:13:41.000000000 -0800
+@@ -44,6 +44,8 @@
+ import com.sun.org.apache.xerces.internal.impl.XMLErrorReporter;
+ import com.sun.org.apache.xerces.internal.impl.XMLEntityHandler;
+ import com.sun.org.apache.xerces.internal.impl.Constants;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager;
++import com.sun.xml.internal.stream.Entity;
---- corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java 2012-08-10 09:10:31.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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 class is responsible for scanning the declarations found
+@@ -66,7 +68,7 @@
+ * @author Glenn Marcy, IBM
+ * @author Eric Ye, IBM
*
- * This code is free software; you can redistribute it and/or modify it
-@@ -152,7 +152,6 @@
- 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 synchronized org.omg.CORBA.portable.OutputStream create_output_stream()
- {
- checkShutdownState();
-- return new EncapsOutputStream(this);
-+ return sun.corba.OutputStreamFactory.newEncapsOutputStream(this);
+- * @version $Id: XMLDTDScannerImpl.java,v 1.7 2007/09/26 12:52:40 ndw Exp $
++ * @version $Id: XMLDTDScannerImpl.java,v 1.8 2010-11-01 04:39:41 joehw Exp $
+ */
+ public class XMLDTDScannerImpl
+ extends XMLScanner
+@@ -1545,7 +1547,7 @@
+
+ // internal entity
+ if (systemId == null) {
+- scanEntityValue(fLiteral, fLiteral2);
++ scanEntityValue(name, isPEDecl, fLiteral, fLiteral2);
+ // since we need it's value anyway, let's snag it so it doesn't get corrupted
+ // if a new load takes place before we store the entity values
+ fStringBuffer.clear();
+@@ -1610,7 +1612,7 @@
+ * the use of scanCharReferenceValue), and fStringBuffer2, anything in them
+ * at the time of calling is lost.
+ */
+- protected final void scanEntityValue(XMLString value,
++ protected final void scanEntityValue(String entityName, boolean isPEDecl, XMLString value,
+ XMLString nonNormalizedValue)
+ throws IOException, XNIException {
+ int quote = fEntityScanner.scanChar();
+@@ -1622,10 +1624,20 @@
+
+ XMLString literal = fString;
+ XMLString literal2 = fString;
++ int countChar = 0;
++ if (fLimitAnalyzer == null && fSecurityManager != null) {
++ fLimitAnalyzer = fSecurityManager.getLimitAnalyzer();
++ fLimitAnalyzer.startEntity(entityName);
++ }
++
+ if (fEntityScanner.scanLiteral(quote, fString) != quote) {
+ fStringBuffer.clear();
+ fStringBuffer2.clear();
+ do {
++ if (isPEDecl && fLimitAnalyzer != null) {
++ checkLimit("%" + entityName, fString.length + countChar);
++ }
++ countChar = 0;
+ fStringBuffer.append(fString);
+ fStringBuffer2.append(fString);
+ if (fEntityScanner.skipChar('&')) {
+@@ -1685,6 +1697,7 @@
+ }
+ }
+ else {
++ countChar++;
+ int c = fEntityScanner.peekChar();
+ if (XMLChar.isHighSurrogate(c)) {
+ scanSurrogates(fStringBuffer2);
+@@ -1708,9 +1721,17 @@
+ fStringBuffer2.append(fString);
+ literal = fStringBuffer;
+ literal2 = fStringBuffer2;
++ } else {
++ if (isPEDecl) {
++ checkLimit("%" + entityName, literal);
++ }
+ }
+ value.setValues(literal);
+ nonNormalizedValue.setValues(literal2);
++ if (fLimitAnalyzer != null) {
++ fLimitAnalyzer.endEntity(XMLSecurityManager.Limit.PARAMETER_ENTITY_SIZE_LIMIT, entityName);
++ }
++
+ if (!fEntityScanner.skipChar(quote)) {
+ reportFatalError("CloseQuoteMissingInDecl", null);
+ }
+@@ -2126,6 +2147,43 @@
+ //new SymbolTable());
}
++ /**
++ * Add the count of the content buffer and check if the accumulated
++ * value exceeds the limit
++ * @param entityName entity name
++ * @param buffer content buffer
++ */
++ private void checkLimit(String entityName, XMLString buffer) {
++ checkLimit(entityName, buffer.length);
++ }
++
++ /**
++ * Add the count and check limit
++ * @param entityName entity name
++ * @param len length of the buffer
++ */
++ private void checkLimit(String entityName, int len) {
++ if (fLimitAnalyzer == null) {
++ fLimitAnalyzer = fSecurityManager.getLimitAnalyzer();
++ }
++ fLimitAnalyzer.addValue(XMLSecurityManager.Limit.PARAMETER_ENTITY_SIZE_LIMIT, entityName, len);
++ if (fSecurityManager.isOverLimit(XMLSecurityManager.Limit.PARAMETER_ENTITY_SIZE_LIMIT)) {
++ fSecurityManager.debugPrint();
++ reportFatalError("MaxEntitySizeLimit", new Object[]{entityName,
++ fLimitAnalyzer.getValue(XMLSecurityManager.Limit.PARAMETER_ENTITY_SIZE_LIMIT),
++ fSecurityManager.getLimit(XMLSecurityManager.Limit.PARAMETER_ENTITY_SIZE_LIMIT),
++ fSecurityManager.getStateLiteral(XMLSecurityManager.Limit.PARAMETER_ENTITY_SIZE_LIMIT)});
++ }
++ if (fSecurityManager.isOverLimit(XMLSecurityManager.Limit.TOTAL_ENTITY_SIZE_LIMIT)) {
++ fSecurityManager.debugPrint();
++ reportFatalError("TotalEntitySizeLimit",
++ new Object[]{fLimitAnalyzer.getTotalValue(XMLSecurityManager.Limit.TOTAL_ENTITY_SIZE_LIMIT),
++ fSecurityManager.getLimit(XMLSecurityManager.Limit.TOTAL_ENTITY_SIZE_LIMIT),
++ fSecurityManager.getStateLiteral(XMLSecurityManager.Limit.TOTAL_ENTITY_SIZE_LIMIT)});
++ }
++
++ }
++
+ public DTDGrammar getGrammar(){
+ return nvGrammarInfo;
+ }
+--- jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java 2013-09-06 11:22:57.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java 2013-12-01 11:13:41.000000000 -0800
+@@ -50,12 +50,14 @@
+ import com.sun.org.apache.xerces.internal.xni.Augmentations;
+ import com.sun.org.apache.xerces.internal.impl.Constants;
+ import com.sun.org.apache.xerces.internal.impl.XMLEntityHandler;
+-import com.sun.org.apache.xerces.internal.util.SecurityManager;
+ import com.sun.org.apache.xerces.internal.util.NamespaceSupport;
+ import com.sun.org.apache.xerces.internal.utils.SecuritySupport;
++import com.sun.org.apache.xerces.internal.utils.XMLLimitAnalyzer;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager.Limit;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager.State;
+ import com.sun.org.apache.xerces.internal.utils.XMLSecurityPropertyManager;
+ import com.sun.org.apache.xerces.internal.xni.NamespaceContext;
+-import com.sun.xml.internal.stream.Entity;
+ import javax.xml.XMLConstants;
+ import javax.xml.stream.XMLStreamConstants;
+ import javax.xml.stream.events.XMLEvent;
+@@ -165,7 +167,7 @@
+
+ /** Feature identifier: standard uri conformant */
+ protected static final String STANDARD_URI_CONFORMANT =
+- Constants.XERCES_FEATURE_PREFIX +Constants.STANDARD_URI_CONFORMANT_FEATURE;
++ Constants.XERCES_FEATURE_PREFIX + Constants.STANDARD_URI_CONFORMANT_FEATURE;
+
+ /** Property identifier: Security property manager. */
+ private static final String XML_SECURITY_PROPERTY_MANAGER =
+@@ -213,11 +215,8 @@
+ };
+
+ private static final char [] cdata = {'[','C','D','A','T','A','['};
+- private static final char [] endTag = {'<','/'};
+-
+- //this variable is also used by XMLDocumentScannerImpl in the same package
+ static final char [] xmlDecl = {'<','?','x','m','l'};
+-
++ private static final char [] endTag = {'<','/'};
+ // debugging
+
+ /** Debug scanner state. */
+@@ -316,6 +315,7 @@
+ protected String fDeclaredEncoding = null;
+ /** Xerces Feature: Disallow doctype declaration. */
+ protected boolean fDisallowDoctype = false;
++
/**
-@@ -840,7 +839,7 @@
- // backward compatability 4365188
- CodeBase cb;
+ * comma-delimited list of protocols that are allowed for the purpose
+ * of accessing external dtd or entity references
+@@ -384,7 +384,6 @@
-- ValueHandler vh = ORBUtility.createValueHandler(this);
-+ ValueHandler vh = ORBUtility.createValueHandler();
+ protected boolean foundBuiltInRefs = false;
- cb = (CodeBase)vh.getRunTimeCodeBase();
- return ORBUtility.connectAndGetIOR( this, cb ) ;
---- corba/src/share/classes/com/sun/corba/se/impl/orb/ORBSingleton.java 2012-08-10 09:10:31.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/orb/ORBSingleton.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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 @@
- }
+- protected SecurityManager fSecurityManager = null;
- public OutputStream create_output_stream() {
-- return new EncapsOutputStream(this);
-+ return sun.corba.OutputStreamFactory.newEncapsOutputStream(this);
- }
+ //skip element algorithm
+ static final short MAX_DEPTH_LIMIT = 5 ;
+@@ -571,8 +570,11 @@
+ // xerces features
+ fReportCdataEvent = componentManager.getFeature(Constants.STAX_REPORT_CDATA_EVENT, true);
- public TypeCode create_struct_tc(String id,
---- corba/src/share/classes/com/sun/corba/se/impl/orb/ParserTable.java 2012-08-10 09:10:31.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/orb/ParserTable.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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.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.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.
-@@ -640,8 +641,8 @@
- String param = (String)value ;
+- fSecurityManager = (SecurityManager)componentManager.getProperty(Constants.SECURITY_MANAGER, null);
+- fElementAttributeLimit = (fSecurityManager != null)?fSecurityManager.getElementAttrLimit():0;
++ fSecurityManager = (XMLSecurityManager)componentManager.getProperty(Constants.SECURITY_MANAGER, null);
++ fLimitAnalyzer = fSecurityManager.getLimitAnalyzer();
++
++ fElementAttributeLimit = (fSecurityManager != null)?
++ fSecurityManager.getLimit(XMLSecurityManager.Limit.ELEMENT_ATTRIBUTE_LIMIT):0;
+
+ fNotifyBuiltInRefs = componentManager.getFeature(NOTIFY_BUILTIN_REFS, false);
+
+@@ -598,9 +600,6 @@
+ //xxx: external entities are supported in Xerces
+ // it would be good to define feature for this case
+ fSupportExternalEntities = true;
+- fSupportExternalEntities = true;
+- fSupportExternalEntities = true;
+- fSupportExternalEntities = true;
+ fReplaceEntityReferences = true;
+ fIsCoalesce = false;
+
+@@ -667,10 +666,13 @@
+
+ dtdGrammarUtil = null;
+
+- // JAXP 1.5 features and properties
++ // JAXP 1.5 features and properties
+ XMLSecurityPropertyManager spm = (XMLSecurityPropertyManager)
+ propertyManager.getProperty(XML_SECURITY_PROPERTY_MANAGER);
+ fAccessExternalDTD = spm.getValue(XMLSecurityPropertyManager.Property.ACCESS_EXTERNAL_DTD);
++
++ fSecurityManager = (XMLSecurityManager)propertyManager.getProperty(Constants.SECURITY_MANAGER);
++ fLimitAnalyzer = fSecurityManager.getLimitAnalyzer();
+ } // reset(XMLComponentManager)
- 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 +671,8 @@
- String param = (String)value ;
+ /**
+@@ -769,10 +771,10 @@
- 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 +701,8 @@
- String param = (String)value ;
+ //JAXP 1.5 properties
+ if (propertyId.equals(XML_SECURITY_PROPERTY_MANAGER))
+- {
++ {
+ XMLSecurityPropertyManager spm = (XMLSecurityPropertyManager)value;
+ fAccessExternalDTD = spm.getValue(XMLSecurityPropertyManager.Property.ACCESS_EXTERNAL_DTD);
+- }
++ }
- 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 +731,8 @@
- String param = (String)value ;
+ } // setProperty(String,Object)
- 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 +761,8 @@
- String param = (String)value ;
+@@ -1322,7 +1324,8 @@
+ fAddDefaultAttr = true;
+ do {
+ scanAttribute(fAttributes);
+- if (fSecurityManager != null && fAttributes.getLength() > fElementAttributeLimit){
++ if (fSecurityManager != null && !fSecurityManager.isNoLimit(fElementAttributeLimit) &&
++ fAttributes.getLength() > fElementAttributeLimit){
+ fErrorReporter.reportError(XMLMessageFormatter.XML_DOMAIN,
+ "ElementAttributeLimit",
+ new Object[]{rawname, new Integer(fAttributes.getLength()) },
+@@ -2036,6 +2039,13 @@
+
+ } // getDriverName():String
+
++ /**
++ * Check the protocol used in the systemId against allowed protocols
++ *
++ * @param systemId the Id of the URI
++ * @param allowedProtocols a list of allowed protocols separated by comma
++ * @return the name of the protocol if rejected, null otherwise
++ */
+ String checkAccess(String systemId, String allowedProtocols) throws IOException {
+ String baseSystemId = fEntityScanner.getBaseSystemId();
+ String expandedSystemId = fEntityManager.expandSystemId(systemId, baseSystemId,fStrictURI);
+@@ -2833,6 +2843,8 @@
+ if(DEBUG){
+ System.out.println("NOT USING THE BUFFER, STRING = " + fTempString.toString());
+ }
++ //check limit before returning event
++ checkLimit(fContentBuffer);
+ if(dtdGrammarUtil!= null && dtdGrammarUtil.isIgnorableWhiteSpace(fContentBuffer)){
+ if(DEBUG)System.out.println("Return SPACE EVENT");
+ return XMLEvent.SPACE;
+@@ -2931,6 +2943,8 @@
+ fLastSectionWasCharacterData = true ;
+ continue;
+ }else{
++ //check limit before returning event
++ checkLimit(fContentBuffer);
+ if(dtdGrammarUtil!= null && dtdGrammarUtil.isIgnorableWhiteSpace(fContentBuffer)){
+ if(DEBUG)System.out.println("Return SPACE EVENT");
+ return XMLEvent.SPACE;
+@@ -3141,6 +3155,30 @@
+ } //while loop
+ }//next
+
++ /**
++ * Add the count of the content buffer and check if the accumulated
++ * value exceeds the limit
++ * @param buffer content buffer
++ */
++ protected void checkLimit(XMLStringBuffer buffer) {
++ if (fLimitAnalyzer.isTracking(fCurrentEntityName)) {
++ fLimitAnalyzer.addValue(Limit.GENEAL_ENTITY_SIZE_LIMIT, fCurrentEntityName, buffer.length);
++ if (fSecurityManager.isOverLimit(Limit.GENEAL_ENTITY_SIZE_LIMIT)) {
++ fSecurityManager.debugPrint();
++ reportFatalError("MaxEntitySizeLimit", new Object[]{fCurrentEntityName,
++ fLimitAnalyzer.getValue(Limit.GENEAL_ENTITY_SIZE_LIMIT),
++ fSecurityManager.getLimit(Limit.GENEAL_ENTITY_SIZE_LIMIT),
++ fSecurityManager.getStateLiteral(Limit.GENEAL_ENTITY_SIZE_LIMIT)});
++ }
++ if (fSecurityManager.isOverLimit(Limit.TOTAL_ENTITY_SIZE_LIMIT)) {
++ fSecurityManager.debugPrint();
++ reportFatalError("TotalEntitySizeLimit",
++ new Object[]{fLimitAnalyzer.getTotalValue(Limit.TOTAL_ENTITY_SIZE_LIMIT),
++ fSecurityManager.getLimit(Limit.TOTAL_ENTITY_SIZE_LIMIT),
++ fSecurityManager.getStateLiteral(Limit.TOTAL_ENTITY_SIZE_LIMIT)});
++ }
++ }
++ }
+
+ //
+ // Protected methods
+--- jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java 2013-09-06 11:22:57.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java 2013-12-01 11:13:41.000000000 -0800
+@@ -18,19 +18,17 @@
+ * limitations under the License.
+ */
+
+-package com.sun.org.apache.xerces.internal.impl ;
++package com.sun.org.apache.xerces.internal.impl;
+
+-import com.sun.org.apache.xerces.internal.impl.Constants;
+ import com.sun.org.apache.xerces.internal.impl.io.ASCIIReader;
+ import com.sun.org.apache.xerces.internal.impl.io.UCSReader;
+ import com.sun.org.apache.xerces.internal.impl.io.UTF8Reader;
+ import com.sun.org.apache.xerces.internal.impl.msg.XMLMessageFormatter;
+-import com.sun.org.apache.xerces.internal.impl.XMLEntityHandler;
+ import com.sun.org.apache.xerces.internal.impl.validation.ValidationManager;
+ import com.sun.org.apache.xerces.internal.util.*;
+-import com.sun.org.apache.xerces.internal.util.SecurityManager;
+-import com.sun.org.apache.xerces.internal.util.URI;
+ import com.sun.org.apache.xerces.internal.utils.SecuritySupport;
++import com.sun.org.apache.xerces.internal.utils.XMLLimitAnalyzer;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager;
+ import com.sun.org.apache.xerces.internal.utils.XMLSecurityPropertyManager;
+ import com.sun.org.apache.xerces.internal.xni.Augmentations;
+ import com.sun.org.apache.xerces.internal.xni.XMLResourceIdentifier;
+@@ -174,7 +172,6 @@
+ /** access external dtd: file protocol */
+ static final String EXTERNAL_ACCESS_DEFAULT = Constants.EXTERNAL_ACCESS_DEFAULT;
- 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.
---- corba/src/share/classes/com/sun/corba/se/impl/orbutil/IIOPInputStream_1_3.java 2012-08-10 09:10:32.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/orbutil/IIOPInputStream_1_3.java 1969-12-31 16:00:00.000000000 -0800
-@@ -1,57 +0,0 @@
--/*
-- * Copyright (c) 2000, 2002, Oracle and/or its affiliates. All rights reserved.
-- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
-- * This code is free software; you can redistribute it and/or modify it
-- * under the terms of the GNU General Public License version 2 only, as
-- * published by the Free Software Foundation. Oracle designates this
-- * particular file as subject to the "Classpath" exception as provided
-- * by Oracle in the LICENSE file that accompanied this code.
-- *
-- * This code is distributed in the hope that it will be useful, but WITHOUT
-- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-- * version 2 for more details (a copy is included in the LICENSE file that
-- * accompanied this code).
-- *
-- * You should have received a copy of the GNU General Public License version
-- * 2 along with this work; if not, write to the Free Software Foundation,
-- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-- *
-- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-- * or visit www.oracle.com if you need additional information or have any
-- * questions.
-- */
--package com.sun.corba.se.impl.orbutil;
--
--import java.io.*;
--import java.util.Hashtable;
--
--/**
-- * Implements legacy behavior from before Ladybird to maintain
-- * backwards compatibility.
-- */
--public class IIOPInputStream_1_3 extends com.sun.corba.se.impl.io.IIOPInputStream
--{
-- // The newer version in the io package correctly reads a wstring instead.
-- // This concerns bug 4379597.
-- protected String internalReadUTF(org.omg.CORBA.portable.InputStream stream)
-- {
-- return stream.read_string();
-- }
-
-- /**
-- * Before JDK 1.3.1_01, the PutField/GetField implementation
-- * actually sent a Hashtable.
-- */
-- public ObjectInputStream.GetField readFields()
-- throws IOException, ClassNotFoundException, NotActiveException {
-- Hashtable fields = (Hashtable)readObject();
-- return new LegacyHookGetFields(fields);
+ // recognized features and properties
+
+ /** Recognized features. */
+@@ -307,6 +304,7 @@
+
+ /** used to restrict external access */
+ protected String fAccessExternalDTD = EXTERNAL_ACCESS_DEFAULT;
++
+ // settings
+
+ /**
+@@ -324,9 +322,12 @@
+ */
+ protected int fBufferSize = DEFAULT_BUFFER_SIZE;
+
+- // stores defaults for entity expansion limit if it has
+- // been set on the configuration.
+- protected SecurityManager fSecurityManager = null;
++ /** Security Manager */
++ protected XMLSecurityManager fSecurityManager = null;
++
++ protected XMLLimitAnalyzer fLimitAnalyzer = null;
++
++ protected int entityExpansionIndex;
+
+ /**
+ * True if the document entity is standalone. This should really
+@@ -352,10 +353,6 @@
+ /** XML 1.1 entity scanner. */
+ protected XMLEntityScanner fXML11EntityScanner;
+
+- /** entity expansion limit (contains useful data if and only if
+- fSecurityManager is non-null) */
+- protected int fEntityExpansionLimit = 0;
+-
+ /** count of entities expanded: */
+ protected int fEntityExpansionCount = 0;
+
+@@ -833,6 +830,9 @@
+ fCurrentEntity.setEncodingExternallySpecified(encodingExternallySpecified);
+ fEntityScanner.setCurrentEntity(fCurrentEntity);
+ fResourceIdentifier.setValues(publicId, literalSystemId, baseSystemId, expandedSystemId);
++ if (fLimitAnalyzer != null) {
++ fLimitAnalyzer.startEntity(name);
++ }
+ return encoding;
+ } //setupCurrentEntity(String, XMLInputSource, boolean, boolean): String
+
+@@ -1294,10 +1294,13 @@
+ //expansions exceeds the entity expansion limit, parser will throw fatal error.
+ // Note that this represents the nesting level of open entities.
+ fEntityExpansionCount++;
+- if( fSecurityManager != null && fEntityExpansionCount > fEntityExpansionLimit ){
+- fErrorReporter.reportError(XMLMessageFormatter.XML_DOMAIN,
+- "EntityExpansionLimitExceeded",
+- new Object[]{new Integer(fEntityExpansionLimit) },
++ if(fLimitAnalyzer != null) {
++ fLimitAnalyzer.addValue(entityExpansionIndex, name, 1);
++ }
++ if( fSecurityManager != null && fSecurityManager.isOverLimit(entityExpansionIndex)){
++ fSecurityManager.debugPrint();
++ fErrorReporter.reportError(XMLMessageFormatter.XML_DOMAIN,"EntityExpansionLimitExceeded",
++ new Object[]{fSecurityManager.getLimitValueByIndex(entityExpansionIndex)},
+ XMLErrorReporter.SEVERITY_FATAL_ERROR );
+ // is there anything better to do than reset the counter?
+ // at least one can envision debugging applications where this might
+@@ -1361,6 +1364,12 @@
+ if(fCurrentEntity != null){
+ //close the reader
+ try{
++ if (fLimitAnalyzer != null) {
++ fLimitAnalyzer.endEntity(XMLSecurityManager.Limit.GENEAL_ENTITY_SIZE_LIMIT, fCurrentEntity.name);
++ if (fCurrentEntity.name.equals("[xml]")) {
++ fSecurityManager.debugPrint();
++ }
++ }
+ fCurrentEntity.close();
+ }catch(IOException ex){
+ throw new XNIException(ex);
+@@ -1426,6 +1435,9 @@
+ XMLSecurityPropertyManager spm = (XMLSecurityPropertyManager) propertyManager.getProperty(XML_SECURITY_PROPERTY_MANAGER);
+ fAccessExternalDTD = spm.getValue(XMLSecurityPropertyManager.Property.ACCESS_EXTERNAL_DTD);
+
++ fSecurityManager = (XMLSecurityManager)propertyManager.getProperty(SECURITY_MANAGER);
++ fLimitAnalyzer = fSecurityManager.getLimitAnalyzer();
++
+ // initialize state
+ //fStandalone = false;
+ fEntities.clear();
+@@ -1485,7 +1497,9 @@
+ fEntityResolver = (XMLEntityResolver)componentManager.getProperty(ENTITY_RESOLVER, null);
+ fStaxEntityResolver = (StaxEntityResolverWrapper)componentManager.getProperty(STAX_ENTITY_RESOLVER, null);
+ fValidationManager = (ValidationManager)componentManager.getProperty(VALIDATION_MANAGER, null);
+- fSecurityManager = (SecurityManager)componentManager.getProperty(SECURITY_MANAGER, null);
++ fSecurityManager = (XMLSecurityManager)componentManager.getProperty(SECURITY_MANAGER, null);
++ fLimitAnalyzer = fSecurityManager.getLimitAnalyzer();
++ entityExpansionIndex = fSecurityManager.getIndex(Constants.JDK_ENTITY_EXPANSION_LIMIT);
+
+ // JAXP 1.5 feature
+ XMLSecurityPropertyManager spm = (XMLSecurityPropertyManager) componentManager.getProperty(XML_SECURITY_PROPERTY_MANAGER, null);
+@@ -1506,7 +1520,6 @@
+ // a class acting as a component manager but not
+ // implementing that interface for whatever reason.
+ public void reset() {
+- fEntityExpansionLimit = (fSecurityManager != null)?fSecurityManager.getEntityExpansionLimit():0;
+
+ // initialize state
+ fStandalone = false;
+@@ -1642,19 +1655,18 @@
+ }
+ if (suffixLength == Constants.SECURITY_MANAGER_PROPERTY.length() &&
+ propertyId.endsWith(Constants.SECURITY_MANAGER_PROPERTY)) {
+- fSecurityManager = (SecurityManager)value;
+- fEntityExpansionLimit = (fSecurityManager != null)?fSecurityManager.getEntityExpansionLimit():0;
++ fSecurityManager = (XMLSecurityManager)value;
++ fLimitAnalyzer = fSecurityManager.getLimitAnalyzer();
+ }
+ }
+
+ //JAXP 1.5 properties
+ if (propertyId.equals(XML_SECURITY_PROPERTY_MANAGER))
+- {
++ {
+ XMLSecurityPropertyManager spm = (XMLSecurityPropertyManager)value;
+ fAccessExternalDTD = spm.getValue(XMLSecurityPropertyManager.Property.ACCESS_EXTERNAL_DTD);
++ }
+ }
- }
-
-- public IIOPInputStream_1_3()
-- throws java.io.IOException {
-- super();
-- }
--}
---- corba/src/share/classes/com/sun/corba/se/impl/orbutil/IIOPInputStream_1_3_1.java 2012-08-10 09:10:32.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/orbutil/IIOPInputStream_1_3_1.java 1969-12-31 16:00:00.000000000 -0800
-@@ -1,54 +0,0 @@
+ /**
+ * Returns a list of property identifiers that are recognized by
+ * this component. This method may return null if no properties
+--- jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLNSDocumentScannerImpl.java 2013-09-06 11:22:57.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLNSDocumentScannerImpl.java 2013-12-01 11:13:41.000000000 -0800
+@@ -58,6 +58,7 @@
+ * @author Neeraj Bajaj, Sun Microsystems
+ * @author Venugopal Rao K, Sun Microsystems
+ * @author Elena Litani, IBM
++ * @version $Id: XMLNSDocumentScannerImpl.java,v 1.11 2010-11-01 04:39:41 joehw Exp $
+ */
+ public class XMLNSDocumentScannerImpl
+ extends XMLDocumentScannerImpl {
+@@ -251,7 +252,8 @@
+
+ do {
+ scanAttribute(fAttributes);
+- if (fSecurityManager != null && fAttributes.getLength() > fElementAttributeLimit){
++ if (fSecurityManager != null && (!fSecurityManager.isNoLimit(fElementAttributeLimit)) &&
++ fAttributes.getLength() > fElementAttributeLimit){
+ fErrorReporter.reportError(XMLMessageFormatter.XML_DOMAIN,
+ "ElementAttributeLimit",
+ new Object[]{rawname, new Integer(fAttributes.getLength()) },
+--- jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLScanner.java 2013-09-06 11:22:57.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLScanner.java 2013-12-01 11:13:41.000000000 -0800
+@@ -32,6 +32,8 @@
+ import com.sun.org.apache.xerces.internal.util.XMLChar;
+ import com.sun.org.apache.xerces.internal.util.XMLResourceIdentifierImpl;
+ import com.sun.org.apache.xerces.internal.util.XMLStringBuffer;
++import com.sun.org.apache.xerces.internal.utils.XMLLimitAnalyzer;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager;
+ import com.sun.org.apache.xerces.internal.xni.Augmentations;
+ import com.sun.org.apache.xerces.internal.xni.XMLAttributes;
+ import com.sun.org.apache.xerces.internal.xni.XMLResourceIdentifier;
+@@ -106,6 +108,9 @@
+ protected static final String ENTITY_MANAGER =
+ Constants.XERCES_PROPERTY_PREFIX + Constants.ENTITY_MANAGER_PROPERTY;
+
++ /** Property identifier: Security manager. */
++ private static final String SECURITY_MANAGER = Constants.SECURITY_MANAGER;
++
+ // debugging
+
+ /** Debug attribute normalization. */
+@@ -159,6 +164,12 @@
+ /** xxx this should be available from EntityManager Entity storage */
+ protected XMLEntityStorage fEntityStore = null ;
+
++ /** Security manager. */
++ protected XMLSecurityManager fSecurityManager = null;
++
++ /** Limit analyzer. */
++ protected XMLLimitAnalyzer fLimitAnalyzer = null;
++
+ // protected data
+
+ /** event type */
+@@ -256,6 +267,7 @@
+ fSymbolTable = (SymbolTable)componentManager.getProperty(SYMBOL_TABLE);
+ fErrorReporter = (XMLErrorReporter)componentManager.getProperty(ERROR_REPORTER);
+ fEntityManager = (XMLEntityManager)componentManager.getProperty(ENTITY_MANAGER);
++ fSecurityManager = (XMLSecurityManager)componentManager.getProperty(SECURITY_MANAGER);
+
+ //this step is extra because we have separated the storage of entity
+ fEntityStore = fEntityManager.getEntityStore() ;
+@@ -293,6 +305,10 @@
+ fEntityManager = (XMLEntityManager)value;
+ }
+ }
++
++ if (propertyId.equals(SECURITY_MANAGER)) {
++ fSecurityManager = (XMLSecurityManager)value;
++ }
+ /*else if(propertyId.equals(Constants.STAX_PROPERTIES)){
+ fStaxProperties = (HashMap)value;
+ //TODO::discuss with neeraj what are his thoughts on passing properties.
+@@ -352,6 +368,8 @@
+ fEntityManager = (XMLEntityManager)propertyManager.getProperty(ENTITY_MANAGER);
+ fEntityStore = fEntityManager.getEntityStore() ;
+ fEntityScanner = (XMLEntityScanner)fEntityManager.getEntityScanner() ;
++ fSecurityManager = (XMLSecurityManager)propertyManager.getProperty(SECURITY_MANAGER);
++
+ //fEntityManager.reset();
+ // DTD preparsing defaults:
+ fValidation = false;
+@@ -499,7 +517,7 @@
+ reportFatalError("SDDeclInvalid", new Object[] {standalone});
+ }
+ } else {
+- reportFatalError("EncodingDeclRequired", null);
++ reportFatalError("SDDeclNameInvalid", null);
+ }
+ break;
+ }
+@@ -510,8 +528,9 @@
+ sawSpace = fEntityScanner.skipSpaces();
+ }
+ // restore original literal value
+- if(currLiteral)
++ if(currLiteral) {
+ currEnt.literal = true;
++ }
+ // REVISIT: should we remove this error reporting?
+ if (scanningTextDecl && state != STATE_DONE) {
+ reportFatalError("MorePseudoAttributes", null);
+@@ -564,7 +583,7 @@
+ XMLString value)
+ throws IOException, XNIException {
+
+- String name = fEntityScanner.scanName();
++ String name = scanPseudoAttributeName();
+ // XMLEntityManager.print(fEntityManager.getCurrentEntity());
+
+ if (name == null) {
+@@ -617,6 +636,35 @@
+ } // scanPseudoAttribute(XMLString):String
+
+ /**
++ * Scans the name of a pseudo attribute. The only legal names
++ * in XML 1.0/1.1 documents are 'version', 'encoding' and 'standalone'.
++ *
++ * @return the name of the pseudo attribute or <code>null</code>
++ * if a legal pseudo attribute name could not be scanned.
++ */
++ private String scanPseudoAttributeName() throws IOException, XNIException {
++ final int ch = fEntityScanner.peekChar();
++ switch (ch) {
++ case 'v':
++ if (fEntityScanner.skipString(fVersionSymbol)) {
++ return fVersionSymbol;
++ }
++ break;
++ case 'e':
++ if (fEntityScanner.skipString(fEncodingSymbol)) {
++ return fEncodingSymbol;
++ }
++ break;
++ case 's':
++ if (fEntityScanner.skipString(fStandaloneSymbol)) {
++ return fStandaloneSymbol;
++ }
++ break;
++ }
++ return null;
++ } // scanPseudoAttributeName()
++
++ /**
+ * Scans a processing instruction.
+ * <p>
+ * <pre>
+--- jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages.properties 2013-09-06 11:22:58.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages.properties 2013-12-01 11:13:41.000000000 -0800
+@@ -44,6 +44,7 @@
+
+ # 2.9 Standalone Document Declaration
+ SDDeclInvalid = The standalone document declaration value must be \"yes\" or \"no\", not \"{0}\".
++ SDDeclNameInvalid = The standalone name in XML declaration may be misspelled.
+ # 2.12 Language Identification
+ XMLLangInvalid = The xml:lang attribute value \"{0}\" is an invalid language identifier.
+ # 3. Logical Structures
+@@ -292,8 +293,10 @@
+ InvalidCharInLiteral=InvalidCharInLiteral
+
+
+-#Application can set the limit of number of entities that should be expanded by the parser.
+-EntityExpansionLimitExceeded=The parser has encountered more than \"{0}\" entity expansions in this document; this is the limit imposed by the application.
++# Implementation limits
++ EntityExpansionLimitExceeded=JAXP00010001: The parser has encountered more than \"{0}\" entity expansions in this document; this is the limit imposed by the JDK.
++ ElementAttributeLimit=JAXP00010002: Element \"{0}\" has more than \"{1}\" attributes, \"{1}\" is the limit imposed by the JDK.
++ MaxEntitySizeLimit=JAXP00010003: The length of entity \"{0}\" is \"{1}\" that exceeds the \"{2}\" limit set by \"{3}\".
++ TotalEntitySizeLimit=JAXP00010004: The accumulated size \"{0}\" of entities exceeded the \"{1}\" limit set by \"{2}\".
++ MaxXMLNameLimit=JAXP00010005: The name \"{0}\" exceeded the \"{1}\" limit set by \"{2}\".
+
+-# Application can set the limit of number of attributes of entity that should be expanded by the parser.
+-ElementAttributeLimit= Element \"{0}\" has more than \"{1}\" attributes, \"{1}\" is the limit imposed by the application.
+--- jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_de.properties 2013-09-06 11:22:59.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_de.properties 2013-12-01 11:13:41.000000000 -0800
+@@ -1,30 +1,27 @@
-/*
-- * Copyright (c) 2001, 2002, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
@@ -1548,39 +3990,450 @@
- */
-
-/*
+- * Copyright (c) 2009 by Oracle Corporation. All Rights Reserved.
- */
--package com.sun.corba.se.impl.orbutil;
--
--import java.io.*;
--import java.util.Hashtable;
--
--/**
-- * Implements legacy behavior from Ladybird to maintain
-- * backwards compatibility.
-- */
--public class IIOPInputStream_1_3_1 extends com.sun.corba.se.impl.io.IIOPInputStream
--{
-- public IIOPInputStream_1_3_1()
-- throws java.io.IOException {
-- super();
-- }
--
-- /**
-- * Before JDK 1.3.1_01, the PutField/GetField implementation
-- * actually sent a Hashtable.
-- */
-- public ObjectInputStream.GetField readFields()
-- throws IOException, ClassNotFoundException, NotActiveException {
--
-- Hashtable fields = (Hashtable)readObject();
-- return new LegacyHookGetFields(fields);
-- }
--}
---- corba/src/share/classes/com/sun/corba/se/impl/orbutil/IIOPOutputStream_1_3.java 2012-08-10 09:10:32.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/orbutil/IIOPOutputStream_1_3.java 1969-12-31 16:00:00.000000000 -0800
-@@ -1,68 +0,0 @@
++#
++# 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,71 @@
+ 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.
++ SDDeclNameInvalid = Der Standalone-Name in der XML-Deklaration ist m\u00F6glicherweise falsch geschrieben.
+ # 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 \"<!--\" beginnen.
+- DashDashInComment = Zeichenfolge \"--\" ist in Kommentaren nicht zul\u00E4ssig.
+- CommentUnterminated = Kommentar muss mit \"-->\" enden.
++ InvalidCommentStart = Kommentar muss mit "<!--" beginnen.
++ DashDashInComment = Zeichenfolge "--" ist in Kommentaren nicht zul\u00E4ssig.
++ CommentUnterminated = 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 \"&#x\" in einer Zeichenreferenz muss umgehend eine hexadezimale Darstellung folgen.
++ DigitRequiredInCharRef = Auf "&#" in einer Zeichenreferenz muss umgehend eine Dezimaldarstellung folgen.
++ HexdigitRequiredInCharRef = Auf "&#x" 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 +141,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 +167,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 \"<!DOCTYPE\" in der Dokumenttypdeklaration erforderlich.
+- MSG_ROOT_ELEMENT_TYPE_REQUIRED = Root-Elementtyp muss nach \"<!DOCTYPE\" in der Dokumenttypdeklaration enthalten sein.
+- DoctypedeclUnterminated = Dokumenttypdeklaration f\u00FCr Root-Elementtyp \"{0}\" muss mit ">" 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 "<!DOCTYPE" in der Dokumenttypdeklaration erforderlich.
++ MSG_ROOT_ELEMENT_TYPE_REQUIRED = Root-Elementtyp muss nach "<!DOCTYPE" in der Dokumenttypdeklaration enthalten sein.
++ DoctypedeclUnterminated = Dokumenttypdeklaration f\u00FCr Root-Elementtyp "{0}" muss mit ">" 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 \"<!ELEMENT\" in der Elementtypdeklaration erforderlich.
++ MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ELEMENTDECL = Leerstelle nach "<!ELEMENT" in der Elementtypdeklaration erforderlich.
+ MSG_ELEMENT_TYPE_REQUIRED_IN_ELEMENTDECL = Elementtyp ist in der Elementtypdeklaration erforderlich.
+- 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.
++ 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 \"<!ATTLIST\" in der Attributlistendeklaration erforderlich.
++ MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ATTLISTDECL = Leerstelle nach "<!ATTLIST" in der Attributlistendeklaration erforderlich.
+ MSG_ELEMENT_TYPE_REQUIRED_IN_ATTLISTDECL = Elementtyp ist in der Attributlistendeklaration erforderlich.
+- MSG_SPACE_REQUIRED_BEFORE_ATTRIBUTE_NAME_IN_ATTDEF = Leerstelle vor dem Attributnamen in der Attributlistendeklaration f\u00FCr Element \"{0}\" erforderlich.
+- AttNameRequiredInAttDef = Attributname muss in der Attributlistendeklaration f\u00FCr Element \"{0}\" angegeben werden.
+- MSG_SPACE_REQUIRED_BEFORE_ATTTYPE_IN_ATTDEF = Leerstelle vor dem Attributtyp in der Deklaration des Attributs \"{1}\" f\u00FCr Element \"{0}\" erforderlich.
+- AttTypeRequiredInAttDef = Attributtyp ist in der Deklaration des Attributs \"{1}\" f\u00FCr Element \"{0}\" erforderlich.
+- MSG_SPACE_REQUIRED_BEFORE_DEFAULTDECL_IN_ATTDEF = Leerstelle vor dem Attributstandard in der Deklaration des Attributs \"{1}\" f\u00FCr Element \"{0}\" erforderlich.
+- MSG_DUPLICATE_ATTRIBUTE_DEFINITION = Mehrere Attributdefinitionen f\u00FCr dasselbe Attribut \"{1}\" eines Elements \"{0}\" angegeben.
++ MSG_SPACE_REQUIRED_BEFORE_ATTRIBUTE_NAME_IN_ATTDEF = Leerstelle vor dem Attributnamen in der Attributlistendeklaration f\u00FCr Element "{0}" erforderlich.
++ AttNameRequiredInAttDef = Attributname muss in der Attributlistendeklaration f\u00FCr Element "{0}" angegeben werden.
++ MSG_SPACE_REQUIRED_BEFORE_ATTTYPE_IN_ATTDEF = Leerstelle vor dem Attributtyp in der Deklaration des Attributs "{1}" f\u00FCr Element "{0}" erforderlich.
++ AttTypeRequiredInAttDef = Attributtyp ist in der Deklaration des Attributs "{1}" f\u00FCr Element "{0}" erforderlich.
++ MSG_SPACE_REQUIRED_BEFORE_DEFAULTDECL_IN_ATTDEF = Leerstelle vor dem Attributstandard in der Deklaration des Attributs "{1}" f\u00FCr Element "{0}" erforderlich.
++ MSG_DUPLICATE_ATTRIBUTE_DEFINITION = Mehrere Attributdefinitionen f\u00FCr dasselbe Attribut "{1}" eines Elements "{0}" angegeben.
+ # 3.3.1 Attribute Types
+- MSG_SPACE_REQUIRED_AFTER_NOTATION_IN_NOTATIONTYPE = Leerstelle nach \"NOTATION\" in der \"{1}\"-Attributdeklaration erforderlich.
+- MSG_OPEN_PAREN_REQUIRED_IN_NOTATIONTYPE = Das Zeichen "(" muss auf \"NOTATION\" in der \"{1}\"-Attributdeklaration folgen.
+- MSG_NAME_REQUIRED_IN_NOTATIONTYPE = Notationsname ist in der Notationstypliste f\u00FCr die \"{1}\"-Attributdeklaration erforderlich.
+- NotationTypeUnterminated = Notationstypliste muss mit ")" in der\"{1}\"-Attributdeklaration enden.
+- MSG_NMTOKEN_REQUIRED_IN_ENUMERATION = Namenstoken ist in der aufgez\u00E4hlten Typliste f\u00FCr die \"{1}\"-Attributdeklaration erforderlich.
+- EnumerationUnterminated = Aufgez\u00E4hlte Typliste muss mit ")" in der\"{1}\"-Attributdeklaration enden.
+- MSG_DISTINCT_TOKENS_IN_ENUMERATION = Enumerationswert \"{1}\" wurde mehrmals in der Deklaration des Attributs \"{2}\" f\u00FCr Element \"{0}\" angegeben. Die NMTOKENS in einer einzelnen "Enumeration"-Attributdeklaration m\u00FCssen alle eindeutig sein.
+- MSG_DISTINCT_NOTATION_IN_ENUMERATION = Enumerationswert \"{1}\" wurde mehrmals in der Deklaration des Attributs \"{2}\" f\u00FCr Element \"{0}\" angegeben. Die NOTATION-Namen in einer einzelnen NotationType-Attributdeklaration m\u00FCssen alle eindeutig sein.
++ MSG_SPACE_REQUIRED_AFTER_NOTATION_IN_NOTATIONTYPE = Leerstelle nach "NOTATION" in der "{1}"-Attributdeklaration erforderlich.
++ MSG_OPEN_PAREN_REQUIRED_IN_NOTATIONTYPE = Das Zeichen "(" muss auf "NOTATION" in der "{1}"-Attributdeklaration folgen.
++ MSG_NAME_REQUIRED_IN_NOTATIONTYPE = Notationsname ist in der Notationstypliste f\u00FCr die "{1}"-Attributdeklaration erforderlich.
++ NotationTypeUnterminated = Notationstypliste muss mit ")" in der"{1}"-Attributdeklaration enden.
++ MSG_NMTOKEN_REQUIRED_IN_ENUMERATION = Namenstoken ist in der aufgez\u00E4hlten Typliste f\u00FCr die "{1}"-Attributdeklaration erforderlich.
++ EnumerationUnterminated = Aufgez\u00E4hlte Typliste muss mit ")" in der"{1}"-Attributdeklaration enden.
++ MSG_DISTINCT_TOKENS_IN_ENUMERATION = Enumerationswert "{1}" wurde mehrmals in der Deklaration des Attributs "{2}" f\u00FCr Element "{0}" angegeben. Die NMTOKENS in einer einzelnen "Enumeration"-Attributdeklaration m\u00FCssen alle eindeutig sein.
++ MSG_DISTINCT_NOTATION_IN_ENUMERATION = Enumerationswert "{1}" wurde mehrmals in der Deklaration des Attributs "{2}" f\u00FCr Element "{0}" angegeben. Die NOTATION-Namen in einer einzelnen NotationType-Attributdeklaration m\u00FCssen alle eindeutig sein.
+ # 3.3.2 Attribute Defaults
+- MSG_SPACE_REQUIRED_AFTER_FIXED_IN_DEFAULTDECL = Leerstelle nach \"FIXED\" in der \"{1}\"-Attributdeklaration erforderlich.
++ MSG_SPACE_REQUIRED_AFTER_FIXED_IN_DEFAULTDECL = Leerstelle nach "FIXED" in der "{1}"-Attributdeklaration erforderlich.
+ # 3.4 Conditional Sections
+- IncludeSectUnterminated = Der eingeschlossene Bedingungsabschnitt muss mit \"]]>\" 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 \"<!ENTITY\" in der Entit\u00E4tsdeklaration erforderlich.
+- MSG_SPACE_REQUIRED_BEFORE_PERCENT_IN_PEDECL = Leerstelle zwischen \"<!ENTITY\" und dem Zeichen "%" in der Parameterentit\u00E4tsdeklaration erforderlich.
++ MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_ENTITYDECL = Leerstelle nach "<!ENTITY" in der Entit\u00E4tsdeklaration erforderlich.
++ MSG_SPACE_REQUIRED_BEFORE_PERCENT_IN_PEDECL = Leerstelle zwischen "<!ENTITY" und dem Zeichen "%" in der Parameterentit\u00E4tsdeklaration erforderlich.
+ MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_PEDECL = Leerstelle zwischen "%" und dem Entit\u00E4tsnamen in der Parameterentit\u00E4tsdeklaration erforderlich.
+ MSG_ENTITY_NAME_REQUIRED_IN_ENTITYDECL = Name der Entit\u00E4t ist in der Entit\u00E4tsdeklaration erforderlich.
+- 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.
++ 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 \"<!NOTATION\" in der Notationsdeklaration erforderlich.
++ MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_NOTATIONDECL = Leerstelle nach "<!NOTATION" in der Notationsdeklaration erforderlich.
+ MSG_NOTATION_NAME_REQUIRED_IN_NOTATIONDECL = Name der Notation ist in der Notationsdeklaration erforderlich.
+- 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.
++ 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 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.
++ 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 wegen der von der Eigenschaft "accessExternalDTD" festgelegten Einschr\u00E4nkung nicht zul\u00E4ssig ist.
++ AccessExternalEntity = Externe Entit\u00E4t: Lesen des externen Dokuments "{0}" nicht erfolgreich, da "{1}"-Zugriff wegen der von der Eigenschaft "accessExternalDTD" festgelegten Einschr\u00E4nkung 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 +303,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
+@@ -320,8 +318,10 @@
+ InvalidCharInLiteral=InvalidCharInLiteral
+
+
+-#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.
++# Implementation limits
++ EntityExpansionLimitExceeded=JAXP00010001: Der Parser hat mehr als {0} Entit\u00E4tserweiterungen in diesem Dokument gefunden. Dies ist der von JDK vorgeschriebene Grenzwert.
++ ElementAttributeLimit=JAXP00010002: Element "{0}" hat mehr als {1} Attribute. "{1}" ist der von JDK vorgeschriebene Grenzwert.
++ MaxEntitySizeLimit=JAXP00010003: Die L\u00E4nge von Entit\u00E4t "{0}" ist "{1}" und \u00FCberschreitet den Grenzwert "{2}", der von "{3}" festgelegt wurde.
++ TotalEntitySizeLimit=JAXP00010004: Die akkumulierte Gr\u00F6\u00DFe "{0}" der Entit\u00E4ten \u00FCberschreitet den Grenzwert "{1}", der von "{2}" festgelegt wurde.
++ MaxXMLNameLimit=JAXP00010005: Der Name "{0}" \u00FCberschreitet den Grenzwert "{1}", der von "{2}" festgelegt wurde.
+
+-# 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.
+--- jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_es.properties 2013-09-06 11:22:59.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_es.properties 2013-12-01 11:13:41.000000000 -0800
+@@ -1,30 +1,27 @@
-/*
-- * Copyright (c) 2000, 2002, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
@@ -1603,55 +4456,453 @@
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
--package com.sun.corba.se.impl.orbutil;
--
--import java.io.*;
-
--/**
-- * Implements legacy behavior from before Ladybird to maintain
-- * backwards compatibility.
+-/*
+- * Copyright (c) 2009 by Oracle Corporation. All Rights Reserved.
- */
--public class IIOPOutputStream_1_3 extends com.sun.corba.se.impl.io.IIOPOutputStream
--{
-- // We can't assume that the superclass's putFields
-- // member will be non-private. We must allow
-- // the RI to run on JDK 1.3.1 FCS as well as
-- // the JDK 1.3.1_01 patch.
-- private ObjectOutputStream.PutField putFields_1_3;
--
-- // The newer version in the io package correctly writes a wstring instead.
-- // This concerns bug 4379597.
-- protected void internalWriteUTF(org.omg.CORBA.portable.OutputStream stream,
-- String data)
-- {
-- stream.write_string(data);
-- }
--
-- public IIOPOutputStream_1_3()
-- throws java.io.IOException {
-- super();
-- }
--
-- /**
-- * Before JDK 1.3.1_01, the PutField/GetField implementation
-- * actually sent a Hashtable.
-- */
-- public ObjectOutputStream.PutField putFields()
-- throws IOException {
-- putFields_1_3 = new LegacyHookPutFields();
-- return putFields_1_3;
-- }
--
-- public void writeFields()
-- throws IOException {
-- putFields_1_3.write(this);
-- }
--}
---- corba/src/share/classes/com/sun/corba/se/impl/orbutil/IIOPOutputStream_1_3_1.java 2012-08-10 09:10:32.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/orbutil/IIOPOutputStream_1_3_1.java 1969-12-31 16:00:00.000000000 -0800
-@@ -1,66 +0,0 @@
++#
++# 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,71 @@
+ 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}".
++ SDDeclNameInvalid = Puede que el nombre aut\u00F3nomo de la declaraci\u00F3n XML est\u00E9 mal escrito.
+ # 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 \"<!--\".
+- DashDashInComment = La cadena \"--\" no est\u00E1 permitida en los comentarios.
+- CommentUnterminated = El comentario debe finalizar en \"-->\".
++ InvalidCommentStart = El comentario debe empezar por "<!--".
++ DashDashInComment = La cadena "--" no est\u00E1 permitida en los comentarios.
++ CommentUnterminated = El comentario debe finalizar en "-->".
+ 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 +141,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 +167,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 \"<!DOCTYPE\" en la declaraci\u00F3n de tipo de documento.
+- MSG_ROOT_ELEMENT_TYPE_REQUIRED = El tipo de elemento ra\u00EDz debe aparecer despu\u00E9s de \"<!DOCTYPE\" en la declaraci\u00F3n de tipo de documento.
+- DoctypedeclUnterminated = La declaraci\u00F3n de tipo de documento para el tipo de elemento ra\u00EDz \"{0}\" debe finalizar en ''>''.
+- 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 "<!DOCTYPE" en la declaraci\u00F3n de tipo de documento.
++ MSG_ROOT_ELEMENT_TYPE_REQUIRED = El tipo de elemento ra\u00EDz debe aparecer despu\u00E9s de "<!DOCTYPE" en la declaraci\u00F3n de tipo de documento.
++ DoctypedeclUnterminated = La declaraci\u00F3n de tipo de documento para el tipo de elemento ra\u00EDz "{0}" debe finalizar en ''>''.
++ 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 \"<!ELEMENT\" en la declaraci\u00F3n de tipo de elemento.
++ MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ELEMENTDECL = Es necesario un espacio en blanco despu\u00E9s de "<!ELEMENT" en la declaraci\u00F3n de tipo de elemento.
+ MSG_ELEMENT_TYPE_REQUIRED_IN_ELEMENTDECL = El tipo de elemento es necesario en la declaraci\u00F3n de tipo de elemento.
+- 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 ''>''.
++ 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 \"<!ATTLIST\" en la declaraci\u00F3n de la lista de atributos.
++ MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ATTLISTDECL = Es necesario un espacio en blanco despu\u00E9s de "<!ATTLIST" en la declaraci\u00F3n de la lista de atributos.
+ MSG_ELEMENT_TYPE_REQUIRED_IN_ATTLISTDECL = El tipo de elemento es necesario en la declaraci\u00F3n de la lista de atributos.
+- MSG_SPACE_REQUIRED_BEFORE_ATTRIBUTE_NAME_IN_ATTDEF = Es necesario un espacio en blanco antes del nombre de atributo en la declaraci\u00F3n de la lista de atributos para el elemento \"{0}\".
+- AttNameRequiredInAttDef = Se debe especificar el nombre del atributo en la declaraci\u00F3n de la lista de atributos para el elemento \"{0}\".
+- MSG_SPACE_REQUIRED_BEFORE_ATTTYPE_IN_ATTDEF = Es necesario un espacio en blanco antes del tipo de atributo en la declaraci\u00F3n del atributo \"{1}\" para el elemento \"{0}\".
+- AttTypeRequiredInAttDef = Es necesario el tipo de atributo en la declaraci\u00F3n del atributo \"{1}\" para el elemento \"{0}\".
+- MSG_SPACE_REQUIRED_BEFORE_DEFAULTDECL_IN_ATTDEF = Es necesario un espacio en blanco antes del atributo por defecto en la declaraci\u00F3n del atributo \"{1}\" para el elemento \"{0}\".
+- MSG_DUPLICATE_ATTRIBUTE_DEFINITION = Se ha proporcionado m\u00E1s de una definici\u00F3n de atributo para el mismo atributo \"{1}\" de un elemento determinado \"{0}\".
++ MSG_SPACE_REQUIRED_BEFORE_ATTRIBUTE_NAME_IN_ATTDEF = Es necesario un espacio en blanco antes del nombre de atributo en la declaraci\u00F3n de la lista de atributos para el elemento "{0}".
++ AttNameRequiredInAttDef = Se debe especificar el nombre del atributo en la declaraci\u00F3n de la lista de atributos para el elemento "{0}".
++ MSG_SPACE_REQUIRED_BEFORE_ATTTYPE_IN_ATTDEF = Es necesario un espacio en blanco antes del tipo de atributo en la declaraci\u00F3n del atributo "{1}" para el elemento "{0}".
++ AttTypeRequiredInAttDef = Es necesario el tipo de atributo en la declaraci\u00F3n del atributo "{1}" para el elemento "{0}".
++ MSG_SPACE_REQUIRED_BEFORE_DEFAULTDECL_IN_ATTDEF = Es necesario un espacio en blanco antes del atributo por defecto en la declaraci\u00F3n del atributo "{1}" para el elemento "{0}".
++ MSG_DUPLICATE_ATTRIBUTE_DEFINITION = Se ha proporcionado m\u00E1s de una definici\u00F3n de atributo para el mismo atributo "{1}" de un elemento determinado "{0}".
+ # 3.3.1 Attribute Types
+- MSG_SPACE_REQUIRED_AFTER_NOTATION_IN_NOTATIONTYPE = Debe aparecer un espacio en blanco despu\u00E9s de \"NOTATION\" en la declaraci\u00F3n de atributo \"{1}\".
+- MSG_OPEN_PAREN_REQUIRED_IN_NOTATIONTYPE = El car\u00E1cter ''('' debe aparecer despu\u00E9s de \"NOTATION\" en la declaraci\u00F3n de atributo \"{1}\".
+- MSG_NAME_REQUIRED_IN_NOTATIONTYPE = El nombre de notaci\u00F3n es necesario en la lista de tipos de notaci\u00F3n para la declaraci\u00F3n de atributo \"{1}\".
+- NotationTypeUnterminated = La lista de tipos de notaciones debe finalizar en '')'' en la declaraci\u00F3n del atributo \"{1}\".
+- MSG_NMTOKEN_REQUIRED_IN_ENUMERATION = El elemento de nombre es necesario en la lista de tipos enumerados para la declaraci\u00F3n del atributo \"{1}\".
+- EnumerationUnterminated = La lista de tipos enumerados debe finalizar en '')'' en la declaraci\u00F3n del atributo \"{1}\".
+- MSG_DISTINCT_TOKENS_IN_ENUMERATION = El valor de enumeraci\u00F3n \"{1}\" se especific\u00F3 m\u00E1s de una vez en la declaraci\u00F3n del atributo \"{2}\" para el elemento \"{0}\". Todos los NMTOKENS en una declaraci\u00F3n del atributo Enumeration \u00FAnico deben ser distintos.
+- MSG_DISTINCT_NOTATION_IN_ENUMERATION = El valor de enumeraci\u00F3n \"{1}\" se especific\u00F3 m\u00E1s de una vez en la declaraci\u00F3n del atributo \"{2}\" para el elemento \"{0}\". Todos los nombres NOTATION en una declaraci\u00F3n del atributo NotationType \u00FAnico deben ser distintos.
++ MSG_SPACE_REQUIRED_AFTER_NOTATION_IN_NOTATIONTYPE = Debe aparecer un espacio en blanco despu\u00E9s de "NOTATION" en la declaraci\u00F3n de atributo "{1}".
++ MSG_OPEN_PAREN_REQUIRED_IN_NOTATIONTYPE = El car\u00E1cter ''('' debe aparecer despu\u00E9s de "NOTATION" en la declaraci\u00F3n de atributo "{1}".
++ MSG_NAME_REQUIRED_IN_NOTATIONTYPE = El nombre de notaci\u00F3n es necesario en la lista de tipos de notaci\u00F3n para la declaraci\u00F3n de atributo "{1}".
++ NotationTypeUnterminated = La lista de tipos de notaciones debe finalizar en '')'' en la declaraci\u00F3n del atributo "{1}".
++ MSG_NMTOKEN_REQUIRED_IN_ENUMERATION = El token de nombre es necesario en la lista de tipos enumerados para la declaraci\u00F3n del atributo "{1}".
++ EnumerationUnterminated = La lista de tipos enumerados debe finalizar en '')'' en la declaraci\u00F3n del atributo "{1}".
++ MSG_DISTINCT_TOKENS_IN_ENUMERATION = El valor de enumeraci\u00F3n "{1}" se especific\u00F3 m\u00E1s de una vez en la declaraci\u00F3n del atributo "{2}" para el token "{0}". Todos los NMTOKENS en una declaraci\u00F3n del atributo Enumeration \u00FAnico deben ser distintos.
++ MSG_DISTINCT_NOTATION_IN_ENUMERATION = El valor de enumeraci\u00F3n "{1}" se especific\u00F3 m\u00E1s de una vez en la declaraci\u00F3n del atributo "{2}" para el elemento "{0}". Todos los nombres NOTATION en una declaraci\u00F3n del atributo NotationType \u00FAnico deben ser distintos.
+ # 3.3.2 Attribute Defaults
+- MSG_SPACE_REQUIRED_AFTER_FIXED_IN_DEFAULTDECL = Debe aparecer un espacio en blanco despu\u00E9s de \"FIXED\" en la declaraci\u00F3n de atributo \"{1}\".
++ MSG_SPACE_REQUIRED_AFTER_FIXED_IN_DEFAULTDECL = Debe aparecer un espacio en blanco despu\u00E9s de "FIXED" en la declaraci\u00F3n de atributo "{1}".
+ # 3.4 Conditional Sections
+- IncludeSectUnterminated = La secci\u00F3n condicional incluida debe finalizar en \"]]>\".
+- 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 \"<!ENTITY\" en la declaraci\u00F3n de entidad.
+- MSG_SPACE_REQUIRED_BEFORE_PERCENT_IN_PEDECL = Es necesario un espacio en blanco entre \"<!ENTITY\" y el car\u00E1cter '%' en la declaraci\u00F3n de entidad de par\u00E1metro.
++ MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_ENTITYDECL = Es necesario un espacio en blanco despu\u00E9s de "<!ENTITY" en la declaraci\u00F3n de entidad.
++ MSG_SPACE_REQUIRED_BEFORE_PERCENT_IN_PEDECL = Es necesario un espacio en blanco entre "<!ENTITY" y el car\u00E1cter '%' en la declaraci\u00F3n de entidad de par\u00E1metro.
+ MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_PEDECL = Es necesario un espacio en blanco entre '%' y el nombre de entidad en la declaraci\u00F3n de entidad de par\u00E1metro.
+ MSG_ENTITY_NAME_REQUIRED_IN_ENTITYDECL = El nombre de la entidad es necesario en la declaraci\u00F3n de entidad.
+- 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.
++ 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 \"<!NOTATION\" en la declaraci\u00F3n de notaci\u00F3n.
++ MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_NOTATIONDECL = Es necesario un espacio en blanco despu\u00E9s de "<!NOTATION" en la declaraci\u00F3n de notaci\u00F3n.
+ MSG_NOTATION_NAME_REQUIRED_IN_NOTATIONDECL = El nombre de la notaci\u00F3n es necesario en la declaraci\u00F3n de notaci\u00F3n.
+- 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 ''>''.
++ 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 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.
++ 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 debido a una restricci\u00F3n que ha definido la propiedad accessExternalDTD.
++ AccessExternalEntity = Entidad externa: fallo al leer el documento externo ''{0}'' porque el acceso a ''{1}'' no est\u00E1 permitido debido a una restricci\u00F3n que ha definido la propiedad accessExternalDTD.
+
+ # 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
+@@ -320,8 +318,10 @@
+ InvalidCharInLiteral=InvalidCharInLiteral
+
+
+-#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.
++# Implementation limits
++ EntityExpansionLimitExceeded=JAXP00010001: el analizador ha encontrado m\u00E1s de "{0}"ampliaciones de entidad en este documento; \u00E9ste es el l\u00EDmite impuesto por el JDK.
++ ElementAttributeLimit=JAXP00010002: el elemento "{0}" tiene m\u00E1s de "{1}" atributos, "{1}" es el l\u00EDmite impuesto por el JDK.
++ MaxEntitySizeLimit=JAXP00010003: la longitud de la entidad "{0}" es "{1}", que excede el l\u00EDmite de "{2}" que ha definido "{3}".
++ TotalEntitySizeLimit=JAXP00010004: el tama\u00F1o acumulado "{0}" de las entidades ha excedido el l\u00EDmite de "{1}" que ha definido "{2}".
++ MaxXMLNameLimit=JAXP00010005: el nombre "{0}" ha excedido el l\u00EDmite de "{1}" que ha definido "{2}".
+
+-# 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.
+--- jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_fr.properties 2013-09-06 11:22:59.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_fr.properties 2013-12-01 11:13:41.000000000 -0800
+@@ -1,30 +1,27 @@
-/*
-- * Copyright (c) 2001, 2002, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
@@ -1676,51 +4927,452 @@
- */
-
-/*
+- * Copyright (c) 2009 by Oracle Corporation. All Rights Reserved.
- */
--package com.sun.corba.se.impl.orbutil;
--
--import java.io.*;
--import java.util.Hashtable;
--
--/**
-- * Implements legacy behavior from Ladybird to maintain
-- * backwards compatibility.
-- */
--public class IIOPOutputStream_1_3_1 extends com.sun.corba.se.impl.io.IIOPOutputStream
--{
-- // We can't assume that the superclass's putFields
-- // member will be non-private. We must allow
-- // the RI to run on JDK 1.3.1 FCS as well as
-- // the JDK 1.3.1_01 patch.
-- private ObjectOutputStream.PutField putFields_1_3_1;
--
-- public IIOPOutputStream_1_3_1()
-- throws java.io.IOException {
-- super();
-- }
--
-- /**
-- * Before JDK 1.3.1_01, the PutField/GetField implementation
-- * actually sent a Hashtable.
-- */
-- public ObjectOutputStream.PutField putFields()
-- throws IOException {
--
-- putFields_1_3_1 = new LegacyHookPutFields();
-- return putFields_1_3_1;
-- }
--
-- public void writeFields()
-- throws IOException {
--
-- putFields_1_3_1.write(this);
-- }
--}
---- corba/src/share/classes/com/sun/corba/se/impl/orbutil/ORBClassLoader.java 2012-08-10 09:10:33.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/orbutil/ORBClassLoader.java 1969-12-31 16:00:00.000000000 -0800
-@@ -1,47 +0,0 @@
++#
++# 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,71 @@
+ 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}".
++ SDDeclNameInvalid = Le nom de document autonome contenu dans la d\u00E9claration XML est peut-\u00EAtre mal orthographi\u00E9.
+ # 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 \"<!--\".
+- DashDashInComment = La cha\u00EEne \"--\" n'est pas autoris\u00E9e dans les commentaires.
+- CommentUnterminated = Le commentaire doit se terminer par \"-->\".
++ InvalidCommentStart = Le commentaire doit commencer par "<!--".
++ DashDashInComment = La cha\u00EEne "--" n'est pas autoris\u00E9e dans les commentaires.
++ CommentUnterminated = Le commentaire doit se terminer 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 \"&#x\" 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 "&#x" 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 +141,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 +167,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 \"<!DOCTYPE\" dans la d\u00E9claration de type de document.
+- MSG_ROOT_ELEMENT_TYPE_REQUIRED = Le type d'\u00E9l\u00E9ment racine doit figurer apr\u00E8s \"<!DOCTYPE\" dans la d\u00E9claration de type de document.
+- DoctypedeclUnterminated = La d\u00E9claration de type de document pour le type d''\u00E9l\u00E9ment racine \"{0}\" doit se terminer par ''>''.
+- 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 "<!DOCTYPE" dans la d\u00E9claration de type de document.
++ MSG_ROOT_ELEMENT_TYPE_REQUIRED = Le type d'\u00E9l\u00E9ment racine doit figurer apr\u00E8s "<!DOCTYPE" dans la d\u00E9claration de type de document.
++ DoctypedeclUnterminated = La d\u00E9claration de type de document pour le type d''\u00E9l\u00E9ment racine "{0}" doit se terminer par ''>''.
++ 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 \"<!ELEMENT\" dans la d\u00E9claration de type d'\u00E9l\u00E9ment.
++ MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ELEMENTDECL = Un espace est obligatoire apr\u00E8s "<!ELEMENT" dans la d\u00E9claration de type d'\u00E9l\u00E9ment.
+ MSG_ELEMENT_TYPE_REQUIRED_IN_ELEMENTDECL = Le type d'\u00E9l\u00E9ment est obligatoire dans la d\u00E9claration de type d'\u00E9l\u00E9ment.
+- 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 ''>''.
++ 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 \"<!ATTLIST\" dans la d\u00E9claration de liste d'attributs.
++ MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ATTLISTDECL = Un espace est obligatoire apr\u00E8s "<!ATTLIST" dans la d\u00E9claration de liste d'attributs.
+ MSG_ELEMENT_TYPE_REQUIRED_IN_ATTLISTDECL = Le type d'\u00E9l\u00E9ment est obligatoire dans la d\u00E9claration de liste d'attributs.
+- MSG_SPACE_REQUIRED_BEFORE_ATTRIBUTE_NAME_IN_ATTDEF = Un espace est obligatoire avant le nom d''attribut dans la d\u00E9claration de liste d''attributs de l''\u00E9l\u00E9ment \"{0}\".
+- AttNameRequiredInAttDef = Le nom d''attribut doit \u00EAtre sp\u00E9cifi\u00E9 dans la d\u00E9claration de liste d''attributs de l''\u00E9l\u00E9ment \"{0}\".
+- MSG_SPACE_REQUIRED_BEFORE_ATTTYPE_IN_ATTDEF = Un espace est obligatoire avant le type d''attribut dans la d\u00E9claration de l''attribut \"{1}\" de l''\u00E9l\u00E9ment \"{0}\".
+- AttTypeRequiredInAttDef = Le type d''attribut est obligatoire dans la d\u00E9claration de l''attribut \"{1}\" de l''\u00E9l\u00E9ment \"{0}\".
+- MSG_SPACE_REQUIRED_BEFORE_DEFAULTDECL_IN_ATTDEF = Un espace est obligatoire avant la valeur par d\u00E9faut de l''attribut dans la d\u00E9claration de l''attribut \"{1}\" de l''\u00E9l\u00E9ment \"{0}\".
+- MSG_DUPLICATE_ATTRIBUTE_DEFINITION = Plusieurs d\u00E9finitions d''attribut sont fournies pour le m\u00EAme attribut \"{1}\" d''un \u00E9l\u00E9ment donn\u00E9 \"{0}\".
++ MSG_SPACE_REQUIRED_BEFORE_ATTRIBUTE_NAME_IN_ATTDEF = Un espace est obligatoire avant le nom d''attribut dans la d\u00E9claration de liste d''attributs de l''\u00E9l\u00E9ment "{0}".
++ AttNameRequiredInAttDef = Le nom d''attribut doit \u00EAtre sp\u00E9cifi\u00E9 dans la d\u00E9claration de liste d''attributs de l''\u00E9l\u00E9ment "{0}".
++ MSG_SPACE_REQUIRED_BEFORE_ATTTYPE_IN_ATTDEF = Un espace est obligatoire avant le type d''attribut dans la d\u00E9claration de l''attribut "{1}" de l''\u00E9l\u00E9ment "{0}".
++ AttTypeRequiredInAttDef = Le type d''attribut est obligatoire dans la d\u00E9claration de l''attribut "{1}" de l''\u00E9l\u00E9ment "{0}".
++ MSG_SPACE_REQUIRED_BEFORE_DEFAULTDECL_IN_ATTDEF = Un espace est obligatoire avant la valeur par d\u00E9faut de l''attribut dans la d\u00E9claration de l''attribut "{1}" de l''\u00E9l\u00E9ment "{0}".
++ MSG_DUPLICATE_ATTRIBUTE_DEFINITION = Plusieurs d\u00E9finitions d''attribut sont fournies pour le m\u00EAme attribut "{1}" d''un \u00E9l\u00E9ment donn\u00E9 "{0}".
+ # 3.3.1 Attribute Types
+- MSG_SPACE_REQUIRED_AFTER_NOTATION_IN_NOTATIONTYPE = Un espace doit figurer apr\u00E8s \"NOTATION\" dans la d\u00E9claration d''attribut \"{1}\".
+- MSG_OPEN_PAREN_REQUIRED_IN_NOTATIONTYPE = Le caract\u00E8re ''('' doit suivre \"NOTATION\" dans la d\u00E9claration d''attribut \"{1}\".
+- MSG_NAME_REQUIRED_IN_NOTATIONTYPE = Le nom de notation est obligatoire dans la liste des types de notation de la d\u00E9claration d''attribut \"{1}\".
+- NotationTypeUnterminated = La liste des types de notation doit se terminer par '')'' dans la d\u00E9claration d''attribut \"{1}\".
+- MSG_NMTOKEN_REQUIRED_IN_ENUMERATION = Le jeton de nom est obligatoire dans la liste des types \u00E9num\u00E9r\u00E9s pour la d\u00E9claration d''attribut \"{1}\".
+- EnumerationUnterminated = La liste des types \u00E9num\u00E9r\u00E9s doit se terminer par '')'' dans la d\u00E9claration d''attribut \"{1}\".
+- MSG_DISTINCT_TOKENS_IN_ENUMERATION = La valeur d''\u00E9num\u00E9ration \"{1}\" a \u00E9t\u00E9 indiqu\u00E9e plusieurs fois dans la d\u00E9claration de l''attribut \"{2}\" pour l''\u00E9l\u00E9ment \"{0}\". Les valeurs NMTOKENS d''une d\u00E9claration d''attribut Enumeration unique doivent toutes \u00EAtre distinctes.
+- MSG_DISTINCT_NOTATION_IN_ENUMERATION = La valeur d''\u00E9num\u00E9ration \"{1}\" a \u00E9t\u00E9 indiqu\u00E9e plusieurs fois dans la d\u00E9claration de l''attribut \"{2}\" pour l''\u00E9l\u00E9ment \"{0}\". Les noms NOTATION d''une d\u00E9claration d''attribut NotationType unique doivent tous \u00EAtre distincts.
++ MSG_SPACE_REQUIRED_AFTER_NOTATION_IN_NOTATIONTYPE = Un espace doit figurer apr\u00E8s "NOTATION" dans la d\u00E9claration d''attribut "{1}".
++ MSG_OPEN_PAREN_REQUIRED_IN_NOTATIONTYPE = Le caract\u00E8re ''('' doit suivre "NOTATION" dans la d\u00E9claration d''attribut "{1}".
++ MSG_NAME_REQUIRED_IN_NOTATIONTYPE = Le nom de notation est obligatoire dans la liste des types de notation de la d\u00E9claration d''attribut "{1}".
++ NotationTypeUnterminated = La liste des types de notation doit se terminer par '')'' dans la d\u00E9claration d''attribut "{1}".
++ MSG_NMTOKEN_REQUIRED_IN_ENUMERATION = Le jeton de nom est obligatoire dans la liste des types \u00E9num\u00E9r\u00E9s pour la d\u00E9claration d''attribut "{1}".
++ EnumerationUnterminated = La liste des types \u00E9num\u00E9r\u00E9s doit se terminer par '')'' dans la d\u00E9claration d''attribut "{1}".
++ MSG_DISTINCT_TOKENS_IN_ENUMERATION = La valeur d''\u00E9num\u00E9ration "{1}" a \u00E9t\u00E9 indiqu\u00E9e plusieurs fois dans la d\u00E9claration de l''attribut "{2}" pour l''\u00E9l\u00E9ment "{0}". Les valeurs NMTOKENS d''une d\u00E9claration d''attribut Enumeration unique doivent toutes \u00EAtre distinctes.
++ MSG_DISTINCT_NOTATION_IN_ENUMERATION = La valeur d''\u00E9num\u00E9ration "{1}" a \u00E9t\u00E9 indiqu\u00E9e plusieurs fois dans la d\u00E9claration de l''attribut "{2}" pour l''\u00E9l\u00E9ment "{0}". Les noms NOTATION d''une d\u00E9claration d''attribut NotationType unique doivent tous \u00EAtre distincts.
+ # 3.3.2 Attribute Defaults
+- MSG_SPACE_REQUIRED_AFTER_FIXED_IN_DEFAULTDECL = Un espace doit figurer apr\u00E8s \"FIXED\" dans la d\u00E9claration d''attribut \"{1}\".
++ MSG_SPACE_REQUIRED_AFTER_FIXED_IN_DEFAULTDECL = Un espace doit figurer apr\u00E8s "FIXED" dans la d\u00E9claration d''attribut "{1}".
+ # 3.4 Conditional Sections
+- IncludeSectUnterminated = La section conditionnelle incluse doit se terminer par \"]]>\".
+- 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 \"<!ENTITY\" dans la d\u00E9claration d'entit\u00E9.
+- MSG_SPACE_REQUIRED_BEFORE_PERCENT_IN_PEDECL = Un espace est obligatoire entre \"<!ENTITY\" et le caract\u00E8re "%" dans la d\u00E9claration d'entit\u00E9 de param\u00E8tre.
++ MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_ENTITYDECL = Un espace est obligatoire apr\u00E8s "<!ENTITY" dans la d\u00E9claration d'entit\u00E9.
++ MSG_SPACE_REQUIRED_BEFORE_PERCENT_IN_PEDECL = Un espace est obligatoire entre "<!ENTITY" et le caract\u00E8re "%" dans la d\u00E9claration d'entit\u00E9 de param\u00E8tre.
+ MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_PEDECL = Un espace est obligatoire entre "%" et le nom de l'entit\u00E9 dans la d\u00E9claration d'entit\u00E9 de param\u00E8tre.
+ MSG_ENTITY_NAME_REQUIRED_IN_ENTITYDECL = Le nom de l'entit\u00E9 est obligatoire dans la d\u00E9claration d'entit\u00E9.
+- 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.
++ 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 \"<!NOTATION\" dans la d\u00E9claration de notation.
++ MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_NOTATIONDECL = Un espace est obligatoire apr\u00E8s "<!NOTATION" dans la d\u00E9claration de notation.
+ MSG_NOTATION_NAME_REQUIRED_IN_NOTATIONDECL = Le nom de la notation est obligatoire dans la d\u00E9claration de notation.
+- 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 ''>''.
++ 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 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.
++ 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 en raison d''une restriction d\u00E9finie par la propri\u00E9t\u00E9 accessExternalDTD.
++ AccessExternalEntity = Entit\u00E9 externe : \u00E9chec de la lecture du document externe ''{0}'', car l''acc\u00E8s ''{1}'' n''est pas autoris\u00E9 en raison d''une restriction d\u00E9finie par la propri\u00E9t\u00E9 accessExternalDTD.
+
+ # 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
+@@ -320,8 +318,10 @@
+ InvalidCharInLiteral=InvalidCharInLiteral
+
+
+-#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.
++# Implementation limits
++ EntityExpansionLimitExceeded=JAXP00010001 : 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 le JDK.
++ ElementAttributeLimit=JAXP00010002 : L''\u00E9l\u00E9ment "{0}" a plus de "{1}" attributs. "{1}" est la limite impos\u00E9e par le JDK.
++ MaxEntitySizeLimit=JAXP00010003 : La longueur de l''entit\u00E9 "{0}" est de "{1}". Cette valeur d\u00E9passe la limite de "{2}" d\u00E9finie par "{3}".
++ TotalEntitySizeLimit=JAXP00010004 : La taille cumul\u00E9e des entit\u00E9s ("{0}") d\u00E9passe la limite de "{1}" d\u00E9finie par "{2}".
++ MaxXMLNameLimit=JAXP00010005 : le nom "{0}" d\u00E9passe la limite de "{1}" d\u00E9finie par "{2}".
+
+-# 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.
+--- jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_it.properties 2013-09-06 11:22:59.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_it.properties 2013-12-01 11:13:41.000000000 -0800
+@@ -1,30 +1,27 @@
-/*
-- * Copyright (c) 2001, 2002, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
@@ -1743,131 +5395,453 @@
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
--package com.sun.corba.se.impl.orbutil;
-
--/**
-- * Based on feedback from bug report 4452016, all class loading
-- * in the ORB is isolated here. It is acceptable to use
-- * Class.forName only when one is certain that the desired class
-- * should come from the core JDK.
+-/*
+- * Copyright (c) 2009 by Oracle Corporation. All Rights Reserved.
- */
--public class ORBClassLoader
--{
-- public static Class loadClass(String className)
-- throws ClassNotFoundException
-- {
-- return ORBClassLoader.getClassLoader().loadClass(className);
-- }
--
-- public static ClassLoader getClassLoader() {
-- if (Thread.currentThread().getContextClassLoader() != null)
-- return Thread.currentThread().getContextClassLoader();
-- else
-- return ClassLoader.getSystemClassLoader();
-- }
--}
---- corba/src/share/classes/com/sun/corba/se/impl/orbutil/ORBUtility.java 2012-08-10 09:10:33.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/orbutil/ORBUtility.java 2013-06-22 09:39:21.000000000 -0700
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2000, 2009, 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.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.
- */
-@@ -160,45 +162,13 @@
- }
-
- /**
-- * Creates the correct ValueHandler for the given ORB,
-- * querying ORBVersion information. If the ORB or
-- * ORBVersion is null, gets the ValueHandler from
-- * Util.createValueHandler.
-+ * Return default ValueHandler
- */
-- public static ValueHandler createValueHandler(ORB orb) {
--
-- if (orb == null)
-- return Util.createValueHandler();
--
-- ORBVersion version = orb.getORBVersion();
--
-- if (version == null)
-- return Util.createValueHandler();
--
-- if (version.equals(ORBVersionFactory.getOLD()))
-- return new ValueHandlerImpl_1_3();
-- if (version.equals(ORBVersionFactory.getNEW()))
-- return new ValueHandlerImpl_1_3_1();
--
-+ public static ValueHandler createValueHandler() {
- return Util.createValueHandler();
- }
-
- /**
-- * Returns true if the given ORB could accurately be determined to be a
-- * Kestrel or earlier ORB. Note: If passed the ORBSingleton, this will return
-- * false.
-- */
-- public static boolean isLegacyORB(ORB orb)
-- {
-- try {
-- ORBVersion currentORB = orb.getORBVersion();
-- return currentORB.equals( ORBVersionFactory.getOLD() ) ;
-- } catch (SecurityException se) {
-- return false;
-- }
-- }
--
-- /**
- * Returns true if it was accurately determined that the remote ORB is
- * a foreign (non-JavaSoft) ORB. Note: If passed the ORBSingleton, this
- * will return false.
-@@ -294,8 +264,8 @@
- {
- 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;
---- corba/src/share/classes/com/sun/corba/se/impl/orbutil/ObjectStreamClass_1_3_1.java 2012-08-10 09:10:33.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/orbutil/ObjectStreamClass_1_3_1.java 2013-03-09 18:08:34.000000000 -0800
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2001, 2003, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
-@@ -1119,8 +1119,8 @@
- private boolean hasExternalizableBlockData;
- Method writeObjectMethod;
- Method readObjectMethod;
-- private Method writeReplaceObjectMethod;
-- private Method readResolveObjectMethod;
-+ private transient Method writeReplaceObjectMethod;
-+ private transient Method readResolveObjectMethod;
++#
++# 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.
++#
- /*
- * ObjectStreamClass_1_3_1 that this one was built from.
---- corba/src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator_1_3.java 2012-08-10 09:10:33.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator_1_3.java 1969-12-31 16:00:00.000000000 -0800
-@@ -1,177 +0,0 @@
+ # 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,71 @@
+ 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}".
++ SDDeclNameInvalid = Il nome standalone nella dichiarazione XML potrebbe essere stato digitato in modo errato.
+ # 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 \"<!--\".
+- DashDashInComment = La stringa \"--\" non \u00E8 consentita nei commenti.
+- CommentUnterminated = Il commento deve terminare con \"-->\".
++ InvalidCommentStart = Il commento deve iniziare con "<!--".
++ DashDashInComment = La stringa "--" non \u00E8 consentita nei commenti.
++ CommentUnterminated = Il commento deve terminare 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 +141,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 +167,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 \"<!DOCTYPE\" nella dichiarazione del tipo di documento.
+- MSG_ROOT_ELEMENT_TYPE_REQUIRED = Il tipo di elemento radice deve comparire dopo \"<!DOCTYPE\" nella dichiarazione del tipo di documento.
+- DoctypedeclUnterminated = La dichiarazione del tipo di documento per il tipo di elemento radice \"{0}\" deve terminare con ''>''.
+- 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 "<!DOCTYPE" nella dichiarazione del tipo di documento.
++ MSG_ROOT_ELEMENT_TYPE_REQUIRED = Il tipo di elemento radice deve comparire dopo "<!DOCTYPE" nella dichiarazione del tipo di documento.
++ DoctypedeclUnterminated = La dichiarazione del tipo di documento per il tipo di elemento radice "{0}" deve terminare con ''>''.
++ 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 \"<!ELEMENT\" nella dichiarazione del tipo di elemento.
++ MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ELEMENTDECL = \u00C8 richiesto uno spazio dopo "<!ELEMENT" nella dichiarazione del tipo di elemento.
+ MSG_ELEMENT_TYPE_REQUIRED_IN_ELEMENTDECL = Il tipo di elemento \u00E8 obbligatorio nella dichiarazione del tipo di elemento.
+- 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 ''>''.
++ 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 \"<!ATTLIST\" nella dichiarazione della lista di attributi.
++ MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ATTLISTDECL = \u00C8 richiesto uno spazio dopo "<!ATTLIST" nella dichiarazione della lista di attributi.
+ MSG_ELEMENT_TYPE_REQUIRED_IN_ATTLISTDECL = Il tipo di elemento \u00E8 obbligatorio nella dichiarazione della lista di attributi.
+- MSG_SPACE_REQUIRED_BEFORE_ATTRIBUTE_NAME_IN_ATTDEF = \u00C8 richiesto uno spazio prima del nome attributo nella dichiarazione della lista di attributi per l''elemento \"{0}\".
+- AttNameRequiredInAttDef = Specificare il nome attributo nella dichiarazione della lista di attributi per l''elemento \"{0}\".
+- MSG_SPACE_REQUIRED_BEFORE_ATTTYPE_IN_ATTDEF = \u00C8 richiesto uno spazio prima del tipo di attributo nella dichiarazione dell''attributo \"{1}\" per l''elemento \"{0}\".
+- AttTypeRequiredInAttDef = Il tipo di attributo \u00E8 obbligatorio nella dichiarazione dell''attributo \"{1}\" per l''elemento \"{0}\".
+- MSG_SPACE_REQUIRED_BEFORE_DEFAULTDECL_IN_ATTDEF = \u00C8 richiesto uno spazio prima del valore predefinito di attributo nella dichiarazione dell''attributo \"{1}\" per l''elemento \"{0}\".
+- MSG_DUPLICATE_ATTRIBUTE_DEFINITION = Sono state specificate pi\u00F9 definizioni di attributo per lo stesso attributo \"{1}\" dell''elemento \"{0}\" specificato.
++ MSG_SPACE_REQUIRED_BEFORE_ATTRIBUTE_NAME_IN_ATTDEF = \u00C8 richiesto uno spazio prima del nome attributo nella dichiarazione della lista di attributi per l''elemento "{0}".
++ AttNameRequiredInAttDef = Specificare il nome attributo nella dichiarazione della lista di attributi per l''elemento "{0}".
++ MSG_SPACE_REQUIRED_BEFORE_ATTTYPE_IN_ATTDEF = \u00C8 richiesto uno spazio prima del tipo di attributo nella dichiarazione dell''attributo "{1}" per l''elemento "{0}".
++ AttTypeRequiredInAttDef = Il tipo di attributo \u00E8 obbligatorio nella dichiarazione dell''attributo "{1}" per l''elemento "{0}".
++ MSG_SPACE_REQUIRED_BEFORE_DEFAULTDECL_IN_ATTDEF = \u00C8 richiesto uno spazio prima del valore predefinito di attributo nella dichiarazione dell''attributo "{1}" per l''elemento "{0}".
++ MSG_DUPLICATE_ATTRIBUTE_DEFINITION = Sono state specificate pi\u00F9 definizioni di attributo per lo stesso attributo "{1}" dell''elemento "{0}" specificato.
+ # 3.3.1 Attribute Types
+- MSG_SPACE_REQUIRED_AFTER_NOTATION_IN_NOTATIONTYPE = Deve essere presente uno spazio dopo \"NOTATION\" nella dichiarazione di attributo \"{1}\".
+- MSG_OPEN_PAREN_REQUIRED_IN_NOTATIONTYPE = Il carattere ''('' deve seguire \"NOTATION\" nella dichiarazione di attributo \"{1}\".
+- MSG_NAME_REQUIRED_IN_NOTATIONTYPE = Il nome notazione \u00E8 obbligatorio nella lista di tipi di notazione per la dichiarazione di attributo \"{1}\".
+- NotationTypeUnterminated = La lista di tipi di notazione deve terminare con '')'' nella dichiarazione di attributo \"{1}\".
+- MSG_NMTOKEN_REQUIRED_IN_ENUMERATION = Il nome token \u00E8 obbligatorio nella lista di tipi enumerati per la dichiarazione di attributo \"{1}\".
+- EnumerationUnterminated = La lista di tipi enumerati deve terminare con '')'' nella dichiarazione di attributo \"{1}\".
+- MSG_DISTINCT_TOKENS_IN_ENUMERATION = Il valore di enumerazione \"{1}\" \u00E8 stato specificato pi\u00F9 volte nella dichiarazione dell''attributo \"{2}\" per l''elemento \"{0}\". I valori di NMTOKENS in una dichiarazione singola di attributo Enumeration devono essere tutti diversi.
+- MSG_DISTINCT_NOTATION_IN_ENUMERATION = Il valore di enumerazione \"{1}\" \u00E8 stato specificato pi\u00F9 volte nella dichiarazione dell''attributo \"{2}\" per l''elemento \"{0}\". I nomi NOTATION in una dichiarazione singola di attributo NotationType devono essere tutti diversi.
++ MSG_SPACE_REQUIRED_AFTER_NOTATION_IN_NOTATIONTYPE = Deve essere presente uno spazio dopo "NOTATION" nella dichiarazione di attributo "{1}".
++ MSG_OPEN_PAREN_REQUIRED_IN_NOTATIONTYPE = Il carattere ''('' deve seguire "NOTATION" nella dichiarazione di attributo "{1}".
++ MSG_NAME_REQUIRED_IN_NOTATIONTYPE = Il nome notazione \u00E8 obbligatorio nella lista di tipi di notazione per la dichiarazione di attributo "{1}".
++ NotationTypeUnterminated = La lista di tipi di notazione deve terminare con '')'' nella dichiarazione di attributo "{1}".
++ MSG_NMTOKEN_REQUIRED_IN_ENUMERATION = Il nome token \u00E8 obbligatorio nella lista di tipi enumerati per la dichiarazione di attributo "{1}".
++ EnumerationUnterminated = La lista di tipi enumerati deve terminare con '')'' nella dichiarazione di attributo "{1}".
++ MSG_DISTINCT_TOKENS_IN_ENUMERATION = Il valore di enumerazione "{1}" \u00E8 stato specificato pi\u00F9 volte nella dichiarazione dell''attributo "{2}" per l''elemento "{0}". I valori di NMTOKENS in una dichiarazione singola di attributo Enumeration devono essere tutti diversi.
++ MSG_DISTINCT_NOTATION_IN_ENUMERATION = Il valore di enumerazione "{1}" \u00E8 stato specificato pi\u00F9 volte nella dichiarazione dell''attributo "{2}" per l''elemento "{0}". I nomi NOTATION in una dichiarazione singola di attributo NotationType devono essere tutti diversi.
+ # 3.3.2 Attribute Defaults
+- MSG_SPACE_REQUIRED_AFTER_FIXED_IN_DEFAULTDECL = Deve essere presente uno spazio dopo \"FIXED\" nella dichiarazione di attributo \"{1}\".
++ MSG_SPACE_REQUIRED_AFTER_FIXED_IN_DEFAULTDECL = Deve essere presente uno spazio dopo "FIXED" nella dichiarazione di attributo "{1}".
+ # 3.4 Conditional Sections
+- IncludeSectUnterminated = La sezione condizionale inclusa deve terminare con \"]]>\".
+- 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 \"<!ENTITY\" nella dichiarazione dell'entit\u00E0.
+- MSG_SPACE_REQUIRED_BEFORE_PERCENT_IN_PEDECL = \u00C8 richiesto uno spazio tra \"<!ENTITY\" e il carattere '%' nella dichiarazione dell'entit\u00E0 di parametro.
++ MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_ENTITYDECL = \u00C8 richiesto uno spazio dopo "<!ENTITY" nella dichiarazione dell'entit\u00E0.
++ MSG_SPACE_REQUIRED_BEFORE_PERCENT_IN_PEDECL = \u00C8 richiesto uno spazio tra "<!ENTITY" e il carattere '%' nella dichiarazione dell'entit\u00E0 di parametro.
+ MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_PEDECL = \u00C8 richiesto uno spazio tra '%' e il nome entit\u00E0 nella dichiarazione dell'entit\u00E0 di parametro.
+ MSG_ENTITY_NAME_REQUIRED_IN_ENTITYDECL = Il nome dell'entit\u00E0 \u00E8 obbligatorio nella dichiarazione di entit\u00E0.
+- 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.
++ 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 \"<!NOTATION\" nella dichiarazione della notazione.
++ MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_NOTATIONDECL = \u00C8 richiesto uno spazio dopo "<!NOTATION" nella dichiarazione della notazione.
+ MSG_NOTATION_NAME_REQUIRED_IN_NOTATIONDECL = Il nome della notazione \u00E8 obbligatorio nella dichiarazione di notazione.
+- 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 ''>''.
++ 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 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.
++ 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 a causa della limitazione definita dalla propriet\u00E0 accessExternalDTD.
++ AccessExternalEntity = Entit\u00E0 esterna: lettura del documento esterno ''{0}'' non riuscita. Accesso ''{1}'' non consentito a causa della limitazione definita dalla propriet\u00E0 accessExternalDTD.
+
+ # 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
+@@ -320,8 +318,10 @@
+ InvalidCharInLiteral=InvalidCharInLiteral
+
+
+-#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.
++# Implementation limits
++ EntityExpansionLimitExceeded=JAXP00010001: il parser ha rilevato pi\u00F9 "{0}" espansioni di entit\u00E0 nel documento. Questo \u00E8 il limite imposto dal kit JDK.
++ ElementAttributeLimit=JAXP00010002: l''elemento "{0}" contiene pi\u00F9 di "{1}" attributi. "{1}" \u00E8 il limite imposto dal kit JDK.
++ MaxEntitySizeLimit=JAXP00010003: la lunghezza dell''entit\u00E0 "{0}" \u00E8 "{1}". Tale valore supera il limite "{2}" definito da "{3}".
++ TotalEntitySizeLimit=JAXP00010004: le dimensioni accumulate "{0}" delle entit\u00E0 supera il limite "{1}" definito da "{2}".
++ MaxXMLNameLimit=JAXP00010005: il nome "{0}" supera il limite "{1}" definito da "{2}".
+
+-# 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.
+--- jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ja.properties 2013-09-06 11:22:59.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ja.properties 2013-12-01 11:13:41.000000000 -0800
+@@ -1,30 +1,26 @@
-/*
-- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
@@ -1891,163 +5865,451 @@
- * questions.
- */
-
--package com.sun.corba.se.impl.orbutil;
--
--import org.omg.CORBA.ORB;
--import java.io.Serializable;
--import java.util.Hashtable;
--import java.net.MalformedURLException;
--import com.sun.corba.se.impl.io.TypeMismatchException;
--import com.sun.corba.se.impl.util.RepositoryId;
--
--/**
-- * Delegates to the RepositoryId_1_3 implementation in
-- * com.sun.corba.se.impl.orbutil. This is necessary to
-- * overcome the fact that many of RepositoryId's methods
-- * are static.
+-/*
+- * Copyright (c) 2009 by Oracle Corporation. All Rights Reserved.
- */
--public final class RepIdDelegator_1_3
-- implements RepositoryIdStrings,
-- RepositoryIdUtility,
-- RepositoryIdInterface
--{
-- // RepositoryIdFactory methods
--
-- public String createForAnyType(Class type) {
-- return RepositoryId_1_3.createForAnyType(type);
-- }
--
-- public String createForJavaType(Serializable ser)
-- throws TypeMismatchException
-- {
-- return RepositoryId_1_3.createForJavaType(ser);
-- }
--
-- public String createForJavaType(Class clz)
-- throws TypeMismatchException
-- {
-- return RepositoryId_1_3.createForJavaType(clz);
-- }
--
-- public String createSequenceRepID(java.lang.Object ser) {
-- return RepositoryId_1_3.createSequenceRepID(ser);
-- }
--
-- public String createSequenceRepID(Class clazz) {
-- return RepositoryId_1_3.createSequenceRepID(clazz);
-- }
--
-- public RepositoryIdInterface getFromString(String repIdString) {
-- return new RepIdDelegator_1_3(RepositoryId_1_3.cache.getId(repIdString));
-- }
--
-- // RepositoryIdUtility methods
--
-- public boolean isChunkedEncoding(int valueTag) {
-- return RepositoryId.isChunkedEncoding(valueTag);
-- }
--
-- public boolean isCodeBasePresent(int valueTag) {
-- return RepositoryId.isCodeBasePresent(valueTag);
-- }
--
-- public String getClassDescValueRepId() {
-- return RepositoryId_1_3.kClassDescValueRepID;
-- }
--
-- public String getWStringValueRepId() {
-- return RepositoryId_1_3.kWStringValueRepID;
-- }
--
-- public int getTypeInfo(int valueTag) {
-- return RepositoryId.getTypeInfo(valueTag);
-- }
--
-- public int getStandardRMIChunkedNoRepStrId() {
-- return RepositoryId.kPreComputed_StandardRMIChunked_NoRep;
-- }
--
-- public int getCodeBaseRMIChunkedNoRepStrId() {
-- return RepositoryId.kPreComputed_CodeBaseRMIChunked_NoRep;
-- }
--
-- public int getStandardRMIChunkedId() {
-- return RepositoryId.kPreComputed_StandardRMIChunked;
-- }
--
-- public int getCodeBaseRMIChunkedId() {
-- return RepositoryId.kPreComputed_CodeBaseRMIChunked;
-- }
--
-- public int getStandardRMIUnchunkedId() {
-- return RepositoryId.kPreComputed_StandardRMIUnchunked;
-- }
--
-- public int getCodeBaseRMIUnchunkedId() {
-- return RepositoryId.kPreComputed_CodeBaseRMIUnchunked;
-- }
--
-- public int getStandardRMIUnchunkedNoRepStrId() {
-- return RepositoryId.kPreComputed_StandardRMIUnchunked_NoRep;
-- }
--
-- public int getCodeBaseRMIUnchunkedNoRepStrId() {
-- return RepositoryId.kPreComputed_CodeBaseRMIUnchunked_NoRep;
-- }
--
-- // RepositoryIdInterface methods
--
-- public Class getClassFromType() throws ClassNotFoundException {
-- return delegate.getClassFromType();
-- }
--
-- public Class getClassFromType(String codebaseURL)
-- throws ClassNotFoundException, MalformedURLException
-- {
-- return delegate.getClassFromType(codebaseURL);
-- }
--
-- public Class getClassFromType(Class expectedType,
-- String codebaseURL)
-- throws ClassNotFoundException, MalformedURLException
-- {
-- return delegate.getClassFromType(expectedType, codebaseURL);
-- }
--
-- public String getClassName() {
-- return delegate.getClassName();
-- }
--
-- // Constructor used for factory/utility cases
-- public RepIdDelegator_1_3() {}
--
-- // Constructor used by getIdFromString. All non-static
-- // RepositoryId methods will use the provided delegate.
-- private RepIdDelegator_1_3(RepositoryId_1_3 _delegate) {
-- this.delegate = _delegate;
-- }
--
-- private RepositoryId_1_3 delegate = null;
--
-- public String toString() {
-- if (delegate != null)
-- return delegate.toString();
-- else
-- return this.getClass().getName();
-- }
--
-- public boolean equals(Object obj) {
-- if (delegate != null)
-- return delegate.equals(obj);
-- else
-- return super.equals(obj);
-- }
--}
---- corba/src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator_1_3_1.java 2012-08-10 09:10:34.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator_1_3_1.java 1969-12-31 16:00:00.000000000 -0800
-@@ -1,177 +0,0 @@
++#
++# 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 +44,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 +67,71 @@
+ 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
++ SDDeclNameInvalid = XML\u5BA3\u8A00\u306E\u30B9\u30BF\u30F3\u30C9\u30A2\u30ED\u30F3\u540D\u304C\u9593\u9055\u3063\u3066\u3044\u308B\u53EF\u80FD\u6027\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\"<!--\"\u304C\u5FC5\u8981\u3067\u3059\u3002
+- DashDashInComment = \u30B3\u30E1\u30F3\u30C8\u5185\u3067\u306F\u6587\u5B57\u5217\"--\"\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002
+- CommentUnterminated = \u30B3\u30E1\u30F3\u30C8\u306F\"-->\"\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
++ InvalidCommentStart = \u30B3\u30E1\u30F3\u30C8\u306E\u5148\u982D\u306B\u306F"<!--"\u304C\u5FC5\u8981\u3067\u3059\u3002
++ DashDashInComment = \u30B3\u30E1\u30F3\u30C8\u5185\u3067\u306F\u6587\u5B57\u5217"--"\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002
++ CommentUnterminated = \u30B3\u30E1\u30F3\u30C8\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\"&#x\"\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"&#x"\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\"<!DOCTYPE\"\u306E\u5F8C\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
+- MSG_ROOT_ELEMENT_TYPE_REQUIRED = \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u30FB\u30BF\u30A4\u30D7\u5BA3\u8A00\u3067\u306F\u3001\"<!DOCTYPE\"\u306E\u5F8C\u306B\u30EB\u30FC\u30C8\u8981\u7D20\u30BF\u30A4\u30D7\u304C\u5FC5\u8981\u3067\u3059\u3002
+- DoctypedeclUnterminated = \u30EB\u30FC\u30C8\u8981\u7D20\u30BF\u30A4\u30D7\"{0}\"\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u30FB\u30BF\u30A4\u30D7\u5BA3\u8A00\u306F''>''\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"<!DOCTYPE"\u306E\u5F8C\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
++ MSG_ROOT_ELEMENT_TYPE_REQUIRED = \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u30FB\u30BF\u30A4\u30D7\u5BA3\u8A00\u3067\u306F\u3001"<!DOCTYPE"\u306E\u5F8C\u306B\u30EB\u30FC\u30C8\u8981\u7D20\u30BF\u30A4\u30D7\u304C\u5FC5\u8981\u3067\u3059\u3002
++ DoctypedeclUnterminated = \u30EB\u30FC\u30C8\u8981\u7D20\u30BF\u30A4\u30D7"{0}"\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u30FB\u30BF\u30A4\u30D7\u5BA3\u8A00\u306F''>''\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\"<!ELEMENT\"\u306E\u5F8C\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
++ MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ELEMENTDECL = \u8981\u7D20\u30BF\u30A4\u30D7\u5BA3\u8A00\u3067\u306F\u3001"<!ELEMENT"\u306E\u5F8C\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
+ MSG_ELEMENT_TYPE_REQUIRED_IN_ELEMENTDECL = \u8981\u7D20\u30BF\u30A4\u30D7\u5BA3\u8A00\u306B\u306F\u8981\u7D20\u30BF\u30A4\u30D7\u304C\u5FC5\u8981\u3067\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
++ 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\"<!ATTLIST\"\u306E\u5F8C\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
++ MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ATTLISTDECL = \u5C5E\u6027\u30EA\u30B9\u30C8\u5BA3\u8A00\u3067\u306F\u3001"<!ATTLIST"\u306E\u5F8C\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
+ MSG_ELEMENT_TYPE_REQUIRED_IN_ATTLISTDECL = \u5C5E\u6027\u30EA\u30B9\u30C8\u5BA3\u8A00\u306B\u306F\u8981\u7D20\u30BF\u30A4\u30D7\u304C\u5FC5\u8981\u3067\u3059\u3002
+- MSG_SPACE_REQUIRED_BEFORE_ATTRIBUTE_NAME_IN_ATTDEF = \u8981\u7D20\"{0}\"\u306E\u5C5E\u6027\u30EA\u30B9\u30C8\u5BA3\u8A00\u3067\u306F\u3001\u5C5E\u6027\u540D\u306E\u524D\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
+- AttNameRequiredInAttDef = \u8981\u7D20\"{0}\"\u306E\u5C5E\u6027\u30EA\u30B9\u30C8\u5BA3\u8A00\u306B\u306F\u5C5E\u6027\u540D\u3092\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+- MSG_SPACE_REQUIRED_BEFORE_ATTTYPE_IN_ATTDEF = \u8981\u7D20\"{0}\"\u306E\u5C5E\u6027\"{1}\"\u306E\u5BA3\u8A00\u3067\u306F\u3001\u5C5E\u6027\u30BF\u30A4\u30D7\u306E\u524D\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
+- AttTypeRequiredInAttDef = \u8981\u7D20\"{0}\"\u306E\u5C5E\u6027\"{1}\"\u306E\u5BA3\u8A00\u306B\u306F\u5C5E\u6027\u30BF\u30A4\u30D7\u304C\u5FC5\u8981\u3067\u3059\u3002
+- MSG_SPACE_REQUIRED_BEFORE_DEFAULTDECL_IN_ATTDEF = \u8981\u7D20\"{0}\"\u306E\u5C5E\u6027\"{1}\"\u306E\u5BA3\u8A00\u3067\u306F\u3001\u5C5E\u6027\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u524D\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
+- MSG_DUPLICATE_ATTRIBUTE_DEFINITION = \u7279\u5B9A\u306E\u8981\u7D20\"{0}\"\u306E\u540C\u4E00\u5C5E\u6027\"{1}\"\u306B\u8907\u6570\u306E\u5C5E\u6027\u5B9A\u7FA9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002
++ MSG_SPACE_REQUIRED_BEFORE_ATTRIBUTE_NAME_IN_ATTDEF = \u8981\u7D20"{0}"\u306E\u5C5E\u6027\u30EA\u30B9\u30C8\u5BA3\u8A00\u3067\u306F\u3001\u5C5E\u6027\u540D\u306E\u524D\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
++ AttNameRequiredInAttDef = \u8981\u7D20"{0}"\u306E\u5C5E\u6027\u30EA\u30B9\u30C8\u5BA3\u8A00\u306B\u306F\u5C5E\u6027\u540D\u3092\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
++ MSG_SPACE_REQUIRED_BEFORE_ATTTYPE_IN_ATTDEF = \u8981\u7D20"{0}"\u306E\u5C5E\u6027"{1}"\u306E\u5BA3\u8A00\u3067\u306F\u3001\u5C5E\u6027\u30BF\u30A4\u30D7\u306E\u524D\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
++ AttTypeRequiredInAttDef = \u8981\u7D20"{0}"\u306E\u5C5E\u6027"{1}"\u306E\u5BA3\u8A00\u306B\u306F\u5C5E\u6027\u30BF\u30A4\u30D7\u304C\u5FC5\u8981\u3067\u3059\u3002
++ MSG_SPACE_REQUIRED_BEFORE_DEFAULTDECL_IN_ATTDEF = \u8981\u7D20"{0}"\u306E\u5C5E\u6027"{1}"\u306E\u5BA3\u8A00\u3067\u306F\u3001\u5C5E\u6027\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u524D\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
++ MSG_DUPLICATE_ATTRIBUTE_DEFINITION = \u7279\u5B9A\u306E\u8981\u7D20"{0}"\u306E\u540C\u4E00\u5C5E\u6027"{1}"\u306B\u8907\u6570\u306E\u5C5E\u6027\u5B9A\u7FA9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+ # 3.3.1 Attribute Types
+- MSG_SPACE_REQUIRED_AFTER_NOTATION_IN_NOTATIONTYPE = \"{1}\"\u5C5E\u6027\u5BA3\u8A00\u3067\u306F\u3001\"NOTATION\"\u306E\u5F8C\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
+- MSG_OPEN_PAREN_REQUIRED_IN_NOTATIONTYPE = \"{1}\"\u5C5E\u6027\u5BA3\u8A00\u3067\u306F\u3001\"NOTATION\"\u306E\u5F8C\u306B''(''\u6587\u5B57\u304C\u5FC5\u8981\u3067\u3059\u3002
+- MSG_NAME_REQUIRED_IN_NOTATIONTYPE = \"{1}\"\u5C5E\u6027\u5BA3\u8A00\u306E\u8868\u8A18\u6CD5\u30BF\u30A4\u30D7\u30FB\u30EA\u30B9\u30C8\u306B\u306F\u8868\u8A18\u540D\u304C\u5FC5\u8981\u3067\u3059\u3002
+- NotationTypeUnterminated = \"{1}\"\u5C5E\u6027\u5BA3\u8A00\u306E\u8868\u8A18\u6CD5\u30BF\u30A4\u30D7\u30FB\u30EA\u30B9\u30C8\u306F'')''\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+- MSG_NMTOKEN_REQUIRED_IN_ENUMERATION = \"{1}\"\u5C5E\u6027\u5BA3\u8A00\u306E\u5217\u6319\u30BF\u30A4\u30D7\u30FB\u30EA\u30B9\u30C8\u306B\u306F\u540D\u524D\u30C8\u30FC\u30AF\u30F3\u304C\u5FC5\u8981\u3067\u3059\u3002
+- EnumerationUnterminated = \"{1}\"\u5C5E\u6027\u5BA3\u8A00\u306E\u5217\u6319\u30BF\u30A4\u30D7\u30FB\u30EA\u30B9\u30C8\u306F'')''\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+- MSG_DISTINCT_TOKENS_IN_ENUMERATION = \u8981\u7D20\"{0}\"\u306E\u5C5E\u6027\"{2}\"\u306E\u5BA3\u8A00\u3067\u5217\u6319\u5024\"{1}\"\u304C\u8907\u6570\u56DE\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u5358\u4E00\u306EEnumeration\u5C5E\u6027\u5BA3\u8A00\u306B\u304A\u3051\u308BNMTOKENS\u306F\u3059\u3079\u3066\u7570\u306A\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+- MSG_DISTINCT_NOTATION_IN_ENUMERATION = \u8981\u7D20\"{0}\"\u306E\u5C5E\u6027\"{2}\"\u306E\u5BA3\u8A00\u3067\u5217\u6319\u5024\"{1}\"\u304C\u8907\u6570\u56DE\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u5358\u4E00\u306ENotationType\u5C5E\u6027\u5BA3\u8A00\u306B\u304A\u3051\u308BNOTATION\u306E\u540D\u524D\u306F\u3059\u3079\u3066\u7570\u306A\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
++ MSG_SPACE_REQUIRED_AFTER_NOTATION_IN_NOTATIONTYPE = "{1}"\u5C5E\u6027\u5BA3\u8A00\u3067\u306F\u3001"NOTATION"\u306E\u5F8C\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
++ MSG_OPEN_PAREN_REQUIRED_IN_NOTATIONTYPE = "{1}"\u5C5E\u6027\u5BA3\u8A00\u3067\u306F\u3001"NOTATION"\u306E\u5F8C\u306B''(''\u6587\u5B57\u304C\u5FC5\u8981\u3067\u3059\u3002
++ MSG_NAME_REQUIRED_IN_NOTATIONTYPE = "{1}"\u5C5E\u6027\u5BA3\u8A00\u306E\u8868\u8A18\u6CD5\u30BF\u30A4\u30D7\u30FB\u30EA\u30B9\u30C8\u306B\u306F\u8868\u8A18\u540D\u304C\u5FC5\u8981\u3067\u3059\u3002
++ NotationTypeUnterminated = "{1}"\u5C5E\u6027\u5BA3\u8A00\u306E\u8868\u8A18\u6CD5\u30BF\u30A4\u30D7\u30FB\u30EA\u30B9\u30C8\u306F'')''\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
++ MSG_NMTOKEN_REQUIRED_IN_ENUMERATION = "{1}"\u5C5E\u6027\u5BA3\u8A00\u306E\u5217\u6319\u30BF\u30A4\u30D7\u30FB\u30EA\u30B9\u30C8\u306B\u306F\u540D\u524D\u30C8\u30FC\u30AF\u30F3\u304C\u5FC5\u8981\u3067\u3059\u3002
++ EnumerationUnterminated = "{1}"\u5C5E\u6027\u5BA3\u8A00\u306E\u5217\u6319\u30BF\u30A4\u30D7\u30FB\u30EA\u30B9\u30C8\u306F'')''\u3067\u7D42\u4E86\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
++ MSG_DISTINCT_TOKENS_IN_ENUMERATION = \u8981\u7D20"{0}"\u306E\u5C5E\u6027"{2}"\u306E\u5BA3\u8A00\u3067\u5217\u6319\u5024"{1}"\u304C\u8907\u6570\u56DE\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u5358\u4E00\u306EEnumeration\u5C5E\u6027\u5BA3\u8A00\u306B\u304A\u3051\u308BNMTOKENS\u306F\u3059\u3079\u3066\u7570\u306A\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
++ MSG_DISTINCT_NOTATION_IN_ENUMERATION = \u8981\u7D20"{0}"\u306E\u5C5E\u6027"{2}"\u306E\u5BA3\u8A00\u3067\u5217\u6319\u5024"{1}"\u304C\u8907\u6570\u56DE\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u5358\u4E00\u306ENotationType\u5C5E\u6027\u5BA3\u8A00\u306B\u304A\u3051\u308BNOTATION\u306E\u540D\u524D\u306F\u3059\u3079\u3066\u7570\u306A\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+ # 3.3.2 Attribute Defaults
+- MSG_SPACE_REQUIRED_AFTER_FIXED_IN_DEFAULTDECL = \"{1}\"\u5C5E\u6027\u5BA3\u8A00\u3067\u306F\u3001\"FIXED\"\u306E\u5F8C\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
++ MSG_SPACE_REQUIRED_AFTER_FIXED_IN_DEFAULTDECL = "{1}"\u5C5E\u6027\u5BA3\u8A00\u3067\u306F\u3001"FIXED"\u306E\u5F8C\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
+ # 3.4 Conditional Sections
+- 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
++ 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\"<!ENTITY\"\u306E\u5F8C\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
+- MSG_SPACE_REQUIRED_BEFORE_PERCENT_IN_PEDECL = \u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u5BA3\u8A00\u3067\u306F\u3001\"<!ENTITY\"\u3068'%'\u6587\u5B57\u306E\u9593\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
++ MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_ENTITYDECL = \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u5BA3\u8A00\u3067\u306F\u3001"<!ENTITY"\u306E\u5F8C\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
++ MSG_SPACE_REQUIRED_BEFORE_PERCENT_IN_PEDECL = \u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u5BA3\u8A00\u3067\u306F\u3001"<!ENTITY"\u3068'%'\u6587\u5B57\u306E\u9593\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
+ MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_PEDECL = \u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u5BA3\u8A00\u3067\u306F\u3001'%'\u3068\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u540D\u306E\u9593\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
+ MSG_ENTITY_NAME_REQUIRED_IN_ENTITYDECL = \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u5BA3\u8A00\u306B\u306F\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u306E\u540D\u524D\u304C\u5FC5\u8981\u3067\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
++ 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\"<!NOTATION\"\u306E\u5F8C\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
++ MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_NOTATIONDECL = \u8868\u8A18\u6CD5\u5BA3\u8A00\u3067\u306F\u3001"<!NOTATION"\u306E\u5F8C\u306B\u7A7A\u767D\u304C\u5FC5\u8981\u3067\u3059\u3002
+ MSG_NOTATION_NAME_REQUIRED_IN_NOTATIONDECL = \u8868\u8A18\u6CD5\u5BA3\u8A00\u306B\u306F\u8868\u8A18\u306E\u540D\u524D\u304C\u5FC5\u8981\u3067\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
++ 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 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.
++ 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: accessExternalDTD\u30D7\u30ED\u30D1\u30C6\u30A3\u3067\u8A2D\u5B9A\u3055\u308C\u305F\u5236\u9650\u306B\u3088\u308A''{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: accessExternalDTD\u30D7\u30ED\u30D1\u30C6\u30A3\u3067\u8A2D\u5B9A\u3055\u308C\u305F\u5236\u9650\u306B\u3088\u308A''{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
+@@ -320,8 +317,10 @@
+ InvalidCharInLiteral=InvalidCharInLiteral
+
+
+-#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
++# Implementation limits
++ EntityExpansionLimitExceeded=JAXP00010001: \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\u3001JDK\u306B\u3088\u308B\u5236\u9650\u3067\u3059\u3002
++ ElementAttributeLimit=JAXP00010002: \u8981\u7D20"{0}"\u306B"{1}"\u3092\u8D85\u3048\u308B\u5C5E\u6027\u304C\u5B58\u5728\u3057\u307E\u3059\u3002"{1}"\u306F\u3001JDK\u306B\u3088\u308B\u5236\u9650\u3067\u3059\u3002
++ MaxEntitySizeLimit=JAXP00010003: \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3"{0}"\u306E\u9577\u3055\u306F"{1}"\u3067\u3001"{3}"\u3067\u8A2D\u5B9A\u3055\u308C\u305F\u5236\u9650"{2}"\u3092\u8D85\u3048\u3066\u3044\u307E\u3059\u3002
++ TotalEntitySizeLimit=JAXP00010004: \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u306E\u7D2F\u7A4D\u30B5\u30A4\u30BA"{0}"\u306F\u3001"{2}"\u3067\u8A2D\u5B9A\u3055\u308C\u305F\u5236\u9650"{1}"\u3092\u8D85\u3048\u307E\u3057\u305F\u3002
++ MaxXMLNameLimit=JAXP00010005: \u540D\u524D"{0}"\u306F\u3001"{2}"\u3067\u8A2D\u5B9A\u3055\u308C\u305F\u5236\u9650"{1}"\u3092\u8D85\u3048\u3066\u3044\u307E\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
+--- jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ko.properties 2013-09-06 11:22:59.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ko.properties 2013-12-01 11:13:41.000000000 -0800
+@@ -1,30 +1,27 @@
-/*
-- * Copyright (c) 2001, 2004, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
@@ -2071,163 +6333,452 @@
- * questions.
- */
-
--package com.sun.corba.se.impl.orbutil;
--
--import org.omg.CORBA.ORB;
--import java.io.Serializable;
--import java.util.Hashtable;
--import java.net.MalformedURLException;
--import com.sun.corba.se.impl.io.TypeMismatchException;
--import com.sun.corba.se.impl.util.RepositoryId;
--
--/**
-- * Delegates to the RepositoryId_1_3_1 implementation in
-- * com.sun.corba.se.impl.orbutil. This is necessary to
-- * overcome the fact that many of RepositoryId's methods
-- * are static.
+-/*
+- * Copyright (c) 2009 by Oracle Corporation. All Rights Reserved.
- */
--public final class RepIdDelegator_1_3_1
-- implements RepositoryIdStrings,
-- RepositoryIdUtility,
-- RepositoryIdInterface
--{
-- // RepositoryIdFactory methods
--
-- public String createForAnyType(Class type) {
-- return RepositoryId_1_3_1.createForAnyType(type);
-- }
--
-- public String createForJavaType(Serializable ser)
-- throws TypeMismatchException
-- {
-- return RepositoryId_1_3_1.createForJavaType(ser);
-- }
--
-- public String createForJavaType(Class clz)
-- throws TypeMismatchException
-- {
-- return RepositoryId_1_3_1.createForJavaType(clz);
-- }
--
-- public String createSequenceRepID(java.lang.Object ser) {
-- return RepositoryId_1_3_1.createSequenceRepID(ser);
-- }
--
-- public String createSequenceRepID(Class clazz) {
-- return RepositoryId_1_3_1.createSequenceRepID(clazz);
-- }
--
-- public RepositoryIdInterface getFromString(String repIdString) {
-- return new RepIdDelegator_1_3_1(RepositoryId_1_3_1.cache.getId(repIdString));
-- }
--
-- // RepositoryIdUtility methods
--
-- public boolean isChunkedEncoding(int valueTag) {
-- return RepositoryId.isChunkedEncoding(valueTag);
-- }
--
-- public boolean isCodeBasePresent(int valueTag) {
-- return RepositoryId.isCodeBasePresent(valueTag);
-- }
--
-- public String getClassDescValueRepId() {
-- return RepositoryId_1_3_1.kClassDescValueRepID;
-- }
--
-- public String getWStringValueRepId() {
-- return RepositoryId_1_3_1.kWStringValueRepID;
-- }
--
-- public int getTypeInfo(int valueTag) {
-- return RepositoryId.getTypeInfo(valueTag);
-- }
--
-- public int getStandardRMIChunkedNoRepStrId() {
-- return RepositoryId.kPreComputed_StandardRMIChunked_NoRep;
-- }
--
-- public int getCodeBaseRMIChunkedNoRepStrId() {
-- return RepositoryId.kPreComputed_CodeBaseRMIChunked_NoRep;
-- }
--
-- public int getStandardRMIChunkedId() {
-- return RepositoryId.kPreComputed_StandardRMIChunked;
-- }
--
-- public int getCodeBaseRMIChunkedId() {
-- return RepositoryId.kPreComputed_CodeBaseRMIChunked;
-- }
--
-- public int getStandardRMIUnchunkedId() {
-- return RepositoryId.kPreComputed_StandardRMIUnchunked;
-- }
--
-- public int getCodeBaseRMIUnchunkedId() {
-- return RepositoryId.kPreComputed_CodeBaseRMIUnchunked;
-- }
--
-- public int getStandardRMIUnchunkedNoRepStrId() {
-- return RepositoryId.kPreComputed_StandardRMIUnchunked_NoRep;
-- }
--
-- public int getCodeBaseRMIUnchunkedNoRepStrId() {
-- return RepositoryId.kPreComputed_CodeBaseRMIUnchunked_NoRep;
-- }
--
-- // RepositoryIdInterface methods
--
-- public Class getClassFromType() throws ClassNotFoundException {
-- return delegate.getClassFromType();
-- }
--
-- public Class getClassFromType(String codebaseURL)
-- throws ClassNotFoundException, MalformedURLException
-- {
-- return delegate.getClassFromType(codebaseURL);
-- }
--
-- public Class getClassFromType(Class expectedType,
-- String codebaseURL)
-- throws ClassNotFoundException, MalformedURLException
-- {
-- return delegate.getClassFromType(expectedType, codebaseURL);
-- }
--
-- public String getClassName() {
-- return delegate.getClassName();
-- }
--
-- // Constructor used for factory/utility cases
-- public RepIdDelegator_1_3_1() {}
--
-- // Constructor used by getIdFromString. All non-static
-- // RepositoryId methods will use the provided delegate.
-- private RepIdDelegator_1_3_1(RepositoryId_1_3_1 _delegate) {
-- this.delegate = _delegate;
-- }
--
-- private RepositoryId_1_3_1 delegate = null;
--
-- public String toString() {
-- if (delegate != null)
-- return delegate.toString();
-- else
-- return this.getClass().getName();
-- }
--
-- public boolean equals(Object obj) {
-- if (delegate != null)
-- return delegate.equals(obj);
-- else
-- return super.equals(obj);
-- }
--}
---- corba/src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdCache_1_3.java 2012-08-10 09:10:34.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdCache_1_3.java 1969-12-31 16:00:00.000000000 -0800
-@@ -1,108 +0,0 @@
++#
++# 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,71 @@
+ 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.
++ SDDeclNameInvalid = XML \uC120\uC5B8\uC758 \uB3C5\uB9BD\uD615 \uC774\uB984\uC758 \uCCA0\uC790\uAC00 \uC798\uBABB\uB418\uC5C8\uC744 \uC218 \uC788\uC2B5\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 \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4.
+- DashDashInComment = \uC8FC\uC11D\uC5D0\uC11C\uB294 \"--\" \uBB38\uC790\uC5F4\uC774 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
+- CommentUnterminated = \uC8FC\uC11D\uC740 \"-->\"\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
++ InvalidCommentStart = \uC8FC\uC11D\uC740 "<!--"\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4.
++ DashDashInComment = \uC8FC\uC11D\uC5D0\uC11C\uB294 "--" \uBB38\uC790\uC5F4\uC774 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
++ CommentUnterminated = \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 \"&#x\" \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 "&#x" \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 +141,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 +167,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 \"<!DOCTYPE\" \uB2E4\uC74C\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+- MSG_ROOT_ELEMENT_TYPE_REQUIRED = \uBB38\uC11C \uC720\uD615 \uC120\uC5B8\uC5D0\uC11C\uB294 \"<!DOCTYPE\" \uB2E4\uC74C\uC5D0 \uB8E8\uD2B8 \uC694\uC18C \uC720\uD615\uC774 \uB098\uD0C0\uB098\uC57C \uD569\uB2C8\uB2E4.
+- DoctypedeclUnterminated = \uB8E8\uD2B8 \uC694\uC18C \uC720\uD615 \"{0}\"\uC5D0 \uB300\uD55C \uBB38\uC11C \uC720\uD615 \uC120\uC5B8\uC740 ''>''\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 "<!DOCTYPE" \uB2E4\uC74C\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
++ MSG_ROOT_ELEMENT_TYPE_REQUIRED = \uBB38\uC11C \uC720\uD615 \uC120\uC5B8\uC5D0\uC11C\uB294 "<!DOCTYPE" \uB2E4\uC74C\uC5D0 \uB8E8\uD2B8 \uC694\uC18C \uC720\uD615\uC774 \uB098\uD0C0\uB098\uC57C \uD569\uB2C8\uB2E4.
++ DoctypedeclUnterminated = \uB8E8\uD2B8 \uC694\uC18C \uC720\uD615 "{0}"\uC5D0 \uB300\uD55C \uBB38\uC11C \uC720\uD615 \uC120\uC5B8\uC740 ''>''\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 \"<!ELEMENT\" \uB2E4\uC74C\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
++ MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ELEMENTDECL = \uC694\uC18C \uC720\uD615 \uC120\uC5B8\uC5D0\uC11C\uB294 "<!ELEMENT" \uB2E4\uC74C\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+ MSG_ELEMENT_TYPE_REQUIRED_IN_ELEMENTDECL = \uC694\uC18C \uC720\uD615 \uC120\uC5B8\uC5D0\uB294 \uC694\uC18C \uC720\uD615\uC774 \uD544\uC694\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.
++ 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 \"<!ATTLIST\" \uB2E4\uC74C\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
++ MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ATTLISTDECL = attribute-list \uC120\uC5B8\uC5D0\uC11C\uB294 "<!ATTLIST" \uB2E4\uC74C\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+ MSG_ELEMENT_TYPE_REQUIRED_IN_ATTLISTDECL = attribute-list \uC120\uC5B8\uC5D0\uB294 \uC694\uC18C \uC720\uD615\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+- MSG_SPACE_REQUIRED_BEFORE_ATTRIBUTE_NAME_IN_ATTDEF = \"{0}\" \uC694\uC18C\uC5D0 \uB300\uD55C attribute-list \uC120\uC5B8\uC5D0\uC11C\uB294 \uC18D\uC131 \uC774\uB984 \uC55E\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+- AttNameRequiredInAttDef = \"{0}\" \uC694\uC18C\uC5D0 \uB300\uD55C attribute-list \uC120\uC5B8\uC5D0\uB294 \uC18D\uC131 \uC774\uB984\uC774 \uC9C0\uC815\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+- MSG_SPACE_REQUIRED_BEFORE_ATTTYPE_IN_ATTDEF = \"{0}\" \uC694\uC18C\uC5D0 \uB300\uD55C \"{1}\" \uC18D\uC131\uC758 \uC120\uC5B8\uC5D0\uC11C\uB294 \uC18D\uC131 \uC720\uD615 \uC55E\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+- AttTypeRequiredInAttDef = \"{0}\" \uC694\uC18C\uC5D0 \uB300\uD55C \"{1}\" \uC18D\uC131\uC758 \uC120\uC5B8\uC5D0\uB294 \uC18D\uC131 \uC720\uD615\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+- MSG_SPACE_REQUIRED_BEFORE_DEFAULTDECL_IN_ATTDEF = \"{0}\" \uC694\uC18C\uC5D0 \uB300\uD55C \"{1}\" \uC18D\uC131\uC758 \uC120\uC5B8\uC5D0\uC11C\uB294 \uC18D\uC131 \uAE30\uBCF8\uAC12 \uC55E\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+- MSG_DUPLICATE_ATTRIBUTE_DEFINITION = \uC81C\uACF5\uB41C \uC694\uC18C \"{0}\"\uC758 \uB3D9\uC77C\uD55C \uC18D\uC131 \"{1}\"\uC5D0 \uB300\uD574 \uC18D\uC131 \uC815\uC758\uAC00 \uB450 \uAC1C \uC774\uC0C1 \uC81C\uACF5\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
++ MSG_SPACE_REQUIRED_BEFORE_ATTRIBUTE_NAME_IN_ATTDEF = "{0}" \uC694\uC18C\uC5D0 \uB300\uD55C attribute-list \uC120\uC5B8\uC5D0\uC11C\uB294 \uC18D\uC131 \uC774\uB984 \uC55E\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
++ AttNameRequiredInAttDef = "{0}" \uC694\uC18C\uC5D0 \uB300\uD55C attribute-list \uC120\uC5B8\uC5D0\uB294 \uC18D\uC131 \uC774\uB984\uC774 \uC9C0\uC815\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
++ MSG_SPACE_REQUIRED_BEFORE_ATTTYPE_IN_ATTDEF = "{0}" \uC694\uC18C\uC5D0 \uB300\uD55C "{1}" \uC18D\uC131\uC758 \uC120\uC5B8\uC5D0\uC11C\uB294 \uC18D\uC131 \uC720\uD615 \uC55E\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
++ AttTypeRequiredInAttDef = "{0}" \uC694\uC18C\uC5D0 \uB300\uD55C "{1}" \uC18D\uC131\uC758 \uC120\uC5B8\uC5D0\uB294 \uC18D\uC131 \uC720\uD615\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
++ MSG_SPACE_REQUIRED_BEFORE_DEFAULTDECL_IN_ATTDEF = "{0}" \uC694\uC18C\uC5D0 \uB300\uD55C "{1}" \uC18D\uC131\uC758 \uC120\uC5B8\uC5D0\uC11C\uB294 \uC18D\uC131 \uAE30\uBCF8\uAC12 \uC55E\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
++ MSG_DUPLICATE_ATTRIBUTE_DEFINITION = \uC81C\uACF5\uB41C \uC694\uC18C "{0}"\uC758 \uB3D9\uC77C\uD55C \uC18D\uC131 "{1}"\uC5D0 \uB300\uD574 \uC18D\uC131 \uC815\uC758\uAC00 \uB450 \uAC1C \uC774\uC0C1 \uC81C\uACF5\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
+ # 3.3.1 Attribute Types
+- MSG_SPACE_REQUIRED_AFTER_NOTATION_IN_NOTATIONTYPE = \"{1}\" \uC18D\uC131 \uC120\uC5B8\uC5D0\uC11C\uB294 \"NOTATION\" \uB2E4\uC74C\uC5D0 \uACF5\uBC31\uC774 \uB098\uD0C0\uB098\uC57C \uD569\uB2C8\uB2E4.
+- MSG_OPEN_PAREN_REQUIRED_IN_NOTATIONTYPE = \"{1}\" \uC18D\uC131 \uC120\uC5B8\uC5D0\uC11C\uB294 \"NOTATION\" \uB2E4\uC74C\uC5D0 ''('' \uBB38\uC790\uAC00 \uC640\uC57C \uD569\uB2C8\uB2E4.
+- MSG_NAME_REQUIRED_IN_NOTATIONTYPE = \"{1}\" \uC18D\uC131 \uC120\uC5B8\uC5D0 \uB300\uD55C \uD45C\uAE30\uBC95 \uC720\uD615 \uBAA9\uB85D\uC5D0\uB294 \uD45C\uAE30\uBC95 \uC774\uB984\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+- NotationTypeUnterminated = \"{1}\" \uC18D\uC131 \uC120\uC5B8\uC5D0\uC11C \uD45C\uAE30\uBC95 \uC720\uD615 \uBAA9\uB85D\uC740 '')''\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
+- MSG_NMTOKEN_REQUIRED_IN_ENUMERATION = \"{1}\" \uC18D\uC131 \uC120\uC5B8\uC5D0 \uB300\uD55C \uC5F4\uAC70 \uC720\uD615 \uBAA9\uB85D\uC5D0\uB294 \uC774\uB984 \uD1A0\uD070\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+- EnumerationUnterminated = \"{1}\" \uC18D\uC131 \uC120\uC5B8\uC5D0\uC11C \uC5F4\uAC70 \uC720\uD615 \uBAA9\uB85D\uC740 '')''\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
+- MSG_DISTINCT_TOKENS_IN_ENUMERATION = \"{0}\" \uC694\uC18C\uC5D0 \uB300\uD55C \"{2}\" \uC18D\uC131\uC758 \uC120\uC5B8\uC5D0\uC11C \uBAA9\uB85D \uAC12 \"{1}\"\uC774(\uAC00) \uB450 \uBC88 \uC774\uC0C1 \uC9C0\uC815\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uB2E8\uC77C \uBAA9\uB85D \uC18D\uC131 \uC120\uC5B8\uC5D0\uC11C NMTOKENS\uB294 \uBAA8\uB450 \uACE0\uC720\uD574\uC57C \uD569\uB2C8\uB2E4.
+- MSG_DISTINCT_NOTATION_IN_ENUMERATION = \"{0}\" \uC694\uC18C\uC5D0 \uB300\uD55C \"{2}\" \uC18D\uC131\uC758 \uC120\uC5B8\uC5D0\uC11C \uBAA9\uB85D \uAC12 \"{1}\"\uC774(\uAC00) \uB450 \uBC88 \uC774\uC0C1 \uC9C0\uC815\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uB2E8\uC77C NotationType \uC18D\uC131 \uC120\uC5B8\uC5D0\uC11C NOTATION \uC774\uB984\uC740 \uBAA8\uB450 \uACE0\uC720\uD574\uC57C \uD569\uB2C8\uB2E4.
++ MSG_SPACE_REQUIRED_AFTER_NOTATION_IN_NOTATIONTYPE = "{1}" \uC18D\uC131 \uC120\uC5B8\uC5D0\uC11C\uB294 "NOTATION" \uB2E4\uC74C\uC5D0 \uACF5\uBC31\uC774 \uB098\uD0C0\uB098\uC57C \uD569\uB2C8\uB2E4.
++ MSG_OPEN_PAREN_REQUIRED_IN_NOTATIONTYPE = "{1}" \uC18D\uC131 \uC120\uC5B8\uC5D0\uC11C\uB294 "NOTATION" \uB2E4\uC74C\uC5D0 ''('' \uBB38\uC790\uAC00 \uC640\uC57C \uD569\uB2C8\uB2E4.
++ MSG_NAME_REQUIRED_IN_NOTATIONTYPE = "{1}" \uC18D\uC131 \uC120\uC5B8\uC5D0 \uB300\uD55C \uD45C\uAE30\uBC95 \uC720\uD615 \uBAA9\uB85D\uC5D0\uB294 \uD45C\uAE30\uBC95 \uC774\uB984\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
++ NotationTypeUnterminated = "{1}" \uC18D\uC131 \uC120\uC5B8\uC5D0\uC11C \uD45C\uAE30\uBC95 \uC720\uD615 \uBAA9\uB85D\uC740 '')''\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
++ MSG_NMTOKEN_REQUIRED_IN_ENUMERATION = "{1}" \uC18D\uC131 \uC120\uC5B8\uC5D0 \uB300\uD55C \uC5F4\uAC70 \uC720\uD615 \uBAA9\uB85D\uC5D0\uB294 \uC774\uB984 \uD1A0\uD070\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
++ EnumerationUnterminated = "{1}" \uC18D\uC131 \uC120\uC5B8\uC5D0\uC11C \uC5F4\uAC70 \uC720\uD615 \uBAA9\uB85D\uC740 '')''\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4.
++ MSG_DISTINCT_TOKENS_IN_ENUMERATION = "{0}" \uC694\uC18C\uC5D0 \uB300\uD55C "{2}" \uC18D\uC131\uC758 \uC120\uC5B8\uC5D0\uC11C \uBAA9\uB85D \uAC12 "{1}"\uC774(\uAC00) \uB450 \uBC88 \uC774\uC0C1 \uC9C0\uC815\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uB2E8\uC77C \uBAA9\uB85D \uC18D\uC131 \uC120\uC5B8\uC5D0\uC11C NMTOKENS\uB294 \uBAA8\uB450 \uACE0\uC720\uD574\uC57C \uD569\uB2C8\uB2E4.
++ MSG_DISTINCT_NOTATION_IN_ENUMERATION = "{0}" \uC694\uC18C\uC5D0 \uB300\uD55C "{2}" \uC18D\uC131\uC758 \uC120\uC5B8\uC5D0\uC11C \uBAA9\uB85D \uAC12 "{1}"\uC774(\uAC00) \uB450 \uBC88 \uC774\uC0C1 \uC9C0\uC815\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uB2E8\uC77C NotationType \uC18D\uC131 \uC120\uC5B8\uC5D0\uC11C NOTATION \uC774\uB984\uC740 \uBAA8\uB450 \uACE0\uC720\uD574\uC57C \uD569\uB2C8\uB2E4.
+ # 3.3.2 Attribute Defaults
+- MSG_SPACE_REQUIRED_AFTER_FIXED_IN_DEFAULTDECL = \"{1}\" \uC18D\uC131 \uC120\uC5B8\uC5D0\uC11C\uB294 \"FIXED\" \uB2E4\uC74C\uC5D0 \uACF5\uBC31\uC774 \uB098\uD0C0\uB098\uC57C \uD569\uB2C8\uB2E4.
++ MSG_SPACE_REQUIRED_AFTER_FIXED_IN_DEFAULTDECL = "{1}" \uC18D\uC131 \uC120\uC5B8\uC5D0\uC11C\uB294 "FIXED" \uB2E4\uC74C\uC5D0 \uACF5\uBC31\uC774 \uB098\uD0C0\uB098\uC57C \uD569\uB2C8\uB2E4.
+ # 3.4 Conditional Sections
+- 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.
++ 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 \"<!ENTITY\" \uB2E4\uC74C\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+- MSG_SPACE_REQUIRED_BEFORE_PERCENT_IN_PEDECL = \uB9E4\uAC1C\uBCC0\uC218 \uC5D4\uD2F0\uD2F0 \uC120\uC5B8\uC5D0\uC11C\uB294 \"<!ENTITY\"\uC640 '%' \uBB38\uC790 \uC0AC\uC774\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
++ MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_ENTITYDECL = \uC5D4\uD2F0\uD2F0 \uC120\uC5B8\uC5D0\uC11C\uB294 "<!ENTITY" \uB2E4\uC74C\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
++ MSG_SPACE_REQUIRED_BEFORE_PERCENT_IN_PEDECL = \uB9E4\uAC1C\uBCC0\uC218 \uC5D4\uD2F0\uD2F0 \uC120\uC5B8\uC5D0\uC11C\uB294 "<!ENTITY"\uC640 '%' \uBB38\uC790 \uC0AC\uC774\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+ MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_PEDECL = \uB9E4\uAC1C\uBCC0\uC218 \uC5D4\uD2F0\uD2F0 \uC120\uC5B8\uC5D0\uC11C\uB294 '%'\uC640 \uC5D4\uD2F0\uD2F0 \uC774\uB984 \uC0AC\uC774\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+ MSG_ENTITY_NAME_REQUIRED_IN_ENTITYDECL = \uC5D4\uD2F0\uD2F0 \uC120\uC5B8\uC5D0\uB294 \uC5D4\uD2F0\uD2F0 \uC774\uB984\uC774 \uD544\uC694\uD569\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.
++ 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 \"<!NOTATION\" \uB2E4\uC74C\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
++ MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_NOTATIONDECL = \uD45C\uAE30\uBC95 \uC120\uC5B8\uC5D0\uC11C\uB294 "<!NOTATION" \uB2E4\uC74C\uC5D0 \uACF5\uBC31\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
+ MSG_NOTATION_NAME_REQUIRED_IN_NOTATIONDECL = \uD45C\uAE30\uBC95 \uC120\uC5B8\uC5D0\uB294 \uD45C\uAE30\uBC95 \uC774\uB984\uC774 \uD544\uC694\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.
++ 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 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.
++ 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: accessExternalDTD \uC18D\uC131\uC73C\uB85C \uC124\uC815\uB41C \uC81C\uD55C\uC73C\uB85C \uC778\uD574 ''{1}'' \uC561\uC138\uC2A4\uAC00 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC73C\uBBC0\uB85C \uC678\uBD80 DTD ''{0}'' \uC77D\uAE30\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
++ AccessExternalEntity = \uC678\uBD80 \uC5D4\uD2F0\uD2F0: accessExternalDTD \uC18D\uC131\uC73C\uB85C \uC124\uC815\uB41C \uC81C\uD55C\uC73C\uB85C \uC778\uD574 ''{1}'' \uC561\uC138\uC2A4\uAC00 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC73C\uBBC0\uB85C \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
+@@ -320,8 +318,10 @@
+ InvalidCharInLiteral=InvalidCharInLiteral
+
+
+-#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.
++# Implementation limits
++ EntityExpansionLimitExceeded=JAXP00010001: \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 JDK\uC5D0\uC11C \uC801\uC6A9\uD558\uB294 \uC81C\uD55C\uC785\uB2C8\uB2E4.
++ ElementAttributeLimit=JAXP00010002: "{0}" \uC694\uC18C\uC5D0 "{1}"\uAC1C\uB97C \uCD08\uACFC\uD558\uB294 \uC18D\uC131\uC774 \uC788\uC2B5\uB2C8\uB2E4. "{1}"\uC740(\uB294) JDK\uC5D0\uC11C \uC801\uC6A9\uD558\uB294 \uC81C\uD55C\uC785\uB2C8\uB2E4.
++ MaxEntitySizeLimit=JAXP00010003: "{0}" \uC5D4\uD2F0\uD2F0\uC758 \uAE38\uC774\uAC00 "{3}"\uC5D0\uC11C \uC124\uC815\uB41C "{2}" \uC81C\uD55C\uC744 \uCD08\uACFC\uD558\uB294 "{1}"\uC785\uB2C8\uB2E4.
++ TotalEntitySizeLimit=JAXP00010004: \uC5D4\uD2F0\uD2F0\uC758 \uB204\uC801 \uD06C\uAE30 "{0}"\uC774(\uAC00) "{2}"\uC5D0\uC11C \uC124\uC815\uB41C "{1}" \uC81C\uD55C\uC744 \uCD08\uACFC\uD588\uC2B5\uB2C8\uB2E4.
++ MaxXMLNameLimit=JAXP00010005: "{0}" \uC774\uB984\uC774 "{2}"\uC5D0\uC11C \uC124\uC815\uB41C "{1}" \uC81C\uD55C\uC744 \uCD08\uACFC\uD588\uC2B5\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.
+--- jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_pt_BR.properties 2013-09-06 11:22:59.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_pt_BR.properties 2013-12-01 11:13:41.000000000 -0800
+@@ -1,30 +1,27 @@
-/*
-- * Copyright (c) 2000, 2002, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
@@ -2250,95 +6801,460 @@
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
+-
-/*
-- * Licensed Materials - Property of IBM
-- * RMI-IIOP v1.0
-- * Copyright IBM Corp. 1998 1999 All Rights Reserved
-- *
+- * Copyright (c) 2009 by Oracle Corporation. All Rights Reserved.
- */
--
--package com.sun.corba.se.impl.orbutil;
--
--import java.util.Stack;
--import java.util.Hashtable;
--import java.util.EmptyStackException;
--import java.util.Enumeration;
--
--// Really limited pool - in this case just creating several at a time...
--class RepositoryIdPool_1_3 extends Stack {
--
-- private static int MAX_CACHE_SIZE = 4;
-- private RepositoryIdCache_1_3 cache;
--
-- public final synchronized RepositoryId_1_3 popId() {
--
-- try {
-- return (RepositoryId_1_3)super.pop();
-- }
-- catch(EmptyStackException e) {
-- increasePool(5);
-- return (RepositoryId_1_3)super.pop();
-- }
--
-- }
--
-- // Pool management
-- final void increasePool(int size) {
-- //if (cache.size() <= MAX_CACHE_SIZE)
-- for (int i = size; i > 0; i--)
-- push(new RepositoryId_1_3());
-- /*
-- // _REVISIT_ This will not work w/out either thread tracing or weak references. I am
-- // betting that thread tracing almost completely negates benefit of reuse. Until either
-- // 1.2 only inclusion or proof to the contrary, I'll leave it this way...
-- else {
-- int numToReclaim = cache.size() / 2;
-- Enumeration keys = cache.keys();
-- Enumeration elements = cache.elements();
-- for (int i = numToReclaim; i > 0; i--) {
-- Object key = keys.nextElement();
-- Object element = elements.nextElement();
--
-- push(element);
-- cache.remove(key);
-- }
-- }
-- */
-- }
--
-- final void setCaches(RepositoryIdCache_1_3 cache) {
-- this.cache = cache;
-- }
--
--}
--
--public class RepositoryIdCache_1_3 extends Hashtable {
--
-- private RepositoryIdPool_1_3 pool = new RepositoryIdPool_1_3();
--
-- public RepositoryIdCache_1_3() {
-- pool.setCaches(this);
-- }
--
-- public final synchronized RepositoryId_1_3 getId(String key) {
-- RepositoryId_1_3 repId = (RepositoryId_1_3)super.get(key);
--
-- if (repId != null)
-- return repId;
-- else {
-- //repId = pool.popId().init(key);
-- repId = new RepositoryId_1_3(key);
-- put(key, repId);
-- return repId;
-- }
--
-- }
--}
---- corba/src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdCache_1_3_1.java 2012-08-10 09:10:34.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdCache_1_3_1.java 1969-12-31 16:00:00.000000000 -0800
-@@ -1,102 +0,0 @@
++#
++# 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,86 @@
+ 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}".
++ SDDeclNameInvalid = O nome standalone na declara\u00E7\u00E3o XML pode estar grafado incorretamente.
+ # 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 \"<!--\".
+- DashDashInComment = A string \"--\" n\u00E3o \u00E9 permitida nos coment\u00E1rios.
+- CommentUnterminated = O coment\u00E1rio deve terminar com \"-->\".
++ InvalidCommentStart = O coment\u00E1rio deve come\u00E7ar com "<!--".
++ DashDashInComment = A string "--" n\u00E3o \u00E9 permitida nos coment\u00E1rios.
++ CommentUnterminated = O coment\u00E1rio deve terminar 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 +167,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 \"<!DOCTYPE\" na declara\u00E7\u00E3o do tipo de documento.
+- MSG_ROOT_ELEMENT_TYPE_REQUIRED = O tipo de elemento-raiz deve aparecer ap\u00F3s \"<!DOCTYPE\" na declara\u00E7\u00E3o do tipo de documento.
+- DoctypedeclUnterminated = A declara\u00E7\u00E3o do tipo de documento do tipo de elemento \"{0}\" deve terminar com ''>''.
+- 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 "<!DOCTYPE" na declara\u00E7\u00E3o do tipo de documento.
++ MSG_ROOT_ELEMENT_TYPE_REQUIRED = O tipo de elemento-raiz deve aparecer ap\u00F3s "<!DOCTYPE" na declara\u00E7\u00E3o do tipo de documento.
++ DoctypedeclUnterminated = A declara\u00E7\u00E3o do tipo de documento do tipo de elemento "{0}" deve terminar com ''>''.
++ 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 \"<!ELEMENT\" na declara\u00E7\u00E3o do tipo de elemento.
++ MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ELEMENTDECL = O espa\u00E7o em branco \u00E9 necess\u00E1rio ap\u00F3s "<!ELEMENT" na declara\u00E7\u00E3o do tipo de elemento.
+ MSG_ELEMENT_TYPE_REQUIRED_IN_ELEMENTDECL = O tipo de elemento \u00E9 necess\u00E1rio na declara\u00E7\u00E3o do tipo de elemento.
+- 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 ''>''.
++ 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 \"<!ATTLIST\" na declara\u00E7\u00E3o da lista de atributos.
++ MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ATTLISTDECL = O espa\u00E7o em branco \u00E9 necess\u00E1rio ap\u00F3s "<!ATTLIST" na declara\u00E7\u00E3o da lista de atributos.
+ MSG_ELEMENT_TYPE_REQUIRED_IN_ATTLISTDECL = \u00C9 necess\u00E1rio o tipo de elemento na declara\u00E7\u00E3o da lista de atributos.
+- MSG_SPACE_REQUIRED_BEFORE_ATTRIBUTE_NAME_IN_ATTDEF = \u00C9 necess\u00E1rio o espa\u00E7o em branco antes do nome do atributo na declara\u00E7\u00E3o da lista de atributos do elemento \"{0}\".
+- AttNameRequiredInAttDef = O nome do atributo deve ser especificado na declara\u00E7\u00E3o da lista de atributos do elemento \"{0}\".
+- MSG_SPACE_REQUIRED_BEFORE_ATTTYPE_IN_ATTDEF = \u00C9 necess\u00E1rio o espa\u00E7o em branco antes do tipo de atributo na declara\u00E7\u00E3o do atributo \"{1}\" do elemento \"{0}\".
+- AttTypeRequiredInAttDef = \u00C9 necess\u00E1rio o tipo de atributo na declara\u00E7\u00E3o do atributo \"{1}\" do elemento \"{0}\".
+- MSG_SPACE_REQUIRED_BEFORE_DEFAULTDECL_IN_ATTDEF = \u00C9 necess\u00E1rio o espa\u00E7o em branco antes do default do atributo na declara\u00E7\u00E3o do atributo \"{1}\" do elemento \"{0}\".
+- MSG_DUPLICATE_ATTRIBUTE_DEFINITION = Mais de uma defini\u00E7\u00E3o de atributo fornecida para o mesmo atributo \"{1}\" de um determinado elemento \"{0}\".
++ MSG_SPACE_REQUIRED_BEFORE_ATTRIBUTE_NAME_IN_ATTDEF = \u00C9 necess\u00E1rio o espa\u00E7o em branco antes do nome do atributo na declara\u00E7\u00E3o da lista de atributos do elemento "{0}".
++ AttNameRequiredInAttDef = O nome do atributo deve ser especificado na declara\u00E7\u00E3o da lista de atributos do elemento "{0}".
++ MSG_SPACE_REQUIRED_BEFORE_ATTTYPE_IN_ATTDEF = \u00C9 necess\u00E1rio o espa\u00E7o em branco antes do tipo de atributo na declara\u00E7\u00E3o do atributo "{1}" do elemento "{0}".
++ AttTypeRequiredInAttDef = \u00C9 necess\u00E1rio o tipo de atributo na declara\u00E7\u00E3o do atributo "{1}" do elemento "{0}".
++ MSG_SPACE_REQUIRED_BEFORE_DEFAULTDECL_IN_ATTDEF = \u00C9 necess\u00E1rio o espa\u00E7o em branco antes do default do atributo na declara\u00E7\u00E3o do atributo "{1}" do elemento "{0}".
++ MSG_DUPLICATE_ATTRIBUTE_DEFINITION = Mais de uma defini\u00E7\u00E3o de atributo fornecida para o mesmo atributo "{1}" de um determinado elemento "{0}".
+ # 3.3.1 Attribute Types
+- MSG_SPACE_REQUIRED_AFTER_NOTATION_IN_NOTATIONTYPE = O espa\u00E7o em branco deve aparecer ap\u00F3s \"NOTATION\" na declara\u00E7\u00E3o do atributo \"{1}\".
+- MSG_OPEN_PAREN_REQUIRED_IN_NOTATIONTYPE = O caractere ''('' deve estar ap\u00F3s \"NOTATION\" na declara\u00E7\u00E3o do atributo \"{1}\".
+- MSG_NAME_REQUIRED_IN_NOTATIONTYPE = \u00C9 necess\u00E1rio o nome da nota\u00E7\u00E3o na lista de tipos de nota\u00E7\u00E3o para a declara\u00E7\u00E3o do atributo \"{1}\".
+- NotationTypeUnterminated = A lista de tipos de nota\u00E7\u00E3o deve terminar com '')'' na declara\u00E7\u00E3o do atributo \"{1}\".
+- MSG_NMTOKEN_REQUIRED_IN_ENUMERATION = O token do nome \u00E9 obrigat\u00F3rio na lista de tipos enumerada para a declara\u00E7\u00E3o do atributo \"{1}\".
+- EnumerationUnterminated = A lista de tipos enumerada deve terminar com '')'' na declara\u00E7\u00E3o do atributo \"{1}\".
+- MSG_DISTINCT_TOKENS_IN_ENUMERATION = O valor da enumera\u00E7\u00E3o \"{1}\" foi especificado mais de uma vez na declara\u00E7\u00E3o do atributo \"{2}\" do elemento \"{0}\". Os NMTOKENS em uma declara\u00E7\u00E3o de atributo de Enumera\u00E7\u00E3o \u00FAnica devem ser todos distintos.
+- MSG_DISTINCT_NOTATION_IN_ENUMERATION = O valor da enumera\u00E7\u00E3o \"{1}\" foi especificado mais de uma vez na declara\u00E7\u00E3o do atributo \"{2}\" do elemento \"{0}\". Os nomes da NOTATION em uma declara\u00E7\u00E3o do atributo NotationType \u00FAnica devem ser todos distintos.
++ MSG_SPACE_REQUIRED_AFTER_NOTATION_IN_NOTATIONTYPE = O espa\u00E7o em branco deve aparecer ap\u00F3s "NOTATION" na declara\u00E7\u00E3o do atributo "{1}".
++ MSG_OPEN_PAREN_REQUIRED_IN_NOTATIONTYPE = O caractere ''('' deve estar ap\u00F3s "NOTATION" na declara\u00E7\u00E3o do atributo "{1}".
++ MSG_NAME_REQUIRED_IN_NOTATIONTYPE = \u00C9 necess\u00E1rio o nome da nota\u00E7\u00E3o na lista de tipos de nota\u00E7\u00E3o para a declara\u00E7\u00E3o do atributo "{1}".
++ NotationTypeUnterminated = A lista de tipos de nota\u00E7\u00E3o deve terminar com '')'' na declara\u00E7\u00E3o do atributo "{1}".
++ MSG_NMTOKEN_REQUIRED_IN_ENUMERATION = O token do nome \u00E9 obrigat\u00F3rio na lista de tipos enumerada para a declara\u00E7\u00E3o do atributo "{1}".
++ EnumerationUnterminated = A lista de tipos enumerada deve terminar com '')'' na declara\u00E7\u00E3o do atributo "{1}".
++ MSG_DISTINCT_TOKENS_IN_ENUMERATION = O valor da enumera\u00E7\u00E3o "{1}" foi especificado mais de uma vez na declara\u00E7\u00E3o do atributo "{2}" do elemento "{0}". Os NMTOKENS em uma declara\u00E7\u00E3o de atributo de Enumera\u00E7\u00E3o \u00FAnica devem ser todos distintos.
++ MSG_DISTINCT_NOTATION_IN_ENUMERATION = O valor da enumera\u00E7\u00E3o "{1}" foi especificado mais de uma vez na declara\u00E7\u00E3o do atributo "{2}" do elemento "{0}". Os nomes da NOTATION em uma declara\u00E7\u00E3o do atributo NotationType \u00FAnica devem ser todos distintos.
+ # 3.3.2 Attribute Defaults
+- MSG_SPACE_REQUIRED_AFTER_FIXED_IN_DEFAULTDECL = O espa\u00E7o em branco deve aparecer ap\u00F3s \"FIXED\" na declara\u00E7\u00E3o do atributo \"{1}\".
++ MSG_SPACE_REQUIRED_AFTER_FIXED_IN_DEFAULTDECL = O espa\u00E7o em branco deve aparecer ap\u00F3s "FIXED" na declara\u00E7\u00E3o do atributo "{1}".
+ # 3.4 Conditional Sections
+- IncludeSectUnterminated = A se\u00E7\u00E3o condicional inclu\u00EDda deve terminar com \"]]>\".
+- 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 \"<!ENTITY\" na declara\u00E7\u00E3o da entidade.
+- MSG_SPACE_REQUIRED_BEFORE_PERCENT_IN_PEDECL = O espa\u00E7o em branco \u00E9 necess\u00E1rio entre \"<!ENTITY\" e o caractere '%' na declara\u00E7\u00E3o da entidade do par\u00E2metro.
++ MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_ENTITYDECL = O espa\u00E7o em branco \u00E9 necess\u00E1rio ap\u00F3s "<!ENTITY" na declara\u00E7\u00E3o da entidade.
++ MSG_SPACE_REQUIRED_BEFORE_PERCENT_IN_PEDECL = O espa\u00E7o em branco \u00E9 necess\u00E1rio entre "<!ENTITY" e o caractere '%' na declara\u00E7\u00E3o da entidade do par\u00E2metro.
+ MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_PEDECL = O espa\u00E7o em branco \u00E9 necess\u00E1rio entre '%' e o nome da entidade na declara\u00E7\u00E3o da entidade do par\u00E2metro.
+ MSG_ENTITY_NAME_REQUIRED_IN_ENTITYDECL = O nome da entidade \u00E9 necess\u00E1rio na declara\u00E7\u00E3o da entidade.
+- 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.
++ 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 \"<!NOTATION\" na declara\u00E7\u00E3o da nota\u00E7\u00E3o.
++ MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_NOTATIONDECL = O espa\u00E7o em branco \u00E9 necess\u00E1rio ap\u00F3s "<!NOTATION" na declara\u00E7\u00E3o da nota\u00E7\u00E3o.
+ MSG_NOTATION_NAME_REQUIRED_IN_NOTATIONDECL = O nome da nota\u00E7\u00E3o \u00E9 obrigat\u00F3rio na declara\u00E7\u00E3o de nota\u00E7\u00E3o.
+- 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 ''>''.
++ 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 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.
++ 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 em decorr\u00EAncia de uma restri\u00E7\u00E3o definida pela propriedade accessExternalDTD.
++ AccessExternalEntity = Entidade Externa: falha ao ler o documento ''{0}'' externo porque o acesso a ''{1}'' n\u00E3o \u00E9 permitido em decorr\u00EAncia de uma restri\u00E7\u00E3o definida pela propriedade accessExternalDTD.
+
+ # 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
+@@ -320,8 +318,10 @@
+ InvalidCharInLiteral=InvalidCharInLiteral
+
+
+-#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.
++# Implementation limits
++ EntityExpansionLimitExceeded=JAXP00010001: O parser detectou mais de "{0}" expans\u00F5es da entidade neste documento. Este \u00E9 o limite imposto pelo JDK.
++ ElementAttributeLimit=JAXP00010002: o elemento "{0}" tem mais de "{1}" atributos. "{1}" \u00E9 o limite imposto pelo JDK.
++ MaxEntitySizeLimit=JAXP00010003: o tamanho da entidade "{0}" \u00E9 "{1}", o que excede o limite de "{2}" definido por "{3}".
++ TotalEntitySizeLimit=JAXP00010004: o tamanho acumulado "{0}" de entidades excedeu o limite de "{1}" definido por "{2}".
++ MaxXMLNameLimit=JAXP00010005: o nome "{0}" excedeu o limite de "{1}" definido por "{2}".
+
+-# 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.
+--- jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_sv.properties 2013-09-06 11:22:59.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_sv.properties 2013-12-01 11:13:41.000000000 -0800
+@@ -1,30 +1,27 @@
-/*
-- * Copyright (c) 2001, 2002, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
@@ -2362,167 +7278,453 @@
- * questions.
- */
-
--package com.sun.corba.se.impl.orbutil;
--
--import java.util.Stack;
--import java.util.Hashtable;
--import java.util.EmptyStackException;
--import java.util.Enumeration;
--
--// Really limited pool - in this case just creating several at a time...
--class RepositoryIdPool_1_3_1 extends Stack {
--
-- private static int MAX_CACHE_SIZE = 4;
-- private RepositoryIdCache_1_3_1 cache;
--
-- public final synchronized RepositoryId_1_3_1 popId() {
--
-- try {
-- return (RepositoryId_1_3_1)super.pop();
-- }
-- catch(EmptyStackException e) {
-- increasePool(5);
-- return (RepositoryId_1_3_1)super.pop();
-- }
--
-- }
--
-- // Pool management
-- final void increasePool(int size) {
-- //if (cache.size() <= MAX_CACHE_SIZE)
-- for (int i = size; i > 0; i--)
-- push(new RepositoryId_1_3_1());
-- /*
-- // _REVISIT_ This will not work w/out either thread tracing or weak references. I am
-- // betting that thread tracing almost completely negates benefit of reuse. Until either
-- // 1.2 only inclusion or proof to the contrary, I'll leave it this way...
-- else {
-- int numToReclaim = cache.size() / 2;
-- Enumeration keys = cache.keys();
-- Enumeration elements = cache.elements();
-- for (int i = numToReclaim; i > 0; i--) {
-- Object key = keys.nextElement();
-- Object element = elements.nextElement();
--
-- push(element);
-- cache.remove(key);
-- }
-- }
-- */
-- }
--
-- final void setCaches(RepositoryIdCache_1_3_1 cache) {
-- this.cache = cache;
-- }
--
--}
--
--public class RepositoryIdCache_1_3_1 extends Hashtable {
--
-- private RepositoryIdPool_1_3_1 pool = new RepositoryIdPool_1_3_1();
--
-- public RepositoryIdCache_1_3_1() {
-- pool.setCaches(this);
-- }
--
-- public final synchronized RepositoryId_1_3_1 getId(String key) {
-- RepositoryId_1_3_1 repId = (RepositoryId_1_3_1)super.get(key);
--
-- if (repId != null)
-- return repId;
-- else {
-- //repId = pool.popId().init(key);
-- repId = new RepositoryId_1_3_1(key);
-- put(key, repId);
-- return repId;
-- }
--
-- }
--}
---- corba/src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdFactory.java 2012-08-10 09:10:34.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdFactory.java 2013-03-09 18:08:34.000000000 -0800
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
-@@ -30,12 +30,6 @@
-
- public abstract class RepositoryIdFactory
- {
-- private static final RepIdDelegator_1_3 legacyDelegator
-- = new RepIdDelegator_1_3();
--
-- private static final RepIdDelegator_1_3_1 ladybirdDelegator
-- = new RepIdDelegator_1_3_1();
--
- private static final RepIdDelegator currentDelegator
- = new RepIdDelegator();
-
-@@ -48,29 +42,6 @@
- }
-
- /**
-- * Checks the version of the ORB and returns the appropriate
-- * RepositoryIdStrings instance.
-- */
-- public static RepositoryIdStrings getRepIdStringsFactory(ORB orb)
-- {
-- if (orb != null) {
-- switch (orb.getORBVersion().getORBType()) {
-- case ORBVersion.NEWER:
-- case ORBVersion.FOREIGN:
-- case ORBVersion.JDK1_3_1_01:
-- return currentDelegator;
-- case ORBVersion.OLD:
-- return legacyDelegator;
-- case ORBVersion.NEW:
-- return ladybirdDelegator;
-- default:
-- return currentDelegator;
-- }
-- } else
-- return currentDelegator;
-- }
--
-- /**
- * Returns the latest version RepositoryIdUtility instance
- */
- public static RepositoryIdUtility getRepIdUtility()
-@@ -78,26 +49,4 @@
- return currentDelegator;
- }
+-/*
+- * 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.
++#
-- /**
-- * Checks the version of the ORB and returns the appropriate
-- * RepositoryIdUtility instance.
-- */
-- public static RepositoryIdUtility getRepIdUtility(ORB orb)
-- {
-- if (orb != null) {
-- switch (orb.getORBVersion().getORBType()) {
-- case ORBVersion.NEWER:
-- case ORBVersion.FOREIGN:
-- case ORBVersion.JDK1_3_1_01:
-- return currentDelegator;
-- case ORBVersion.OLD:
-- return legacyDelegator;
-- case ORBVersion.NEW:
-- return ladybirdDelegator;
-- default:
-- return currentDelegator;
-- }
-- } else
-- return currentDelegator;
-- }
- }
---- corba/src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryId_1_3.java 2012-08-10 09:10:34.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryId_1_3.java 1969-12-31 16:00:00.000000000 -0800
-@@ -1,990 +0,0 @@
+ # 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,71 @@
+ 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}".
++ SDDeclNameInvalid = Det frist\u00E5ende namnet i XML-deklarationen kan vara felstavat.
+ # 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 \"<!--\".
+- DashDashInComment = Str\u00E4ngen \"--\" \u00E4r inte till\u00E5ten inom kommentarer.
+- CommentUnterminated = Kommentaren m\u00E5ste avslutas med \"-->\".
++ InvalidCommentStart = Kommentarer m\u00E5ste inledas med "<!--".
++ DashDashInComment = Str\u00E4ngen "--" \u00E4r inte till\u00E5ten inom kommentarer.
++ CommentUnterminated = Kommentaren m\u00E5ste avslutas 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 \"&#x\" i en teckenreferens.
++ DigitRequiredInCharRef = Ett decimalt uttryck m\u00E5ste anges direkt efter "&#" i en teckenreferens.
++ HexdigitRequiredInCharRef = Ett hexadecimalt uttryck m\u00E5ste anges direkt efter "&#x" 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 +141,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 +167,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 \"<!DOCTYPE\" i dokumenttypdeklarationen.
+- MSG_ROOT_ELEMENT_TYPE_REQUIRED = Rotelementtyp m\u00E5ste anges efter \"<!DOCTYPE\" i dokumenttypdeklarationen.
+- DoctypedeclUnterminated = Dokumenttypdeklarationen f\u00F6r rotelementtyp \"{0}\" m\u00E5ste avslutas med ''>''.
+- 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 "<!DOCTYPE" i dokumenttypdeklarationen.
++ MSG_ROOT_ELEMENT_TYPE_REQUIRED = Rotelementtyp m\u00E5ste anges efter "<!DOCTYPE" i dokumenttypdeklarationen.
++ DoctypedeclUnterminated = Dokumenttypdeklarationen f\u00F6r rotelementtyp "{0}" m\u00E5ste avslutas med ''>''.
++ 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 \"<!ELEMENT\" i elementtypdeklarationen.
++ MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ELEMENTDECL = Tomt utrymme kr\u00E4vs efter "<!ELEMENT" i elementtypdeklarationen.
+ MSG_ELEMENT_TYPE_REQUIRED_IN_ELEMENTDECL = Elementtyp m\u00E5ste anges i elementtypdeklarationen.
+- 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 ''>''.
++ 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 \"<!ATTLIST\" i deklarationen f\u00F6r attributlista.
++ MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ATTLISTDECL = Tomt utrymme kr\u00E4vs efter "<!ATTLIST" i deklarationen f\u00F6r attributlista.
+ MSG_ELEMENT_TYPE_REQUIRED_IN_ATTLISTDECL = Elementtyp m\u00E5ste anges i deklarationen f\u00F6r attributlista.
+- MSG_SPACE_REQUIRED_BEFORE_ATTRIBUTE_NAME_IN_ATTDEF = Tomt utrymme kr\u00E4vs f\u00F6re attributnamnet i deklarationen f\u00F6r attributlista f\u00F6r elementet \"{0}\".
+- AttNameRequiredInAttDef = Attributnamnet m\u00E5ste anges i deklarationen f\u00F6r attributlista f\u00F6r elementet \"{0}\".
+- MSG_SPACE_REQUIRED_BEFORE_ATTTYPE_IN_ATTDEF = Tomt utrymme kr\u00E4vs f\u00F6re attributtyp i deklarationen f\u00F6r attributet \"{1}\" f\u00F6r elementet \"{0}\".
+- AttTypeRequiredInAttDef = Attributtyp m\u00E5ste anges i deklarationen f\u00F6r attributet \"{1}\" f\u00F6r elementet \"{0}\".
+- MSG_SPACE_REQUIRED_BEFORE_DEFAULTDECL_IN_ATTDEF = Tomt utrymme kr\u00E4vs f\u00F6re attributstandardv\u00E4rde i deklarationen f\u00F6r attributet \"{1}\" f\u00F6r elementet \"{0}\".
+- MSG_DUPLICATE_ATTRIBUTE_DEFINITION = Det finns fler \u00E4n en attributdefinition f\u00F6r samma attribut \"{1}\" f\u00F6r angivet element \"{0}\".
++ MSG_SPACE_REQUIRED_BEFORE_ATTRIBUTE_NAME_IN_ATTDEF = Tomt utrymme kr\u00E4vs f\u00F6re attributnamnet i deklarationen f\u00F6r attributlista f\u00F6r elementet "{0}".
++ AttNameRequiredInAttDef = Attributnamnet m\u00E5ste anges i deklarationen f\u00F6r attributlista f\u00F6r elementet "{0}".
++ MSG_SPACE_REQUIRED_BEFORE_ATTTYPE_IN_ATTDEF = Tomt utrymme kr\u00E4vs f\u00F6re attributtyp i deklarationen f\u00F6r attributet "{1}" f\u00F6r elementet "{0}".
++ AttTypeRequiredInAttDef = Attributtyp m\u00E5ste anges i deklarationen f\u00F6r attributet "{1}" f\u00F6r elementet "{0}".
++ MSG_SPACE_REQUIRED_BEFORE_DEFAULTDECL_IN_ATTDEF = Tomt utrymme kr\u00E4vs f\u00F6re attributstandardv\u00E4rde i deklarationen f\u00F6r attributet "{1}" f\u00F6r elementet "{0}".
++ MSG_DUPLICATE_ATTRIBUTE_DEFINITION = Det finns fler \u00E4n en attributdefinition f\u00F6r samma attribut "{1}" f\u00F6r angivet element "{0}".
+ # 3.3.1 Attribute Types
+- MSG_SPACE_REQUIRED_AFTER_NOTATION_IN_NOTATIONTYPE = Tomt utrymme m\u00E5ste anges efter \"NOTATION\" i attributdeklarationen \"{1}\".
+- MSG_OPEN_PAREN_REQUIRED_IN_NOTATIONTYPE = Tecknet ''('' m\u00E5ste anges efter \"NOTATION\" i attributdeklarationen \"{1}\".
+- MSG_NAME_REQUIRED_IN_NOTATIONTYPE = Notationsnamn m\u00E5ste anges i notationstyplistan f\u00F6r attributdeklarationen \"{1}\".
+- NotationTypeUnterminated = Notationstyplistan m\u00E5ste avslutas med '')'' i attributdeklarationen \"{1}\".
+- MSG_NMTOKEN_REQUIRED_IN_ENUMERATION = Namntecken m\u00E5ste anges i uppr\u00E4kningstyplistan f\u00F6r attributdeklarationen \"{1}\".
+- EnumerationUnterminated = Uppr\u00E4kningstyplistan m\u00E5ste avslutas med '')'' i attributdeklarationen \"{1}\".
+- MSG_DISTINCT_TOKENS_IN_ENUMERATION = Uppr\u00E4kningsv\u00E4rdet \"{1}\" har angetts fler \u00E4n en g\u00E5ng i attributdeklarationen \"{2}\" f\u00F6r elementet \"{0}\". Alla NMTOKENS i en och samma attributdeklaration f\u00F6r Enumeration m\u00E5ste vara unika.
+- MSG_DISTINCT_NOTATION_IN_ENUMERATION = Uppr\u00E4kningsv\u00E4rdet \"{1}\" har angetts fler \u00E4n en g\u00E5ng i attributdeklarationen \"{2}\" f\u00F6r elementet \"{0}\". Alla NOTATION-namn i en och samma attributdeklaration f\u00F6r NotationType m\u00E5ste vara unika.
++ MSG_SPACE_REQUIRED_AFTER_NOTATION_IN_NOTATIONTYPE = Tomt utrymme m\u00E5ste anges efter "NOTATION" i attributdeklarationen "{1}".
++ MSG_OPEN_PAREN_REQUIRED_IN_NOTATIONTYPE = Tecknet ''('' m\u00E5ste anges efter "NOTATION" i attributdeklarationen "{1}".
++ MSG_NAME_REQUIRED_IN_NOTATIONTYPE = Notationsnamn m\u00E5ste anges i notationstyplistan f\u00F6r attributdeklarationen "{1}".
++ NotationTypeUnterminated = Notationstyplistan m\u00E5ste avslutas med '')'' i attributdeklarationen "{1}".
++ MSG_NMTOKEN_REQUIRED_IN_ENUMERATION = Namntecken m\u00E5ste anges i uppr\u00E4kningstyplistan f\u00F6r attributdeklarationen "{1}".
++ EnumerationUnterminated = Uppr\u00E4kningstyplistan m\u00E5ste avslutas med '')'' i attributdeklarationen "{1}".
++ MSG_DISTINCT_TOKENS_IN_ENUMERATION = Uppr\u00E4kningsv\u00E4rdet "{1}" har angetts fler \u00E4n en g\u00E5ng i attributdeklarationen "{2}" f\u00F6r elementet "{0}". Alla NMTOKENS i en och samma attributdeklaration f\u00F6r Enumeration m\u00E5ste vara unika.
++ MSG_DISTINCT_NOTATION_IN_ENUMERATION = Uppr\u00E4kningsv\u00E4rdet "{1}" har angetts fler \u00E4n en g\u00E5ng i attributdeklarationen "{2}" f\u00F6r elementet "{0}". Alla NOTATION-namn i en och samma attributdeklaration f\u00F6r NotationType m\u00E5ste vara unika.
+ # 3.3.2 Attribute Defaults
+- MSG_SPACE_REQUIRED_AFTER_FIXED_IN_DEFAULTDECL = Tomt utrymme m\u00E5ste anges efter \"FIXED\" i attributdeklarationen \"{1}\".
++ MSG_SPACE_REQUIRED_AFTER_FIXED_IN_DEFAULTDECL = Tomt utrymme m\u00E5ste anges efter "FIXED" i attributdeklarationen "{1}".
+ # 3.4 Conditional Sections
+- IncludeSectUnterminated = Inkluderat villkorsavsnitt m\u00E5ste avslutas med \"]]>\".
+- 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 \"<!ENTITY\" i enhetsdeklarationen.
+- MSG_SPACE_REQUIRED_BEFORE_PERCENT_IN_PEDECL = Tomt utrymme kr\u00E4vs mellan \"<!ENTITY\" och '%'-tecknet i parameterdeklarationen.
++ MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_ENTITYDECL = Tomt utrymme kr\u00E4vs efter "<!ENTITY" i enhetsdeklarationen.
++ MSG_SPACE_REQUIRED_BEFORE_PERCENT_IN_PEDECL = Tomt utrymme kr\u00E4vs mellan "<!ENTITY" och '%'-tecknet i parameterdeklarationen.
+ MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_PEDECL = Tomt utrymme kr\u00E4vs mellan '%' och enhetsnamnet i parameterdeklarationen.
+ MSG_ENTITY_NAME_REQUIRED_IN_ENTITYDECL = Namnet p\u00E5 enheten m\u00E5ste anges i enhetsdeklarationen.
+- 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.
++ 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 \"<!NOTATION\" i notationsdeklarationen.
++ MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_NOTATIONDECL = Tomt utrymme kr\u00E4vs efter "<!NOTATION" i notationsdeklarationen.
+ MSG_NOTATION_NAME_REQUIRED_IN_NOTATIONDECL = Namnet p\u00E5 notationen m\u00E5ste anges i notationsdeklarationen.
+- 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 ''>''.
++ 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 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.
++ 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 p\u00E5 grund av begr\u00E4nsning som anges av accessExternalDTD-egenskapen.
++ AccessExternalEntity = Extern enhet: Kunde inte l\u00E4sa externt dokument ''{0}'', eftersom ''{1}'' \u00E5tkomst inte till\u00E5ts p\u00E5 grund av begr\u00E4nsning som anges av accessExternalDTD-egenskapen.
+
+ # 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
+@@ -320,8 +318,10 @@
+ InvalidCharInLiteral=InvalidCharInLiteral
+
+
+-#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.
++# Implementation limits
++ EntityExpansionLimitExceeded=JAXP00010001: Parsern har p\u00E5tr\u00E4ffat fler \u00E4n "{0}" enhetstill\u00E4gg i dokumentet - gr\u00E4nsv\u00E4rdet f\u00F6r JDK har uppn\u00E5tts.
++ ElementAttributeLimit=JAXP00010002: Elementet "{0}" har fler \u00E4n "{1}" attribut, "{1}" \u00E4r gr\u00E4nsv\u00E4rdet f\u00F6r JDK.
++ MaxEntitySizeLimit=JAXP00010003: L\u00E4ngden p\u00E5 enheten "{0}" \u00E4r "{1}" som \u00F6verskriver gr\u00E4nsv\u00E4rdet p\u00E5 "{2}" som anges av "{3}".
++ TotalEntitySizeLimit=JAXP00010004: Den ackumulerade storleken "{0}" f\u00F6r enheter \u00F6verskred gr\u00E4nsv\u00E4rdet p\u00E5 "{1}" som anges av "{2}".
++ MaxXMLNameLimit=JAXP00010005: Namnet "{0}" \u00F6verskred gr\u00E4nsv\u00E4rdet p\u00E5 "{1}" som anges av "{2}".
+
+-# 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.
+--- jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_CN.properties 2013-09-06 11:22:59.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_CN.properties 2013-12-01 11:13:41.000000000 -0800
+@@ -1,30 +1,26 @@
-/*
-- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
@@ -2545,977 +7747,459 @@
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
+-
-/*
-- * Licensed Materials - Property of IBM
-- * RMI-IIOP v1.0
-- * Copyright IBM Corp. 1998 1999 All Rights Reserved
-- *
+- * Copyright (c) 2009 by Oracle Corporation. All Rights Reserved.
- */
--
--package com.sun.corba.se.impl.orbutil;
--
--import java.util.StringTokenizer;
--import java.util.Hashtable;
--import java.io.IOException;
--import java.lang.reflect.Method;
--
--// Imports for using codebase URL to load class
--import java.net.MalformedURLException;
--import org.omg.CORBA.portable.ValueBase;
--import org.omg.CORBA.portable.IDLEntity;
--
--import com.sun.corba.se.impl.util.JDKBridge;
--import com.sun.corba.se.impl.util.Utility;
--import com.sun.corba.se.impl.util.PackagePrefixChecker;
--import com.sun.corba.se.impl.util.IdentityHashtable;
--import com.sun.corba.se.impl.io.ObjectStreamClass;
--
--import javax.rmi.CORBA.Util;
--
--// keeping the original RepositoryId class that was shipped in
--// JDK 1.3. It has interoperability bugs
--
--public class RepositoryId_1_3 {
--
-- // Legal IDL Identifier characters (1 = legal). Note
-- // that '.' (2E) is marked as legal even though it is
-- // not legal in IDL. This allows us to treat a fully
-- // qualified Java name with '.' package separators
-- // uniformly, and is safe because that is the only
-- // legal use of '.' in a Java name.
--
-- public static final RepositoryIdCache_1_3 cache = new RepositoryIdCache_1_3();
-- private static final byte[] IDL_IDENTIFIER_CHARS = {
--
-- // 0 1 2 3 4 5 6 7 8 9 a b c d e f
-- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // 00-0f
-- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // 10-1f
-- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,1,0, // 20-2f
-- 1,1,1,1, 1,1,1,1, 1,1,0,0, 0,0,0,0, // 30-3f
-- 0,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, // 40-4f
-- 1,1,1,1, 1,1,1,1, 1,1,1,0, 0,0,0,1, // 50-5f
-- 0,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, // 60-6f
-- 1,1,1,1, 1,1,1,1, 1,1,1,0, 0,0,0,0, // 70-7f
-- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // 80-8f
-- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // 90-9f
-- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // a0-af
-- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // b0-bf
-- 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, // c0-cf
-- 0,1,1,1, 1,1,1,0, 1,1,1,1, 1,0,0,1, // d0-df
-- 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, // e0-ef
-- 0,1,1,1, 1,1,1,0, 1,1,1,1, 1,0,0,1, // f0-ff
-- };
--
-- private static String defaultServerURL = null;
-- private static boolean useCodebaseOnly = false;
--
-- static {
-- if (defaultServerURL == null)
-- defaultServerURL = (String)JDKBridge.getLocalCodebase();
-- useCodebaseOnly = JDKBridge.useCodebaseOnly();
--
-- }
--
-- private static IdentityHashtable classToRepStr = new IdentityHashtable();
-- private static IdentityHashtable classIDLToRepStr = new IdentityHashtable();
-- private static IdentityHashtable classSeqToRepStr = new IdentityHashtable();
--
-- private static IdentityHashtable repStrToByteArray = new IdentityHashtable();
-- private static Hashtable repStrToClass = new Hashtable();
--
-- private String repId = null;
-- private boolean isSupportedFormat = true;
-- private String typeString = null;
-- private String versionString = null;
-- private boolean isSequence = false;
-- private boolean isRMIValueType = false;
-- private boolean isIDLType = false;
-- private String completeClassName = null;
-- private String unqualifiedName = null;
-- private String definedInId = null;
-- private Class clazz = null;
-- private String suid = null, actualSuid = null;
-- private long suidLong = ObjectStreamClass.kDefaultUID, actualSuidLong = ObjectStreamClass.kDefaultUID;
--
-- // Repository ID fragments
-- private static final String kValuePrefix = "RMI:";
-- private static final String kIDLPrefix = "IDL:";
-- private static final String kIDLNamePrefix = "omg.org/";
-- private static final String kIDLClassnamePrefix = "org.omg.";
-- private static final String kSequencePrefix = "[";
-- private static final String kCORBAPrefix = "CORBA/";
-- private static final String kArrayPrefix = kValuePrefix + kSequencePrefix + kCORBAPrefix;
-- private static final int kValuePrefixLength = kValuePrefix.length();
-- private static final int kIDLPrefixLength = kIDLPrefix.length();
-- private static final int kSequencePrefixLength = kSequencePrefix.length();
-- private static final String kInterfaceHashCode = ":0000000000000000";
-- private static final String kInterfaceOnlyHashStr = "0000000000000000";
-- private static final String kExternalizableHashStr = "0000000000000001";
--
-- // Value tag utility methods and constants
-- public static final int kInitialValueTag= 0x7fffff00;
-- public static final int kNoTypeInfo = 0;
-- public static final int kSingleRepTypeInfo = 0x02;
-- public static final int kPartialListTypeInfo = 0x06;
-- public static final int kChunkedMask = 0x08;
--
-- // Public, well known repository IDs
--
-- // _REVISIT_ : A table structure with a good search routine for all of this
-- // would be more efficient and easier to maintain...
--
-- // String
-- public static final String kWStringValueVersion = "1.0";
-- public static final String kWStringValueHash = ":"+kWStringValueVersion;
-- public static final String kWStringStubValue = "WStringValue";
-- public static final String kWStringTypeStr = "omg.org/CORBA/"+kWStringStubValue;
-- public static final String kWStringValueRepID = kIDLPrefix + kWStringTypeStr + kWStringValueHash;
--
-- // Any
-- public static final String kAnyRepID = kIDLPrefix + "omg.org/CORBA/Any";
--
-- // Class
-- public static final String kClassDescValueHash = ":" + Long.toHexString(
-- ObjectStreamClass.getSerialVersionUID(javax.rmi.CORBA.ClassDesc.class));
-- public static final String kClassDescStubValue = "ClassDesc";
-- public static final String kClassDescTypeStr = "javax.rmi.CORBA."+kClassDescStubValue;
-- public static final String kClassDescValueRepID = kValuePrefix + kClassDescTypeStr + kClassDescValueHash;
--
-- // Object
-- public static final String kObjectValueHash = ":1.0";
-- public static final String kObjectStubValue = "Object";
--
-- // Sequence
-- public static final String kSequenceValueHash = ":1.0";
-- public static final String kPrimitiveSequenceValueHash = ":0000000000000000";
--
-- // Serializable
-- public static final String kSerializableValueHash = ":1.0";
-- public static final String kSerializableStubValue = "Serializable";
--
-- // Externalizable
-- public static final String kExternalizableValueHash = ":1.0";
-- public static final String kExternalizableStubValue = "Externalizable";
--
-- // Remote (The empty string is used for java.rmi.Remote)
-- public static final String kRemoteValueHash = "";
-- public static final String kRemoteStubValue = "";
-- public static final String kRemoteTypeStr = "";
-- public static final String kRemoteValueRepID = "";
--
-- private static final Hashtable kSpecialArrayTypeStrings = new Hashtable();
--
-- static {
-- kSpecialArrayTypeStrings.put("CORBA.WStringValue", new StringBuffer(java.lang.String.class.getName()));
-- kSpecialArrayTypeStrings.put("javax.rmi.CORBA.ClassDesc", new StringBuffer(java.lang.Class.class.getName()));
-- kSpecialArrayTypeStrings.put("CORBA.Object", new StringBuffer(java.rmi.Remote.class.getName()));
--
-- }
--
-- private static final Hashtable kSpecialCasesRepIDs = new Hashtable();
--
-- static {
-- kSpecialCasesRepIDs.put(java.lang.String.class, kWStringValueRepID);
-- kSpecialCasesRepIDs.put(java.lang.Class.class, kClassDescValueRepID);
-- kSpecialCasesRepIDs.put(java.rmi.Remote.class, kRemoteValueRepID);
-- }
--
-- private static final Hashtable kSpecialCasesStubValues = new Hashtable();
--
-- static {
-- kSpecialCasesStubValues.put(java.lang.String.class, kWStringStubValue);
-- kSpecialCasesStubValues.put(java.lang.Class.class, kClassDescStubValue);
-- kSpecialCasesStubValues.put(java.lang.Object.class, kObjectStubValue);
-- kSpecialCasesStubValues.put(java.io.Serializable.class, kSerializableStubValue);
-- kSpecialCasesStubValues.put(java.io.Externalizable.class, kExternalizableStubValue);
-- kSpecialCasesStubValues.put(java.rmi.Remote.class, kRemoteStubValue);
-- }
--
--
-- private static final Hashtable kSpecialCasesVersions = new Hashtable();
--
-- static {
-- kSpecialCasesVersions.put(java.lang.String.class, kWStringValueHash);
-- kSpecialCasesVersions.put(java.lang.Class.class, kClassDescValueHash);
-- kSpecialCasesVersions.put(java.lang.Object.class, kObjectValueHash);
-- kSpecialCasesVersions.put(java.io.Serializable.class, kSerializableValueHash);
-- kSpecialCasesVersions.put(java.io.Externalizable.class, kExternalizableValueHash);
-- kSpecialCasesVersions.put(java.rmi.Remote.class, kRemoteValueHash);
-- }
--
-- private static final Hashtable kSpecialCasesClasses = new Hashtable();
--
-- static {
-- kSpecialCasesClasses.put(kWStringTypeStr, java.lang.String.class);
-- kSpecialCasesClasses.put(kClassDescTypeStr, java.lang.Class.class);
-- kSpecialCasesClasses.put(kRemoteTypeStr, java.rmi.Remote.class);
--
-- kSpecialCasesClasses.put("org.omg.CORBA.WStringValue", java.lang.String.class);
-- kSpecialCasesClasses.put("javax.rmi.CORBA.ClassDesc", java.lang.Class.class);
-- //kSpecialCasesClasses.put(kRemoteTypeStr, java.rmi.Remote.class);
-- }
--
-- private static final Hashtable kSpecialCasesArrayPrefix = new Hashtable();
--
-- static {
-- kSpecialCasesArrayPrefix.put(java.lang.String.class, kValuePrefix + kSequencePrefix + kCORBAPrefix);
-- kSpecialCasesArrayPrefix.put(java.lang.Class.class, kValuePrefix + kSequencePrefix + "javax/rmi/CORBA/");
-- kSpecialCasesArrayPrefix.put(java.lang.Object.class, kValuePrefix + kSequencePrefix + "java/lang/");
-- kSpecialCasesArrayPrefix.put(java.io.Serializable.class, kValuePrefix + kSequencePrefix + "java/io/");
-- kSpecialCasesArrayPrefix.put(java.io.Externalizable.class, kValuePrefix + kSequencePrefix + "java/io/");
-- kSpecialCasesArrayPrefix.put(java.rmi.Remote.class, kValuePrefix + kSequencePrefix + kCORBAPrefix);
-- }
--
-- private static final Hashtable kSpecialPrimitives = new Hashtable();
--
-- static {
-- kSpecialPrimitives.put("int","long");
-- kSpecialPrimitives.put("long","longlong");
-- kSpecialPrimitives.put("byte","octet");
-- }
--
-- /**
-- * Used to convert ascii to hex.
-- */
-- private static final byte ASCII_HEX[] = {
-- (byte)'0',
-- (byte)'1',
-- (byte)'2',
-- (byte)'3',
-- (byte)'4',
-- (byte)'5',
-- (byte)'6',
-- (byte)'7',
-- (byte)'8',
-- (byte)'9',
-- (byte)'A',
-- (byte)'B',
-- (byte)'C',
-- (byte)'D',
-- (byte)'E',
-- (byte)'F',
-- };
--
--
-- // Interface Rep ID Strings
-- public static final String kjava_rmi_Remote = createForAnyType(java.rmi.Remote.class);
-- public static final String korg_omg_CORBA_Object = createForAnyType(org.omg.CORBA.Object.class);
--
-- // Dummy arguments for getIdFromHelper method
-- public static final Class kNoParamTypes[] ={};
-- public static final Object kNoArgs[] = {};
--
--
-- RepositoryId_1_3(){}
--
-- RepositoryId_1_3(String aRepId){
-- init(aRepId);
-- }
--
-- RepositoryId_1_3 init(String aRepId){
--
-- this.repId = aRepId;
--
-- // Special case for remote
-- if (aRepId.length() == 0) {
-- clazz = java.rmi.Remote.class;
-- typeString = "";
-- isRMIValueType = true;
-- suid = kInterfaceOnlyHashStr;
-- return this;
-- }
-- else if (aRepId.equals(kWStringValueRepID)) {
-- clazz = java.lang.String.class;
-- typeString = kWStringTypeStr;
-- isIDLType = true;
-- versionString = kWStringValueVersion;
-- return this;
-- }
-- else {
--
-- String repId = convertFromISOLatin1(aRepId);
--
-- versionString = repId.substring(repId.indexOf(':', repId.indexOf(':')+1));
-- if (repId.startsWith(kIDLPrefix)) {
-- typeString =
-- repId.substring(kIDLPrefixLength, repId.indexOf(':', kIDLPrefixLength));
-- isIDLType = true;
-- if (typeString.startsWith(kIDLNamePrefix))
-- completeClassName = kIDLClassnamePrefix +
-- typeString.substring(kIDLNamePrefix.length()).replace('/','.');
-- else completeClassName = typeString.replace('/','.');
--
-- }
-- else if (repId.startsWith(kValuePrefix)) {
-- typeString =
-- repId.substring(kValuePrefixLength, repId.indexOf(':', kValuePrefixLength));
-- isRMIValueType = true;
--
-- if (versionString.indexOf('.') == -1) {
-- actualSuid = versionString.substring(1);
-- suid = actualSuid; // default if not explicitly specified
--
-- if (actualSuid.indexOf(':') != -1){
-- // we have a declared hash also
-- int pos = actualSuid.indexOf(':')+1;
-- // actualSuid = suid.substring(pos);
-- // suid = suid.substring(0, pos-1);
-- suid = actualSuid.substring(pos);
-- actualSuid = actualSuid.substring(0, pos-1);
-- }
--
-- }
-- else {
-- // _REVISIT_ : Special case version failure ?
-- }
-- }
-- else isSupportedFormat = false;
--
-- if (typeString.startsWith(kSequencePrefix)) {
-- isSequence = true;
-- }
--
--
-- return this;
-- }
-- }
--
-- public final String getUnqualifiedName() {
-- if (unqualifiedName == null){
-- String className = getClassName();
-- int index = (className != null) ? className.lastIndexOf('.') : -1;
-- if (index == -1){
-- unqualifiedName = className;
-- definedInId = "IDL::1.0";
-- }
-- else {
-- unqualifiedName = className.substring(index);
-- definedInId = "IDL:" + className.substring(0, index).replace('.','/') + ":1.0";
-- }
-- }
--
-- return unqualifiedName;
-- }
--
-- public final String getDefinedInId() {
-- if (definedInId == null){
-- getUnqualifiedName();
-- }
--
-- return definedInId;
-- }
--
-- public final String getTypeString() {
-- return typeString;
-- }
--
-- public final String getVersionString() {
-- return versionString;
-- }
--
-- public final String getSerialVersionUID() {
-- return suid;
-- }
--
-- public final String getActualSerialVersionUID() {
-- return actualSuid;
-- }
-- public final long getSerialVersionUIDAsLong() {
-- return suidLong;
-- }
--
-- public final long getActualSerialVersionUIDAsLong() {
-- return actualSuidLong;
-- }
--
-- public final boolean isRMIValueType() {
-- return isRMIValueType;
-- }
--
-- public final boolean isIDLType() {
-- return isIDLType;
-- }
--
-- public final String getRepositoryId() {
-- return repId;
-- }
--
-- public static byte[] getByteArray(String repStr) {
-- synchronized (repStrToByteArray){
-- return (byte[]) repStrToByteArray.get(repStr);
-- }
-- }
--
-- public static void setByteArray(String repStr, byte[] repStrBytes) {
-- synchronized (repStrToByteArray){
-- repStrToByteArray.put(repStr, repStrBytes);
-- }
-- }
--
-- public final boolean isSequence() {
-- return isSequence;
-- }
--
-- public final boolean isSupportedFormat() {
-- return isSupportedFormat;
-- }
--
--
-- // This method will return the classname from the typestring OR if the classname turns out to be
-- // a special class "pseudo" name, then the matching real classname is returned.
-- public final String getClassName() {
--
-- if (isRMIValueType)
-- return typeString;
-- else if (isIDLType)
-- return completeClassName;
-- else return null;
--
-- }
--
-- // This method calls getClazzFromType() and falls back to the repStrToClass
-- // cache if no class was found. It's used where any class matching the
-- // given repid is an acceptable result.
-- public final Class getAnyClassFromType() throws ClassNotFoundException {
-- try {
-- return getClassFromType();
-- } catch (ClassNotFoundException cnfe) {
-- Class clz = (Class)repStrToClass.get(repId);
-- if (clz != null)
-- return clz;
-- else
-- throw cnfe;
-- }
-- }
--
-- public final Class getClassFromType()
-- throws ClassNotFoundException {
-- if (clazz != null)
-- return clazz;
--
-- Class specialCase = (Class)kSpecialCasesClasses.get(getClassName());
--
-- if (specialCase != null){
-- clazz = specialCase;
-- return specialCase;
-- }
-- else
-- {
-- try{
-- return Util.loadClass(getClassName(), null, null);
-- }
-- catch(ClassNotFoundException cnfe){
-- if (defaultServerURL != null) {
-- try{
-- return getClassFromType(defaultServerURL);
-- }
-- catch(MalformedURLException mue){
-- throw cnfe;
-- }
-- }
-- else throw cnfe;
-- }
-- }
--
-- }
--
-- public final Class getClassFromType(Class expectedType, String codebase)
-- throws ClassNotFoundException {
-- if (clazz != null)
-- return clazz;
--
-- Class specialCase = (Class)kSpecialCasesClasses.get(getClassName());
--
-- if (specialCase != null){
-- clazz = specialCase;
-- return specialCase;
-- } else {
-- ClassLoader expectedTypeClassLoader = (expectedType == null ? null : expectedType.getClassLoader());
-- return loadClassOfType(getClassName(),
-- codebase,
-- expectedTypeClassLoader,
-- expectedType,
-- expectedTypeClassLoader);
-- }
--
-- }
--
-- public final Class getClassFromType(String url)
-- throws ClassNotFoundException, MalformedURLException {
-- return Util.loadClass(getClassName(), url, null);
-- }
--
-- public final String toString() {
-- return repId;
-- }
--
-- private static String createHashString(java.io.Serializable ser) {
--
-- return createHashString(ser.getClass());
-- }
--
-- private static String createHashString(java.lang.Class clazz) {
--
-- if (clazz.isInterface() || !java.io.Serializable.class.isAssignableFrom(clazz))
-- return kInterfaceHashCode;
--
--
-- long actualLong = ObjectStreamClassUtil_1_3.computeStructuralUID(false, clazz);
-- String hash = null;
-- if (actualLong == 0)
-- hash = kInterfaceOnlyHashStr;
-- else if (actualLong == 1)
-- hash = kExternalizableHashStr;
-- else
-- hash = Long.toHexString(actualLong).toUpperCase();
-- while(hash.length() < 16){
-- hash = "0" + hash;
-- }
--
-- long declaredLong = ObjectStreamClassUtil_1_3.computeSerialVersionUID(clazz);
-- String declared = null;
-- if (declaredLong == 0)
-- declared = kInterfaceOnlyHashStr;
-- else if (declaredLong == 1)
-- declared = kExternalizableHashStr;
-- else
-- declared = Long.toHexString(declaredLong).toUpperCase();
-- while (declared.length() < 16){
-- declared = "0" + declared;
-- }
-- hash = hash + ":" + declared;
--
-- return ":" + hash;
-- }
--
-- /**
-- * Creates a repository ID for a sequence. This is for expert users only as
-- * this method assumes the object passed is an array. If passed an object
-- * that is not an array, it will produce a rep id for a sequence of zero
-- * length. This would be an error.
-- * @param ser The Java object to create a repository ID for
-- **/
-- public static String createSequenceRepID(java.lang.Object ser){
-- return createSequenceRepID(ser.getClass());
-- }
--
-- /**
-- * Creates a repository ID for a sequence. This is for expert users only as
-- * this method assumes the object passed is an array. If passed an object
-- * that is not an array, it will produce a malformed rep id.
-- * @param clazz The Java class to create a repository ID for
-- **/
-- public static String createSequenceRepID(java.lang.Class clazz){
-- synchronized (classSeqToRepStr){
--
-- String repid = (String)classSeqToRepStr.get(clazz);
-- if (repid != null)
-- return repid;
--
-- Class originalClazz = clazz;
--
-- Class type = null;
-- int numOfDims = 0;
--
-- while ((type = clazz.getComponentType()) != null) {
-- numOfDims++;
-- clazz = type;
-- }
--
-- if (clazz.isPrimitive())
-- repid = kValuePrefix + originalClazz.getName() + kPrimitiveSequenceValueHash;
-- else {
-- StringBuffer buf = new StringBuffer();
-- buf.append(kValuePrefix);
-- while(numOfDims-- > 0) {
-- buf.append("[");
-- }
-- buf.append("L");
-- buf.append(convertToISOLatin1(clazz.getName()));
-- buf.append(";");
-- buf.append(createHashString(clazz));
-- repid = buf.toString();
-- }
-- classSeqToRepStr.put(originalClazz,repid);
-- return repid;
-- }
--
-- }
--
--
-- public static String createForSpecialCase(java.lang.Class clazz){
-- if (clazz.isArray()){
-- return createSequenceRepID(clazz);
-- }
-- else {
-- return (String)kSpecialCasesRepIDs.get(clazz);
-- }
-- }
--
-- public static String createForSpecialCase(java.io.Serializable ser){
-- Class clazz = ser.getClass();
-- if (clazz.isArray()){
-- return createSequenceRepID(ser);
-- }
-- else
-- return createForSpecialCase(clazz);
-- }
--
-- /**
-- * Creates a repository ID for a normal Java Type.
-- * @param ser The Java object to create a repository ID for
-- * @exception com.sun.corba.se.impl.io.TypeMismatchException if ser implements the
-- * org.omg.CORBA.portable.IDLEntity interface which indicates it is an IDL Value type.
-- **/
-- public static String createForJavaType(java.io.Serializable ser)
-- throws com.sun.corba.se.impl.io.TypeMismatchException
-- {
-- synchronized (classToRepStr) {
-- String repid = createForSpecialCase(ser);
-- if (repid != null)
-- return repid;
-- Class clazz = ser.getClass();
-- repid = (String)classToRepStr.get(clazz);
--
-- if (repid != null)
-- return repid;
--
-- repid = kValuePrefix + convertToISOLatin1(clazz.getName()) +
-- createHashString(clazz);
--
-- classToRepStr.put(clazz, repid);
-- repStrToClass.put(repid, clazz);
-- return repid;
-- }
-- }
--
-- /**
-- * Creates a repository ID for a normal Java Type.
-- * @param clz The Java class to create a repository ID for
-- * @exception com.sun.corba.se.impl.io.TypeMismatchException if ser implements the
-- * org.omg.CORBA.portable.IDLEntity interface which indicates it is an IDL Value type.
-- **/
-- public static String createForJavaType(Class clz)
-- throws com.sun.corba.se.impl.io.TypeMismatchException
-- {
-- synchronized (classToRepStr){
-- String repid = createForSpecialCase(clz);
-- if (repid != null)
-- return repid;
--
-- repid = (String)classToRepStr.get(clz);
-- if (repid != null)
-- return repid;
--
-- repid = kValuePrefix + convertToISOLatin1(clz.getName()) +
-- createHashString(clz);
--
-- classToRepStr.put(clz, repid);
-- repStrToClass.put(repid, clz);
-- return repid;
-- }
-- }
--
-- /**
-- * Creates a repository ID for an IDL Java Type.
-- * @param ser The IDL Value object to create a repository ID for
-- * @param major The major version number
-- * @param minor The minor version number
-- * @exception com.sun.corba.se.impl.io.TypeMismatchException if ser does not implement the
-- * org.omg.CORBA.portable.IDLEntity interface which indicates it is an IDL Value type.
-- **/
-- public static String createForIDLType(Class ser, int major, int minor)
-- throws com.sun.corba.se.impl.io.TypeMismatchException
-- {
-- synchronized (classIDLToRepStr){
-- String repid = (String)classIDLToRepStr.get(ser);
-- if (repid != null)
-- return repid;
--
-- repid = kIDLPrefix + convertToISOLatin1(ser.getName()).replace('.','/') +
-- ":" + major + "." + minor;
-- classIDLToRepStr.put(ser, repid);
-- return repid;
-- }
-- }
--
-- private static String getIdFromHelper(Class clazz){
-- try {
-- Class helperClazz = Utility.loadClassForClass(clazz.getName()+"Helper", null,
-- clazz.getClassLoader(), clazz, clazz.getClassLoader());
-- Method idMethod = helperClazz.getDeclaredMethod("id", kNoParamTypes);
-- return (String)idMethod.invoke(null, kNoArgs);
-- }
-- catch(java.lang.ClassNotFoundException cnfe)
-- {
-- throw new org.omg.CORBA.MARSHAL(cnfe.toString());
-- }
-- catch(java.lang.NoSuchMethodException nsme)
-- {
-- throw new org.omg.CORBA.MARSHAL(nsme.toString());
-- }
-- catch(java.lang.reflect.InvocationTargetException ite)
-- {
-- throw new org.omg.CORBA.MARSHAL(ite.toString());
-- }
-- catch(java.lang.IllegalAccessException iae)
-- {
-- throw new org.omg.CORBA.MARSHAL(iae.toString());
-- }
-- }
--
-- /**
-- * Createa a repository ID for the type if it is either a java type
-- * or an IDL type.
-- * @param type The type to create rep. id for
-- * @return The rep. id.
-- **/
-- public static String createForAnyType(Class type) {
-- try{
-- if (type.isArray())
-- return createSequenceRepID(type);
-- else if (IDLEntity.class.isAssignableFrom(type))
-- {
-- try{
-- return getIdFromHelper(type);
-- }
-- catch(Throwable t) {
-- return createForIDLType(type, 1, 0);
-- }
-- }
-- else return createForJavaType(type);
-- }
-- catch(com.sun.corba.se.impl.io.TypeMismatchException e){
-- return null;
-- }
--
-- }
--
-- public static boolean isAbstractBase(Class clazz) {
-- return (clazz.isInterface() &&
-- IDLEntity.class.isAssignableFrom(clazz) &&
-- (!ValueBase.class.isAssignableFrom(clazz)) &&
-- (!org.omg.CORBA.Object.class.isAssignableFrom(clazz)));
--
-- }
--
-- /**
-- * Convert strings with illegal IDL identifier characters.
-- * <p>
-- * Section 5.5.7 of OBV spec.
-- */
-- private static String convertToISOLatin1 (String name) {
--
-- int length = name.length();
-- if (length == 0) {
-- return name;
-- }
-- StringBuffer buffer = null;
--
-- for (int i = 0; i < length; i++) {
--
-- char c = name.charAt(i);
--
-- if (c > 255 || IDL_IDENTIFIER_CHARS[c] == 0) {
--
-- // We gotta convert. Have we already started?
--
-- if (buffer == null) {
--
-- // No, so get set up...
--
-- buffer = new StringBuffer(name.substring(0,i));
-- }
--
-- // Convert the character into the IDL escape syntax...
-- buffer.append(
-- "\\U" +
-- (char)ASCII_HEX[(c & 0xF000) >>> 12] +
-- (char)ASCII_HEX[(c & 0x0F00) >>> 8] +
-- (char)ASCII_HEX[(c & 0x00F0) >>> 4] +
-- (char)ASCII_HEX[(c & 0x000F)]);
--
-- } else {
-- if (buffer != null) {
-- buffer.append(c);
-- }
-- }
-- }
--
-- if (buffer != null) {
-- name = buffer.toString();
-- }
--
-- return name;
-- }
--
-- /**
-- * Convert strings with ISO Latin 1 escape sequences back to original strings.
-- * <p>
-- * Section 5.5.7 of OBV spec.
-- */
-- private static String convertFromISOLatin1 (String name) {
--
-- int index = -1;
-- StringBuffer buf = new StringBuffer(name);
--
-- while ((index = buf.toString().indexOf("\\U")) != -1){
-- String str = "0000" + buf.toString().substring(index+2, index+6);
--
-- // Convert Hexadecimal
-- byte[] buffer = new byte[(str.length() - 4) / 2];
-- for (int i=4, j=0; i < str.length(); i +=2, j++) {
-- buffer[j] = (byte)((ORBUtility.hexOf(str.charAt(i)) << 4) & 0xF0);
-- buffer[j] |= (byte)((ORBUtility.hexOf(str.charAt(i+1)) << 0) & 0x0F);
-- }
-- buf = new StringBuffer(delete(buf.toString(), index, index+6));
-- buf.insert(index, (char)buffer[1]);
-- }
--
-- return buf.toString();
--
--
-- }
--
-- private static String delete(String str, int from, int to)
-- {
-- return str.substring(0, from) + str.substring(to, str.length());
-- }
--
-- private static String replace(String target, String arg, String source)
-- {
-- int i = 0;
-- i = target.indexOf(arg);
--
-- while(i != -1)
-- {
-- String left = target.substring(0, i);
-- String right = target.substring(i+arg.length());
-- target = new String(left+source+right);
-- i = target.indexOf(arg);
-- }
-- return target;
-- }
--
-- /*
-- * Load a class and check that it is assignable to a given type.
-- * @param className the class name.
-- * @param remoteCodebase the codebase to use. May be null.
-- * @param loader the class loader of last resort. May be null.
-- * @param expectedType the expected type. May be null.
-- * @return the loaded class.
-- */
-- private Class loadClassOfType (String className,
-- String remoteCodebase,
-- ClassLoader loader,
-- Class expectedType,
-- ClassLoader expectedTypeClassLoader)
-- throws ClassNotFoundException {
--
-- Class loadedClass = null;
--
-- try {
-- //Sequence finding of the stubs according to spec
-- try{
-- //If-else is put here for speed up of J2EE.
-- //According to the OMG spec, the if clause is not dead code.
-- //It can occur if some compiler has allowed generation
-- //into org.omg.stub hierarchy for non-offending
-- //classes. This will encourage people to
-- //produce non-offending class stubs in their own hierarchy.
-- if(!PackagePrefixChecker
-- .hasOffendingPrefix(PackagePrefixChecker
-- .withoutPackagePrefix(className))){
-- loadedClass = Util.loadClass
-- (PackagePrefixChecker.withoutPackagePrefix(className),
-- remoteCodebase,
-- loader);
-- } else {
-- loadedClass = Util.loadClass
-- (className,
-- remoteCodebase,
-- loader);
-- }
-- } catch (ClassNotFoundException cnfe) {
-- loadedClass = Util.loadClass
-- (className,
-- remoteCodebase,
-- loader);
-- }
-- if (expectedType == null)
-- return loadedClass;
-- } catch (ClassNotFoundException cnfe) {
-- if (expectedType == null)
-- throw cnfe;
-- }
--
-- // If no class was not loaded, or if the loaded class is not of the
-- // correct type, make a further attempt to load the correct class
-- // using the classloader of the expected type.
-- // _REVISIT_ Is this step necessary, or should the Util,loadClass
-- // algorithm always produce a valid class if the setup is correct?
-- // Does the OMG standard algorithm need to be changed to include
-- // this step?
-- if (loadedClass == null || !expectedType.isAssignableFrom(loadedClass)) {
-- if (expectedType.getClassLoader() != expectedTypeClassLoader)
-- throw new IllegalArgumentException("expectedTypeClassLoader not class loader of expectedType.");
--
-- if (expectedTypeClassLoader != null)
-- loadedClass = expectedTypeClassLoader.loadClass(className);
-- else
-- loadedClass = ORBClassLoader.loadClass(className);
-- }
--
-- return loadedClass;
-- }
--
-- /**
-- * Checks to see if the FullValueDescription should be retrieved.
-- * @exception Throws IOException if suids do not match or if the repositoryID
-- * is not an RMIValueType
-- */
-- public static boolean useFullValueDescription(Class clazz, String repositoryID)
-- throws IOException{
--
-- String clazzRepIDStr = createForAnyType(clazz);
--
-- if (clazzRepIDStr.equals(repositoryID))
-- return false;
--
-- RepositoryId_1_3 targetRepid;
-- RepositoryId_1_3 clazzRepid;
--
-- synchronized(cache) {
-- // to avoid race condition where multiple threads could be
-- // accessing this method, and their access to the cache may
-- // be interleaved giving unexpected results
--
-- targetRepid = cache.getId(repositoryID);
-- clazzRepid = cache.getId(clazzRepIDStr);
-- }
--
-- if ((targetRepid.isRMIValueType()) && (clazzRepid.isRMIValueType())){
-- if (!targetRepid.getSerialVersionUID().equals(clazzRepid.getSerialVersionUID())) {
--
-- String mssg = "Mismatched serialization UIDs : Source (Rep. ID" +
-- clazzRepid + ") = " +
-- clazzRepid.getSerialVersionUID() + " whereas Target (Rep. ID " + repositoryID +
-- ") = " + targetRepid.getSerialVersionUID();
-- throw new IOException(mssg);
-- } else {
-- return true;
-- }
-- } else {
--
-- throw new IOException("The repository ID is not of an RMI value type (Expected ID = " + clazzRepIDStr + "; Received ID = " + repositoryID +")");
-- }
-- }
--}
---- corba/src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryId_1_3_1.java 2012-08-10 09:10:34.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryId_1_3_1.java 1969-12-31 16:00:00.000000000 -0800
-@@ -1,1065 +0,0 @@
++#
++# 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 +44,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 +67,86 @@
+ 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
++ SDDeclNameInvalid = XML \u58F0\u660E\u4E2D\u7684\u72EC\u7ACB\u540D\u79F0\u53EF\u80FD\u62FC\u5199\u6709\u8BEF\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 \"<!--\" \u5F00\u5934\u3002
+- DashDashInComment = \u6CE8\u91CA\u4E2D\u4E0D\u5141\u8BB8\u51FA\u73B0\u5B57\u7B26\u4E32 \"--\"\u3002
+- CommentUnterminated = \u6CE8\u91CA\u5FC5\u987B\u4EE5 \"-->\" \u7ED3\u5C3E\u3002
++ InvalidCommentStart = \u6CE8\u91CA\u5FC5\u987B\u4EE5 "<!--" \u5F00\u5934\u3002
++ DashDashInComment = \u6CE8\u91CA\u4E2D\u4E0D\u5141\u8BB8\u51FA\u73B0\u5B57\u7B26\u4E32 "--"\u3002
++ CommentUnterminated = \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 \"&#x\" \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 "&#x" \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 \"<!DOCTYPE\" \u540E\u9762\u9700\u8981\u6709\u7A7A\u683C\u3002
+- MSG_ROOT_ELEMENT_TYPE_REQUIRED = \u5728\u6587\u6863\u7C7B\u578B\u58F0\u660E\u4E2D, \u6839\u5143\u7D20\u7C7B\u578B\u5FC5\u987B\u51FA\u73B0\u5728 \"<!DOCTYPE\" \u540E\u9762\u3002
+- DoctypedeclUnterminated = \u6839\u5143\u7D20\u7C7B\u578B \"{0}\" \u7684\u6587\u6863\u7C7B\u578B\u58F0\u660E\u5FC5\u987B\u4EE5 ''>'' \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 "<!DOCTYPE" \u540E\u9762\u9700\u8981\u6709\u7A7A\u683C\u3002
++ MSG_ROOT_ELEMENT_TYPE_REQUIRED = \u5728\u6587\u6863\u7C7B\u578B\u58F0\u660E\u4E2D, \u6839\u5143\u7D20\u7C7B\u578B\u5FC5\u987B\u51FA\u73B0\u5728 "<!DOCTYPE" \u540E\u9762\u3002
++ DoctypedeclUnterminated = \u6839\u5143\u7D20\u7C7B\u578B "{0}" \u7684\u6587\u6863\u7C7B\u578B\u58F0\u660E\u5FC5\u987B\u4EE5 ''>'' \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 \"<!ELEMENT\" \u540E\u9762\u9700\u8981\u6709\u7A7A\u683C\u3002
++ MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ELEMENTDECL = \u5728\u5143\u7D20\u7C7B\u578B\u58F0\u660E\u4E2D\u7684 "<!ELEMENT" \u540E\u9762\u9700\u8981\u6709\u7A7A\u683C\u3002
+ MSG_ELEMENT_TYPE_REQUIRED_IN_ELEMENTDECL = \u5143\u7D20\u7C7B\u578B\u58F0\u660E\u4E2D\u9700\u8981\u6709\u5143\u7D20\u7C7B\u578B\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
++ 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 \"<!ATTLIST\" \u540E\u9762\u9700\u8981\u6709\u7A7A\u683C\u3002
++ MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ATTLISTDECL = \u5728\u5C5E\u6027\u5217\u8868\u58F0\u660E\u4E2D\u7684 "<!ATTLIST" \u540E\u9762\u9700\u8981\u6709\u7A7A\u683C\u3002
+ MSG_ELEMENT_TYPE_REQUIRED_IN_ATTLISTDECL = \u5C5E\u6027\u5217\u8868\u58F0\u660E\u4E2D\u9700\u8981\u6709\u5143\u7D20\u7C7B\u578B\u3002
+- MSG_SPACE_REQUIRED_BEFORE_ATTRIBUTE_NAME_IN_ATTDEF = \u5728\u5143\u7D20 \"{0}\" \u7684\u5C5E\u6027\u5217\u8868\u58F0\u660E\u4E2D\u7684\u5C5E\u6027\u540D\u524D\u9762\u9700\u8981\u6709\u7A7A\u683C\u3002
+- AttNameRequiredInAttDef = \u5728\u5143\u7D20 \"{0}\" \u7684\u5C5E\u6027\u5217\u8868\u58F0\u660E\u4E2D\u5FC5\u987B\u6307\u5B9A\u5C5E\u6027\u540D\u3002
+- MSG_SPACE_REQUIRED_BEFORE_ATTTYPE_IN_ATTDEF = \u5728\u5143\u7D20 \"{0}\" \u7684\u5C5E\u6027 \"{1}\" \u7684\u58F0\u660E\u4E2D, \u5728\u5C5E\u6027\u7C7B\u578B\u524D\u9762\u9700\u8981\u6709\u7A7A\u683C\u3002
+- AttTypeRequiredInAttDef = \u5728\u5143\u7D20 \"{0}\" \u7684\u5C5E\u6027 \"{1}\" \u7684\u58F0\u660E\u4E2D\u9700\u8981\u6709\u5C5E\u6027\u7C7B\u578B\u3002
+- MSG_SPACE_REQUIRED_BEFORE_DEFAULTDECL_IN_ATTDEF = \u5728\u5143\u7D20 \"{0}\" \u7684\u5C5E\u6027 \"{1}\" \u7684\u58F0\u660E\u4E2D, \u5728\u5C5E\u6027\u9ED8\u8BA4\u503C\u524D\u9762\u9700\u8981\u6709\u7A7A\u683C\u3002
+- MSG_DUPLICATE_ATTRIBUTE_DEFINITION = \u4E3A\u6307\u5B9A\u5143\u7D20 \"{0}\" \u7684\u540C\u4E00\u5C5E\u6027 \"{1}\" \u63D0\u4F9B\u4E86\u591A\u4E2A\u5C5E\u6027\u5B9A\u4E49\u3002
++ MSG_SPACE_REQUIRED_BEFORE_ATTRIBUTE_NAME_IN_ATTDEF = \u5728\u5143\u7D20 "{0}" \u7684\u5C5E\u6027\u5217\u8868\u58F0\u660E\u4E2D\u7684\u5C5E\u6027\u540D\u524D\u9762\u9700\u8981\u6709\u7A7A\u683C\u3002
++ AttNameRequiredInAttDef = \u5728\u5143\u7D20 "{0}" \u7684\u5C5E\u6027\u5217\u8868\u58F0\u660E\u4E2D\u5FC5\u987B\u6307\u5B9A\u5C5E\u6027\u540D\u3002
++ MSG_SPACE_REQUIRED_BEFORE_ATTTYPE_IN_ATTDEF = \u5728\u5143\u7D20 "{0}" \u7684\u5C5E\u6027 "{1}" \u7684\u58F0\u660E\u4E2D, \u5728\u5C5E\u6027\u7C7B\u578B\u524D\u9762\u9700\u8981\u6709\u7A7A\u683C\u3002
++ AttTypeRequiredInAttDef = \u5728\u5143\u7D20 "{0}" \u7684\u5C5E\u6027 "{1}" \u7684\u58F0\u660E\u4E2D\u9700\u8981\u6709\u5C5E\u6027\u7C7B\u578B\u3002
++ MSG_SPACE_REQUIRED_BEFORE_DEFAULTDECL_IN_ATTDEF = \u5728\u5143\u7D20 "{0}" \u7684\u5C5E\u6027 "{1}" \u7684\u58F0\u660E\u4E2D, \u5728\u5C5E\u6027\u9ED8\u8BA4\u503C\u524D\u9762\u9700\u8981\u6709\u7A7A\u683C\u3002
++ MSG_DUPLICATE_ATTRIBUTE_DEFINITION = \u4E3A\u6307\u5B9A\u5143\u7D20 "{0}" \u7684\u540C\u4E00\u5C5E\u6027 "{1}" \u63D0\u4F9B\u4E86\u591A\u4E2A\u5C5E\u6027\u5B9A\u4E49\u3002
+ # 3.3.1 Attribute Types
+- MSG_SPACE_REQUIRED_AFTER_NOTATION_IN_NOTATIONTYPE = \u5728 \"{1}\" \u5C5E\u6027\u58F0\u660E\u4E2D, \u7A7A\u683C\u5FC5\u987B\u51FA\u73B0\u5728 \"NOTATION\" \u540E\u9762\u3002
+- MSG_OPEN_PAREN_REQUIRED_IN_NOTATIONTYPE = \u5728 \"{1}\" \u5C5E\u6027\u58F0\u660E\u4E2D, \"NOTATION\" \u540E\u9762\u5FC5\u987B\u8DDF\u6709 ''('' \u5B57\u7B26\u3002
+- MSG_NAME_REQUIRED_IN_NOTATIONTYPE = \u5728 \"{1}\" \u5C5E\u6027\u58F0\u660E\u7684\u8BB0\u53F7\u7C7B\u578B\u5217\u8868\u4E2D\u9700\u8981\u6709\u8BB0\u53F7\u540D\u79F0\u3002
+- NotationTypeUnterminated = \u5728 \"{1}\" \u5C5E\u6027\u58F0\u660E\u4E2D, \u8BB0\u53F7\u7C7B\u578B\u5217\u8868\u5FC5\u987B\u4EE5 '')'' \u7ED3\u5C3E\u3002
+- MSG_NMTOKEN_REQUIRED_IN_ENUMERATION = \u5728 \"{1}\" \u5C5E\u6027\u58F0\u660E\u7684\u679A\u4E3E\u7C7B\u578B\u5217\u8868\u4E2D\u9700\u8981\u6709\u540D\u79F0\u6807\u8BB0\u3002
+- EnumerationUnterminated = \u5728 \"{1}\" \u5C5E\u6027\u58F0\u660E\u4E2D, \u679A\u4E3E\u7C7B\u578B\u5217\u8868\u5FC5\u987B\u4EE5 '')'' \u7ED3\u5C3E\u3002
+- MSG_DISTINCT_TOKENS_IN_ENUMERATION = \u5728\u5143\u7D20 \"{0}\" \u7684\u5C5E\u6027 \"{2}\" \u7684\u58F0\u660E\u4E2D, \u679A\u4E3E\u503C \"{1}\" \u6307\u5B9A\u4E86\u591A\u6B21\u3002\u5355\u4E2A\u679A\u4E3E\u5C5E\u6027\u58F0\u660E\u4E2D\u7684 NMTOKENS \u5FC5\u987B\u5168\u90E8\u4E0D\u76F8\u540C\u3002
+- MSG_DISTINCT_NOTATION_IN_ENUMERATION = \u5728\u5143\u7D20 \"{0}\" \u7684\u5C5E\u6027 \"{2}\" \u7684\u58F0\u660E\u4E2D, \u679A\u4E3E\u503C \"{1}\" \u6307\u5B9A\u4E86\u591A\u6B21\u3002\u5355\u4E2A NotationType \u5C5E\u6027\u58F0\u660E\u4E2D\u7684 NOTATION \u540D\u79F0\u5FC5\u987B\u5168\u90E8\u4E0D\u76F8\u540C\u3002
++ MSG_SPACE_REQUIRED_AFTER_NOTATION_IN_NOTATIONTYPE = \u5728 "{1}" \u5C5E\u6027\u58F0\u660E\u4E2D, \u7A7A\u683C\u5FC5\u987B\u51FA\u73B0\u5728 "NOTATION" \u540E\u9762\u3002
++ MSG_OPEN_PAREN_REQUIRED_IN_NOTATIONTYPE = \u5728 "{1}" \u5C5E\u6027\u58F0\u660E\u4E2D, "NOTATION" \u540E\u9762\u5FC5\u987B\u8DDF\u6709 ''('' \u5B57\u7B26\u3002
++ MSG_NAME_REQUIRED_IN_NOTATIONTYPE = \u5728 "{1}" \u5C5E\u6027\u58F0\u660E\u7684\u8BB0\u53F7\u7C7B\u578B\u5217\u8868\u4E2D\u9700\u8981\u6709\u8BB0\u53F7\u540D\u79F0\u3002
++ NotationTypeUnterminated = \u5728 "{1}" \u5C5E\u6027\u58F0\u660E\u4E2D, \u8BB0\u53F7\u7C7B\u578B\u5217\u8868\u5FC5\u987B\u4EE5 '')'' \u7ED3\u5C3E\u3002
++ MSG_NMTOKEN_REQUIRED_IN_ENUMERATION = \u5728 "{1}" \u5C5E\u6027\u58F0\u660E\u7684\u679A\u4E3E\u7C7B\u578B\u5217\u8868\u4E2D\u9700\u8981\u6709\u540D\u79F0\u6807\u8BB0\u3002
++ EnumerationUnterminated = \u5728 "{1}" \u5C5E\u6027\u58F0\u660E\u4E2D, \u679A\u4E3E\u7C7B\u578B\u5217\u8868\u5FC5\u987B\u4EE5 '')'' \u7ED3\u5C3E\u3002
++ MSG_DISTINCT_TOKENS_IN_ENUMERATION = \u5728\u5143\u7D20 "{0}" \u7684\u5C5E\u6027 "{2}" \u7684\u58F0\u660E\u4E2D, \u679A\u4E3E\u503C "{1}" \u6307\u5B9A\u4E86\u591A\u6B21\u3002\u5355\u4E2A\u679A\u4E3E\u5C5E\u6027\u58F0\u660E\u4E2D\u7684 NMTOKENS \u5FC5\u987B\u5168\u90E8\u4E0D\u76F8\u540C\u3002
++ MSG_DISTINCT_NOTATION_IN_ENUMERATION = \u5728\u5143\u7D20 "{0}" \u7684\u5C5E\u6027 "{2}" \u7684\u58F0\u660E\u4E2D, \u679A\u4E3E\u503C "{1}" \u6307\u5B9A\u4E86\u591A\u6B21\u3002\u5355\u4E2A NotationType \u5C5E\u6027\u58F0\u660E\u4E2D\u7684 NOTATION \u540D\u79F0\u5FC5\u987B\u5168\u90E8\u4E0D\u76F8\u540C\u3002
+ # 3.3.2 Attribute Defaults
+- MSG_SPACE_REQUIRED_AFTER_FIXED_IN_DEFAULTDECL = \u5728 \"{1}\" \u5C5E\u6027\u58F0\u660E\u4E2D, \u7A7A\u683C\u5FC5\u987B\u51FA\u73B0\u5728 \"FIXED\" \u540E\u9762\u3002
++ MSG_SPACE_REQUIRED_AFTER_FIXED_IN_DEFAULTDECL = \u5728 "{1}" \u5C5E\u6027\u58F0\u660E\u4E2D, \u7A7A\u683C\u5FC5\u987B\u51FA\u73B0\u5728 "FIXED" \u540E\u9762\u3002
+ # 3.4 Conditional Sections
+- 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
++ 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 \"<!ENTITY\" \u540E\u9762\u9700\u8981\u6709\u7A7A\u683C\u3002
+- MSG_SPACE_REQUIRED_BEFORE_PERCENT_IN_PEDECL = \u5728\u53C2\u6570\u5B9E\u4F53\u58F0\u660E\u4E2D\u7684 \"<!ENTITY\" \u548C '%' \u5B57\u7B26\u4E4B\u95F4\u9700\u8981\u6709\u7A7A\u683C\u3002
++ MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_ENTITYDECL = \u5728\u5B9E\u4F53\u58F0\u660E\u4E2D\u7684 "<!ENTITY" \u540E\u9762\u9700\u8981\u6709\u7A7A\u683C\u3002
++ MSG_SPACE_REQUIRED_BEFORE_PERCENT_IN_PEDECL = \u5728\u53C2\u6570\u5B9E\u4F53\u58F0\u660E\u4E2D\u7684 "<!ENTITY" \u548C '%' \u5B57\u7B26\u4E4B\u95F4\u9700\u8981\u6709\u7A7A\u683C\u3002
+ MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_PEDECL = \u5728\u53C2\u6570\u5B9E\u4F53\u58F0\u660E\u4E2D\u7684 '%' \u548C\u5B9E\u4F53\u540D\u79F0\u4E4B\u95F4\u9700\u8981\u6709\u7A7A\u683C\u3002
+ MSG_ENTITY_NAME_REQUIRED_IN_ENTITYDECL = \u5B9E\u4F53\u58F0\u660E\u4E2D\u9700\u8981\u6709\u5B9E\u4F53\u540D\u79F0\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
++ 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 \"<!NOTATION\" \u540E\u9762\u9700\u8981\u6709\u7A7A\u683C\u3002
++ MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_NOTATIONDECL = \u5728\u8BB0\u53F7\u58F0\u660E\u4E2D\u7684 "<!NOTATION" \u540E\u9762\u9700\u8981\u6709\u7A7A\u683C\u3002
+ MSG_NOTATION_NAME_REQUIRED_IN_NOTATIONDECL = \u8BB0\u53F7\u58F0\u660E\u4E2D\u9700\u8981\u6709\u8BB0\u53F7\u540D\u79F0\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
++ 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 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.
++ 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 accessExternalDTD \u5C5E\u6027\u8BBE\u7F6E\u7684\u9650\u5236\u5BFC\u81F4\u4E0D\u5141\u8BB8 ''{1}'' \u8BBF\u95EE\u3002
++ AccessExternalEntity = \u5916\u90E8\u5B9E\u4F53: \u65E0\u6CD5\u8BFB\u53D6\u5916\u90E8\u6587\u6863 ''{0}'', \u56E0\u4E3A accessExternalDTD \u5C5E\u6027\u8BBE\u7F6E\u7684\u9650\u5236\u5BFC\u81F4\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
+@@ -320,8 +317,10 @@
+ InvalidCharInLiteral=InvalidCharInLiteral
+
+
+-#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
++# Implementation limits
++ EntityExpansionLimitExceeded=JAXP00010001: \u89E3\u6790\u5668\u5728\u6B64\u6587\u6863\u4E2D\u9047\u5230\u591A\u4E2A "{0}" \u5B9E\u4F53\u6269\u5C55; \u8FD9\u662F JDK \u65BD\u52A0\u7684\u9650\u5236\u3002
++ ElementAttributeLimit=JAXP00010002: \u5143\u7D20 "{0}" \u5177\u6709\u591A\u4E2A "{1}" \u5C5E\u6027, "{1}" \u662F JDK \u65BD\u52A0\u7684\u9650\u5236\u3002
++ MaxEntitySizeLimit=JAXP00010003: \u5B9E\u4F53 "{0}" \u7684\u957F\u5EA6\u4E3A "{1}", \u8D85\u8FC7\u4E86 "{3}" \u8BBE\u7F6E\u7684 "{2}" \u9650\u5236\u3002
++ TotalEntitySizeLimit=JAXP00010004: \u5B9E\u4F53\u7684\u7D2F\u8BA1\u5927\u5C0F "{0}" \u8D85\u8FC7\u4E86 "{2}" \u8BBE\u7F6E\u7684 "{1}" \u9650\u5236\u3002
++ MaxXMLNameLimit=JAXP00010005: \u540D\u79F0 "{0}" \u8D85\u8FC7\u4E86 "{2}" \u8BBE\u7F6E\u7684 "{1}" \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
+--- jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_TW.properties 2013-09-06 11:22:59.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_TW.properties 2013-12-01 11:13:41.000000000 -0800
+@@ -1,30 +1,27 @@
-/*
-- * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
@@ -3540,1843 +8224,2155 @@
- */
-
-/*
+- * Copyright (c) 2009 by Oracle Corporation. All Rights Reserved.
- */
--package com.sun.corba.se.impl.orbutil;
--
--import java.util.StringTokenizer;
--import java.util.Hashtable;
--import java.io.IOException;
--import java.lang.reflect.Method;
--import java.net.MalformedURLException;
--import org.omg.CORBA.portable.ValueBase;
--import org.omg.CORBA.portable.IDLEntity;
--
--//d11638 files in the same package, therefore remove their reference
--//import com.sun.corba.se.impl.util.JDKBridge;
--//import com.sun.corba.se.impl.util.IdentityHashtable;
--import com.sun.corba.se.impl.util.JDKBridge;
--import com.sun.corba.se.impl.util.Utility;
--import com.sun.corba.se.impl.util.PackagePrefixChecker;
--import com.sun.corba.se.impl.util.IdentityHashtable;
--
--import javax.rmi.CORBA.Util;
--
--/**
-- * Because all methods in RepositoryId are static, we have
-- * to duplicate all of this code, freezing it in its 1.3.1
-- * form for backwards compatibility.
-- *
-- * For security reasons, we can't expose enough of
-- * io/ObjectStreamClass, so it has to be duplicated in
-- * orbutil.
-- */
--public class RepositoryId_1_3_1 {
--
-- // Legal IDL Identifier characters (1 = legal). Note
-- // that '.' (2E) is marked as legal even though it is
-- // not legal in IDL. This allows us to treat a fully
-- // qualified Java name with '.' package separators
-- // uniformly, and is safe because that is the only
-- // legal use of '.' in a Java name.
--
-- private static final byte[] IDL_IDENTIFIER_CHARS = {
--
-- // 0 1 2 3 4 5 6 7 8 9 a b c d e f
-- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // 00-0f
-- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // 10-1f
-- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,1,0, // 20-2f
-- 1,1,1,1, 1,1,1,1, 1,1,0,0, 0,0,0,0, // 30-3f
-- 0,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, // 40-4f
-- 1,1,1,1, 1,1,1,1, 1,1,1,0, 0,0,0,1, // 50-5f
-- 0,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, // 60-6f
-- 1,1,1,1, 1,1,1,1, 1,1,1,0, 0,0,0,0, // 70-7f
-- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // 80-8f
-- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // 90-9f
-- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // a0-af
-- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // b0-bf
-- 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, // c0-cf
-- 0,1,1,1, 1,1,1,0, 1,1,1,1, 1,0,0,1, // d0-df
-- 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, // e0-ef
-- 0,1,1,1, 1,1,1,0, 1,1,1,1, 1,0,0,1, // f0-ff
-- };
--
--
-- private static final long serialVersionUID = 123456789L;
--
-- private static String defaultServerURL = null;
-- private static boolean useCodebaseOnly = false;
--
-- static {
-- if (defaultServerURL == null)
-- defaultServerURL = (String)JDKBridge.getLocalCodebase();
-- useCodebaseOnly = JDKBridge.useCodebaseOnly();
--
-- }
--
-- private static IdentityHashtable classToRepStr = new IdentityHashtable();
-- private static IdentityHashtable classIDLToRepStr = new IdentityHashtable();
-- private static IdentityHashtable classSeqToRepStr = new IdentityHashtable();
--
-- private static IdentityHashtable repStrToByteArray = new IdentityHashtable();
-- private static Hashtable repStrToClass = new Hashtable();
--
-- private String repId = null;
-- private boolean isSupportedFormat = true;
-- private String typeString = null;
-- private String versionString = null;
-- private boolean isSequence = false;
-- private boolean isRMIValueType = false;
-- private boolean isIDLType = false;
-- private String completeClassName = null;
-- private String unqualifiedName = null;
-- private String definedInId = null;
-- private Class clazz = null;
-- private String suid = null, actualSuid = null;
-- private long suidLong = ObjectStreamClass_1_3_1.kDefaultUID, actualSuidLong = ObjectStreamClass_1_3_1.kDefaultUID;
--
-- // Repository ID fragments
-- private static final String kSequenceKeyword = "seq";
-- private static final String kValuePrefix = "RMI:";
-- private static final String kIDLPrefix = "IDL:";
-- private static final String kIDLNamePrefix = "omg.org/";
-- private static final String kIDLClassnamePrefix = "org.omg.";
-- private static final String kSequencePrefix = "[";
-- private static final String kCORBAPrefix = "CORBA/";
-- private static final String kArrayPrefix = kValuePrefix + kSequencePrefix + kCORBAPrefix;
-- private static final int kValuePrefixLength = kValuePrefix.length();
-- private static final int kIDLPrefixLength = kIDLPrefix.length();
-- private static final int kSequencePrefixLength = kSequencePrefix.length();
-- private static final String kInterfaceHashCode = ":0000000000000000";
-- private static final String kInterfaceOnlyHashStr = "0000000000000000";
-- private static final String kExternalizableHashStr = "0000000000000001";
--
-- // Value tag utility methods and constants
-- public static final int kInitialValueTag= 0x7fffff00;
-- public static final int kNoTypeInfo = 0;
-- public static final int kSingleRepTypeInfo = 0x02;
-- public static final int kPartialListTypeInfo = 0x06;
-- public static final int kChunkedMask = 0x08;
-- public static final int kPreComputed_StandardRMIUnchunked = RepositoryId_1_3_1.computeValueTag(false, RepositoryId_1_3_1.kSingleRepTypeInfo, false);
-- public static final int kPreComputed_CodeBaseRMIUnchunked = RepositoryId_1_3_1.computeValueTag(true, RepositoryId_1_3_1.kSingleRepTypeInfo, false);
-- public static final int kPreComputed_StandardRMIChunked = RepositoryId_1_3_1.computeValueTag(false, RepositoryId_1_3_1.kSingleRepTypeInfo, true);
-- public static final int kPreComputed_CodeBaseRMIChunked = RepositoryId_1_3_1.computeValueTag(true, RepositoryId_1_3_1.kSingleRepTypeInfo, true);
--
-- public static final int kPreComputed_StandardRMIUnchunked_NoRep = RepositoryId_1_3_1.computeValueTag(false, RepositoryId_1_3_1.kNoTypeInfo, false);
-- public static final int kPreComputed_CodeBaseRMIUnchunked_NoRep = RepositoryId_1_3_1.computeValueTag(true, RepositoryId_1_3_1.kNoTypeInfo, false);
-- public static final int kPreComputed_StandardRMIChunked_NoRep = RepositoryId_1_3_1.computeValueTag(false, RepositoryId_1_3_1.kNoTypeInfo, true);
-- public static final int kPreComputed_CodeBaseRMIChunked_NoRep = RepositoryId_1_3_1.computeValueTag(true, RepositoryId_1_3_1.kNoTypeInfo, true);
--
-- // Public, well known repository IDs
--
-- // _REVISIT_ : A table structure with a good search routine for all of this
-- // would be more efficient and easier to maintain...
--
-- // String
-- public static final String kWStringValueVersion = "1.0";
-- public static final String kWStringValueHash = ":"+kWStringValueVersion;
-- public static final String kWStringStubValue = "WStringValue";
-- public static final String kWStringTypeStr = "omg.org/CORBA/"+kWStringStubValue;
-- public static final String kWStringValueRepID = kIDLPrefix + kWStringTypeStr + kWStringValueHash;
--
-- // Any
-- public static final String kAnyRepID = kIDLPrefix + "omg.org/CORBA/Any";
--
-- // Class
-- // Anita4: convert to uppercase
-- public static final String kClassDescValueHash = ":" +
-- Long.toHexString(
-- ObjectStreamClass_1_3_1.getActualSerialVersionUID(javax.rmi.CORBA.ClassDesc.class)).toUpperCase() + ":" +
-- Long.toHexString(
-- ObjectStreamClass_1_3_1.getSerialVersionUID(javax.rmi.CORBA.ClassDesc.class)).toUpperCase();
-- public static final String kClassDescStubValue = "ClassDesc";
-- public static final String kClassDescTypeStr = "javax.rmi.CORBA."+kClassDescStubValue;
-- public static final String kClassDescValueRepID = kValuePrefix + kClassDescTypeStr + kClassDescValueHash;
--
-- // Object
-- public static final String kObjectValueHash = ":1.0";
-- public static final String kObjectStubValue = "Object";
--
-- // Sequence
-- public static final String kSequenceValueHash = ":1.0";
-- public static final String kPrimitiveSequenceValueHash = ":0000000000000000";
--
-- // Serializable
-- public static final String kSerializableValueHash = ":1.0";
-- public static final String kSerializableStubValue = "Serializable";
--
-- // Externalizable
-- public static final String kExternalizableValueHash = ":1.0";
-- public static final String kExternalizableStubValue = "Externalizable";
--
-- // Remote (The empty string is used for java.rmi.Remote)
-- public static final String kRemoteValueHash = "";
-- public static final String kRemoteStubValue = "";
-- public static final String kRemoteTypeStr = "";
-- public static final String kRemoteValueRepID = "";
--
-- private static final Hashtable kSpecialArrayTypeStrings = new Hashtable();
--
-- static {
-- kSpecialArrayTypeStrings.put("CORBA.WStringValue", new StringBuffer(java.lang.String.class.getName()));
-- kSpecialArrayTypeStrings.put("javax.rmi.CORBA.ClassDesc", new StringBuffer(java.lang.Class.class.getName()));
-- kSpecialArrayTypeStrings.put("CORBA.Object", new StringBuffer(java.rmi.Remote.class.getName()));
--
-- }
--
-- private static final Hashtable kSpecialCasesRepIDs = new Hashtable();
--
-- static {
-- kSpecialCasesRepIDs.put(java.lang.String.class, kWStringValueRepID);
-- kSpecialCasesRepIDs.put(java.lang.Class.class, kClassDescValueRepID);
-- kSpecialCasesRepIDs.put(java.rmi.Remote.class, kRemoteValueRepID);
-- }
--
-- private static final Hashtable kSpecialCasesStubValues = new Hashtable();
--
-- static {
-- kSpecialCasesStubValues.put(java.lang.String.class, kWStringStubValue);
-- kSpecialCasesStubValues.put(java.lang.Class.class, kClassDescStubValue);
-- kSpecialCasesStubValues.put(java.lang.Object.class, kObjectStubValue);
-- kSpecialCasesStubValues.put(java.io.Serializable.class, kSerializableStubValue);
-- kSpecialCasesStubValues.put(java.io.Externalizable.class, kExternalizableStubValue);
-- kSpecialCasesStubValues.put(java.rmi.Remote.class, kRemoteStubValue);
-- }
--
--
-- private static final Hashtable kSpecialCasesVersions = new Hashtable();
--
-- static {
-- kSpecialCasesVersions.put(java.lang.String.class, kWStringValueHash);
-- kSpecialCasesVersions.put(java.lang.Class.class, kClassDescValueHash);
-- kSpecialCasesVersions.put(java.lang.Object.class, kObjectValueHash);
-- kSpecialCasesVersions.put(java.io.Serializable.class, kSerializableValueHash);
-- kSpecialCasesVersions.put(java.io.Externalizable.class, kExternalizableValueHash);
-- kSpecialCasesVersions.put(java.rmi.Remote.class, kRemoteValueHash);
-- }
--
-- private static final Hashtable kSpecialCasesClasses = new Hashtable();
--
-- static {
-- kSpecialCasesClasses.put(kWStringTypeStr, java.lang.String.class);
-- kSpecialCasesClasses.put(kClassDescTypeStr, java.lang.Class.class);
-- kSpecialCasesClasses.put(kRemoteTypeStr, java.rmi.Remote.class);
--
-- kSpecialCasesClasses.put("org.omg.CORBA.WStringValue", java.lang.String.class);
-- kSpecialCasesClasses.put("javax.rmi.CORBA.ClassDesc", java.lang.Class.class);
-- //kSpecialCasesClasses.put(kRemoteTypeStr, java.rmi.Remote.class);
-- }
--
-- private static final Hashtable kSpecialCasesArrayPrefix = new Hashtable();
--
-- static {
-- kSpecialCasesArrayPrefix.put(java.lang.String.class, kValuePrefix + kSequencePrefix + kCORBAPrefix);
-- kSpecialCasesArrayPrefix.put(java.lang.Class.class, kValuePrefix + kSequencePrefix + "javax/rmi/CORBA/");
-- kSpecialCasesArrayPrefix.put(java.lang.Object.class, kValuePrefix + kSequencePrefix + "java/lang/");
-- kSpecialCasesArrayPrefix.put(java.io.Serializable.class, kValuePrefix + kSequencePrefix + "java/io/");
-- kSpecialCasesArrayPrefix.put(java.io.Externalizable.class, kValuePrefix + kSequencePrefix + "java/io/");
-- kSpecialCasesArrayPrefix.put(java.rmi.Remote.class, kValuePrefix + kSequencePrefix + kCORBAPrefix);
-- }
--
-- private static final Hashtable kSpecialPrimitives = new Hashtable();
--
-- static {
-- kSpecialPrimitives.put("int","long");
-- kSpecialPrimitives.put("long","longlong");
-- kSpecialPrimitives.put("byte","octet");
-- }
--
-- /**
-- * Used to convert ascii to hex.
-- */
-- private static final byte ASCII_HEX[] = {
-- (byte)'0',
-- (byte)'1',
-- (byte)'2',
-- (byte)'3',
-- (byte)'4',
-- (byte)'5',
-- (byte)'6',
-- (byte)'7',
-- (byte)'8',
-- (byte)'9',
-- (byte)'A',
-- (byte)'B',
-- (byte)'C',
-- (byte)'D',
-- (byte)'E',
-- (byte)'F',
-- };
--
--
-- // bug fix for 4328952; to eliminate possibility of overriding this
-- // in a subclass.
-- public static final RepositoryIdCache_1_3_1 cache = new RepositoryIdCache_1_3_1();
--
-- // Interface Rep ID Strings
-- public static final String kjava_rmi_Remote = createForAnyType(java.rmi.Remote.class);
-- public static final String korg_omg_CORBA_Object = createForAnyType(org.omg.CORBA.Object.class);
--
-- // Dummy arguments for getIdFromHelper method
-- public static final Class kNoParamTypes[] ={};
-- public static final Object kNoArgs[] = {};
--
--
-- // To create a RepositoryID, use code similar to the following:
-- // RepositoryId.cache.getId( id );
--
-- RepositoryId_1_3_1(){}
--
-- RepositoryId_1_3_1(String aRepId){
-- init(aRepId);
-- }
--
-- RepositoryId_1_3_1 init(String aRepId){
--
-- this.repId = aRepId;
--
-- // Special case for remote
-- if (aRepId.length() == 0) {
-- clazz = java.rmi.Remote.class;
-- typeString = "";
-- isRMIValueType = true;
-- suid = kInterfaceOnlyHashStr;
-- return this;
-- }
-- else if (aRepId.equals(kWStringValueRepID)) {
-- clazz = java.lang.String.class;
-- typeString = kWStringTypeStr;
-- isIDLType = true;
-- // fix where Attempting to obtain a FullValueDescription
-- // for an RMI value type with a String field causes an exception.
-- completeClassName = "java.lang.String";
-- versionString = kWStringValueVersion;
-- return this;
-- }
-- else {
--
-- String repId = convertFromISOLatin1(aRepId);
--
-- versionString = repId.substring(repId.indexOf(':', repId.indexOf(':')+1));
-- if (repId.startsWith(kIDLPrefix)) {
-- typeString =
-- repId.substring(kIDLPrefixLength, repId.indexOf(':', kIDLPrefixLength));
-- isIDLType = true;
-- if (typeString.startsWith(kIDLNamePrefix))
-- completeClassName = kIDLClassnamePrefix +
-- typeString.substring(kIDLNamePrefix.length()).replace('/','.');
-- else completeClassName = typeString.replace('/','.');
--
-- }
-- else if (repId.startsWith(kValuePrefix)) {
-- typeString =
-- repId.substring(kValuePrefixLength, repId.indexOf(':', kValuePrefixLength));
-- isRMIValueType = true;
--
-- if (versionString.indexOf('.') == -1) {
-- actualSuid = versionString.substring(1);
-- suid = actualSuid; // default if not explicitly specified
--
-- if (actualSuid.indexOf(':') != -1){
-- // we have a declared hash also
-- int pos = actualSuid.indexOf(':')+1;
-- // actualSuid = suid.substring(pos);
-- // suid = suid.substring(0, pos-1);
-- suid = actualSuid.substring(pos);
-- actualSuid = actualSuid.substring(0, pos-1);
-- }
--
-- }
-- else {
-- // _REVISIT_ : Special case version failure ?
-- }
-- }
-- else isSupportedFormat = false;
--
-- if (typeString.startsWith(kSequencePrefix)) {
-- isSequence = true;
-- }
--
--
-- return this;
-- }
-- }
--
-- public final String getUnqualifiedName() {
-- if (unqualifiedName == null){
-- String className = getClassName();
-- int index = className.lastIndexOf('.');
-- if (index == -1){
-- unqualifiedName = className;
-- definedInId = "IDL::1.0";
-- }
-- else {
-- unqualifiedName = className.substring(index);
-- definedInId = "IDL:" + className.substring(0, index).replace('.','/') + ":1.0";
-- }
-- }
--
-- return unqualifiedName;
-- }
--
-- public final String getDefinedInId() {
-- if (definedInId == null){
-- getUnqualifiedName();
-- }
--
-- return definedInId;
-- }
--
-- public final String getTypeString() {
-- return typeString;
-- }
--
-- public final String getVersionString() {
-- return versionString;
-- }
--
-- public final String getSerialVersionUID() {
-- return suid;
-- }
--
-- public final String getActualSerialVersionUID() {
-- return actualSuid;
-- }
-- public final long getSerialVersionUIDAsLong() {
-- return suidLong;
-- }
--
-- public final long getActualSerialVersionUIDAsLong() {
-- return actualSuidLong;
-- }
--
-- public final boolean isRMIValueType() {
-- return isRMIValueType;
-- }
--
-- public final boolean isIDLType() {
-- return isIDLType;
-- }
--
-- public final String getRepositoryId() {
-- return repId;
-- }
--
-- public static byte[] getByteArray(String repStr) {
-- synchronized (repStrToByteArray){
-- return (byte[]) repStrToByteArray.get(repStr);
-- }
-- }
--
-- public static void setByteArray(String repStr, byte[] repStrBytes) {
-- synchronized (repStrToByteArray){
-- repStrToByteArray.put(repStr, repStrBytes);
-- }
-- }
--
-- public final boolean isSequence() {
-- return isSequence;
-- }
--
-- public final boolean isSupportedFormat() {
-- return isSupportedFormat;
-- }
--
--
-- // This method will return the classname from the typestring OR if the classname turns out to be
-- // a special class "pseudo" name, then the matching real classname is returned.
-- public final String getClassName() {
--
-- if (isRMIValueType)
-- return typeString;
-- else if (isIDLType)
-- return completeClassName;
-- else return null;
--
-- }
--
-- // This method calls getClazzFromType() and falls back to the repStrToClass
-- // cache if no class was found. It's used where any class matching the
-- // given repid is an acceptable result.
-- public final Class getAnyClassFromType() throws ClassNotFoundException {
-- try {
-- return getClassFromType();
-- } catch (ClassNotFoundException cnfe) {
-- Class clz = (Class)repStrToClass.get(repId);
-- if (clz != null)
-- return clz;
-- else
-- throw cnfe;
-- }
-- }
--
-- public final Class getClassFromType()
-- throws ClassNotFoundException {
-- if (clazz != null)
-- return clazz;
--
-- Class specialCase = (Class)kSpecialCasesClasses.get(getClassName());
--
-- if (specialCase != null){
-- clazz = specialCase;
-- return specialCase;
-- }
-- else
-- {
-- try{
-- return Util.loadClass(getClassName(), null, null);
-- }
-- catch(ClassNotFoundException cnfe){
-- if (defaultServerURL != null) {
-- try{
-- return getClassFromType(defaultServerURL);
-- }
-- catch(MalformedURLException mue){
-- throw cnfe;
-- }
++#
++# 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,91 @@
+ 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
++ SDDeclNameInvalid = XML \u5BA3\u544A\u4E2D\u7684\u7368\u7ACB\u540D\u7A31\u53EF\u80FD\u62FC\u932F\u4E86\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
+- DashDashInComment = \u8A3B\u89E3\u4E0D\u5141\u8A31\u5B57\u4E32 \"--\"\u3002
+- CommentUnterminated = \u8A3B\u89E3\u7D50\u5C3E\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
++ DashDashInComment = \u8A3B\u89E3\u4E0D\u5141\u8A31\u5B57\u4E32 "--"\u3002
++ CommentUnterminated = \u8A3B\u89E3\u7D50\u5C3E\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 \"&#x\" \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 "&#x" \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 +167,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 \"<!DOCTYPE\" \u4E4B\u5F8C\u9700\u8981\u7A7A\u683C\u3002
+- MSG_ROOT_ELEMENT_TYPE_REQUIRED = \u5728\u6587\u4EF6\u985E\u578B\u5BA3\u544A\u4E2D\uFF0C\u6839\u5143\u7D20\u985E\u578B\u5FC5\u9808\u51FA\u73FE\u5728 \"<!DOCTYPE\" \u4E4B\u5F8C\u3002
+- DoctypedeclUnterminated = \u6839\u5143\u7D20\u985E\u578B \"{0}\" \u7684\u6587\u4EF6\u985E\u578B\u5BA3\u544A\u7D50\u5C3E\u5FC5\u9808\u70BA ''>''\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 "<!DOCTYPE" \u4E4B\u5F8C\u9700\u8981\u7A7A\u683C\u3002
++ MSG_ROOT_ELEMENT_TYPE_REQUIRED = \u5728\u6587\u4EF6\u985E\u578B\u5BA3\u544A\u4E2D\uFF0C\u6839\u5143\u7D20\u985E\u578B\u5FC5\u9808\u51FA\u73FE\u5728 "<!DOCTYPE" \u4E4B\u5F8C\u3002
++ DoctypedeclUnterminated = \u6839\u5143\u7D20\u985E\u578B "{0}" \u7684\u6587\u4EF6\u985E\u578B\u5BA3\u544A\u7D50\u5C3E\u5FC5\u9808\u70BA ''>''\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 \"<!ELEMENT\" \u4E4B\u5F8C\u9700\u8981\u7A7A\u683C\u3002
++ MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ELEMENTDECL = \u5728\u5143\u7D20\u985E\u578B\u5BA3\u544A\u4E2D "<!ELEMENT" \u4E4B\u5F8C\u9700\u8981\u7A7A\u683C\u3002
+ MSG_ELEMENT_TYPE_REQUIRED_IN_ELEMENTDECL = \u5143\u7D20\u985E\u578B\u5BA3\u544A\u4E2D\u9700\u8981\u5143\u7D20\u985E\u578B\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
++ 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 \"<!ATTLIST\" \u4E4B\u5F8C\u9700\u8981\u7A7A\u683C\u3002
++ MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ATTLISTDECL = \u5728 attribute-list \u5BA3\u544A\u4E2D "<!ATTLIST" \u4E4B\u5F8C\u9700\u8981\u7A7A\u683C\u3002
+ MSG_ELEMENT_TYPE_REQUIRED_IN_ATTLISTDECL = attribute-list \u5BA3\u544A\u4E2D\u9700\u8981\u5143\u7D20\u985E\u578B\u3002
+- MSG_SPACE_REQUIRED_BEFORE_ATTRIBUTE_NAME_IN_ATTDEF = \u5143\u7D20 \"{0}\" \u7684 attribute-list \u5BA3\u544A\u4E2D\uFF0C\u5C6C\u6027\u540D\u7A31\u4E4B\u524D\u9700\u8981\u7A7A\u683C\u3002
+- AttNameRequiredInAttDef = \u5143\u7D20 \"{0}\" \u7684 attribute-list \u5BA3\u544A\u5FC5\u9808\u6307\u5B9A\u5C6C\u6027\u540D\u7A31\u3002
+- MSG_SPACE_REQUIRED_BEFORE_ATTTYPE_IN_ATTDEF = \u5143\u7D20 \"{0}\" \u5C6C\u6027 \"{1}\" \u7684\u5BA3\u544A\u4E2D\uFF0C\u5C6C\u6027\u985E\u578B\u4E4B\u524D\u9700\u8981\u7A7A\u683C\u3002
+- AttTypeRequiredInAttDef = \u5143\u7D20 \"{0}\" \u5C6C\u6027 \"{1}\" \u7684\u5BA3\u544A\u4E2D\u9700\u8981\u5C6C\u6027\u985E\u578B\u3002
+- MSG_SPACE_REQUIRED_BEFORE_DEFAULTDECL_IN_ATTDEF = \u5143\u7D20 \"{0}\" \u5C6C\u6027 \"{1}\" \u7684\u5BA3\u544A\u4E2D\uFF0C\u5C6C\u6027\u9810\u8A2D\u4E4B\u524D\u9700\u8981\u7A7A\u683C\u3002
+- MSG_DUPLICATE_ATTRIBUTE_DEFINITION = \u70BA\u6307\u5B9A\u5143\u7D20 \"{0}\" \u7684\u76F8\u540C\u5C6C\u6027 \"{1}\" \u63D0\u4F9B\u4E86\u8D85\u904E\u4E00\u500B\u4EE5\u4E0A\u7684\u5C6C\u6027\u5B9A\u7FA9\u3002
++ MSG_SPACE_REQUIRED_BEFORE_ATTRIBUTE_NAME_IN_ATTDEF = \u5143\u7D20 "{0}" \u7684 attribute-list \u5BA3\u544A\u4E2D\uFF0C\u5C6C\u6027\u540D\u7A31\u4E4B\u524D\u9700\u8981\u7A7A\u683C\u3002
++ AttNameRequiredInAttDef = \u5143\u7D20 "{0}" \u7684 attribute-list \u5BA3\u544A\u5FC5\u9808\u6307\u5B9A\u5C6C\u6027\u540D\u7A31\u3002
++ MSG_SPACE_REQUIRED_BEFORE_ATTTYPE_IN_ATTDEF = \u5143\u7D20 "{0}" \u5C6C\u6027 "{1}" \u7684\u5BA3\u544A\u4E2D\uFF0C\u5C6C\u6027\u985E\u578B\u4E4B\u524D\u9700\u8981\u7A7A\u683C\u3002
++ AttTypeRequiredInAttDef = \u5143\u7D20 "{0}" \u5C6C\u6027 "{1}" \u7684\u5BA3\u544A\u4E2D\u9700\u8981\u5C6C\u6027\u985E\u578B\u3002
++ MSG_SPACE_REQUIRED_BEFORE_DEFAULTDECL_IN_ATTDEF = \u5143\u7D20 "{0}" \u5C6C\u6027 "{1}" \u7684\u5BA3\u544A\u4E2D\uFF0C\u5C6C\u6027\u9810\u8A2D\u4E4B\u524D\u9700\u8981\u7A7A\u683C\u3002
++ MSG_DUPLICATE_ATTRIBUTE_DEFINITION = \u70BA\u6307\u5B9A\u5143\u7D20 "{0}" \u7684\u76F8\u540C\u5C6C\u6027 "{1}" \u63D0\u4F9B\u4E86\u8D85\u904E\u4E00\u500B\u4EE5\u4E0A\u7684\u5C6C\u6027\u5B9A\u7FA9\u3002
+ # 3.3.1 Attribute Types
+- MSG_SPACE_REQUIRED_AFTER_NOTATION_IN_NOTATIONTYPE = \"{1}\" \u5C6C\u6027\u5BA3\u544A\u4E2D \"NOTATION\" \u4E4B\u5F8C\u5FC5\u9808\u6709\u7A7A\u683C\u3002
+- MSG_OPEN_PAREN_REQUIRED_IN_NOTATIONTYPE = \u5728 \"{1}\" \u5C6C\u6027\u5BA3\u544A\u4E2D\uFF0C''('' \u5B57\u5143\u5FC5\u9808\u7DCA\u63A5\u5728 \"NOTATION\" \u4E4B\u5F8C\u3002
+- MSG_NAME_REQUIRED_IN_NOTATIONTYPE = \"{1}\" \u5C6C\u6027\u5BA3\u544A\u7684\u8868\u793A\u6CD5\u985E\u578B\u6E05\u55AE\u4E2D\uFF0C\u9700\u8981\u8868\u793A\u6CD5\u540D\u7A31\u3002
+- NotationTypeUnterminated = \u5728 \"{1}\" \u5C6C\u6027\u5BA3\u544A\u4E2D\uFF0C\u8868\u793A\u6CD5\u985E\u578B\u6E05\u55AE\u7684\u7D50\u5C3E\u5FC5\u9808\u70BA '')''\u3002
+- MSG_NMTOKEN_REQUIRED_IN_ENUMERATION = \"{1}\" \u5C6C\u6027\u5BA3\u544A\u7684\u5217\u8209\u985E\u578B\u6E05\u55AE\u4E2D\uFF0C\u9700\u8981\u540D\u7A31\u8A18\u865F\u3002
+- EnumerationUnterminated = \u5728 \"{1}\" \u5C6C\u6027\u5BA3\u544A\u4E2D\uFF0C\u5217\u8209\u985E\u578B\u6E05\u55AE\u7684\u7D50\u5C3E\u5FC5\u9808\u70BA '')''\u3002
+- MSG_DISTINCT_TOKENS_IN_ENUMERATION = \u5143\u7D20 \"{0}\" \u7684\u5C6C\u6027 \"{2}\" \u5BA3\u544A\u4E2D\uFF0C\u6307\u5B9A\u8D85\u904E\u4E00\u6B21\u4EE5\u4E0A\u7684\u5217\u8209\u503C \"{1}\"\u3002\u55AE\u4E00 Enumeration \u5C6C\u6027\u5BA3\u544A\u4E2D\u7684 NMTOKENS \u5FC5\u9808\u5168\u90E8\u90FD\u4E0D\u76F8\u540C\u3002
+- MSG_DISTINCT_NOTATION_IN_ENUMERATION = \u5143\u7D20 \"{0}\" \u5C6C\u6027 \"{2}\" \u7684\u5BA3\u544A\u4E2D\uFF0C\u6307\u5B9A\u8D85\u904E\u4E00\u6B21\u4EE5\u4E0A\u7684\u5217\u8209\u503C \"{1}\"\u3002\u55AE\u4E00 NotationType \u5C6C\u6027\u5BA3\u544A\u4E2D\u7684 NOTATION \u540D\u7A31\u5FC5\u9808\u5168\u90E8\u90FD\u4E0D\u76F8\u540C\u3002
++ MSG_SPACE_REQUIRED_AFTER_NOTATION_IN_NOTATIONTYPE = "{1}" \u5C6C\u6027\u5BA3\u544A\u4E2D "NOTATION" \u4E4B\u5F8C\u5FC5\u9808\u6709\u7A7A\u683C\u3002
++ MSG_OPEN_PAREN_REQUIRED_IN_NOTATIONTYPE = \u5728 "{1}" \u5C6C\u6027\u5BA3\u544A\u4E2D\uFF0C''('' \u5B57\u5143\u5FC5\u9808\u7DCA\u63A5\u5728 "NOTATION" \u4E4B\u5F8C\u3002
++ MSG_NAME_REQUIRED_IN_NOTATIONTYPE = "{1}" \u5C6C\u6027\u5BA3\u544A\u7684\u8868\u793A\u6CD5\u985E\u578B\u6E05\u55AE\u4E2D\uFF0C\u9700\u8981\u8868\u793A\u6CD5\u540D\u7A31\u3002
++ NotationTypeUnterminated = \u5728 "{1}" \u5C6C\u6027\u5BA3\u544A\u4E2D\uFF0C\u8868\u793A\u6CD5\u985E\u578B\u6E05\u55AE\u7684\u7D50\u5C3E\u5FC5\u9808\u70BA '')''\u3002
++ MSG_NMTOKEN_REQUIRED_IN_ENUMERATION = "{1}" \u5C6C\u6027\u5BA3\u544A\u7684\u5217\u8209\u985E\u578B\u6E05\u55AE\u4E2D\uFF0C\u9700\u8981\u540D\u7A31\u8A18\u865F\u3002
++ EnumerationUnterminated = \u5728 "{1}" \u5C6C\u6027\u5BA3\u544A\u4E2D\uFF0C\u5217\u8209\u985E\u578B\u6E05\u55AE\u7684\u7D50\u5C3E\u5FC5\u9808\u70BA '')''\u3002
++ MSG_DISTINCT_TOKENS_IN_ENUMERATION = \u5143\u7D20 "{0}" \u7684\u5C6C\u6027 "{2}" \u5BA3\u544A\u4E2D\uFF0C\u6307\u5B9A\u8D85\u904E\u4E00\u6B21\u4EE5\u4E0A\u7684\u5217\u8209\u503C "{1}"\u3002\u55AE\u4E00 Enumeration \u5C6C\u6027\u5BA3\u544A\u4E2D\u7684 NMTOKENS \u5FC5\u9808\u5168\u90E8\u90FD\u4E0D\u76F8\u540C\u3002
++ MSG_DISTINCT_NOTATION_IN_ENUMERATION = \u5143\u7D20 "{0}" \u5C6C\u6027 "{2}" \u7684\u5BA3\u544A\u4E2D\uFF0C\u6307\u5B9A\u8D85\u904E\u4E00\u6B21\u4EE5\u4E0A\u7684\u5217\u8209\u503C "{1}"\u3002\u55AE\u4E00 NotationType \u5C6C\u6027\u5BA3\u544A\u4E2D\u7684 NOTATION \u540D\u7A31\u5FC5\u9808\u5168\u90E8\u90FD\u4E0D\u76F8\u540C\u3002
+ # 3.3.2 Attribute Defaults
+- MSG_SPACE_REQUIRED_AFTER_FIXED_IN_DEFAULTDECL = \"{1}\" \u5C6C\u6027\u5BA3\u544A\u4E2D \"FIXED\" \u4E4B\u5F8C\u5FC5\u9808\u6709\u7A7A\u683C\u3002
++ MSG_SPACE_REQUIRED_AFTER_FIXED_IN_DEFAULTDECL = "{1}" \u5C6C\u6027\u5BA3\u544A\u4E2D "FIXED" \u4E4B\u5F8C\u5FC5\u9808\u6709\u7A7A\u683C\u3002
+ # 3.4 Conditional Sections
+- 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
++ 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 \"<!ENTITY\" \u4E4B\u5F8C\u9700\u8981\u7A7A\u683C\u3002
+- MSG_SPACE_REQUIRED_BEFORE_PERCENT_IN_PEDECL = \u5728\u53C3\u6578\u500B\u9AD4\u5BA3\u544A\u4E2D\uFF0C\"<!ENTITY\" \u8207 '%' \u5B57\u5143\u4E4B\u9593\u9700\u8981\u7A7A\u683C\u3002
+- MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_PEDECL = \u5728\u53C3\u6578\u500B\u9AD4\u5BA3\u544A\u4E2D\uFF0C'%' \u8207\u500B\u9AD4\u540D\u7A31\u4E4B\u9593\u9700\u8981\u7A7A\u683C\u3002
+- MSG_ENTITY_NAME_REQUIRED_IN_ENTITYDECL = \u500B\u9AD4\u5BA3\u544A\u4E2D\u9700\u8981\u500B\u9AD4\u7684\u540D\u7A31\u3002
+- MSG_SPACE_REQUIRED_AFTER_ENTITY_NAME_IN_ENTITYDECL = \u5728\u500B\u9AD4\u5BA3\u544A\u4E2D\uFF0C\u500B\u9AD4\u540D\u7A31 \"{0}\" \u8207\u5B9A\u7FA9\u4E4B\u9593\u9700\u8981\u7A7A\u683C\u3002
+- MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_UNPARSED_ENTITYDECL = \u5728\u500B\u9AD4 \"{0}\" \u7684\u5BA3\u544A\u4E2D\uFF0C\"NDATA\" \u8207\u8868\u793A\u6CD5\u540D\u7A31\u4E4B\u9593\u9700\u8981\u7A7A\u683C\u3002
+- MSG_SPACE_REQUIRED_BEFORE_NDATA_IN_UNPARSED_ENTITYDECL = \u5728\u500B\u9AD4 \"{0}\" \u7684\u5BA3\u544A\u4E2D\uFF0C\"NDATA\" \u4E4B\u524D\u9700\u8981\u7A7A\u683C\u3002
+- MSG_NOTATION_NAME_REQUIRED_FOR_UNPARSED_ENTITYDECL = \u5728\u500B\u9AD4 \"{0}\" \u7684\u5BA3\u544A\u4E2D\uFF0C\"NDATA\" \u4E4B\u5F8C\u9700\u8981\u8868\u793A\u6CD5\u540D\u7A31\u3002
+- EntityDeclUnterminated = \u500B\u9AD4 \"{0}\" \u7684\u5BA3\u544A\u7D50\u5C3E\u5FC5\u9808\u70BA ''>''\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 "<!ENTITY" \u4E4B\u5F8C\u9700\u8981\u7A7A\u683C\u3002
++ MSG_SPACE_REQUIRED_BEFORE_PERCENT_IN_PEDECL = \u5728\u53C3\u6578\u5BE6\u9AD4\u5BA3\u544A\u4E2D\uFF0C"<!ENTITY" \u8207 '%' \u5B57\u5143\u4E4B\u9593\u9700\u8981\u7A7A\u683C\u3002
++ MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_PEDECL = \u5728\u53C3\u6578\u5BE6\u9AD4\u5BA3\u544A\u4E2D\uFF0C'%' \u8207\u5BE6\u9AD4\u540D\u7A31\u4E4B\u9593\u9700\u8981\u7A7A\u683C\u3002
++ MSG_ENTITY_NAME_REQUIRED_IN_ENTITYDECL = \u5BE6\u9AD4\u5BA3\u544A\u4E2D\u9700\u8981\u5BE6\u9AD4\u7684\u540D\u7A31\u3002
++ MSG_SPACE_REQUIRED_AFTER_ENTITY_NAME_IN_ENTITYDECL = \u5728\u5BE6\u9AD4\u5BA3\u544A\u4E2D\uFF0C\u5BE6\u9AD4\u540D\u7A31 "{0}" \u8207\u5B9A\u7FA9\u4E4B\u9593\u9700\u8981\u7A7A\u683C\u3002
++ MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_UNPARSED_ENTITYDECL = \u5728\u5BE6\u9AD4 "{0}" \u7684\u5BA3\u544A\u4E2D\uFF0C"NDATA" \u8207\u8868\u793A\u6CD5\u540D\u7A31\u4E4B\u9593\u9700\u8981\u7A7A\u683C\u3002
++ MSG_SPACE_REQUIRED_BEFORE_NDATA_IN_UNPARSED_ENTITYDECL = \u5728\u5BE6\u9AD4 "{0}" \u7684\u5BA3\u544A\u4E2D\uFF0C"NDATA" \u4E4B\u524D\u9700\u8981\u7A7A\u683C\u3002
++ MSG_NOTATION_NAME_REQUIRED_FOR_UNPARSED_ENTITYDECL = \u5728\u5BE6\u9AD4 "{0}" \u7684\u5BA3\u544A\u4E2D\uFF0C"NDATA" \u4E4B\u5F8C\u9700\u8981\u8868\u793A\u6CD5\u540D\u7A31\u3002
++ EntityDeclUnterminated = \u5BE6\u9AD4 "{0}" \u7684\u5BA3\u544A\u7D50\u5C3E\u5FC5\u9808\u70BA ''>''\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 \"<!NOTATION\" \u4E4B\u5F8C\u9700\u8981\u7A7A\u683C\u3002
++ MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_NOTATIONDECL = \u5728\u8868\u793A\u6CD5\u5BA3\u544A\u4E2D "<!NOTATION" \u4E4B\u5F8C\u9700\u8981\u7A7A\u683C\u3002
+ MSG_NOTATION_NAME_REQUIRED_IN_NOTATIONDECL = \u8868\u793A\u6CD5\u5BA3\u544A\u4E2D\u9700\u8981\u8868\u793A\u6CD5\u7684\u540D\u7A31\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
++ 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 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.
++ 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 accessExternalDTD \u5C6C\u6027\u8A2D\u5B9A\u7684\u9650\u5236\uFF0C\u6240\u4EE5\u4E0D\u5141\u8A31 ''{1}'' \u5B58\u53D6\u3002
++ AccessExternalEntity = \u5916\u90E8\u5BE6\u9AD4: \u7121\u6CD5\u8B80\u53D6\u5916\u90E8\u6587\u4EF6 ''{0}''\uFF0C\u56E0\u70BA accessExternalDTD \u5C6C\u6027\u8A2D\u5B9A\u7684\u9650\u5236\uFF0C\u6240\u4EE5\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
+@@ -320,8 +318,10 @@
+ InvalidCharInLiteral=InvalidCharInLiteral
+
+
+-#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
++# Implementation limits
++ EntityExpansionLimitExceeded=JAXP00010001: \u5256\u6790\u5668\u5728\u6B64\u6587\u4EF6\u4E2D\u9047\u5230 "{0}" \u500B\u4EE5\u4E0A\u7684\u5BE6\u9AD4\u64F4\u5145; \u9019\u662F JDK \u6240\u898F\u5B9A\u7684\u9650\u5236\u3002
++ ElementAttributeLimit=JAXP00010002: \u5143\u7D20 "{0}" \u5177\u6709\u8D85\u904E "{1}" \u500B\u4EE5\u4E0A\u7684\u5C6C\u6027\uFF0C"{1}" \u662F JDK \u6240\u898F\u5B9A\u7684\u9650\u5236\u3002
++ MaxEntitySizeLimit=JAXP00010003: \u5BE6\u9AD4 "{0}" \u7684\u9577\u5EA6\u70BA "{1}"\uFF0C\u8D85\u904E "{3}" \u6240\u8A2D\u5B9A\u7684 "{2}" \u9650\u5236\u3002
++ TotalEntitySizeLimit=JAXP00010004: \u5BE6\u9AD4\u7684\u7D2F\u7A4D\u5927\u5C0F "{0}" \u8D85\u904E "{2}" \u8A2D\u5B9A\u7684 "{1}" \u9650\u5236\u3002
++ MaxXMLNameLimit=JAXP00010005: \u540D\u7A31 "{0}" \u8D85\u904E "{2}" \u8A2D\u5B9A\u7684 "{1}" \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
+--- jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/models/CMNodeFactory.java 2013-09-06 11:22:59.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/models/CMNodeFactory.java 2013-12-01 11:13:41.000000000 -0800
+@@ -21,13 +21,13 @@
+
+ package com.sun.org.apache.xerces.internal.impl.xs.models;
+
++import com.sun.org.apache.xerces.internal.impl.Constants;
+ import com.sun.org.apache.xerces.internal.impl.XMLErrorReporter;
+-import com.sun.org.apache.xerces.internal.xni.parser.XMLComponentManager;
+-import com.sun.org.apache.xerces.internal.util.SecurityManager ;
+ import com.sun.org.apache.xerces.internal.impl.dtd.models.CMNode;
+-import com.sun.org.apache.xerces.internal.xni.parser.XMLConfigurationException;
+ import com.sun.org.apache.xerces.internal.impl.xs.XSMessageFormatter;
+-import com.sun.org.apache.xerces.internal.impl.Constants;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager;
++import com.sun.org.apache.xerces.internal.xni.parser.XMLComponentManager;
++import com.sun.org.apache.xerces.internal.xni.parser.XMLConfigurationException;
+
+ /**
+ *
+@@ -68,7 +68,7 @@
+
+ // stores defaults for different security holes (maxOccurLimit in current context) if it has
+ // been set on the configuration.
+- private SecurityManager fSecurityManager = null;
++ private XMLSecurityManager fSecurityManager = null;
+
+ /** default constructor */
+ public CMNodeFactory() {
+@@ -77,10 +77,10 @@
+ public void reset(XMLComponentManager componentManager){
+ fErrorReporter = (XMLErrorReporter)componentManager.getProperty(ERROR_REPORTER);
+ try {
+- fSecurityManager = (SecurityManager)componentManager.getProperty(SECURITY_MANAGER);
++ fSecurityManager = (XMLSecurityManager)componentManager.getProperty(SECURITY_MANAGER);
+ //we are setting the limit of number of nodes to 3times the maxOccur value..
+ if(fSecurityManager != null){
+- maxNodeLimit = fSecurityManager.getMaxOccurNodeLimit() * MULTIPLICITY ;
++ maxNodeLimit = fSecurityManager.getLimit(XMLSecurityManager.Limit.MAX_OCCUR_NODE_LIMIT) * MULTIPLICITY ;
+ }
+ }
+ catch (XMLConfigurationException e) {
+@@ -109,7 +109,8 @@
+ }
+
+ public void nodeCountCheck(){
+- if( fSecurityManager != null && nodeCount++ > maxNodeLimit){
++ if( fSecurityManager != null && !fSecurityManager.isNoLimit(maxNodeLimit) &&
++ nodeCount++ > maxNodeLimit){
+ if(DEBUG){
+ System.out.println("nodeCount = " + nodeCount ) ;
+ System.out.println("nodeLimit = " + maxNodeLimit ) ;
+@@ -150,8 +151,9 @@
+
+ if (suffixLength == Constants.SECURITY_MANAGER_PROPERTY.length() &&
+ propertyId.endsWith(Constants.SECURITY_MANAGER_PROPERTY)) {
+- fSecurityManager = (SecurityManager)value;
+- maxNodeLimit = (fSecurityManager != null) ? fSecurityManager.getMaxOccurNodeLimit() * MULTIPLICITY : 0 ;
++ fSecurityManager = (XMLSecurityManager)value;
++ maxNodeLimit = (fSecurityManager != null) ?
++ fSecurityManager.getLimit(XMLSecurityManager.Limit.MAX_OCCUR_NODE_LIMIT) * MULTIPLICITY : 0 ;
+ return;
+ }
+ if (suffixLength == Constants.ERROR_REPORTER_PROPERTY.length() &&
+--- jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSAttributeChecker.java 2013-09-06 11:22:59.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSAttributeChecker.java 2013-12-01 11:13:41.000000000 -0800
+@@ -40,6 +40,7 @@
+ import com.sun.org.apache.xerces.internal.util.SymbolTable;
+ import com.sun.org.apache.xerces.internal.util.XMLChar;
+ import com.sun.org.apache.xerces.internal.util.XMLSymbols;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager;
+ import com.sun.org.apache.xerces.internal.xni.QName;
+ import com.sun.org.apache.xerces.internal.xs.XSConstants;
+ import java.util.HashMap;
+@@ -1194,8 +1195,8 @@
+ if (!optimize) {
+ //Revisit :: IMO this is not right place to check
+ // maxOccurNodeLimit.
+- int maxOccurNodeLimit = fSchemaHandler.fSecureProcessing.getMaxOccurNodeLimit();
+- if (max > maxOccurNodeLimit) {
++ int maxOccurNodeLimit = fSchemaHandler.fSecureProcessing.getLimit(XMLSecurityManager.Limit.MAX_OCCUR_NODE_LIMIT);
++ if (max > maxOccurNodeLimit && !fSchemaHandler.fSecureProcessing.isNoLimit(maxOccurNodeLimit)) {
+ reportSchemaFatalError("maxOccurLimit", new Object[] {new Integer(maxOccurNodeLimit)}, element);
+
+ // reset max values in case processing continues on error
+--- jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDHandler.java 2013-09-06 11:22:59.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDHandler.java 2013-12-01 11:13:41.000000000 -0800
+@@ -70,7 +70,6 @@
+ import com.sun.org.apache.xerces.internal.util.DefaultErrorHandler;
+ import com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper;
+ import com.sun.org.apache.xerces.internal.util.SAXInputSource;
+-import com.sun.org.apache.xerces.internal.util.SecurityManager;
+ import com.sun.org.apache.xerces.internal.util.StAXInputSource;
+ import com.sun.org.apache.xerces.internal.util.StAXLocationWrapper;
+ import com.sun.org.apache.xerces.internal.util.SymbolHash;
+@@ -78,6 +77,7 @@
+ import com.sun.org.apache.xerces.internal.util.XMLSymbols;
+ import com.sun.org.apache.xerces.internal.util.URI.MalformedURIException;
+ import com.sun.org.apache.xerces.internal.utils.SecuritySupport;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager;
+ import com.sun.org.apache.xerces.internal.utils.XMLSecurityPropertyManager;
+ import com.sun.org.apache.xerces.internal.xni.QName;
+ import com.sun.org.apache.xerces.internal.xni.XNIException;
+@@ -257,7 +257,7 @@
+ *
+ * <p>Protected to allow access by any traverser.</p>
+ */
+- protected SecurityManager fSecureProcessing = null;
++ protected XMLSecurityManager fSecureProcessing = null;
+
+ private String fAccessExternalSchema;
+ private String fAccessExternalDTD;
+@@ -2251,12 +2251,12 @@
+ }
+ catch (SAXException se) {}
+
+- try {
+- parser.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD, fAccessExternalDTD);
+- } catch (SAXNotRecognizedException exc) {
+- System.err.println("Warning: " + parser.getClass().getName() + ": " +
+- exc.getMessage());
- }
-- else throw cnfe;
-- }
-- }
--
-- }
--
-- public final Class getClassFromType(Class expectedType, String codebase)
-- throws ClassNotFoundException {
-- if (clazz != null)
-- return clazz;
--
-- Class specialCase = (Class)kSpecialCasesClasses.get(getClassName());
--
-- if (specialCase != null){
-- clazz = specialCase;
-- return specialCase;
-- } else {
-- ClassLoader expectedTypeClassLoader = (expectedType == null ? null : expectedType.getClassLoader());
-- return loadClassOfType(getClassName(),
-- codebase,
-- expectedTypeClassLoader,
-- expectedType,
-- expectedTypeClassLoader);
-- }
--
-- }
--
-- public final Class getClassFromType(String url)
-- throws ClassNotFoundException, MalformedURLException {
-- return Util.loadClass(getClassName(), url, null);
-- }
--
-- public final String toString() {
-- return repId;
-- }
--
-- /**
-- * Checks to see if the FullValueDescription should be retrieved.
-- * @exception Throws IOException if suids do not match or if the repositoryID
-- * is not an RMIValueType
-- */
-- public static boolean useFullValueDescription(Class clazz, String repositoryID)
-- throws IOException{
--
-- String clazzRepIDStr = createForAnyType(clazz);
--
-- if (clazzRepIDStr.equals(repositoryID))
-- return false;
--
-- RepositoryId_1_3_1 targetRepid;
-- RepositoryId_1_3_1 clazzRepid;
--
-- synchronized(cache) {
-- // to avoid race condition where multiple threads could be
-- // accessing this method, and their access to the cache may
-- // be interleaved giving unexpected results
--
-- targetRepid = cache.getId(repositoryID);
-- clazzRepid = cache.getId(clazzRepIDStr);
-- }
-- //ObjectStreamClass osc = ObjectStreamClass.lookup(clazz);
--
-- if ((targetRepid.isRMIValueType()) && (clazzRepid.isRMIValueType())){
-- if (!targetRepid.getSerialVersionUID().equals(clazzRepid.getSerialVersionUID())) {
--
-- String mssg = "Mismatched serialization UIDs : Source (Rep. ID" +
-- clazzRepid + ") = " +
-- clazzRepid.getSerialVersionUID() + " whereas Target (Rep. ID " + repositoryID +
-- ") = " + targetRepid.getSerialVersionUID();
-- //com.sun.corba.se.impl.io.ValueUtility.log("RepositoryId",mssg);
-- throw new IOException(mssg);
-- }
-- else {
-- return true;
-- }
-- }
-- else {
--
-- throw new IOException("The repository ID is not of an RMI value type (Expected ID = " + clazzRepIDStr + "; Received ID = " + repositoryID +")");
-- }
-- }
--
-- private static String createHashString(java.io.Serializable ser) {
--
-- return createHashString(ser.getClass());
-- }
--
-- private static String createHashString(java.lang.Class clazz) {
--
-- if (clazz.isInterface() || !java.io.Serializable.class.isAssignableFrom(clazz))
-- return kInterfaceHashCode;
--
-- //ObjectStreamClass osc = ObjectStreamClass.lookup(clazz);
--
-- long actualLong = ObjectStreamClass_1_3_1.getActualSerialVersionUID(clazz);
-- String hash = null;
-- if (actualLong == 0)
-- hash = kInterfaceOnlyHashStr;
-- else if (actualLong == 1)
-- hash = kExternalizableHashStr;
-- else
-- hash = Long.toHexString(actualLong).toUpperCase();
-- while(hash.length() < 16){
-- hash = "0" + hash;
-- }
--
-- long declaredLong = ObjectStreamClass_1_3_1.getSerialVersionUID(clazz);
-- String declared = null;
-- if (declaredLong == 0)
-- declared = kInterfaceOnlyHashStr;
-- else if (declaredLong == 1)
-- declared = kExternalizableHashStr;
-- else
-- declared = Long.toHexString(declaredLong).toUpperCase();
-- while (declared.length() < 16){
-- declared = "0" + declared;
-- }
-- hash = hash + ":" + declared;
--
-- return ":" + hash;
-- }
--
-- /**
-- * Creates a repository ID for a sequence. This is for expert users only as
-- * this method assumes the object passed is an array. If passed an object
-- * that is not an array, it will produce a rep id for a sequence of zero
-- * length. This would be an error.
-- * @param ser The Java object to create a repository ID for
-- **/
-- public static String createSequenceRepID(java.lang.Object ser){
-- return createSequenceRepID(ser.getClass());
-- }
--
-- /**
-- * Creates a repository ID for a sequence. This is for expert users only as
-- * this method assumes the object passed is an array. If passed an object
-- * that is not an array, it will produce a malformed rep id.
-- * @param clazz The Java class to create a repository ID for
-- **/
-- public static String createSequenceRepID(java.lang.Class clazz){
-- synchronized (classSeqToRepStr){
--
-- String repid = (String)classSeqToRepStr.get(clazz);
-- if (repid != null)
-- return repid;
--
-- Class originalClazz = clazz;
--
-- Class type = null;
-- int numOfDims = 0;
--
-- while ((type = clazz.getComponentType()) != null) {
-- numOfDims++;
-- clazz = type;
-- }
--
-- if (clazz.isPrimitive())
-- repid = kValuePrefix + originalClazz.getName() + kPrimitiveSequenceValueHash;
-- else {
-- StringBuffer buf = new StringBuffer();
-- buf.append(kValuePrefix);
-- while(numOfDims-- > 0) {
-- buf.append("[");
++ try {
++ parser.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD, fAccessExternalDTD);
++ } catch (SAXNotRecognizedException exc) {
++ System.err.println("Warning: " + parser.getClass().getName() + ": " +
++ exc.getMessage());
++ }
+ }
+ // If XML names and Namespace URIs are already internalized we
+ // can avoid running them through the SymbolTable.
+@@ -3509,7 +3509,7 @@
+
+ fSecureProcessing = null;
+ if( componentManager!=null ) {
+- fSecureProcessing = (SecurityManager) componentManager.getProperty(SECURE_PROCESSING, null);
++ fSecureProcessing = (XMLSecurityManager) componentManager.getProperty(SECURE_PROCESSING, null);
+ }
+
+ //set entity resolver
+--- jaxp/src/com/sun/org/apache/xerces/internal/jaxp/DocumentBuilderImpl.java 2013-09-06 11:23:00.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/jaxp/DocumentBuilderImpl.java 2013-12-01 11:13:41.000000000 -0800
+@@ -36,7 +36,7 @@
+ import com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator;
+ import com.sun.org.apache.xerces.internal.jaxp.validation.XSGrammarPoolContainer;
+ import com.sun.org.apache.xerces.internal.parsers.DOMParser;
+-import com.sun.org.apache.xerces.internal.util.SecurityManager;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager;
+ import com.sun.org.apache.xerces.internal.utils.XMLSecurityPropertyManager;
+ import com.sun.org.apache.xerces.internal.utils.XMLSecurityPropertyManager.Property;
+ import com.sun.org.apache.xerces.internal.utils.XMLSecurityPropertyManager.State;
+@@ -46,7 +46,6 @@
+ import com.sun.org.apache.xerces.internal.xni.parser.XMLConfigurationException;
+ import com.sun.org.apache.xerces.internal.xni.parser.XMLDocumentSource;
+ import com.sun.org.apache.xerces.internal.xni.parser.XMLParserConfiguration;
+-import javax.xml.XMLConstants;
+ import org.w3c.dom.DOMImplementation;
+ import org.w3c.dom.Document;
+ import org.xml.sax.EntityResolver;
+@@ -110,7 +109,6 @@
+ /** Property identifier: access to external schema */
+ public static final String ACCESS_EXTERNAL_SCHEMA = XMLConstants.ACCESS_EXTERNAL_SCHEMA;
+
+-
+ private final DOMParser domParser;
+ private final Schema grammar;
+
+@@ -125,6 +123,7 @@
+ /** Initial EntityResolver */
+ private final EntityResolver fInitEntityResolver;
+
++ private XMLSecurityManager fSecurityManager;
+ private XMLSecurityPropertyManager fSecurityPropertyMgr;
+
+ DocumentBuilderImpl(DocumentBuilderFactoryImpl dbf, Hashtable dbfAttrs, Hashtable features)
+@@ -173,10 +172,10 @@
+ fSecurityPropertyMgr = new XMLSecurityPropertyManager();
+ domParser.setProperty(XML_SECURITY_PROPERTY_MANAGER, fSecurityPropertyMgr);
+
+- // If the secure processing feature is on set a security manager.
+- if (secureProcessing) {
+- domParser.setProperty(SECURITY_MANAGER, new SecurityManager());
++ fSecurityManager = new XMLSecurityManager(secureProcessing);
++ domParser.setProperty(SECURITY_MANAGER, fSecurityManager);
+
++ if (secureProcessing) {
+ /**
+ * If secure processing is explicitly set on the factory, the
+ * access properties will be set unless the corresponding
+@@ -250,9 +249,9 @@
+ String feature = (String) entry.getKey();
+ boolean value = ((Boolean) entry.getValue()).booleanValue();
+ domParser.setFeature(feature, value);
- }
-- buf.append("L");
-- buf.append(convertToISOLatin1(clazz.getName()));
-- buf.append(";");
-- buf.append(createHashString(clazz));
-- repid = buf.toString();
-- }
-- classSeqToRepStr.put(originalClazz,repid);
-- return repid;
-- }
--
-- }
--
--
-- public static String createForSpecialCase(java.lang.Class clazz){
-- if (clazz.isArray()){
-- return createSequenceRepID(clazz);
-- }
-- else {
-- return (String)kSpecialCasesRepIDs.get(clazz);
-- }
-- }
--
-- public static String createForSpecialCase(java.io.Serializable ser){
-- Class clazz = ser.getClass();
-- if (clazz.isArray()){
-- return createSequenceRepID(ser);
-- }
-- else
-- return createForSpecialCase(clazz);
-- }
--
-- /**
-- * Creates a repository ID for a normal Java Type.
-- * @param ser The Java object to create a repository ID for
-- * @exception com.sun.corba.se.impl.io.TypeMismatchException if ser implements the
-- * org.omg.CORBA.portable.IDLEntity interface which indicates it is an IDL Value type.
-- **/
-- public static String createForJavaType(java.io.Serializable ser)
-- throws com.sun.corba.se.impl.io.TypeMismatchException
-- {
-- synchronized (classToRepStr) {
-- String repid = createForSpecialCase(ser);
-- if (repid != null)
-- return repid;
-- Class clazz = ser.getClass();
-- repid = (String)classToRepStr.get(clazz);
--
-- if (repid != null)
-- return repid;
--
-- repid = kValuePrefix + convertToISOLatin1(clazz.getName()) +
-- createHashString(clazz);
--
-- classToRepStr.put(clazz, repid);
-- repStrToClass.put(repid, clazz);
-- return repid;
-- }
-- }
--
-- /**
-- * Creates a repository ID for a normal Java Type.
-- * @param clz The Java class to create a repository ID for
-- * @exception com.sun.corba.se.impl.io.TypeMismatchException if ser implements the
-- * org.omg.CORBA.portable.IDLEntity interface which indicates it is an IDL Value type.
-- **/
-- public static String createForJavaType(Class clz)
-- throws com.sun.corba.se.impl.io.TypeMismatchException
-- {
-- synchronized (classToRepStr){
-- String repid = createForSpecialCase(clz);
-- if (repid != null)
-- return repid;
--
-- repid = (String)classToRepStr.get(clz);
-- if (repid != null)
-- return repid;
--
-- repid = kValuePrefix + convertToISOLatin1(clz.getName()) +
-- createHashString(clz);
--
-- classToRepStr.put(clz, repid);
-- repStrToClass.put(repid, clz);
-- return repid;
-- }
-- }
--
-- /**
-- * Creates a repository ID for an IDL Java Type.
-- * @param ser The IDL Value object to create a repository ID for
-- * @param major The major version number
-- * @param minor The minor version number
-- * @exception com.sun.corba.se.impl.io.TypeMismatchException if ser does not implement the
-- * org.omg.CORBA.portable.IDLEntity interface which indicates it is an IDL Value type.
-- **/
-- public static String createForIDLType(Class ser, int major, int minor)
-- throws com.sun.corba.se.impl.io.TypeMismatchException
-- {
-- synchronized (classIDLToRepStr){
-- String repid = (String)classIDLToRepStr.get(ser);
-- if (repid != null)
-- return repid;
--
-- repid = kIDLPrefix + convertToISOLatin1(ser.getName()).replace('.','/') +
-- ":" + major + "." + minor;
-- classIDLToRepStr.put(ser, repid);
-- return repid;
-- }
-- }
+ }
+ }
++ }
+
+ /**
+ * Set any DocumentBuilderFactory attributes of our underlying DOMParser
+@@ -289,30 +288,33 @@
+ // spec when schema validation is enabled
+ domParser.setProperty(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
+ }
+- }
+- } else if(JAXP_SCHEMA_SOURCE.equals(name)){
+- if( isValidating() ) {
+- String value=(String)dbfAttrs.get(JAXP_SCHEMA_LANGUAGE);
+- if(value !=null && W3C_XML_SCHEMA.equals(value)){
+- domParser.setProperty(name, val);
+- }else{
++ }
++ } else if(JAXP_SCHEMA_SOURCE.equals(name)){
++ if( isValidating() ) {
++ String value=(String)dbfAttrs.get(JAXP_SCHEMA_LANGUAGE);
++ if(value !=null && W3C_XML_SCHEMA.equals(value)){
++ domParser.setProperty(name, val);
++ }else{
+ throw new IllegalArgumentException(
+ DOMMessageFormatter.formatMessage(DOMMessageFormatter.DOM_DOMAIN,
+ "jaxp-order-not-supported",
+ new Object[] {JAXP_SCHEMA_LANGUAGE, JAXP_SCHEMA_SOURCE}));
++ }
++ }
++ } else {
++ //check if the property is managed by security manager
++ if (fSecurityManager == null ||
++ !fSecurityManager.setLimit(name, XMLSecurityManager.State.APIPROPERTY, val)) {
++ //check if the property is managed by security property manager
++ if (fSecurityPropertyMgr == null ||
++ !fSecurityPropertyMgr.setValue(name, XMLSecurityPropertyManager.State.APIPROPERTY, val)) {
++ //fall back to the existing property manager
++ domParser.setProperty(name, val);
+ }
+- }
+- } else {
+- int index = fSecurityPropertyMgr.getIndex(name);
+- if (index > -1) {
+- fSecurityPropertyMgr.setValue(index,
+- XMLSecurityPropertyManager.State.APIPROPERTY, (String)val);
+- } else {
+- // Let Xerces code handle the property
+- domParser.setProperty(name, val);
+ }
+- }
+- }
++
++ }
++ }
+ }
+ }
+
+--- jaxp/src/com/sun/org/apache/xerces/internal/jaxp/SAXParserImpl.java 2013-09-06 11:23:00.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/jaxp/SAXParserImpl.java 2013-12-01 11:13:41.000000000 -0800
+@@ -34,8 +34,8 @@
+ import com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator;
+ import com.sun.org.apache.xerces.internal.jaxp.validation.XSGrammarPoolContainer;
+ import com.sun.org.apache.xerces.internal.util.SAXMessageFormatter;
+-import com.sun.org.apache.xerces.internal.util.SecurityManager;
+ import com.sun.org.apache.xerces.internal.util.Status;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager;
+ import com.sun.org.apache.xerces.internal.utils.XMLSecurityPropertyManager;
+ import com.sun.org.apache.xerces.internal.xni.XMLDocumentHandler;
+ import com.sun.org.apache.xerces.internal.xni.parser.XMLComponent;
+@@ -112,6 +112,7 @@
+ /** Initial EntityResolver */
+ private final EntityResolver fInitEntityResolver;
+
++ private final XMLSecurityManager fSecurityManager;
+ private final XMLSecurityPropertyManager fSecurityPropertyMgr;
+
+ /**
+@@ -130,10 +131,10 @@
+ SAXParserImpl(SAXParserFactoryImpl spf, Hashtable features, boolean secureProcessing)
+ throws SAXException
+ {
++ fSecurityManager = new XMLSecurityManager(secureProcessing);
+ fSecurityPropertyMgr = new XMLSecurityPropertyManager();
-
-- private static String getIdFromHelper(Class clazz){
-- try {
-- Class helperClazz = Utility.loadClassForClass(clazz.getName()+"Helper", null,
-- clazz.getClassLoader(), clazz, clazz.getClassLoader());
-- Method idMethod = helperClazz.getDeclaredMethod("id", kNoParamTypes);
-- return (String)idMethod.invoke(null, kNoArgs);
-- }
-- catch(java.lang.ClassNotFoundException cnfe)
-- {
-- throw new org.omg.CORBA.MARSHAL(cnfe.toString());
-- }
-- catch(java.lang.NoSuchMethodException nsme)
-- {
-- throw new org.omg.CORBA.MARSHAL(nsme.toString());
-- }
-- catch(java.lang.reflect.InvocationTargetException ite)
-- {
-- throw new org.omg.CORBA.MARSHAL(ite.toString());
-- }
-- catch(java.lang.IllegalAccessException iae)
-- {
-- throw new org.omg.CORBA.MARSHAL(iae.toString());
-- }
-- }
+ // Instantiate a SAXParser directly and not through SAX so that we use the right ClassLoader
+- xmlReader = new JAXPSAXParser(this, fSecurityPropertyMgr);
++ xmlReader = new JAXPSAXParser(this, fSecurityPropertyMgr, fSecurityManager);
+
+ // JAXP "namespaceAware" == SAX Namespaces feature
+ // Note: there is a compatibility problem here with default values:
+@@ -154,9 +155,9 @@
+
+ xmlReader.setProperty0(XML_SECURITY_PROPERTY_MANAGER, fSecurityPropertyMgr);
+
+- // If the secure processing feature is on set a security manager.
++ xmlReader.setProperty0(SECURITY_MANAGER, fSecurityManager);
++
+ if (secureProcessing) {
+- xmlReader.setProperty0(SECURITY_MANAGER, new SecurityManager());
+ /**
+ * By default, secure processing is set, no external access is allowed.
+ * However, we need to check if it is actively set on the factory since we
+@@ -164,6 +165,7 @@
+ * the default value
+ */
+ if (features != null) {
++
+ Object temp = features.get(XMLConstants.FEATURE_SECURE_PROCESSING);
+ if (temp != null) {
+ boolean value = ((Boolean) temp).booleanValue();
+@@ -172,7 +174,6 @@
+ XMLSecurityPropertyManager.State.FSP, Constants.EXTERNAL_ACCESS_DEFAULT_FSP);
+ fSecurityPropertyMgr.setValue(XMLSecurityPropertyManager.Property.ACCESS_EXTERNAL_SCHEMA,
+ XMLSecurityPropertyManager.State.FSP, Constants.EXTERNAL_ACCESS_DEFAULT_FSP);
-
-- /**
-- * Createa a repository ID for the type if it is either a java type
-- * or an IDL type.
-- * @param type The type to create rep. id for
-- * @return The rep. id.
-- **/
-- public static String createForAnyType(Class type) {
-- try{
-- if (type.isArray())
-- return createSequenceRepID(type);
-- else if (IDLEntity.class.isAssignableFrom(type))
-- {
-- try{
-- return getIdFromHelper(type);
-- }
-- catch(Throwable t) {
-- return createForIDLType(type, 1, 0);
-- }
+ }
+ }
+ }
+@@ -398,22 +399,34 @@
+ private final HashMap fInitFeatures = new HashMap();
+ private final HashMap fInitProperties = new HashMap();
+ private final SAXParserImpl fSAXParser;
++ private XMLSecurityManager fSecurityManager;
+ private XMLSecurityPropertyManager fSecurityPropertyMgr;
+
+
+ public JAXPSAXParser() {
+- this(null, null);
++ this(null, null, null);
+ }
+
+- JAXPSAXParser(SAXParserImpl saxParser, XMLSecurityPropertyManager spm) {
++ JAXPSAXParser(SAXParserImpl saxParser, XMLSecurityPropertyManager securityPropertyMgr,
++ XMLSecurityManager securityManager) {
+ super();
+ fSAXParser = saxParser;
+- fSecurityPropertyMgr = spm;
+-
++ fSecurityManager = securityManager;
++ fSecurityPropertyMgr = securityPropertyMgr;
+ /**
+ * This class may be used directly. So initialize the security manager if
+ * it is null.
+ */
++ if (fSecurityManager == null) {
++ fSecurityManager = new XMLSecurityManager(true);
++ try {
++ super.setProperty(SECURITY_MANAGER, fSecurityManager);
++ } catch (SAXException e) {
++ throw new UnsupportedOperationException(
++ SAXMessageFormatter.formatMessage(fConfiguration.getLocale(),
++ "property-not-recognized", new Object [] {SECURITY_MANAGER}), e);
++ }
++ }
+ if (fSecurityPropertyMgr == null) {
+ fSecurityPropertyMgr = new XMLSecurityPropertyManager();
+ try {
+@@ -421,7 +434,7 @@
+ } catch (SAXException e) {
+ throw new UnsupportedOperationException(
+ SAXMessageFormatter.formatMessage(fConfiguration.getLocale(),
+- "property-not-recognized", new Object [] {SECURITY_MANAGER}), e);
++ "property-not-recognized", new Object [] {XML_SECURITY_PROPERTY_MANAGER}), e);
+ }
+ }
+ }
+@@ -439,7 +452,8 @@
+ }
+ if (name.equals(XMLConstants.FEATURE_SECURE_PROCESSING)) {
+ try {
+- setProperty(SECURITY_MANAGER, value ? new SecurityManager() : null);
++ fSecurityManager.setSecureProcessing(value);
++ setProperty(SECURITY_MANAGER, fSecurityManager);
+ }
+ catch (SAXNotRecognizedException exc) {
+ // If the property is not supported
+@@ -475,13 +489,7 @@
+ throw new NullPointerException();
+ }
+ if (name.equals(XMLConstants.FEATURE_SECURE_PROCESSING)) {
+- try {
+- return (super.getProperty(SECURITY_MANAGER) != null);
- }
-- else return createForJavaType(type);
-- }
-- catch(com.sun.corba.se.impl.io.TypeMismatchException e){
-- return null;
-- }
--
-- }
--
-- public static boolean isAbstractBase(Class clazz) {
-- return (clazz.isInterface() &&
-- IDLEntity.class.isAssignableFrom(clazz) &&
-- (!ValueBase.class.isAssignableFrom(clazz)) &&
-- (!org.omg.CORBA.Object.class.isAssignableFrom(clazz)));
--
-- }
--
-- public static boolean isAnyRequired(Class clazz) {
-- return ((clazz == java.lang.Object.class) ||
-- (clazz == java.io.Serializable.class) ||
-- (clazz == java.io.Externalizable.class));
-- }
--
-- public static long fromHex(String hexNumber) {
-- if (hexNumber.startsWith("0x"))
-- return Long.valueOf(hexNumber.substring(2), 16).longValue();
-- else return Long.valueOf(hexNumber, 16).longValue();
-- }
--
-- /**
-- * Convert strings with illegal IDL identifier characters.
-- * <p>
-- * Section 5.5.7 of OBV spec.
-- */
-- private static String convertToISOLatin1 (String name) {
--
-- int length = name.length();
-- if (length == 0) {
-- return name;
-- }
-- StringBuffer buffer = null;
--
-- for (int i = 0; i < length; i++) {
--
-- char c = name.charAt(i);
--
-- if (c > 255 || IDL_IDENTIFIER_CHARS[c] == 0) {
--
-- // We gotta convert. Have we already started?
--
-- if (buffer == null) {
--
-- // No, so get set up...
--
-- buffer = new StringBuffer(name.substring(0,i));
+- // If the property is not supported the value must be false.
+- catch (SAXException exc) {
+- return false;
- }
--
-- // Convert the character into the IDL escape syntax...
-- buffer.append(
-- "\\U" +
-- (char)ASCII_HEX[(c & 0xF000) >>> 12] +
-- (char)ASCII_HEX[(c & 0x0F00) >>> 8] +
-- (char)ASCII_HEX[(c & 0x00F0) >>> 4] +
-- (char)ASCII_HEX[(c & 0x000F)]);
--
++ return fSecurityManager.isSecureProcessing();
+ }
+ return super.getFeature(name);
+ }
+@@ -560,17 +568,21 @@
+ if (fSAXParser != null && fSAXParser.fSchemaValidator != null) {
+ setSchemaValidatorProperty(name, value);
+ }
+- /** Check to see if the property is managed by the property manager **/
+- int index = (fSecurityPropertyMgr != null) ? fSecurityPropertyMgr.getIndex(name) : -1;
+- if (index > -1) {
+- fSecurityPropertyMgr.setValue(index,
+- XMLSecurityPropertyManager.State.APIPROPERTY, (String)value);
- } else {
-- if (buffer != null) {
-- buffer.append(c);
-- }
-- }
-- }
--
-- if (buffer != null) {
-- name = buffer.toString();
-- }
--
-- return name;
-- }
--
-- /**
-- * Convert strings with ISO Latin 1 escape sequences back to original strings.
-- * <p>
-- * Section 5.5.7 of OBV spec.
-- */
-- private static String convertFromISOLatin1 (String name) {
--
-- int index = -1;
-- StringBuffer buf = new StringBuffer(name);
--
-- while ((index = buf.toString().indexOf("\\U")) != -1){
-- String str = "0000" + buf.toString().substring(index+2, index+6);
--
-- // Convert Hexadecimal
-- byte[] buffer = new byte[(str.length() - 4) / 2];
-- for (int i=4, j=0; i < str.length(); i +=2, j++) {
-- buffer[j] = (byte)((ORBUtility.hexOf(str.charAt(i)) << 4) & 0xF0);
-- buffer[j] |= (byte)((ORBUtility.hexOf(str.charAt(i+1)) << 0) & 0x0F);
-- }
-- buf = new StringBuffer(delete(buf.toString(), index, index+6));
-- buf.insert(index, (char)buffer[1]);
-- }
--
-- return buf.toString();
--
--
-- }
--
-- private static String delete(String str, int from, int to)
-- {
-- return str.substring(0, from) + str.substring(to, str.length());
-- }
--
-- private static String replace(String target, String arg, String source)
-- {
-- int i = 0;
-- i = target.indexOf(arg);
--
-- while(i != -1)
-- {
-- String left = target.substring(0, i);
-- String right = target.substring(i+arg.length());
-- target = new String(left+source+right);
-- i = target.indexOf(arg);
-- }
-- return target;
-- }
--
-- public static int computeValueTag(boolean codeBasePresent, int typeInfo, boolean chunkedEncoding){
-- int value_tag = kInitialValueTag;
--
-- if (codeBasePresent)
-- value_tag = value_tag | 0x00000001;
--
-- value_tag = value_tag | typeInfo;
--
-- if (chunkedEncoding)
-- value_tag = value_tag | kChunkedMask;
--
-- return value_tag;
-- }
--
-- public static boolean isCodeBasePresent(int value_tag){
-- return ((value_tag & 0x00000001) == 1);
-- }
--
-- public static int getTypeInfo(int value_tag){
-- return (value_tag & 0x00000006);
-- }
--
-- public static boolean isChunkedEncoding(int value_tag){
-- return ((value_tag & kChunkedMask) != 0);
-- }
--
-- public static String getServerURL(){
-- return defaultServerURL;
-- }
+- if (!fInitProperties.containsKey(name)) {
+- fInitProperties.put(name, super.getProperty(name));
++
++ //check if the property is managed by security manager
++ if (fSecurityManager == null ||
++ !fSecurityManager.setLimit(name, XMLSecurityManager.State.APIPROPERTY, value)) {
++ //check if the property is managed by security property manager
++ if (fSecurityPropertyMgr == null ||
++ !fSecurityPropertyMgr.setValue(name, XMLSecurityPropertyManager.State.APIPROPERTY, value)) {
++ //fall back to the existing property manager
++ if (!fInitProperties.containsKey(name)) {
++ fInitProperties.put(name, super.getProperty(name));
++ }
++ super.setProperty(name, value);
+ }
+- super.setProperty(name, value);
+ }
++
+ }
+
+ public synchronized Object getProperty(String name)
+@@ -583,9 +595,18 @@
+ // JAXP 1.2 support
+ return fSAXParser.schemaLanguage;
+ }
+- int index = (fSecurityPropertyMgr != null) ? fSecurityPropertyMgr.getIndex(name) : -1;
+- if (index > -1) {
+- return fSecurityPropertyMgr.getValueByIndex(index);
++
++ /** Check to see if the property is managed by the security manager **/
++ String propertyValue = (fSecurityManager != null) ?
++ fSecurityManager.getLimitAsString(name) : null;
++ if (propertyValue != null) {
++ return propertyValue;
++ } else {
++ propertyValue = (fSecurityPropertyMgr != null) ?
++ fSecurityPropertyMgr.getValue(name) : null;
++ if (propertyValue != null) {
++ return propertyValue;
++ }
+ }
+
+ return super.getProperty(name);
+--- jaxp/src/com/sun/org/apache/xerces/internal/jaxp/validation/StAXValidatorHelper.java 2013-09-06 11:23:00.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/jaxp/validation/StAXValidatorHelper.java 2013-12-01 11:13:41.000000000 -0800
+@@ -26,6 +26,7 @@
+ package com.sun.org.apache.xerces.internal.jaxp.validation;
+
+ import com.sun.org.apache.xerces.internal.impl.Constants;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager;
+ import java.io.IOException;
+
+ import javax.xml.transform.Result;
+@@ -73,6 +74,19 @@
+ SAXTransformerFactory tf = fComponentManager.getFeature(Constants.ORACLE_FEATURE_SERVICE_MECHANISM) ?
+ (SAXTransformerFactory)SAXTransformerFactory.newInstance()
+ : (SAXTransformerFactory) TransformerFactory.newInstance(DEFAULT_TRANSFORMER_IMPL, StAXValidatorHelper.class.getClassLoader());
++ XMLSecurityManager securityManager = (XMLSecurityManager)fComponentManager.getProperty(Constants.SECURITY_MANAGER);
++ if (securityManager != null) {
++ for (XMLSecurityManager.Limit limit : XMLSecurityManager.Limit.values()) {
++ if (securityManager.isSet(limit.ordinal())){
++ tf.setAttribute(limit.apiProperty(),
++ securityManager.getLimitValueAsString(limit));
++ }
++ }
++ if (securityManager.printEntityCountInfo()) {
++ tf.setAttribute(Constants.JDK_ENTITY_COUNT_INFO, "yes");
++ }
++ }
++
+ identityTransformer1 = tf.newTransformer();
+ identityTransformer2 = tf.newTransformerHandler();
+ } catch (TransformerConfigurationException e) {
+--- jaxp/src/com/sun/org/apache/xerces/internal/jaxp/validation/StreamValidatorHelper.java 2013-09-06 11:23:00.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/jaxp/validation/StreamValidatorHelper.java 2013-12-01 11:13:41.000000000 -0800
+@@ -20,28 +20,27 @@
+
+ package com.sun.org.apache.xerces.internal.jaxp.validation;
+
+-import java.lang.ref.SoftReference;
+-import java.io.IOException;
-
-- /*
-- * Load a class and check that it is assignable to a given type.
-- * @param className the class name.
-- * @param remoteCodebase the codebase to use. May be null.
-- * @param loader the class loader of last resort. May be null.
-- * @param expectedType the expected type. May be null.
-- * @return the loaded class.
-- */
-- private Class loadClassOfType (String className,
-- String remoteCodebase,
-- ClassLoader loader,
-- Class expectedType,
-- ClassLoader expectedTypeClassLoader)
-- throws ClassNotFoundException {
+-import javax.xml.transform.Result;
+-import javax.xml.transform.Source;
+-import javax.xml.transform.sax.SAXTransformerFactory;
+-import javax.xml.transform.sax.TransformerHandler;
+-import javax.xml.transform.stream.StreamSource;
+-import javax.xml.transform.stream.StreamResult;
+-import javax.xml.transform.TransformerConfigurationException;
+-import javax.xml.transform.TransformerFactory;
+-import javax.xml.transform.TransformerFactoryConfigurationError;
+-import javax.xml.XMLConstants;
-
-- Class loadedClass = null;
+ import com.sun.org.apache.xerces.internal.impl.Constants;
+ import com.sun.org.apache.xerces.internal.impl.XMLErrorReporter;
+ import com.sun.org.apache.xerces.internal.impl.msg.XMLMessageFormatter;
+ import com.sun.org.apache.xerces.internal.parsers.XML11Configuration;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager;
+ import com.sun.org.apache.xerces.internal.xni.XNIException;
+ import com.sun.org.apache.xerces.internal.xni.parser.XMLInputSource;
+ import com.sun.org.apache.xerces.internal.xni.parser.XMLParseException;
+ import com.sun.org.apache.xerces.internal.xni.parser.XMLParserConfiguration;
++import java.io.IOException;
++import java.lang.ref.SoftReference;
++import javax.xml.XMLConstants;
++import javax.xml.transform.Result;
++import javax.xml.transform.Source;
++import javax.xml.transform.TransformerConfigurationException;
++import javax.xml.transform.TransformerFactory;
++import javax.xml.transform.TransformerFactoryConfigurationError;
++import javax.xml.transform.sax.SAXTransformerFactory;
++import javax.xml.transform.sax.TransformerHandler;
++import javax.xml.transform.stream.StreamResult;
++import javax.xml.transform.stream.StreamSource;
+ import org.xml.sax.SAXException;
+
+ /**
+@@ -86,6 +85,11 @@
+ Constants.XERCES_PROPERTY_PREFIX + Constants.VALIDATION_MANAGER_PROPERTY;
+
+ private static final String DEFAULT_TRANSFORMER_IMPL = "com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl";
++
++ /** Property id: security manager. */
++ private static final String SECURITY_MANAGER =
++ Constants.XERCES_PROPERTY_PREFIX + Constants.SECURITY_MANAGER_PROPERTY;
++
+ //
+ // Data
+ //
+@@ -165,6 +169,9 @@
+
+ private XMLParserConfiguration initialize() {
+ XML11Configuration config = new XML11Configuration();
++ if (fComponentManager.getFeature(XMLConstants.FEATURE_SECURE_PROCESSING)) {
++ config.setProperty(SECURITY_MANAGER, new XMLSecurityManager());
++ }
+ config.setProperty(ENTITY_RESOLVER, fComponentManager.getProperty(ENTITY_RESOLVER));
+ config.setProperty(ERROR_HANDLER, fComponentManager.getProperty(ERROR_HANDLER));
+ XMLErrorReporter errorReporter = (XMLErrorReporter) fComponentManager.getProperty(ERROR_REPORTER);
+@@ -182,6 +189,8 @@
+ config.setDTDContentModelHandler(null);
+ config.setProperty(Constants.XML_SECURITY_PROPERTY_MANAGER,
+ fComponentManager.getProperty(Constants.XML_SECURITY_PROPERTY_MANAGER));
++ config.setProperty(Constants.SECURITY_MANAGER,
++ fComponentManager.getProperty(Constants.SECURITY_MANAGER));
+ fConfiguration = new SoftReference(config);
+ return config;
+ }
+--- jaxp/src/com/sun/org/apache/xerces/internal/jaxp/validation/ValidatorHandlerImpl.java 2013-09-06 11:23:00.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/jaxp/validation/ValidatorHandlerImpl.java 2013-12-01 11:13:41.000000000 -0800
+@@ -49,10 +49,10 @@
+ import com.sun.org.apache.xerces.internal.util.SAXMessageFormatter;
+ import com.sun.org.apache.xerces.internal.util.Status;
+ import com.sun.org.apache.xerces.internal.util.SymbolTable;
+-import com.sun.org.apache.xerces.internal.util.SecurityManager;
+ import com.sun.org.apache.xerces.internal.util.URI;
+ import com.sun.org.apache.xerces.internal.util.XMLAttributesImpl;
+ import com.sun.org.apache.xerces.internal.util.XMLSymbols;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager;
+ import com.sun.org.apache.xerces.internal.utils.XMLSecurityPropertyManager;
+ import com.sun.org.apache.xerces.internal.xni.Augmentations;
+ import com.sun.org.apache.xerces.internal.xni.NamespaceContext;
+@@ -679,10 +679,12 @@
+ SAXParserFactory.newInstance() : new SAXParserFactoryImpl();
+ spf.setNamespaceAware(true);
+ try {
++ spf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING,
++ fComponentManager.getFeature(XMLConstants.FEATURE_SECURE_PROCESSING));
+ reader = spf.newSAXParser().getXMLReader();
+ // If this is a Xerces SAX parser, set the security manager if there is one
+ if (reader instanceof com.sun.org.apache.xerces.internal.parsers.SAXParser) {
+- SecurityManager securityManager = (SecurityManager) fComponentManager.getProperty(SECURITY_MANAGER);
++ XMLSecurityManager securityManager = (XMLSecurityManager) fComponentManager.getProperty(SECURITY_MANAGER);
+ if (securityManager != null) {
+ try {
+ reader.setProperty(SECURITY_MANAGER, securityManager);
+--- jaxp/src/com/sun/org/apache/xerces/internal/jaxp/validation/XMLSchemaFactory.java 2013-09-06 11:23:00.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/jaxp/validation/XMLSchemaFactory.java 2013-12-01 11:13:41.000000000 -0800
+@@ -41,10 +41,10 @@
+ import com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper;
+ import com.sun.org.apache.xerces.internal.util.SAXInputSource;
+ import com.sun.org.apache.xerces.internal.util.SAXMessageFormatter;
+-import com.sun.org.apache.xerces.internal.util.SecurityManager;
+ import com.sun.org.apache.xerces.internal.util.StAXInputSource;
+ import com.sun.org.apache.xerces.internal.util.Status;
+ import com.sun.org.apache.xerces.internal.util.XMLGrammarPoolImpl;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager;
+ import com.sun.org.apache.xerces.internal.utils.XMLSecurityPropertyManager;
+ import com.sun.org.apache.xerces.internal.xni.XNIException;
+ import com.sun.org.apache.xerces.internal.xni.grammars.Grammar;
+@@ -79,7 +79,7 @@
+ private static final String XMLGRAMMAR_POOL =
+ Constants.XERCES_PROPERTY_PREFIX + Constants.XMLGRAMMAR_POOL_PROPERTY;
+
+- /** Property identifier: SecurityManager. */
++ /** Property identifier: XMLSecurityManager. */
+ private static final String SECURITY_MANAGER =
+ Constants.XERCES_PROPERTY_PREFIX + Constants.SECURITY_MANAGER_PROPERTY;
+
+@@ -87,7 +87,6 @@
+ private static final String XML_SECURITY_PROPERTY_MANAGER =
+ Constants.XML_SECURITY_PROPERTY_MANAGER;
+
-
-- try {
-- //Sequence finding of the stubs according to spec
-- try{
-- //If-else is put here for speed up of J2EE.
-- //According to the OMG spec, the if clause is not dead code.
-- //It can occur if some compiler has allowed generation
-- //into org.omg.stub hierarchy for non-offending
-- //classes. This will encourage people to
-- //produce non-offending class stubs in their own hierarchy.
-- if(!PackagePrefixChecker
-- .hasOffendingPrefix(PackagePrefixChecker
-- .withoutPackagePrefix(className))){
-- loadedClass = Util.loadClass
-- (PackagePrefixChecker.withoutPackagePrefix(className),
-- remoteCodebase,
-- loader);
-- } else {
-- loadedClass = Util.loadClass
-- (className,
-- remoteCodebase,
-- loader);
-- }
-- } catch (ClassNotFoundException cnfe) {
-- loadedClass = Util.loadClass
-- (className,
-- remoteCodebase,
-- loader);
-- }
-- if (expectedType == null)
-- return loadedClass;
-- } catch (ClassNotFoundException cnfe) {
-- if (expectedType == null)
-- throw cnfe;
-- }
+ //
+ // Data
+ //
+@@ -108,7 +107,7 @@
+ private ErrorHandlerWrapper fErrorHandlerWrapper;
+
+ /** The SecurityManager. */
+- private SecurityManager fSecurityManager;
++ private XMLSecurityManager fSecurityManager;
+
+ /** The Security property manager. */
+ private XMLSecurityPropertyManager fSecurityPropertyMgr;
+@@ -122,8 +121,6 @@
+ * Note the default value (false) is the safe option..
+ */
+ private final boolean fUseServicesMechanism;
-
-- // If no class was not loaded, or if the loaded class is not of the
-- // correct type, make a further attempt to load the correct class
-- // using the classloader of the expected type.
-- // _REVISIT_ Is this step necessary, or should the Util,loadClass
-- // algorithm always produce a valid class if the setup is correct?
-- // Does the OMG standard algorithm need to be changed to include
-- // this step?
-- if (loadedClass == null || !expectedType.isAssignableFrom(loadedClass)) {
-- if (expectedType.getClassLoader() != expectedTypeClassLoader)
-- throw new IllegalArgumentException("expectedTypeClassLoader not class loader of expectedType.");
-
-- if (expectedTypeClassLoader != null)
-- loadedClass = expectedTypeClassLoader.loadClass(className);
-- else
-- loadedClass = Class.forName(className);
+ public XMLSchemaFactory() {
+ this(true);
+ }
+@@ -141,7 +138,7 @@
+ fXMLSchemaLoader.setErrorHandler(fErrorHandlerWrapper);
+
+ // Enable secure processing feature by default
+- fSecurityManager = new SecurityManager();
++ fSecurityManager = new XMLSecurityManager(true);
+ fXMLSchemaLoader.setProperty(SECURITY_MANAGER, fSecurityManager);
+
+ fSecurityPropertyMgr = new XMLSecurityPropertyManager();
+@@ -301,7 +298,7 @@
+ "FeatureNameNull", null));
+ }
+ if (name.equals(XMLConstants.FEATURE_SECURE_PROCESSING)) {
+- return (fSecurityManager != null);
++ return (fSecurityManager !=null && fSecurityManager.isSecureProcessing());
+ }
+ try {
+ return fXMLSchemaLoader.getFeature(name);
+@@ -365,17 +362,15 @@
+ SAXMessageFormatter.formatMessage(null,
+ "jaxp-secureprocessing-feature", null));
+ }
+- if (value) {
+- fSecurityManager = new SecurityManager();
+
++ fSecurityManager.setSecureProcessing(value);
++ if (value) {
+ if (Constants.IS_JDK8_OR_ABOVE) {
+ fSecurityPropertyMgr.setValue(XMLSecurityPropertyManager.Property.ACCESS_EXTERNAL_DTD,
+ XMLSecurityPropertyManager.State.FSP, Constants.EXTERNAL_ACCESS_DEFAULT_FSP);
+ fSecurityPropertyMgr.setValue(XMLSecurityPropertyManager.Property.ACCESS_EXTERNAL_SCHEMA,
+ XMLSecurityPropertyManager.State.FSP, Constants.EXTERNAL_ACCESS_DEFAULT_FSP);
+ }
+- } else {
+- fSecurityManager = null;
+ }
+
+ fXMLSchemaLoader.setProperty(SECURITY_MANAGER, fSecurityManager);
+@@ -410,9 +405,17 @@
+ "ProperyNameNull", null));
+ }
+ if (name.equals(SECURITY_MANAGER)) {
+- fSecurityManager = (SecurityManager) object;
++ fSecurityManager = XMLSecurityManager.convert(object, fSecurityManager);
+ fXMLSchemaLoader.setProperty(SECURITY_MANAGER, fSecurityManager);
+ return;
++ } else if (name.equals(Constants.XML_SECURITY_PROPERTY_MANAGER)) {
++ if (object == null) {
++ fSecurityPropertyMgr = new XMLSecurityPropertyManager();
++ } else {
++ fSecurityPropertyMgr = (XMLSecurityPropertyManager)object;
++ }
++ fXMLSchemaLoader.setProperty(Constants.XML_SECURITY_PROPERTY_MANAGER, fSecurityPropertyMgr);
++ return;
+ }
+ else if (name.equals(XMLGRAMMAR_POOL)) {
+ throw new SAXNotSupportedException(
+@@ -420,12 +423,15 @@
+ "property-not-supported", new Object [] {name}));
+ }
+ try {
+- int index = fSecurityPropertyMgr.getIndex(name);
+- if (index > -1) {
+- fSecurityPropertyMgr.setValue(index,
+- XMLSecurityPropertyManager.State.APIPROPERTY, (String)object);
+- } else {
+- fXMLSchemaLoader.setProperty(name, object);
++ //check if the property is managed by security manager
++ if (fSecurityManager == null ||
++ !fSecurityManager.setLimit(name, XMLSecurityManager.State.APIPROPERTY, object)) {
++ //check if the property is managed by security property manager
++ if (fSecurityPropertyMgr == null ||
++ !fSecurityPropertyMgr.setValue(name, XMLSecurityPropertyManager.State.APIPROPERTY, object)) {
++ //fall back to the existing property manager
++ fXMLSchemaLoader.setProperty(name, object);
++ }
+ }
+ }
+ catch (XMLConfigurationException e) {
+--- jaxp/src/com/sun/org/apache/xerces/internal/jaxp/validation/XMLSchemaValidatorComponentManager.java 2013-09-06 11:23:00.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/jaxp/validation/XMLSchemaValidatorComponentManager.java 2013-12-01 11:13:41.000000000 -0800
+@@ -39,9 +39,9 @@
+ import com.sun.org.apache.xerces.internal.util.NamespaceSupport;
+ import com.sun.org.apache.xerces.internal.util.ParserConfigurationSettings;
+ import com.sun.org.apache.xerces.internal.util.PropertyState;
+-import com.sun.org.apache.xerces.internal.util.SecurityManager;
+ import com.sun.org.apache.xerces.internal.util.Status;
+ import com.sun.org.apache.xerces.internal.util.SymbolTable;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager;
+ import com.sun.org.apache.xerces.internal.utils.XMLSecurityPropertyManager;
+ import com.sun.org.apache.xerces.internal.xni.NamespaceContext;
+ import com.sun.org.apache.xerces.internal.xni.XNIException;
+@@ -181,7 +181,7 @@
+ private final HashMap fInitProperties = new HashMap();
+
+ /** Stores the initial security manager. */
+- private final SecurityManager fInitSecurityManager;
++ private XMLSecurityManager fInitSecurityManager;
+
+ /** Stores the initial security property manager. */
+ private final XMLSecurityPropertyManager fSecurityPropertyMgr;
+@@ -221,12 +221,6 @@
+ fComponents.put(ENTITY_RESOLVER, null);
+ fComponents.put(ERROR_HANDLER, null);
+
+- if (System.getSecurityManager() != null) {
+- _isSecureMode = true;
+- setProperty(SECURITY_MANAGER, new SecurityManager());
+- } else {
+- fComponents.put(SECURITY_MANAGER, null);
- }
--
-- return loadedClass;
-- }
--}
---- corba/src/share/classes/com/sun/corba/se/impl/orbutil/ValueHandlerImpl_1_3.java 2012-08-10 09:10:35.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/orbutil/ValueHandlerImpl_1_3.java 1969-12-31 16:00:00.000000000 -0800
-@@ -1,251 +0,0 @@
--/*
-- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
-- * 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.
-- */
--/*
-- * Licensed Materials - Property of IBM
-- * RMI-IIOP v1.0
-- * Copyright IBM Corp. 1998 1999 All Rights Reserved
-- *
-- */
--
--package com.sun.corba.se.impl.orbutil;
--
--import javax.rmi.CORBA.Util;
--import javax.rmi.PortableRemoteObject;
--
--import java.util.Hashtable;
--import java.util.Stack;
+ fComponents.put(SYMBOL_TABLE, new SymbolTable());
+
+ // setup grammar pool
+@@ -241,15 +235,21 @@
+ addRecognizedParamsAndSetDefaults(fErrorReporter, grammarContainer);
+ addRecognizedParamsAndSetDefaults(fSchemaValidator, grammarContainer);
+
+- // if the secure processing feature is set to true, add a security manager to the configuration
+- Boolean secureProcessing = grammarContainer.getFeature(XMLConstants.FEATURE_SECURE_PROCESSING);
+- if (Boolean.TRUE.equals(secureProcessing)) {
+- fInitSecurityManager = new SecurityManager();
++ boolean secureProcessing = grammarContainer.getFeature(XMLConstants.FEATURE_SECURE_PROCESSING);
++ if (System.getSecurityManager() != null) {
++ _isSecureMode = true;
++ secureProcessing = true;
+ }
+- else {
+- fInitSecurityManager = null;
++
++ fInitSecurityManager = (XMLSecurityManager)
++ grammarContainer.getProperty(SECURITY_MANAGER);
++ if (fInitSecurityManager != null ) {
++ fInitSecurityManager.setSecureProcessing(secureProcessing);
++ } else {
++ fInitSecurityManager = new XMLSecurityManager(secureProcessing);
+ }
+- fComponents.put(SECURITY_MANAGER, fInitSecurityManager);
++
++ setProperty(SECURITY_MANAGER, fInitSecurityManager);
+
+ //pass on properties set on SchemaFactory
+ fSecurityPropertyMgr = (XMLSecurityPropertyManager)
+@@ -281,7 +281,7 @@
+ return FeatureState.is(fUseGrammarPoolOnly);
+ }
+ else if (XMLConstants.FEATURE_SECURE_PROCESSING.equals(featureId)) {
+- return FeatureState.is(getProperty(SECURITY_MANAGER) != null);
++ return FeatureState.is(fInitSecurityManager.isSecureProcessing());
+ }
+ else if (SCHEMA_ELEMENT_DEFAULT.equals(featureId)) {
+ return FeatureState.is(true); //pre-condition: VALIDATION and SCHEMA_VALIDATION are always true
+@@ -311,7 +311,8 @@
+ if (_isSecureMode && !value) {
+ throw new XMLConfigurationException(Status.NOT_ALLOWED, XMLConstants.FEATURE_SECURE_PROCESSING);
+ }
+- setProperty(SECURITY_MANAGER, value ? new SecurityManager() : null);
++ fInitSecurityManager.setSecureProcessing(value);
++ setProperty(SECURITY_MANAGER, fInitSecurityManager);
+
+ if (value && Constants.IS_JDK8_OR_ABOVE) {
+ fSecurityPropertyMgr.setValue(XMLSecurityPropertyManager.Property.ACCESS_EXTERNAL_DTD,
+@@ -390,10 +391,20 @@
+ fComponents.put(propertyId, value);
+ return;
+ }
+- if (!fInitProperties.containsKey(propertyId)) {
+- fInitProperties.put(propertyId, super.getProperty(propertyId));
++
++ //check if the property is managed by security manager
++ if (fInitSecurityManager == null ||
++ !fInitSecurityManager.setLimit(propertyId, XMLSecurityManager.State.APIPROPERTY, value)) {
++ //check if the property is managed by security property manager
++ if (fSecurityPropertyMgr == null ||
++ !fSecurityPropertyMgr.setValue(propertyId, XMLSecurityPropertyManager.State.APIPROPERTY, value)) {
++ //fall back to the existing property manager
++ if (!fInitProperties.containsKey(propertyId)) {
++ fInitProperties.put(propertyId, super.getProperty(propertyId));
++ }
++ super.setProperty(propertyId, value);
++ }
+ }
+- super.setProperty(propertyId, value);
+ }
+
+ /**
+--- jaxp/src/com/sun/org/apache/xerces/internal/parsers/AbstractSAXParser.java 2013-09-06 11:23:00.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/parsers/AbstractSAXParser.java 2013-12-01 11:13:41.000000000 -0800
+@@ -20,18 +20,15 @@
+
+ package com.sun.org.apache.xerces.internal.parsers;
+
-import java.io.IOException;
--import java.util.EmptyStackException;
--
--import com.sun.corba.se.impl.util.Utility;
--import com.sun.corba.se.impl.io.IIOPInputStream;
--import com.sun.corba.se.impl.io.IIOPOutputStream;
--import com.sun.corba.se.impl.util.RepositoryId;
--import com.sun.corba.se.impl.util.Utility;
--
--import org.omg.CORBA.TCKind;
--import org.omg.CORBA.MARSHAL;
--import org.omg.CORBA.CompletionStatus;
--import org.omg.CORBA.portable.IndirectionException;
--import com.sun.org.omg.SendingContext.CodeBase;
--
--import java.security.AccessController;
--import java.security.PrivilegedAction;
--
--/**
-- * This class overrides behavior of our current ValueHandlerImpl to
-- * provide backwards compatibility with JDK 1.3.0.
-- */
--public class ValueHandlerImpl_1_3 extends com.sun.corba.se.impl.io.ValueHandlerImpl {
--
-- public ValueHandlerImpl_1_3(){
-- super();
-- }
--
-- public ValueHandlerImpl_1_3(boolean isInputStream) {
-- super(isInputStream);
-- }
--
-- /**
-- * Writes the value to the stream using java semantics.
-- * @param out The stream to write the value to
-- * @param value The value to be written to the stream
-- **/
-- public void writeValue(org.omg.CORBA.portable.OutputStream _out, java.io.Serializable value) {
-- super.writeValue(_out, value);
-- }
--
-- /**
-- * Reads a value from the stream using java semantics.
-- * @param in The stream to read the value from
-- * @param clazz The type of the value to be read in
-- * @param sender The sending context runtime
-- **/
-- public java.io.Serializable readValue(org.omg.CORBA.portable.InputStream _in,
-- int offset,
-- java.lang.Class clazz,
-- String repositoryID,
-- org.omg.SendingContext.RunTime _sender)
-- {
-- return super.readValue(_in, offset, clazz, repositoryID, _sender);
-- }
--
-- /**
-- * Returns the repository ID for the given RMI value Class.
-- * @param clz The class to return a repository ID for.
-- * @return the repository ID of the Class.
-- **/
-- public java.lang.String getRMIRepositoryID(java.lang.Class clz) {
-- return RepositoryId_1_3.createForJavaType(clz);
-- }
--
-- /**
-- * Indicates whether the given Class performs custom or
-- * default marshaling.
-- * @param clz The class to test for custom marshaling.
-- * @return True if the class performs custom marshaling, false
-- * if it does not.
-- **/
-- public boolean isCustomMarshaled(java.lang.Class clz) {
-- return super.isCustomMarshaled(clz);
-- }
--
-- /**
-- * Returns the CodeBase for this ValueHandler. This is used by
-- * the ORB runtime. The server sends the service context containing
-- * the IOR for this CodeBase on the first GIOP reply. The clients
-- * do the same on the first GIOP request.
-- * @return the SendingContext.CodeBase of this ValueHandler.
-- **/
-- public org.omg.SendingContext.RunTime getRunTimeCodeBase() {
-- return super.getRunTimeCodeBase();
-- }
--
-- /**
-- * If the value contains a writeReplace method then the result
-- * is returned. Otherwise, the value itself is returned.
-- * @return the true value to marshal on the wire.
-- **/
-- public java.io.Serializable writeReplace(java.io.Serializable value) {
-- return super.writeReplace(value);
-- }
--
-- // methods supported for backward compatability so that the appropriate
-- // Rep-id calculations take place based on the ORB version
--
-- /**
-- * Returns a boolean of whether or not RepositoryId indicates
-- * FullValueDescriptor.
-- * used for backward compatability
-- */
--
-- public boolean useFullValueDescription(Class clazz, String repositoryID)
-- throws IOException
--
-- {
-- return RepositoryId_1_3.useFullValueDescription(clazz, repositoryID);
-- }
--
-- public String getClassName(String id)
-- {
-- RepositoryId_1_3 repID = RepositoryId_1_3.cache.getId(id);
-- return repID.getClassName();
-- }
--
-- public Class getClassFromType(String id)
-- throws ClassNotFoundException
-- {
-- RepositoryId_1_3 repId = RepositoryId_1_3.cache.getId(id);
-- return repId.getClassFromType();
-- }
--
-- public Class getAnyClassFromType(String id)
-- throws ClassNotFoundException
-- {
-- RepositoryId_1_3 repId = RepositoryId_1_3.cache.getId(id);
-- return repId.getAnyClassFromType();
-- }
--
-- public String createForAnyType(Class cl)
-- {
-- return RepositoryId_1_3.createForAnyType(cl);
-- }
--
-- public String getDefinedInId(String id)
-- {
-- RepositoryId_1_3 repId = RepositoryId_1_3.cache.getId(id);
-- return repId.getDefinedInId();
-- }
--
-- public String getUnqualifiedName(String id)
-- {
-- RepositoryId_1_3 repId = RepositoryId_1_3.cache.getId(id);
-- return repId.getUnqualifiedName();
-- }
--
-- public String getSerialVersionUID(String id)
-- {
-- RepositoryId_1_3 repId = RepositoryId_1_3.cache.getId(id);
-- return repId.getSerialVersionUID();
-- }
--
-- public boolean isAbstractBase(Class clazz)
-- {
-- return RepositoryId_1_3.isAbstractBase(clazz);
-- }
--
-- public boolean isSequence(String id)
-- {
-- RepositoryId_1_3 repId = RepositoryId_1_3.cache.getId(id);
-- return repId.isSequence();
-- }
--
-- /**
-- * Preserves the incorrect 1.3 behavior which truncates Java chars in
-- * arrays to 8-bit CORBA chars. Bug 4367783. This enables us to
-- * continue interoperating with our legacy ORBs. If this goes into
-- * Ladybird, then Ladybird and Kestrel will interoperate as long as
-- * people don't use chars greater than 8-bits.
-- */
-- protected void writeCharArray(org.omg.CORBA_2_3.portable.OutputStream out,
-- char[] array,
-- int offset,
-- int length)
-- {
-- out.write_char_array(array, offset, length);
-- }
--
-- /**
-- * Preserves the incorrect 1.3 behavior which truncates Java chars in
-- * arrays to 8-bit CORBA chars. Bug 4367783. This enables us to
-- * continue interoperating with our legacy ORBs. If this goes into
-- * Ladybird, then Ladybird and Kestrel will interoperate as long as
-- * people don't use chars greater than 8-bits.
-- */
-- protected void readCharArray(org.omg.CORBA_2_3.portable.InputStream in,
-- char[] array,
-- int offset,
-- int length)
-- {
-- in.read_char_array(array, offset, length);
-- }
--
-- protected final String getOutputStreamClassName() {
-- return "com.sun.corba.se.impl.orbutil.IIOPOutputStream_1_3";
-- }
--
-- protected final String getInputStreamClassName() {
-- return "com.sun.corba.se.impl.orbutil.IIOPInputStream_1_3";
-- }
--
-- /**
-- * Our JDK 1.3 and JDK 1.3.1 behavior subclasses override this.
-- * The correct behavior is for a Java char to map to a CORBA wchar,
-- * but our older code mapped it to a CORBA char.
-- */
-- protected TCKind getJavaCharTCKind() {
-- return TCKind.tk_char;
-- }
--}
---- corba/src/share/classes/com/sun/corba/se/impl/orbutil/ValueHandlerImpl_1_3_1.java 2012-08-10 09:10:35.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/orbutil/ValueHandlerImpl_1_3_1.java 1969-12-31 16:00:00.000000000 -0800
-@@ -1,77 +0,0 @@
--/*
-- * Copyright (c) 2001, 2002, Oracle and/or its affiliates. All rights reserved.
-- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
-- * This code is free software; you can redistribute it and/or modify it
-- * under the terms of the GNU General Public License version 2 only, as
-- * published by the Free Software Foundation. Oracle designates this
-- * particular file as subject to the "Classpath" exception as provided
-- * by Oracle in the LICENSE file that accompanied this code.
-- *
-- * This code is distributed in the hope that it will be useful, but WITHOUT
-- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-- * version 2 for more details (a copy is included in the LICENSE file that
-- * accompanied this code).
-- *
-- * You should have received a copy of the GNU General Public License version
-- * 2 along with this work; if not, write to the Free Software Foundation,
-- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-- *
-- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-- * or visit www.oracle.com if you need additional information or have any
-- * questions.
-- */
--package com.sun.corba.se.impl.orbutil;
--
--import org.omg.CORBA.TCKind;
--
--/**
-- * This class overrides behavior of our current ValueHandlerImpl to
-- * provide backwards compatibility with JDK 1.3.1.
-- */
--public class ValueHandlerImpl_1_3_1
-- extends com.sun.corba.se.impl.io.ValueHandlerImpl
--{
-- public ValueHandlerImpl_1_3_1() {}
--
-- public ValueHandlerImpl_1_3_1(boolean isInputStream) {
-- super(isInputStream);
-- }
--
-- /**
-- * Our JDK 1.3 and JDK 1.3.1 behavior subclasses override this.
-- * The correct behavior is for a Java char to map to a CORBA wchar,
-- * but our older code mapped it to a CORBA char.
-- */
-- protected TCKind getJavaCharTCKind() {
-- return TCKind.tk_char;
-- }
--
-- /**
-- * RepositoryId_1_3_1 performs an incorrect repId calculation
-- * when using serialPersistentFields and one of the fields no longer
-- * exists on the class itself.
-- */
-- public boolean useFullValueDescription(Class clazz, String repositoryID)
-- throws java.io.IOException
-- {
-- return RepositoryId_1_3_1.useFullValueDescription(clazz, repositoryID);
-- }
+-import java.util.Locale;
-
-- /**
-- * Installs the legacy IIOPOutputStream_1_3_1 which does
-- * PutFields/GetFields incorrectly. Bug 4407244.
-- */
-- protected final String getOutputStreamClassName() {
-- return "com.sun.corba.se.impl.orbutil.IIOPOutputStream_1_3_1";
-- }
+ import com.sun.org.apache.xerces.internal.impl.Constants;
+-import com.sun.org.apache.xerces.internal.util.Status;
+-import com.sun.org.apache.xerces.internal.xs.PSVIProvider;
+-import com.sun.org.apache.xerces.internal.util.EntityResolverWrapper;
+ import com.sun.org.apache.xerces.internal.util.EntityResolver2Wrapper;
++import com.sun.org.apache.xerces.internal.util.EntityResolverWrapper;
+ import com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper;
+ import com.sun.org.apache.xerces.internal.util.SAXMessageFormatter;
++import com.sun.org.apache.xerces.internal.util.Status;
+ import com.sun.org.apache.xerces.internal.util.SymbolHash;
+ import com.sun.org.apache.xerces.internal.util.XMLSymbols;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager;
+ import com.sun.org.apache.xerces.internal.xni.Augmentations;
+ import com.sun.org.apache.xerces.internal.xni.NamespaceContext;
+ import com.sun.org.apache.xerces.internal.xni.QName;
+@@ -48,15 +45,17 @@
+ import com.sun.org.apache.xerces.internal.xni.parser.XMLParserConfiguration;
+ import com.sun.org.apache.xerces.internal.xs.AttributePSVI;
+ import com.sun.org.apache.xerces.internal.xs.ElementPSVI;
++import com.sun.org.apache.xerces.internal.xs.PSVIProvider;
++import java.io.IOException;
++import java.util.Locale;
++import javax.xml.XMLConstants;
+ import org.xml.sax.AttributeList;
+-import org.xml.sax.Attributes;
+ import org.xml.sax.ContentHandler;
+ import org.xml.sax.DTDHandler;
+ import org.xml.sax.DocumentHandler;
+ import org.xml.sax.EntityResolver;
+ import org.xml.sax.ErrorHandler;
+ import org.xml.sax.InputSource;
+-import org.xml.sax.Locator;
+ import org.xml.sax.Parser;
+ import org.xml.sax.SAXException;
+ import org.xml.sax.SAXNotRecognizedException;
+@@ -131,6 +130,10 @@
+ protected static final String DOM_NODE =
+ Constants.SAX_PROPERTY_PREFIX + Constants.DOM_NODE_PROPERTY;
+
++ /** Property id: security manager. */
++ private static final String SECURITY_MANAGER =
++ Constants.XERCES_PROPERTY_PREFIX + Constants.SECURITY_MANAGER_PROPERTY;
++
+ /** Recognized properties. */
+ private static final String[] RECOGNIZED_PROPERTIES = {
+ LEXICAL_HANDLER,
+@@ -1645,19 +1648,13 @@
+ // Drop through and perform default processing
+ //
+ }
-
-- /**
-- * Installs the legacy IIOPInputStream_1_3_1 which does
-- * PutFields/GetFields incorrectly. Bug 4407244.
-- */
-- protected final String getInputStreamClassName() {
-- return "com.sun.corba.se.impl.orbutil.IIOPInputStream_1_3_1";
-- }
--}
---- corba/src/share/classes/com/sun/corba/se/impl/protocol/CorbaMessageMediatorImpl.java 2012-08-10 09:10:41.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/protocol/CorbaMessageMediatorImpl.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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 @@
-
- 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 @@
- 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 @@
- 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 @@
- 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 @@
- // 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);
---- corba/src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateReplyMessage_1_2.java 2012-08-10 09:10:43.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateReplyMessage_1_2.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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 @@
+- //
+- // Xerces Features
+- //
+-
+- /*
+- else if (featureId.startsWith(XERCES_FEATURES_PREFIX)) {
+- String feature = featureId.substring(XERCES_FEATURES_PREFIX.length());
+- //
+- // Drop through and perform default processing
+- //
++ else if (featureId.equals(XMLConstants.FEATURE_SECURE_PROCESSING)) {
++ if (state) {
++ if (fConfiguration.getProperty(SECURITY_MANAGER )==null) {
++ fConfiguration.setProperty(SECURITY_MANAGER, new XMLSecurityManager());
++ }
++ }
+ }
+- */
+
+ //
+ // Default handling
+--- jaxp/src/com/sun/org/apache/xerces/internal/parsers/DOMParser.java 2013-09-06 11:23:00.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/parsers/DOMParser.java 2013-12-01 11:13:41.000000000 -0800
+@@ -29,6 +29,7 @@
+ import com.sun.org.apache.xerces.internal.util.SAXMessageFormatter;
+ import com.sun.org.apache.xerces.internal.util.Status;
+ import com.sun.org.apache.xerces.internal.util.SymbolTable;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager;
+ import com.sun.org.apache.xerces.internal.utils.XMLSecurityPropertyManager;
+ import com.sun.org.apache.xerces.internal.xni.XNIException;
+ import com.sun.org.apache.xerces.internal.xni.grammars.XMLGrammarPool;
+@@ -531,7 +532,54 @@
+ */
+ public void setProperty(String propertyId, Object value)
+ throws SAXNotRecognizedException, SAXNotSupportedException {
++ /**
++ * It's possible for users to set a security manager through the interface.
++ * If it's the old SecurityManager, convert it to the new XMLSecurityManager
++ */
++ if (propertyId.equals(Constants.SECURITY_MANAGER)) {
++ securityManager = XMLSecurityManager.convert(value, securityManager);
++ setProperty0(Constants.SECURITY_MANAGER, securityManager);
++ return;
++ }
++ if (propertyId.equals(Constants.XML_SECURITY_PROPERTY_MANAGER)) {
++ if (value == null) {
++ securityPropertyManager = new XMLSecurityPropertyManager();
++ } else {
++ securityPropertyManager = (XMLSecurityPropertyManager)value;
++ }
++ setProperty0(Constants.XML_SECURITY_PROPERTY_MANAGER, securityPropertyManager);
++ return;
++ }
++
++ if (securityManager == null) {
++ securityManager = new XMLSecurityManager(true);
++ setProperty0(Constants.SECURITY_MANAGER, securityManager);
++ }
++
++ if (securityPropertyManager == null) {
++ securityPropertyManager = new XMLSecurityPropertyManager();
++ setProperty0(Constants.XML_SECURITY_PROPERTY_MANAGER, securityPropertyManager);
++ }
++ int index = securityPropertyManager.getIndex(propertyId);
++
++ if (index > -1) {
++ /**
++ * this is a direct call to this parser, not a subclass since
++ * internally the support of this property is done through
++ * XMLSecurityPropertyManager
++ */
++ securityPropertyManager.setValue(index, XMLSecurityPropertyManager.State.APIPROPERTY, (String)value);
++ } else {
++ //check if the property is managed by security manager
++ if (!securityManager.setLimit(propertyId, XMLSecurityManager.State.APIPROPERTY, value)) {
++ //fall back to the default configuration to handle the property
++ setProperty0(propertyId, value);
++ }
++ }
++ }
- import com.sun.corba.se.impl.orbutil.ORBUtility;
- import com.sun.corba.se.impl.orbutil.ORBConstants;
--import com.sun.corba.se.impl.orbutil.ORBClassLoader;
++ public void setProperty0(String propertyId, Object value)
++ throws SAXNotRecognizedException, SAXNotSupportedException {
+ try {
+ fConfiguration.setProperty(propertyId, value);
+ }
+--- jaxp/src/com/sun/org/apache/xerces/internal/parsers/DTDConfiguration.java 2013-09-06 11:23:00.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/parsers/DTDConfiguration.java 2013-12-01 11:13:41.000000000 -0800
+@@ -38,7 +38,6 @@
+ import com.sun.org.apache.xerces.internal.util.PropertyState;
+ import com.sun.org.apache.xerces.internal.util.Status;
+ import com.sun.org.apache.xerces.internal.util.SymbolTable;
+-import com.sun.org.apache.xerces.internal.utils.XMLSecurityPropertyManager;
+ import com.sun.org.apache.xerces.internal.xni.XMLLocator;
+ import com.sun.org.apache.xerces.internal.xni.XNIException;
+ import com.sun.org.apache.xerces.internal.xni.grammars.XMLGrammarPool;
+@@ -189,6 +188,9 @@
+ protected static final String XML_SECURITY_PROPERTY_MANAGER =
+ Constants.XML_SECURITY_PROPERTY_MANAGER;
- import com.sun.corba.se.spi.logging.CORBALogDomains ;
- import com.sun.corba.se.impl.logging.ORBUtilSystemException ;
---- corba/src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/MessageBase.java 2012-08-10 09:10:45.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/MessageBase.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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.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;
++ /** Property identifier: Security manager. */
++ private static final String SECURITY_MANAGER = Constants.SECURITY_MANAGER;
++
+ // debugging
+
+ /** Set to true and recompile to print exception stack trace. */
+@@ -334,6 +336,7 @@
+ JAXP_SCHEMA_SOURCE,
+ JAXP_SCHEMA_LANGUAGE,
+ LOCALE,
++ SECURITY_MANAGER,
+ XML_SECURITY_PROPERTY_MANAGER
+ };
+ addRecognizedProperties(recognizedProperties);
+@@ -411,8 +414,6 @@
+ // do nothing
+ // REVISIT: What is the right thing to do? -Ac
+ }
+-
+- setProperty(XML_SECURITY_PROPERTY_MANAGER, new XMLSecurityPropertyManager());
+ } // <init>(SymbolTable,XMLGrammarPool)
+
+ //
+--- jaxp/src/com/sun/org/apache/xerces/internal/parsers/NonValidatingConfiguration.java 2013-09-06 11:23:00.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/parsers/NonValidatingConfiguration.java 2013-12-01 11:13:41.000000000 -0800
+@@ -36,7 +36,6 @@
+ import com.sun.org.apache.xerces.internal.util.PropertyState;
+ import com.sun.org.apache.xerces.internal.util.Status;
+ import com.sun.org.apache.xerces.internal.util.SymbolTable;
+-import com.sun.org.apache.xerces.internal.utils.XMLSecurityPropertyManager;
+ import com.sun.org.apache.xerces.internal.xni.XMLLocator;
+ import com.sun.org.apache.xerces.internal.xni.XNIException;
+ import com.sun.org.apache.xerces.internal.xni.grammars.XMLGrammarPool;
+@@ -162,6 +161,9 @@
+ protected static final String XML_SECURITY_PROPERTY_MANAGER =
+ Constants.XML_SECURITY_PROPERTY_MANAGER;
-+import sun.corba.SharedSecrets;
++ /** Property identifier: Security manager. */
++ private static final String SECURITY_MANAGER = Constants.SECURITY_MANAGER;
+
- /**
- * 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 @@
- SystemException sysEx = null;
+ // debugging
+
+ /** Set to true and recompile to print exception stack trace. */
+@@ -316,6 +318,7 @@
+ DATATYPE_VALIDATOR_FACTORY,
+ VALIDATION_MANAGER,
+ LOCALE,
++ SECURITY_MANAGER,
+ XML_SECURITY_PROPERTY_MANAGER
+ };
+ addRecognizedProperties(recognizedProperties);
+@@ -372,8 +375,6 @@
+ // do nothing
+ // REVISIT: What is the right thing to do? -Ac
+ }
+-
+- setProperty(XML_SECURITY_PROPERTY_MANAGER, new XMLSecurityPropertyManager());
+ } // <init>(SymbolTable,XMLGrammarPool)
- try {
-- Class clazz = ORBClassLoader.loadClass(exClassName);
-+ Class<?> clazz =
-+ SharedSecrets.getJavaCorbaAccess().loadClass(exClassName);
- if (message == null) {
- sysEx = (SystemException) clazz.newInstance();
- } else {
---- corba/src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage_1_0.java 2012-08-10 09:10:46.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage_1_0.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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.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;
-
---- corba/src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage_1_1.java 2012-08-10 09:10:46.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage_1_1.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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.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;
-
---- corba/src/share/classes/com/sun/corba/se/impl/transport/CorbaContactInfoBase.java 2012-08-10 09:10:48.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/transport/CorbaContactInfoBase.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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 @@
- messageMediator;
+ //
+--- jaxp/src/com/sun/org/apache/xerces/internal/parsers/SAXParser.java 2013-09-06 11:23:00.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/parsers/SAXParser.java 2013-12-01 11:13:41.000000000 -0800
+@@ -22,6 +22,7 @@
- OutputObject outputObject =
-- new CDROutputObject(orb, messageMediator,
-+ sun.corba.OutputStreamFactory.newCDROutputObject(orb, messageMediator,
- corbaMessageMediator.getRequestHeader(),
- corbaMessageMediator.getStreamFormatVersion());
+ import com.sun.org.apache.xerces.internal.impl.Constants;
+ import com.sun.org.apache.xerces.internal.util.SymbolTable;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager;
+ import com.sun.org.apache.xerces.internal.utils.XMLSecurityPropertyManager;
+ import com.sun.org.apache.xerces.internal.xni.grammars.XMLGrammarPool;
+ import com.sun.org.apache.xerces.internal.xni.parser.XMLParserConfiguration;
+@@ -76,7 +77,7 @@
+ XMLGRAMMAR_POOL,
+ };
---- corba/src/share/classes/com/sun/corba/se/impl/transport/SharedCDRContactInfoImpl.java 2012-08-10 09:10:50.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/transport/SharedCDRContactInfoImpl.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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 @@
- messageMediator;
- // NOTE: GROW.
- OutputObject outputObject =
-- new CDROutputObject(orb, messageMediator,
-+ sun.corba.OutputStreamFactory.newCDROutputObject(orb, messageMediator,
- corbaMessageMediator.getRequestHeader(),
- corbaMessageMediator.getStreamFormatVersion(),
- BufferManagerFactory.GROW);
---- corba/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelAcceptorImpl.java 2012-08-10 09:10:50.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelAcceptorImpl.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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 @@
- {
- 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());
+- XMLSecurityPropertyManager securityPropertyManager;
++
+ //
+ // Constructors
+ //
+@@ -130,11 +131,36 @@
+ */
+ public void setProperty(String name, Object value)
+ throws SAXNotRecognizedException, SAXNotSupportedException {
++ /**
++ * It's possible for users to set a security manager through the interface.
++ * If it's the old SecurityManager, convert it to the new XMLSecurityManager
++ */
++ if (name.equals(Constants.SECURITY_MANAGER)) {
++ securityManager = XMLSecurityManager.convert(value, securityManager);
++ super.setProperty(Constants.SECURITY_MANAGER, securityManager);
++ return;
++ }
++ if (name.equals(Constants.XML_SECURITY_PROPERTY_MANAGER)) {
++ if (value == null) {
++ securityPropertyManager = new XMLSecurityPropertyManager();
++ } else {
++ securityPropertyManager = (XMLSecurityPropertyManager)value;
++ }
++ super.setProperty(Constants.XML_SECURITY_PROPERTY_MANAGER, securityPropertyManager);
++ return;
++ }
++
++ if (securityManager == null) {
++ securityManager = new XMLSecurityManager(true);
++ super.setProperty(Constants.SECURITY_MANAGER, securityManager);
++ }
++
+ if (securityPropertyManager == null) {
+ securityPropertyManager = new XMLSecurityPropertyManager();
++ super.setProperty(Constants.XML_SECURITY_PROPERTY_MANAGER, securityPropertyManager);
+ }
+- int index = securityPropertyManager.getIndex(name);
+
++ int index = securityPropertyManager.getIndex(name);
+ if (index > -1) {
+ /**
+ * this is a direct call to this parser, not a subclass since
+@@ -142,9 +168,12 @@
+ * XMLSecurityPropertyManager
+ */
+ securityPropertyManager.setValue(index, XMLSecurityPropertyManager.State.APIPROPERTY, (String)value);
+- super.setProperty(Constants.XML_SECURITY_PROPERTY_MANAGER, securityPropertyManager);
+ } else {
+- super.setProperty(name, value);
++ //check if the property is managed by security manager
++ if (!securityManager.setLimit(name, XMLSecurityManager.State.APIPROPERTY, value)) {
++ //fall back to the default configuration to handle the property
++ super.setProperty(name, value);
++ }
+ }
}
+ } // class SAXParser
+--- jaxp/src/com/sun/org/apache/xerces/internal/parsers/SecurityConfiguration.java 2013-09-06 11:23:00.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/parsers/SecurityConfiguration.java 2013-12-01 11:13:41.000000000 -0800
+@@ -23,8 +23,8 @@
+ import com.sun.org.apache.xerces.internal.impl.Constants;
+ import com.sun.org.apache.xerces.internal.xni.grammars.XMLGrammarPool;
+ import com.sun.org.apache.xerces.internal.xni.parser.XMLComponentManager;
+-import com.sun.org.apache.xerces.internal.util.SecurityManager;
+ import com.sun.org.apache.xerces.internal.util.SymbolTable;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager;
- ////////////////////////////////////////////////////
---- corba/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelConnectionImpl.java 2012-08-10 09:10:50.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelConnectionImpl.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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
-@@ -1588,8 +1588,8 @@
- {
- // 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);
---- corba/src/share/classes/com/sun/corba/se/spi/ior/TaggedComponentBase.java 2012-08-10 09:10:59.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/spi/ior/TaggedComponentBase.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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 configuration allows Xerces to behave in a security-conscious manner; that is,
+@@ -44,6 +44,7 @@
*
- * This code is free software; you can redistribute it and/or modify it
-@@ -42,7 +42,8 @@
- 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 ) ;
---- corba/src/share/classes/com/sun/corba/se/spi/orb/ORB.java 2012-08-10 09:11:09.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/spi/orb/ORB.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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.
+ * @author Neil Graham, IBM
*
- * This code is free software; you can redistribute it and/or modify it
-@@ -97,7 +97,8 @@
++ * @version $Id: SecurityConfiguration.java,v 1.6 2010-11-01 04:40:09 joehw Exp $
+ */
+ public class SecurityConfiguration extends XIncludeAwareParserConfiguration
+ {
+@@ -107,7 +108,7 @@
+ super(symbolTable, grammarPool, parentSettings);
+
+ // create the SecurityManager property:
+- setProperty(SECURITY_MANAGER_PROPERTY, new SecurityManager());
++ setProperty(SECURITY_MANAGER_PROPERTY, new XMLSecurityManager(true));
+ } // <init>(SymbolTable,XMLGrammarPool)
+
+ } // class SecurityConfiguration
+--- jaxp/src/com/sun/org/apache/xerces/internal/parsers/XML11Configuration.java 2013-09-06 11:23:00.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/parsers/XML11Configuration.java 2013-12-01 11:13:41.000000000 -0800
+@@ -52,6 +52,7 @@
+ import com.sun.org.apache.xerces.internal.util.ParserConfigurationSettings;
+ import com.sun.org.apache.xerces.internal.util.PropertyState;
+ import com.sun.org.apache.xerces.internal.util.SymbolTable;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager;
+ import com.sun.org.apache.xerces.internal.utils.XMLSecurityPropertyManager;
+ import com.sun.org.apache.xerces.internal.xni.XMLDTDContentModelHandler;
+ import com.sun.org.apache.xerces.internal.xni.XMLDTDHandler;
+@@ -279,6 +280,8 @@
+ private static final String XML_SECURITY_PROPERTY_MANAGER =
+ Constants.XML_SECURITY_PROPERTY_MANAGER;
- import com.sun.corba.se.impl.presentation.rmi.PresentationManagerImpl ;
++ /** Property identifier: Security manager. */
++ private static final String SECURITY_MANAGER = Constants.SECURITY_MANAGER;
--import com.sun.corba.se.impl.orbutil.ORBClassLoader ;
-+import sun.awt.AppContext;
-+import sun.corba.SharedSecrets;
+ // debugging
- public abstract class ORB extends com.sun.corba.se.org.omg.CORBA.ORB
- implements Broker, TypeCodeFactory
-@@ -173,14 +174,7 @@
+@@ -289,33 +292,33 @@
+ // Data
+ //
- protected MonitoringManager monitoringManager;
+- protected SymbolTable fSymbolTable;
++ protected SymbolTable fSymbolTable;
+ protected XMLInputSource fInputSource;
+ protected ValidationManager fValidationManager;
+- protected XMLVersionDetector fVersionDetector;
++ protected XMLVersionDetector fVersionDetector;
+ protected XMLLocator fLocator;
+- protected Locale fLocale;
++ protected Locale fLocale;
+
+- /** XML 1.0 Components. */
+- protected ArrayList fComponents;
++ /** XML 1.0 Components. */
++ protected ArrayList fComponents;
+
+- /** XML 1.1. Components. */
+- protected ArrayList fXML11Components = null;
++ /** XML 1.1. Components. */
++ protected ArrayList fXML11Components = null;
+
+- /** Common components: XMLEntityManager, XMLErrorReporter, XMLSchemaValidator */
+- protected ArrayList fCommonComponents = null;
++ /** Common components: XMLEntityManager, XMLErrorReporter, XMLSchemaValidator */
++ protected ArrayList fCommonComponents = null;
+
+- /** The document handler. */
+- protected XMLDocumentHandler fDocumentHandler;
++ /** The document handler. */
++ protected XMLDocumentHandler fDocumentHandler;
+
+- /** The DTD handler. */
+- protected XMLDTDHandler fDTDHandler;
++ /** The DTD handler. */
++ protected XMLDTDHandler fDTDHandler;
+
+- /** The DTD content model handler. */
+- protected XMLDTDContentModelHandler fDTDContentModelHandler;
++ /** The DTD content model handler. */
++ protected XMLDTDContentModelHandler fDTDContentModelHandler;
+
+- /** Last component in the document pipeline */
+- protected XMLDocumentSource fLastComponent;
++ /** Last component in the document pipeline */
++ protected XMLDocumentSource fLastComponent;
-- // There is only one instance of the PresentationManager
-- // that is shared between all ORBs. This is necessary
-- // because RMI-IIOP requires the PresentationManager in
-- // places where no ORB is available, so the PresentationManager
-- // must be global. It is initialized here as well.
-- protected static PresentationManager globalPM = null ;
--
-- static {
-+ private static PresentationManager setupPresentationManager() {
- staticWrapper = ORBUtilSystemException.get(
- CORBALogDomains.RPC_PRESENTATION ) ;
+ /**
+ * True if a parse is in progress. This state is needed because
+@@ -495,31 +498,31 @@
+ fFeatures.put(SCHEMA_ELEMENT_DEFAULT, Boolean.TRUE);
+ fFeatures.put(NORMALIZE_DATA, Boolean.TRUE);
+ fFeatures.put(SCHEMA_AUGMENT_PSVI, Boolean.TRUE);
+- fFeatures.put(GENERATE_SYNTHETIC_ANNOTATIONS, Boolean.FALSE);
+- fFeatures.put(VALIDATE_ANNOTATIONS, Boolean.FALSE);
+- fFeatures.put(HONOUR_ALL_SCHEMALOCATIONS, Boolean.FALSE);
+- fFeatures.put(NAMESPACE_GROWTH, Boolean.FALSE);
+- fFeatures.put(TOLERATE_DUPLICATES, Boolean.FALSE);
+- fFeatures.put(USE_GRAMMAR_POOL_ONLY, Boolean.FALSE);
++ fFeatures.put(GENERATE_SYNTHETIC_ANNOTATIONS, Boolean.FALSE);
++ fFeatures.put(VALIDATE_ANNOTATIONS, Boolean.FALSE);
++ fFeatures.put(HONOUR_ALL_SCHEMALOCATIONS, Boolean.FALSE);
++ fFeatures.put(NAMESPACE_GROWTH, Boolean.FALSE);
++ fFeatures.put(TOLERATE_DUPLICATES, Boolean.FALSE);
++ fFeatures.put(USE_GRAMMAR_POOL_ONLY, Boolean.FALSE);
+ fFeatures.put(PARSER_SETTINGS, Boolean.TRUE);
+ fFeatures.put(XMLConstants.FEATURE_SECURE_PROCESSING, Boolean.TRUE);
+
+ // add default recognized properties
+ final String[] recognizedProperties =
+ {
+- SYMBOL_TABLE,
+- ERROR_HANDLER,
+- ENTITY_RESOLVER,
++ SYMBOL_TABLE,
++ ERROR_HANDLER,
++ ENTITY_RESOLVER,
+ ERROR_REPORTER,
+ ENTITY_MANAGER,
+ DOCUMENT_SCANNER,
+ DTD_SCANNER,
+ DTD_PROCESSOR,
+ DTD_VALIDATOR,
+- DATATYPE_VALIDATOR_FACTORY,
+- VALIDATION_MANAGER,
+- SCHEMA_VALIDATOR,
+- XML_STRING,
++ DATATYPE_VALIDATOR_FACTORY,
++ VALIDATION_MANAGER,
++ SCHEMA_VALIDATOR,
++ XML_STRING,
+ XMLGRAMMAR_POOL,
+ JAXP_SCHEMA_SOURCE,
+ JAXP_SCHEMA_LANGUAGE,
+@@ -531,19 +534,20 @@
+ SCHEMA_NONS_LOCATION,
+ LOCALE,
+ SCHEMA_DV_FACTORY,
++ SECURITY_MANAGER,
+ XML_SECURITY_PROPERTY_MANAGER
+ };
+ addRecognizedProperties(recognizedProperties);
+
+- if (symbolTable == null) {
+- symbolTable = new SymbolTable();
+- }
+- fSymbolTable = symbolTable;
+- fProperties.put(SYMBOL_TABLE, fSymbolTable);
++ if (symbolTable == null) {
++ symbolTable = new SymbolTable();
++ }
++ fSymbolTable = symbolTable;
++ fProperties.put(SYMBOL_TABLE, fSymbolTable);
-@@ -207,7 +201,7 @@
+ fGrammarPool = grammarPool;
+ if (fGrammarPool != null) {
+- fProperties.put(XMLGRAMMAR_POOL, fGrammarPool);
++ fProperties.put(XMLGRAMMAR_POOL, fGrammarPool);
+ }
- 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.
-@@ -218,12 +212,13 @@
- return sff ;
- }
- }
-- ) ;
-+ );
+ fEntityManager = new XMLEntityManager();
+@@ -579,8 +583,6 @@
-- globalPM = new PresentationManagerImpl( useDynamicStub ) ;
-- globalPM.setStubFactoryFactory( false,
-+ PresentationManager pm = new PresentationManagerImpl( useDynamicStub ) ;
-+ pm.setStubFactoryFactory( false,
- PresentationDefaults.getStaticStubFactoryFactory() ) ;
-- globalPM.setStubFactoryFactory( true, dynamicStubFactoryFactory ) ;
-+ pm.setStubFactoryFactory( true, dynamicStubFactoryFactory ) ;
-+ return pm;
- }
+ fVersionDetector = new XMLVersionDetector();
- public void destroy() {
-@@ -234,11 +229,19 @@
- byteBufferPool = null;
- }
+- fProperties.put(XML_SECURITY_PROPERTY_MANAGER, new XMLSecurityPropertyManager());
+-
+ // add message formatters
+ if (fErrorReporter.getMessageFormatter(XMLMessageFormatter.XML_DOMAIN) == null) {
+ XMLMessageFormatter xmft = new XMLMessageFormatter();
+--- jaxp/src/com/sun/org/apache/xerces/internal/parsers/XMLParser.java 2013-09-06 11:23:00.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/parsers/XMLParser.java 2013-12-01 11:13:41.000000000 -0800
+@@ -23,6 +23,8 @@
+ import java.io.IOException;
-- /** Get the single instance of the PresentationManager
-+ /**
-+ * Returns the Presentation Manager for the current thread group, using the ThreadGroup-specific
-+ * AppContext to hold it. Creates and records one if needed.
+ import com.sun.org.apache.xerces.internal.impl.Constants;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityPropertyManager;
+ import com.sun.org.apache.xerces.internal.xni.XNIException;
+ import com.sun.org.apache.xerces.internal.xni.parser.XMLInputSource;
+ import com.sun.org.apache.xerces.internal.xni.parser.XMLParserConfiguration;
+@@ -78,6 +80,13 @@
+ /** The parser configuration. */
+ protected XMLParserConfiguration fConfiguration;
+
++ /** The XML Security Manager. */
++ XMLSecurityManager securityManager;
++
++ /** The XML Security Property Manager. */
++ XMLSecurityPropertyManager securityPropertyManager;
++
++
+ //
+ // Constructors
+ //
+@@ -118,6 +127,15 @@
*/
- public static PresentationManager getPresentationManager()
- {
-- return globalPM ;
-+ AppContext ac = AppContext.getAppContext();
-+ PresentationManager pm = (PresentationManager) ac.get(PresentationManager.class);
-+ if (pm == null) {
-+ pm = setupPresentationManager();
-+ ac.put(PresentationManager.class, pm);
+ public void parse(XMLInputSource inputSource)
+ throws XNIException, IOException {
++ // null indicates that the parser is called directly, initialize them
++ if (securityManager == null) {
++ securityManager = new XMLSecurityManager(true);
++ fConfiguration.setProperty(Constants.SECURITY_MANAGER, securityManager);
++ }
++ if (securityPropertyManager == null) {
++ securityPropertyManager = new XMLSecurityPropertyManager();
++ fConfiguration.setProperty(Constants.XML_SECURITY_PROPERTY_MANAGER, securityPropertyManager);
+ }
-+ return pm;
- }
-
- /** Get the appropriate StubFactoryFactory. This
-@@ -248,8 +251,9 @@
- public static PresentationManager.StubFactoryFactory
- getStubFactoryFactory()
- {
-- boolean useDynamicStubs = globalPM.useDynamicStubs() ;
-- return globalPM.getStubFactoryFactory( useDynamicStubs ) ;
-+ PresentationManager gPM = getPresentationManager();
-+ boolean useDynamicStubs = gPM.useDynamicStubs() ;
-+ return gPM.getStubFactoryFactory( useDynamicStubs ) ;
- }
-
- protected ORB()
-@@ -543,6 +547,7 @@
- public abstract ThreadPoolManager getThreadPoolManager();
- public abstract CopierManager getCopierManager() ;
-+
- }
+ reset();
+ fConfiguration.parse(inputSource);
+--- jaxp/src/com/sun/org/apache/xerces/internal/util/SecurityManager.java 2013-09-06 11:23:00.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/util/SecurityManager.java 2013-12-01 11:13:41.000000000 -0800
+@@ -61,8 +61,6 @@
- // End of file.
---- corba/src/share/classes/com/sun/corba/se/spi/orb/OperationFactory.java 2012-08-10 09:11:10.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/spi/orb/OperationFactory.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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.
+ package com.sun.org.apache.xerces.internal.util;
+ import com.sun.org.apache.xerces.internal.impl.Constants;
+-import java.security.AccessController;
+-import java.security.PrivilegedAction;
+ /**
+ * This class is a container for parser settings that relate to
+ * security, or more specifically, it is intended to be used to prevent denial-of-service
+@@ -79,7 +77,6 @@
*
- * This code is free software; you can redistribute it and/or modify it
-@@ -35,9 +35,10 @@
- import com.sun.corba.se.spi.logging.CORBALogDomains ;
+ * @author Neil Graham, IBM
+ *
+- * @version $Id: SecurityManager.java,v 1.5 2010-11-01 04:40:14 joehw Exp $
+ */
+ public final class SecurityManager {
- import com.sun.corba.se.impl.logging.ORBUtilSystemException ;
--import com.sun.corba.se.impl.orbutil.ORBClassLoader ;
- import com.sun.corba.se.impl.orbutil.ObjectUtility ;
+@@ -179,48 +176,40 @@
-+import sun.corba.SharedSecrets;
+ private void readSystemProperties(){
+
+- //TODO: also read SYSTEM_PROPERTY_ELEMENT_ATTRIBUTE_LIMIT
+- try {
+- String value = getSystemProperty(Constants.ENTITY_EXPANSION_LIMIT);
+- if(value != null && !value.equals("")){
+- entityExpansionLimit = Integer.parseInt(value);
+- if (entityExpansionLimit < 0)
+- entityExpansionLimit = DEFAULT_ENTITY_EXPANSION_LIMIT;
+- }
+- else
+- entityExpansionLimit = DEFAULT_ENTITY_EXPANSION_LIMIT;
+- }catch(Exception ex){}
+-
+- try {
+- String value = getSystemProperty(Constants.MAX_OCCUR_LIMIT);
+- if(value != null && !value.equals("")){
+- maxOccurLimit = Integer.parseInt(value);
+- if (maxOccurLimit < 0)
+- maxOccurLimit = DEFAULT_MAX_OCCUR_NODE_LIMIT;
+- }
+- else
+- maxOccurLimit = DEFAULT_MAX_OCCUR_NODE_LIMIT;
+- }catch(Exception ex){}
+-
+- try {
+- String value = getSystemProperty(Constants.SYSTEM_PROPERTY_ELEMENT_ATTRIBUTE_LIMIT);
+- if(value != null && !value.equals("")){
+- fElementAttributeLimit = Integer.parseInt(value);
+- if ( fElementAttributeLimit < 0)
+- fElementAttributeLimit = DEFAULT_ELEMENT_ATTRIBUTE_LIMIT;
+- }
+- else
+- fElementAttributeLimit = DEFAULT_ELEMENT_ATTRIBUTE_LIMIT;
++ try {
++ String value = System.getProperty(Constants.ENTITY_EXPANSION_LIMIT);
++ if(value != null && !value.equals("")){
++ entityExpansionLimit = Integer.parseInt(value);
++ if (entityExpansionLimit < 0)
++ entityExpansionLimit = DEFAULT_ENTITY_EXPANSION_LIMIT;
++ }
++ else
++ entityExpansionLimit = DEFAULT_ENTITY_EXPANSION_LIMIT;
++ }catch(Exception ex){}
+
- /** This is a static factory class for commonly used operations
- * for property parsing. The following operations are supported:
- * <ul>
-@@ -247,7 +248,8 @@
- String className = getString( value ) ;
++ try {
++ String value = System.getProperty(Constants.MAX_OCCUR_LIMIT);
++ if(value != null && !value.equals("")){
++ maxOccurLimit = Integer.parseInt(value);
++ if (maxOccurLimit < 0)
++ maxOccurLimit = DEFAULT_MAX_OCCUR_NODE_LIMIT;
++ }
++ else
++ maxOccurLimit = DEFAULT_MAX_OCCUR_NODE_LIMIT;
++ }catch(Exception ex){}
++
++ try {
++ String value = System.getProperty(Constants.ELEMENT_ATTRIBUTE_LIMIT);
++ if(value != null && !value.equals("")){
++ fElementAttributeLimit = Integer.parseInt(value);
++ if ( fElementAttributeLimit < 0)
++ fElementAttributeLimit = DEFAULT_ELEMENT_ATTRIBUTE_LIMIT;
++ }
++ else
++ fElementAttributeLimit = DEFAULT_ELEMENT_ATTRIBUTE_LIMIT;
- try {
-- Class result = ORBClassLoader.loadClass( className ) ;
-+ Class<?> result =
-+ SharedSecrets.getJavaCorbaAccess().loadClass( className ) ;
- return result ;
- } catch (Exception exc) {
- ORBUtilSystemException wrapper = ORBUtilSystemException.get(
---- corba/src/share/classes/com/sun/corba/se/spi/servicecontext/ServiceContext.java 2012-08-10 09:11:11.000000000 -0700
-+++ corba/src/share/classes/com/sun/corba/se/spi/servicecontext/ServiceContext.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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 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() ;
---- corba/src/share/classes/org/omg/CORBA_2_3/portable/OutputStream.java 2012-08-10 09:11:49.000000000 -0700
-+++ corba/src/share/classes/org/omg/CORBA_2_3/portable/OutputStream.java 2013-06-22 09:39:21.000000000 -0700
-@@ -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 @@
+ }catch(Exception ex){}
- 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 @@
+- private String getSystemProperty(final String propName) {
+- return AccessController.doPrivileged(new PrivilegedAction<String>() {
+- public String run() {
+- return System.getProperty(propName);
+- }
+- });
+- }
+ } // class SecurityManager
+--- jaxp/src/com/sun/org/apache/xerces/internal/util/SymbolTable.java 2013-09-06 11:23:00.000000000 -0700
++++ jaxp/src/com/sun/org/apache/xerces/internal/util/SymbolTable.java 2013-12-01 11:13:41.000000000 -0800
+@@ -173,7 +173,7 @@
+ for (int i = 0; i < length; i++) {
+ code = code * 37 + symbol.charAt(i);
+ }
+- return code & 0x7FFFFFF;
++ return code & 0x7FFFFFFF;
- public abstract class OutputStream extends org.omg.CORBA.portable.OutputStream {
+ } // hash(String):int
-+ private static final String ALLOW_SUBCLASS_PROP = "jdk.corba.allowOutputStreamSubclass";
-+ private static final boolean allowSubclass = AccessController.doPrivileged(
-+ new PrivilegedAction<Boolean>() {
-+ @Override
-+ public Boolean run() {
-+ String prop = System.getProperty(ALLOW_SUBCLASS_PROP);
-+ return prop == null ? false :
-+ (prop.equalsIgnoreCase("false") ? false : true);
+@@ -194,7 +194,7 @@
+ for (int i = 0; i < length; i++) {
+ code = code * 37 + buffer[offset + i];
+ }
+- return code & 0x7FFFFFF;
++ return code & 0x7FFFFFFF;
+
+ } // hash(char[],int,int):int
+
+--- jaxp/src/com/sun/org/apache/xerces/internal/utils/XMLLimitAnalyzer.java 1969-12-31 16:00:00.000000000 -0800
++++ jaxp/src/com/sun/org/apache/xerces/internal/utils/XMLLimitAnalyzer.java 2013-12-01 11:13:41.000000000 -0800
+@@ -0,0 +1,239 @@
++/*
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++ *
++ * Copyright (c) 2013 Oracle and/or its affiliates. All rights reserved.
++ *
++ * The contents of this file are subject to the terms of either the GNU
++ * General Public License Version 2 only ("GPL") or the Common Development
++ * and Distribution License("CDDL") (collectively, the "License"). You
++ * may not use this file except in compliance with the License. You can
++ * obtain a copy of the License at
++ * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
++ * or packager/legal/LICENSE.txt. See the License for the specific
++ * language governing permissions and limitations under the License.
++ *
++ * When distributing the software, include this License Header Notice in each
++ * file and include the License file at packager/legal/LICENSE.txt.
++ *
++ * GPL Classpath Exception:
++ * Oracle designates this particular file as subject to the "Classpath"
++ * exception as provided by Oracle in the GPL Version 2 section of the License
++ * file that accompanied this code.
++ *
++ * Modifications:
++ * If applicable, add the following below the License Header, with the fields
++ * enclosed by brackets [] replaced by your own identifying information:
++ * "Portions Copyright [year] [name of copyright owner]"
++ *
++ * Contributor(s):
++ * If you wish your version of this file to be governed by only the CDDL or
++ * only the GPL Version 2, indicate your decision by adding "[Contributor]
++ * elects to include this software in this distribution under the [CDDL or GPL
++ * Version 2] license." If you don't indicate a single choice of license, a
++ * recipient has the option to distribute your version of this file under
++ * either the CDDL, the GPL Version 2 or to extend the choice of license to
++ * its licensees as provided above. However, if you add GPL Version 2 code
++ * and therefore, elected the GPL Version 2 license, then the option applies
++ * only if the new code is made subject to such option by the copyright
++ * holder.
++ */
++package com.sun.org.apache.xerces.internal.utils;
++
++import com.sun.org.apache.xerces.internal.impl.Constants;
++import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager.Limit;
++import java.util.Formatter;
++import java.util.HashMap;
++import java.util.Map;
++
++/**
++ * A helper for analyzing entity expansion limits
++ *
++ * @author Joe Wang Oracle Corp.
++ *
++ */
++public final class XMLLimitAnalyzer {
++
++ /**
++ * Map old property names with the new ones
++ */
++ public static enum NameMap {
++ ENTITY_EXPANSION_LIMIT(Constants.SP_ENTITY_EXPANSION_LIMIT, Constants.ENTITY_EXPANSION_LIMIT),
++ MAX_OCCUR_NODE_LIMIT(Constants.SP_MAX_OCCUR_LIMIT, Constants.MAX_OCCUR_LIMIT),
++ ELEMENT_ATTRIBUTE_LIMIT(Constants.SP_ELEMENT_ATTRIBUTE_LIMIT, Constants.ELEMENT_ATTRIBUTE_LIMIT);
++
++ final String newName;
++ final String oldName;
++
++ NameMap(String newName, String oldName) {
++ this.newName = newName;
++ this.oldName = oldName;
++ }
++
++ String getOldName(String newName) {
++ if (newName.equals(this.newName)) {
++ return oldName;
+ }
-+ });
++ return null;
++ }
++ }
+
-+ private static Void checkPermission() {
-+ SecurityManager sm = System.getSecurityManager();
-+ if (sm != null) {
-+ if (!allowSubclass)
-+ sm.checkPermission(new
-+ SerializablePermission("enableSubclassImplementation"));
++ private XMLSecurityManager securityManager;
++ /**
++ * Max value accumulated for each property
++ */
++ private final int[] values;
++ /**
++ * Names of the entities corresponding to their max values
++ */
++ private final String[] names;
++ /**
++ * Total value of accumulated entities
++ */
++ private final int[] totalValue;
++
++ /**
++ * Maintain values of the top 10 elements in the process of parsing
++ */
++ private final Map[] caches;
++
++ private String entityStart, entityEnd;
++ /**
++ * Default constructor. Establishes default values for known security
++ * vulnerabilities.
++ */
++ public XMLLimitAnalyzer(XMLSecurityManager securityManager) {
++ this.securityManager = securityManager;
++ values = new int[Limit.values().length];
++ totalValue = new int[Limit.values().length];
++ names = new String[Limit.values().length];
++ caches = new Map[Limit.values().length];
++ }
++
++ /**
++ * Add the value to the current max count for the specified property
++ * To find the max value of all entities, set no limit
++ *
++ * @param limit the type of the property
++ * @param entityName the name of the entity
++ * @param value the value of the entity
++ */
++ public void addValue(Limit limit, String entityName, int value) {
++ addValue(limit.ordinal(), entityName, value);
++ }
++
++ /**
++ * Add the value to the current count by the index of the property
++ * @param index the index of the property
++ * @param entityName the name of the entity
++ * @param value the value of the entity
++ */
++ public void addValue(int index, String entityName, int value) {
++ if (index == Limit.ENTITY_EXPANSION_LIMIT.ordinal() ||
++ index == Limit.MAX_OCCUR_NODE_LIMIT.ordinal() ||
++ index == Limit.ELEMENT_ATTRIBUTE_LIMIT.ordinal()) {
++ totalValue[index] += value;
++ return;
++ }
++
++ Map<String, Integer> cache;
++ if (caches[index] == null) {
++ cache = new HashMap<String, Integer>(10);
++ caches[index] = cache;
++ } else {
++ cache = caches[index];
++ }
++
++ int accumulatedValue = value;
++ if (cache.containsKey(entityName)) {
++ accumulatedValue += cache.get(entityName).intValue();
++ cache.put(entityName, Integer.valueOf(accumulatedValue));
++ } else {
++ cache.put(entityName, Integer.valueOf(value));
++ }
++
++ if (accumulatedValue > values[index]) {
++ values[index] = accumulatedValue;
++ names[index] = entityName;
++ }
++
++
++ if (index == Limit.GENEAL_ENTITY_SIZE_LIMIT.ordinal() ||
++ index == Limit.PARAMETER_ENTITY_SIZE_LIMIT.ordinal()) {
++ totalValue[Limit.TOTAL_ENTITY_SIZE_LIMIT.ordinal()] += value;
+ }
-+ return null;
+ }
-+ private OutputStream(Void ignore) { }
+
+ /**
-+ * Create a new instance of this class.
++ * Return the value of the current max count for the specified property
+ *
-+ * 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'
++ * @param limit the property
++ * @return the value of the property
+ */
-+ public OutputStream() {
-+ this(checkPermission());
++ public int getValue(Limit limit) {
++ return values[limit.ordinal()];
+ }
+
- /**
- * Marshals a value type to the output stream.
- * @param value is the acutal value to write
---- corba/src/share/classes/sun/corba/JavaCorbaAccess.java 1969-12-31 16:00:00.000000000 -0800
-+++ corba/src/share/classes/sun/corba/JavaCorbaAccess.java 2013-06-22 09:39:21.000000000 -0700
-@@ -0,0 +1,33 @@
++ public int getValue(int index) {
++ return values[index];
++ }
++ /**
++ * Return the total value accumulated so far
++ *
++ * @param limit the property
++ * @return the accumulated value of the property
++ */
++ public int getTotalValue(Limit limit) {
++ return totalValue[limit.ordinal()];
++ }
++
++ public int getTotalValue(int index) {
++ return totalValue[index];
++ }
++ /**
++ * Return the current max value (count or length) by the index of a property
++ * @param index the index of a property
++ * @return count of a property
++ */
++ public int getValueByIndex(int index) {
++ return values[index];
++ }
++
++ public void startEntity(String name) {
++ entityStart = name;
++ }
++
++ public boolean isTracking(String name) {
++ if (entityStart == null) {
++ return false;
++ }
++ return entityStart.equals(name);