Retrouver le chemin relatif XmlSchemaSet
Bonjour,
soit le code suivant
Code:
1 2 3 4 5
|
XmlSchemaSet schemaSet = new XmlSchemaSet();
schemaSet.Add("urn:oasis:names:tc:emergency:edxl:ciq:1.0:xal", "edxl_xAL.xsd"); |
soit la fonction Validate qui est chargée de valider que le paramètre fluxXML respecte bien le format du fichier edxl_xAL.xsd
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
string affairePfau = contentXml.EmbeddedXMLContent.Any.InnerXml;
Validate(affairePfau, schemaSet);
private void Validate(string fluxXML, XmlSchemaSet schemaSet)
{
try
{
Console.WriteLine();
Console.WriteLine("\r\nValidation du fichier XML {0}...", fluxXML.ToString());
XmlSchema compiledSchema = null;
foreach (XmlSchema schema in schemaSet.Schemas())
{
compiledSchema = schema;
}
XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas.Add(compiledSchema);
settings.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);
settings.ValidationType = ValidationType.Schema;
using (var sr = new StringReader(fluxXML))
{
//Create the schema validating reader.
XmlReader vreader = XmlReader.Create(sr, settings);
while (vreader.Read()) { }
//Close the reader.
vreader.Close();
Console.WriteLine("Le fichier correspond bien au XSD");
}
}
catch (Exception ex)
{
_logger.Debug(ex.Message + ex.StackTrace);
}
} |
Au niveau de l'instruction
Code:
1 2
|
using (var sr = new StringReader(fluxXML)) |
Je reçois une erreur
Citation:
Le type 'urn:oasis:names:tc:emergency:edxl:ciq:1.0:ct:String' n'est pas déclaré.
Et je ne vois pas comment recuperer le chemin relatif vers le fichier edxl_xAL.xsd malgré tous mes essais
(en utilisant string fileName = "edxl_xAL.xsd";)
Je vous remercie beaucoup de bien vouloir m'aider à récupérer le chemin relatif vers ce fichier car je tourne en rond ...
Bien cordialement.
new_wave