Projects may define libraries holding revisions of the project such as model servers or databases. Multiple libraries may be referenced to indicate multiple revisions, multiple branches, and/or multiple servers.
If IfcLibraryInformation is provided, the project must be retrievable (provided the user has access permissions) using values as follows:
IfcLibraryInformation | HTTP Header | Description |
---|---|---|
Location | / | fully qualified URL for retrieving (or updating) the project in the content type specified |
Version | ETag | version stamp for qualifying a particular version, in a format specific to the server, which may be sorted by ordinal for comparison |
VersionDate | Last-Modified | UTC date and time of file as recorded on server |
Publisher | (username) | the account handle submitting a project revision is identified by the Identification of IfcPerson |
The following standard HTTP operations may be supported by a server (in addition to any extended operations) for retrieving or updating such data given access rights:
HTTP | Description |
---|---|
OPTIONS | Determine the available HTTP operations. |
HEAD | Determine the latest version of a project without downloading it. |
GET | Download the latest version of a project (or specific version with ETag provided). |
PUT | Replace the project, clearing any version history. Servers may reject or otherwise modify such submitted content. |
POST | Upload a new version of a project, appending to version history. Servers may reject, merge, or otherwise modify such submitted content. |
DELETE | Delete the project. |
The following standard MIME types may be supported by a server (in addition to any proprietary formats) for uploading and downloading data for use in the HTTP Accept header:
MIME Type | Format |
---|---|
application/xml | IFC-XML |
application/step | IFC-SPF |
Figure 126 illustrates an instance diagram.
Figure 126 — Project Library Information |
<?xml version="1.0"?>
<ConceptTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" uuid="f71de28e-4352-4f0d-9830-4fa13534a705" name="Project Library Information" applicableSchema="IFC4" applicableEntity="IfcContext">
<Rules>
<AttributeRule AttributeName="HasAssociations">
<EntityRules>
<EntityRule EntityName="IfcRelAssociatesLibrary">
<AttributeRules>
<AttributeRule AttributeName="RelatingLibrary">
<EntityRules>
<EntityRule EntityName="IfcLibraryInformation">
<AttributeRules>
<AttributeRule AttributeName="Version">
<EntityRules>
<EntityRule EntityName="IfcLabel" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="Publisher">
<EntityRules>
<EntityRule EntityName="IfcPersonAndOrganization">
<AttributeRules>
<AttributeRule AttributeName="ThePerson">
<EntityRules>
<EntityRule EntityName="IfcPerson">
<AttributeRules>
<AttributeRule AttributeName="Identification">
<EntityRules>
<EntityRule EntityName="IfcIdentifier" />
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="VersionDate">
<EntityRules>
<EntityRule EntityName="IfcDateTime" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="Location">
<EntityRules>
<EntityRule EntityName="IfcURIReference" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="Description">
<EntityRules>
<EntityRule EntityName="IfcText" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="Name">
<EntityRules>
<EntityRule EntityName="IfcLabel" />
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="Phase">
<EntityRules>
<EntityRule EntityName="IfcLabel" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="ObjectType">
<EntityRules>
<EntityRule EntityName="IfcLabel" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="LongName">
<EntityRules>
<EntityRule EntityName="IfcLabel" />
</EntityRules>
</AttributeRule>
</Rules>
</ConceptTemplate>