PackUriHelper.Create Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Crea un nuevo URI de paquete.
Sobrecargas
Create(Uri) |
Crea un nuevo elemento Pack URI que apunta a un paquete. |
Create(Uri, Uri) |
Crea un URI de paquete, dados el URI de Package y el URI de un elemento del paquete. |
Create(Uri, Uri, String) |
Crea un URI de paquete dados un URI de Package, el URI de un elemento del paquete y un fragmento "#" que se va a anexar. |
Comentarios
En la tabla siguiente se muestran casos de ejemplo para el Create método .
packageUri |
partUri |
fragment |
URI de paquete devuelto |
---|---|---|---|
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 |
La composición de un URI de paquete es un proceso de varios pasos. Por ejemplo, un paso para formar un URI de paquete es reemplazar los caracteres de barra diagonal (/) de por packageUri
comas (,).
Para obtener más información sobre la conversión de cadenas y cómo se forman los URI de paquete, consulte el Apéndice A.4 "Ejemplos de conversión de cadenas" y el Apéndice B.3 "Redacción de un URI de paquete" en la especificación de convenciones de empaquetado abierto disponibles para su descarga en Especificaciones y descargas de licencias.
Create(Uri)
Crea un nuevo elemento Pack URI que apunta a un paquete.
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
Parámetros
Devoluciones
El elemento Pack URI del paquete Package al que hace referencia el elemento packageUri
dado.
Excepciones
packageUri
es null
.
El parámetropackageUri
no es un identificador URI absoluto.
Ejemplos
En el ejemplo siguiente se muestra cómo usar el Create método para definir un URI de paquete que hace referencia a un paquete.
// ------------------------ 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()
Comentarios
packageUri
es posible que no se especifique como null
o esté vacío.
En la tabla siguiente se muestran los casos de ejemplo de Create.
packageUri |
URI de paquete devuelto |
---|---|
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 |
La composición de un URI de paquete es un proceso de varios pasos. Por ejemplo, un paso para formar un URI de paquete es reemplazar los caracteres de barra diagonal (/) de por packageUri
comas (,).
Para obtener más información sobre la conversión de cadenas y cómo se forman los URI del paquete, vea apéndice A.4 "Ejemplos de conversión de cadenas" y apéndice B.3 "Redacción de un URI de paquete" en la especificación Open Packaging Conventions disponible para su descarga en Especificaciones y descargas de licencias.
Consulte también
Se aplica a
Create(Uri, Uri)
Crea un URI de paquete, dados el URI de Package y el URI de un elemento del paquete.
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
Parámetros
- partUri
- Uri
URI de PackagePart del paquete.
Devoluciones
Pack URI del elemento PackagePart especificado.
Excepciones
packageUri
es null
.
El parámetropackageUri
no es un identificador URI absoluto.
o bien
El parámetro partUri
no es una sintaxis de URI de elemento válida.
Ejemplos
En el ejemplo siguiente se muestra cómo usar el Create(Uri) método para definir un URI de paquete que hace referencia a un paquete.
// ------------------------ 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()
Comentarios
packageUri
es posible que no se especifique como null o vacío.
Si partUri
es null
, el URI del paquete devuelto apunta al paquete.
En la tabla siguiente se muestran los casos de ejemplo para el Create método .
packageUri |
partUri |
URI de paquete devuelto |
---|---|---|
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 |
La composición de un URI de paquete es un proceso de varios pasos. Por ejemplo, un paso para formar un URI de paquete es reemplazar los caracteres de barra diagonal (/) de por packageUri
comas (,).
Para obtener más información sobre la conversión de cadenas y cómo se forman los URI del paquete, vea apéndice A.4 "Ejemplos de conversión de cadenas" y apéndice B.3 "Redacción de un URI de paquete" en la especificación Open Packaging Conventions disponible para su descarga en Especificaciones y descargas de licencias.
Consulte también
Se aplica a
Create(Uri, Uri, String)
Crea un URI de paquete dados un URI de Package, el URI de un elemento del paquete y un fragmento "#" que se va a anexar.
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
Parámetros
- partUri
- Uri
URI de PackagePart del paquete.
- fragment
- String
Referencia "#" que identifica un elemento dentro de la parte del paquete.
Devoluciones
URI de paquete que identifica el paquete especificado, la parte del paquete y el fragmento.
Excepciones
packageUri
es null
.
El parámetropackageUri
no es un identificador URI absoluto.
o bien
El parámetro partUri
no es una sintaxis de URI de elemento válida.
o bien
fragment
está vacío o empieza por "#".
Ejemplos
En el ejemplo siguiente se muestra cómo usar el Create(Uri) método para definir un URI de paquete que hace referencia a un paquete.
// ------------------------ 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()
Comentarios
packageUri
es posible que no se especifique como null
o esté vacío.
Si partUri
es null
, el URI del paquete devuelto apunta al paquete.
fragment
no puede ser una cadena vacía, pero se puede especificar como null
. Cuando no se especifica como null
, la fragment
cadena debe comenzar con un carácter "#". Para obtener más información sobre la sintaxis de fragment
las referencias, vea sección 3.5 "Fragmento" de RFC 3986.
En la tabla siguiente se muestran los casos de ejemplo para el Create método .
packageUri |
partUri |
fragment |
URI de paquete devuelto |
---|---|---|---|
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 |
La composición de un URI de paquete es un proceso de varios pasos. Por ejemplo, un paso para formar un URI de paquete es reemplazar los caracteres de barra diagonal (/) de por packageUri
comas (,).
Para obtener más información sobre la conversión de cadenas y cómo se forman los URI de paquete, consulte el Apéndice A.4 "Ejemplos de conversión de cadenas" y el Apéndice B.3 "Redacción de un URI de paquete" en la especificación de convenciones de empaquetado abierto disponibles para su descarga en Especificaciones y descargas de licencias.