Package.CreateRelationship メソッド

定義

指定したパーツへのパッケージ レベル リレーションシップを作成します。

オーバーロード

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

ターゲット パーツが、パッケージに対して InternalExternal のいずれであるかを示します。

relationshipType
String

リレーションシップのロールを一意に定義する URI。

戻り値

指定したパーツへのパッケージ レベル リレーションシップ。

例外

targetUri または relationshipTypenull です。

targetUri パーツが PackageRelationship です。または targetModeInternal で、targetUri が絶対 URI です。

targetMode の値が有効ではありません。

パッケージが開いていません (Dispose(Boolean) または Close() が呼び出されました)。

パッケージは読み取り専用です。

次の例では、 を使用CreateRelationshipして、 とルート ドキュメント パーツの間PackagePackageRelationship を作成する方法を示します。

// 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 のターゲット パーツへの 間。
  • Packageからパッケージの外部にあるターゲット リソースまでの間。

パッケージリレーションシップでは、パッケージはリレーションシップの "所有者" と見なされます。 パッケージが削除されると、パッケージが所有するすべてのリレーションシップも削除されます。

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 を参照してください。

こちらもご覧ください

適用対象

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

ターゲット パーツが、パッケージに対して InternalExternal のいずれであるかを示します。

relationshipType
String

リレーションシップのロールを一意に定義する URI。

id
String

一意の XML 識別子。

戻り値

指定したパーツへのパッケージ レベル リレーションシップ。

例外

targetUri または relationshipTypenull です。

targetUri パーツが PackageRelationship です。または targetModeInternal で、targetUri が絶対 URI です。

targetMode の値が有効ではありません。

パッケージが開いていません (Dispose(Boolean) または Close() が呼び出されました)。

パッケージは読み取り専用です。

id が有効な XML 識別子ではないか、指定した id を持つパーツが既にパッケージ内に存在します。

次の例では、 を使用CreateRelationshipして、 とルート ドキュメント パーツの間PackagePackageRelationship を作成する方法を示します。

// 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 のターゲット パーツへの 間。
  • Packageからパッケージの外部にあるターゲット リソースまでの間。

パッケージリレーションシップでは、パッケージはリレーションシップの "所有者" と見なされます。 パッケージが削除されると、パッケージが所有するすべてのリレーションシップも削除されます。

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 を参照してください。

こちらもご覧ください

適用対象