001 /* 002 * To change this template, choose Tools | Templates 003 * and open the template in the editor. 004 */ 005 006 package org.util.xml.parse.policy; 007 008 import org.util.xml.element.Element; 009 import org.util.xml.element.TagElement; 010 011 /** 012 * 013 * @author masaru 014 */ 015 public class XMLParserPolicy extends DefaultParserPolicy { 016 017 String encoding_; 018 public String selectEncoding(String last_tag_key) { 019 return encoding_; 020 } 021 022 public boolean checkEndTag() { 023 return true; 024 } 025 public boolean forceEmptyTag(String key) { 026 return false; 027 } 028 029 public Element allowElement(Element element) { 030 if(encoding_ == null) { 031 if(element.isTagElement()) { 032 TagElement te = (TagElement)element; 033 if(te.isPI()) 034 encoding_ = te.getAttributeValue("encoding"); 035 } 036 if(encoding_ == null) encoding_ = "utf-8"; 037 } 038 return element; 039 } 040 041 }