Package.CreateRelationship Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří relaci na úrovni balíčku s danou částí.
Přetížení
| Name | Description |
|---|---|
| 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 části mezi Package a kořenovou částí dokumentu.
// 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
Relace 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 být jedna ze dvou forem.
- Package Mezi cílem PackagePart uvnitř balíčku.
- Mezi cílovým Package prostředkem mimo balíček.
V relaci balíčku se balíček považuje za "vlastníka" relace. Po odstranění balíčku se odstraní také všechny relace vlastněné balíčkem. Proces vytvoření nebo odstranění relace nijak nemění cílovou část nebo prostředek.
Další informace naleznete ve specifikaci OPC (Open Packaging Conventions) 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
- Zdroj:
- Package.cs
- Zdroj:
- Package.cs
- 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
Označuje, jestli je Internal cílová část nebo External 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 nebo PackageRelationshiptargetMode je a Internal je targetUri absolutní identifikátor URI.
Hodnota 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.
// 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
Relace 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 být jedna ze dvou forem.
V relaci balíčku se balíček považuje za "vlastníka" relace. Po odstranění balíčku se odstraní také všechny relace vlastněné balíčkem.
CreateRelationship nijak nemění cílovou část ani prostředek fyzicky.
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 podle specifikace OBECNÉ syntaxe RFC 3986 Uniform Resource Identifier (URI). Interní relativní identifikátor URI může být absolutní cesta, která začíná znakem lomítka (/), například /page1.xaml nebo /images/picture4.jpgnebo relativní cestou, například .. /imagespicture1.jpg", která se překládá s kořenem balíčku ("/") jako základní identifikátor URI.
Pokud targetMode je zadán jako External, targetUri může být buď 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á proti identifikátoru URI samotného balíčku.
relationshipType musí být identifikátor URI, který se vytvoří podle obecné specifikace syntaxe RFC 3986 Uniform Resource Identifier (URI). 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 |
| Náhled | http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail |
Další informace o balení a relacích balíčků naleznete v části 1.3 specifikace Open Packaging Conventions (OPC) k dispozici ke stažení na https://www.ecma-international.org/publications-and-standards/standards/ecma-376/adrese .
Viz také
- DeleteRelationship(String)
- GetRelationship(String)
- GetRelationships()
- GetRelationshipsByType(String)
- RelationshipExists(String)
Platí pro
CreateRelationship(Uri, TargetMode, String, String)
- Zdroj:
- Package.cs
- Zdroj:
- Package.cs
- Zdroj:
- Package.cs
- Zdroj:
- Package.cs
- Zdroj:
- Package.cs
- 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
Označuje, jestli je Internal cílová část nebo External 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 nebo PackageRelationshiptargetMode je a Internal je targetUri absolutní identifikátor URI.
Hodnota 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.
// 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
Relace 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 být jedna ze dvou forem.
V relaci balíčku se balíček považuje za "vlastníka" relace. Po odstranění balíčku se odstraní také všechny relace vlastněné balíčkem.
CreateRelationship nijak nemění cílovou část ani prostředek fyzicky.
Cílem relace nemůže být jiná relace.
id musí být platný identifikátor XML. Typ id je xsd:ID a musí dodržovat zásady vytváření názvů předepsané 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 podle specifikace OBECNÉ syntaxe RFC 3986 Uniform Resource Identifier (URI). Interní relativní identifikátor URI může být absolutní cesta, která začíná znakem lomítka (/), například /page1.xaml nebo /images/picture4.jpgnebo relativní cestou, například .. /imagespicture1.jpg", která se překládá s kořenem balíčku ("/") jako základní identifikátor URI.
Pokud targetMode je zadán jako External, targetUri může být buď 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á proti identifikátoru URI samotného balíčku.
relationshipType musí být identifikátor URI, který se vytvoří podle obecné specifikace syntaxe RFC 3986 Uniform Resource Identifier (URI). 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 |
| Náhled | http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail |
Další informace o balení a relacích balíčků naleznete v části 1.3 specifikace Open Packaging Conventions (OPC) k dispozici ke stažení na https://www.ecma-international.org/publications-and-standards/standards/ecma-376/adrese .
Viz také
- CreateRelationship(Uri, TargetMode, String)
- DeleteRelationship(String)
- GetRelationship(String)
- GetRelationships()
- GetRelationshipsByType(String)
- RelationshipExists(String)