2008 20 de setembro de 2008

TEXTAREA problema do colapso em XSL / XSLT


Enunciado do problema:
Corri para este problema em relação textareas em XSLs. Em palavras simples, o problema surge quando você tem uma tag <textarea> em branco, então ele irá recolhê-lo para <textarea />.
ou seja, se você tivesse algo como o seguinte em seu XSL e os dados XML para o valor TEXTAREA, retorna nada ...

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

Como os navegadores não reconhecem isso, fará com que o resto do formulário HTML para ser executado na área de texto.

Possíveis soluções:

No XSL, adicione um espaço sem quebra-() após o xsl: tag.BEWARE valor, para cuidar deste espaço extra que é adicionado, durante validações do lado do cliente da área.

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

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

Ou
Insira um <xsl:value-of select="@unknown" tag /> apontando para um atributo desconhecido. Isto irá forçar o PHP parser XSLT para gerar uma abertura e de encerramento tag área de texto, mesmo que isso não tem nada no meio.

Ou
Inserir um campo de <xsl:text> contendo um espaço para forçar uma marca de fechamento.

No entanto, embora as soluções acima mencionadas pode parecer para corrigir o problema, ainda não estou convencido de que elas estão certas e melhores maneiras de corrigi-lo. Se houver qualquer outra maneira melhor de corrigir esse equívoco, por favor, deixe-nos saber.


2008 14 setembro de 2008

Uma variedade de condições de teste XSL (Coleção de XSL: IF e XSL: Condições Quando o teste)

Toda vez que eu tenho que fazer um XSL: IF ou XSL: Quando o teste, eu tenho voltar para os livros de referência. Eu nunca me lembro deles. Pensei que haveria mais lá fora, assim como eu, que preferem preferem ter todos eles, possível, em um lugar, pronto para ser encaminhado, quando necessário.

Para aqueles que são novos ... Sintaxe para XSL: SE

<xsl:if test="expression">
<- Conteúdo: template ->
</ Xsl: if>

O xsl: if / xsl: quando o conjunto de teste
As condições abaixo são todas simples e auto-explicativo. Então eu acredito que não vai precisar de muita explicação

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

<xsl:if test="SALARY> 5000 ">
O salário dessa pessoa é maior do que Rs. 5000
</ Xsl: if>

<xsl:if test="count(JOBS)> 3 ">
Há mais de 3 vagas de emprego nesta lista!
</ Xsl: if>

<xsl:if test="(@DEPT ='SALES') ou (@JOINYEAR = '1997')">
Esta pessoa é a partir de departamento de vendas ou o seu ano de adesão é 1997
</ Xsl: if>

<xsl:if test="EXPERIENCE">
Esta pessoa tem pelo menos um elemento filho EXPERIÊNCIA.
</ Xsl: if>

<xsl:if test="@HOBBY">
A pessoa tem um atributo hobby.
</ Xsl: if>

As condições texto mesmos poderiam ser usados ​​para xsl: choose / XSL: QUANDO bem

xsl: choose

Xsl XSLT de instrução: escolher é semelhante ao xsl: if, mas tem algumas diferenças fundamentais poucos:
• Um elemento xsl: choose pode testar mais de uma condição e adicionar diferentes nós da árvore de resultado com base em que condição for verdadeira.
• Um xsl: choose elemento pode ter um modelo padrão para adicionar à árvore de resultado, se nenhuma das condições forem verdadeiras. (Compare xsl: if, que não tem equivalente de uma condição "else").
• O xsl: choose elemento tem subelementos específicos que são necessários para que ele funcione, enquanto você pode colocar todos os elementos bem formados que você quer dentro de um xsl: if elemento.

<xsl:choose>
<xsl:when test="boolean-expression">
Faça alguma coisa quando este boolean expressão é TURE
</ Xsl: when>
<xsl:otherwise> fazer outra coisa </ xsl: otherwise>
</ Xsl: choose>


2008 13 de setembro de 2008

JavaScript: Editar página web no navegador

Bem, devo dizer, não como uma peça útil da ciência, mas se você for um desenvolvedor Web, pode vir a calhar, um dia (ou será?). Aqui é pequeno bookmarklet, que permite editar a página na web para qualquer site.
E Sorry! Você pode salvar os resultados em sua máquina local.

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


2008 04 setembro de 2008

Fixados (que permanece estático na janela de rolagem) Blocos página usando apenas CSS

Este post pode ser um bom exemplo para a frase "a avó de Ensino para sugar ovos" ... Porque este é apenas BASIC Coisas CSS. Mas para aqueles, como a me esquecido, isso pode ser uma bênção disfarçada. Eu sempre pensei (eu poderia perder meu emprego por dizer isso), só era possível para manter alguma parte do conteúdo da página HTML estático (ou seja, a sua posição permanece como está na Scroll Window), usando alguns scripts inteligentes, fazendo todas aquelas científica cálculos para encontrar posição dinâmica, prendendo eventos Window.scroll e definir timeouts, etc

Nunca pensei que poderia tão simples como isto .... Aqui no abaixo CSS / HTML, eu tenho quatro blocos estáticos, um fixado a cada extrimities da página, TOP, inferior, direita e esquerda ... desnecessário dizer ... você pode escolher qualquer uma ou mais se precisa ser ...

CSS
. Static {display: block; z-index: 10; color: # ffffff; overflow-x: hidden; overflow-y: hidden; posição: ixed;
}
Conteúdo # {margin: 100px 150px 160px 0px; border: 1px solid # e6e6e6}

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

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

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

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

HTML
id="contents"> <div Você principais conteúdo da página </ div>
<div id="wrap-b" class="static">
Estático na parte inferior Página
</ Div>
<div id="wrap-t" class="static">
Estático na página Início
</ Div>

<div id="wrap-l" class="static">
Estático na página esquerda
</ Div>
<div id="wrap-r" class="static">
Estático em direito Página
</ Div>

Ver um exemplo wroking aqui


2008 02 de setembro de 2008

CSS hack: Javascript, CSS, HTML somente para o Firefox

Muitas vezes sentimos a necessidade de escrever hacks navegador específica (embora não seja uma boa prática, nós desenvolvedores de interface do usuário ter que recorrer a esses males, até as grandes guerras Navegadores trata de uma trégua). Anteriormente, eu havia mencionado neste artigo Para sua IEs Apenas , como escrever um trecho de CSS que seria visível para os navegadores IE <IE7 só.

Ontem, eu tive um caso, onde eu queria escrever alguma FireFox específico CSS trechos. Bem! Eu não tenho certeza se existe um código CSS para isso, mas há um HTML. Mas há um problema, porém, este pedaço de HTML doesnot validação do HTML passe. Mas, anywaz! Se você está preso ou mal, como tal, não têm relação para validação (por vezes temos de ser cruel), você poderia usar o seguinte para declarar um link para uma folha de estilo FF só ou mesmo apenas o código CSS dentro deste bloco. O código é

<comment> Ponha seu FireFox só HTML / CSS / Scripts aqui </ comment>

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

I "m feliz para o momento ...


2008 Primeiro de setembro de 2008

Remover item específico de uma matriz de javascript que corresponde a uma string passada

Aqui há maneira rápida de ampliar o objeto de matriz nativa Javascript, só para fazer isso ...

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ão, agora você pode fazer algo assim ...

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

Agora a matriz animais conterá "cão", "leão", "gato", "elefante";

PS: E aqui está o protótipo de Cordas da guarnição também ...

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


Aproveite ....


NDK casa | Expressando IT | Palate Expressando | Penmenship Expressando | Awe Expressando | expressar-me