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)
설명
패키지 수준 관계는 패키지와 연결된 대상 부분 또는 리소스 간의 연결을 정의합니다. 패키지 수준 관계는 두 가지 양식 중 하나일 수 있습니다.
- Package 패키지 내의 대상 PackagePart 에 대한 입니다.
- Package 패키지 외부의 대상 리소스에 대한 입니다.
패키지 관계에서 패키지는 관계의 "소유자"로 간주됩니다. 패키지가 삭제되면 패키지가 소유한 모든 관계도 삭제됩니다. 관계를 만들거나 삭제하는 프로세스는 어떤 방식으로든 대상 부분 또는 리소스를 물리적으로 변경하지 않습니다.
자세한 내용은 에서 https://www.ecma-international.org/publications-and-standards/standards/ecma-376/다운로드할 수 있는 OPC(Open Packaging Conventions) 사양을 참조하세요.
CreateRelationship(Uri, TargetMode, String)
- Source:
- Package.cs
- Source:
- Package.cs
- Source:
- Package.cs
- Source:
- 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
대상 파트의 URI(Uniform Resource Identifier)입니다.
- targetMode
- TargetMode
- relationshipType
- String
관계의 역할을 고유하게 정의하는 URI입니다.
반환
지정된 파트에 대한 패키지 수준 관계입니다.
예외
targetUri
또는 relationshipType
가 null
인 경우
targetUri
파트가 PackageRelationship이거나 targetMode
가 Internal이고 targetUri
가 절대 URI인 경우
targetMode
의 값이 올바르지 않은 경우
패키지가 열려 있지 않은 경우(Dispose(Boolean) 또는 Close()가 호출된 경우)
패키지가 읽기 전용인 경우
예제
다음 예제에서는 를 사용하여 CreateRelationship 와 루트 문서 파트 간에 를 PackageRelationshipPackage 만드는 방법을 보여 줍니다.
// 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)
설명
패키지 수준 관계는 패키지와 연결된 대상 부분 또는 리소스 간의 연결을 정의합니다. 패키지 수준 관계는 두 가지 양식 중 하나일 수 있습니다.
패키지 관계에서 패키지는 관계의 "소유자"로 간주됩니다. 패키지가 삭제되면 패키지가 소유한 모든 관계도 삭제됩니다.
CreateRelationship 는 어떤 방식으로든 대상 부분 또는 리소스를 물리적으로 변경하지 않습니다.
관계의 대상은 다른 관계일 수 없습니다.
가 로 InternaltargetUri
지정된 경우 targetMode
RFC 3986 URI(Uniform Resource Identifier) 제네릭 구문 사양에 따라 형성된 상대 URI여야 합니다. 내부 상대 URI는 "/page1.xaml" 또는 "/images/picture4.jpg"과 같은 슬래시("/") 문자로 시작하는 절대 경로 또는 ".와 같은 상대 경로일 수 있습니다. 패키지 루트("/")를 기본 URI로 확인하는 /imagespicture1.jpg"입니다.
가 로 ExternaltargetUri
지정된 경우 targetMode
RFC 3986 URI(Uniform Resource Identifier) 제네릭 구문 사양에 따라 형성된 절대 또는 상대 URI일 수 있습니다.
http://www.microsoft.com/page2.xml
는 외부 대상 리소스 "page2.xml"를 참조하는 절대 URI의 예입니다. "images/picture1.jpg"는 외부 대상 리소스 "1.jpg"를 참조하지만 패키지 자체의 URI에 대해 확인하는 상대 URI의 예입니다.
relationshipType
는 RFC 3986 URI(Uniform Resource Identifier) 일반 구문 사양에 따라 형성된 URI여야 합니다. 다음 표에서는 OPC(Open Packaging Conventions) 사양에 정의된 패키지 수준 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/다운로드할 수 있는 OPC(Open Packaging Conventions) 사양의 섹션 1.3을 참조하세요.
추가 정보
- DeleteRelationship(String)
- GetRelationship(String)
- GetRelationships()
- GetRelationshipsByType(String)
- RelationshipExists(String)
적용 대상
CreateRelationship(Uri, TargetMode, String, String)
- Source:
- Package.cs
- Source:
- Package.cs
- Source:
- Package.cs
- Source:
- 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
대상 파트의 URI(Uniform Resource Identifier)입니다.
- 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 와 루트 문서 파트 간에 를 PackageRelationshipPackage 만드는 방법을 보여 줍니다.
// 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)
설명
패키지 수준 관계는 패키지와 연결된 대상 부분 또는 리소스 간의 연결을 정의합니다. 패키지 수준 관계는 두 가지 양식 중 하나일 수 있습니다.
패키지 관계에서 패키지는 관계의 "소유자"로 간주됩니다. 패키지가 삭제되면 패키지가 소유한 모든 관계도 삭제됩니다.
CreateRelationship 는 어떤 방식으로든 대상 부분 또는 리소스를 물리적으로 변경하지 않습니다.
관계의 대상은 다른 관계일 수 없습니다.
id
는 유효한 XML 식별자여야 합니다. 형식은 id
xsd:ID이며 XML 스키마 2부: Datatypes 사양에 지정된 명명 규칙을 따라야 합니다(참조 https://www.w3.org/TR/xmlschema-2/#ID).
가 고유 ID로 null
지정된 경우 id
가 자동으로 생성됩니다.
id
빈 문자열로 지정된 가 잘못되었습니다.
가 로 InternaltargetUri
지정된 경우 targetMode
RFC 3986 URI(Uniform Resource Identifier) 제네릭 구문 사양에 따라 형성된 상대 URI여야 합니다. 내부 상대 URI는 "/page1.xaml" 또는 "/images/picture4.jpg"과 같은 슬래시("/") 문자로 시작하는 절대 경로 또는 ".와 같은 상대 경로일 수 있습니다. 패키지 루트("/")를 기본 URI로 확인하는 /imagespicture1.jpg"입니다.
가 로 ExternaltargetUri
지정된 경우 targetMode
RFC 3986 URI(Uniform Resource Identifier) 제네릭 구문 사양에 따라 형성된 절대 또는 상대 URI일 수 있습니다.
http://www.microsoft.com/page2.xml
는 외부 대상 리소스 "page2.xml"를 참조하는 절대 URI의 예입니다. "images/picture1.jpg"는 외부 대상 리소스 "1.jpg"를 참조하지만 패키지 자체의 URI에 대해 확인하는 상대 URI의 예입니다.
relationshipType
는 RFC 3986 URI(Uniform Resource Identifier) 일반 구문 사양에 따라 형성된 URI여야 합니다. 다음 표에서는 OPC(Open Packaging Conventions) 사양에 정의된 패키지 수준 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/다운로드할 수 있는 OPC(Open Packaging Conventions) 사양의 섹션 1.3을 참조하세요.
추가 정보
- CreateRelationship(Uri, TargetMode, String)
- DeleteRelationship(String)
- GetRelationship(String)
- GetRelationships()
- GetRelationshipsByType(String)
- RelationshipExists(String)
적용 대상
.NET