Validar um xml com XStream

Bom dia

Tem como validar um xml com XStream ?

cara,

xstream é para conversão de xml para objeto java e vice e versa. Para validar um xml procure alguma solução em torno de XSD.

t+

[quote]cara,

xstream é para conversão de xml para objeto java e vice e versa. Para validar um xml procure alguma solução em torno de XSD. [/quote]

Valew alissonvla vo pesquisar a respeito

Da uma olhada nesse código, talvez te ajude. Note que aqui estou usando Source, mas poderia ser um File ou URL. Também poderia ser um SAXSource, StAXSource, StreamSource, etc, no lugar de DOMSource.

Edit: source é o documento xsd e ns o namespace do documento.

[code]import java.io.IOException;

import javax.xml.transform.Source;
import javax.xml.transform.dom.DOMSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;

import org.w3c.dom.Document;
import org.xml.sax.SAXException;

public class DocumentValidator {

private SchemaFactory	factory;

private Schema			schema;

private Validator		validator;

public DocumentValidator(final Source schema, final String ns) throws SAXException {
	super();
	this.factory = SchemaFactory.newInstance(ns);
	this.schema = this.factory.newSchema(schema);
	this.validator = this.schema.newValidator();
}

public void validate(final Document document) throws SAXException, IOException {
	this.validator.validate(new DOMSource(document));
}

}[/code]

Como funciona esse negocio de validação com xml e xsd.

O arquivo xsd deve ter a mesma estrutura de dados do xml para ser valido ?

Se alguém poder dar uma dica eu agradeço, pois to iniciando meus estudos com xsd agora e to mo perdido e na internet tem muita coisa, e nem sei por onde começar. :frowning:

O XSD define o que os elementos e atrubutos que documento xml pode ter, bem como os tipos de dados possíveis em cada.

Veja se esse link te ajuda http://www.w3schools.com/schema/.

[quote]O XSD define o que os elementos e atrubutos que documento xml pode ter, bem como os tipos de dados possíveis em cada.

Veja se esse link te ajuda http://www.w3schools.com/schema/.[/quote]

Valew lsjunior, vo dar uma lida.

Com isso posso verificar tb se todas as tags foram preenchidas corretamente ? se o xml é valido para ser usado ?

Isso, no XSD vc define quais elementos e atributos são obrigatórios, podendo inclusive definir os valores possíveis(edite um arquivo de configuração do Spring no Eclipse, por exemplo, que vc verá o poder do xsd).