2010-03-09 3 views
3

일부 DSL은 일부 속성 파일과 함께 여러 유형의 XML 파일 형식으로 작성되었습니다. 이것은 잘 작동하지만 Eclipse Editor를 작성하여이 파일을 초보자가 쉽게 편집 할 수있게하고 싶습니다 (이미 파서를 사용하고 있습니다).XML 파일 형식과 관련된 DSL에 XText를 사용할 수 있습니까?

주 XML 파일은 .properties 파일의 일부 항목을 참조 할 수 있으며 그 반대도 마찬가지입니다. main xml 파일은 다른 XML 파일을 참조 할 수도 있습니다. 특정 옵션은 .properties 파일의 내용을 기반으로하는 기본 xml 파일과 DSL 프로젝트에 추가 할 수있는 일부 osgi 플러그인 (구문은 상황에 따라 동적 임)을 기반으로 만 사용할 수 있습니다. 언어의 구조는 고정되어 있지만 각 속성에서 사용 가능한 옵션이나 속성 자체는 플러그인 .jar 파일에 포함 된 메타 데이터에 따라 변경됩니다.

질문 :

합니까 XText 지원 동적 구문 (외부 요인에 따라 검증 변경)?
XText는 XML 파일/.properties 파일을 지원합니까?

미리 도움을 주셔서 감사합니다.

답변

2

Xtext documentation을 읽어보십시오.

XText는 동적 구문 (외부 요소에 따라 유효성 검사가 변경됩니까?)을 지원합니까?

Xtext는 자동으로 문법 정의를 사용하여 구문의 유효성을 검사합니다. 또한 Java 또는 Check에서 임의의 유효성 검증을 작성할 수 있습니다.

XText는 XML 파일/.properties 파일을 지원합니까?

물론 문법을 정의하는 경우. ;) 둘 다 너무 어렵지 않습니다.

+1

이 개발은 조금 지연되었지만 XML 형식의 언어에 대한 샘플 문법을 찾을 수 없으며 xml 문법을 정의하는 방법을 모른 채 여러 번 시작하고 중지했습니다. XText 문서를 살펴 봤지만, 필자의 선택 모델을 지원하는 동안 모든 옵션 파트가있는 xml 유형 문법만큼 복잡하게 모델링하는 방법을 알아낼 수는 없습니다. Spring XML 설정 파일에 대한 XText 문법이 있다면 가장 가까운 비교 일 것입니다. 올바른 방향으로 나를 가리킬 수 있다면 크게 감사하겠습니다. 감사합니다. Chris – Chris

2

XSD가있는 경우 Ecore 모델로 변환 한 다음 Xtext 문법을 작성하는 것이 좋습니다. 처음부터 DSL 문법을 작성한 다음 ecore를 XSD로 내보내고 방금 http://blog2.vorburger.ch/2012/07/xtext-xml.html에 게시 한 헬퍼를 사용 하시겠습니까? HTH.

1

XML/XSD가 없어도 본질적으로 실제로 JSON과 비슷하지만 강력하게 형식이 지정되는 "기본"DSL은 데이터 구조에 대해 일종의 "메타 모델"(예 : XCore에서 표현한 EMF Ecore 모델의 DSL입니다. XSD에서 가져올 수 있습니다.), 아마도 https://github.com/vorburger/efactory에있는 EMF Simple Object Notation ESON (ex-EFactory)은 다음 중 하나입니다. 너에게 관심있어?

관련 문제