Package.CreateRelationship Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- DeleteRelationship(String)
- GetRelationship(String)
- GetRelationships()
- GetRelationshipsByType(String)
- RelationshipExists(String)
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
- CreateRelationship(Uri, TargetMode, String)
- DeleteRelationship(String)
- GetRelationship(String)
- GetRelationships()
- GetRelationshipsByType(String)
- RelationshipExists(String)