Compartir a través de


PackUriHelper.Create Método

Definición

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)

Source:
PackUriHelper.PackUriScheme.cs
Source:
PackUriHelper.PackUriScheme.cs
Source:
PackUriHelper.PackUriScheme.cs

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

packageUri
Uri

URI del paquete Package al que se hace referencia.

Devoluciones

Uri

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)

Source:
PackUriHelper.PackUriScheme.cs
Source:
PackUriHelper.PackUriScheme.cs
Source:
PackUriHelper.PackUriScheme.cs

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

packageUri
Uri

URI de Package.

partUri
Uri

URI de PackagePart del paquete.

Devoluciones

Uri

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)

Source:
PackUriHelper.PackUriScheme.cs
Source:
PackUriHelper.PackUriScheme.cs
Source:
PackUriHelper.PackUriScheme.cs

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

packageUri
Uri

URI de Package.

partUri
Uri

URI de PackagePart del paquete.

fragment
String

Referencia "#" que identifica un elemento dentro de la parte del paquete.

Devoluciones

Uri

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.

Consulte también

Se aplica a