Кіріспе
XFA (XFA формалары деп те аталады) – XML Forms Architecture дегенді білдіреді, бұл веб-формаларды өңдеуді жақсарту үшін JetForm ұсынған және дамытқан меншік XML спецификацияларының жиынтығы. Ол PDF 1.5 спецификациясымен басталатын PDF файлдарында да қолданылуы мүмкін. XFA спецификациясы ISO 32000 1 спецификациясын толыққанды қолдану үшін қажетті сыртқы спецификация ретінде сілтеме жасалады (PDF 1.7). XML Forms Architecture ISO стандарты ретінде стандартталмаған және PDF 2.0 нұсқасында қолданылмайды. XFA ұсынысы 1999 жылдың мамырында W3C ұйымына ұсынылды. 2002 жылы JetForm корпорациясын Adobe Systems сатып алды, ал ол 2003 жылы PDF 1.5 және одан кейінгі Acrobat (6 және 7) нұсқаларымен бірге XFA формаларын енгізді. XFA формалары PDF файлдарында немесе XDP (XML Data Package) файлдары түрінде сақталады, оларды Adobe LiveCycle Designer бағдарламалық қамтамасымен ашуға болады. XDP PDF файлын, XML формасын және үлгі деректерін бірге жинақтауға мүмкіндік береді. XDP форма компоненттерін XML контейнерінде орналастыру механизмін ұсынады. XFA PDF-ті пайдалана білсе де, ол нақты беттік сипаттау тіліне байланысты емес. XFA спецификациясына Adobe-ге тән XFA іске асыру ерекшеліктері және XFA спецификациясынан ауытқуы мүмкін Adobe өнімдерінің мінез-құлқы туралы толық ақпарат қосымшада келтірілген. XFA форматында толтырылған деректер хостқа HTTP POST операциясы арқылы XDP, PDF, XFDF, XML 1.0 форматтарында немесе URL кодталған форматта жіберілуі мүмкін. XFA, XFA Data DOM-ға жүктемес бұрын немесе одан түсіргеннен кейін XML деректерін түрлендіру үшін XSLT қолдануды қолдайды. XFA парақтандыру әдістерінің бірі XSL FO синтаксисінің көп бөлігін және парақтандыру логикасын қайталайды. Австралия үкіметінде XFA формалары SmartForms терминімен бірдей мағынаны білдіреді.
XFA (also known as XFA forms) stands for XML Forms Architecture, a family of proprietary XML specifications that was suggested and developed by JetForm to enhance the processing of web forms. It can be also used in PDF files starting with the PDF 1.5 specification. The XFA specification is referenced as an external specification necessary for full application of the ISO 32000 1 specification (PDF 1.7). The XML Forms Architecture was not standardized as an ISO standard, and has been deprecated in PDF 2.0. The XFA proposal was submitted to the W3C in May 1999. In 2002, the JetForm Corporation was acquired by Adobe Systems, and the latter introduced XFA forms with PDF 1.5 and the subsequent Acrobat releases (6 and 7) in 2003. XFA forms are saved internally in PDF files or as XDP (XML Data Package) files which can be opened in Adobe's LiveCycle Designer software. An XDP can package a PDF file, along with XML form and template data. XDP provides a mechanism for packaging form components within a surrounding XML container. Although XFA can make use of PDF, XFA is not tied to a particular page description language. The XFA specification includes an appendix that discusses details of the Adobe specific XFA implementation and behaviors of Adobe products that deviate from the XFA specification. Data filled in an XFA form may be submitted to a host using an HTTP POST operation in XDP format, PDF format, XFDF format, XML 1.0 format or as an URL encoded format. XFA supports the use of XSLT to transform the XML data before it is loaded to XFA Data DOM or after it is unloaded from XFA Data DOM. One of XFA approaches to pagination duplicates the pagination logic and much of the syntax of XSL FO. XFA forms are synonymous with SmartForms in the Australian government.
Статикалық және динамикалық нысандар
XFA статикалық нысандарды (XFA 2.0 және одан бұрынғы нұсқалары) және динамикалық нысандарды (XFA 2.1 немесе 2.2 нұсқаларынан бастап) анықтайды. Статикалық нысанда нысанның көрінісі мен құрылымы өрістің мазмұнына қарамастан бекітілген болады. Толтырылмаған өрістер нысанда болады. Әдепкі бойынша, статикалық нысандарды қайта көрсетудің қажеті жоқ. XFA статикалық нысандардың екі түрін таниды: "ескі үлгідегі статикалық нысандар" ("толық XFA" қолданылады) және XFAF (XFA 2.5 нұсқасынан бастап анықталған толық XFA-ның кіші жиынтығы). Динамикалық нысандар (XFA 2.1 немесе 2.2 нұсқаларынан бастап анықталады) деректердегі өзгерістерге жауап ретінде бірнеше тәсілмен көрінісін өзгерте алады. Динамикалық нысан файл ашылғанда оның мазмұнын көрсетуді талап етеді. Динамикалық нысандар нысанға берілген деректердің құрылымы өзгергенде, сол құрылымға бейімделу үшін өз құрылымын өзгертуге мүмкіндік береді. Мысалы, нысанның бір беті, егер оған қатысты дерек болмаса, алынып тасталуы мүмкін. Тағы бір мысал – бетте өзгермелі көлемді алатын және мазмұнын тиімді сақтау үшін мөлшерін өзгертетін өріс. Динамикалық нысан өз негізгі элементтерінің PDF бейнелеуіне сүйене алмайды, себебі негізгі элементтердің орналасуы мен құрылымы өрістердің кеңеюі мен тарылуына немесе кіші нысандардың қосылуы мен алынып тасталуына байланысты өзгереді.
Портативті құжат форматымен пайдалану
PDF 1.7 екі түрлі әдіспен деректерді және PDF нысандарын біріктіруді қолдайды. AcroForms (Acrobat нысандары деп те аталады), PDF 1.2 форматының сипаттамасында енгізіліп, қосылған. Adobe XML Forms Architecture (XFA) нысандары, PDF 1.5 форматының сипаттамасында қосымша мүмкіндік ретінде ұсынылған (XFA сипаттамасы PDF сипаттамасына енгізілмеген, тек сілтеме берілген). Adobe XFA нысандары AcroForms нысандарымен үйлесімсіз. XFA нысаны PDF файлына енгізілген кезде, ол AcroForm құжатының ресурстар сөздігіне ("Shell PDF") орналастырылады немесе құжат каталогындағы AcroForm жазбасынан сілтемеленеді. Adobe Reader-де пайдалану үшін XFA нысандарын жасауға Adobe LiveCycle Designer қажет. Adobe Reader XFA нысандарын пайдалану үшін "деактивацияланған мүмкіндіктерді" қамтиды, олар тек Adobe-ден ғана қол жетімді технологияны пайдаланып жасалған PDF құжатын ашқанда ғана қосылады. XFA нысандары Adobe Reader-дің 6-дан төмен нұсқаларымен үйлесімсіз.
Қаптама
XFA нысандары PDF 1.5 және 1.7 файлдары түрінде немесе XDP (XML Data Package) түрінде жасалып, қолданылуы мүмкін. PDF форматындағы XFA ресурсы XML деректер жинағының сипаттамасымен анықталады.
Бай мәтін
Бай мәтін XFA формаларына жіберілген деректерде, XFA үлгілерінде әдепкі мәтін мәндері ретінде, өріс тақырыптары ретінде немесе стандартты мазмұнда (сызба) пайда болуы мүмкін. PDF 1.5 (XFA 2.02) нұсқасынан бастап, өзгермелі мәтін өрістерінің мәтіндік мазмұны, сондай-ақ белгілеулерге қосымша пішімдеу ақпараты (стиль ақпараты) енгізілуі мүмкін. Бұл бай мәтіндік тізбектер – XML формалары архитектурасының талаптарына сәйкес келетін XML құжаттары, ал XML формалары архитектурасы – XHTML 1.0 спецификациясының шектеулі жиынтығы болып табылады және CSS2 стиль атрибуттарының шектеулі жиынтығымен толықтырылған. PDF 1.6 нұсқасында PDF, XML формалары архитектурасы (XFA) спецификациясының 2.2 нұсқасында көрсетілген бай мәтін элементтері мен атрибуттарын қолдайды. PDF 1.7 нұсқасында PDF, XML формалары архитектурасы (XFA) спецификациясының 2.4 нұсқасында көрсетілген бай мәтін элементтері мен атрибуттарын қолдайды. 2017 жылы ISO комитеті PDF 2.0 нұсқасынан XFA-ны қолданудан тоқтатты.
XFA нұсқалары
XFA нұсқасы Жыл жарияланған PDF нұсқасында сілтеме жасалған Жаңа мүмкіндіктер Adobe Acrobat нұсқасы Adobe Designer нұсқасы 2.02 2003 1.5 XFA 2.0 тек статикалық формаларды қолдайды 6.0 6 2.1 Connection Set DOM, Connection Data DOM, Data Description DOM, Layout DOM, Connection Set DOM, Connection Data DOM, Data Description DOM, Layout DOM, Арнайы объектілер модельдері, Шығарылған топ элементтерінің мүмкіндігі кеңейтілді, Маңыздылығына қарай контейнерлерды жасыру/көрсету, Өсетін контейнерлер, Параграф форматы, Штрихкод форматы, Кескіннің пропорциясы, Қолданылмайтын өрістер, Веб-қызметтерді қолдау ('doc literal' SOAP операциялары HTTP арқылы; Веб-қызметтің WSDL SOAP байланыс операцияларын анықтайды), Форма бөлімдерін мақсатты URI-ге жіберу, Ішкі формалар есептеулерді қамтуы мүмкін, Есептеулер жаңарту шарттарын белгілеуі мүмкін, Скрипттер олар клиентте, серверде немесе екеуінде орындалуын көрсетеді, Құжат айнымалылары, Нақты сурет клаузаларына қатысты тексерулер, Оқиға атрибуты ретінде қосылған оқиға көзі, XML жазу кезінде деректер сипаттамасын пайдалану, Динамикалық формалар, Қайталанатын ішкі формалар, Нақты деректер сілтемелері, Ішкі форма жиынтықтары, Жазуды өңдеу, Жалпы өрістер, Деректер сипаттама элементі, Атрибут деректерін қамту үшін әдепкі деректер байланысы, Ішкі форма ауқымы опциясы, Автоматты түрде макетті бұзу, Динамикалық макет, Ағын макет стратегиясы, Кестелер мен кесте қатарлары үшін ағын макетін қолдау, Күрделі мәтін: Кіріктірілген объектілер, Индекс және суперскрипт қолдауы, Жаңа виджет түрлері, Азия тілдерінің ұсынылымдарын қолдау, Скрипт объектілер моделі: Объектілерді олардың класс аттары бойынша сілтемелеу, FormCalc: Локальге қол жеткізу үшін жаңа функциялар 2.2 2004 1.6 Connection Set DOM, Connection Data DOM, Төмендетілген таңдау тізімі виджеттерін толтыру оқиғасы, W3C XML цифрлық қолтаңбалары, Үлгілерді бірегей анықтау, Аталған скрипт объектілері ретінде қолданылатын құжат айнымалылары 7.0 7 2.4 2006 1.7 және ISO 32000 1 Форма фрагменттері, Штрихкод шифрлауы, Штрихкод символдарының кодировкасы, Жіберу үшін URL кодиленген опция, Таңдау тізімі кіру және шығу оқиғалары жұптастырылған, Скрипт айнымалылары ретінде манифест, Күрделі байланыс, Шартты байланыс, Оңдан солға мәтін ағыны үшін қолдау, Шартты бұзу, Кестелерді ұялау, Көріністер арасында әртүрлі болуы мүмкін тақырыптар 7.0 7.1 2.5 2007 1.7 Adobe Extension Level 1 Қауіпсіз жіберу, Индекс өзгерту оқиғасы, XFA Foreground (XFAF), Бастапқы бет таңдауын өзгерту, Принтер беттеуін нақты басқару, Виджет функционалдығы: Прокрутканы басқару, Белгіше пішіндері, Түймеге жарық түсіру, Combs-тағы ұяшықтар санын нақты басқару, Қауіпсіздік және басқару: MDP+ құжат қолтаңбалары 8.0 8 2.6 2008 1.7 Adobe Extension Level 2 Adobe XMP құжатталған, Adobe конфигурациясы синтаксисі құжатталған, Үлгі нұсқасын басқару, Артықшылықтық қолдау үшін Adobe legacy флагтары құжатталған (кері үйлесімділік үшін), PDF-те кескін сақтау (кескіндер PDF контейнеріндегі ресурстар ретінде сақталады), Жаңа штрихкод түрлері (UPS Maxicode, Aztec, Data Matrix және RSS14 отбасысы) 8.1, 8.1.1 ES 8.1 2.7 2008 1.7 Adobe Extension Level 3 Локаль жиынтығы шрифтері, Балама шрифтерді таңдау үшін жаңа ережелер жиынтығы 8.1, 8.1.1 ES 8.1.2 2.8 2008 1.7 Adobe Extension Level 3 Жаңа айнымалы деректер жиынтығы, Траверсалдарды жариялайтын форма фрагменттері, Ішкі формаларға қол жеткізуге рұқсат беру, Жетім және жесірді жақсарту, Өрістер мен суреттерге рұқсат беру, Веб-қызметтер үшін аутентификация саясаты, WSDL/SOAP арқылы жіберу, Жіберуге дейінгі және кейінгі оқиғалар стандартизацияланды, Қол қоюға дейінгі және кейінгі оқиғалар қосылды, Оқиғамен байланысты әрекетті жоюға болатын оқиғалар, Рұқсат беру мінез-құлқының өзгеруі, Жұп кернинг қолдауы, Дефис қолдауы, Күрделі мәтін: Сыртқа қарай гиперсілтемелер 9.0 ES 8.2 3.0 2009 1.7 Adobe Extension Level 5 LiveCycle-дегі үйлесімділік флагын жою, Белсенді емес болуы, Оқиға таралуы (олардың аталық объектілеріне қарай), Қосылған тексеру оқиғалары, Жалпы тексеруді басқару 9.1 3.1 2009 1.7 Adobe Extension Level 6 Қатысты деректерді қолдау, Деректер сипаттамасына деректерді енгізу, Штрихкод мысалдары кеңейтілді және суреттелді, Автоматтандыру мысалдары кеңейтілді және түзетілді, Дуплекс позициясын басқару, Рендеринг: Ұзын немесе қысқа жиек дуплексін қолдау, Көбірек этикетка принтерлерін қолдау X (10) ES 2 3.3 2012 1.7 Adobe Extension Level 8 Белгіленген тізім, нөмірленген тізім және ұяланған тізімдерді қолдау, Оңдан солға ағын мазмұнын қолдау Ішкі формалар мен кестелер, Артықшылықты рендерингті жою, XML шифрлау және шифрлауды қолдау, autoSave элементі қосылды, ADBE JSConsole және ADBE JSDebugger элементтері қосылды, Flash (SWF) XFA-ға интеграцияланды X (10) ES 3