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 no nível do pacote com uma parte com um determinado URI, modo de destino, tipo de relação e ID (identificador). |
Exemplos
O exemplo a seguir ilustra a criação de um PackageRelationship entre um Package e uma parte de documento raiz.
// 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
- 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.
// 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 é resolvido 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 de nível relationshipType
de 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
- Origem:
- Package.cs
Cria uma relação no nível do pacote com uma parte com um determinado URI, modo de destino, tipo de relação e ID (identificador).
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.
// 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 é resolvido 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 de nível relationshipType
de 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)