diff --git a/src/main/java/org/docx4j/convert/in/FlatOpcXmlImporter.java b/src/main/java/org/docx4j/convert/in/FlatOpcXmlImporter.java index 3e62fa6953..626a48215e 100644 --- a/src/main/java/org/docx4j/convert/in/FlatOpcXmlImporter.java +++ b/src/main/java/org/docx4j/convert/in/FlatOpcXmlImporter.java @@ -57,6 +57,7 @@ import org.docx4j.openpackaging.parts.opendope.ComponentsPart; import org.docx4j.openpackaging.parts.opendope.ConditionsPart; import org.docx4j.openpackaging.parts.opendope.QuestionsPart; +import org.docx4j.openpackaging.parts.opendope.StandardisedAnswersPart; import org.docx4j.openpackaging.parts.opendope.XPathsPart; import org.docx4j.openpackaging.parts.relationships.RelationshipsPart; import org.docx4j.relationships.Relationship; @@ -518,6 +519,12 @@ public static Part getRawPart(ContentTypeManager ctm, org.docx4j.xmlPackage.Part ((QuestionsPart)part).setJaxbElement( (org.opendope.questions.Questionnaire)o); + } else if (o instanceof org.opendope.answers.Answers) { + + part = new StandardisedAnswersPart(name); + ((StandardisedAnswersPart)part).setJaxbElement( + (org.opendope.answers.Answers)o); + } else if (o instanceof org.opendope.components.Components) { part = new ComponentsPart(name); diff --git a/src/main/java/org/docx4j/openpackaging/contenttype/ContentTypeManager.java b/src/main/java/org/docx4j/openpackaging/contenttype/ContentTypeManager.java index 6f48616f50..286e50a2a9 100644 --- a/src/main/java/org/docx4j/openpackaging/contenttype/ContentTypeManager.java +++ b/src/main/java/org/docx4j/openpackaging/contenttype/ContentTypeManager.java @@ -670,8 +670,9 @@ public void parseContentTypesFile(InputStream contentTypes) log.debug("unmarshalling " + this.getClass().getName() ); - Object res = u.unmarshal( contentTypes ); - types = (CTTypes)((JAXBElement)res).getValue(); + Object res = XmlUtils.unwrap(u.unmarshal( contentTypes )); + //types = (CTTypes)((JAXBElement)res).getValue(); + types = (CTTypes)res; //log.debug( types.getClass().getName() + " unmarshalled" ); if (log.isDebugEnabled()) {