Package.CreateRelationship Package.CreateRelationship Package.CreateRelationship Method

Definición

Crea una relación de nivel de paquete en un elemento especificado.Creates a package-level relationship to a given part.

Sobrecargas

CreateRelationship(Uri, TargetMode, String) CreateRelationship(Uri, TargetMode, String) CreateRelationship(Uri, TargetMode, String)

Crea una relación de nivel de paquete en un elemento con un URI, modo de destino y tipo de relación especificados.Creates a package-level relationship to a part with a given URI, target mode, and relationship type.

CreateRelationship(Uri, TargetMode, String, String) CreateRelationship(Uri, TargetMode, String, String) CreateRelationship(Uri, TargetMode, String, String)

Crea una relación de nivel de paquete en un elemento con un URI, modo de destino, tipo de relación y identificador (id.)identifier (ID) especificados.Creates a package-level relationship to a part with a given URI, target mode, relationship type, and identificador (id.)identifier (ID).

Ejemplos

En el ejemplo siguiente se muestra la PackageRelationship creación de Package un elemento entre una y una parte de un documento raíz.The following example illustrates creating a PackageRelationship between a Package and a root document part. Para obtener el ejemplo completo, consulte escribir un ejemplo de paquete.For the complete sample, see Writing a Package Sample.

// 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)

Comentarios

Una relación de nivel de paquete define una asociación entre el paquete y una parte o recurso de destino asociado.A package-level relationship defines an association between the package and an associated target part or resource. Una relación de nivel de paquete puede tener una de dos formas.A package-level relationship can be one of two forms.

En una relación de paquete, el paquete se considera el "propietario" de la relación.In a package-relationship the package is considered the "owner" of the relationship. Cuando se elimina el paquete, también se eliminan todas las relaciones propiedad del paquete.When the package is deleted, all the relationships owned by the package are also deleted. El proceso de creación o eliminación de la relación no modifica físicamente la parte o el recurso de destino de ninguna manera.The process of creating or deleting the relationship does not physically alter the target part or resource in any way.

Para obtener más información, consulte la especificación de convenciones de empaquetado abierto (OPC) disponible https://go.microsoft.com/fwlink/?LinkID=71255para su descarga en.For additional information, see the Open Packaging Conventions (OPC) specification available for download at https://go.microsoft.com/fwlink/?LinkID=71255.

CreateRelationship(Uri, TargetMode, String) CreateRelationship(Uri, TargetMode, String) CreateRelationship(Uri, TargetMode, String)

Crea una relación de nivel de paquete en un elemento con un URI, modo de destino y tipo de relación especificados.Creates a package-level relationship to a part with a given URI, target mode, and relationship type.

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

Parámetros

targetUri
Uri Uri Uri

identificador de recursos uniforme (URI)uniform resource identifier (URI) del elemento de destino.The identificador de recursos uniforme (URI)uniform resource identifier (URI) of the target part.

targetMode
TargetMode TargetMode TargetMode

Indica si el elemento de destino es Internal o External en el paquete.Indicates if the target part is Internal or External to the package.

relationshipType
String String String

URI que define exclusivamente el rol de la relación.A URI that uniquely defines the role of the relationship.

Devoluciones

Relación de nivel de paquete en el elemento especificado.The package-level relationship to the specified part.

Excepciones

targetUri o relationshipType es null.targetUri or relationshipType is null.

El elemento del targetUri es una clase PackageRelationship o targetMode es Internal y targetUri es un URI absoluto.The targetUri part is a PackageRelationship, or targetMode is Internal and targetUri is an absolute URI.

El valor de targetMode no es válido.The value for targetMode is not valid.

El paquete no está abierto (se ha llamado a Dispose(Boolean) o Close()).The package is not open (Dispose(Boolean) or Close() has been called).

El paquete es de sólo lectura.The package is read-only.

Ejemplos

En el ejemplo siguiente se muestra cómo utilizar CreateRelationship para crear un PackageRelationship elemento entre Package una y una parte de un documento raíz.The following example illustrates how to use CreateRelationship to create a PackageRelationship between a Package and a root document part. Para obtener el ejemplo completo, consulte escribir un ejemplo de paquete.For the complete sample, see Writing a Package Sample.

// 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)

Comentarios

Una relación de nivel de paquete define una asociación entre el paquete y una parte o recurso de destino asociado.A package-level relationship defines an association between the package and an associated target part or resource. Una relación de nivel de paquete puede tener una de dos formas.A package-level relationship can be one of two forms.

  • Entre una Package y una parte de destino del paquete.Between a Package to a target part in the package.

  • Entre un Package en un recurso de destino fuera del paquete.Between a Package to a target resource outside the package.

En una relación de paquete, el paquete se considera el "propietario" de la relación.In a package-relationship the package is considered the "owner" of the relationship. Cuando se elimina el paquete, también se eliminan todas las relaciones propiedad del paquete.When the package is deleted, all the relationships owned by the package are also deleted.

CreateRelationshipno cambia físicamente la parte o el recurso de destino de ninguna manera.CreateRelationship does not physically change the target part or resource in any way.

El destino de una relación no puede ser otra relación.The target of a relationship cannot be another relationship.

Si targetMode se especifica como Internal, targetUri debe ser un URI relativo formado según la especificación de Sintaxis genérica del identificador uniforme de recursos (URI) de RFC 3986 .If targetMode is specified as Internal, targetUri must be a relative URI that is formed according to the RFC 3986 Uniform Resource Identifier (URI) Generic Syntax specification. El URI relativo interno puede ser una ruta de acceso absoluta que comienza con un carácter de barra diagonal ("/"), como "/page1.xaml" o "/images/picture4.jpg", o una ruta de acceso relativa como ".. /imagespicture1.jpg "que se resuelve en la raíz del paquete ("/") como el URI base.The internal relative URI can be either an absolute path that starts with a forward slash ("/") character such as "/page1.xaml" or "/images/picture4.jpg", or a relative path such as "../imagespicture1.jpg" that resolves against the package root ("/") as the base URI.

Si targetMode se especifica como External, targetUri puede ser un URI absoluto o relativo formado según la especificación de Sintaxis genérica del identificador uniforme de recursos (URI) de RFC 3986 .If targetMode is specified as External, targetUri can be either an absolute or relative URI formed according to the RFC 3986 Uniform Resource Identifier (URI) Generic Syntax specification. http://www.microsoft.com/page2.xmles un ejemplo de un URI absoluto que hace referencia a un recurso de destino externo "página2. xml".http://www.microsoft.com/page2.xml is an example of an absolute URI that references an external target resource "page2.xml". "images/Picture1. jpg" es un ejemplo de un URI relativo que también hace referencia a un recurso de destino externo "1. jpg", pero que se resuelve en el URI del propio paquete."images/picture1.jpg" is an example of a relative URI that also references an external target resource "1.jpg" but which resolves against the URI of the package itself.

relationshipTypedebe ser un Identificador URIURI que se forma según la especificación de Sintaxis genérica del identificador uniforme de recursos (URI) de RFC 3986 .relationshipType must be a Identificador URIURI that is formed according to the RFC 3986 Uniform Resource Identifier (URI) Generic Syntax specification. En la tabla siguiente se muestran los URI relationshipType de nivel de paquete definidos por la especificación de convenciones de empaquetado abierto (OPC).The following table shows the package-level relationshipType URIs defined by the Open Packaging Conventions (OPC) specification.

Relación de nivel de paquetePackage-level Relationship URI del tipo de relaciónRelationship Type URI
Propiedades básicasCore Properties http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties
Firma digitalDigital Signature http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/signature
Certificado de firma digitalDigital Signature Certificate http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/certificate
Origen de la firma digitalDigital Signature Origin http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin
Vista en miniaturaThumbnail http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail

Para obtener más información sobre el empaquetado y las relaciones de paquetes, vea la sección 1,3 de la especificación de convenciones de empaquetado abierto https://go.microsoft.com/fwlink/?LinkID=71255(OPC) disponible para su descarga en.For more information about packaging and package relationships, see section 1.3 of the Open Packaging Conventions (OPC) specification available for download at https://go.microsoft.com/fwlink/?LinkID=71255.

Consulte también:

CreateRelationship(Uri, TargetMode, String, String) CreateRelationship(Uri, TargetMode, String, String) CreateRelationship(Uri, TargetMode, String, String)

Crea una relación de nivel de paquete en un elemento con un URI, modo de destino, tipo de relación y identificador (id.)identifier (ID) especificados.Creates a package-level relationship to a part with a given URI, target mode, relationship type, and identificador (id.)identifier (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

Parámetros

targetUri
Uri Uri Uri

identificador de recursos uniforme (URI)uniform resource identifier (URI) del elemento de destino.The identificador de recursos uniforme (URI)uniform resource identifier (URI) of the target part.

targetMode
TargetMode TargetMode TargetMode

Indica si el elemento de destino es Internal o External en el paquete.Indicates if the target part is Internal or External to the package.

relationshipType
String String String

URI que define exclusivamente el rol de la relación.A URI that uniquely defines the role of the relationship.

id
String String String

Identificador XML único.A unique XML identifier.

Devoluciones

Relación de nivel de paquete en el elemento especificado.The package-level relationship to the specified part.

Excepciones

targetUri o relationshipType es null.targetUri or relationshipType is null.

El elemento del targetUri es una clase PackageRelationship o targetMode es Internal y targetUri es un URI absoluto.The targetUri part is a PackageRelationship, or targetMode is Internal and targetUri is an absolute URI.

El valor de targetMode no es válido.The value for targetMode is not valid.

El paquete no está abierto (se ha llamado a Dispose(Boolean) o Close()).The package is not open (Dispose(Boolean) or Close() has been called).

El paquete es de sólo lectura.The package is read-only.

id no es un identificador XML válido; o bien, ya existe un elemento con el id especificado en el paquete.id is not a valid XML identifier; or a part with the specified id already occurs in the package.

Ejemplos

En el ejemplo siguiente se muestra cómo utilizar CreateRelationship para crear un PackageRelationship elemento entre Package una y una parte de un documento raíz.The following example illustrates how to use CreateRelationship to create a PackageRelationship between a Package and a root document part. Para obtener el ejemplo completo, consulte escribir un ejemplo de paquete.For the complete sample, see Writing a Package Sample.

// 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)

Comentarios

Una relación de nivel de paquete define una asociación entre el paquete y una parte o recurso de destino asociado.A package-level relationship defines an association between the package and an associated target part or resource. Una relación de nivel de paquete puede tener una de dos formas.A package-level relationship can be one of two forms.

  • Entre una Package y una parte de destino del paquete.Between a Package to a target part in the package.

  • Entre un Package en un recurso de destino fuera del paquete.Between a Package to a target resource outside the package.

En una relación de paquete, el paquete se considera el "propietario" de la relación.In a package-relationship the package is considered the "owner" of the relationship. Cuando se elimina el paquete, también se eliminan todas las relaciones propiedad del paquete.When the package is deleted, all the relationships owned by the package are also deleted.

CreateRelationshipno cambia físicamente la parte o el recurso de destino de ninguna manera.CreateRelationship does not physically change the target part or resource in any way.

El destino de una relación no puede ser otra relación.The target of a relationship cannot be another relationship.

iddebe ser un identificador XML válido.id must be a valid XML identifier. El id tipo es xsd: ID y debe seguir las convenciones de nomenclatura prescritas en el esquema XML parte 2: Especificación de tipos de los tipos https://www.w3.org/TR/xmlschema-2/#IDde los (vea).The id type is xsd:ID and must follow the naming conventions prescribed in the XML Schema Part 2: Datatypes specification (see https://www.w3.org/TR/xmlschema-2/#ID).

Si id se especifica como null un identificador único, se generará automáticamente.If id is specified as null a unique ID will be automatically generated. Un id especificado por una cadena vacía no es válido.An id specified by an empty string is not valid.

Si targetMode se especifica como Internal, targetUri debe ser un URI relativo formado según la especificación de Sintaxis genérica del identificador uniforme de recursos (URI) de RFC 3986 .If targetMode is specified as Internal, targetUri must be a relative URI that is formed according to the RFC 3986 Uniform Resource Identifier (URI) Generic Syntax specification. El URI relativo interno puede ser una ruta de acceso absoluta que comienza con un carácter de barra diagonal ("/"), como "/page1.xaml" o "/images/picture4.jpg", o una ruta de acceso relativa como ".. /imagespicture1.jpg "que se resuelve en la raíz del paquete ("/") como el URI base.The internal relative URI can be either an absolute path that starts with a forward slash ("/") character such as "/page1.xaml" or "/images/picture4.jpg", or a relative path such as "../imagespicture1.jpg" that resolves against the package root ("/") as the base URI.

Si targetMode se especifica como External, targetUri puede ser un URI absoluto o relativo formado según la especificación de Sintaxis genérica del identificador uniforme de recursos (URI) de RFC 3986 .If targetMode is specified as External, targetUri can be either an absolute or relative URI formed according to the RFC 3986 Uniform Resource Identifier (URI) Generic Syntax specification. http://www.microsoft.com/page2.xmles un ejemplo de un URI absoluto que hace referencia a un recurso de destino externo "página2. xml".http://www.microsoft.com/page2.xml is an example of an absolute URI that references an external target resource "page2.xml". "images/Picture1. jpg" es un ejemplo de un URI relativo que también hace referencia a un recurso de destino externo "1. jpg", pero que se resuelve en el URI del propio paquete."images/picture1.jpg" is an example of a relative URI that also references an external target resource "1.jpg" but which resolves against the URI of the package itself.

relationshipTypedebe ser un URI formado según la especificación de Sintaxis genérica del identificador uniforme de recursos (URI) de RFC 3986 .relationshipType must be a URI that is formed according to the RFC 3986 Uniform Resource Identifier (URI) Generic Syntax specification. En la tabla siguiente se muestran los URI relationshipType de nivel de paquete definidos por la especificación de convenciones de empaquetado abierto (OPC).The following table shows the package-level relationshipType URIs defined by the Open Packaging Conventions (OPC) specification.

Relación de nivel de paquetePackage-level Relationship URI del tipo de relaciónRelationship Type URI
Propiedades básicasCore Properties http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties
Firma digitalDigital Signature http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/signature
Certificado de firma digitalDigital Signature Certificate http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/certificate
Origen de la firma digitalDigital Signature Origin http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin
Vista en miniaturaThumbnail http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail

Para obtener información adicional sobre el empaquetado y las relaciones de paquetes, vea la sección 1,3 de la especificación de convenciones de empaquetado abierto https://go.microsoft.com/fwlink/?LinkID=71255(OPC) disponible para su descarga en.For additional information about packaging and package relationships, see section 1.3 of the Open Packaging Conventions (OPC) specification available for download at https://go.microsoft.com/fwlink/?LinkID=71255.

Consulte también:

Se aplica a