2008 20 de septiembre 2008

TEXTAREA problema de colapso en XSL / XSLT


Enunciado del problema:
Me encontré con este problema en relación con áreas de texto en un XSLs. En palabras simples, el problema surge cuando se tiene una etiqueta <textarea> en blanco, entonces se va a colapsar a <textarea />.
es decir, si tenía algo como lo siguiente en su XSL y los datos XML para el valor de TEXTAREA, no devuelve nada ...

<textarea name='description'> <xsl:value-of select="DESCRIPTION"/> </ textarea>

Como los navegadores no reconocen esto, hará que el resto del formulario HTML para ejecutarse en el área de texto.

POSIBLES SOLUCIONES:

En el XSL, agregue un non-breaking-espacio () después de que el xsl: tag.BEWARE de valor, para cuidar de este espacio extra que se añade, durante la validación del lado del cliente de este campo.

<textarea name='description'> <xsl:value-of select="DESCRIPTION"/> </ textarea>

O
<xsl:value-of select="concat (DESCRIPTION,'')"/>

O
Insertar una etiqueta de <xsl:value-of select="@unknown" /> apuntando a un atributo desconocido. Esto obligará al intérprete PHP XSLT para generar un texto de apertura y cierre de la etiqueta de área, incluso si no tiene nada en el medio.

O
Insertar un campo de <xsl:text> que contiene un espacio para obligar a una etiqueta de cierre.

Sin embargo, a pesar de las soluciones mencionadas anteriormente puede parecer para solucionar el problema, todavía no estoy convencido de que tienen razón y las mejores maneras de solucionarlo. Si no hay otra manera mejor de fijar esta peculiaridad, por favor háganoslo saber.


2008 14 de septiembre 2008

Una variedad de condiciones de prueba XSL (Colección de xsl: if y xsl: when condiciones de prueba)

Cada vez que tengo que hacer un XSL: SI o XSL: Cuando la prueba, tengo que volver a los libros de referencia. Me parece que nunca los recuerdo. Pensé que habría más allá, al igual que yo, que preferirían tener a todos ellos, es posible, en un solo lugar, listos para ser referidos cuando sea necesario.

Para aquellos que son nuevos ... Sintaxis XSL: SI

<xsl:if test="expression">
<- Contenido: Plantilla ->
</ Xsl: if>

El xsl: if / xsl: when Colección de prueba
Las siguientes condiciones son sencillas y explica por sí mismo. Así que creo que no necesita mucha explicación

<xsl:if test="position()=last()-1">
Esto si es el último elemento, pero uno en la lista!
</ Xsl: if>

<xsl:if test="SALARY> 5000 ">
El salario de esta persona es mayor que Rs. 5000
</ Xsl: if>

<xsl:if test="count(JOBS)> 3 ">
Hay más de 3 puestos de trabajo en esta lista!
</ Xsl: if>

<xsl:if test="(@DEPT ='SALES') o (@JOINYEAR '1997')"> =
Esta persona es del departamento de ventas o su año de inscripción es 1997
</ Xsl: if>

<xsl:if test="EXPERIENCE">
Esta persona tiene al menos un elemento secundario EXPERIENCIA.
</ Xsl: if>

<xsl:if test="@HOBBY">
La persona que tiene un atributo afición.
</ Xsl: if>

Las condiciones de un mismo texto podría ser utilizado para xsl: choose / xsl: when, así

xsl: choose

XSL XSLT: elige la instrucción es similar a xsl: si, pero tiene algunas diferencias claves:
• Un elemento xsl: choose puede probar más de una condición y agregar diferentes nodos en el árbol resultado sobre la base de que la condición es verdadera.
• Un xsl: choose elemento puede tener una plantilla predeterminada para añadir el árbol de resultados, si ninguna de las condiciones son verdaderas. (Compárese con xsl: si, que no tiene equivalente de una "cosa" condición.)
• El xsl: choose elemento tiene subelementos específicos que son necesarios para que funcione, mientras que usted puede poner todos los elementos bien formados que desee dentro de un elemento xsl: if.

<xsl:choose>
<xsl:when test="boolean-expression">
Hacer algo cuando este boolean expresión es TURA
</ Xsl: when>
<xsl:otherwise> ¿Es algo más </ xsl: de lo contrario>
</ Xsl: choose>


2008 13 de septiembre 2008

JavaScript: Editar página web en el navegador

Bueno, debo decir que no, como una pieza útil de la ciencia, pero si eres un desarrollador web, puede venir a mano, algún día (o lo hará?). Aquí es bookmarklet pequeño, que permite editar la página web para cualquier sitio.
Y ¡Lo siento! Puede guardar los resultados en su máquina local.

javascript: document.body.contentEditable = 'true'; document.designMode = "on"; void 0


2008 04 de septiembre 2008

Fija (que permanece estática en la ventana de desplazamiento) Los bloques de la página utilizando sólo CSS

Este mensaje puede ser un buen ejemplo de la frase "la abuela enseñanza a chupar los huevos" ... Porque esto es algo de CSS solo BASIC. Pero para aquellos, como el inconsciente de mí, esto podría ser una bendición disfrazada. Siempre he pensado (que podría perder mi trabajo por decir esto), sólo era posible para mantener alguna parte del contenido de la página HTML estático (es decir, su posición se mantenga como está en la ventana de desplazamiento), con algunas secuencias de comandos inteligentes, hacer todos los científicos cálculos para encontrar la posición dinámica, atrapando a los acontecimientos y el establecimiento de tiempos de espera Window.scroll etc

Nunca pensé que podría tan simple como esto .... Aquí, en el siguiente CSS / HTML, tengo cuatro bloques estáticos, uno fijado a cada uno extrimities de la página, arriba, derecha, abajo y de izquierda ... no hace falta decir ... usted puede elegir uno o más si es necesario ...

CSS
. Estática {display: block; z-index: 10; color: # ffffff; overflow-x: hidden; overflow-y: hidden; posición: ixed;
}
# Contents {margin: 0px 100px 150px 160px; border: 1px solid # e6e6e6}

# Wrap-t {top: 0px; background: # 33CC66; width: 100%; altura: 55px;}

# Wrap-l {top: 80px; fondo: # FF9966; altura: 300px; ancho: 150px; la frontera: 2px solid # e6e6e6;}

# Wrap-b {parte inferior: 0px; background: # 3333CC; width: 100%; altura: 55px;}

# Wrap-r {top: 80px; fondo: # 6666FF; altura: 300px; ancho: 140px; la frontera: 2px solid # e6e6e6; derecha: 0;}

HTML
id="contents"> <div You contenido de la página principal </ div>
<div id="wrap-b" class="static">
Contenido estático en el fondo de la página
</ Div>
<div id="wrap-t" class="static">
El contenido estático en principio
</ Div>

<div id="wrap-l" class="static">
Contenido estático en la página a la izquierda
</ Div>
<div id="wrap-r" class="static">
Contenido estático sobre el derecho de la página
</ Div>

Vea un ejemplo aquí wroking


2008 02 de septiembre 2008

CSS hack: Javascript, CSS, HTML para Firefox sólo

Muchas veces nos sentimos la necesidad de escribir específicos sobre hacks de navegador (aunque no es una buena práctica, que los desarrolladores de la interfaz de usuario tienen que recurrir a tales males, hasta las guerras de navegadores grandes llega a una tregua). Anteriormente, había mencionado en este artículo para el IE sólo , cómo escribir un fragmento de código CSS que sería visible para los navegadores Internet Explorer <IE7 sólo.

Ayer tuve un caso, donde yo quería escribir algo de Complemento específico de fragmentos de CSS. Bueno! No estoy seguro si hay un código CSS para esto, pero hay un HTML. Hay una trampa Aunque, este trozo de código HTML de validación de HTML doesnot pase. Pero, anywaz! Si le pegan mal o como tal, no tienen ninguna relación-para la validación (en algún momento tenemos que ser cruel), usted podría utilizar el siguiente para declarar un enlace a una hoja de estilo FF único, ni siquiera sólo el código de la CSS dentro de este bloque. El código es

<comentario> Pon tu Firefox sólo HTML / CSS / Secuencias de comandos aquí </ comentario>

por ejemplo,
<comentario>
<style>
O * Los estilos de FF sólo * /
fieldset {border: 1px solid # dddddd;}
</ Style>
</ Comentario>

Yo "estoy contento por el momento ...


2008 01 de septiembre 2008

Quitar elemento específico de una matriz de JavaScript que coincide con una cadena que se pasa

Aquí hay manera rápida de ampliar el objeto nativo de JavaScript Array, sólo para hacer que ...

Array.prototype. removeItem =function(str) {
for(i=0; i<this.length ; i++){
if(escape(this[i]).match(escape(str.trim()))){
this.splice(i, 1); break;
}
}
return this;
}

Así que ahora usted puede hacer algo como esto ...

var animals= new Array("dog","lion","cat","tiger","elephant");
animals. removeItem ('tiger');

Ahora la matriz contendrá los animales "perro", "león", "gato", "elefante";

PD: Y aquí está el prototipo de cadena recorte demasiado ...

String.prototype.trim=function(str) {
str = this != window? this : str;
return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}


Disfrute de ....


NDK en casa | Expresando IT | Boca Expresando | Penmenship Expresando | Awe Expresando | expresarme