Document Referencing: Generic
This page describes the principles of document referencing according to COINS.
Internal and External documents
DocumentReferences can refer to internal or external documents.
- Internal; If a document is stored on a local file system, it can be addressed by its absolute file path. In the COINS Core Model, a local document can be referred to by an InternalDocumentReference, having a string property for the filePath.
- External; If a document can be accessed over the internet, it needs not to be stored on a local file system. The document is then addressed by its URI. In the COINS Core Model, the ExternalDocumentReference class has a property for the URI.
- Employing both the file path and URI address options could be handy to prevent downloading over and over again or to be able to operate off-line.
Usually the document will be addressed as a whole but sometimes the use of a fragment identifier could be convenient to link to e.g. a small portion in a large HTML document, a cell in a spreadsheet, or to refer to a specific object in a shape representation model file. For example in an IFC model file the global ID attribute can be used to point to a specific object in the IFC file. To this purpose, the Document References has properties for the document’s type, the MIME-type and the fragment concerned.
Both internal and external documents can be defined as secured documents. Therefore a DocumentReference can be declared as SecuredDocumentReference. A SecuredDocumentReference has properties for specifying a checksum and checksum-algorithm. A checksum is a small-size datum computed from an arbitrary block of digital data for the purpose of detecting errors which may have been introduced during its transmission or storage. The actual procedure which yields the checksum, given a data input is called a checksum algorithm. COINS does not prescribe which checksum algorithm should be applied but leaves this to be agreed by parties involved.
- Internal; For InternalDocumentReferences, the checksum algorithm and it’s computational result are stored in the properties checksumFileAlgorithm resp. checksumFile.
- External; For ExternalDocumentReferences, the checksum algorithm and it’s computational result are stored in the properties checksumUriAlgorithm resp. checksumUri.