문제

썼는 간단한 도구를 생성하 DBUnit XML 데이터 집합을 사용하여 쿼리에는 사용자 들어갑니다.를 포함하려고 각각의 쿼리가 입력한 XML 으로 주석,하지만 DBUnit API 를 생성하는 XML 파일이 지원하지 않는 삽입하의 의견이 다음과 같다(위의 데이터 생성),그래서 나는 의지를 넣는 의견과 함께 모든 질문에서 위 또는 아래로.

그래서 제 질문:그것은 유효한 XML 을 장소 중 하나에 위치?예를 들어,위의 XML 선언:

<!-- Queries used: ... -->
<?xml version='1.0' encoding='UTF-8'?>
<dataset>
  ...
</dataset>

또는 아래 루트 노드:

<?xml version='1.0' encoding='UTF-8'?>
<dataset>
  ...
</dataset>
<!-- Queries used: ... -->

내 계획을 처음에 시도 위에 XML 선언하지만,내가 의심을 가지고 있는 경우에는 유효한 XML 에도 불구하고,청구서 wikipedia:

한 의견될 수 있는 위치는 어디에이 트리 등에 경우 텍스트 요소의 내용은 텍스트 또는#PCDATA.

내 계획을 게시하는 경우 다시 이동,하지만 그것은 좋은 것을 알면 그것은 공식 XML 표준입니다.

업데이트:나의 응답 결과에 대한 테스트.

도움이 되었습니까?

해결책

에 따라 XML 사양, 잘 형성된 XML 문서입니다:

document ::= prolog element Misc*

prolog

prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?

Misc

Misc ::= Comment | PI | S

XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>'

는 것을 의미하려는 경우이 코멘트,상단에 있을 수 없습 XML 형식 선언입니다.

당신은 할 수 있습니다,그러나,의견 후 및 선언 문서들 밖에 요소 중 하나에 위쪽이나 아래쪽의 문서이기 때문에, Misc* 주석이 포함될 수는 있습니다.

사양 동의에 의견:

2.5 댓글

[정의:의견이 나타날 수 있는 어디에서나 문서를 다른 외부 태그;또한,그들은 내에 나타날 수 있습니다 문서 유형을 선언하는 장소에서 허용하여 문법이다.그들은하지 않습의 일부가 문서의 문자 데이터XML 프로세서 수 있지만,필요한지,그것을 가능하게하기 위해 응용 프로그램 검색하의 텍스트 주석입니다.호환성을 위해 문자열"--"(더블에 하이픈)가 발생하지 않을 내다.] 매개 변수는 엔티티를 참조해야합 인식되지 않을 내다.

이 모든 것을 함께 수 있다는 것을 의미는 의견을 넣어 어디에서든지 내부에 다른 태그, 는 것을 제외하고,당신 이 있을 수 없는 XML 선언는 경우에 당신을 이끌과 코멘트.

그러나 이론에서는 이론과 함께 동의 연습에서,그것을 실천하지 않는다,그래서 나는 것을 실험을 밖으로 작동합니다.

다른 팁

첫번째 예에는 유효하지 않 XML,선언하는 첫 번째가 될 것에 XML 문서입니다.

하지만 그 외에,의견이 어디든 갈 수 있습니다.

수정 당신의 첫 번째 예제:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Queries used: ... -->
<dataset>
</dataset>

처리 지시 최초의 것에 XML content(참조하십시오 XML 댓글처리 지침).다음과 같은 작업해야 합:

<?xml version='1.0' encoding='UTF-8'?>
<!-- Queries used: ... -->
<dataset>
  ...
</dataset>

감사에 대한 답변을 모두!

로 주석에 앞서 파일 작업을 것 같았지만,때로 탐구 DBUnit 소스기 때문에,그것이 유효성 검사에는 꺼져 있습니다.

나도 간단한 문서를 통해 부하:

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(new File("/path/to/file"));

이에 실패하고 예외가 발생하기 때문에 XML 선언하지 않는 첫 번째 것(다른 사람으로 표시된 것은 경우).

는 동안 그래서,DBUnit 일,내가 선호하는 유효한 XML,그래서 나는 이동을 끝(이후 DBUnit 생성 XML 을 선언하지 않을 배치하는 옵션은 아래에 댓글을,그것도 나는 것을 선호하는...최소되지 않을 수정하지 않고 XML 후에 사실은,어떤 것보다 더 많은 작업을 가치가있다).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top