как найти в xsd, доступен ли конкретный тег в xml или нет? - PullRequest
2 голосов
/ 21 декабря 2010

Мой xml файл:

 <?xml version="1.0"?>
 <type xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"                          
                    xs:noNamespaceSchemaLocation="datatype.xsd">

    <int>integer</int>
    <varchar>varcharacter</varchar>
    <double>doubles</double> 

  </type>

В этом xml я хочу установить <float></float> как обязательныйНо я не использовал этот тег.Так как проверить, присутствует ли <float> в моем XML-файле или нет, используя xsd с java.?Заранее спасибо.

1 Ответ

0 голосов
/ 21 декабря 2010

Следующие данные могут использоваться для проверки вашего XML по схеме:

import java.io.File;

import javax.xml.XMLConstants;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;

public class Demo {

    public static void main(String[] args) throws Exception {
        SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
        Schema schema = sf.newSchema(new File("datatype.xsd"));

        Validator validator = schema.newValidator();
        validator.setErrorHandler(new MyErrorHandler());
        validator.validate(source);
    }

}

Более подробный пример см .:

...