Compartir a través de


Función generate-id

Devuelve una cadena que identifica el nodo en el argumento de conjunto de nodo que es primero en el orden del documento.

string generate-id(node-set?)

Comentarios

El identificador único debe consistir en caracteres alfanuméricos ASCII y debe empezar con un carácter alfanumérico.De este modo, la cadena es sintácticamente un nombre XML.No hay garantía de que un identificador único generado sea distinto de cualquier id. único especificado en el documento de origen.Si el argumento conjunto de nodos está vacío, la cadena vacía se devuelve.Si el argumento se omite, toma de forma predeterminada el nodo de contexto.

Ejemplo

Archivo XML (data.xml)

<?xml-stylesheet type="text/xsl" href="sample.xsl"?>
<catalog>
    <book id="bk101">
        <author>Gambardella, Matthew</author>
        <title>XML Developer's Guide</title>
        <genre>Computer</genre>
        <price>44.95</price>
        <publish_date>2000-10-01</publish_date>        
        <description>An in-depth look at creating applications with XML.</description>
    </book>
    <book id="bk102">
        <author>Ralls, Kim</author>
        <title>Midnight Rain</title>
        <genre>Fantasy</genre>
        <price>5.95</price>
        <publish_date>2000-12-16</publish_date>
        <description>A former architect battles corporate zombies.</description>
    </book>
</catalog>

Archivo XSLT (sample.xsl)

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html"/>
  <xsl:template match="/">
        <html>
            <body>
                <xsl:for-each select="//book">
                    <button id="{generate-id(author)}" onclick="alert(this.id)">
                        <xsl:value-of select="author"/>
                    </button>
                </xsl:for-each>
            </body>
        </html>
  </xsl:template>
</xsl:stylesheet>

Este es el resultado con formato:

Salida con formato para la función generate_id

Al hacer clic con el botón primario en Internet Explorer, un cuadro de alerta muestra "IDAHAGJD".

Al hacer clic con el botón secundario en Internet Explorer, un cuadro de alerta muestra "IDAPAGJD".

Observe que el valor de id. se genera en tiempo de ejecución.Por lo tanto, los valores específicos pueden variar en invocaciones diferentes de la transformación.

Este es el resultado del procesador:

<html>

<body><button id="IDAHAGJD" onclick="alert(this.id)">Gambardella, Matthew</button>

<button id="IDAPAGJD" onclick="alert(this.id)">Ralls, Kim</button></body>

</html>

Vea también

Referencia

Referencia de tipos de datos XML