GeomConverter/src/org/lcsim/geometry/compact
diff -u -r1.23 -r1.24
--- CompactReader.java 15 Feb 2006 00:05:23 -0000 1.23
+++ CompactReader.java 16 Feb 2006 01:57:08 -0000 1.24
@@ -12,6 +12,7 @@
import org.jdom.input.SAXBuilder;
import org.lcsim.geometry.IDDecoder;
import org.lcsim.material.XMLMaterialManager;
+import org.lcsim.util.cache.CachingEntityResolver;
import org.lcsim.util.xml.ElementFactory;
import org.lcsim.util.xml.JDOMExpressionFactory;
import org.lcsim.util.xml.ElementFactory.ElementCreationException;
@@ -24,7 +25,7 @@
* org.lcsim.geometry.GeometryReader class, which extends this.
*
* @author tonyj
- * @version $Id: CompactReader.java,v 1.23 2006/02/15 00:05:23 jeremy Exp $
+ * @version $Id: CompactReader.java,v 1.24 2006/02/16 01:57:08 jeremy Exp $
*
*/
public class CompactReader
@@ -59,7 +60,15 @@
{
JDOMExpressionFactory jdom = new JDOMExpressionFactory();
SAXBuilder builder = new SAXBuilder();
- builder.setFactory(jdom);
+ builder.setFactory(jdom);
+
+ // Enable schema validation
+ builder.setValidation(true);
+ builder.setFeature("http://apache.org/xml/features/validation/schema", true);
+
+ // Add an EntityResolver that caches to ~/.cache
+ builder.setEntityResolver(new CachingEntityResolver());
+
Document doc = builder.build(in);
Element lccdd = doc.getRootElement();
@@ -131,21 +140,6 @@
{
throw new RuntimeException(e);
}
- //Readout r = factory.createElement(Readout.class,readout,null);
- //Element segmentation = readout.getChild("segmentation");
-
- /* Setup a Segmentation for the Calorimeter. */
- //if (segmentation != null)
- //{
- // String type = segmentation.getAttributeValue("type");
- // Segmentation seg = factory.createElement(Segmentation.class, segmentation, type);
- // r.setSegmentation(seg);
- //}
- /* Setup a generic IDDecoder for the tracker Readout. */
- //else
- //{
- // r.setIDDecoder( new org.lcsim.geometry.util.TrackerIDDecoder() );
- //}
readoutMap.put(r.getName(),r);
det.addReadout(r);