#
# 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
# 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.
#

#
# Message resource file
#



CustomizationContextChecker.UnacknolwedgedCustomization = \uC9C0\uC815\uB41C {0} \uC0AC\uC6A9\uC790 \uC815\uC758\uAC00 \uC0AC\uC6A9\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.


SchemaConstraintChecker.UnableToCheckCorrectness = OutOfMemoryError\uB85C \uC778\uD574 \uC2A4\uD0A4\uB9C8\uAC00 \uC815\uD655\uD55C\uC9C0 \uD655\uC778\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC77C\uBC18\uC801\uC73C\uB85C \uC774 \uC624\uB958\uB294 \uC2A4\uD0A4\uB9C8\uC5D0 maxOccurs="999"\uC640 \uAC19\uC740 \uAD6C\uBB38\uC774 \uD3EC\uD568\uB41C \uACBD\uC6B0 \uBC1C\uC0DD\uD569\uB2C8\uB2E4. \uC774\uD6C4 \uCEF4\uD30C\uC77C\uC5D0\uC11C \uCEF4\uD30C\uC77C\uC744 \uB354 \uBE60\uB974\uAC8C \uC218\uD589\uD558\uB824\uBA74 '-nv' \uC635\uC158\uC744 \uCD94\uAC00\uD558\uC5EC \uC815\uD655\uC131 \uAC80\uC0AC\uB97C \uAC74\uB108 \uB6F0\uC2ED\uC2DC\uC624.




IncorrectNamespaceURIChecker.WarnIncorrectURI = JAXB \uC0AC\uC6A9\uC790 \uC815\uC758\uAC00 \uC2A4\uD0A4\uB9C8\uC5D0\uC11C \uAC10\uC9C0\uB418\uC9C0 \uC54A\uC558\uC9C0\uB9CC "jaxb" \uC811\uB450\uC5B4\uAC00 \uB2E4\uB978 \uB124\uC784\uC2A4\uD398\uC774\uC2A4 URI\uC5D0 \uC0AC\uC6A9\uB418\uC5C8\uC2B5\uB2C8\uB2E4. JAXB \uC0AC\uC6A9\uC790 \uC815\uC758\uB97C \uC0AC\uC6A9\uD558\uB824\uACE0 \uD55C \uACBD\uC6B0 \uB124\uC784\uC2A4\uD398\uC774\uC2A4 URI\uAC00 "{0}"\uC778\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624.
