1
14
15 package com.liferay.util.xml;
16
17 import com.liferay.util.xml.descriptor.PortletAppDescriptor;
18 import com.liferay.util.xml.descriptor.StrictXMLDescriptor;
19 import com.liferay.util.xml.descriptor.StrutsConfigDescriptor;
20 import com.liferay.util.xml.descriptor.TilesDefsDescriptor;
21 import com.liferay.util.xml.descriptor.WebXML23Descriptor;
22 import com.liferay.util.xml.descriptor.WebXML24Descriptor;
23 import com.liferay.util.xml.descriptor.XMLDescriptor;
24
25 import org.dom4j.Document;
26
27
32 public class XMLTypeDetector {
33
34 public static final XMLDescriptor[] REGISTERED_DESCRIPTORS = {
35 new PortletAppDescriptor(), new StrutsConfigDescriptor(),
36 new TilesDefsDescriptor(), new WebXML23Descriptor(),
37 new WebXML24Descriptor()
38 };
39
40 public static XMLDescriptor determineType(String doctype, Document root) {
41 for (int i = 0; i < REGISTERED_DESCRIPTORS.length; i++) {
42 XMLDescriptor descriptor = REGISTERED_DESCRIPTORS[i];
43
44 if (descriptor.canHandleType(doctype, root)) {
45 return descriptor;
46 }
47 }
48
49 return new StrictXMLDescriptor();
50 }
51
52 }