XForms(XForms)
XFormsXForms는 웹 양식에서 입력을 수집하는 데 사용되는 XML 형식입니다.XForms는 차세대 HTML/XHTML 형식으로 설계되었지만 사용자 인터페이스와 일련의 일반적인 데이터 조작 작업을 설명하기 위해 XHTML 이외의 프레젠테이션 언어 또는 독립 실행형 방식으로 사용할 수 있을 만큼 충분히 일반적입니다.
XForms 1.0(제3판)은 2007년 10월 29일에 발행되었습니다.원래 XForms 사양은 2003년 10월 14일에 공식 W3C 권장 사항이 되었지만, 여러 가지 개선 사항을 도입한 XForms 1.1은 2009년 10월 20일에 동일한 상태에 도달했습니다.
웹 양식과의 차이점
원래 웹 양식(원래 HTML로 정의됨)과 달리, XForms의 제작자들은 모델-뷰-컨트롤러(MVC) 방식을 사용했습니다.모델은 양식 데이터, 해당 데이터에 대한 제약 조건 및 제출을 설명하는 하나 이상의 XForms 모델로 구성됩니다.보기는 양식에 나타나는 컨트롤, 컨트롤이 함께 그룹화되는 방법 및 컨트롤이 바인딩되는 데이터를 설명합니다.CSS를 사용하여 폼의 외관을 설명할 수 있습니다.
XForms 문서는 웹 양식처럼 단순할 수 있지만(모델 섹션에 제출 요소를 지정하고 본문에 컨트롤을 배치하는 것만으로), XForms에는 많은 고급 기능이 포함되어 있습니다.예를 들어 스크립트가 없는 경우를 제외하고 XMLHttpRequest/AJAX를 사용하는 것과 마찬가지로 실행 중인 폼을 업데이트하기 위해 새 데이터를 요청하고 사용할 수 있습니다.폼 작성자는 XML Schema 데이터 유형에 대한 사용자 데이터 검증, 특정 데이터 요구, 입력 제어 비활성화 또는 상황에 따라 폼 섹션 변경, 데이터 간의 특정 관계 적용, 데이터 입력 가변 길이 배열, 폼 데이터로부터 도출된 계산된 값 출력, XML 문서를 사용한 프리필 엔트리, r는 실시간으로 액션을 수행하고(전송 시 수정), 표시되는 디바이스에 따라 각 컨트롤의 스타일을 변경합니다(브라우저 대 모바일 대 텍스트만).대부분의 경우 JavaScript와 같은 언어를 사용한 스크립트는 필요하지 않습니다.그러나 XForms에는 보다 복잡한 양식 [1]동작을 구현하기 위한 이벤트 모델과 조치가 포함되어 있습니다.액션 및 이벤트 처리는 JavaScript와 같은 일반적인 스크립트 언어가 아닌 XForms XML 언어를 사용하여 지정됩니다.
웹 양식과 마찬가지로 XForms는 다양한 비 XML 제출 프로토콜(멀티파트/폼 데이터, 애플리케이션/x-www-폼-urlencoded)을 사용할 수 있지만, 새로운 기능은 XForms가 XML 형식으로 서버에 데이터를 전송할 수 있다는 것입니다.XML 문서를 사용하여 양식의 데이터를 미리 채울 수도 있습니다.XML이 표준이기 때문에, 송신시에 데이터를 해석해 수정할 수 있는 툴이 많이 있습니다.기존 양식에 대한 유사한 도구도 있습니다.XForms 자체는 XML 방언이기 때문에 XSLT를 사용하여 다른 XML 문서를 만들고 작성할 수 있습니다.변환을 사용하여 XML 스키마에서 XForms를 자동으로 생성하고 XForms를 XHTML 형식으로 변환할 수 있습니다.
소프트웨어 지원
이 기사에서 널리 사용되는 웹 브라우저는 기본적으로 XForms를 지원하지 않습니다.그러나 다양한 브라우저 플러그인, 클라이언트 측 확장 및 서버/클라이언트 솔루션이 존재합니다.다음은 몇 가지 구현 예를 제시하겠습니다.
- Firefox XForms 확장은 Mozilla 프로젝트의 [2]일부였습니다.XForms 1.0 SE 지원은 완전하지는 않지만 HTML 테이블에서 사용되는 속성 기반 반복을 제외하고 대부분의 사양을 포함합니다.이 확장은 Firefox 2와 Firefox 3 모두에서 사용 가능했지만 Firefox 4 이상을 지원하도록 업그레이드되지 않았습니다.2011년 7월, 수석 개발자는 XForms 지원이 [3]더 이상 업데이트되지 않을 것이라고 밝혔습니다.XForms에 대한 지원은 Firefox [4]19에서 폐지되었습니다.
- IBM Lotus Forms는 XForms 기반 순수 XML 양식의 개발 및 배포를 지원합니다.Eclipse 기반 시각적 디자인 환경과 XForms 기반 양식을 웹 브라우저와 독립 실행형 데스크톱 응용 프로그램 모두에서 실행할 수 있는 클라이언트 측 뷰어를 평가판으로 다운로드할 수 있습니다.
- OpenOffice.org 버전 2.0 이상 및 LibreOffice는 [5][6]XForms를 지원합니다.
구현 테크놀로지 비교
폼페이스, AJAX Forms, XSL TForms, 더 나은 기능FORM, 치바, Orbeon 및 Smartsite Forms는 Ajax 기술을 기반으로 합니다.서버측과 클라이언트측의 처리량은, 이러한 실장 마다 다릅니다.예를 들어, 유비쿼티 XForms, FormFaces 및 XSLTForms는 XForms 표준에서 순수 Ajax 프로세싱을 통해 100% XForms 클라이언트 측 프로세싱 및 데이터 모델 업데이트를 제공합니다.그 외는 서버측 Java/ 를 사용합니다.NET XForms는 콘텐츠를 브라우저로 전송하기 전에 Ajax 마크업으로 트랜스코딩을 처리합니다.두 기술 모두 브라우저 전체에서 사용할 수 있습니다.각 구현은 의존관계, 확장성, 성능, 라이센스, 성숙도, 네트워크 트래픽, 오프라인 기능 및 크로스 브라우저 호환성에 따라 크게 다릅니다.시스템 설계자는 이러한 제약을 필요에 따라 평가하여 잠재적인 위험과 목표를 결정해야 합니다.
FormsPlayer 등의 클라이언트 측 테크놀로지에도 몇 가지 이점이 있습니다.플러그인은 브라우저에 통합되어 있기 때문에 기존 서버 아키텍처와 연동하여 응답성을 높이고 서버 취득을 줄일 수 있습니다.
서버측 플러그인 솔루션과 클라이언트 플러그인 솔루션 간의 트레이드오프는 소프트웨어가 유지되는 부분입니다.각 클라이언트는 필요한 플러그인을 설치하거나 XForms 트랜스코더 엔진 언어 기술을 수용하기 위해 서버 아키텍처를 변경해야 합니다.이론적으로 이 두 가지 솔루션을 혼합할 수 있습니다. 예를 들어, 클라이언트 측 XForms 구현을 위한 브라우저를 테스트하고, 이 경우 네이티브 XForms를 제공하고, 다른 경우 서버 솔루션을 기본화하는 것입니다.
유비쿼티 XForms, Form Faces 및 XSL TForms는 클라이언트 또는 서버 중 하나에 "제로 소프트웨어" 솔루션을 제공합니다.클라이언트에 새로운 소프트웨어를 설치할 필요가 없으며 이 솔루션을 서버 측 아키텍처와 함께 사용할 수 있습니다.이는 FormFaces 및 Ubitiity XForms가 Ajax에서 100% 작성되고 XSLTForms가 XSLT 및 Ajax에서 작성되기 때문에 가능합니다.단점은 다른 솔루션에 비해 클라이언트에 다운로드되는 코드가 많다는 것입니다(클라이언트에 코드를 캐시할 수 있습니다).FormFaces는 아직 XML Schema 검증을 지원하지 않습니다.또한 XForms를 "모두" 교체 동작으로 제출하면 일반적으로 페이지가 제대로 교체되지 않으므로 정상적인 뒤로 버튼 동작이 중단됩니다.
XRX 애플리케이션 아키텍처
XForms를 사용하면 복잡한 XML 데이터를 쉽게 편집할 수 있으므로 REST 인터페이스를 자주 활용하는 네이티브 XML 데이터베이스와 함께 XForms를 사용하면 많은 이점이 있습니다.3개의 테크놀로지(클라이언트상의 XForms, REST 인터페이스, 서버상의 XQuery)의 조합을 XRX 애플리케이션 개발이라고 부릅니다.XRX는 클라이언트와 데이터베이스 모두에서 XML을 사용하여 객체 또는 관계형 데이터 구조로의 변환을 회피하는 단순한 아키텍처로 알려져 있습니다."XRX:심플하고 우아하며 중단을 수반합니다.
모바일 장치용 XForms
![]() | 이 문서의 일부(이점과 관련된 내용)를 업데이트해야 합니다.그 이유는 "JavaScript 지원은 모바일 기기에 따라 크게 달라 폭넓게 신뢰할 수 없습니다." - 이는 2005년에 작성된 것으로 시대에 뒤떨어진 것입니다.(2021년 7월) |
혜택들
XForms는 모바일 장치에서 사용할 경우 다음과 같은 특정 이점을 제공합니다.
- XForms를 사용하는 사용자 인터페이스는 서버와의 라운드 트립이 적고 HTML 4 형식을 사용하는 사용자 인터페이스보다 자기 완결성이 우수합니다.
- 모바일 장치의 기능은 매우 다양합니다. 따라서 모바일 환경에서는 다양한 장치에 대해 서로 다른 사용자 인터페이스를 생성하는 데 필요한 작업량이 특히 중요합니다. XForms는 장치로부터 독립적으로 양식을 기술할 수 있도록 처음부터 설계되어 타르에 필요한 작업량을 줄여줍니다.여러 디바이스를 가져옵니다.
- XForms는 JavaScript의 필요성을 줄여줍니다. JavaScript 지원은 모바일 장치에 따라 크게 달라서 널리 의존할 수 없기 때문에 특히 흥미롭습니다.이를 통해 보안상의 문제로 JavaScript가 비활성화되어 있는 시스템도 계속해서 완벽하게 작동할 수 있습니다.
실장
ODK
ODK는[7] ODK [8]XForms라고 하는 W3C XForms 1.0의 서브셋을 사용하는 오픈 소스 모바일 데이터 수집 플랫폼입니다.ODK는 Java(JavaRosa) 및 JavaScript(Enketo-core)에서 ODK XForms 프로세싱 라이브러리를 제공합니다.
엑스폴라이트
Xfolite는 J2ME 플랫폼용 경량 XForms 클라이언트입니다.원래 Nokia Research Center에서 개발되었으며 DOM 및 XPath 1.0 구현과 XForms 1.1 사양을 거의 완벽하게 구현하는 XForms 엔진을 포함합니다.XFolite는 베타 소프트웨어로 출시되었으므로 프로덕션 환경에서 사용할 수 있는 상태로 간주해서는 안 됩니다.그러나 다른 UI 구현에서 작동하도록 설계된 성숙한 XForms 엔진이 포함되어 있습니다.단, XML 스키마와 CSS는 프로젝트 범위를 벗어납니다.Xfolite는 LGPL 라이선스로 라이선스된 오픈소스이지만 더 이상 개발이 활발하지 않다.
「 」를 참조해 주세요.
레퍼런스
- ^ Pemberton, Steven (June 2014). "Live XML Data". XML London 2014: 96–102. doi:10.14337/XMLLondon14.Pemberton01. ISBN 978-0-9926471-1-7.
- ^ Mozilla: Mozilla XForms 프로젝트 - 다운로드.2013-03-12에 접속.
- ^ 필립 와그너:Mozilla XForms의 미래, 2011년 7월 13일
- ^ Mozilla Developer Network(MDN): XForms.2013-03-12에 접속.
- ^ Apache Open Office : [ 1 ]2020-05-24에 접속.
- ^ 문서 기반: XML 폼 문서(XForms).2013-03-12에 접속.
- ^ http://getodk.org
- ^ "ODK XForms Specification".
- XForms 1.1 - W3C 권장 사항 2009년 10월 20일
- Raman, T.V. (2004). XForms: XML Powered Web Forms. Boston: Addison-Wesley. ISBN 0-321-15499-1.
- Dubinko, Micah (2003). XForms Essentials. Sebastopol, CA; Farnham: O'Reilly & Associates. ISBN 0-596-00369-2.
외부 링크


- W3C의 XForms 리소스
- XForms 사용자 커뮤니티 그룹
- XForms 1.0에 대한 FAQ
- XForms 1.1은 2009년 10월 20일 W3C 권장 사항입니다.
- XForms 2.0 작업 초안
- XForms 2.0: XPath 식 모듈
- Steven Pemberton의 HTML 작성자용 XForms에 대한 간단한 소개
- XForms 1.1 빠른 참조
- XForms 구현
- 양식 작업 그룹(이력 관심사)
- XForms 1.0(3차 에디션)은 2007년 10월 29일 W3C 권장 사항입니다.
- XML: Curlie에서의 폼
- XSL TForms
- 스마트 사이트 XForms