J'ai une feuille de style j'ai 5 normalisations à mettre en place:
1. La transformation des miniscules en majuscules sans accents
2. La transformation des miniscules en majuscules avec accents
3. La suppression des caractères parasites
4. Le remplacement de l'espace par un tiret
5. La concaténation
Dans ma feuille de style j'ai donc mis en place 5 fonctions:
- translate(ch1,ch2):transformation des miniscules en majuscules sans accents
- translate(ch1,ch2):transformation des miniscules en majuscules en tenant compte des accents
- translate(normalize-space(arguments),chaine)::remplacement avec suppression de
caractères superflus
- concat(ch1,ch2):concaténation
- substring(ch,indice1,indice2):extraction
Le problème est que je suis obligé d'appeler chaque fois une de ces fonctions chaque fois qu'il y a une règle de normalisation à appliquer (ex:transformation des miniscules en majuscules sans accents, remplacement de l'espace par un tiret) ce qui fait que j'ai à certains endroits (à l'intérieur d'un même élement!!!!) une fonction utilisée plusieurs fois (bien sûr avec des arguments différents).
Questions:
1. Pour éviter d'appeler chaque fois ces fonctions à plusieurs endroits, est-ce que vous savez s'il
existe un moyen de déclarer des fonctions personnalisées que j'appelerai par exemple UPPER
( qui transformerait des miniscules en majuscules) ou une fonction concatener() (pour la
concaténation), etc..et que je pourrai appeler chaque fois???
2. Si oui comment je pourrai l'implémenter?
3. Je cherche à faire une transformation équivalente à celle de la fonction SQL decode d'ORACLE .
Pour information je donne à ceux qui ne connaissent pas ORACLE cet exemple:
SELECT job, sal,
DECODE(job,'ANALYST', SAL*1.1,
'CLERK', SAL*1.15,
'MANAGER', SAL*1.20,
SAL)
REVISED_SALARY
FROM emp;
Cette fonction est équivalente à:
if job='ANALYST' then REVISED_SALARY=SAL*1.1;
ELSIF job = 'CLERK' THEN revised_salary = sal * 1,15 ;
ELSIF job = 'MANAGER' THEN revised_salary = sal * 1,20 ;
ELSE revised_sal = sal ;
Je cherche une fonction qui me permettrait de faire une opération de ce gerne sans passer par les tests <xsl:when test="val1">, etc...
Pour ceux qui veulent je me permettrai de leur envoyer ultérieurement un fragment de la feuille de style que je suis en train d'écrire et vous me direz des améliorations qu'il faudra que j'apporte.
Merci pour votre collaboration et je vous souhaite une bonne journée.
Oscar
---------------------------------
Découvrez le nouveau Yahoo! Mail : 250 Mo d'espace de stockage pour vos mails !
Créez votre Yahoo! Mail
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Thu Dec 16 10:42:32 2004