Verwenden von Inhaltstypen zum Angeben von XML-Dokumenteigenschaften

Letzte Änderung: Montag, 5. Oktober 2009

Gilt für: SharePoint Foundation 2010

Wenn in Microsoft SharePoint Foundation 2010 der integrierte XML-Parser aufgerufen wird, um XML-Dateien zu analysieren, wird anhand des Inhalttyps des Dokuments ermittelt, welche Dokumenteigenschaften welchen Inhaltstypspalten zugeordnet sind und wo diese Dokumenteigenschaften im Dokument gespeichert sind. Daher müssen Sie folgende Aktionen ausführen, damit von SharePoint Foundation der integrierte XML-Parser für XML-Dateien verwendet wird:

  • Erstellen Sie einen Inhaltstyp, der die notwendigen Analyseinformationen enthält. Schließen Sie für jede Dokumenteigenschaft, die Sie herauf- oder herabstufen möchten, eine Felddefinition ein, die den Namen der Dokumenteigenschaft enthält, die der durch die Felddefinition dargestellten Spalte entspricht. Außerdem muss in der Felddefinition enthalten sein, wo die Dokumenteigenschaft im Dokument gespeichert ist.

  • Stellen Sie sicher, dass es sich bei der Inhaltstyp-ID um eine Dokumenteigenschaft handelt, die im Dokument herabgestuft wird. Dadurch wird sichergestellt, dass der integrierte XML-Parser den richtigen Inhaltstyp für das Dokument identifizieren und auf diesen zugreifen kann. Weitere Informationen finden Sie unter Angeben des Inhaltstyps von Dokumenten für den XML-Parser.

Inhaltstypinformationen für die XML-Analyse

Dokumenteigenschaften werden über Spalten in der Dokumentbibliothek, in der das Dokument gespeichert ist, herauf- und herabgestuft. Wenn dem Dokument ein Inhaltstyp zugewiesen wird, werden diese Spalten in der Inhaltstypdefinition angegeben. In der Inhaltstypdefinitions-XML wird jede im Inhaltstyp enthaltene Spalte durch ein FieldRef-Element dargestellt.

HinweisHinweis

Field-Elemente stellen Spalten dar, die für eine Website oder Liste definiert sind. FieldRef-Elemente stellen Verweise auf Spalten dar, die im Inhaltstyp enthalten sind. Das FieldRef-Element enthält Spaltenattribute, die Sie für die Anzeige der Spalte in diesem Inhaltstyp außer Kraft setzen können, beispielsweise den Anzeigenamen der Spalte und ob die Spalte für den Inhaltstyp ausgeblendet wird oder erforderlich ist. Zu diesen Informationen gehört außerdem der Speicherort der Dokumenteigenschaft, die dieser im Inhaltstyp angezeigten Spalte zugeordnet werden soll. Auf diese Weise können Sie verschiedene Speicherorte für die Dokumenteigenschaft angeben, die der Spalte in verschiedenen Inhaltstypen zugeordnet sind.

Daher müssen Sie zum Angeben der Informationen, die vom integrierten XML-Parser zum Herauf- und Herabstufen einer Dokumenteigenschaft benötigt werden, das FieldRef-Element bearbeiten, das die entsprechende Spalte der Dokumenteigenschaft in der Inhaltstypdefinition darstellt.

In der folgenden Abbildung werden die Aktionen gezeigt, die vom Parser ausgeführt werden, wenn eine XML-Datei in eine Dokumentbibliothek eingecheckt wird. Der Parser wird von SharePoint Foundation aufgerufen, und anhand der Spalte mit der Inhaltstyp-ID wird der Speicherort der Inhaltstyp-ID im Dokument ermittelt. Anschließend wird im Dokument an dieser Stelle nach dem Inhaltstyp gesucht. Der Inhaltstyp wird untersucht, um zu ermitteln, welche FieldRef-Elemente Informationen zu Dokumenteigenschaften enthalten. Für jedes einer Dokumenteigenschaft zugeordnete FieldRef-Element wird nach der im entsprechenden FieldRef-Element angegebenen Stelle im Dokument nach der Dokumenteigenschaft gesucht. Wenn die Dokumenteigenschaft an der angegebenen Stelle gefunden wird, wird der Wert auf die entsprechende Spalte heraufgestuft.

Wenn ein XML-Dokument erstmals in eine Dokumentbibliothek hochgeladen wird, muss vom integrierten XML-Parser der Inhaltstyp des Dokuments ermittelt werden und ob dieser Inhaltstyp der Dokumentbibliothek zugeordnet ist. Weitere Informationen finden Sie unter Angeben des Inhaltstyps von Dokumenten für den XML-Parser.

XML-Eigenschaftenheraufstufung

Sie können verschiedene Attribute in einem Field- oder FieldRef-Element bearbeiten, um das Element einer Dokumenteigenschaft zuzuordnen und den Speicherort der Eigenschaft im Dokument anzugeben.

Zunächst muss das Field- oder FieldRef-Element ein ID-Attribut enthalten, durch das die ID der Spalte in der Dokumentbibliothek angegeben wird. Beispiel:

<FieldRef

ID="{4B1BF6C6-4F39-45ac-ACD5-16FE7A214E5E}"

Name="EmployeeID”/>

Als nächstes fügen Sie dem Field- oder FieldRef-Element zusätzliche Attribute hinzu, mit denen der Speicherort der Dokumenteigenschaft im Dokument angegeben wird. Dokumenteigenschaften können in den folgenden Speicherorten gespeichert werden:

  • Im XML-Inhalt des Dokuments

  • In den Verarbeitungsanweisungen des Dokuments

Die Attribute, die Sie dem Field- oder FieldRef-Element zum Angeben des Speicherorts der Eigenschaft hinzufügen, hängen davon ab, ob die Eigenschaft als XML-Inhalt oder als Verarbeitungsanweisungen gespeichert wird. Diese Attribute schließen sich gegenseitig aus; wenn Sie ein Attribut hinzufügen, mit dem ein Speicherort im XML-Inhalt angegeben wird, können Sie nicht gleichzeitig Attribute hinzufügen, mit denen ein Speicherort in den Verarbeitungsanweisungen angegeben wird.

Zum programmatischen Bearbeiten des Felddefinitionsschemas einer Spalte verwenden Sie das SPField.SchemaXML-Objekt.

Angeben von Eigenschaften in XML-Dokumentinhalten

Wenn Sie die Dokumenteigenschaft als XML-Inhalt im Dokument speichern, geben Sie einen XPathAusdruck an, der den Speicherort der Eigenschaft im Dokument darstellt. Fügen Sie dem Field- oder FieldRef-Element ein Node-Attribut hinzu, und legen Sie dieses so fest, dass es dem XPath-Ausdruck entspricht. Beispiel:

<FieldRef

ID="{4B1BF6C6-4F39-45ac-ACD5-16FE7A214E5E}"

Name="EmployeeID"

node="/my:myFields/my:employee"/>

Wertauflistungen für Dokumenteigenschaften

Wenn Sie einen XPath-Ausdruck angeben, mit dem eine Auflistung von Werten zurückgegeben wird, können Sie auch ein Aggregationsattribut in das Field- oder FieldRef-Element einschließen. Mit dem Aggregationsattribut wird die Aktion angegeben, die für den zurückgegebenen Wertsatz ausgeführt werden soll. Bei dieser Aktion kann es sich um eine Aggregationsfunktion oder die Angabe des jeweiligen Elements innerhalb der Auflistung handeln.

Beispiele für mögliche Werte:

  • sum

  • count

  • average

  • min

  • max

  • merge

  • plaintext Konvertiert Knotentextinhalte in Nur-Text.

  • first Wendet Eigenschaftsheraufstufung und -herabstufung auf das erste Element in der Auflistung an.

  • first Wendet Eigenschaftsheraufstufung und -herabstufung auf das letzte Element in der Auflistung an.

Beispiel:

<FieldRef

ID="{4B1BF6C6-4F39-45ac-ACD5-16FE7A214E5E}"

Name="TotalToExpense”

node="/my:myFields/my:expense"

aggregation="sum"/>

Angeben von Eigenschaften in Verarbeitungsanweisungen

Da Verarbeitungsanweisungen neben XML weitere Daten enthalten können, sind XPath-Ausdrücke nicht ausreichend, um in Verarbeitungsanweisungen gespeicherte Dokumenteigenschaften zu identifizieren. Stattdessen müssen Sie dem Field- oder FieldRef-Element ein Attributpaar hinzufügen, mit dem die Verarbeitungsanweisung angegeben wird, sowie das Verarbeitungsanweisungsattribut, das Sie als Dokumenteigenschaft verwenden möchten:

  • Fügen Sie ein PITarget-Attribut hinzu, um die Verarbeitungsanweisung anzugeben, in der die Dokumenteigenschaft im Dokument gespeichert ist.

  • Fügen Sie ein PIAttribute-Attribut hinzu, um das Attribut anzugeben, das als Dokumenteigenschaft verwendet werden soll.

Beispiel:

<FieldRef

ID="{4B1BF6C6-4F39-45ac-ACD5-16FE7A214E5E}"

Name="columnName"

PITarget="mydocumenttype"

PIAttribute="propertyAttribute"/>

Mit diesen Attributen wird der Parser angewiesen, die folgende Verarbeitungsanweisung und das Attribut auf den Wert der Dokumenteigenschaft zu untersuchen:

<?mydocumenttype propertyAttribute="value"?>

Sie können auch ein weiteres Attributpaar hinzufügen, PrimaryPITarget und PrimaryPIAttribute. Dieses Attributpaar ist optional. Wie PITarget und PIAttribute werden diese Attribute gemeinsam verwendet, um den Speicherort der Dokumenteigenschaft zu identifizieren. Wenn diese Attribute vorhanden sind, wird vom integrierten XML-Parser jedoch zuerst im durch diese Attribute angegebenen Speicherort nach der Dokumenteigenschaft gesucht. Wenn in diesem Speicherort ein Wert vorhanden ist, wird dieser verwendet, und die Attribute PITarget und PIAttribute werden ignoriert. In dem durch das Attributpaar PITarget und PIAttribute angegebenen Speicherort wird nur dann nach der Dokumenteigenschaft gesucht, wenn für den durch die Attribute PrimaryPITarget und PrimaryPIAttribute angegebenen Speicherort ein Nullwert zurückgegeben wird.

Wenn Sie die Attribute PrimaryPITarget und PrimaryPIAttribute angeben, müssen Sie auch die Attribute PITarget und PIAttribute angeben. Die Attribute PrimaryPITarget und PrimaryPIAttribute werden vom Parser nur verwendet, wenn das Verarbeitungsanweisungsattribut, das durch das Paar PITarget und PIAttribute angegeben wird, im Dokument nicht vorhanden ist. Wenn das Attribut zwar vorhanden ist, aber null entspricht oder leer ist, wird das Attribut nicht verwendet.

Siehe auch

Konzepte

Höher- und Tieferstufen von Eigenschaften von XML-Dokumenten

XML-Parser-Verarbeitung

Bestimmen des Dokumentinhaltstyps für den XML-Parser

Angeben des Inhaltstyps von Dokumenten für den XML-Parser