PackUriHelper.Create 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
새 Pack URI를 만듭니다.
오버로드
Create(Uri) |
패키지를 가리키는 새 Pack URI를 만듭니다. |
Create(Uri, Uri) |
패키지에 파트의 URI 및 Package URI가 지정된 pack URI를 만듭니다. |
Create(Uri, Uri, String) |
Package URI, 패키지 파트의 URI 및 추가할 “#” 조각이 지정된 pack URI를 만듭니다. |
설명
다음 표에서는 메서드에 대한 Create 샘플 사례를 보여 줍니다.
packageUri |
partUri |
fragment |
반환된 팩 URI |
---|---|---|---|
http://www.proseware.com/mypackage.pkg |
/page1.xaml | #intro | pack://http:,,www.proseware.com,mypackage.pkg/page1.xaml#intro |
http://www.proseware.com/mypackage.pkg |
/page2.xaml | null | pack://http:,,www.proseware.com,mypackage.pkg/page2.xaml |
http://www.proseware.com/mypackage.pkg |
/a/page4.xaml | null | pack://http:,,www.proseware.com,mypackage.pkg/a/page4.xaml |
http://www.proseware.com/mypackage.pkg |
/%41/%61.xml | null | pack://http:,,www.proseware.com,mypackage.pkg/A/a.xml |
http://www.proseware.com/mypackage.pkg |
/%25XY.xml | null | pack://http:,,www.proseware.com,mypackage.pkg/%25XY.xml |
http://www.proseware.com/mypackage.pkg |
/a/page5.xaml | #summary | pack://http:,,www.proseware.com,mypackage.pkg/a/page5.xaml#summary |
http://www.proseware.com/packages.aspx?pkg04 |
/page1.xaml | #intro | pack://http:,,www.proseware.com,packages.aspx%3fpkg04/page1.xaml#intro |
http://www.proseware.com/mypackage.pkg |
null | null | pack://http:,,www.proseware.com,mypackage.pkg |
ftp://ftp.proseware.com/packages/mypackage1.abc |
/a/mydoc.xaml | null | pack://ftp:,,ftp.proseware.com,packages,mypackage1.abc/a/mydoc.xaml |
file:///d:/packages/mypackage2.pkg |
/a/bar.xaml | #xref | pack://file:,,,d:,packages,mypackage2.pkg/a/bar.xaml#xref |
팩 URI 작성은 다단계 프로세스입니다. 예를 들어 팩 URI를 구성하는 한 단계는 의 슬래시(/) 문자를 packageUri
쉼표(,)로 바꾸는 것입니다.
문자열 변환 및 팩 URI가 형성되는 방법에 대한 자세한 내용은 사양 및 라이선스 다운로드에서 다운로드할 수 있는 오픈 패키징 규칙 사양의 부록 A.4 "문자열 변환 예제" 및 부록 B.3 "팩 URI 작성"을 참조하세요.
Create(Uri)
패키지를 가리키는 새 Pack URI를 만듭니다.
public:
static Uri ^ Create(Uri ^ packageUri);
public static Uri Create (Uri packageUri);
static member Create : Uri -> Uri
Public Shared Function Create (packageUri As Uri) As Uri
매개 변수
반환
지정된 packageUri
에서 참조하는 Package의 Pack URI입니다.
예외
packageUri
이(가) null
인 경우
packageUri
가 절대 URI가 아닙니다.
예제
다음 예제에서는 메서드를 사용하여 Create 패키지를 참조하는 팩 URI를 정의하는 방법을 보여 줍니다.
// ------------------------ GetFixedDocument --------------------------
/// <summary>
/// Returns the fixed document at a given URI within
/// the currently open XPS package.</summary>
/// <param name="fixedDocUri">
/// The URI of the fixed document to return.</param>
/// <returns>
/// The fixed document at a given URI
/// within the current XPS package.</returns>
private FixedDocument GetFixedDocument(Uri fixedDocUri)
{
FixedDocument fixedDocument = null;
// Create the URI for the fixed document within the package. The URI
// is used to set the Parser context so fonts & other items can load.
Uri tempUri = new Uri(_xpsDocumentPath, UriKind.RelativeOrAbsolute);
ParserContext parserContext = new ParserContext();
parserContext.BaseUri = PackUriHelper.Create(tempUri);
// Retrieve the fixed document.
PackagePart fixedDocPart = _xpsPackage.GetPart(fixedDocUri);
if (fixedDocPart != null)
{
object fixedObject =
XamlReader.Load(fixedDocPart.GetStream(), parserContext);
if (fixedObject != null)
fixedDocument = fixedObject as FixedDocument;
}
return fixedDocument;
}// end:GetFixedDocument()
' ------------------------ GetFixedDocument --------------------------
''' <summary>
''' Returns the fixed document at a given URI within
''' the currently open XPS package.</summary>
''' <param name="fixedDocUri">
''' The URI of the fixed document to return.</param>
''' <returns>
''' The fixed document at a given URI
''' within the current XPS package.</returns>
Private Function GetFixedDocument(ByVal fixedDocUri As Uri) As FixedDocument
Dim fixedDocument As FixedDocument = Nothing
' Create the URI for the fixed document within the package. The URI
' is used to set the Parser context so fonts & other items can load.
Dim tempUri As New Uri(_xpsDocumentPath, UriKind.RelativeOrAbsolute)
Dim parserContext As New ParserContext()
parserContext.BaseUri = PackUriHelper.Create(tempUri)
' Retrieve the fixed document.
Dim fixedDocPart As PackagePart = _xpsPackage.GetPart(fixedDocUri)
If fixedDocPart IsNot Nothing Then
Dim fixedObject As Object = XamlReader.Load(fixedDocPart.GetStream(), parserContext)
If fixedObject IsNot Nothing Then
fixedDocument = TryCast(fixedObject, FixedDocument)
End If
End If
Return fixedDocument
End Function ' end:GetFixedDocument()
설명
packageUri
을 로 null
지정하거나 비워 둘 수 없습니다.
다음 표에서는 에 대한 Create샘플 사례를 보여 줍니다.
packageUri |
반환된 팩 URI |
---|---|
http://www.proseware.com/mypackage.pkg |
pack://http:,,www.proseware.com,mypackage.pkg |
ftp://ftp.proseware.com/packages/mypackage1.abc | pack://ftp:,,ftp.proseware.com,packages,mypackage1.abc |
file:///d:/packages/mypackage2.pkg | pack://file:,,,d:,packages,mypackage2.pkg |
팩 URI 작성은 다단계 프로세스입니다. 예를 들어 팩 URI를 구성하는 한 단계는 의 packageUri
슬래시(/) 문자를 쉼표(,)로 바꾸는 것입니다.
문자열 변환 및 팩 URI가 형성되는 방법에 대한 자세한 내용은 사양 및 라이선스 다운로드에서 다운로드할 수 있는 Open Packaging Conventions 사양의 부록 A.4 "문자열 변환 예제" 및 부록 B.3 "팩 URI 작성"을 참조하세요.
추가 정보
적용 대상
Create(Uri, Uri)
패키지에 파트의 URI 및 Package URI가 지정된 pack URI를 만듭니다.
public:
static Uri ^ Create(Uri ^ packageUri, Uri ^ partUri);
public static Uri Create (Uri packageUri, Uri partUri);
public static Uri Create (Uri packageUri, Uri? partUri);
static member Create : Uri * Uri -> Uri
Public Shared Function Create (packageUri As Uri, partUri As Uri) As Uri
매개 변수
- partUri
- Uri
패키지에 있는 PackagePart의 URI입니다.
반환
지정된 PackagePart의 pack URI입니다.
예외
packageUri
이(가) null
인 경우
예제
다음 예제에서는 메서드를 사용하여 Create(Uri) 패키지를 참조하는 팩 URI를 정의하는 방법을 보여 줍니다.
// ------------------------ GetFixedDocument --------------------------
/// <summary>
/// Returns the fixed document at a given URI within
/// the currently open XPS package.</summary>
/// <param name="fixedDocUri">
/// The URI of the fixed document to return.</param>
/// <returns>
/// The fixed document at a given URI
/// within the current XPS package.</returns>
private FixedDocument GetFixedDocument(Uri fixedDocUri)
{
FixedDocument fixedDocument = null;
// Create the URI for the fixed document within the package. The URI
// is used to set the Parser context so fonts & other items can load.
Uri tempUri = new Uri(_xpsDocumentPath, UriKind.RelativeOrAbsolute);
ParserContext parserContext = new ParserContext();
parserContext.BaseUri = PackUriHelper.Create(tempUri);
// Retrieve the fixed document.
PackagePart fixedDocPart = _xpsPackage.GetPart(fixedDocUri);
if (fixedDocPart != null)
{
object fixedObject =
XamlReader.Load(fixedDocPart.GetStream(), parserContext);
if (fixedObject != null)
fixedDocument = fixedObject as FixedDocument;
}
return fixedDocument;
}// end:GetFixedDocument()
' ------------------------ GetFixedDocument --------------------------
''' <summary>
''' Returns the fixed document at a given URI within
''' the currently open XPS package.</summary>
''' <param name="fixedDocUri">
''' The URI of the fixed document to return.</param>
''' <returns>
''' The fixed document at a given URI
''' within the current XPS package.</returns>
Private Function GetFixedDocument(ByVal fixedDocUri As Uri) As FixedDocument
Dim fixedDocument As FixedDocument = Nothing
' Create the URI for the fixed document within the package. The URI
' is used to set the Parser context so fonts & other items can load.
Dim tempUri As New Uri(_xpsDocumentPath, UriKind.RelativeOrAbsolute)
Dim parserContext As New ParserContext()
parserContext.BaseUri = PackUriHelper.Create(tempUri)
' Retrieve the fixed document.
Dim fixedDocPart As PackagePart = _xpsPackage.GetPart(fixedDocUri)
If fixedDocPart IsNot Nothing Then
Dim fixedObject As Object = XamlReader.Load(fixedDocPart.GetStream(), parserContext)
If fixedObject IsNot Nothing Then
fixedDocument = TryCast(fixedObject, FixedDocument)
End If
End If
Return fixedDocument
End Function ' end:GetFixedDocument()
설명
packageUri
을 null 또는 empty로 지정하지 않을 수 있습니다.
가 이null
면 partUri
반환된 팩 URI가 패키지를 가리킵니다.
다음 표에서는 메서드에 대한 Create 샘플 사례를 보여 줍니다.
packageUri |
partUri |
반환된 팩 URI |
---|---|---|
http://www.proseware.com/mypackage.pkg |
/page2.xaml | pack://http:,,www.proseware.com,mypackage.pkg/page2.xaml |
http://www.proseware.com/mypackage.pkg |
/a/page4.xaml | pack://http:,,www.proseware.com,mypackage.pkg/a/page4.xaml |
http://www.proseware.com/mypackage.pkg |
/%41/%61.xml | pack://http:,,www.proseware.com,mypackage.pkg/A/a.xml |
http://www.proseware.com/mypackage.pkg |
/%25XY.xml | pack://http:,,www.proseware.com,mypackage.pkg/%25XY.xml |
http://www.proseware.com/mypackage.pkg |
null | pack://http:,,www.proseware.com,mypackage.pkg |
ftp://ftp.proseware.com/packages/mypackage1.abc | /a/mydoc.xaml | pack://ftp:,,ftp.proseware.com,packages,mypackage1.abc/a/mydoc.xaml |
file:///d:/packages/mypackage2.pkg | /a/bar.xaml | pack://file:,,,d:,packages,mypackage2.pkg/a/bar.xaml |
팩 URI 작성은 다단계 프로세스입니다. 예를 들어 팩 URI를 구성하는 한 단계는 의 packageUri
슬래시(/) 문자를 쉼표(,)로 바꾸는 것입니다.
문자열 변환 및 팩 URI가 형성되는 방법에 대한 자세한 내용은 사양 및 라이선스 다운로드에서 다운로드할 수 있는 Open Packaging Conventions 사양의 부록 A.4 "문자열 변환 예제" 및 부록 B.3 "팩 URI 작성"을 참조하세요.
추가 정보
적용 대상
Create(Uri, Uri, String)
Package URI, 패키지 파트의 URI 및 추가할 “#” 조각이 지정된 pack URI를 만듭니다.
public:
static Uri ^ Create(Uri ^ packageUri, Uri ^ partUri, System::String ^ fragment);
public static Uri Create (Uri packageUri, Uri partUri, string fragment);
public static Uri Create (Uri packageUri, Uri? partUri, string? fragment);
static member Create : Uri * Uri * string -> Uri
Public Shared Function Create (packageUri As Uri, partUri As Uri, fragment As String) As Uri
매개 변수
- partUri
- Uri
패키지에 있는 PackagePart의 URI입니다.
- fragment
- String
패키지 파트 내에서 요소를 식별하는 "#" 참조입니다.
반환
지정된 패키지, 패키지 파트 및 조각을 식별하는 Pack URI입니다.
예외
packageUri
이(가) null
인 경우
packageUri
가 절대 URI가 아닙니다.
또는
partUri
는 유효한 파트 URI 구문이 아닙니다.
또는
fragment
가 비어 있거나 "#"으로 시작하지 않는 경우
예제
다음 예제에서는 메서드를 사용하여 Create(Uri) 패키지를 참조하는 팩 URI를 정의하는 방법을 보여 줍니다.
// ------------------------ GetFixedDocument --------------------------
/// <summary>
/// Returns the fixed document at a given URI within
/// the currently open XPS package.</summary>
/// <param name="fixedDocUri">
/// The URI of the fixed document to return.</param>
/// <returns>
/// The fixed document at a given URI
/// within the current XPS package.</returns>
private FixedDocument GetFixedDocument(Uri fixedDocUri)
{
FixedDocument fixedDocument = null;
// Create the URI for the fixed document within the package. The URI
// is used to set the Parser context so fonts & other items can load.
Uri tempUri = new Uri(_xpsDocumentPath, UriKind.RelativeOrAbsolute);
ParserContext parserContext = new ParserContext();
parserContext.BaseUri = PackUriHelper.Create(tempUri);
// Retrieve the fixed document.
PackagePart fixedDocPart = _xpsPackage.GetPart(fixedDocUri);
if (fixedDocPart != null)
{
object fixedObject =
XamlReader.Load(fixedDocPart.GetStream(), parserContext);
if (fixedObject != null)
fixedDocument = fixedObject as FixedDocument;
}
return fixedDocument;
}// end:GetFixedDocument()
' ------------------------ GetFixedDocument --------------------------
''' <summary>
''' Returns the fixed document at a given URI within
''' the currently open XPS package.</summary>
''' <param name="fixedDocUri">
''' The URI of the fixed document to return.</param>
''' <returns>
''' The fixed document at a given URI
''' within the current XPS package.</returns>
Private Function GetFixedDocument(ByVal fixedDocUri As Uri) As FixedDocument
Dim fixedDocument As FixedDocument = Nothing
' Create the URI for the fixed document within the package. The URI
' is used to set the Parser context so fonts & other items can load.
Dim tempUri As New Uri(_xpsDocumentPath, UriKind.RelativeOrAbsolute)
Dim parserContext As New ParserContext()
parserContext.BaseUri = PackUriHelper.Create(tempUri)
' Retrieve the fixed document.
Dim fixedDocPart As PackagePart = _xpsPackage.GetPart(fixedDocUri)
If fixedDocPart IsNot Nothing Then
Dim fixedObject As Object = XamlReader.Load(fixedDocPart.GetStream(), parserContext)
If fixedObject IsNot Nothing Then
fixedDocument = TryCast(fixedObject, FixedDocument)
End If
End If
Return fixedDocument
End Function ' end:GetFixedDocument()
설명
packageUri
을 로 null
지정하거나 비워 둘 수 없습니다.
가 이null
면 partUri
반환된 팩 URI가 패키지를 가리킵니다.
fragment
는 빈 문자열일 수 없지만 로 null
지정할 수 있습니다. 로 null
지정하지 않으면 문자열이 fragment
'#' 문자로 시작해야 합니다. 참조 구문에 대한 자세한 내용은 RFC 3986의 fragment
섹션 3.5 "조각"을 참조하세요.
다음 표에서는 메서드에 대한 Create 샘플 사례를 보여 줍니다.
packageUri |
partUri |
fragment |
반환된 팩 URI |
---|---|---|---|
http://www.proseware.com/mypackage.pkg |
/page1.xaml | #intro | pack://http:,,www.proseware.com,mypackage.pkg/page1.xaml#intro |
http://www.proseware.com/mypackage.pkg |
/page2.xaml | null | pack://http:,,www.proseware.com,mypackage.pkg/page2.xaml |
http://www.proseware.com/mypackage.pkg |
/a/page4.xaml | null | pack://http:,,www.proseware.com,mypackage.pkg/a/page4.xaml |
http://www.proseware.com/mypackage.pkg |
/%41/%61.xml | null | pack://http:,,www.proseware.com,mypackage.pkg/A/a.xml |
http://www.proseware.com/mypackage.pkg |
/%25XY.xml | null | pack://http:,,www.proseware.com,mypackage.pkg/%25XY.xml |
http://www.proseware.com/mypackage.pkg |
/a/page5.xaml | #summary | pack://http:,,www.proseware.com,mypackage.pkg/a/page5.xaml#summary |
http://www.proseware.com/packages.aspx?pkg04 |
/page1.xaml | #intro | pack://http:,,www.proseware.com,packages.aspx%3fpkg04/page1.xaml#intro |
http://www.proseware.com/mypackage.pkg |
null | null | pack://http:,,www.proseware.com,mypackage.pkg |
ftp://ftp.proseware.com/packages/mypackage1.abc |
/a/mydoc.xaml | null | pack://ftp:,,ftp.proseware.com,packages,mypackage1.abc/a/mydoc.xaml |
file:///d:/packages/mypackage2.pkg |
/a/bar.xaml | #xref | pack://file:,,,d:,packages,mypackage2.pkg/a/bar.xaml#xref |
팩 URI 작성은 다단계 프로세스입니다. 예를 들어 팩 URI를 구성하는 한 단계는 의 슬래시(/) 문자를 packageUri
쉼표(,)로 바꾸는 것입니다.
문자열 변환 및 팩 URI가 형성되는 방법에 대한 자세한 내용은 사양 및 라이선스 다운로드에서 다운로드할 수 있는 오픈 패키징 규칙 사양의 부록 A.4 "문자열 변환 예제" 및 부록 B.3 "팩 URI 작성"을 참조하세요.
추가 정보
적용 대상
.NET