Package.CreateRelationship Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria uma relação de nível de pacote para uma determinada parte.
Sobrecargas
CreateRelationship(Uri, TargetMode, String) |
Cria uma relação de nível de pacote para uma parte com um determinado URI, modo de destino e tipo de relacionamento. |
CreateRelationship(Uri, TargetMode, String, String) |
Cria uma relação de nível de pacote com uma parte com um determinado URI, modo de destino, tipo de relação e identificador (ID). |
Exemplos
O exemplo a seguir ilustra a criação de um PackageRelationship entre um Package e uma parte raiz do documento. Para obter o exemplo completo, consulte Escrevendo um exemplo de pacote.
// 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)
Comentários
Uma relação no nível do pacote define uma associação entre o pacote e uma parte ou recurso de destino associado. Uma relação no nível do pacote pode ser uma das duas formas.
Entre um Package para um destino PackagePart dentro do pacote.
Entre um Package para um recurso de destino fora do pacote.
Em uma relação de pacote, o pacote é considerado o "proprietário" da relação. Quando o pacote é excluído, todas as relações pertencentes ao pacote também são excluídas. O processo de criação ou exclusão da relação não altera fisicamente a parte ou o recurso de destino de forma alguma.
Para obter informações adicionais, consulte a especificação OPC (Open Packaging Conventions) disponível para download em https://www.ecma-international.org/publications-and-standards/standards/ecma-376/.
CreateRelationship(Uri, TargetMode, String)
- Origem:
- Package.cs
- Origem:
- Package.cs
- Origem:
- Package.cs
Cria uma relação de nível de pacote para uma parte com um determinado URI, modo de destino e tipo de relacionamento.
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
Parâmetros
- targetUri
- Uri
O URI (Uniform Resource Identifier) da parte de destino.
- targetMode
- TargetMode
Indica se a parte de destino é Internal ou External para o pacote.
- relationshipType
- String
Um URI que define exclusivamente a função da relação.
Retornos
A relação de nível de pacote para a parte especificada.
Exceções
targetUri
ou relationshipType
é null
.
A parte targetUri
é um PackageRelationship ou targetMode
é Internal e targetUri
é um URI absoluto.
O valor para targetMode
não é válido.
O pacote não está aberto (Dispose(Boolean) ou Close() foi chamado).
O pacote é somente leitura.
Exemplos
O exemplo a seguir ilustra como usar CreateRelationship para criar um PackageRelationship entre um Package e uma parte de documento raiz. Para obter o exemplo completo, consulte Escrevendo um exemplo de pacote.
// 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)
Comentários
Uma relação no nível do pacote define uma associação entre o pacote e uma parte ou recurso de destino associado. Uma relação no nível do pacote pode ser uma das duas formas.
Entre um Package para uma parte de destino no pacote.
Entre um Package para um recurso de destino fora do pacote.
Em uma relação de pacote, o pacote é considerado o "proprietário" da relação. Quando o pacote é excluído, todas as relações pertencentes ao pacote também são excluídas.
CreateRelationship não altera fisicamente a parte ou o recurso de destino de forma alguma.
O destino de uma relação não pode ser outra relação.
Se targetMode
for especificado como Internal, targetUri
deverá ser um URI relativo formado de acordo com a especificação de sintaxe genérica do URI (Uniform Resource Identifier) rfc 3986 . O URI relativo interno pode ser um caminho absoluto que começa com um caractere de barra ("/") como "/page1.xaml" ou "/images/picture4.jpg" ou um caminho relativo como ".. /imagespicture1.jpg" que resolve na raiz do pacote ("/") como o URI base.
Se targetMode
for especificado como External, targetUri
poderá ser um URI absoluto ou relativo formado de acordo com a especificação de sintaxe genérica do URI (Uniform Resource Identifier) RFC 3986 . http://www.microsoft.com/page2.xml
é um exemplo de um URI absoluto que faz referência a um recurso de destino externo "page2.xml". "images/picture1.jpg" é um exemplo de um URI relativo que também faz referência a um recurso de destino externo "1.jpg", mas que é resolvido em relação ao URI do próprio pacote.
relationshipType
deve ser um URI formado de acordo com a especificação de sintaxe genérica do URI (Uniform Resource Identifier) RFC 3986 . A tabela a seguir mostra os URIs no nível relationshipType
do pacote definidos pela especificação OPC (Open Packaging Conventions).
Relação no nível do pacote | URI do Tipo de Relação |
---|---|
Propriedades principais | http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties |
Assinatura digital | http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/signature |
Certificado de Assinatura Digital | http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/certificate |
Origem da assinatura digital | http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin |
Thumbnail | http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail |
Para obter mais informações sobre as relações de empacotamento e pacote, consulte a seção 1.3 da especificação OPC (Open Packaging Conventions) disponível para download em https://www.ecma-international.org/publications-and-standards/standards/ecma-376/.
Confira também
- DeleteRelationship(String)
- GetRelationship(String)
- GetRelationships()
- GetRelationshipsByType(String)
- RelationshipExists(String)
Aplica-se a
CreateRelationship(Uri, TargetMode, String, String)
- Origem:
- Package.cs
- Origem:
- Package.cs
- Origem:
- Package.cs
Cria uma relação de nível de pacote com uma parte com um determinado URI, modo de destino, tipo de relação e identificador (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
Parâmetros
- targetUri
- Uri
O URI (Uniform Resource Identifier) da parte de destino.
- targetMode
- TargetMode
Indica se a parte de destino é Internal ou External para o pacote.
- relationshipType
- String
Um URI que define exclusivamente a função da relação.
- id
- String
Um identificador XML exclusivo.
Retornos
A relação de nível de pacote para a parte especificada.
Exceções
targetUri
ou relationshipType
é null
.
A parte targetUri
é um PackageRelationship ou targetMode
é Internal e targetUri
é um URI absoluto.
O valor para targetMode
não é válido.
O pacote não está aberto (Dispose(Boolean) ou Close() foi chamado).
O pacote é somente leitura.
id
não é um identificador XML válido ou uma parte com o id
especificado já ocorre no pacote.
Exemplos
O exemplo a seguir ilustra como usar CreateRelationship para criar um PackageRelationship entre um Package e uma parte de documento raiz. Para obter o exemplo completo, consulte Escrevendo um exemplo de pacote.
// 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)
Comentários
Uma relação no nível do pacote define uma associação entre o pacote e uma parte ou recurso de destino associado. Uma relação no nível do pacote pode ser uma das duas formas.
Entre um Package para uma parte de destino no pacote.
Entre um Package para um recurso de destino fora do pacote.
Em uma relação de pacote, o pacote é considerado o "proprietário" da relação. Quando o pacote é excluído, todas as relações pertencentes ao pacote também são excluídas.
CreateRelationship não altera fisicamente a parte ou o recurso de destino de forma alguma.
O destino de uma relação não pode ser outra relação.
id
deve ser um identificador XML válido. O id
tipo é xsd:ID e deve seguir as convenções de nomenclatura prescritas na especificação XML Schema Part 2: Datatypes (consulte https://www.w3.org/TR/xmlschema-2/#ID).
Se id
for especificado como null
uma ID exclusiva, será gerado automaticamente. Um id
especificado por uma cadeia de caracteres vazia não é válido.
Se targetMode
for especificado como Internal, targetUri
deverá ser um URI relativo formado de acordo com a especificação de sintaxe genérica do URI (Uniform Resource Identifier) rfc 3986 . O URI relativo interno pode ser um caminho absoluto que começa com um caractere de barra ("/") como "/page1.xaml" ou "/images/picture4.jpg" ou um caminho relativo como ".. /imagespicture1.jpg" que resolve na raiz do pacote ("/") como o URI base.
Se targetMode
for especificado como External, targetUri
poderá ser um URI absoluto ou relativo formado de acordo com a especificação de sintaxe genérica do URI (Uniform Resource Identifier) RFC 3986 . http://www.microsoft.com/page2.xml
é um exemplo de um URI absoluto que faz referência a um recurso de destino externo "page2.xml". "images/picture1.jpg" é um exemplo de um URI relativo que também faz referência a um recurso de destino externo "1.jpg", mas que é resolvido em relação ao URI do próprio pacote.
relationshipType
deve ser um URI formado de acordo com a especificação de sintaxe genérica do URI (Uniform Resource Identifier) RFC 3986 . A tabela a seguir mostra os URIs no nível relationshipType
do pacote definidos pela especificação OPC (Open Packaging Conventions).
Relação no nível do pacote | URI do Tipo de Relação |
---|---|
Propriedades principais | http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties |
Assinatura digital | http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/signature |
Certificado de Assinatura Digital | http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/certificate |
Origem da assinatura digital | http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin |
Thumbnail | http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail |
Para obter informações adicionais sobre as relações de empacotamento e pacote, consulte a seção 1.3 da especificação OPC (Open Packaging Conventions) disponível para download em https://www.ecma-international.org/publications-and-standards/standards/ecma-376/.
Confira também
- CreateRelationship(Uri, TargetMode, String)
- DeleteRelationship(String)
- GetRelationship(String)
- GetRelationships()
- GetRelationshipsByType(String)
- RelationshipExists(String)
Aplica-se a
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de