Package.CreateRelationship Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- DeleteRelationship(String)
- GetRelationship(String)
- GetRelationships()
- GetRelationshipsByType(String)
- RelationshipExists(String)
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
- CreateRelationship(Uri, TargetMode, String)
- DeleteRelationship(String)
- GetRelationship(String)
- GetRelationships()
- GetRelationshipsByType(String)
- RelationshipExists(String)