PackagePart.CreateRelationship Метод

Определение

Создает связь на уровне части между данным объектом PackagePart и указанным целевым объектом PackagePart или внешним ресурсом.

Перегрузки

CreateRelationship(Uri, TargetMode, String)

Создает связь на уровне части между данным объектом PackagePart и указанным целевым объектом PackagePart или внешним ресурсом.

CreateRelationship(Uri, TargetMode, String, String)

Создает связь на уровне части между данным объектом PackagePart и указанным целевым объектом PackagePart или внешним ресурсом.

Комментарии

Связь на уровне части определяет связь между этой частью и целевой частью или ресурсом. Связь на уровне части может быть одной из двух форм.

  • Между источником PackagePart и целевым объектом PackagePart внутри Package.

  • Между источником PackagePart и целевым ресурсом за пределами пакета.

В отношениях с частью исходная часть считается "владельцем" связи. При удалении исходной части также удаляются все связи, принадлежащие этой части. Процесс создания или удаления связи физически не изменяет целевую часть или ресурс каким-либо образом.

Метод CreateRelationship физически не изменяет ни исходную часть, ни целевую часть или ресурс каким-либо образом.

Цель связи не может быть другой связью.

Дополнительные сведения о связях пакетов см. в разделе 1.3 спецификации Open Packaging Conventions (OPC), доступной для скачивания по адресу https://www.ecma-international.org/publications-and-standards/standards/ecma-376/.

Дополнительные сведения о документах XPS см. в статье Open XML Paper Specification (XPS), доступной для скачивания по адресу https://www.ecma-international.org/publications-and-standards/standards/ecma-388/.

CreateRelationship(Uri, TargetMode, String)

Создает связь на уровне части между данным объектом PackagePart и указанным целевым объектом PackagePart или внешним ресурсом.

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 целевой части.

targetMode
TargetMode

Одно из значений перечисления. Например, Internal определяет целевую часть, находящуюся внутри Package, а External — целевой ресурс вне Package.

relationshipType
String

Роль связи.

Возвращаемое значение

Связь на уровне части между данным объектом PackagePart и целевым объектом PackagePart или внешним ресурсом.

Исключения

Данная часть была удалена.

-или-

Объект Package не открыт (вызван метод Dispose(Boolean) или Close()).

Параметр targetUri или relationshipType имеет значение null.

Параметр targetMode не является допустимым значением перечисления TargetMode.

Часть, заданная параметром targetUri, является связью (целевым объектом связи не может быть другая связь).

-или-

В качестве targetMode задано Internal, однако targetUri является абсолютным внешним URI.

Пакет доступен только для чтения (добавление новой связи невозможно).

Комментарии

Связь на уровне части определяет связь между этой частью и целевой частью или ресурсом. Связь на уровне части может быть одной из двух форм.

  • Между источником PackagePart и целевым объектом PackagePart внутри Package.

  • Между источником PackagePart и целевым ресурсом за пределами пакета.

В отношении части исходная часть считается "владельцем" связи. При удалении исходной части также удаляются все связи, принадлежащие этой части. Процесс создания или удаления связи не приводит к физическому изменению целевой части или ресурса.

Метод CreateRelationship физически не изменяет ни исходную часть, ни целевую часть, ни ресурс каким-либо образом.

Целью связи не может быть другое отношение.

Если targetMode задано значение Internal, targetUri должен быть относительным URI, сформированным в соответствии со спецификацией универсального синтаксисаRFC 3986. Внутренний относительный URI может быть либо абсолютным путем, начинающимся с символа косой черты ("/"), например "/page1.xaml" или "/images/picture4.jpg", либо относительным путем, таким как ". /imagespicture1.jpg", который разрешается в корневой каталог пакета ("/") в качестве базового URI.

Если targetMode параметр задан как External, targetUri может быть абсолютным или относительным URI, сформированным в соответствии со спецификацией универсального синтаксисаRFC 3986. "https://www.microsoft.com/page2.xml" — это пример абсолютного URI, который ссылается на внешний целевой ресурс "page2.xml". "images/picture1.jpg" — это пример относительного URI, который также ссылается на внешний целевой ресурс "1.jpg", но который разрешается в URI самого пакета.

relationshipTypeдолжен быть универсальным кодом ресурса (URI), сформированным в соответствии со спецификацией универсального синтаксисаRFC 3986. Различные типы пакетов могут определять разные типы связей на уровне частей. В следующей таблице показаны URI уровня relationshipType частей, определенные для документов, соответствующих спецификации документа Open XML (XPS).

Связь Part-Level документа XPS URI типа связи
Определения цифровой подписи http://schemas.microsoft.com/xps/2005/06/signature-definitions
DiscardControl http://schemas.microsoft.com/xps/2005/06/discard-control
Структура документа http://schemas.microsoft.com/xps/2005/06/documentstructure
PrintTicket http://schemas.microsoft.com/xps/2005/06/printticket
Требуемый ресурс http://schemas.microsoft.com/xps/2005/06/required-resource
Ограниченный шрифт http://schemas.microsoft.com/xps/2005/06/restricted-font
StartPart http://schemas.microsoft.com/xps/2005/06/fixedrepresentation
StoryFragments http://schemas.microsoft.com/xps/2005/06/storyfragments

Дополнительные сведения о связях пакетов см. в разделе 1.3 спецификации Open Packaging Conventions (OPC), доступной для скачивания по адресу https://www.ecma-international.org/publications-and-standards/standards/ecma-376/.

Дополнительные сведения о документах XPS см. в статье Open XML Paper Specification (XPS), доступной для скачивания по адресу https://www.ecma-international.org/publications-and-standards/standards/ecma-388/.

См. также раздел

Применяется к

CreateRelationship(Uri, TargetMode, String, String)

Создает связь на уровне части между данным объектом PackagePart и указанным целевым объектом PackagePart или внешним ресурсом.

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 целевой части.

targetMode
TargetMode

Одно из значений перечисления. Например, Internal определяет целевую часть, находящуюся внутри Package, а External — целевой ресурс вне Package.

relationshipType
String

Роль связи.

id
String

Уникальный идентификатор связи.

Возвращаемое значение

Связь на уровне части между данным объектом PackagePart и целевым объектом PackagePart или внешним ресурсом.

Исключения

Данная часть была удалена.

-или-

Объект Package не открыт (вызван метод Dispose(Boolean) или Close()).

Параметр targetUri или relationshipType имеет значение null.

Параметр targetMode не является допустимым значением перечисления TargetMode.

Часть, заданная параметром targetUri, является связью (целевым объектом связи не может быть другая связь).

-или-

В качестве targetMode задано Internal, однако targetUri является абсолютным внешним URI.

Пакет доступен только для чтения (добавление новой связи невозможно).

Параметр id не является допустимым идентификатором XML.

-или-

Часть с указанным id уже существует.

Комментарии

Связь на уровне части определяет связь между этой частью и целевой частью или ресурсом. Связь на уровне части может быть одной из двух форм.

  • Между источником PackagePart и целевым объектом PackagePart внутри Package.

  • Между источником PackagePart и целевым ресурсом за пределами пакета.

В отношении части исходная часть считается "владельцем" связи. При удалении исходной части также удаляются все связи, принадлежащие этой части. Процесс создания или удаления связи не приводит к физическому изменению целевой части или ресурса.

id должен быть допустимым xml-идентификатором. Тип id имеет тип xsd:ID и должен соответствовать соглашениям об именовании, предписанным в спецификации XML Schema Part 2: Datatypes (см https://www.w3.org/TR/xmlschema-2/#ID. ).

Метод CreateRelationship физически не изменяет ни исходную часть, ни целевую часть, ни ресурс каким-либо образом.

Целью связи не может быть другое отношение.

Если targetMode задано значение Internal, targetUri должен быть относительным URI, сформированным в соответствии со спецификацией универсального синтаксисаRFC 3986. Внутренний относительный URI может быть либо абсолютным путем, начинающимся с символа косой черты ("/"), например "/page1.xaml" или "/images/picture4.jpg", либо относительным путем, таким как ". /imagespicture1.jpg", который разрешается в корневой каталог пакета ("/") в качестве базового URI.

Если targetMode параметр задан как External, targetUri может быть абсолютным или относительным URI, сформированным в соответствии со спецификацией универсального синтаксисаRFC 3986. "https://www.microsoft.com/page2.xml" — это пример абсолютного URI, который ссылается на внешний целевой ресурс "page2.xml". "images/picture1.jpg" — это пример относительного URI, который также ссылается на внешний целевой ресурс "1.jpg", но который разрешается в URI самого пакета.

relationshipTypeдолжен быть универсальным кодом ресурса (URI), сформированным в соответствии со спецификацией универсального синтаксисаRFC 3986. Различные типы пакетов могут определять разные типы связей на уровне частей. В следующей таблице показаны URI уровня relationshipType частей, определенные для документов, соответствующих спецификации документа Open XML (XPS).

Связь Part-Level документа XPS URI типа связи
Определения цифровой подписи http://schemas.microsoft.com/xps/2005/06/signature-definitions
DiscardControl http://schemas.microsoft.com/xps/2005/06/discard-control
Структура документа http://schemas.microsoft.com/xps/2005/06/documentstructure
PrintTicket http://schemas.microsoft.com/xps/2005/06/printticket
Требуемый ресурс http://schemas.microsoft.com/xps/2005/06/required-resource
Ограниченный шрифт http://schemas.microsoft.com/xps/2005/06/restricted-font
StartPart http://schemas.microsoft.com/xps/2005/06/fixedrepresentation
StoryFragments http://schemas.microsoft.com/xps/2005/06/storyfragments

Дополнительные сведения о связях пакетов см. в разделе 1.3 спецификации Open Packaging Conventions (OPC), доступной для скачивания по адресу https://www.ecma-international.org/publications-and-standards/standards/ecma-376/.

Дополнительные сведения о документах XPS см. в статье Open XML Paper Specification (XPS), доступной для скачивания по адресу https://www.ecma-international.org/publications-and-standards/standards/ecma-388/.

См. также раздел

Применяется к