Package.CreateRelationship Methode

Definition

Erstellt eine Beziehung auf Paketebene zu einem bestimmten Teil.

Überlädt

Name Beschreibung
CreateRelationship(Uri, TargetMode, String)

Erstellt eine Beziehung auf Paketebene zu einem Teil mit einem bestimmten URI, Zielmodus und 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 Ressource. Eine Beziehung auf Paketebene kann eine von zwei Formen sein.

In einer Paketbeziehung wird das Paket als "Besitzer" der Beziehung betrachtet. Wenn das Paket gelöscht wird, werden auch alle Beziehungen im Besitz des Pakets gelöscht. Der Vorgang zum Erstellen oder Löschen der Beziehung ändert den Zielteil oder die Zielressource in keiner Weise.

Weitere Informationen finden Sie in der Opc-Spezifikation (Open Packaging Conventions), die zum Download verfügbar https://www.ecma-international.org/publications-and-standards/standards/ecma-376/ist.

CreateRelationship(Uri, TargetMode, String)

Quelle:
Package.cs
Quelle:
Package.cs
Quelle:
Package.cs
Quelle:
Package.cs
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 und 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 Zielteils.

targetMode
TargetMode

Gibt an, ob der Zielteil oder Internal das Paket enthalten istExternal.

relationshipType
String

Ein URI, der die Rolle der Beziehung eindeutig definiert.

Gibt zurück

Die Beziehung auf Paketebene zum angegebenen Teil.

Ausnahmen

targetUri oder relationshipType ist null.

Der targetUri Teil ist ein PackageRelationshipoder targetMode ist Internal und targetUri ist ein absoluter URI.

Der Wert ist targetMode 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 zum Erstellen eines CreateRelationship Zwischen- PackageRelationship und eines Stammdokumentteils verwendet Package werden.

// 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 Ressource. Eine Beziehung auf Paketebene kann eine von zwei Formen sein.

  • Zwischen einem Package zielteil im Paket.
  • Zwischen einer Package zielressource außerhalb des Pakets.

In einer Paketbeziehung wird das Paket als "Besitzer" der Beziehung betrachtet. Wenn das Paket gelöscht wird, werden auch alle Beziehungen im Besitz des Pakets gelöscht.

CreateRelationship ändert den Zielteil oder die Zielressource nicht physisch.

Das Ziel einer Beziehung kann keine andere Beziehung sein.

Wenn targetMode angegeben Internalals , 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 mit einem relativen Pfad wie ".". /imagespicture1.jpg", das im Paketstamm ("/") als Basis-URI aufgelöst wird.

Wenn targetMode angegeben Externalals , 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 verweist "page2.xml". "images/picture1.jpg" ist ein Beispiel für einen relativen URI, der auch auf eine externe Zielressource verweist "1.jpg", 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 von der Open Packaging Conventions (OPC)-Spezifikation 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 digitaler Signaturen http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin
Vorschaubild http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail

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

Weitere Informationen

Gilt für:

CreateRelationship(Uri, TargetMode, String, String)

Quelle:
Package.cs
Quelle:
Package.cs
Quelle:
Package.cs
Quelle:
Package.cs
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 Zielteils.

targetMode
TargetMode

Gibt an, ob der Zielteil oder Internal das Paket enthalten istExternal.

relationshipType
String

Ein URI, der die Rolle der Beziehung eindeutig definiert.

id
String

Ein eindeutiger XML-Bezeichner.

Gibt zurück

Die Beziehung auf Paketebene zum angegebenen Teil.

Ausnahmen

targetUri oder relationshipType ist null.

Der targetUri Teil ist ein PackageRelationshipoder targetMode ist Internal und targetUri ist ein absoluter URI.

Der Wert ist targetMode 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 ein Teil, der das angegebene id Element enthält, tritt bereits im Paket auf.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie sie zum Erstellen eines CreateRelationship Zwischen- PackageRelationship und eines Stammdokumentteils verwendet Package werden.

// 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 Ressource. Eine Beziehung auf Paketebene kann eine von zwei Formen sein.

  • Zwischen einem Package zielteil im Paket.
  • Zwischen einer Package zielressource außerhalb des Pakets.

In einer Paketbeziehung wird das Paket als "Besitzer" der Beziehung betrachtet. Wenn das Paket gelöscht wird, werden auch alle Beziehungen im Besitz des Pakets gelöscht.

CreateRelationship ändert den Zielteil oder die Zielressource nicht physisch.

Das Ziel einer Beziehung kann keine andere Beziehung sein.

id muss ein gültiger XML-Bezeichner sein. Der id Typ ist "xsd:ID" und muss den im XML-Schemateil 2 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 Zeichenfolge ist ungültig.

Wenn targetMode angegeben Internalals , 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 mit einem relativen Pfad wie ".". /imagespicture1.jpg", das im Paketstamm ("/") als Basis-URI aufgelöst wird.

Wenn targetMode angegeben Externalals , 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 verweist "page2.xml". "images/picture1.jpg" ist ein Beispiel für einen relativen URI, der auch auf eine externe Zielressource verweist "1.jpg", 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 von der Open Packaging Conventions (OPC)-Spezifikation 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 digitaler Signaturen http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin
Vorschaubild http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail

Weitere Informationen zu Verpackungen und Paketbeziehungen finden Sie in Abschnitt 1.3 der Open Packaging Conventions (OPC)-Spezifikation, die zum Download https://www.ecma-international.org/publications-and-standards/standards/ecma-376/verfügbar ist.

Weitere Informationen

Gilt für: