2011-04-03 4 views
2

J'ai des problèmes pour passer des arguments à xquery dans powershell. Fonctionne bien en cygwin. Quelle est la façon de faire cela?comment passer des arguments à saxon xquery dans windows powershell?

@EDIT:

Voici un exemple de la façon dont je l'ai fait cela dans bash, où « XQuery » est mon alias pour le moteur Saxonne XQuery:

xquery -s:input.xml -q:query.xquery -o:output 

Si je tente la même chose en Powershell, je reçois:

"No query file name" 

Je suis 99% sûr que ce soit un problème de syntaxe Powershell, IE, je ne suis pas passer des paramètres à XQuery avec la bonne syntaxe.

+0

Pourquoi ne pas partager quelques détails de votre problème, plutôt que de nous laisser deviner. Qu'est-ce que vous essayez de faire exactement, et quels résultats obtenez-vous? Ce pourrait être une bonne idée de réduire le problème à une reproduction minimale et de le montrer. – Gunther

Répondre

2

Comment a été définie votre commande xquery?

Ce qui suit devrait fonctionner:

function xquery {java net.sf.saxon.Query $args} 
xquery "-s:input.xml" "-q:query.xquery" "-o:output" 

Ou, sans la fonction,

java net.sf.saxon.Query -s:input.xml -q:query.xquery -o:output 
+0

YUP qui a fait l'affaire Gunther. J'ai dû redéfinir ma fonction powershell pour prendre $ args et ensuite les passer comme des chaînes. Je me demande pourquoi les arguments de ligne de commande ne peuvent pas être passés aux fonctions sans les encapsuler comme des chaînes? – ledhed2222

+1

Sans les guillemets, cela signifie que vous passez des valeurs aux arguments $ s, $ q et $ o. Pour faire ce travail, vous devez définir fonction xquery ($ s, $ q, $ o) {java net.sf.saxon.Query -s: $ s -q: $ q -o: $ o} – Gunther

+0

Veuillez marquer la réponse comme acceptée si cela a fonctionné pour vous. :) – JasonMArcher

Questions connexes