diff --git a/schema/src/main/java/org/exolab/castor/xml/schema/util/DatatypeHandler.java b/schema/src/main/java/org/exolab/castor/xml/schema/util/DatatypeHandler.java index bd2a22058..cd8c131d2 100644 --- a/schema/src/main/java/org/exolab/castor/xml/schema/util/DatatypeHandler.java +++ b/schema/src/main/java/org/exolab/castor/xml/schema/util/DatatypeHandler.java @@ -169,6 +169,7 @@ public static String guessType(String value) { Date.parseDate(value); return DATE_TYPE; } catch (ParseException px) { + } catch (IllegalArgumentException ex) { } // -- check for time diff --git a/schema/src/main/java/org/exolab/castor/xml/schema/util/XMLInstance2SchemaHandler.java b/schema/src/main/java/org/exolab/castor/xml/schema/util/XMLInstance2SchemaHandler.java index 7b3ae9318..d75027d82 100644 --- a/schema/src/main/java/org/exolab/castor/xml/schema/util/XMLInstance2SchemaHandler.java +++ b/schema/src/main/java/org/exolab/castor/xml/schema/util/XMLInstance2SchemaHandler.java @@ -444,6 +444,7 @@ private void merge(ElementDecl e1, ElementDecl e2) throws SchemaException { return; // -- nothing to merge if (e2Type.isSimpleType()) { e1.setType(e2Type); + e1Type = e2Type; } else { ComplexType cType = new ComplexType(_schema); Group group = new Group(); @@ -455,6 +456,7 @@ private void merge(ElementDecl e1, ElementDecl e2) throws SchemaException { } else if (e2Type == null) { if (e1Type.isSimpleType()) { e2.setType(e1Type); + e2Type = e1Type; } else { ComplexType cType = new ComplexType(_schema); Group group = new Group();