2013-08-24 3 views
1

J'ai des données à venir XSLT, lorsque l'une des deux conditions deviennent satisfaites dans XSLT.fonction commune dans XSLT

when(first condition satisfies) puis quelques validations sur les données entrantes et puis « logique commune » otherwise if(second condition satisfies) puis quelques validations sur les données entrantes et puis « logique commune »

Ici, je suis en train d'écrire une logique commune deux fois pour les deux conditions. Comment puis-je écrire cette logique une seule fois et faire en sorte que mes conditions s'y réfèrent quand l'une d'entre elles est satisfaite? en termes simples, je wnat pour en faire une fonction et l'appeler, mais ne pouvait pas utiliser xsl: fonction tag comme il n'est pas pris en charge ma version xsl.

Je peux écrire when(first or second satisfies) mais les validations à faire diffèrent avant d'aller à la logique commune..Fournissez-moi des suggestions comment puis-je écrire la logique commune seulement une fois ici.

Merci.

+0

Montrez du code s'il vous plaît. –

+0

Vous pouvez éventuellement utiliser des modèles nommés ici ... '' que vous appelez ensuite avec 'xsl: call-template'. Si vous pouviez montrer des exemples de code existants, cela nous aiderait à donner une réponse plus précise. Merci! –

Répondre

1

Si vous ne pouvez pas passer à XSLT 2.0, puis nommé modèles (appelés à l'aide xsl: call-template) sont la seule chose à votre disposition.

+0

salut, je ne peux pas copier le code, mais il va comme ceci ::::::::: l'une des méthodes viendra. lors de la première méthode, validez-le, lorsque la validation échoue, puis quittez le programme, sinon appelez un lien Web. lors de la seconde méthode, validez-le, lorsque la validation échoue, puis quittez le programme, sinon appelez un lien Web. Donc, ici, je veux appeler cela «autrement appeler un lien Web» commun aux deux méthodes. il devrait être appelé si la validation réussit pour n'importe laquelle de la méthode. – Mano

+0

Je ne vois pas comment votre commentaire se rapporte à ma réponse à votre question initiale. –