# This file stores localized messages for the Xerces
# DOM implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#

BadMessageKey = \uBA54\uC2DC\uC9C0 \uD0A4\uC5D0 \uD574\uB2F9\uD558\uB294 \uC624\uB958 \uBA54\uC2DC\uC9C0\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
FormatFailed = \uB2E4\uC74C \uBA54\uC2DC\uC9C0\uC758 \uD615\uC2DD\uC744 \uC9C0\uC815\uD558\uB294 \uC911 \uB0B4\uBD80 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.\n  

# DOM Core

# exception codes
DOMSTRING_SIZE_ERR = \uD14D\uC2A4\uD2B8\uC758 \uC9C0\uC815\uB41C \uBC94\uC704\uAC00 DOMString\uC5D0 \uB9DE\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. 
HIERARCHY_REQUEST_ERR  = \uC0BD\uC785\uC774 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uB294 \uB178\uB4DC\uB97C \uC0BD\uC785\uD558\uB824\uACE0 \uC2DC\uB3C4\uD588\uC2B5\uB2C8\uB2E4. 
INDEX_SIZE_ERR = \uC778\uB371\uC2A4 \uB610\uB294 \uD06C\uAE30\uAC00 \uC74C\uC218\uC774\uAC70\uB098 \uD5C8\uC6A9\uB418\uB294 \uAC12\uBCF4\uB2E4 \uD07D\uB2C8\uB2E4.
INUSE_ATTRIBUTE_ERR = \uB2E4\uB978 \uC704\uCE58\uC5D0\uC11C \uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC18D\uC131\uC744 \uCD94\uAC00\uD558\uB824\uACE0 \uC2DC\uB3C4\uD588\uC2B5\uB2C8\uB2E4.
INVALID_ACCESS_ERR  = \uAE30\uBCF8 \uAC1D\uCCB4\uC5D0\uC11C \uB9E4\uAC1C\uBCC0\uC218 \uB610\uB294 \uC791\uC5C5\uC744 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. 
INVALID_CHARACTER_ERR = \uBD80\uC801\uD569\uD558\uAC70\uB098 \uC798\uBABB\uB41C XML \uBB38\uC790\uAC00 \uC9C0\uC815\uB418\uC5C8\uC2B5\uB2C8\uB2E4. 
INVALID_MODIFICATION_ERR =  \uAE30\uBCF8 \uAC1D\uCCB4\uC758 \uC720\uD615\uC744 \uC218\uC815\uD558\uB824\uACE0 \uC2DC\uB3C4\uD588\uC2B5\uB2C8\uB2E4. 
INVALID_STATE_ERR = \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uAC70\uB098 \uB354 \uC774\uC0C1 \uC0AC\uC6A9\uC774 \uD5C8\uAC00\uB418\uC9C0 \uC54A\uC740 \uAC1D\uCCB4\uB97C \uC0AC\uC6A9\uD558\uB824\uACE0 \uC2DC\uB3C4\uD588\uC2B5\uB2C8\uB2E4. 
NAMESPACE_ERR = \uB124\uC784\uC2A4\uD398\uC774\uC2A4\uC5D0 \uB300\uD574 \uC62C\uBC14\uB974\uC9C0 \uC54A\uC740 \uBC29\uC2DD\uC73C\uB85C \uAC1D\uCCB4\uB97C \uC0DD\uC131\uD558\uAC70\uB098 \uBCC0\uACBD\uD558\uB824\uACE0 \uC2DC\uB3C4\uD588\uC2B5\uB2C8\uB2E4.
NOT_FOUND_ERR = \uC874\uC7AC\uD558\uC9C0 \uC54A\uB294 \uCEE8\uD14D\uC2A4\uD2B8\uC758 \uB178\uB4DC\uB97C \uCC38\uC870\uD558\uB824\uACE0 \uC2DC\uB3C4\uD588\uC2B5\uB2C8\uB2E4.
NOT_SUPPORTED_ERR = \uAD6C\uD604\uC5D0\uC11C \uC694\uCCAD\uB41C \uC720\uD615\uC758 \uAC1D\uCCB4 \uB610\uB294 \uC791\uC5C5\uC744 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. 
NO_DATA_ALLOWED_ERR = \uB370\uC774\uD130\uB97C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uB178\uB4DC\uC5D0 \uB300\uD574 \uB370\uC774\uD130\uAC00 \uC9C0\uC815\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
NO_MODIFICATION_ALLOWED_ERR = \uC218\uC815\uC774 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uB294 \uAC1D\uCCB4\uB97C \uC218\uC815\uD558\uB824\uACE0 \uC2DC\uB3C4\uD588\uC2B5\uB2C8\uB2E4.
SYNTAX_ERR = \uBD80\uC801\uD569\uD558\uAC70\uB098 \uC798\uBABB\uB41C \uBB38\uC790\uC5F4\uC774 \uC9C0\uC815\uB418\uC5C8\uC2B5\uB2C8\uB2E4. 
VALIDATION_ERR = insertBefore \uB610\uB294 removeChild\uC640 \uAC19\uC740 \uBA54\uC18C\uB4DC\uB97C \uD638\uCD9C\uD558\uBA74 \uB178\uB4DC\uAC00 \uBB38\uC11C \uBB38\uBC95\uC5D0 \uB300\uD574 \uBD80\uC801\uD569\uD574\uC9D1\uB2C8\uB2E4.
WRONG_DOCUMENT_ERR = \uB178\uB4DC\uAC00 \uC0DD\uC131\uB41C \uBB38\uC11C\uAC00 \uC544\uB2CC \uB2E4\uB978 \uBB38\uC11C\uC5D0\uC11C \uC0AC\uC6A9\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
TYPE_MISMATCH_ERR = \uC774 \uB9E4\uAC1C\uBCC0\uC218 \uC774\uB984\uC5D0 \uB300\uD55C \uAC12 \uC720\uD615\uC774 \uD544\uC694\uD55C \uAC12 \uC720\uD615\uACFC \uD638\uD658\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. 
 
#error messages or exceptions
FEATURE_NOT_SUPPORTED = {0} \uB9E4\uAC1C\uBCC0\uC218\uAC00 \uC778\uC2DD\uB418\uC5C8\uC9C0\uB9CC \uC694\uCCAD\uB41C \uAC12\uC744 \uC124\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
FEATURE_NOT_FOUND = {0} \uB9E4\uAC1C\uBCC0\uC218\uB97C \uC778\uC2DD\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
STRING_TOO_LONG   = \uACB0\uACFC \uBB38\uC790\uC5F4\uC774 \uB108\uBB34 \uCEE4\uC11C DOMString\uC5D0 \uB9DE\uC9C0 \uC54A\uC74C: ''{0}''.

#DOM Level 3 DOMError codes
wf-invalid-character =  {1} \uB178\uB4DC\uC758 {0} \uD14D\uC2A4\uD2B8\uC5D0 \uBD80\uC801\uD569\uD55C XML \uBB38\uC790\uAC00 \uD3EC\uD568\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.
wf-invalid-character-in-node-name = \uC774\uB984\uC774 {1}\uC778 {0} \uB178\uB4DC\uC5D0 \uBD80\uC801\uD569\uD55C XML \uBB38\uC790\uAC00 \uD3EC\uD568\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.
cdata-sections-splitted =  CDATA \uC139\uC158 \uC885\uB8CC \uD45C\uC2DC\uC790 '']]>''\uB97C \uD3EC\uD568\uD558\uB294 CDATA \uC139\uC158
doctype-not-allowed = DOCTYPE \uC120\uC5B8\uC740 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
unsupported-encoding = {0} \uC778\uCF54\uB529\uC740 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.

#Error codes used in DOM Normalizer
InvalidXMLCharInDOM = \uC815\uADDC\uD654 \uC911 DOM\uC5D0\uC11C \uBD80\uC801\uD569\uD55C XML \uBB38\uC790(\uC720\uB2C8\uCF54\uB4DC: 0x{0})\uAC00 \uBC1C\uACAC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
UndeclaredEntRefInAttrValue = \uC18D\uC131 "{0}" \uAC12 "{1}"\uC774(\uAC00) \uC120\uC5B8\uB418\uC9C0 \uC54A\uC740 \uC5D4\uD2F0\uD2F0\uB97C \uCC38\uC870\uD588\uC2B5\uB2C8\uB2E4.
NullLocalElementName = {0} \uC694\uC18C\uC758 \uB124\uC784\uC2A4\uD398\uC774\uC2A4 \uC815\uADDC\uD654 \uC911 \uB110 \uB85C\uCEEC \uC774\uB984\uC774 \uBC1C\uACAC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
NullLocalAttrName = {0} \uC18D\uC131\uC758 \uB124\uC784\uC2A4\uD398\uC774\uC2A4 \uC815\uADDC\uD654 \uC911 \uB110 \uB85C\uCEEC \uC774\uB984\uC774 \uBC1C\uACAC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.

#Error codes used in DOMParser
InvalidDocumentClassName = DOM \uD2B8\uB9AC \uC0DD\uC131\uC5D0 \uC0AC\uC6A9\uB41C \uBB38\uC11C \uD329\uD1A0\uB9AC "{0}"\uC758 \uD074\uB798\uC2A4 \uC774\uB984\uC740 org.w3c.dom.Document \uC720\uD615\uC774 \uC544\uB2D9\uB2C8\uB2E4.
MissingDocumentClassName = DOM \uD2B8\uB9AC \uC0DD\uC131\uC5D0 \uC0AC\uC6A9\uB41C \uBB38\uC11C \uD329\uD1A0\uB9AC "{0}"\uC758 \uD074\uB798\uC2A4 \uC774\uB984\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
CannotCreateDocumentClass = \uC774\uB984\uC774 "{0}"\uC778 \uD074\uB798\uC2A4\uB97C org.w3c.dom.Document\uB85C \uC0DD\uC131\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.

# Error codes used by JAXP DocumentBuilder
jaxp-order-not-supported = ''{1}'' \uC18D\uC131\uC744 \uC124\uC815\uD558\uAE30 \uC804\uC5D0 ''{0}'' \uC18D\uC131\uC744 \uC124\uC815\uD574\uC57C \uD569\uB2C8\uB2E4.
jaxp-null-input-source = \uC9C0\uC815\uB41C \uC18C\uC2A4\uB294 \uB110\uC77C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.

#Ranges
BAD_BOUNDARYPOINTS_ERR = \uBC94\uC704\uC758 \uACBD\uACC4 \uC9C0\uC810\uC774 \uD2B9\uC815 \uC694\uAD6C \uC0AC\uD56D\uC744 \uCDA9\uC871\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
INVALID_NODE_TYPE_ERR = \uBC94\uC704\uC758 \uACBD\uACC4 \uC9C0\uC810 \uCEE8\uD14C\uC774\uB108\uAC00 \uBD80\uC801\uD569\uD55C \uC720\uD615\uC758 \uB178\uB4DC \uB610\uB294 \uBD80\uC801\uD569\uD55C \uC720\uD615\uC758 \uC870\uC0C1\uC744 \uAC00\uC9C4 \uB178\uB4DC\uB85C \uC124\uC815\uB418\uACE0 \uC788\uC2B5\uB2C8\uB2E4.


#Events
UNSPECIFIED_EVENT_TYPE_ERR = \uBA54\uC18C\uB4DC\uAC00 \uD638\uCD9C\uB418\uAE30 \uC804\uC5D0 \uC774\uBCA4\uD2B8\uB97C \uCD08\uAE30\uD654\uD558\uC5EC \uC774\uBCA4\uD2B8 \uC720\uD615\uC774 \uC9C0\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. 


jaxp-schema-support=setSchema \uBA54\uC18C\uB4DC\uC640 schemaLanguage \uC18D\uC131\uC774 \uBAA8\uB450 \uC0AC\uC6A9\uB418\uC5C8\uC2B5\uB2C8\uB2E4.

jaxp_feature_not_supported="{0}" \uAE30\uB2A5\uC740 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
