Mercurial > hg > mpdl-group
view software/eXist/mpdl-modules/src/de/mpg/mpiwg/berlin/mpdl/escidoc/Container.java @ 0:408254cf2f1d
Erstellung
author | Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de> |
---|---|
date | Wed, 24 Nov 2010 17:24:23 +0100 |
parents | |
children |
line wrap: on
line source
package de.mpg.mpiwg.berlin.mpdl.escidoc; import java.util.Date; public class Container { private String id; private String contentModelId; private String contextId; private String pid; private MetadataRecord mdRecord; private Date lastModificationDate; public Container(String id, Date lastModificationDate) { this.id = id; this.lastModificationDate = lastModificationDate; } public Container(String contentModelId, String contextId, String pid, MetadataRecord mdRecord) { this.contentModelId = contentModelId; this.contextId = contextId; this.pid = pid; this.mdRecord = mdRecord; } public String getId() { return id; } public Date getLastModificationDate() { return lastModificationDate; } public String toXmlString() { StringBuilder str = new StringBuilder(); str.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"); str.append("<container:container xml:base=\"http://www.escidoc.de/\"\n"); str.append(" xmlns=\"http://www.escidoc.de/schemas/container/0.8\"\n"); str.append(" xmlns:container=\"http://www.escidoc.de/schemas/container/0.8\"\n"); str.append(" xmlns:prop=\"http://escidoc.de/core/01/properties/\"\n"); str.append(" xmlns:srel=\"http://escidoc.de/core/01/structural-relations/\"\n"); str.append(" xmlns:escidocMetadataRecords=\"http://www.escidoc.de/schemas/metadatarecords/0.5\"\n"); str.append(" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n"); str.append(" xmlns:mpiwg=\"http://www.mpiwg-berlin.mpg.de/ns/mpiwg\"\n"); str.append(" xmlns:escidocComponents=\"http://www.escidoc.de/schemas/components/0.9\">\n"); str.append(" <container:properties>\n"); str.append(" <srel:context xlink:href=\"" + contextId + "\"/>\n"); str.append(" <srel:content-model xlink:href=\"" + contentModelId + "\"/>\n"); if (pid != null) { str.append(" <prop:pid>" + pid + "</prop:pid>\n"); } str.append(" <prop:content-model-specific>\n"); str.append(" <my-content-model-value-structure />\n"); str.append(" </prop:content-model-specific>\n"); str.append(" </container:properties>\n"); str.append(" <!-- A Container could have multiple meta data records. -->\n"); str.append(" <escidocMetadataRecords:md-records>\n"); str.append(" <!-- At least one meta data record with name escidoc is needed. -->\n"); str.append(" <escidocMetadataRecords:md-record name=\"escidoc\">\n"); if (mdRecord != null) { str.append(mdRecord.toXmlString()); } else { str.append(" <metadata xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n"); str.append(" </metadata>\n"); } str.append(" </escidocMetadataRecords:md-record>\n"); str.append(" </escidocMetadataRecords:md-records>\n"); str.append("</container:container>\n"); return str.toString(); } }