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 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.
// 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.
- Mezi objektem a Package a cílem PackagePart uvnitř 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. 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
- 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.
// 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.
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é
- 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
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.
// 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.
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é
- CreateRelationship(Uri, TargetMode, String)
- DeleteRelationship(String)
- GetRelationship(String)
- GetRelationships()
- GetRelationshipsByType(String)
- RelationshipExists(String)