2009-05-21 3 views
3

Visual Studio를 사용하여 내 XUL을 작성하기 시작했습니다. 특수 XUL xml-schema를 사용하기 때문에 인텔리 센스 및 유효성 검사를 제공하기 때문입니다.Visual Studio> XML 구문 분석기> URI 접두어 등록

이 접근법에는 여전히 몇 가지 문제가 있습니다. VS를보다 유용한 XUL-IDE로 만들기 위해 수정하고 싶습니다.

VS는 크롬 프로토콜에 대해 아무것도 알고 XML 코드의 다음 조각을 나에게 오류 ("URI는 접두사가 인식되지 않습니다") 제공하지 않습니다

:

<!DOCTYPE window SYSTEM "chrome://myApp/locale/main.dtd"> 

이 VS의 아니다 결점. 그것은 프로토콜을 모르기 때문에 URI를 해석 할 수 없으므로 main.dtd가 어디에 있는지 알지 못하므로 거기에 선언 된 엔티티를 모릅니다. 다른 장소들.

저의 목표는 URI를 해석 할 수 있도록 XML 파서 또는 VS 등을 확장하는 것입니다. Chrome이하는 일은 "chrome.manifest"파일의 정보를 기반으로 파일 경로에 URI를 매핑하기 때문에 어렵습니다. 따라서

chrome : //myApp/locale/main.dtd

실제로

파일 같은 것입니다 : ///는 C :

를 /somefolder/myapp/locale/main.dtd 난 단지 알 필요가

, 나는 VS /를 대한 XML 파서를 알 수있는 방법 URI 접두어 및이를 해석하는 방법을 설명하므로 실제 파일에 연결됩니다.

누구에게 의견이 있습니까?

고마워요!

답변

2

나는 다음을 시도합니다 : // URI 체계 :

  1. 이 하나의 파일을 사용하는 제외하고는 크롬 하나 아래의 다음 라인에 또 다른의 DOCTYPE 태그를 사용합니다.
  2. 그래도 작동하지 않는다면 파일 URI를 단독으로 사용하여 크롬 URI를 모두 바꾸십시오.

두 개 이상의 doctype 태그가 허용되는 상황이 있습니다.

+0

답장을 보내 주셔서 감사합니다. 이것은 물론 가능하지만 불행히도 비쥬얼 스튜디오를위한 소스 파일을 변경하기 때문에 최적이 아닙니다. 또한 아마도 같은 파일에 링크 된 두 가지 유형을 모두 인식 할 수있는 모질라 플랫폼에서 문제가 발생할 수 있습니다. 감사합니다. – CodeSalad

1

설치에 적합한 Visual Studio 설치 디렉터리 아래에서 프로그램 파일로 다이빙하십시오.

XML에 대한 하위 디렉토리와 스키마에 대한 하위 디렉토리가 있습니다.

예를 들어, 내 시스템에있는 디렉토리는 다음과 같습니다

는 C : \ 프로그램 파일 \의 Microsoft Visual Studio 9.0 \ XML을 \ 스키마

여기에 넣어 모든 스키마 파일이 일치합니다 스키마의 URI를 기반으로 편집하는 XML 파일까지

DTD가 동일한 방식으로 지원된다고 나는 믿지만 (테스트하지는 않았다.); 이 디렉토리에 DTD를 넣고 DTD의 URI가 일치하는지 확인하십시오.

사이드 참고 : 스키마와 DTD를이 URI를 (범용 자원을 식별자)를 사용하지 URL (범용 자원 로케이터). URI는 실제로 에 대한 어떤 정보도 제공하지 않습니다. 여기에는이 있습니다. 그것은 단지 이름입니다.

그래서 내 생각이 떠하지 않습니다

비주얼 스튜디오는 DTD를 지원하지 않는 것으로 밝혀 업데이트되었습니다.

비록 또 다른 가능성이 있습니다. Visual Studio 스키마를 지원하므로 DTD를 스키마로 변환하여 약간의 영향을받을 수 있습니다. 빠른 google은 사이트 자체에 perl 기반 도구 인 DTD2Schema을 발견했습니다. 시험해 볼만한 가치가 있습니다 ...

+0

불행히도 당신은 DTD와 같은 것을 할 수 없습니다. DTD는 XML 스키마와 비교하여 지정된 URL이 될 대상 네임 스페이스를 설정하지 않습니다. DTD를 확장하고 대상 네임 스페이스를 제공하는 DTD ++라는 프로젝트가 있지만 그물에 대해서는 그다지 많이 알지 못합니다. Microsoft는이를 지원하지 않습니다. 답변 해 주셔서 감사합니다. 좋은 생각 이었어! – CodeSalad