2008 20 de setembro de 2008

TEXTAREA problema do colapso no XSL / XSLT


Enunciado do problema:
Corrín a este problema en relación textareas en XSLs. En palabras simples, o problema xorde cando ten unha etiqueta <textarea> en branco, entón el ha recollelo para <textarea />.
é dicir, se tivese algo como o seguinte no seu XSL e os datos XML para o valor TEXTAREA, retorna nada ...

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

Como os navegadores non recoñecen iso, fará que o resto do formulario HTML para ser executado na área de texto.

Posibles solucións:

No XSL, engade un espazo sen quebra-() despois do XSL: tag.BEWARE valor, para coidar deste espazo extra que se engade, durante validações do lado do cliente da zona.

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

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

Ou
Insira un <xsl:value-of select="@unknown" tag /> apuntando cara un atributo descoñecido. Isto ha facer o PHP parser XSLT para xerar unha apertura e de peche tag área de texto, aínda que iso non ten nada no medio.

Ou
Inserir un campo de <xsl:text> contén un espazo para forzar unha marca de peche.

Con todo, aínda que as solucións anteriormente mencionadas pode parecer para resolver o problema, aínda non estou convencido de que están correctas e mellores formas de resolve-lo. Se hai calquera outra forma mellor de corrixir este equívoco, por favor, deixe-nos saber.


2008 14 setembro de 2008

Unha variedade de condicións de proba XSL (Colección de XSL: IF e XSL: Condicións Cando a proba)

Cada vez que teño que facer un XSL: IF ou XSL: Cando a proba, eu teño volver a os libros de referencia. Eu nunca me lembro deles. Pensei que habería máis aí fóra, así como eu, que prefiren prefire ter todos eles, é posible, nun lugar, listo para ser encamiñado, cando sexa necesario.

Para os que son novos ... Sintaxe para XSL: SE

<xsl:if test="expression">
<- Contido: template ->
</ XSL: if>

O XSL: if / XSL: cando o conxunto de proba
As condicións que seguen son todas simple e auto-explicativo. Entón eu creo que non vai ter moita explicación

<xsl:if test="position()=last()-1">
Isto o elemento penúltimo na lista!
</ XSL: if>

<xsl:if test="SALARY> 5000 ">
O salario da persoa é maior que RS. 5000
</ XSL: if>

<xsl:if test="count(JOBS)> 3 ">
Hai máis de 3 prazas de emprego nesta lista!
</ XSL: if>

<xsl:if test="(@DEPT ='SALES') ou (@JOINYEAR = '1997')">
Esta persoa é a partir de departamento de vendas ou o seu ano de adhesión e 1997
</ XSL: if>

<xsl:if test="EXPERIENCE">
Esta persoa ten polo menos un elemento fillo experiencia.
</ XSL: if>

<xsl:if test="@HOBBY">
A persoa ten un atributo hobby.
</ XSL: if>

As condicións texto mesmos poderían ser usados ​​para XSL: choose / XSL: CANDO ben

XSL: choose

XSL XSLT de instrución: escoller é semellante ao XSL: if, pero ten algunhas diferenzas fundamentais poucos:
• Un elemento XSL: choose pode probar máis dunha condición e engadir diferentes nós da árbore de resultado con base en que condición é certa.
• Un XSL: choose elemento pode ter un modelo estándar para engadir á árbore de resultado, se ningunha das condicións sexan certas. (Compare XSL: if, que non ten equivalente dunha condición "else").
• O XSL: choose elemento ten subelementos específicos que son necesarios para que funcione, mentres pode pór todos os elementos ben formados que quere dentro dun XSL: if elemento.

<xsl:choose>
<xsl:when test="boolean-expression">
Fai algo cando este boolean expresión é TURE
</ XSL: When>
<xsl:otherwise> facer outra cousa </ XSL: otherwise>
</ XSL: choose>


2008 13 de setembro de 2008

JavaScript: Editar páxina web no navegador

Ben, debo dicir, non como unha peza útil da ciencia, pero se vostede é un desenvolvedor web, pode vir a cadra, un día (ou será?). Aquí é pequeno bookmarklet, que permite editar a páxina web para calquera sitio.
E Sorry! Pode gardar os resultados na súa máquina local.

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


2008 04 setembro de 2008

Fixados (que permanece estático na fiestra de desprazamento) Bloques páxina usando só CSS

Este post pode ser un bo exemplo para a frase "a avoa de Ensino para Sugar ovos" ... Porque este é só BASIC Cousas CSS. Pero para aqueles, como a me esquecera, que pode ser unha bendición disfrazada. Eu sempre pensei (eu podería perder meu traballo por dicir iso), só era posible para manter algunha parte do contido da páxina HTML estático (ou sexa, a súa posición permanece como está na Scroll Window), utilizando algúns scripts intelixentes, facendo todas aquelas científica cálculos para atopar posición dinámica, prendendo eventos Window.scroll e establecer timeouts, etc

Nunca pensei que podería tan sinxelo coma isto .... Aquí no seguinte CSS / HTML, eu teño catro bloques estáticos, un fixado cada extrimities da páxina, TOP, inferior, dereita e esquerda ... innecesario dicir ... pode escoller calquera ou máis se ten que ser ...

CSS
. Static {display: block; z-index: 10; color: # ffffff; overflow X: hidden; overflow-y: hidden; posición: ixed;
}
Contido # {Margin: 100px 150px 160px 0px; Modelo: 1px solid # e6e6e6}

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

# Wrap-l {top: 80px; background: # FF9966; height: 300px; width: 150px; Modelo: 2px solid # e6e6e6;}

# Wrap-b {bottom: 0px; background: # 3333CC; width: 100%; height: 55px;}

# Wrap-r {top: 80px; background: # 6666FF; height: 300px; width: 140px; Modelo: 2px solid # e6e6e6; dereita: 0;}

HTML
id = "contents"> <span Vostede principais contidos da páxina </ div>
<div id="wrap-b" class="static">
Estático no fondo Páxina
</ Div>
<div id="wrap-t" class="static">
Estático na páxina Inicio
</ Div>

<div id="wrap-l" class="static">
Estático na páxina esquerda
</ Div>
<div id="wrap-r" class="static">
Estático en dereito Páxina
</ Div>

Ver un exemplo wroking aquí


2008 02 de setembro de 2008

CSS Hacker: Javascript, CSS, HTML só para Firefox

Moitas veces sentimos a necesidade de escribir hacks navegador específica (aínda que non sexa unha boa práctica, nós desenvolvedores de interface de usuario ter que recorrer a eses males, ata as grandes guerras Navegadores trata dunha tregua). Anteriormente, eu había mencionado neste artigo pola súa IES Só , como escribir un fragmento de CSS que sería visible para os navegadores IE <IE7 só.

Onte, eu tiven un caso, onde eu quería escribir algunha Firefox específico CSS fragmentos. Ben! Eu non estou seguro se existe un código CSS para iso, pero hai un HTML. Pero hai un problema, porén, este anaco de HTML doesnot validación de HTML pase. Pero, anywaz! Se está preso ou mal, como tal, non teñen relación para validación (ás veces hai que ser cruel), vostede podería usar o seguinte para declarar unha ligazón a unha folla de estilo FF só ou mesmo só o código CSS dentro deste bloque. O código é

<comment> Poña o seu Firefox só HTML / CSS / Scripts aquí </ comment>

por exemplo
<comment>
<style>
/ * Estilos para FF só * /
fieldset {Modelo: 1px solid # dddddd;}
</ Style>
</ Comment>

I "m feliz para o momento ...


2008 Primeiro de setembro de 2008

Eliminar elemento específico dunha matriz de javascript que corresponde a unha cadea pasada

Aquí hai maneira rápida de ampliar o obxecto de matriz nativa Javascript, só para facer iso ...

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;
}

Entón, agora pode facer algo así ...

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

Agora a matriz animais conterá "can", "león", "gato", "elefante";

PS: E aquí está o prototipo de Cordas da guarnición tamén ...

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


Aproveitar ....


NDK casa | Expresando IT | Palate expresando | Penmenship expresando | AWE expresando | expresar o meu