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)