Skip to main content
search
PRODUCT 2

Oxyzen XML Editor / 구조화 XML Editing

By 2023년 03월 07일No Comments

지능형 XML 편집

 

문맥에 맞는 컨텐트 완성 비서(Context-sensitive Content Completion Assistant)

Oxygen은 Content Completion Assistant를 통해 요소, 속성 및 속성 값 목록을 제공합니다. 사용 가능한 모든 항목(예, 문서 XML 스키마가 정의하는 모든 요소 이름)을 제공하는 다른 편집기와 달리, Oxygen은 현재 편집 맥락에 유효한 항목만 표시합니다. 따라서, XML 문서는 항상 유효하며 사용자는 요소 간의 관계에 대한 전문 지식이 필요하지 않습니다.  

다음 그림에서 tgroup 요소에 대한 가능한 요소 목록에 DocBook DTD가 정의한 것과 정확히 일치하는 colspec, tbody  및 thead가 포함되어 있는 것을 볼 수 있습니다.

 

최근 컨텐트 아이템 보여주기 지원

이전에 사용했던 제안(Proposal)이 컨텐트 완성 리스트 상단으로 올라가 효율적인 재사용이 가능합니다. 예를 들어, XSLT 스타일시트를 편집할 때, 전체 XSLT와 HTML 요소 집합에서 작은 부분을 사용합니다. 최근 사용한 제안을 정렬하여 목록 상단에 표시하면 다음에 사용할 때 쉽게 찾을 수 있습니다.

아래 그림에서 이전에 사용된 네(4) 개의 XSLT 요소를 볼 수 있으며 이들은 XHTML 문법의 다른 요소 위에 나타납니다.

 

 

 

 

 

 

 

스키마 없는 문서의 컨텐트 완성 비서(Content Completion Assistant)

편집된 문서와 관련된 스키마가 있는 경우, Oxygen은 이를 분석하고 Content Completion Assistant를 초기화 합니다. 문서에 연결된 스키마가 없는 경우, 컨텐트 완성 비서(Content Completion Assistant)는 편집된 문서를 검사하고 해당 구조를 학습하여 초기화 합니다. 각각의 문서 유형에 사용할 기본 XML 스키마 혹은 DTD를 지정할 수도 있습니다.

학습된 구조는 DTD 파일에 저장할 수 있으며 추가 개발을 위한 골격으로 사용할 수 있다는 것을 주목하여 주십시오.

 

설정 가능한 컨텐트 완성 비서 작업(Configurable Content Completion Assistant Behavior)

다양한 설정으로 Content Completion Assistant의 작업을 특화 할 수 있습니다. 예를 들어, 필요한 컨텐트 생성을 활성화/비활성화 하거나, 삽입 후 커서가 배치되는 방식을 수정할 수 있습니다.

 

IDREFS를 위한 컨텐트 완성 비서(Content Completion Assistant for IDREFS)

Oxygen은 IDREF나 IDREFS 유형이 지정된 컨텐트 완성 제안 리스트에서 가장 최근에 유효성 검사에서 수집된 ID 값을 표시합니다. 이는 연관된 DTD가 있는 문서뿐만 아니라 XML 스키마 또는 Relax NG 스키마가 연관된 문서에서도 작동합니다.

다음 그림에서 컨텐트 완성 비서를 (linkend 속성 값에 대한)링크에서 사용할 때 문서의 다른 위치에서 찾은 ID가 포함되어 있는 것을 볼 수 있습니다.

속성 값이 (XML 스키마와 Relax NG 스키마 모두에서) anyURI 유형인 경우, Oxygen은 문서에서 정의된 각각의 ID 값에 대해 #ID 형식에 대한 제안을 표시합니다.

 

IDREFS에 대한 검색/리팩토링 지원(Searching and Refactoring for IDREFS)

Oxygen은 연관된 DTD, XML 스키마 또는 Relax NG 스키마가 있는 XML 문서의 ID/IDREFS에 대한 검색과 리팩토링 작업을 지원합니다. 이런 작업은 텍스트(Text)작성자(Author) 모드에서 사용할 수 있습니다.

텍스트 모드에서 검색/리팩토링 작업에 액세스하는 가장 쉬운 방법은 빠른 지원(Quick Assist)을 사용하는 것 입니다. ID나 IDREF 내부에 커서를 놓고 편집기 왼쪽의 줄 번호 줄무늬(Stripe)에서 노란색 전구를 클릭하면 사용할 수 있습니다.

 

텍스트 모드에서 ID 발생을 강조하여 표시(Highlight ID Occurrence in Text Mode)

텍스트 모드에 있는 동안, XML 문서에서 ID 발생을 보려면 ID 선언이나 참조 안에 커서를 놓기만 하면 됩니다. 발생하게 되면 편집기 오른쪽의 세로 사이드 바에 표시되며 마커(Marker)를 클릭하여 특정 발생을 탐색할 수 있습니다. 발생은 편집 영역에서도 강조되어 표시됩니다.

 

XML을 빠르게 수정(XML Quick Fixes)

Oxygen Quick Fix 지원은 누락된 필수 속성이나 유효하지 않은 요소와 같은 문제에 대한 수정을 빠르게 제공하여 XML 문서에 나타나는 오류를 해결하는데 도움을 줍니다. 이런 수정을 XSD, Relax NG 또는 Schematron 스키마에 대해 검증된 XML 문서에 빠르게 사용할 수 있습니다.

Oxygen은 현재 오류를 자동으로 분석하고 한 번에 해결하기 위해 빠른 수정(Quick Fixes_을 제안합니다. 빠른 수정(Quick Fixes)은 텍스트(Text)작성자(Author) 편집 모드에서 모두 사용할 수 있습니다.

 

열거 지원(Support for Enumerations)

Content Completion Assistant는 토큰을 열거하는 유형의 속성과 요소 값에 대한 제안을 제공합니다. XML 스키마나 Relax NG 스키마를 사용하는 문서에 사용할 수 있습니다.

다음 그림에서 root 요소의 속성 list는 10진수 값(1.44, 2.88, 3.0 및 5.0) 목록으로 정의되었으며, Content Completion Assistant는 그에 따른 제안을 제공합니다.

 

필요한 컨텐트 자동 생성(Automatic Generation of Required Content)

컨텐트 생성을 빠르게 하기 위해 Oxygen은 요소의 필수 속성이나 컨텐트를 자동으로 삽입합니다. 다음 그림에서 요소를 선택하기만 하면 전체 하위 트리가 어떻게 생성되는지 확인할 수 있습니다. 이를 통해 최소한의 노력으로 유효한 컨텐트를 만들 수 있습니다.

 

코드 템플릿(Code Templates)

코드 템플릿을 통해 편집하는 동안 문서 조각을 정의하고 재사용할 수 있습니다. 템플릿 목록은 CTRL+SPACE 키보드 단축키를 사용하여 Content Completion Assistant를 통해 얻을 수 있습니다. Oxygen에는 XSLT, XQuery, XML 스키마 및 CSS 용으로 즉시 사용할 수 있는 수 많은 템플릿이 포함되어 있지만 모든 유형의 문서에 대해 특화된 코드 템플릿을 만들 수도 있습니다. 템플릿은 내보내기와 가져오기 작업을 사용하여 다른 사람과 공유할 수도 있습니다.

다음 그림의 미리보기 창(Preview Pane)은 Copy-Template 코드 템플릿이 어떻게 정의되는지 보여줍니다. 삽입 후 커서는 xsl:template closing tag 라인 뒤에 위치합니다.

 

리소스 계층구조(Resource Hierarchy)/종속성 보기(Dependencies View)

Xincludeexternal entity 메커니즘을 사용하여 참조되는 XML 리소스 간의 관계는 리소스 계층/종속성 보기(Resource Hierarchy/Dependencies View)를 통해 시각화하고 이해할 수 있습니다.

 

이동되거나 이름 변경된 리소스의 업데이트 참조(Update Reference of Moved or Renamed Resources)

프로젝트 보기(View)에서 XML, XSL, XSD 또는 WSDL 리소스의 이름이 변경되거나 이동되면 Oxygen은 해당 리소스에 대한 참조를 업데이트 할 수 있는 옵션을 제공합니다. 리소스 계층 구조(Hierarchy)/종속성(Dependencies) 보기에서 리소스를 이동하거나 이름을 바꿀 때도 동일한 옵션을 사용할 수 있습니다.

 

태그 하이라이트 및 검색 매칭(Matching Tag Highlight and Navigation)

태그 이름 안에 커서를 놓으면 시작 태그(Start-tag)와 종료 태그(End-tag) 모두에 밑줄이 표시되어 현재 요소에 즉시 초점을 맞출 수 있습니다. 상황에 맞는 메뉴에서 Go to Matching Tag 작업을 사용하여 일치하는 태그로 커서를 이동할 수 있습니다. Oxygen에는 XML 태그를 쉽게 식별하고 검색하는데 도움이 되는 다양하고 유용한 바로가기(Shortcuts)가 포함되어 있습니다.  

 

매칭 End-Tag의 자동 편집(Automatic Editing of the Matching End-Tag)

Oxygen에서 요소명을 쉽게 바꿀 수 있습니다. XML 요소의 시작 태그(Start-tag)가 편집되면 일치하는 끝 태그(End-tag)가 자동으로 변경되어 XML 문서를 “올바른 형식”(Well-formed)으로 유지하여 키 동작을 여러 번 줄여줍니다.

 

XML Tags 잠금/잠금해제(Lock/Unlock of XML Tags)

XML 태그 잠금/잠금 해제(Lock/Unlock XML Tags) 옵션을 사용하면 실수로 변경되지 않도록 마크업(Markup)을 보호하고 텍스트 섹션에 대한 수정을 제한할 수 있습니다. 이는 텍스트 컨텐트만 수정할 수 있는 고정 마크업(Fixed Markup)이 있는 템플릿이나 XML 문서를 편집할 때 특히 유용합니다.

 

접기(Folding)

XML 문서는 트리와 같은 구조를 가지고 있습니다. 접기(Folding)를 사용하면 다른 요소를 접으면서 편집이 필요한 요소에만 초점을 둘 수 있습니다. Oxygen의 독특한 기능은 접힌 부분이 지속된다는 것 입니다(다음에 문서를 열면 접힌 부분이 마지막 상태로 복원되어 작업이 중단된 부분부터 계속할 수 있습니다). XML이 아닌 파일에 대한 접기 전략(Folding Strategies)은 들여쓰기가 같은 텍스트 블록을 접는 것 입니다.

다음 그림에서는 하나의 섹션만 확장되고 나머지는 축소된 것을 볼 수 있습니다. 축소된 줄(Line) 수는 접힌 요소의 오른쪽에 있는 괄호에 나열됩니다.

문맥에 맞는 메뉴 작업을 사용하여 선택한 접기, 하위 접기(Child Folders) 또는 다른 모든 접기를 접거나 펼칠 수도 잇습니다.

 

선택적 컨텐트 생성(Optional Content Generation)

새 XML 문서를 만들 때 편집기는 연관된 스키마 또는 DTD에 지정된 필수 요소를 기반으로 루트 요소(Root Element)의 내용을 생성합니다. 컨텐트 생성 프로세스에서 선택적 컨텐트(Optional Content)와 선택 모델(Choice Models)을 고려하여 새 문서에 더 많은 컨텐트를 갖도록 하는 2 가지 옵션도 사용할 수 있습니다.

XML Editor   I   Working with Modular XML Files in the Main Files Context

Leave a Reply

Close Menu