Package.CreateRelationship メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定したパーツへのパッケージ レベル リレーションシップを作成します。
オーバーロード
CreateRelationship(Uri, TargetMode, String) |
指定した URI、ターゲット モード、およびリレーションシップ型を使用して、パーツへのパッケージ レベル リレーションシップを作成します。 |
CreateRelationship(Uri, TargetMode, String, String) |
特定の URI、ターゲット モード、リレーションシップの種類、識別子 (ID) を持つパーツへのパッケージ レベルのリレーションシップを作成します。 |
例
次の例では、 と ルート ドキュメント パーツの間に Package を作成PackageRelationshipする方法を示します。
// 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)
注釈
パッケージ レベルのリレーションシップは、パッケージと、関連付けられているターゲット パーツまたはリソースとの間の関連付けを定義します。 パッケージ レベルのリレーションシップには、2 つのフォームのいずれかを指定できます。
- Packageパッケージ内のターゲットPackagePartへの 間。
- Packageからパッケージの外部にあるターゲット リソースまでの間。
パッケージリレーションシップでは、パッケージはリレーションシップの "所有者" と見なされます。 パッケージが削除されると、パッケージが所有するすべてのリレーションシップも削除されます。 リレーションシップを作成または削除するプロセスでは、ターゲット パーツまたはリソースが物理的に変更されることはありません。
詳細については、 で https://www.ecma-international.org/publications-and-standards/standards/ecma-376/ダウンロードできる Open Packaging Conventions (OPC) 仕様を参照してください。
CreateRelationship(Uri, TargetMode, String)
- ソース:
- Package.cs
- ソース:
- Package.cs
- ソース:
- Package.cs
- ソース:
- Package.cs
指定した URI、ターゲット モード、およびリレーションシップ型を使用して、パーツへのパッケージ レベル リレーションシップを作成します。
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
パラメーター
- targetUri
- Uri
ターゲット パーツの Uniform Resource Identifier (URI)。
- targetMode
- TargetMode
- relationshipType
- String
リレーションシップのロールを一意に定義する URI。
戻り値
指定したパーツへのパッケージ レベル リレーションシップ。
例外
targetUri
または relationshipType
が null
です。
targetUri
パーツが PackageRelationship です。または targetMode
が Internal で、targetUri
が絶対 URI です。
targetMode
の値が有効ではありません。
パッケージが開いていません (Dispose(Boolean) または Close() が呼び出されました)。
パッケージは読み取り専用です。
例
次の例では、 を使用CreateRelationshipして、 とルート ドキュメント パーツの間Packageに PackageRelationship を作成する方法を示します。
// 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)
注釈
パッケージ レベルのリレーションシップは、パッケージと、関連付けられているターゲット パーツまたはリソースとの間の関連付けを定義します。 パッケージ レベルのリレーションシップには、2 つのフォームのいずれかを指定できます。
パッケージリレーションシップでは、パッケージはリレーションシップの "所有者" と見なされます。 パッケージが削除されると、パッケージが所有するすべてのリレーションシップも削除されます。
CreateRelationship では、ターゲット パーツまたはリソースが物理的に変更されることはありません。
リレーションシップのターゲットを別のリレーションシップにすることはできません。
が としてInternaltargetUri
指定されている場合targetMode
は、RFC 3986 Uniform Resource Identifier (URI) ジェネリック構文仕様に従って形成される相対 URI である必要があります。 内部相対 URI には、"/page1.xaml" や "/images/picture4.jpg" などのスラッシュ ("/") 文字で始まる絶対パス、または などの相対パスを指定できます。ベース URI としてパッケージ ルート ("/") に対して解決される /imagespicture1.jpg" 。
が としてExternaltargetUri
指定されている場合targetMode
は、RFC 3986 Uniform Resource Identifier (URI) ジェネリック構文仕様に従って形成された絶対 URI または相対 URI のいずれかを指定できます。
http://www.microsoft.com/page2.xml
は、外部ターゲット リソース "page2.xml" を参照する絶対 URI の例です。 "images/picture1.jpg" は、外部ターゲット リソース "1.jpg" も参照するが、パッケージ自体の URI に対して解決される相対 URI の例です。
relationshipType
は、 RFC 3986 Uniform Resource Identifier (URI) ジェネリック構文仕様に従って形成された URI である必要があります。 次の表は、Open Packaging Conventions (OPC) 仕様で定義されているパッケージ レベル relationshipType
の URI を示しています。
パッケージ レベルのリレーションシップ | リレーションシップの種類 URI |
---|---|
コア プロパティ | http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties |
デジタル署名 | http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/signature |
デジタル署名証明書 | http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/certificate |
デジタル署名の配信元 | http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin |
サムネイル | http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail |
パッケージ化とパッケージの関係の詳細については、 で https://www.ecma-international.org/publications-and-standards/standards/ecma-376/ダウンロードできる Open Packaging Conventions (OPC) 仕様のセクション 1.3 を参照してください。
こちらもご覧ください
- DeleteRelationship(String)
- GetRelationship(String)
- GetRelationships()
- GetRelationshipsByType(String)
- RelationshipExists(String)
適用対象
CreateRelationship(Uri, TargetMode, String, String)
- ソース:
- Package.cs
- ソース:
- Package.cs
- ソース:
- Package.cs
- ソース:
- Package.cs
特定の URI、ターゲット モード、リレーションシップの種類、識別子 (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
パラメーター
- targetUri
- Uri
ターゲット パーツの Uniform Resource Identifier (URI)。
- targetMode
- TargetMode
- relationshipType
- String
リレーションシップのロールを一意に定義する URI。
- id
- String
一意の XML 識別子。
戻り値
指定したパーツへのパッケージ レベル リレーションシップ。
例外
targetUri
または relationshipType
が null
です。
targetUri
パーツが PackageRelationship です。または targetMode
が Internal で、targetUri
が絶対 URI です。
targetMode
の値が有効ではありません。
パッケージが開いていません (Dispose(Boolean) または Close() が呼び出されました)。
パッケージは読み取り専用です。
id
が有効な XML 識別子ではないか、指定した id
を持つパーツが既にパッケージ内に存在します。
例
次の例では、 を使用CreateRelationshipして、 とルート ドキュメント パーツの間Packageに PackageRelationship を作成する方法を示します。
// 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)
注釈
パッケージ レベルのリレーションシップは、パッケージと、関連付けられているターゲット パーツまたはリソースとの間の関連付けを定義します。 パッケージ レベルのリレーションシップには、2 つのフォームのいずれかを指定できます。
パッケージリレーションシップでは、パッケージはリレーションシップの "所有者" と見なされます。 パッケージが削除されると、パッケージが所有するすべてのリレーションシップも削除されます。
CreateRelationship では、ターゲット パーツまたはリソースが物理的に変更されることはありません。
リレーションシップのターゲットを別のリレーションシップにすることはできません。
id
は有効な XML 識別子である必要があります。 型は id
xsd:ID であり、「XML スキーマ パート 2: データ型の仕様」に規定されている名前付け規則に従う必要があります (「」を参照)。https://www.w3.org/TR/xmlschema-2/#ID
が一意の ID としてnull
指定されている場合id
は、自動的に生成されます。 空の id
文字列で指定された が無効です。
が としてInternaltargetUri
指定されている場合targetMode
は、RFC 3986 Uniform Resource Identifier (URI) ジェネリック構文仕様に従って形成される相対 URI である必要があります。 内部相対 URI には、"/page1.xaml" や "/images/picture4.jpg" などのスラッシュ ("/") 文字で始まる絶対パス、または などの相対パスを指定できます。ベース URI としてパッケージ ルート ("/") に対して解決される /imagespicture1.jpg" 。
が としてExternaltargetUri
指定されている場合targetMode
は、RFC 3986 Uniform Resource Identifier (URI) ジェネリック構文仕様に従って形成された絶対 URI または相対 URI のいずれかを指定できます。
http://www.microsoft.com/page2.xml
は、外部ターゲット リソース "page2.xml" を参照する絶対 URI の例です。 "images/picture1.jpg" は、外部ターゲット リソース "1.jpg" も参照するが、パッケージ自体の URI に対して解決される相対 URI の例です。
relationshipType
は、 RFC 3986 Uniform Resource Identifier (URI) ジェネリック構文仕様に従って形成された URI である必要があります。 次の表は、Open Packaging Conventions (OPC) 仕様で定義されているパッケージ レベル relationshipType
の URI を示しています。
パッケージ レベルのリレーションシップ | リレーションシップの種類 URI |
---|---|
コア プロパティ | http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties |
デジタル署名 | http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/signature |
デジタル署名証明書 | http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/certificate |
デジタル署名の配信元 | http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin |
サムネイル | http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail |
パッケージ化とパッケージの関係の詳細については、 で https://www.ecma-international.org/publications-and-standards/standards/ecma-376/ダウンロードできる Open Packaging Conventions (OPC) 仕様のセクション 1.3 を参照してください。
こちらもご覧ください
- CreateRelationship(Uri, TargetMode, String)
- DeleteRelationship(String)
- GetRelationship(String)
- GetRelationships()
- GetRelationshipsByType(String)
- RelationshipExists(String)
適用対象
.NET