Использование XML для подачи графической формы/шаблона

#xml #xcode #user-interface #templates #xquery

Вопрос:

Поэтому я использую программу, в которой есть шаблоны, которые отображаются следующим образом: пример шаблона Шаблоны основаны на XML, который вы можете экспортировать.

Что я хочу сделать, так это взять экспортированный XML и создать свой собственный просмотрщик, похожий на этот, и использовать XML для просмотра за пределами программного обеспечения, из которого он получен. Я посмотрел, но не могу найти много о том, как это сделать.

     <templates xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" systemVersionId="4" mkbVersion="170.0.0.0" xmlns="http://www.e-mis.com/emisopen">
    <id>03dc83f1-9de5-47da-92de-681486ce658e</id>
    <templateName>test template</templateName>
    <creationTime>2020-03-15T14:56:54.7105576 00:00</creationTime>
    <author>
        <system>
            <systemType>EMISWEB</systemType>
            <displayName>test, test (Dr)</displayName>
        </system>
    </author>
    <definition>
        <template>
            <page>
                <page>
                    <title>COVID19 - NICE(NG165)</title>
                    <panel>
                        <promptForDate>false</promptForDate>
                        <mandatory>false</mandatory>
                        <panel>
                            <title>Links and guidance</title>
                            <createComponentsAsChildren>false</createComponentsAsChildren>
                            <component>
                                <id>3c3c878a-a71e-4c69-a54a-6cd56903081f</id>
                                <label>We are continually collating the latest evidence and handy links for COVID19 here 👉🎁</label>
                                <promptForDate>false</promptForDate>
                                <mandatory>false</mandatory>
                                <hyperlink>
                                    <title>We are continually collating the latest evidence and handy links for COVID19 here 👉🎁</title>
                                    <URL></URL>
                                </hyperlink>
                            </component>
                            <component>
                                <id>01935239-f461-4624-b230-110a5bdd03c2</id>
                                <label>There is a lot of evidence based supporting information on this template. Please take your time to get familiar with it before use.  
(Version updated 20/01/2021)
Data marked ** is included in national surveillance uploads so complete if relevant
</label>
                                <promptForDate>false</promptForDate>
                                <mandatory>false</mandatory>
                                <textDisplay>
                                    <text>{rtf1ansiansicpg1252deff0deflang2057{fonttbl{f0fnilfcharset0 Tahoma;}}
{colortbl ;red87green85blue81;red237green28blue36;}
viewkind4uc1pardtx566tx1133tx1700tx2267tx2834tx3401tx3968tx4535tx5102tx5669tx6236tx6803cf1f0fs16 There is a lot of evidence based supporting information on this template. Please take your time to get familiar with it before use.  par
(Version updated 20/01/2021)fs18par
cf2b Data marked ** is included in national surveillance uploads so complete if relevantcf1b0par
cf0par
}
</text>
 

Комментарии:

1. По какой-либо конкретной причине вы используете RTF для описания рендеринга, а не CSS, который, безусловно, гораздо более переносим?

2. Это то, что использует программное обеспечение. Это было сделано в 2011 году. Не в моей власти, к сожалению, но полностью согласен.

Ответ №1:

XForms можно использовать для визуализации таких XML-документов в браузере. XSLTForms (моя собственная реализация, в https://github.com/AlainCouthures/declarative4all/raw/master/public/direct/xsltforms.zip) еще не поддерживает вывод RTF, но его можно легко добавить с помощью некоторой библиотеки, такой как https://github.com/tbluemel/rtf.js

Комментарии:

1. Спасибо! Я это проверю.