2013-07-20 1 views

답변

0

src/at/fhj/ase/XmlValidationReader.java에서이 문제를로드 할 수 있습니다 어떻게 실행 : 들어오는 XML 파일을 검증하기 위해 나는 XSD 자원이 필요합니다.

@Provider 
@Consumes(MediaType.APPLICATION_XML) 
public class XmlValidationReader implements MessageBodyReader<Category> { 

    protected Providers providers; 
    protected ServletContext servletContext; 
    private final String xsdFileName = "/Category.xsd"; 
    private Schema schema; 

    public XmlValidationReader(@Context Providers providers, 
      @Context ServletContext servletContext) { 
     this.providers = providers; 
     this.servletContext = servletContext; 

     try { 
      SchemaFactory sf = SchemaFactory 
        .newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); 
      File xsd = new File(servletContext.getRealPath(xsdFileName)); 
      schema = sf.newSchema(xsd); 
     } catch (Exception e) { 
      throw new RuntimeException(
        "Unable to create XSD validation schema", e); 
     } 
    } 

    @Override 
    public boolean isReadable(Class<?> type, Type genericType, 
      Annotation[] annotations, MediaType mediaType) { 
     ... 
    } 


    @Override 
    public Category readFrom(Class<Category> type, Type genericType, 
      Annotation[] annotations, MediaType mediaType, 
      MultivaluedMap<String, String> httpHeaders, InputStream entityStream) 
      throws IOException, WebApplicationException { 
     ... 
    }