2011-12-11 2 views
0

현재 node.js (관심있는 사용자 : link)에 대한 XML/HTML 파서를 작성하고 있습니다. 요점을 바로 잡자. 처리 지침 내에서 공백을 어떻게 처리해야하는지 알 필요가있다. 이것들은 동일해야합니까? < ? asdf ?> XML 처리 명령어 및 공백

  1. <?asdf ?>
  2. < ?asdf ?>
  3. <? asdf ?>
  4. 나는 엄격한 XML은 단지 첫 번째를 허용합니다 (그러나 예상되는 동작은 다음 무엇을 추측? 내가 싶지 않아 내가 할 수있는 대부분의 구조를 받아들이고 싶다), 그것은 철학적 인 질문이다.

    미리 감사드립니다.

답변

0

the XML specification에 따르면 첫 번째 표현 만 허용됩니다. 다른 표현은 오류가 발생한다고 말하고 싶습니다.

일부 사전 처리를 추가하여 잘못된 구문을 정리하고 (공백 제거) 데이터를 XML로 읽을 수 있습니다.

이 프리 프로세서는 XML 파서에 도달하기 전에 데이터를 정리합니다. 다른 프로그램 일 수도 있습니다. 그렇게하면 입력 데이터가 중간에 유효하면 XML 파서 만 유효한 XML (구문 분석 할 특수한 경우가 적음) 만 얻게됩니다. 파서가 여전히 오류가 발생하면 입력이 XML-ish가 아니라고 가정합니다.

그래서 동안 예를 들어 마지막으로 XML로 구문 분석, 변경 될 수있는 데이터를 사전 처리 : 가짜 공백 (하나의 프리 프로세서)를 제거 →

에 대한 질문 XML로서 구문 분석 → 태그 (다른 처리기)를 폐쇄 추측 허용되는 구문은 귀하의 진술에 의해 답변을 받아 최대한 많이 수락합니다. 이 경우 < 다음에 공백을 모두 제거하고 ?이 나오면 다음 단어까지 공백을 제거한 다음 XML로 구문 분석하십시오.

개인적으로 나는 대부분의 구문을 허용하는 것이 바람직하다고 생각하지 않습니다. 데이터에 오류가있는 경우 해당 오류를 처리해야합니다.

+0

필자는 다음과 같이 썼습니다. 유효성을 검사하고 싶지 않으므로 오류를 피해야합니다. 전처리 란 무엇을 의미합니까? 어떤 구조가 허용되어야 하는가? – fb55