Muestras de XSLT y jQuery

Vengo haciendo mucho de XSLT y jQuery y pensamiento que comparto algunos fragmentos que otros pueden resultar útiles en el futuro.

Ejemplo 1: Emiten simple JavaScript / jQuery en XSLT:

<XSL:Partido de plantilla = "algo" XML:Space = "preserve">

  <!– En blanco el campo oculto de filtros amigable de consulta –>
  <tipo de secuencia de comandos = "text/javascript">
    $(documento).listo(función(){
      $("#QueryFriendlyFilters").Val("vacía");
    });
  </secuencia de comandos>

</XSL:plantilla>

Que bit emite algunos JavaScript que espera de la página finalizar la carga (debido a la $(documento).listo(…)) y, a continuación, establece el valor de un campo oculto llamado QueryFriendlyFilters el valor literal "vacía".

Ejemplo 2: Uso <XSL:Si> para comprobar la "mayor que",  "menor que", etc..

<XSL:Partido de plantilla = "algo" XML:Space = "preserve">

  <div id = "fdcAllFilters">
 
    <XSL:Si test="@Count>0">
      <span class = "fdcFilterLabel">Filtros actuales:</abarcan>
    </XSL:Si>

    <!– más cosas sucede aquí. –>

</XSL:plantilla>

El fragmento de código anterior comprueba si un atributo denominado "Contar" del elemento "algo" es mayor que cero.  El XML detrás de todo esto sería algo así como:”

<algo Count = "5" />

Ejemplo 3: Recorrer en iteración todos los elementos, intercalando llamadas jQuery.

<!– Recorrer en iteración todos los filtros y mostrar la correcta  enlaces. –>
<XSL:for each select = "UserFilter">

  <una clase = "FilterHref" href = "javascript:mySubmitPage('RemoveUserFilter','{@ ID}’)">[X]</un>

  <span class = "fdcFilterLabel"><XSL:valor de select="@FilterValue"/></abarcan>

  <tipo de secuencia de comandos = "text/javascript">

    $(documento).listo(función(){
        <XSL:texto><![CDATA[$("#QueryFriendlyFilters").Val( ($("#QueryFriendlyFilters").Val() + " ]]></XSL:texto>\"<XSL:valor de select="@FilterValue"/>\"<XSL:texto><![CDATA["));]]></XSL:texto>
    });

  </secuencia de comandos>

</XSL:para cada>

El fragmento de código anterior es el más complejo y puede haber formas más fácil de hacerlo.

El XML detrás de todo esto más o menos este aspecto:

<UserFilter ID = "123" FilterValue = "xyzzy" />

Este fragmento es iterar a través de <UserFilter> nodos. 

Primero emite un ancla de etiqueta que cuando hace clic en invoca una función de JavaScript que ya está en la página, "mySubmitPage" y pasa el valor de un atributo la <UserFilter> nodo denominado "ID". 

A continuación, emite algunos jQuery que espera para que cargar la página.  Que jQuery actualiza un campo oculto denominado "QueryFriendlyFilters" agregando el valor del atributo FilterValue.  Nota todos los locos <XSL:texto> y <![CDATA[ … ]]> cosas.

Eso es todo, esperanza de ayuda!

</final>

Suscribirse a mi blog.

Sígueme en Twitter en http://www.twitter.com/pagalvin

2 pensamientos sobre "Muestras de XSLT y jQuery

    1. Paul Galvin Envío autor

      Hola, lo siento yo nunca respondió a esto. En este punto es antigua y entonces no lo haré. Espero que te diste cuenta de lo que estaba intentando hacer :).

      Respuesta

Contesta

su dirección de correo electrónico no será publicada. Los campos necesarios están marcados *