Package.CreateRelationship Método

Definição

Cria uma relação ao nível do pacote com uma dada parte.

Sobrecargas

Name Description
CreateRelationship(Uri, TargetMode, String)

Cria uma relação ao nível do pacote com uma parte com um determinado URI, modo de destino e tipo de relação.

CreateRelationship(Uri, TargetMode, String, String)

Cria uma relação ao nível do pacote com uma peça com um determinado URI, modo de destino, tipo de relação e identificador (ID).

Exemplos

O exemplo seguinte ilustra a criação de uma PackageRelationship parte entre a Package e um 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)

Observações

Uma relação ao nível do pacote define uma associação entre o pacote e uma parte ou recurso alvo associado. Uma relação ao nível de pacote pode ser uma de duas formas.

Numa relação de pacote, o pacote é considerado o "proprietário" da relação. Quando o pacote é eliminado, todas as relações pertencentes ao pacote também são eliminadas. O processo de criar ou eliminar a relação não altera fisicamente a parte ou recurso alvo de forma alguma.

Para informações adicionais, consulte a especificação Open Packaging Conventions (OPC) disponível para download em https://www.ecma-international.org/publications-and-standards/standards/ecma-376/.

CreateRelationship(Uri, TargetMode, String)

Cria uma relação ao nível do pacote com uma parte com um determinado URI, modo de destino e tipo de relação.

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 identificador uniforme de recurso (URI) da parte alvo.

targetMode
TargetMode

Indica se a peça alvo é Internal ou External para a embalagem.

relationshipType
String

Um URI que define de forma única o papel da relação.

Devoluções

A relação ao nível do pacote com a peça especificada.

Exceções

targetUri ou relationshipType é null.

A targetUri parte é 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() já foi chamado).

O pacote é somente leitura.

Exemplos

O exemplo seguinte ilustra como usar CreateRelationship para criar uma PackageRelationship parte entre um Package e um 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)

Observações

Uma relação ao nível do pacote define uma associação entre o pacote e uma parte ou recurso alvo associado. Uma relação ao nível de pacote pode ser uma de duas formas.

  • Entre a Package e uma parte alvo no pacote.
  • Entre a Package e um recurso alvo fora do pacote.

Numa relação de pacote, o pacote é considerado o "proprietário" da relação. Quando o pacote é eliminado, todas as relações pertencentes ao pacote também são eliminadas.

CreateRelationship não altera fisicamente a parte ou recurso alvo de forma alguma.

O alvo de uma relação não pode ser outra relação.

Se targetMode for especificado como Internal, targetUri deve ser um URI relativo formado de acordo com a especificação de Sintaxe Genérica do RFC 3986 Uniform Resource Identifier (URI). O URI relativo interno pode ser um caminho absoluto que começa com uma barra direta ("/") como "/page1.xaml" ou "/images/picture4.jpg", ou um caminho relativo como ".. /imagespicture1.jpg" que resolve contra a raiz do pacote ("/") como o URI base.

Se targetMode for especificado como External, targetUri pode ser um URI absoluto ou relativo formado de acordo com a especificação de Sintaxe Genérica do RFC 3986 Uniform Resource Identifier (URI). http://www.microsoft.com/page2.xml é um exemplo de um URI absoluto que faz referência a um recurso alvo externo "page2.xml". "images/picture1.jpg" é um exemplo de URI relativo que também faz referência a um recurso alvo externo "1.jpg", mas que resolve contra o URI do próprio pacote.

relationshipType deve ser um URI formado de acordo com a especificação de sintaxe genérica do RFC 3986 Uniform Resource Identifier (URI). A tabela seguinte mostra os URIs ao nível relationshipType da encomenda definidos pela especificação Open Packaging Conventions (OPC).

Relação ao nível do pacote URI de Tipo de Relação
Propriedades Centrais 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
Miniatura http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail

Para mais informações sobre a embalagem e as relações com a embalagem, consulte a secção 1.3 da especificação Open Packaging Conventions (OPC) disponível para download em https://www.ecma-international.org/publications-and-standards/standards/ecma-376/.

Ver também

Aplica-se a

CreateRelationship(Uri, TargetMode, String, String)

Cria uma relação ao nível do pacote com uma peça 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);
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 identificador uniforme de recurso (URI) da parte alvo.

targetMode
TargetMode

Indica se a peça alvo é Internal ou External para a embalagem.

relationshipType
String

Um URI que define de forma única o papel da relação.

id
String

Um identificador XML único.

Devoluções

A relação ao nível do pacote com a peça especificada.

Exceções

targetUri ou relationshipType é null.

A targetUri parte é 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() já foi chamado).

O pacote é somente leitura.

id não é um identificador XML válido; ou uma parte com o especificado id já ocorre no pacote.

Exemplos

O exemplo seguinte ilustra como usar CreateRelationship para criar uma PackageRelationship parte entre um Package e um 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)

Observações

Uma relação ao nível do pacote define uma associação entre o pacote e uma parte ou recurso alvo associado. Uma relação ao nível de pacote pode ser uma de duas formas.

  • Entre a Package e uma parte alvo no pacote.
  • Entre a Package e um recurso alvo fora do pacote.

Numa relação de pacote, o pacote é considerado o "proprietário" da relação. Quando o pacote é eliminado, todas as relações pertencentes ao pacote também são eliminadas.

CreateRelationship não altera fisicamente a parte ou recurso alvo de forma alguma.

O alvo 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 do XML Schema Parte 2: Tipos de Dados (ver https://www.w3.org/TR/xmlschema-2/#ID).

Se id for especificado como null único, um ID será gerado automaticamente. Um id especificado por uma cadeia vazia não é válido.

Se targetMode for especificado como Internal, targetUri deve ser um URI relativo formado de acordo com a especificação de Sintaxe Genérica do RFC 3986 Uniform Resource Identifier (URI). O URI relativo interno pode ser um caminho absoluto que começa com uma barra direta ("/") como "/page1.xaml" ou "/images/picture4.jpg", ou um caminho relativo como ".. /imagespicture1.jpg" que resolve contra a raiz do pacote ("/") como o URI base.

Se targetMode for especificado como External, targetUri pode ser um URI absoluto ou relativo formado de acordo com a especificação de Sintaxe Genérica do RFC 3986 Uniform Resource Identifier (URI). http://www.microsoft.com/page2.xml é um exemplo de um URI absoluto que faz referência a um recurso alvo externo "page2.xml". "images/picture1.jpg" é um exemplo de URI relativo que também faz referência a um recurso alvo externo "1.jpg", mas que resolve contra o URI do próprio pacote.

relationshipType deve ser um URI formado de acordo com a especificação de sintaxe genérica do RFC 3986 Uniform Resource Identifier (URI). A tabela seguinte mostra os URIs ao nível relationshipType da encomenda definidos pela especificação Open Packaging Conventions (OPC).

Relação ao nível do pacote URI de Tipo de Relação
Propriedades Centrais 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
Miniatura http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail

Para informações adicionais sobre a embalagem e as relações com a embalagem, consulte a secção 1.3 da especificação Open Packaging Conventions (OPC) disponível para download em https://www.ecma-international.org/publications-and-standards/standards/ecma-376/.

Ver também

Aplica-se a