2013-10-30 2 views
0

특정 스키마에 대해 XML의 유효성을 검사하는 XML 유효성 검사기를 만드는 중입니다. 현재 OASIS 스키마를 사용하여 해당 스키마에 대한 어설 션 유효성을 검사하고 있습니다 .Below는 SchemaFactory로 전달되고 스키마 개체가 생성 된 후 xenc입니다. 가져온 스키마 xenc-schema.xsd에있는 EncryptedData 요소가 확인되지 않음 "XSD에 대해 올바른 형식의 XML을 확인하는 중 문제가 발생했습니다.

내가 같이 SchemaFactory의 인스턴스를 생성하고 스키마를로드 할 때, 위의 스키마에 가져온 스키마를 찾을 수 없습니다 :

XML is not valid because 
src-resolve: Cannot resolve the name 'xenc:EncryptedData' to a(n) 'element declaration' component. 

내가 스키마 객체를 생성 SchemaFactory를에 스키마를 가져올 해결할 수있는 방법을 가져온 스키마를 찾을 수 있어야합니까? 아래 코드는 제가 작성한 코드입니다 :

... 
    System.out.println("Executing the value"); 
    SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); 

    Source schemaFile = new StreamSource(new File("D:\\saml-schema-assertion-   2.0.xsd")); 
    Schema schema = sf.newSchema(schemaFile); 
    Validator validator = schema.newValidator(); 
    validator.setErrorHandler(new SAMLErrorHandler()); 

    validator.validate(new StreamSource(new File("D:\\Saml.xml"))); 
    System.out.println("XML is valid"); 
} catch (IOException ex) { 
} catch (SAXException e) { 
    System.out.println("XML is not valid because "); 
    System.out.println(e.getMessage()); 
} 

나는 응답을 찾고있다.

+0

내가 사용중인 오아시스 스키마의 일부는 다음 주소에서 공유됩니다. http : //docs.oasis-open.org/security/saml/v2.0/saml-schema-assertion-2.0.xsd –

답변

0

xenc 네임 스페이스가 XML 파일 또는 적어도 xenc:EncryptedData 전체 요소로 선언되지 않은 것으로 보입니다. XML 파일을 게시하십시오. XSD 파일에 EncryptedData 요소 정의가 표시되지 않습니다.

+0

안녕하세요. - - - <요소 심판 = "선택"/> > <속성 이름 = "SPProvidedID"유형 = "문자열"사용 = "xenc : EncryptedData"/> "xenc : EncryptedKey"minOccurs = "0"maxOccurs = "무제한"/>

+1

@SushantSood 제공 한 링크에이 정보가 포함되어 있지 않습니다. XML과 XSD를 제공 할 수 있습니까? – logoff