/* * Copyright 2008-2009 MOPAS(Ministry of Public Administration and Security). * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package egovframework.rte.fdl.xml.impl; import org.apache.log4j.Logger; import org.xml.sax.Attributes; import org.xml.sax.ContentHandler; import org.xml.sax.Locator; import egovframework.rte.fdl.xml.XmlLog; /** * 일반적인 문서 이벤트를 처리하는Class로서 문서의 시작, 요소의 시작과 끝, 요소가 포함하는 내용을 만날 때마다 호출 * @author 개발프레임웍크 실행환경 개발팀 김종호 * @since 2009.03.18 * @version 1.0 * @see <pre> * == 개정이력(Modification Information) == * * 수정일 수정자 수정내용 * --------- --------- ------------------------------- * 2009.03.18 김종호 최초생성 * * </pre> */ public class ContentHandlerImpl implements ContentHandler { private static Logger logger = XmlLog.getLogger(ContentHandlerImpl.class); /** * 문자처리 * @param ch - XML 문서의 문자 * @param start - 배열내의 개시 위치 * @param length - 배열로부터 읽어내지는 문자수 */ public void characters(char[] ch, int start, int length) /*throws SAXException*/ { // TODO Auto-generated method stub String str = new String(ch, start, length); if(str.trim().length() != 0) { logger.debug(str); } } /** * 문서종료 */ public void endDocument(){ // TODO Auto-generated method stub logger.debug("XML이 종료되었습니다."); } /** * 요소의 종료 * @param uri - namespaceURI * @param localName - 전치수식자를 포함하지 않는 로컬명. 이름 공간 처리를 하지 않는 경우는 공문자열 * @param name - 전치수식자를 가지는 XML 1.0 수식명. 수식명을 사용할 수 없는 경우는 공문자열 */ public void endElement(String uri, String localName, String name) { // TODO Auto-generated method stub logger.debug(name+"이 종료하였습니다."); } /** * 전치수식자와 URI 의 매핑의 스코프를 종료 * @param prefix - 매핑 되고 있던 전치수식자 */ public void endPrefixMapping(String prefix) { // TODO Auto-generated method stub } /** * 요소 컨텐츠에 포함되는 무시할 수 있는 공백 문자의 통지 * @param ch - XML 문서의 문자 * @param start - 배열내의 개시 위치 * @param length - 배열로부터 읽어내지는 문자수 */ public void ignorableWhitespace(char[] ch, int start, int length) { // TODO Auto-generated method stub } /** * 처리 명령의 통지 * @param target - 처리 명령의 타겟 * @param data - 처리 명령을 받는 데이터. 데이터가 제공되지 않는 경우는 null. 데이터에는, 타겟과 자신을 구별하기 위한 공백 문자는 포함되지 않는다 */ public void processingInstruction(String target, String data) /*throws SAXException*/ { // TODO Auto-generated method stub } /** * SAX 문서 이벤트의 발생원을 특정하는 오브젝트 설정 * @param locator - SAX 문서 이벤트의 위치를 돌려주는 오브젝트 */ public void setDocumentLocator(Locator locator) { // TODO Auto-generated method stub } /** * 스킵 된 엔티티의 통지 처리 * @param name - 스킵 된 엔티티의 이름. 파라메이타엔티티의 경우, 이 이름은 '%'로 시작된다. 외부 DTD 부분집합의 경우, 스트링 "[dtd]" 로 시작된다. */ public void skippedEntity(String name) { // TODO Auto-generated method stub } /** * 문서의 시작 */ public void startDocument() { // TODO Auto-generated method stub logger.debug("XML이 시작되었습니다."); } /** * 요소의 시작 * @param uri - 이름 공간 URI * @param localName - 로컬명 * @param name - 전치수식자 첨부의 수식명 */ public void startElement(String uri, String localName, String name, Attributes atts) { // TODO Auto-generated method stub logger.debug(name+"이 시작되었습니다."); } /** * 전치수식자와 URI 이름 공간 매핑의 스코프 시작 * @param prefix - 선언되는 이름 공간앞치수식자 * @param uri - 전치수식자의 맵 사키나 마에조라간 URI */ public void startPrefixMapping(String prefix, String uri) { // TODO Auto-generated method stub } }