2012-01-23 4 views
0

Java에서 XML 문자열을 가져올 수있는 도구를 아는 사람이 있습니까? 스키마에 대해 확인하고 형식이 잘못된 경우 수정하십시오. 예를 들어
다음 스키마 및 XML 코드XML 스키마를 사용하여 Java에서 XML 수정하기

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
elementFormDefault="qualified"> 

    <xs:element name="tag"> 
    <xs:element name="subtag" type="xs:token" /> 
    </xs:element> 
</xs:schema> 


<tag> 
<subtag>content 
</tag> 

내가 스키마를 읽어 XML을 구문 분석, 누락 된 태그를 통지하고, 추가 할 수있는 도구를 찾고 있어요 주어진. 이 특정 프로그램의 목적 상 누락 된 태그 이외의 수정은 필요하지 않습니다. (btw, 스키마를 사용하지 않고 누락 된 태그를 찾아 추가 할 수있는 도구도 좋습니다).
제안 사항이 있으십니까?

+0

XML 스키마가 그 대상이 아닙니다. XML 만 수정할 수 있습니다. – skaffman

+0

그렇다면 스키마를 사용할 필요가 없습니다. :) 그러나 질문은 여전히 ​​유효합니다. _automatically_ XML을 어떻게 수정합니까? – Boistyjones

+1

이 질문처럼 보인다 http://stackoverflow.com/questions/2033154/how-to-fix-unclosed-tag-xml-in-java –

답변

0

시도해보십시오. JTidy을 시도해보십시오. 형식이 잘못된 XML과 HTML을 수정합니다.

+0

나는 JTidy가 well-formedness 오류를 수정하지만 그렇지 않을 것이라고 생각한다. 유효성 오류. 그러나 나는 틀릴 수도 있습니다. –

1

물론 스키마를 준수하지 않는 인스턴스의 경우 스키마와 일치하는 무한 수의 "유사한"인스턴스가 있으며 문제는 해당 인스턴스를 선택하는 것입니다. 어떤면에서는 "가장 비슷"합니다.

HTML5는 정교한 일련의 규칙을 사용하여이 작업을 시도합니다. 이 규칙에는 특정 스키마에 대한 많은 지식이 들어 있습니다. 예를 들어 tr이 테이블의 하위로 발견되면 tr은 tbody로 래핑됩니다. 당신은 당신의 스키마/어휘에 대해 동일한 것을 시도 할 수 있지만, 많은 일을 준비해야합니다.

임의의 스키마에 대해 똑같은 일을하는 것은 흥미로운 PhD 프로젝트처럼 들립니다. 스키마를 벗어난 원인에 대한 연구가 필요할 수도 있습니다 (사용자가 입력 한 것인지, 음성 인식으로 얻은 것인지 또는 OCR 검색을 사용하여 얻은 것인지 여부를 고려해야합니다.) 각기 다른 유형의 오류입니다.)

관련 문제