2009-01-08 9 views
0

un jour avant la fin du projet je rencontre un problème compliqué: j'ai un service wtf et 3 application client qui l'utilise. Le service dispose de trois méthodes, chacune recevant un document XML en tant qu'argument et renvoyant un document XML. C'est ainsi qu'ils communiquent. J'ai des fichiers xsd pour valider les xml générés et reçus. jusqu'à aujourd'hui tout a bien fonctionné. J'ai des fenêtres polonaises et aujourd'hui je cours mon application sur les fenêtres anglaises. Comme vous l'avez probablement réalisé jusqu'à présent, j'ai reçu un message de mon application indiquant que le fichier xml reçu n'est pas valide. Je l'ai vérifié et la valeur de VaR qui était supposée être double dans le xml a été écrite avec période (ou coma, je ne me souviens pas mais ça ne fonctionnait pas). Je me demande maintenant - existe-t-il une bonne solution à ce problème? Je veux dire que je xml valider comme ceci:La validation XML est-elle vulnérable aux informations culturelles?

public bool IsValid(XDocument xmlDocument, Stream xsdContent) 
     { 
      XmlSchemaSet schemaSet = new XmlSchemaSet(); 
      XmlReader reader = XmlReader.Create(xsdContent); 
      schemaSet.Add(string.Empty, reader); 

      valid = true; 
      xmlDocument.Validate(schemaSet, (sender, eventt) => { valid = false; e 
= eventt; }); 

      return valid; 
     } 

il n'y a aucun moyen que je puisse dire validateur ce que le séparateur à double devrait être. la seule solution à laquelle je pourrais penser est simplement de spécifier dans xsd que la valeur de VaR problématique est une chaîne et de vérifier par programme s'il s'agit d'un nombre double, avec une période ou une virgule.

Répondre

2

Le XML schema spec spécifie que les nombres à virgule flottante sont représentés à l'aide d'une période et n'utilisent pas de virgule. Les paramètres régionaux n'ont aucun effet sur ce qui est XML valide.

Vous n'incluez pas votre erreur. J'espère qu'il se plaint qu'il y a une virgule dans un nombre.

+0

merci! cela résout le problème – agnieszka

Questions connexes