In den vorigen Posts habe ich gezeigt, wie man eine neue Definition Bibliothek, Felder und Inhaltstypen erstellt. In diesem Post möchte ich zeigen, wie man den erstellten Inhaltstyp mit der erstellten Bibliothek aus dem ersten Teil verbindet.
Die Bindung erfolgt in der XML-Datei schema.xml der Liste bzw. Bibliothek. Sie befindet sich im Normalfall, in einem Unterverzeichnis (in unsererem Beispiel im Verzeichnis DocLib, da wir von der mitgelieferten Dokumenten Bibliothek ausgegangen sind). Im oberen Teil der Datei schema.xml gibt es das Element <ContentTypes>. Innerhalb dieses Elementes können die verbundenen Inhaltsytpen über <ContentTypeRef> Elemente angegeben werden. Die Identifizierung erfolgt über die ID.
Am Beispiel der vorigen Posts würde das wie folgt aussehen:
<?xml version="1.0" encoding="utf-8"?>
<List xmlns:ows="Microsoft SharePoint"
Title="Dokumente im Vorgang"
Direction="ComVIT"
Url="ComVitDocs"
BaseType="1"
EnableContentTypes="TRUE" >
<MetaData>
<ContentTypes>
<ContentTypeRef ID="0x0101">
<Folder TargetName="Forms/Document" />
</ContentTypeRef>
<ContentTypeRef ID="0x0101004955BBB394EB43D78F2635EEFFC187BC" />
<ContentTypeRef ID="0x0101004955BBB394EB43D78F2635EEFFC187BC01" />
<ContentTypeRef ID="0x0101004955BBB394EB43D78F2635EEFFC187BC02" />
<ContentTypeRef ID="0x0120" />
</ContentTypes>
...
Wenn man eine Dokumentenbibliothek mit dieser Definition anlegt, sind die Inhaltstypen automatisch auf die Dokumentenbibliothek gebunden und können beim Upload eines Dokumentes augewählt bzw. später in den Eigenschaften des Dokumentes umgestellt werden.