Jacek K.

Jacek K. Software Developer,
Telecetera Ltd.

Temat: wersje XML Schema

w mojej app korzystam z walidacji Schema w celu zapewnienia sobie poprawnosci wejsciowego pliku danych, wsyzstko dziala, ale trafily mi sie dwa komputeryna ktorych validacja schema stwierdzila, iz plik XSD jest nie poprawny (konflikt z elementem ANY)
czy jest to mozliwe, ze na tamtych pc byly jakies starsze wersje schema? jezeli tak to jak mam sobie zapewnic kompatibylnosc? co dodac do instalatora?

konto usunięte

Temat: wersje XML Schema

Cześć

Wydaje mi się ,że to raczej kwestia validatora i jego ustawień. Napisz coś więcej jakiego narzędzia używasz do sprawdzenia poprawności pliku xsd. Czytałem kiedyś na forum ,że w przypadku którejś tam wersji javy bywały kłopoty z tym elementem (w przypadku użycia SAX API używającego walidacji pliku XML) jakkolwiek nie napisałeś z jakiej technologii korzystasz.

PS. "Schemy" jako takiej się raczej nie instaluje (chociaż świat kryje jeszcze nie jedną tajemnice ;))
Jacek K.

Jacek K. Software Developer,
Telecetera Ltd.

Temat: wersje XML Schema

Paweł W.:
Cześć

Wydaje mi się ,że to raczej kwestia validatora i jego ustawień. Napisz coś więcej jakiego narzędzia używasz do sprawdzenia poprawności pliku xsd. Czytałem kiedyś na forum ,że w przypadku którejś tam wersji javy bywały kłopoty z tym elementem (w przypadku użycia SAX API używającego walidacji pliku XML) jakkolwiek nie napisałeś z jakiej technologii korzystasz.
Pisz w BD Delphi 8 for .NET, izywam takiego kodu:

function TXMLValidator.Waliduj: boolean;
var
reader: XmlTextReader;
val: XmlValidatingReader;
sch: XmlSchemaCollection;
begin
//zeruje rezultaty
ValResult := ArrayList.Create;
ValResultOK := true;

val := nil;
reader := nil;
try
try

//wczytuje dane
reader := XmlTextReader.Create(XmlName);
val := XmlValidatingReader.Create(reader);
sch := XmlSchemaCollection.Create;
sch.Add('', SchemaName);
val.ValidationType := ValidationType.Schema;
val.Schemas.Add(sch);
Include(val.ValidationEventHandler, ev);

//wykonuje walidacje
while (val.Read) do
begin
end;

except
on e:Exception do
begin
ValResult.Add(e.Message);
ValResultOK := false;
end;
end;
finally
//zamykam pliki
if reader <> nil then reader.Close;
if val <> nil then val.Close;
end;

result := ValResultOK;
end;


PS. "Schemy" jako takiej się raczej nie instaluje (chociaż świat kryje jeszcze nie jedną tajemnice ;))
tak, tylko pomyslalem ze to raczej zalezy od zainstalowanej wersji framework'a .NET (mam 2.0)

konto usunięte

Temat: wersje XML Schema

To co ci mogę poradzić to upewnienie się czy aby na pewno na dwóch feralnych komputerach jest zainstalowana ta sama wersja .NET z dokładnością co do patcha (czyli np. 2.0.12 czy jak tos ie tam numeruje)

Z czasów swojej przygody z .NET pamiętam ,że on tam jakieś niejasne zależności od ustawień samego windowsa mógł mieć także być może na jakiejś .NETowej grupie będziesz musiał się poradzić.

pzdr

Następna dyskusja:

wersje XML Schema




Wyślij zaproszenie do