Package.CreateRelationship Metoda

Definice

Vytvoří relaci na úrovni balíčku k dané části.

Přetížení

CreateRelationship(Uri, TargetMode, String)

Vytvoří relaci na úrovni balíčku k části s daným identifikátorem URI, cílovým režimem a typem relace.

CreateRelationship(Uri, TargetMode, String, String)

Vytvoří relaci na úrovni balíčku k části s daným identifikátorem URI, cílovým režimem, typem relace a identifikátorem (ID).

Příklady

Následující příklad znázorňuje vytvoření PackageRelationship mezi Package a kořenovou částí dokumentu. Kompletní ukázku najdete v tématu Vytvoření ukázky balíčku.

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

Poznámky

Vztah na úrovni balíčku definuje přidružení mezi balíčkem a přidruženou cílovou částí nebo prostředkem. Relace na úrovni balíčku může mít jednu ze dvou forem.

V relaci balíčku se balíček považuje za vlastníka relace. Při odstranění balíčku se odstraní také všechny relace vlastněné balíčkem. Proces vytvoření nebo odstranění vztahu nijak fyzicky nemění cílovou část nebo prostředek.

Další informace najdete ve specifikaci OPC (Open Packaging Conventions), která je k dispozici ke stažení na adrese https://www.ecma-international.org/publications-and-standards/standards/ecma-376/.

CreateRelationship(Uri, TargetMode, String)

Zdroj:
Package.cs
Zdroj:
Package.cs
Zdroj:
Package.cs

Vytvoří relaci na úrovni balíčku k části s daným identifikátorem URI, cílovým režimem a typem relace.

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

Parametry

targetUri
Uri

Identifikátor URI (Uniform Resource Identifier) cílové části.

targetMode
TargetMode

Určuje, jestli cílová část je Internal nebo External pro balíček.

relationshipType
String

Identifikátor URI, který jednoznačně definuje roli relace.

Návraty

Vztah na úrovni balíčku se zadanou částí.

Výjimky

targetUri nebo relationshipType je null.

Část targetUri je PackageRelationship, nebo targetMode je Internal a targetUri je absolutní identifikátor URI.

Hodnota pro targetMode není platná.

Balíček není otevřen (Dispose(Boolean) nebo Close() byl volána).

Balíček je jen pro čtení.

Příklady

Následující příklad ukazuje, jak použít CreateRelationship k vytvoření PackageRelationship mezi Package a kořenovou částí dokumentu. Kompletní ukázku najdete v tématu Vytvoření ukázky balíčku.

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

Poznámky

Vztah na úrovni balíčku definuje přidružení mezi balíčkem a přidruženou cílovou částí nebo prostředkem. Relace na úrovni balíčku může mít jednu ze dvou forem.

  • Package Mezi cílovou částí balíčku.

  • Package Mezi a cílovým prostředkem mimo balíček.

V relaci balíčku se balíček považuje za vlastníka relace. Při odstranění balíčku se odstraní také všechny relace vlastněné balíčkem.

CreateRelationship nemění fyzicky cílovou část ani prostředek.

Cílem relace nemůže být jiná relace.

Pokud targetMode je zadán jako Internal, targetUri musí být relativní identifikátor URI, který je vytvořen v souladu s RFC 3986 Identifikátor URI obecná syntaxe specifikace. Interní relativní identifikátor URI může být buď absolutní cesta začínající znakem lomítka (/), jako je /page1.xaml nebo /images/picture4.jpg, nebo relativní cesta, například .. /imagespicture1.jpg", který se překládá na kořenovém adresáři balíčku (/) jako základním identifikátoru URI.

Pokud targetMode je zadaný jako External, targetUri může to být absolutní nebo relativní identifikátor URI vytvořený podle specifikace OBECNÉ syntaxe RFC 3986 Uniform Resource Identifier (URI). http://www.microsoft.com/page2.xml je příkladem absolutního identifikátoru URI, který odkazuje na externí cílový prostředek "page2.xml". "images/picture1.jpg" je příkladem relativního identifikátoru URI, který také odkazuje na externí cílový prostředek "1.jpg", ale který se překládá na identifikátor URI samotného balíčku.

relationshipType Musí být identifikátor URI, který je vytvořen podle specifikace obecné syntaxe RFC 3986 URI (Uniform Resource Identifier). Následující tabulka ukazuje identifikátory URI na úrovni relationshipType balíčku definované specifikací OPC (Open Packaging Conventions).

Vztah na úrovni balíčku Identifikátor URI typu relace
Základní vlastnosti http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties
Digitální podpis http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/signature
Certifikát digitálního podpisu http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/certificate
Původ digitálního podpisu http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin
Miniaturu http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail

Další informace o obalech a vztazích mezi baleními najdete v oddílu 1.3 specifikace OPC (Open Packaging Conventions), která je k dispozici ke stažení na adrese https://www.ecma-international.org/publications-and-standards/standards/ecma-376/.

Viz také

Platí pro

CreateRelationship(Uri, TargetMode, String, String)

Zdroj:
Package.cs
Zdroj:
Package.cs
Zdroj:
Package.cs

Vytvoří relaci na úrovni balíčku k části s daným identifikátorem URI, cílovým režimem, typem relace a identifikátorem (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);
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

Parametry

targetUri
Uri

Identifikátor URI (Uniform Resource Identifier) cílové části.

targetMode
TargetMode

Určuje, jestli cílová část je Internal nebo External pro balíček.

relationshipType
String

Identifikátor URI, který jednoznačně definuje roli relace.

id
String

Jedinečný identifikátor XML.

Návraty

Vztah na úrovni balíčku se zadanou částí.

Výjimky

targetUri nebo relationshipType je null.

Část targetUri je PackageRelationship, nebo targetMode je Internal a targetUri je absolutní identifikátor URI.

Hodnota pro targetMode není platná.

Balíček není otevřen (Dispose(Boolean) nebo Close() byl volána).

Balíček je jen pro čtení.

id není platný identifikátor XML; nebo část se zadanou id již v balíčku vyskytuje.

Příklady

Následující příklad ukazuje, jak použít CreateRelationship k vytvoření PackageRelationship mezi Package a kořenovou částí dokumentu. Kompletní ukázku najdete v tématu Vytvoření ukázky balíčku.

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

Poznámky

Vztah na úrovni balíčku definuje přidružení mezi balíčkem a přidruženou cílovou částí nebo prostředkem. Relace na úrovni balíčku může mít jednu ze dvou forem.

  • Package Mezi cílovou částí balíčku.

  • Package Mezi a cílovým prostředkem mimo balíček.

V relaci balíčku se balíček považuje za vlastníka relace. Při odstranění balíčku se odstraní také všechny relace vlastněné balíčkem.

CreateRelationship nemění fyzicky cílovou část ani prostředek.

Cílem relace nemůže být jiná relace.

id musí být platným identifikátorem XML. Typ id je xsd:ID a musí se řídit konvencemi vytváření názvů stanovenými ve schématu XML Část 2: Specifikace datových typů (viz https://www.w3.org/TR/xmlschema-2/#ID).

Pokud id je zadán jako null jedinečné ID se automaticky vygeneruje. Zadaný id prázdným řetězcem není platný.

Pokud targetMode je zadán jako Internal, targetUri musí být relativní identifikátor URI, který je vytvořen v souladu s RFC 3986 Identifikátor URI obecná syntaxe specifikace. Interní relativní identifikátor URI může být buď absolutní cesta začínající znakem lomítka (/), jako je /page1.xaml nebo /images/picture4.jpg, nebo relativní cesta, například .. /imagespicture1.jpg", který se překládá na kořenovém adresáři balíčku (/) jako základním identifikátoru URI.

Pokud targetMode je zadaný jako External, targetUri může to být absolutní nebo relativní identifikátor URI vytvořený podle specifikace OBECNÉ syntaxe RFC 3986 Uniform Resource Identifier (URI). http://www.microsoft.com/page2.xml je příkladem absolutního identifikátoru URI, který odkazuje na externí cílový prostředek "page2.xml". "images/picture1.jpg" je příkladem relativního identifikátoru URI, který také odkazuje na externí cílový prostředek "1.jpg", ale který se překládá na identifikátor URI samotného balíčku.

relationshipType Musí být identifikátor URI, který je vytvořen podle specifikace obecné syntaxe RFC 3986 URI (Uniform Resource Identifier). Následující tabulka ukazuje identifikátory URI na úrovni relationshipType balíčku definované specifikací OPC (Open Packaging Conventions).

Vztah na úrovni balíčku Identifikátor URI typu relace
Základní vlastnosti http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties
Digitální podpis http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/signature
Certifikát digitálního podpisu http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/certificate
Původ digitálního podpisu http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin
Miniaturu http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail

Další informace o obalech a vztazích mezi baleními najdete v oddílu 1.3 specifikace OPC (Open Packaging Conventions), která je k dispozici ke stažení na adrese https://www.ecma-international.org/publications-and-standards/standards/ecma-376/.

Viz také

Platí pro