Package.CreateRelationship Método

Definição

Cria uma relação de nível de pacote para uma determinada parte.

Sobrecargas

Nome Description
CreateRelationship(Uri, TargetMode, String)

Cria uma relação de nível de 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 de nível de 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 uma PackageRelationship parte de documento entre um Package e uma 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 de nível de 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.

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 de destino ou o recurso 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)

Cria uma relação de nível de 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 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 no nível do pacote com a parte especificada.

Exceções

targetUri ou relationshipType é null.

A targetUri parte é um PackageRelationship, ou targetMode é Internal e targetUri é um URI absoluto.

O valor para targetMode o qual 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 uma PackageRelationship parte de documento entre uma Package e uma 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 de nível de 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 uma Package parte de destino no pacote.
  • Entre um Package 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 de destino ou o recurso 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 as URIs no nível relationshipType do pacote definidas 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
Miniatura http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail

Para obter mais informações sobre empacotamento e relações de 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

Aplica-se a

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 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);
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 no nível do pacote com a parte especificada.

Exceções

targetUri ou relationshipType é null.

A targetUri parte é um PackageRelationship, ou targetMode é Internal e targetUri é um URI absoluto.

O valor para targetMode o qual 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 especificado id já ocorre no pacote.

Exemplos

O exemplo a seguir ilustra como usar CreateRelationship para criar uma PackageRelationship parte de documento entre uma Package e uma 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 de nível de 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 uma Package parte de destino no pacote.
  • Entre um Package 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 de destino ou o recurso 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 no esquema XML Parte 2: especificação de tipos de dados (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 as URIs no nível relationshipType do pacote definidas 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
Miniatura http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail

Para obter informações adicionais sobre empacotamento e relações de 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

Aplica-se a