diff --git a/.gitignore b/.gitignore index a6d056f2..c1955ab8 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,11 @@ bin/ target/ *~ .*sw? -\#* \ No newline at end of file +\#* +.idea/ +*.iml + +# vscode +.project +.settings/ +.classpath \ No newline at end of file diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/OdfXMLFactory.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/OdfXMLFactory.java index 50f3b984..23cd3d50 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/OdfXMLFactory.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/OdfXMLFactory.java @@ -52,6 +52,7 @@ public class OdfXMLFactory { private static Map mElementTypes = new HashMap(); private static Map mAttributeTypes = new HashMap(); private static Map mElementRenames = new HashMap(); + private static Set mAlienTypes = new HashSet(); //a set for the element which need to load class from incubator package. private static Set mIncubatorElements = new HashSet(); private static final String LOCAL_NAME_DELIMITER = "-"; @@ -116,6 +117,10 @@ private static Class getOdfElementClass(OdfName odfName) { } private static Class getOdfNodeClass(OdfName odfName, String nodeType, Map classCache, boolean isAttribute) { + if (mAlienTypes.contains(odfName)) { + return null; + } + Class c = null; String className = ""; c = classCache.get(odfName); @@ -147,8 +152,10 @@ private static Class getOdfNodeClass(OdfName odfName, String nodeType, Map