JavaTM Platform
Standard Ed. 6

javax.xml.transform
클래스 Transformer

java.lang.Object 
  상위를 확장 javax.xml.transform.Transformer


public abstract class Transformer
extends Object

이 abstract 클래스의 인스턴스는, 소스 트리를 결과 트리로 변환할 수가 있습니다.  

이 클래스의 인스턴스를 가져오려면 ,TransformerFactory.newTransformer 메소드를 사용합니다. 그 후, 이 인스턴스를 사용해, 다양한 소스로부터 XML 를 처리해, 변환 결과를 다양한 sink에 출력할 수가 있습니다.

 

이 클래스의 객체는 동시에 동작하는 복수의 thread로 사용할 수 없습니다. 다른 thread에서는 동시에 사용되는 Transformer 도 다릅니다.

 

Transformer 는 여러 차례 사용할 수 있습니다. 파라미터와 출력 프로퍼티은 변환 전체를 통해 보관 유지됩니다.


생성자 의 개요
protected Transformer ()
          디폴트의 생성자 이 의도적으로 보호됩니다.
 
메소드의 개요
abstract  void clearParameters ()
          setParameter 를 사용해 설정된 모든 파라미터를 클리어 합니다.
abstract  ErrorListener getErrorListener ()
          변환에 유효한 에러 이벤트 핸들러를 가져옵니다.
abstract  Properties getOutputProperties ()
          변환을 위한 출력 프로퍼티의 카피를 가져옵니다.
abstract  String getOutputProperty (String  name)
          transformer 에 유효한 출력 프로퍼티을 가져옵니다.
abstract  Object getParameter (String  name)
          setParameter 를 사용해 명시적으로 설정된 파라미터를 가져옵니다.
abstract  URIResolver getURIResolver ()
          document()로 사용되는 URI 를 해결하는데 사용되는 객체를 가져옵니다.
 void reset ()
          이 Transformer 를 원의 설정에 리셋 합니다.
abstract  void setErrorListener (ErrorListener  listener)
          변환에 유효한 에러 이벤트 청취자를 설정합니다.
abstract  void setOutputProperties (Properties  oformat)
          변환의 출력 프로퍼티을 설정합니다.
abstract  void setOutputProperty (String  name, String  value)
          변환에 유효한 출력 프로퍼티을 설정합니다.
abstract  void setParameter (String  name, Object  value)
          변환의 파라미터를 추가합니다.
abstract  void setURIResolver (URIResolver  resolver)
          document()로 사용되는 URI 를 해결하는데 사용되는 객체를 설정합니다.
abstract  void transform (Source  xmlSource, Result  outputTarget)
          XML SourceResult 로 변환합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

Transformer

protected Transformer()
디폴트의 생성자 이 의도적으로 보호됩니다.

메소드의 상세

reset

public void reset()

Transformer 를 원의 설정에 리셋 합니다.

 

Transformer 는,TransformerFactory.newTransformer() ,TransformerFactory.newTransformer(Source source) , 또는 Templates.newTransformer() 로 작성된 시점 상태에 리셋 됩니다. reset() 는, 기존의 Transformer 의 재사용을 허가하도록(듯이) 설정되어 있기 (위해)때문에, 새로운 Transformer 의 작성에 관련하는 자원을 절약할 수 있습니다.

 

Transformer 를 리셋 했을 경우, 같은 URIResolver 또는 ErrorListener Object 를 가지는 것은 보증되지 않습니다. 예를 들어,Object.equals(Object obj) 등입니다. 기능적으로 같은 URIResolverErrorListener 를 가지는 것은 보증됩니다.

예외:
UnsupportedOperationException - 구현이 이 메소드를 오버라이드(override) 하지 않는 경우
도입된 버젼:
1.5

transform

public abstract void transform(Source  xmlSource,
                               Result  outputTarget)
                        throws TransformerException 

XML SourceResult 로 변환합니다. Transformer 가 인스턴스화 되어Transformer 인스턴스가 변경되었을 때의 특정의 변환 동작은, 유효한 TransformerFactory 의 설정에 의해 판정됩니다.

 

빈 상태(empty)의 Source 는,DocumentBuilder.newDocument() 에 의해 구축된 빈 상태(empty)의 문서로서 나타내집니다. 빈 상태(empty)의 Source 의 변환 결과는, 변환 동작에 따라서 달라, 항상 빈 상태(empty)의 Result 가 되는 것은 아닙니다.

파라미터:
xmlSource - 변환하는 XML 입력
outputTarget - xmlSource 의 변환의 Result
예외:
TransformerException - 변환중에 회복 불능인 에러가 발생했을 경우

setParameter

public abstract void setParameter(String  name,
                                  Object  value)
변환의 파라미터를 추가합니다.  

수식명을, 안괄호 ({})로 둘러싸인 이름 공간 URI 의 후에 로컬명이 계속되는 2 부 형식의 캐릭터 라인으로서 건네줍니다. 이름이 null 의 URL 를 가지는 경우, String 에는 로컬명만이 포함됩니다. 어플리케이션은, 이름의 최초의 문자가 「{」문자일지 어떨지를 판정해, null 가 아닌 URI 를 안전하게 체크할 수 있습니다.

 

예를 들어, <xyz:foo xmlns:xyz="http://xyz.foo.com/yada/baz.html"/> 로 정의된 요소로부터 URI 와 로컬명을 취득했을 경우, 수식명은 {http://xyz.foo.com/yada/baz.html}foo 가 되어, 접두사는 사용되지 않습니다.

파라미터:
name - 파라미터의 이름. 안괄호 ({})로 둘러싸인 이름 공간 URI 로 시작되는 경우가 있는
value - 치 객체. 임의의 유효한 Java 객체가 가능. 적절한 객체의 강제를 제공하는 것, 또는 전개로 사용하기 위해서 단지 객체를 건네주는 것은, 처리하는 측에서 실시한다
예외:
NullPointerException - value 가 null 의 경우

getParameter

public abstract Object  getParameter(String  name)
setParameter 를 사용해 명시적으로 설정된 파라미터를 가져옵니다.  

이 메소드는 디폴트의 파라미터치를 돌려주지 않습니다. 파라미터치는, 변환 처리중에 노드 문맥이 평가될 때까지 결정할 수 없습니다.

파라미터:
name - 취득하는 Object 의 이름
반환값:
setParameter 를 사용해 설정된 파라미터

clearParameters

public abstract void clearParameters()
setParameter 를 사용해 설정된 모든 파라미터를 클리어 합니다.


setURIResolver

public abstract void setURIResolver(URIResolver  resolver)
document()로 사용되는 URI 를 해결하는데 사용되는 객체를 설정합니다.  

resolver 의 인수가 null 의 경우, URIResolver 치는 클리어 되어 transformer 는 resolver 를 가지지 않게 됩니다.

파라미터:
resolver - URIResolver 인터페이스를 구현하는 객체, 또는 null

getURIResolver

public abstract URIResolver  getURIResolver()
document()로 사용되는 URI 를 해결하는데 사용되는 객체를 가져옵니다.

반환값:
URIResolver 인터페이스를 구현하는 객체, 또는 null

setOutputProperties

public abstract void setOutputProperties(Properties  oformat)
변환의 출력 프로퍼티을 설정합니다. 이러한 프로퍼티은, xsl:output 로 Templates 로 설정된 프로퍼티을 오버라이드(override) 합니다.  

이 함수의 인수가 null 의 경우, 이전으로 설정된 프로퍼티은 삭제되어 값은 템플릿 객체로 정의된 값에 되돌려집니다.

 

수식된 프로퍼티 키명을, 안괄호 ({})로 둘러싸인 이름 공간 URI 의 후에 로컬명이 계속되는 2 부 형식의 캐릭터 라인으로서 건네줍니다. 이름이 null 의 URL 를 가지는 경우, String 에는 로컬명만이 포함됩니다. 어플리케이션은, 이름의 최초의 문자가 「{」문자일지 어떨지를 판정해, null 가 아닌 URI 를 안전하게 체크할 수 있습니다.

 

예를 들어, <xyz:foo xmlns:xyz="http://xyz.foo.com/yada/baz.html"/> 로 정의된 요소로부터 URI 와 로컬명을 취득했을 경우, 수식명은 {http://xyz.foo.com/yada/baz.html}foo 가 되어, 접두사는 사용되지 않습니다.

어느 인수 키도 인식되지 않고, 이름 공간에서 수식되어 있지 않은 경우,IllegalArgumentException 가 throw 됩니다.

파라미터:
oformat - 변환에 영향을 주는 같은 프로퍼티을 오버라이드(override) 하기 위해서 사용된다 출력 프로퍼티세트
예외:
IllegalArgumentException - 키가 인식되지 않는가, 이름 공간에서 수식되어 있지 않은 경우
관련 항목:
OutputKeys , Properties

getOutputProperties

public abstract Properties  getOutputProperties()

변환을 위한 출력 프로퍼티의 카피를 가져옵니다.

 

반환된 프로퍼티에는, 사용자가 설정한 프로퍼티과 스타일 시트로 설정된 프로퍼티이 포함되어 이러한 프로퍼티은「XSL Transformations (XSLT) W3C Recommendation」의 섹션 16 으로 지정된 디폴트의 프로퍼티으로 「디폴트화」됩니다. 사용자 또는 스타일 시트에 의해 특히 설정된 프로퍼티은 기본의 Properties 리스트에 있어, 특히 설정되지 않았던 XSLT 디폴트 프로퍼티은 디폴트의 Properties 리스트에 있습니다. 따라서, getOutputProperties(). getProperty(String key)는, 스타일 시트의 setOutputProperty(java.lang.String, java.lang.String) ,setOutputProperties(java.util.Properties) 로 설정된 프로퍼티, 또는 디폴트의 프로퍼티을 취득해, getOutputProperties(). get(String key)는 setOutputProperty(java.lang.String, java.lang.String) ,setOutputProperties(java.util.Properties) , 또는 스타일 시트로 명시적으로 설정된 프로퍼티만을 가져옵니다.

 

반환된 Properties 객체의 변경은, transformer 에 포함되는 프로퍼티에는 영향을 주지 않습니다.

 

어느 인수 키도 인식되지 않고, 이름 공간에서 수식되어 있지 않은 경우, 프로퍼티은 무시되어 돌려주어지지 않습니다. 즉, 동작은 setOutputProperties 와 교착하지 않습니다.

반환값:
다음의 변환에 유효한 출력 프로퍼티의 세트의 카피
관련 항목:
OutputKeys , Properties , XSL Transformations (XSLT) Version 1.0

setOutputProperty

public abstract void setOutputProperty(String  name,
                                       String  value)
                                throws IllegalArgumentException 
변환에 유효한 출력 프로퍼티을 설정합니다.  

수식된 프로퍼티명을, 안괄호 ({})로 둘러싸인 이름 공간 URI 의 후에 로컬명이 계속되는 2 부 형식의 캐릭터 라인으로서 건네줍니다. 이름이 null 의 URL 를 가지는 경우, String 에는 로컬명만이 포함됩니다. 어플리케이션은, 이름의 최초의 문자가 「{」문자일지 어떨지를 판정해, null 가 아닌 URI 를 안전하게 체크할 수 있습니다.

 

예를 들어, <xyz:foo xmlns:xyz="http://xyz.foo.com/yada/baz.html"/> 로 정의된 요소로부터 URI 와 로컬명을 취득했을 경우, 수식명은 {http://xyz.foo.com/yada/baz.html}foo 가 되어, 접두사는 사용되지 않습니다.

 

setOutputProperties(java.util.Properties) 에게 건네진 Properties 객체는, 이 메소드의 호출의 영향을 받지 않습니다.

파라미터:
name - 출력 프로퍼티명을 지정하는 null 이외의 String. 이름 공간에서 수식되고 있는 경우가 있는
value - 출력 프로퍼티의 null 이외의 캐릭터 라인치
예외:
IllegalArgumentException - 프로퍼티이 지원되어 있지 않은지, 이름 공간에서 수식되어 있지 않은 경우
관련 항목:
OutputKeys

getOutputProperty

public abstract String  getOutputProperty(String  name)
                                  throws IllegalArgumentException 

transformer 에 유효한 출력 프로퍼티을 가져옵니다.

 

프로퍼티이 setOutputProperty(java.lang.String, java.lang.String) 를 사용해 설정되어 있는 경우, 그 값이 돌려주어집니다. 그렇지 않은 경우, 프로퍼티이 스타일 시트로 명시적으로 지정되고 있는 경우, 그 값이 돌려주어집니다. 프로퍼티치가 디폴트 설정되어 있는 경우, 즉 setOutputProperty(java.lang.String, java.lang.String) 를 사용할까 스타일 시트로 명시적으로 값이 설정되어 있지 않은 경우, 구현 및 입력 스타일 시트에 응해 결과가 다를 가능성이 있습니다.

파라미터:
name - 출력 프로퍼티명을 지정하는 null 이외의 String. 이름 공간에서 수식되고 있는 경우가 있다
반환값:
출력 프로퍼티 캐릭터 라인치. 프로퍼티이 발견되지 않았던 경우는 null
예외:
IllegalArgumentException - 프로퍼티이 지원되어 있지 않은 경우
관련 항목:
OutputKeys

setErrorListener

public abstract void setErrorListener(ErrorListener  listener)
                               throws IllegalArgumentException 
변환에 유효한 에러 이벤트 청취자를 설정합니다.

파라미터:
listener - 새로운 에러 청취자
예외:
IllegalArgumentException - 청취자가 null 의 경우

getErrorListener

public abstract ErrorListener  getErrorListener()
변환에 유효한 에러 이벤트 핸들러를 가져옵니다. 구현은 디폴트의 에러 청취자를 제공할 필요가 있습니다.

반환값:
현재의 에러 핸들러. null 는 불가

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 도 참조해 주세요.