JavaTM Platform
Standard Ed. 6

패키지 org.xml.sax

이 패키지는 코어 SAX API 를 제공합니다.

참조처:
          설명

인터페이스의 개요
AttributeList 추천 되고 있지 않습니다.  이 인터페이스는, 이름 공간을 지원하는 SAX2 의 Attributes 인터페이스로 옮겨놓을 수 있고 있습니다.
Attributes XML 속성의 리스트를 위한 인터페이스입니다.
ContentHandler 문서의 논리 컨텐츠의 통지를 받습니다.
DocumentHandler 추천 되고 있지 않습니다.  이 인터페이스는, 이름 공간을 지원하는 SAX2 의 ContentHandler 인터페이스로 옮겨놓을 수 있고 있습니다.
DTDHandler 표준 DTD 관련 이벤트의 통지를 받습니다.
EntityResolver 엔티티를 해결하기 위한 기본 인터페이스입니다.
ErrorHandler SAX 에러 핸들러의 기본 인터페이스입니다.
Locator SAX 이벤트와 문서의 위치를 관련짓기 위한 인터페이스입니다.
Parser 추천 되고 있지 않습니다.  이 인터페이스는, 이름 공간을 지원하는 SAX2 의 XMLReader 인터페이스로 옮겨놓을 수 있고 있습니다.
XMLFilter XML 필터의 인터페이스입니다.
XMLReader 콜백을 사용해 XML 문서를 읽어내기 위한 인터페이스입니다.
 

클래스의 개요
HandlerBase 추천 되고 있지 않습니다.  이 클래스는 비추천의 DocumentHandler 인터페이스로 동작합니다.
InputSource XML 엔티티의 단일의 입력 소스입니다.
 

예외의 개요
SAXException SAX 의 일반적인 에러 또는 경고를 캡슐화합니다.
SAXNotRecognizedException 인식되지 않는 식별자를 위한 예외 클래스입니다.
SAXNotSupportedException 지원 대상외의 조작을 위한 예외 클래스입니다.
SAXParseException XML 구문 분석 에러 또는 경고를 캡슐화합니다.
 

패키지 org.xml.sax 의 설명

이 패키지는 코어 SAX API 를 제공합니다. 코어 SAX API 에는, 이름 공간에 대응한 새로운 어플리케이션의 설계나 기존의 인프라스트럭쳐(infrastructure)의 메인트넌스에 통합하도록(듯이) 추천 되고 있는 것도 있습니다.

SAX 에 대한 자세한 것은,http://www.saxproject.org 를 참조해 주세요.

SAX2 표준 기능 플래그

SAX2 의 필수의 특성의 1 개에, 검증에 사용할 수 있는 기능 플래그나 변경 퍼서 모드 (특히 검증등의 모드)가 추가되고 있는 일이 있습니다. 기능은 (절대) URI 에 의해 식별되기 (위해)때문에, 누구에게나 정의할 수 있습니다. 현재 정의되고 있는 표준 기능의 URI 에는,validation 등의 식별자의 전에 있는 접두사 http://xml.org/sax/features/ 가 있습니다. 「setFeature」를 사용해 기능을 온 또는 오프로 합니다. 표준의 식별자는 다음과 같습니다.

기능 ID 액세스 디폴트 설명
external-general-entities 읽어내/기입 지정 없음 이 퍼서가 일반적인 외부 엔티티를 처리할지 어떨지를 보고한다. 검증하는 경우는 항상 true
external-parameter-entities 읽어내/기입 지정 없음 이 퍼서가 외부 파라메이타엔티티를 처리할지 어떨지를 보고한다. 검증하는 경우는 항상 true
is-standalone (구문 분석 한다) 읽기 전용, (구문 분석 하지 않는다) 없음 적용외 startDocument() 콜백이 종료한 뒤, 구문 분석중만 검증된다. 읽기 전용. 문서가 XML 선언내의 standalone="yes" 를 지정했을 경우, 값은 true. 그렇지 않은 경우는 false
lexical-handler/parameter-entities 읽어내/기입 지정 없음 「true」의 값은 LexicalHandler 가 파라메이타엔티티의 개시와 종료를 보고하는 것을 나타낸다
namespaces 읽어내/기입 true 「true」의 값은, 사용 가능한 요소명 및 속성명의 이름 공간 URI 와 접두사를 가지지 않는 로컬명을 나타낸다
namespace-prefixes 읽어내/기입 false 「true」의 값은 접두사 첨부의 XML 수식명과 「xmlns*」속성을 포함한 속성을 사용할 수 있는 것을 나타낸다
resolve-dtd-uris 읽어내/기입 true 「true」의 값은, 선언의 시스템 ID 가 기저 URI 를 기준으로 해 보고전에 절대화 되는 것을 나타낸다 (디폴트에 의한 모든 SAX2 XML 퍼서의 동작). 「false」의 값은, ID 가 절대화 되지 않는 것을 나타낸다. 퍼서는 「Locator.getSystemId()」의 기저 URI 를 제공한다. 이것은 건네받은 시스템 ID 에 적용된다
  • DTDHandler.notationDecl()
  • DTDHandler.unparsedEntityDecl()
  • DeclHandler.externalEntityDecl()
이것은, 선언의 보고에 사용하지 않는 「EntityResolver.resolveEntity()」나 절대화되어 있지 않은 URI 를 벌써 제공하고 있는 「LexicalHandler.startDTD()」에는 적용되지 않는다
string-interning 읽어내/기입 지정 없음 요소, 접두사, 속성, 엔티티, 표기법, 및 로컬명의 모든 XML 명과 이름 공간 URI 가 「java.lang.String.intern」를 사용해 보관 유지되는 경우는 「true」의 값을 가진다. 이것에 의해, 「String.equals()」에 대해서 강제적으로 호출을 늦추는 것이 아니라, 문자의 정수에 대해서 동일한지 어떤지의 판정을 재빠르게 하도록(듯이) 지원한다
unicode-normalization-checking 읽어내/기입 false XML 1.1 권고의 섹션 2.13 으로 부록 B 로 설명되고 있는 것 같은 Unicode 정규화 에러를 퍼서가 보고할지 어떨지를 제어한다. true 의 경우, Unicode 정규화 에러는 ErrorHandler.error()를 사용해 보고된다. 이러한 에러는, 다른 Unicode 관련의 인코딩 에러와는 달라, 그 자체가 치명적인 에러는 아니다
use-attributes2 읽기 전용 적용외 「ContentHandler.startElement()」로 이 퍼서에 의해 건네받는 「Attributes」객체가 「org.xml.sax.ext.Attributes2」인터페이스를 구현하고 있는 경우는 「true」를 돌려준다. 이 인터페이스는, 속성이 디폴트로 설정되었는지 어떠했는지는 아니고, 소스 텍스트로 지정되었는지 어떠했는지등의 DTD 관련의 추가 정보를 공개한다
use-locator2 읽기 전용 적용외 「ContentHandler.setDocumentLocator()」로 이 퍼서에 의해 건네받은 「Locator」객체가 「org.xml.sax.ext.Locator2」인터페이스를 구현하고 있는 경우는 「true」를 돌려준다. 이 인터페이스는 사용되고 있는 문자 인코딩이나 XML 의 버젼등의 엔티티의 추가 정보를 공개한다 
use-entity-resolver2 읽어내/기입 true 「setEntityResolver」에 「org.xml.sax.ext.EntityResolver2」인터페이스를 구현하고 있는 객체가 제공되는 경우에 그러한 새로운 메소드가 사용될 때는 「true」를 돌려준다. 새로운 메소드가 사용되지 않는 것을 나타내는 경우는 「false」를 돌려준다
validation 읽어내/기입 지정 없음 퍼서가 모든 타당성 에러를 보고하고 있는지 어떤지를 제어한다. true 의 경우, 모든 외부 엔티티가 읽어내진다
xmlns-uris 읽어내/기입 false 「namespace-prefixes」기능이 설정되었을 때, 퍼서가 이름 공간 선언의 속성을 「http://www.w3.org/2000/xmlns/」이름 공간에 존재하는 것으로서 처리할지 어떨지를 제어한다. 디폴트에서는, SAX2 는 이러한 속성이 어느 이름 공간에도 존재하지 않는다고 하는 것을 명시하고 있는 원의 「Namespaces in XML」권고에 따른다. 이 옵션의 플래그를 true 로 설정하는 것에 의해, SAX2 이벤트를 하위 호환 할 수 없는 원의 권고의 향후의 개정판에 따르게 해 그러한 속성을 이름 공간에 둔다
xml-1. 1 읽기 전용 적용외 퍼서가 XML 1.1 으로 XML 1.0 의 양쪽 모두를 지원하는 경우는 「true」를 돌려주어, XML 1.0 만을 지원하는 경우는 「false」를 돌려준다

「namespaces」프로퍼티과 「namespace-prefixes」프로퍼티의 디폴트 값를 지원할 필요가 있습니다. 그 이외의 기능 플래그의 지원는 완전하게 옵션입니다.

SAX2 로 지정되어 있지 않은 디폴트 값의 경우, 각각의 XMLReader 구현에 의해 그 디폴트를 지정합니다만, 기능 플래그를 공개하지 않게 선택할 수도 있습니다. 여기서 지정되지 않는 한, 구현에 의해 이러한 표준 기능 플래그의 현재의 값을 변경할 수 있습니다만, 구문 분석중은 변경할 수 없습니다.

SAX2 표준 핸들러 및 프로퍼티 ID

퍼서 인터페이스의 특성을 객체로서 설명하는 경우, 다른 이름 공간이 정의됩니다. 이 이름 공간의 객체는 URI 에 의해 재차 식별됩니다. 표준의 프로퍼티 URI 에는,lexical-handlerdom-node 등의 식별자의 전에 접두사 http://xml.org/sax/properties/ 가 붙습니다. 그러한 프로퍼티은 「setProperty()」를 사용해 관리합니다. 식별자는 다음과 같습니다.

프로퍼티 ID 설명
declaration-handler 자구 구문 규칙 ( 「문서의 요소명은 ...」)로서 다루어지는 것이나 모든 SAX 퍼서에 대해서 필수인 것을 제외해 ( 「DTDHandler」) 대부분의 DTD 선언을 보기 위해서(때문에) 사용한다. 객체는 org.xml.sax.ext.DeclHandler 를 구현하고 있을 필요가 있다
document-xml-version startDocument() 콜백이 종료한 뒤, 구문 분석중만 검증된다. 읽기 전용. 이 프로퍼티은 XML 1.0 이나 XML 1.1 등, 문서의 실제의 XML 버젼을 설명하는 리터럴 캐릭터 라인
dom-node DOM Walker 형 퍼서가 「parser.parse()」파라미터를 무시하는 경우, 이것은 퍼서에 의해 이동되는 DOM (서브) 트리의 지정에 사용한다. 객체에는 「org.w3c.dom.Node」인터페이스를 구현할 필요가 있다
lexical-handler 코멘트, CDATA 단락 문자, 선택된 일반의 엔티티의 수중에 넣어, DTD 의 최초와 최후 ( 및 문서 요소명의 선언)라고 하는 일부의 어플리케이션으로 필수의 구문 이벤트를 보기 위해서(때문에) 사용한다. 객체에는 「org.xml.sax.ext.LexicalHandler」를 구현할 필요가 있다
xml-string 퍼서의 콜백중은 읽어내 전용. 이것에 의해, 현재의 이벤트를 취급하는 캐릭터 라인의 TBS 체크를 공개한다

이러한 표준 프로퍼티은 모두 옵션입니다. XMLReader 구현의 경우, 이것들을 지원할 필요는 없습니다.


JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.