2010-11-23 17 views
2

Je dois analyser un grand nombre de fichiers .xsd et remplacer une instance d'une chaîne par une autre chaîne en fonction du nom de fichier du schéma en cours. examiné.ANT: Remplacer la chaîne dans le fichier avec le nom de fichier lui-même

Par exemple: Je souhaite remplacer la chaîne: « DataSet » en file1.xsd avec la chaîne « file1DataSet » Je souhaite remplacer la chaîne: « DataSet » en file2.xsd avec la chaîne « file2DataSet » et ainsi de suite jusqu'à ce que tous les schémas aient été modifiés.

Je voudrais savoir s'il y a de toute façon à le faire sans utiliser le ant-contrib pour les boucles.

Répondre

1

Vous pouvez essayer la tâche <replace> si vous avez généralement une bonne idée du nombre de schémas que vous avez. Le <replaceRegex> pourrait être en mesure de le faire sans boucle.

Ant n'est pas vraiment un langage de programmation où vous pouvez faire une boucle. Si vous pouvez tout faire en un seul passage, c'est génial, mais une fois que vous commencez vraiment à manipuler les fichiers, Ant se heurte à des limitations.

+0

oui, j'ai fini par céder autour du 25 novembre et j'ai utilisé ant-contribs avec une boucle cible foreach pointant vers un pathconvert avec un chainedmapper pour extraire le nom de fichier et un simple instruction. – happy