Latest 3.x Release

This documentation covers the latest release of the legacy 3.x Fedora. Looking for another version? See all documentation.

Fedora 4 Development

Looking for Fedora's currently active development?

Skip to end of metadata
Go to start of metadata
<?xml version="1.0" encoding="UTF-8"?> 
<!--*******************************************************************************************************************************************--> 
<!-- FOXML 1.1 REFERENCE EXAMPLE OBJECT:  --> 
<!-- This is an example of a FOXML encoded digital object as it would appear in the Fedora persistent storage area. --> 
<!--*******************************************************************************************************************************************--> 
<!-- The digitalObject root element contains the object PID, which uniquely identifies the Fedora object  --> 
<!--*******************************************************************************************************************************************--> 
<foxml:digitalObject VERSION="1.1" PID="demo:999" xmlns:foxml="info:fedora/fedora-system:def/foxml#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> 
<!---***************************************************************************************************************************************
    FEDORA OBJECT PROPERTIES : non-versionable properties of the digital object
    At ingest, the object MUST have these attributes:
        - state:(required) The object state can be Active (A), Inactive (I), or Deleted (D)
    And at ingest, it may have these optional attributes:       
        - label: (optional) The object is given a user-defined descriptive label.      
        - ownerId: (optional) The owner(s) of the obect.  The value is not validated
          by Fedora, but may be used in policy enforcement.
    The system will automatically assign these attributes (they should not be put in the ingest files,
    but they appear in stored files):                
        - createdDate: (system assigned) The object creation date is assigned to the millisecond. 
        - lastModifiedDate:(system assigned) The object creation date is assigned to the millisecond. 
******************************************************************************************************************************************--> 
  <foxml:objectProperties> 
    <foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="A"/> 
    <foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="FOXML Reference Example"/> 
    <foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="fedoraAdmin"/> 
    <foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2004-12-10T00:21:58.000Z"/> 
    <foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2005-01-20T22:46:07.506Z"/> 
  </foxml:objectProperties> 
  <!--*******************************************************************************************************************************************
      FEDORA RESERVED DATASTREAM: DUBLIN CORE METADATA FOR OBJECT:
      This datastream is always recognized by Fedora by the reserved datastream identifier of "DC". 
        Fedora will automatically index the DC datastream as part of the default repository catalog search, 
      and also as part of the RDF-based Resource Index. 
  *********************************************************************************************************************************************--> 
  <foxml:datastream ID="DC" STATE="A" CONTROL_GROUP="X" VERSIONABLE="true"> 
    <foxml:datastreamVersion FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" ID="DC.0" MIMETYPE="text/xml" LABEL="Dublin Core Record for this object" SIZE="488" CREATED="2004-12-10T00:21:58.000Z"> 
      <foxml:xmlContent> 
        <oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/"> 
          <dc:title>FOXML Reference Object</dc:title> 
          <dc:creator>Sandy Payette</dc:creator> 
          <dc:subject>Fedora documentation</dc:subject> 
          <dc:description>FOXML showing how a digital object is encoded for persistent storage in a Fedora repository</dc:description> 
          <dc:publisher>Cornell CIS</dc:publisher> 
          <dc:identifier>demo:999</dc:identifier> 
        </oai_dc:dc> 
      </foxml:xmlContent> 
    </foxml:datastreamVersion> 
  </foxml:datastream> 
  <!--*******************************************************************************************************************************************
    FEDORA RESERVED DATASTREAM: OBJECT-TO-OBJECT RELATIONSHIPS 
      This datastream is always recognized by Fedora by the reserved datastream identifier of "RELS-EXT". 
      The RELS-EXT datastream is used to make assertions about the relationship of this digital object to other digital 
      objects. Assertions are made in RDF.  Relationships can be asserted from the default Fedora relationship 
      namespace or other namespaces. Fedora will automatically index this datastream as part of the RDF-based 
      Resource Index. 
      The RELS-EXT datastream is validated by Fedora.
  *************************************************************************************************************************************************
      See the RDF Schema for the default Fedora relationships at: http://www.fedora.info/definitions/1/0/fedora-rels.rdfs 
      See the "Fedora Relationship Metadata Guide" in the system documentation for specific constraints and syntax rules.
  *************************************************************************************************************************************************
     Below, the RDF <Description> element declares that the asserted relationships are about "this" digital object since
     its rdf:about attribute points to the Fedora URI for this object.  (Fedora URIs are PIDs prepended with "info:fedora/").
     See system documentation for more information about Fedora URIs. 
     Below, there are two relationships from the fedora namespace to indicate that this object is a member of two 
     different collections. For each relationship assertion, the rdf:resource attribute must contain the URI of another
     Fedora object that this object is related to.  For example, there exists a Fedora object known as 
     "info:fedora/test:collection1" that represents a specific collection. 
  *******************************************************************************************************************************************--> 
  <foxml:datastream ID="RELS-EXT" CONTROL_GROUP="X"> 
    <foxml:datastreamVersion FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" ID="RELS-EXT.0" MIMETYPE="application/rdf+xml" LABEL="RDF Statements about this object" SIZE="752" CREATED="2004-12-10T00:21:58.000Z"> 
      <foxml:xmlContent> 
        <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:rel="info:fedora/fedora-system:def/relations-external#" xmlns:myns="http://www.nsdl.org/ontologies/relationships#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"> 
          <rdf:Description rdf:about="info:fedora/demo:999"> 
            <!-- This object ("info:fedora/demo:999") is a member of Collection #1 (info:fedora/test:collection1) --> 
            <rel:isMemberOfCollection rdf:resource="info:fedora/test:collection1"/> 
            <!-- ... and it is also a member of Collection #2 (info:fedora/test:collection2) --> 
            <rel:isMemberOfCollection rdf:resource="info:fedora/test:collection2"/> 
            <!-- You can also make your own relationship assertions in your own namespace...--> 
            <myns:isPartOf rdf:resource="info:fedora/mystuff:100"/> 
          </rdf:Description> 
        </rdf:RDF> 
      </foxml:xmlContent> 
    </foxml:datastreamVersion> 
  </foxml:datastream> 
  <!--**************************************************************************************************************************************
     DATASTREAMS  (notice the four different kinds of datastreams supported by Fedora)
  *******************************************************************************************************************************************
    Notice that Fedora will automatically keep track of different versions of a datastream.  
    Datastreams are versioned whenever modifications are made via API-M 
 
    At ingest, each datastream MUST have following attributes: 
      - ID          (required) a unique identifier for the datastream within this object.  User can provide it,
                or if not provided, the system will assign one.
      - STATE      (Required) The datastream state can be Active (A), Inactive (I), or Deleted (D)
      - CONTROL_GROUP (required) indicates the kind of datastream, either Externally Referenced Content (E), 
                Redirected Content (R), Managed Content (M) or Inline XML (X) 
      - MIME        (required per version) user-assigned MIME type of the bytestream.
      
    And at ingest, it may have these optional attributes: 
      - LABEL      (optional per version) user-assigned descriptive label for the datastream 
      - ALT_IDS      (optional per version) user-assigned set of alternative identifiers for the datastream, 
                with the identifiers separated by spaces
      - FORMAT_URI    (optional per version) user-assigned URI used to identify the media type of the bytestream 
                (more specific than MIME type).
      - SIZE        (optional per version) size of the bytestream.
                User can provide it, or Fedora can be configured to calculate it.  
                
    The system will assign these attributes (they should not be put in the ingest file):
      - VERSIONABLE    (system-assigned)  a true/false indication as to whether the datastream should 
                be versioned by the Fedora repository service.  In Fedora 2.0, all datastreams are set to 
                VERSIONABLE="true".  In a future release, selective datastream versioning will be enabled and
                this attribute can then be user-assigned.
      - CREATED      (system-assigned per version) creation date for the datastream version, to the millisecond
  *******************************************************************************************************************************************
    DATASTREAM (E): 
    This datastream demonstrates "Externally Referenced Content" (see attribute CONTROL_GROUP=E).  
    The contentLocation element points to content on a external web server (meaning the content is not under the 
    custodianship of  the Fedora repository).  When repository access requests are made for this datastream, the 
    content bytestream will be mediated by the Fedora repository service, meaning that Fedora will get the content 
    and return it to the client.  The client will not be aware of the true URL of the content.  Notice that the datastream 
  *******************************************************************************************************************************************--> 
  <foxml:datastream CONTROL_GROUP="E" ID="IMAGE" STATE="A" VERSIONABLE="true"> 
    <foxml:datastreamVersion ID="IMAGE.0" MIMETYPE="image/x-mrsid-image" LABEL="Image of Pavilion III, University of Virginia" CREATED="2004-12-10T00:21:58.000Z"> 
      <foxml:contentLocation REF="http://iris.lib.virginia.edu/mrsid/mrsid_images/iva/archerp01.sid" TYPE="URL"/> 
    </foxml:datastreamVersion> 
  </foxml:datastream> 
  <!--*******************************************************************************************************************************************
    DATASTREAM (R):
    This datastream demonstrates "Redirected Referenced Content"  (see attribute CONTROL_GROUP=R).  
    Like the E datastream above, the contentLocation points to content on a external web server.  However, in this case, 
    when repository access requests are made for this datastream, the repository will redirect the client to this URL, 
    and will not mediate the streaming of the content.  This is particularly useful when the content is a streaming media 
    file, or for complex, animated web pages where streaming through the Fedora server may cause lossiness. 
    (The .jpg image is not a great motivating example of the "R" datastream, but it just used in this example.)
  *******************************************************************************************************************************************--> 
  <foxml:datastream CONTROL_GROUP="R" ID="DRAWING-BEST" STATE="A" VERSIONABLE="true"> 
    <foxml:datastreamVersion ID="DRAWING-BEST.0" MIMETYPE="image/jpeg" LABEL="Architectural Drawing Pavilion III (veryhigh res)" CREATED="2004-12-10T00:21:58.000Z"> 
      <foxml:contentLocation REF="http://icarus.lib.virginia.edu/images/iva/archerd05high.jpg" TYPE="URL"/> 
    </foxml:datastreamVersion> 
  </foxml:datastream> 
  <!--*******************************************************************************************************************************************
    DATASTREAM (M):
    This datastream demonstrates "Managed Content"  (see attribute CONTROL_GROUP=M).  
    This is an example of a datastream whose content bytestream is under the direct custodianship of the Fedora 
    repository.  Notice that the contentLocation points to an internal identifier instead of a URL.  The content 
    is actually stored in the repository's persistent storage area.  When Fedora access requests are made for this 
    datastream, the repository service retrieves the content from its own persistent storage area.   
    
    It is worth noting that prior to ingest into the repository, this datastream was specified with a contentLocation URL 
    pointing to an external source.  You can see this contentLocation URLs commented out below.  Since this 
    datastream is marked as CONTROL_GROUP=M, the repository service must store the bytestream inside the 
    repository.  Therefore, when this object was ingested,  the Fedora repository service called back to this URL 
    to obtain the content for local storage.  Once the content was stored,  the original URL was replaced with the 
    Fedora internal identifier depicted below. 
    See the "Fedora Ingest and Export Guide" in the system documentation for more details on encoding ingest files.
  *******************************************************************************************************************************************--> 
  <foxml:datastream CONTROL_GROUP="M" ID="DRAWING-BETTER" STATE="A" VERSIONABLE="true"> 
    <foxml:datastreamVersion ID="DRAWING-BETTER.0" MIMETYPE="image/jpeg" LABEL="Architectural Drawing Pavilion III (med res)" CREATED="2004-12-10T00:21:58.000Z"> 
      <!-- <foxml:contentLocation REF="http://icarus.lib.virginia.edu/images/iva/archerd05medium1.jpg" TYPE="URL"/> --> 
      <foxml:contentLocation REF="demo:999+DRAWING-BETTER+DRAWING-BETTER.0" TYPE="INTERNAL_ID"/> 
    </foxml:datastreamVersion> 
  </foxml:datastream> 
  <!--*******************************************************************************************************************************************
    DATASTREAM (M): (with multiple versions)
    This datastream also demonstrates "Managed Content"  (see attribute CONTROL_GROUP=M).  
    
    Notice in the example below the datastream has two versions.  In the second version the datastream label was 
    changed and an alternate identifier was added.   Fedora access requests can be given date-time stamps to
    retrieve the appropriate version.
  *******************************************************************************************************************************************--> 
  <foxml:datastream CONTROL_GROUP="M" ID="DRAWING-ICON" STATE="A" VERSIONABLE="true"> 
    <foxml:datastreamVersion ID="DRAWING-ICON.0" MIMETYPE="image/jpeg" LABEL="Architectural Drawing Pavilion III" CREATED="2004-12-10T00:21:58.000Z"> 
      <foxml:contentLocation REF="http://icarus.lib.virginia.edu/images/iva/archerd05small.jpg" TYPE="URL"/> 
    </foxml:datastreamVersion> 
    <foxml:datastreamVersion ID="DRAWING-ICON.1" MIMETYPE="image/jpeg" LABEL="Architectural Drawing Pavilion III (thumbnail icon)" ALT_IDS="doi:10.1234/123" CREATED="2005-01-20T22:46:07.428Z"> 
      <foxml:contentLocation REF="http://icarus.lib.virginia.edu/images/iva/archerd05small.jpg" TYPE="URL"/> 
    </foxml:datastreamVersion> 
  </foxml:datastream> 
  <!--*******************************************************************************************************************************************
    DATASTREAM (X):
    This datastream demonstrates "Inlined XML Content" (see attribute CONTROL_GROUP=X).
    This type of datastream is used when it is desirable to have XML content "inlined" within the digital object XML 
    wrapper itself.   Notice that there is no contentLocation element pointing to a content URL;  
    instead there is a block of XML wrapped by the <xmlContent> element.  
    The XML wrapped by the <xmlContent> element needs to be well-formed, in particular any namespaces 
    used in the XML must be declared within this datastream (namespace prefixes declared elsewhere 
    in the FOXML will not be available to the XML in this datastream).
  **********************************************************************************************************************************************--> 
  <foxml:datastream ID="UVATECH" STATE="A" CONTROL_GROUP="X" VERSIONABLE="true"> 
    <foxml:datastreamVersion ID="UVATECH.0" MIMETYPE="text/xml" FORMAT_URI="info:fedora/format:xml:uvalibadmin" LABEL="UVA Technical Metadata Record" SIZE="556" CREATED="2004-12-10T00:21:58.000Z"> 
      <foxml:xmlContent> 
        <uvalibadmin:admin xmlns:uvalibadmin="http://virginia.lib.edu/uvalibadmin:tech"> 
          <uvalibadmin:technical> 
            <uvalibadmin:format>image/jpeg</uvalibadmin:format> 
            <uvalibadmin:compression>LZW</uvalibadmin:compression> 
            <uvalibadmin:bitDepth BITS=""/> 
            <uvalibadmin:colorSpace/> 
            <uvalibadmin:colorProfile CPLOCAT="" CPFILE=""/> 
            <uvalibadmin:resolution>600</uvalibadmin:resolution> 
          </uvalibadmin:technical> 
        </uvalibadmin:admin> 
      </foxml:xmlContent> 
    </foxml:datastreamVersion> 
  </foxml:datastream> 
  <!--*******************************************************************************************************************************************
      SYSTEM-CONTROLLED AUDIT TRAIL DATASTREAM 
      The Fedora repository system will automatically create an audit trail of changes made to the digital object.  
      An audit record will be added for each API-M operation that changes the object. 
      The system creates and updates this special audit trail datastream and prevents any client from modifying it.  
  *******************************************************************************************************************************************--> 
  <foxml:datastream CONTROL_GROUP="X" ID="AUDIT" STATE="A" VERSIONABLE="false"> 
    <foxml:datastreamVersion CREATED="2004-12-10T00:21:58.000Z" FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit" ID="AUDIT.0" LABEL="Audit Trail for this object" MIMETYPE="text/xml"> 
      <foxml:xmlContent> 
        <audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#"> 
          <audit:record ID="AUDREC1"> 
            <audit:process type="Fedora API-M"/> 
            <audit:action>modifyDatastreamByReference</audit:action> 
            <audit:componentID>DRAWING-ICON</audit:componentID> 
            <audit:responsibility>fedoraAdmin</audit:responsibility> 
            <audit:date>2005-01-20T22:46:07.428Z</audit:date> 
            <audit:justification>changed the datastream label and added an alternate identifier.</audit:justification>/>
                </audit:record> 
        </audit:auditTrail> 
      </foxml:xmlContent> 
    </foxml:datastreamVersion> 
  </foxml:datastream> 
</foxml:digitalObject> 
  • No labels