Package.CreateRelationship Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy relację na poziomie pakietu z daną częścią.
Przeciążenia
CreateRelationship(Uri, TargetMode, String) |
Tworzy relację na poziomie pakietu z częścią o danym identyfikatorze URI, trybie docelowym i typie relacji. |
CreateRelationship(Uri, TargetMode, String, String) |
Tworzy relację na poziomie pakietu z częścią z danym identyfikatorem URI, trybem docelowym, typem relacji i identyfikatorem (ID). |
Przykłady
Poniższy przykład ilustruje tworzenie PackageRelationship między częścią dokumentu głównego i między Package elementem głównym. Aby uzyskać kompletny przykład, zobacz Pisanie przykładu pakietu.
// 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)
Uwagi
Relacja na poziomie pakietu definiuje skojarzenie między pakietem a skojarzona część docelowa lub zasób. Relacja na poziomie pakietu może być jedną z dwóch form.
Między elementem PackagePart docelowym Package wewnątrz pakietu.
Między zasobem docelowym Package a poza pakietem.
W relacji pakietu pakiet jest traktowany jako "właściciel" relacji. Po usunięciu pakietu wszystkie relacje należące do pakietu również zostaną usunięte. Proces tworzenia lub usuwania relacji nie zmienia fizycznie części docelowej ani zasobu w żaden sposób.
Aby uzyskać dodatkowe informacje, zobacz specyfikację Open Packaging Conventions (OPC) dostępną do pobrania na stronie https://www.ecma-international.org/publications-and-standards/standards/ecma-376/.
CreateRelationship(Uri, TargetMode, String)
- Źródło:
- Package.cs
- Źródło:
- Package.cs
- Źródło:
- Package.cs
Tworzy relację na poziomie pakietu z częścią o danym identyfikatorze URI, trybie docelowym i typie relacji.
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
Jednolity identyfikator zasobu (URI) części docelowej.
- targetMode
- TargetMode
Wskazuje, czy część docelowa jest Internal lub External do pakietu.
- relationshipType
- String
Identyfikator URI, który jednoznacznie definiuje rolę relacji.
Zwraca
Relacja na poziomie pakietu z określoną częścią.
Wyjątki
targetUri
lub relationshipType
ma wartość null
.
Część targetUri
to PackageRelationship, lub targetMode
, a InternaltargetUri
jest bezwzględnym identyfikatorem URI.
Wartość parametru targetMode
jest nieprawidłowa.
Pakiet nie jest otwarty (Dispose(Boolean) lub Close() został wywołany).
Pakiet jest tylko do odczytu.
Przykłady
W poniższym przykładzie pokazano, jak utworzyć CreateRelationshipPackageRelationship element między elementem a Package częścią dokumentu głównego. Aby uzyskać kompletny przykład, zobacz Pisanie przykładu pakietu.
// 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)
Uwagi
Relacja na poziomie pakietu definiuje skojarzenie między pakietem a skojarzona część docelowa lub zasób. Relacja na poziomie pakietu może być jedną z dwóch form.
Między elementem a Package do części docelowej w pakiecie.
Między zasobem docelowym Package a poza pakietem.
W relacji pakietu pakiet jest traktowany jako "właściciel" relacji. Po usunięciu pakietu wszystkie relacje należące do pakietu również zostaną usunięte.
CreateRelationship nie zmienia fizycznie części docelowej ani zasobu w żaden sposób.
Celem relacji nie może być inna relacja.
Jeśli targetMode
parametr jest określony jako Internal, targetUri
musi być względnym identyfikatorem URI, który jest tworzony zgodnie ze specyfikacją składni ogólnej RFC 3986 Uniform Resource Identifier (URI). Wewnętrzny względny identyfikator URI może być ścieżką bezwzględną rozpoczynającą się od znaku ukośnika ("//"), takiego jak "/page1.xaml" lub "/images/picture4.jpg", albo ścieżki względnej, takiej jak ".. /imagespicture1.jpg", który jest rozpoznawany względem katalogu głównego pakietu ("/") jako identyfikatora URI podstawowego.
Jeśli targetMode
parametr jest określony jako External, targetUri
może być bezwzględnym lub względnym identyfikatorem URI utworzonym zgodnie ze specyfikacją składni ogólnej identyfikatora URI (RFC 3986 Uniform Resource Identifier). http://www.microsoft.com/page2.xml
to przykład bezwzględnego identyfikatora URI, który odwołuje się do zewnętrznego zasobu docelowego "page2.xml". "images/picture1.jpg" to przykład względnego identyfikatora URI, który odwołuje się również do zewnętrznego zasobu docelowego "1.jpg", ale który jest rozpoznawany względem identyfikatora URI samego pakietu.
relationshipType
musi być identyfikatorem URI, który jest tworzony zgodnie ze specyfikacją składni ogólnej identyfikatora URI (Uniform Resource Identifier) RFC 3986 . W poniższej tabeli przedstawiono identyfikatory URI na poziomie relationshipType
pakietu zdefiniowane przez specyfikację Open Packaging Conventions (OPC).
Relacja na poziomie pakietu | Identyfikator URI typu relacji |
---|---|
Właściwości podstawowe | http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties |
Podpis cyfrowy | http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/signature |
Certyfikat podpisu cyfrowego | http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/certificate |
Źródło podpisu cyfrowego | http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin |
Miniaturę | http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail |
Aby uzyskać więcej informacji na temat tworzenia pakietów i relacji pakietów, zobacz sekcję 1.3 specyfikacji Open Packaging Conventions (OPC) dostępną do pobrania pod adresem https://www.ecma-international.org/publications-and-standards/standards/ecma-376/.
Zobacz też
- DeleteRelationship(String)
- GetRelationship(String)
- GetRelationships()
- GetRelationshipsByType(String)
- RelationshipExists(String)
Dotyczy
CreateRelationship(Uri, TargetMode, String, String)
- Źródło:
- Package.cs
- Źródło:
- Package.cs
- Źródło:
- Package.cs
Tworzy relację na poziomie pakietu z częścią z danym identyfikatorem URI, trybem docelowym, typem relacji i identyfikatorem (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
Jednolity identyfikator zasobu (URI) części docelowej.
- targetMode
- TargetMode
Wskazuje, czy część docelowa jest Internal lub External do pakietu.
- relationshipType
- String
Identyfikator URI, który jednoznacznie definiuje rolę relacji.
- id
- String
Unikatowy identyfikator XML.
Zwraca
Relacja na poziomie pakietu z określoną częścią.
Wyjątki
targetUri
lub relationshipType
ma wartość null
.
Część targetUri
to PackageRelationship, lub targetMode
, a InternaltargetUri
jest bezwzględnym identyfikatorem URI.
Wartość parametru targetMode
jest nieprawidłowa.
Pakiet nie jest otwarty (Dispose(Boolean) lub Close() został wywołany).
Pakiet jest tylko do odczytu.
id
nie jest prawidłowym identyfikatorem XML; lub część z określonymi id
już występuje w pakiecie.
Przykłady
W poniższym przykładzie pokazano, jak utworzyć CreateRelationshipPackageRelationship element między elementem a Package częścią dokumentu głównego. Aby uzyskać kompletny przykład, zobacz Pisanie przykładu pakietu.
// 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)
Uwagi
Relacja na poziomie pakietu definiuje skojarzenie między pakietem a skojarzona część docelowa lub zasób. Relacja na poziomie pakietu może być jedną z dwóch form.
Między elementem a Package do części docelowej w pakiecie.
Między zasobem docelowym Package a poza pakietem.
W relacji pakietu pakiet jest traktowany jako "właściciel" relacji. Po usunięciu pakietu wszystkie relacje należące do pakietu również zostaną usunięte.
CreateRelationship nie zmienia fizycznie części docelowej ani zasobu w żaden sposób.
Celem relacji nie może być inna relacja.
id
musi być prawidłowym identyfikatorem XML. Typ id
to xsd:ID i musi być zgodny z konwencjami nazewnictwa określonymi w specyfikacji Schemat XML Część 2: Specyfikacja typów danych (patrz https://www.w3.org/TR/xmlschema-2/#ID).
Jeśli id
zostanie określony jako null
unikatowy identyfikator, zostanie wygenerowany automatycznie. Ciąg id
określony przez pusty ciąg jest nieprawidłowy.
Jeśli targetMode
parametr jest określony jako Internal, targetUri
musi być względnym identyfikatorem URI, który jest tworzony zgodnie ze specyfikacją składni ogólnej RFC 3986 Uniform Resource Identifier (URI). Wewnętrzny względny identyfikator URI może być ścieżką bezwzględną rozpoczynającą się od znaku ukośnika ("//"), takiego jak "/page1.xaml" lub "/images/picture4.jpg", albo ścieżki względnej, takiej jak ".. /imagespicture1.jpg", który jest rozpoznawany względem katalogu głównego pakietu ("/") jako identyfikatora URI podstawowego.
Jeśli targetMode
parametr jest określony jako External, targetUri
może być bezwzględnym lub względnym identyfikatorem URI utworzonym zgodnie ze specyfikacją składni ogólnej identyfikatora URI (RFC 3986 Uniform Resource Identifier). http://www.microsoft.com/page2.xml
to przykład bezwzględnego identyfikatora URI, który odwołuje się do zewnętrznego zasobu docelowego "page2.xml". "images/picture1.jpg" to przykład względnego identyfikatora URI, który odwołuje się również do zewnętrznego zasobu docelowego "1.jpg", ale który jest rozpoznawany względem identyfikatora URI samego pakietu.
relationshipType
musi być identyfikatorem URI, który jest tworzony zgodnie ze specyfikacją składni ogólnej identyfikatora URI (Uniform Resource Identifier) RFC 3986 . W poniższej tabeli przedstawiono identyfikatory URI na poziomie relationshipType
pakietu zdefiniowane przez specyfikację Open Packaging Conventions (OPC).
Relacja na poziomie pakietu | Identyfikator URI typu relacji |
---|---|
Właściwości podstawowe | http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties |
Podpis cyfrowy | http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/signature |
Certyfikat podpisu cyfrowego | http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/certificate |
Źródło podpisu cyfrowego | http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin |
Miniaturę | http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail |
Aby uzyskać dodatkowe informacje na temat tworzenia pakietów i relacji pakietów, zobacz sekcję 1.3 specyfikacji Open Packaging Conventions (OPC) dostępną do pobrania pod adresem https://www.ecma-international.org/publications-and-standards/standards/ecma-376/.
Zobacz też
- CreateRelationship(Uri, TargetMode, String)
- DeleteRelationship(String)
- GetRelationship(String)
- GetRelationships()
- GetRelationshipsByType(String)
- RelationshipExists(String)
Dotyczy
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla