Partager via


Package.CreateRelationship Méthode

Définition

Crée une relation au niveau du package pour un composant donné.

Surcharges

CreateRelationship(Uri, TargetMode, String)

Crée une relation au niveau du package avec un composant avec URI, mode cible et type de relation donnés.

CreateRelationship(Uri, TargetMode, String, String)

Crée une relation au niveau du package à une partie avec un URI, un mode cible, un type de relation et un identificateur (ID) donnés.

Exemples

L’exemple suivant illustre la création d’un PackageRelationship entre un Package et un composant de document racine.

// 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)

Remarques

Une relation au niveau du package définit une association entre le package et une partie ou une ressource cible associée. Une relation au niveau du package peut être l’une des deux formes suivantes.

  • Entre un Package et une cible PackagePart à l’intérieur du package.
  • Entre un Package et une ressource cible en dehors du package.

Dans une relation de package, le package est considéré comme le « propriétaire » de la relation. Lorsque le package est supprimé, toutes les relations détenues par le package sont également supprimées. Le processus de création ou de suppression de la relation ne modifie pas physiquement la partie ou la ressource cible de quelque manière que ce soit.

Pour plus d’informations, consultez la spécification Opc (Open Packaging Conventions) disponible en téléchargement à l’adresse https://www.ecma-international.org/publications-and-standards/standards/ecma-376/.

CreateRelationship(Uri, TargetMode, String)

Source:
Package.cs
Source:
Package.cs
Source:
Package.cs
Source:
Package.cs

Crée une relation au niveau du package avec un composant avec URI, mode cible et type de relation donnés.

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

Paramètres

targetUri
Uri

URI (Uniform Resource Identifier) du composant cible.

targetMode
TargetMode

Indique si le composant cible est Internal ou External au package.

relationshipType
String

URI qui définit de façon unique le rôle de la relation.

Retours

Relation au niveau du package avec le composant spécifié.

Exceptions

targetUri ou relationshipType est null.

Le composant targetUri est un PackageRelationship, ou targetMode est Internal et targetUri est un URI absolu.

La valeur de targetMode n'est pas valide.

Le package n'est pas ouvert (Dispose(Boolean) ou Close() a été appelée).

Le package est en lecture seule.

Exemples

L’exemple suivant montre comment utiliser CreateRelationship pour créer un PackageRelationship entre un Package et un composant de document racine.

// 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)

Remarques

Une relation au niveau du package définit une association entre le package et une partie ou une ressource cible associée. Une relation au niveau du package peut être l’une des deux formes suivantes.

  • Entre un Package et un composant cible dans le package.
  • Entre un Package et une ressource cible en dehors du package.

Dans une relation de package, le package est considéré comme le « propriétaire » de la relation. Lorsque le package est supprimé, toutes les relations détenues par le package sont également supprimées.

CreateRelationship ne modifie pas physiquement la partie ou la ressource cible de quelque manière que ce soit.

La cible d’une relation ne peut pas être une autre relation.

Si targetMode est spécifié en tant que Internal, targetUri doit être un URI relatif formé conformément à la spécification de syntaxe générique de l’URI (Uniform Resource Identifier) RFC 3986 . L’URI relatif interne peut être un chemin d’accès absolu qui commence par une barre oblique (« / ») caractère tel que « /page1.xaml » ou « /images/picture4.jpg », ou un chemin relatif tel que « . /imagespicture1.jpg » qui se résout par rapport à la racine du package (« / ») en tant qu’URI de base.

Si targetMode est spécifié comme External, targetUri peut être un URI absolu ou relatif formé selon la spécification de syntaxe générique RFC 3986 Uri (Uniform Resource Identifier). http://www.microsoft.com/page2.xml est un exemple d’URI absolu qui fait référence à une ressource cible externe « page2.xml ». « images/picture1.jpg » est un exemple d’URI relatif qui fait également référence à une ressource cible externe « 1.jpg », mais qui se résout par rapport à l’URI du package lui-même.

relationshipType doit être un URI formé conformément à la spécification de syntaxe générique de l’URI (Uniform Resource Identifier) RFC 3986 . Le tableau suivant présente les URI au niveau relationshipType du package définis par la spécification OPC (Open Packaging Conventions).

Relation au niveau du package URI de type de relation
Propriétés principales http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties
Signature numérique http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/signature
Certificat de signature numérique http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/certificate
Origine de la signature numérique http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin
Thumbnail http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail

Pour plus d’informations sur les relations d’empaquetage et de package, consultez la section 1.3 de la spécification Opc (Open Packaging Conventions) disponible en téléchargement à l’adresse https://www.ecma-international.org/publications-and-standards/standards/ecma-376/.

Voir aussi

S’applique à

CreateRelationship(Uri, TargetMode, String, String)

Source:
Package.cs
Source:
Package.cs
Source:
Package.cs
Source:
Package.cs

Crée une relation au niveau du package à une partie avec un URI, un mode cible, un type de relation et un identificateur (ID) donnés.

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

Paramètres

targetUri
Uri

URI (Uniform Resource Identifier) du composant cible.

targetMode
TargetMode

Indique si le composant cible est Internal ou External au package.

relationshipType
String

URI qui définit de façon unique le rôle de la relation.

id
String

Identificateur XML unique.

Retours

Relation au niveau du package avec le composant spécifié.

Exceptions

targetUri ou relationshipType est null.

Le composant targetUri est un PackageRelationship, ou targetMode est Internal et targetUri est un URI absolu.

La valeur de targetMode n'est pas valide.

Le package n'est pas ouvert (Dispose(Boolean) ou Close() a été appelée).

Le package est en lecture seule.

id n'est pas un identificateur XML valide; ou bien un composant avec l'id spécifié est déjà présent dans le package.

Exemples

L’exemple suivant montre comment utiliser CreateRelationship pour créer un PackageRelationship entre un Package et un composant de document racine.

// 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)

Remarques

Une relation au niveau du package définit une association entre le package et une partie ou une ressource cible associée. Une relation au niveau du package peut être l’une des deux formes suivantes.

  • Entre un Package et un composant cible dans le package.
  • Entre un Package et une ressource cible en dehors du package.

Dans une relation de package, le package est considéré comme le « propriétaire » de la relation. Lorsque le package est supprimé, toutes les relations détenues par le package sont également supprimées.

CreateRelationship ne modifie pas physiquement la partie ou la ressource cible de quelque manière que ce soit.

La cible d’une relation ne peut pas être une autre relation.

id doit être un identificateur XML valide. Le id type est xsd :ID et doit respecter les conventions de nommage prescrites dans la spécification de schéma XML Part 2 : Datatypes (voir https://www.w3.org/TR/xmlschema-2/#ID).

Si id est spécifié en tant qu’ID null unique est généré automatiquement. Un id spécifié par une chaîne vide n’est pas valide.

Si targetMode est spécifié en tant que Internal, targetUri doit être un URI relatif formé conformément à la spécification de syntaxe générique de l’URI (Uniform Resource Identifier) RFC 3986 . L’URI relatif interne peut être un chemin d’accès absolu qui commence par une barre oblique (« / ») caractère tel que « /page1.xaml » ou « /images/picture4.jpg », ou un chemin relatif tel que « . /imagespicture1.jpg » qui se résout par rapport à la racine du package (« / ») en tant qu’URI de base.

Si targetMode est spécifié comme External, targetUri peut être un URI absolu ou relatif formé selon la spécification de syntaxe générique RFC 3986 Uri (Uniform Resource Identifier). http://www.microsoft.com/page2.xml est un exemple d’URI absolu qui fait référence à une ressource cible externe « page2.xml ». « images/picture1.jpg » est un exemple d’URI relatif qui fait également référence à une ressource cible externe « 1.jpg », mais qui se résout par rapport à l’URI du package lui-même.

relationshipType doit être un URI formé conformément à la spécification de syntaxe générique de l’URI (Uniform Resource Identifier) RFC 3986 . Le tableau suivant présente les URI au niveau relationshipType du package définis par la spécification OPC (Open Packaging Conventions).

Relation au niveau du package URI de type de relation
Propriétés principales http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties
Signature numérique http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/signature
Certificat de signature numérique http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/certificate
Origine de la signature numérique http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin
Thumbnail http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail

Pour plus d’informations sur l’empaquetage et les relations de package, consultez la section 1.3 de la spécification OPC (Open Packaging Conventions) disponible en téléchargement à l’adresse https://www.ecma-international.org/publications-and-standards/standards/ecma-376/.

Voir aussi

S’applique à