Package.CreateRelationship Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.
- Entre a Package e um alvo PackagePart dentro do 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. 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.
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
- DeleteRelationship(String)
- GetRelationship(String)
- GetRelationships()
- GetRelationshipsByType(String)
- RelationshipExists(String)
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.
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
- CreateRelationship(Uri, TargetMode, String)
- DeleteRelationship(String)
- GetRelationship(String)
- GetRelationships()
- GetRelationshipsByType(String)
- RelationshipExists(String)