Freigeben über


Package.CreateRelationship Methode

Definition

Erstellt eine Beziehung auf Paketebene zu einem angegebenen Part.

Überlädt

CreateRelationship(Uri, TargetMode, String)

Erstellt eine Beziehung auf Paketebene zu einem Part mit einem angegebenen URI, einem angegebenen Zielmodus und einem angegebenen Beziehungstyp.

CreateRelationship(Uri, TargetMode, String, String)

Erstellt eine Beziehung auf Paketebene zu einem Teil mit einem bestimmten URI, Zielmodus, Beziehungstyp und Bezeichner (ID).

Beispiele

Das folgende Beispiel veranschaulicht das Erstellen eines PackageRelationship Zwischen- Package und eines Stammdokumentteils.

// Add the Document part to the Package
PackagePart packagePartDocument =
    package.CreatePart(partUriDocument,
                   System.Net.Mime.MediaTypeNames.Text.Xml);

// Copy the data to the Document Part
using (FileStream fileStream = new FileStream(
       documentPath, FileMode.Open, FileAccess.Read))
{
    CopyStream(fileStream, packagePartDocument.GetStream());
}// end:using(fileStream) - Close and dispose fileStream.

// Add a Package Relationship to the Document Part
package.CreateRelationship(packagePartDocument.Uri,
                           TargetMode.Internal,
                           PackageRelationshipType);
' Add the Document part to the Package
Dim packagePartDocument As PackagePart = package.CreatePart(partUriDocument, System.Net.Mime.MediaTypeNames.Text.Xml)

' Copy the data to the Document Part
Using fileStream As New FileStream(documentPath, FileMode.Open, FileAccess.Read)
    CopyStream(fileStream, packagePartDocument.GetStream())
End Using ' end:using(fileStream) - Close and dispose fileStream.

' Add a Package Relationship to the Document Part
package.CreateRelationship(packagePartDocument.Uri, TargetMode.Internal, PackageRelationshipType)

Hinweise

Eine Beziehung auf Paketebene definiert eine Zuordnung zwischen dem Paket und einem zugeordneten Zielteil oder einer zugeordneten Zielressource. Eine Beziehung auf Paketebene kann eine von zwei Formen sein.

  • Zwischen einem Package und einem Ziel PackagePart innerhalb des Pakets.
  • Zwischen einer Package zu einer Zielressource außerhalb des Pakets.

In einer Paketbeziehung gilt das Paket als "Besitzer" der Beziehung. Wenn das Paket gelöscht wird, werden auch alle Beziehungen gelöscht, die dem Paket gehören. Der Prozess des Erstellens oder Löschens der Beziehung ändert den Zielteil oder die Zielressource in keiner Weise physisch.

Weitere Informationen finden Sie in der OPC-Spezifikation (Open Packaging Conventions), die unter heruntergeladen werden https://www.ecma-international.org/publications-and-standards/standards/ecma-376/kann.

CreateRelationship(Uri, TargetMode, String)

Quelle:
Package.cs
Quelle:
Package.cs
Quelle:
Package.cs
Quelle:
Package.cs

Erstellt eine Beziehung auf Paketebene zu einem Part mit einem angegebenen URI, einem angegebenen Zielmodus und einem angegebenen Beziehungstyp.

public:
 System::IO::Packaging::PackageRelationship ^ CreateRelationship(Uri ^ targetUri, System::IO::Packaging::TargetMode targetMode, System::String ^ relationshipType);
public System.IO.Packaging.PackageRelationship CreateRelationship (Uri targetUri, System.IO.Packaging.TargetMode targetMode, string relationshipType);
member this.CreateRelationship : Uri * System.IO.Packaging.TargetMode * string -> System.IO.Packaging.PackageRelationship
Public Function CreateRelationship (targetUri As Uri, targetMode As TargetMode, relationshipType As String) As PackageRelationship

Parameter

targetUri
Uri

Der URI (Uniform Resource Identifier) des Zielsegments.

targetMode
TargetMode

Gibt an, ob das ZielpartInternal oder External für das Paket ist.

relationshipType
String

Ein URI, der die Rolle der Beziehung eindeutig definiert.

Gibt zurück

Die Beziehung auf Paketebene zu dem angegebenen Part.

Ausnahmen

targetUri oder relationshipType ist null.

Das targetUri-Part ist eine PackageRelationship, oder targetMode ist Internal, und targetUri ist ein absoluter URI.

Der Wert für targetMode ist ungültig.

Das Paket ist nicht geöffnet (Dispose(Boolean) oder Close() wurde aufgerufen).

Das Paket ist schreibgeschützt.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie sie verwenden, CreateRelationship um einen PackageRelationship zwischen einem Package und einem Stammdokumentteil zu erstellen.

// Add the Document part to the Package
PackagePart packagePartDocument =
    package.CreatePart(partUriDocument,
                   System.Net.Mime.MediaTypeNames.Text.Xml);

// Copy the data to the Document Part
using (FileStream fileStream = new FileStream(
       documentPath, FileMode.Open, FileAccess.Read))
{
    CopyStream(fileStream, packagePartDocument.GetStream());
}// end:using(fileStream) - Close and dispose fileStream.

// Add a Package Relationship to the Document Part
package.CreateRelationship(packagePartDocument.Uri,
                           TargetMode.Internal,
                           PackageRelationshipType);
' Add the Document part to the Package
Dim packagePartDocument As PackagePart = package.CreatePart(partUriDocument, System.Net.Mime.MediaTypeNames.Text.Xml)

' Copy the data to the Document Part
Using fileStream As New FileStream(documentPath, FileMode.Open, FileAccess.Read)
    CopyStream(fileStream, packagePartDocument.GetStream())
End Using ' end:using(fileStream) - Close and dispose fileStream.

' Add a Package Relationship to the Document Part
package.CreateRelationship(packagePartDocument.Uri, TargetMode.Internal, PackageRelationshipType)

Hinweise

Eine Beziehung auf Paketebene definiert eine Zuordnung zwischen dem Paket und einem zugeordneten Zielteil oder einer zugeordneten Zielressource. Eine Beziehung auf Paketebene kann eine von zwei Formen sein.

  • Zwischen einem Package und einem Zielteil im Paket.
  • Zwischen einer Package zu einer Zielressource außerhalb des Pakets.

In einer Paketbeziehung gilt das Paket als "Besitzer" der Beziehung. Wenn das Paket gelöscht wird, werden auch alle Beziehungen gelöscht, die dem Paket gehören.

CreateRelationship ändert den Zielteil oder die Zielressource in keiner Weise physisch.

Das Ziel einer Beziehung darf keine andere Beziehung sein.

Wenn targetMode als Internalangegeben ist, targetUri muss es sich um einen relativen URI handeln, der gemäß der generischen Syntaxspezifikation rfc 3986 (Uniform Resource Identifier, URI) gebildet wird. Der interne relative URI kann entweder ein absoluter Pfad sein, der mit einem Schrägstrich ("/") beginnt, z. B. "/page1.xaml" oder "/images/picture4.jpg", oder ein relativer Pfad wie ".. /imagespicture1.jpg", das mit dem Paketstamm ("/") als Basis-URI aufgelöst wird.

Wenn targetMode als Externalangegeben wird, targetUri kann es sich um einen absoluten oder relativen URI handeln, der gemäß der generischen Syntaxspezifikation rfc 3986 (Uniform Resource Identifier, URI) gebildet wird. http://www.microsoft.com/page2.xml ist ein Beispiel für einen absoluten URI, der auf eine externe Zielressource "page2.xml" verweist. "images/picture1.jpg" ist ein Beispiel für einen relativen URI, der auch auf eine externe Zielressource "1.jpg" verweist, die jedoch mit dem URI des Pakets selbst aufgelöst wird.

relationshipType muss ein URI sein, der gemäß der generischen Syntaxspezifikation von RFC 3986 (Uniform Resource Identifier, URI) gebildet wird. Die folgende Tabelle zeigt die URIs auf Paketebene relationshipType , die durch die OPC-Spezifikation (Open Packaging Conventions) definiert sind.

Beziehung auf Paketebene Beziehungstyp-URI
Kerneigenschaften http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties
Digitale Signatur http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/signature
Zertifikat für digitale Signatur http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/certificate
Ursprung der digitalen Signatur http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin
Miniaturansicht http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail

Weitere Informationen zu Paket- und Paketbeziehungen finden Sie in Abschnitt 1.3 der OPC-Spezifikation (Open Packaging Conventions) zum Download unter https://www.ecma-international.org/publications-and-standards/standards/ecma-376/.

Weitere Informationen

Gilt für:

CreateRelationship(Uri, TargetMode, String, String)

Quelle:
Package.cs
Quelle:
Package.cs
Quelle:
Package.cs
Quelle:
Package.cs

Erstellt eine Beziehung auf Paketebene zu einem Teil mit einem bestimmten URI, Zielmodus, Beziehungstyp und Bezeichner (ID).

public:
 System::IO::Packaging::PackageRelationship ^ CreateRelationship(Uri ^ targetUri, System::IO::Packaging::TargetMode targetMode, System::String ^ relationshipType, System::String ^ id);
public System.IO.Packaging.PackageRelationship CreateRelationship (Uri targetUri, System.IO.Packaging.TargetMode targetMode, string relationshipType, string? id);
public System.IO.Packaging.PackageRelationship CreateRelationship (Uri targetUri, System.IO.Packaging.TargetMode targetMode, string relationshipType, string id);
member this.CreateRelationship : Uri * System.IO.Packaging.TargetMode * string * string -> System.IO.Packaging.PackageRelationship
Public Function CreateRelationship (targetUri As Uri, targetMode As TargetMode, relationshipType As String, id As String) As PackageRelationship

Parameter

targetUri
Uri

Der URI (Uniform Resource Identifier) des Zielsegments.

targetMode
TargetMode

Gibt an, ob das ZielpartInternal oder External für das Paket ist.

relationshipType
String

Ein URI, der die Rolle der Beziehung eindeutig definiert.

id
String

Ein eindeutiger XML-Bezeichner.

Gibt zurück

Die Beziehung auf Paketebene zu dem angegebenen Part.

Ausnahmen

targetUri oder relationshipType ist null.

Das targetUri-Part ist eine PackageRelationship, oder targetMode ist Internal, und targetUri ist ein absoluter URI.

Der Wert für targetMode ist ungültig.

Das Paket ist nicht geöffnet (Dispose(Boolean) oder Close() wurde aufgerufen).

Das Paket ist schreibgeschützt.

id ist kein gültiger XML-Bezeichner, oder im Paket ist bereits ein Part mit der angegebenen id vorhanden.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie sie verwenden, CreateRelationship um einen PackageRelationship zwischen einem Package und einem Stammdokumentteil zu erstellen.

// Add the Document part to the Package
PackagePart packagePartDocument =
    package.CreatePart(partUriDocument,
                   System.Net.Mime.MediaTypeNames.Text.Xml);

// Copy the data to the Document Part
using (FileStream fileStream = new FileStream(
       documentPath, FileMode.Open, FileAccess.Read))
{
    CopyStream(fileStream, packagePartDocument.GetStream());
}// end:using(fileStream) - Close and dispose fileStream.

// Add a Package Relationship to the Document Part
package.CreateRelationship(packagePartDocument.Uri,
                           TargetMode.Internal,
                           PackageRelationshipType);
' Add the Document part to the Package
Dim packagePartDocument As PackagePart = package.CreatePart(partUriDocument, System.Net.Mime.MediaTypeNames.Text.Xml)

' Copy the data to the Document Part
Using fileStream As New FileStream(documentPath, FileMode.Open, FileAccess.Read)
    CopyStream(fileStream, packagePartDocument.GetStream())
End Using ' end:using(fileStream) - Close and dispose fileStream.

' Add a Package Relationship to the Document Part
package.CreateRelationship(packagePartDocument.Uri, TargetMode.Internal, PackageRelationshipType)

Hinweise

Eine Beziehung auf Paketebene definiert eine Zuordnung zwischen dem Paket und einem zugeordneten Zielteil oder einer zugeordneten Zielressource. Eine Beziehung auf Paketebene kann eine von zwei Formen sein.

  • Zwischen einem Package und einem Zielteil im Paket.
  • Zwischen einer Package zu einer Zielressource außerhalb des Pakets.

In einer Paketbeziehung gilt das Paket als "Besitzer" der Beziehung. Wenn das Paket gelöscht wird, werden auch alle Beziehungen gelöscht, die dem Paket gehören.

CreateRelationship ändert den Zielteil oder die Zielressource in keiner Weise physisch.

Das Ziel einer Beziehung darf keine andere Beziehung sein.

id muss ein gültiger XML-Bezeichner sein. Der id Typ ist xsd:ID und muss den in der XML-Schemateil 2: Datentypenspezifikation vorgeschriebenen Benennungskonventionen entsprechen (siehe https://www.w3.org/TR/xmlschema-2/#ID).

Wenn id als null eindeutige ID angegeben wird, wird automatisch generiert. Eine id durch eine leere Zeichenfolge angegebene ist ungültig.

Wenn targetMode als Internalangegeben ist, targetUri muss es sich um einen relativen URI handeln, der gemäß der generischen Syntaxspezifikation rfc 3986 (Uniform Resource Identifier, URI) gebildet wird. Der interne relative URI kann entweder ein absoluter Pfad sein, der mit einem Schrägstrich ("/") beginnt, z. B. "/page1.xaml" oder "/images/picture4.jpg", oder ein relativer Pfad wie ".. /imagespicture1.jpg", das mit dem Paketstamm ("/") als Basis-URI aufgelöst wird.

Wenn targetMode als Externalangegeben wird, targetUri kann es sich um einen absoluten oder relativen URI handeln, der gemäß der generischen Syntaxspezifikation rfc 3986 (Uniform Resource Identifier, URI) gebildet wird. http://www.microsoft.com/page2.xml ist ein Beispiel für einen absoluten URI, der auf eine externe Zielressource "page2.xml" verweist. "images/picture1.jpg" ist ein Beispiel für einen relativen URI, der auch auf eine externe Zielressource "1.jpg" verweist, die jedoch mit dem URI des Pakets selbst aufgelöst wird.

relationshipType muss ein URI sein, der gemäß der generischen Syntaxspezifikation von RFC 3986 (Uniform Resource Identifier, URI) gebildet wird. Die folgende Tabelle zeigt die URIs auf Paketebene relationshipType , die durch die OPC-Spezifikation (Open Packaging Conventions) definiert sind.

Beziehung auf Paketebene Beziehungstyp-URI
Kerneigenschaften http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties
Digitale Signatur http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/signature
Zertifikat für digitale Signatur http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/certificate
Ursprung der digitalen Signatur http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin
Miniaturansicht http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail

Weitere Informationen zu Paket- und Paketbeziehungen finden Sie in Abschnitt 1.3 der OPC-Spezifikation (Open Packaging Conventions) zum Download unter https://www.ecma-international.org/publications-and-standards/standards/ecma-376/.

Weitere Informationen

Gilt für: