확장점 스키마 편집기는 새 확장점 스키마를 작성하거나 기존 확장점 스키마를 선택하여 열 수 있습니다. 규칙에 의해 새 스키마는 .exsd 파일 확장자가 있는 확장점 ID와 동일한 이름을 갖습니다. 새 스키마는 플러그인 디렉토리 트리의 schema 디렉토리에 배치됩니다.
PDE에서 새 확장점이 작성될 때 초기 스키마 파일도 작성되며, 스키마 편집기가 편집을 위해 열립니다. 바로 스키마를 정의하거나 닫았다가 나중에 정의할 수 있습니다. 전체 확장점 스키마를 작성하면 PDE가 확장점 사용자에게 자동화된 지원을 제공할 수 있습니다.
PDE 스키마 편집기는 플러그인 Manifest 편집기와 동일한 개념을 기반으로 합니다. PDE 스키마 편집기에는 두 개의 양식 페이지와 하나의 소스 페이지가 있습니다. XML 스키마는 복잡하여 소스 양식으로 읽기는 어렵기 때문에 대부분 양식 페이지를 사용하여 편집해야 합니다. 소스 페이지는 결과 소스 코드를 읽는 데 유용합니다.
앞에서 "샘플 구문 분석기" 확장점과 초기 스키마를 작성했습니다. 프로젝트의 schema 폴더로 이동하여 parsers.exsd 파일을 두 번 클릭하면 스키마를 열 수 있습니다. 스키마 편집기가 열립니다.
다음을 수행하려고 합니다.
모든 확장점 스키마는 "extension" 요소의 선언으로 시작합니다. "parser"라고 부르는 새 XML 요소를 추가할 것입니다.
지금까지의 작업을 마치면 스키마 편집기가 다음과 같이 표시됩니다.
이제 별개의 선택사항 목록에서 값을 취하는 추가 속성을 추가할 차례입니다. 이것은 기본 문자열 유형에 대한 열거 제한사항을 작성해야 함을 의미합니다. 또한 속성 기본값도 설정하게 됩니다.
제한사항 대화 상자가 다음과 같이 표시됩니다.
대화 상자가 닫히면 "use" 속성을 "default"로, "value" 속성을 "always"로 변경하십시오. 이렇게 하면 기본값이 설정됩니다. 유효한 값을 세 개의 열거 선택사항으로 제한하기 때문에 사용자가 값을 입력하는 동안 상태 표시줄에 오류 메시지가 나타납니다. 일단 입력을 완료하면 "always"가 유효한 값이므로 오류 메시지가 사라집니다.
요소와 속성을 모두 정의했으므로 문법을 정의해야 합니다. 문법을 정의하는 목적은 "extension" 요소가 임의의 수의 "parser" 요소를 하위로 가질 수 있도록 하는 것입니다.
문법을 정의하고 나면, 문법 섹션 아래의 DTD 근사값이 선택한 요소에 대한 문법이 DTD에서 어떻게 보일지를 표시합니다. 이 정보는 XML 스키마보다 DTD에 익숙한 개발자들을 위해 제공됩니다.
올바른 요소, 속성, 문법을 정의했으므로 확장점에 대한 일부 정보를 제공해야 합니다. 두 가지 유형의 스키마 문서 스니펫이 있습니다.
첫 번째 스니펫 유형은 스키마 Manifest의 정의 페이지에 제공됩니다. 요소와 속성을 선택할 때 이에 대한 축약형 텍스트를 "설명" 섹션에 추가할 수 있습니다. 예상되는 양식은 원시 HTML(Javadoc의 경우처럼)이며, 텍스트는 있는 그대로 최종 참조 문서에 복사됩니다.
이제 확장점 자체에 대한 축약형 텍스트 설명을 제공해야 합니다. 설명을 제공하기 위해 문서 페이지로 전환합니다.
이 확장점은 추가 구문 분석기를 플러그인하는 데
사용됩니다. 구문 분석기는 실제로 작동하지 않습니다. 구문 분석기를 확장점 스키마의 예로
방금 사용했습니다.
다음은 확장점 사용법의 예입니다.
<p>
<pre>
<extension point="com.example.xyz.parsers">
<parser
id="com.example.xyz.parser1"
name="Sample Parser 1"
class="com.example.xyz.SampleParser1">
</parser>
</extension>
</pre>
</p>
적용을 누르십시오.
이 확장점을 확장하려는 플러그인은 <samp>com.example.xyz.IParser</samp>
인터페이스를 구현해야 합니다.
XYZ 플러그인은 구문 분석기 기본 구현을 제공합니다.
적용을 누르십시오.참고: 예를 제공할 때는 특별한 주의를 기울여야 합니다. 일반적으로 PDE는 제공된 텍스트를 원시 HTML로 취급하기 때문에 줄 바꾸기나 두 자리 이상의 공백(즉, 무시 가능한 공백)을 고려하지 않습니다. 이것은 일반 텍스트에 대해서는 상관없지만 예를 제공할 때 예를 보기 좋게 표시하기 위해 탭 표시 및 세로 맞추기를 사용할 경우에는 매우 번거롭습니다. 이런 경우 PDE는 HTML 태그 <pre>를 발견하면, 마무리 태그 </pre>가 나타날 때까지 컨텐츠를 있는 그대로(수정 없이 모든 문자를 보존하여) 표시합니다. 이런 방법으로 위와 같은 예를 제공할 수 있으며 따라서 최종 참조 문서에서도 그 예가 올바로 표시됩니다.
문서를 입력할 때 편집기 아웃라인 보기에서 점점 더 많은 요소가 "pen" 이미지 오버레이를 획득한다는 사실에 대해 인지하고 있을 수 있습니다. 이 표시기는 문제의 요소에 이와 연관된 일부 텍스트가 있음을 알려줍니다. 문서 어딘가에 문서가 누락되었는지를 신속히 확인할 수 있는 방법입니다.
문서를 완료했으면, 참조 문서 parsers.html을 볼 수 있습니다. 두 가지 방법으로 수행할 수 있습니다. 작업 중에 언제라도 팝업 메뉴의 참조 문서 미리보기 항목을 선택하여 참조 문서를 미리볼 수 있습니다. 또는 각 스키마 파일 변경 시 참조 문서가 자동으로 작성되도록 PDE 환경 설정(스키마 탭 아래의 환경 설정>플러그인 개발>컴파일러)을 설정할 수 있습니다. 작성 방법과 상관 없이 이러한 예제의 결과 문서는 다음과 같습니다.