001 package railo.transformer.library.function; 002 003 import org.xml.sax.EntityResolver; 004 import org.xml.sax.InputSource; 005 006 007 008 /** 009 * Hilfsklasse fuer die FunctionLibFactory, diese Klasse definiert den DTDHandler fuer den Sax Parser. 010 * Die Klasse laedt wenn moeglich die DTD, anhand der Public-id vom lokalen System. 011 * 012 * @see org.xml.sax.EntityResolver 013 */ 014 public final class FunctionLibEntityResolver implements EntityResolver { 015 /** 016 * Definert den DTD welche eine FLD validieren kann 017 */ 018 public final static String DTD_1_0= "/resource/dtd/web-cfmfunctionlibrary_1_0.dtd"; 019 020 /** 021 * Laedt die DTD vom lokalen System. 022 * @see org.xml.sax.EntityResolver#resolveEntity(java.lang.String, java.lang.String) 023 */ 024 public InputSource resolveEntity(String publicId, String systemId) { 025 if ( publicId.equals( "-//Railo//DTD CFML Function Library 1.0//EN" ) ) { 026 return new InputSource( getClass().getResourceAsStream(DTD_1_0) ); 027 } 028 return null; 029 } 030 031 }