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 つの形式のいずれかを指定できます。
- パッケージ内のターゲット PackagePartへのPackageの間。
- パッケージの外部にあるターゲット リソースへの Package 間。
パッケージリレーションシップでは、パッケージはリレーションシップの "所有者" と見なされます。 パッケージが削除されると、パッケージによって所有されているすべてのリレーションシップも削除されます。 リレーションシップを作成または削除するプロセスでは、ターゲットパーツまたはリソースが物理的に変更されることはありません。
詳細については、 https://www.ecma-international.org/publications-and-standards/standards/ecma-376/でダウンロードできる Open Packaging Conventions (OPC) 仕様を参照してください。
CreateRelationship(Uri, TargetMode, String)
指定された 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 では、ターゲット部分またはリソースが物理的に変更されることはありません。
リレーションシップのターゲットを別のリレーションシップにすることはできません。
targetModeがInternalとして指定されている場合、targetUriは RFC 3986 Uniform Resource Identifier (URI) ジェネリック構文の仕様に従って形成された相対 URI である必要があります。 内部相対 URI には、"/page1.xaml" や "/images/picture4.jpg"などのスラッシュ ("/") 文字で始まる絶対パス、または ".などの相対パスを指定できます。/imagespicture1.jpg" は、ベース URI としてパッケージ ルート ("/") に対して解決されます。
targetModeがExternalとして指定されている場合、targetUriは 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)
特定の 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);
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 が無効です。
targetModeがInternalとして指定されている場合、targetUriは RFC 3986 Uniform Resource Identifier (URI) ジェネリック構文の仕様に従って形成された相対 URI である必要があります。 内部相対 URI には、"/page1.xaml" や "/images/picture4.jpg"などのスラッシュ ("/") 文字で始まる絶対パス、または ".などの相対パスを指定できます。/imagespicture1.jpg" は、ベース URI としてパッケージ ルート ("/") に対して解決されます。
targetModeがExternalとして指定されている場合、targetUriは 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)