private void addDCDatastream(DigitalObjectDocument.DigitalObject dobj) { DatastreamType ds = dobj.addNewDatastream(); ds.setID("DC"); ds.setCONTROLGROUP(DatastreamType.CONTROLGROUP.X); ds.setSTATE(StateType.A); DatastreamVersionType dsv = ds.addNewDatastreamVersion(); dsv.setID("DC.0"); dsv.setFORMATURI("http://www.openarchives.org/OAI/2.0/oai_dc/"); dsv.setMIMETYPE("text/xml"); dsv.setLABEL("Dublin Core Record for this object"); XmlContentType content = dsv.addNewXmlContent(); DcDocument dcDocument = getDcDocument(); content.set(dcDocument); }
private void addRELSEXTDatastream(DigitalObjectDocument.DigitalObject dobj) { DatastreamType datastream = dobj.addNewDatastream(); datastream.setID("RELS-EXT"); datastream.setSTATE(StateType.A); datastream.setCONTROLGROUP(DatastreamType.CONTROLGROUP.X); DatastreamVersionType version = datastream.addNewDatastreamVersion(); version.setID("RELS-EXT.0"); version.setMIMETYPE("application/rdf+xml"); version.setFORMATURI("info:fedora/fedora-system:FedoraRELSExt-1.0"); version.setLABEL("RDF Statements about this object"); XmlContentType content = version.addNewXmlContent(); RDFDocument rdfDocument = getRDFDescription(); content.set(rdfDocument); }
private void addQucosaXMLContentDatastream(DigitalObjectDocument.DigitalObject dobj) throws ParserConfigurationException { DatastreamType ds = dobj.addNewDatastream(); ds.setID("QUCOSA-XML"); ds.setCONTROLGROUP(DatastreamType.CONTROLGROUP.X); ds.setSTATE(StateType.A); DatastreamVersionType dsv = ds.addNewDatastreamVersion(); dsv.setID("QUCOSA-XML.0"); dsv.setMIMETYPE("text/xml"); dsv.setLABEL("Qucosa XML Record for this Object (Opus4-XMLv2)"); XmlContentType content = dsv.addNewXmlContent(); // Workaround for https://issues.apache.org/jira/browse/XMLBEANS-100 // XMLBeans does not work with jdk1.6 as calls made to methods within XObj.java // return with a runtime: "java.lang.RuntimeException: DOM Level 3 Not implemented" Node childNode = content .getDomNode() .getOwnerDocument() .importNode(qucosaXmlDocument.getDocumentElement(), true); content.getDomNode().appendChild(childNode); }