powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / генерация форм по xsd
13 сообщений из 13, страница 1 из 1
генерация форм по xsd
    #33617749
linni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно по схеме xsd генерировать соответствующие html-формы после заполнения которых создается xml-документ.
Что может помочь в этой самой генерации?
...
Рейтинг: 0 / 0
генерация форм по xsd
    #33619288
M0us
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xsd-схемы не очень гибкие.
я обычно логику такого рода выношу в отдельный xml-справочник.

направление мысли можно подчерпнуть отсюда...

если это неподходит.
То думаю, что нужно читать структуру xsd-файла (как обычный xml) и на основе этого делать соответствующую генерацию html
...
Рейтинг: 0 / 0
генерация форм по xsd
    #33622075
linni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а с помощью чего тогда лучше накладывать ограгничения на xml?
и еще подумалось, можно ли xsd в таком случае вывести с помощью xsl-шаблонов как просто xml?
Трудность в том, что xsd-файлы могут произвольно изменяться, а формы генерироваться по измененым файлам...
...
Рейтинг: 0 / 0
генерация форм по xsd
    #33622587
M0us
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
linniа с помощью чего тогда лучше накладывать ограгничения на xml?
и еще подумалось, можно ли xsd в таком случае вывести с помощью xsl-шаблонов как просто xml?

а зачем его выводить? использовать в обработке, я думаю можно, т.к. он имеет xml-подобный формат))

linni
Трудность в том, что xsd-файлы могут произвольно изменяться, а формы генерироваться по измененым файлам...


я об этом и говорю, что строить правила обработки на уровне не очень гибкого XSD - себя не любить.
лучше, как я говорил выше - использовать xml-справочник, где и задавать настройки отображения.

Кстати, если подразумевается, что xsd-файлы будут меняться (ну или какая-то другая форма хранения форматов отображения html), а xsl-шаблоны будут оставаться прежними, то Вам придется писать динамические xsl-шаблоны. Очень интересная тема и интересный вопрос.

Можно подробнее? Какого рода форматирование html-файлов вы хотите задавать? Насколько сильные изменения возможны?
...
Рейтинг: 0 / 0
генерация форм по xsd
    #33622949
linni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
M0us
linni
Трудность в том, что xsd-файлы могут произвольно изменяться, а формы генерироваться по измененым файлам...


я об этом и говорю, что строить правила обработки на уровне не очень гибкого XSD - себя не любить.
лучше, как я говорил выше - использовать xml-справочник, где и задавать настройки отображения.
угу, надо будет попробывать такой вариант.
Спасибо за совет.
M0us
Кстати, если подразумевается, что xsd-файлы будут меняться (ну или какая-то другая форма хранения форматов отображения html), а xsl-шаблоны будут оставаться прежними, то Вам придется писать динамические xsl-шаблоны. Очень интересная тема и интересный вопрос.

Если бы было все статично, то и проблемы особой не было бы... Тема интересная, но меня она как-то не вдохновляет:(
M0us
Можно подробнее? Какого рода форматирование html-файлов вы хотите задавать? Насколько сильные изменения возможны?
Теоретически изменения могут быть любыми. Практически же, не думаю, что они будут большими.

Есть описание xml-фалов, по которому эти файлы создаются/редактируются через web-интерфейс.
Если описание изменилось, то новые файлы создаются по нему, а уже созданные при редактировании проверяются на соответствие с новым шаблоном. После проверки предлагается откорректировать данные.
Например, был список на выбор из 4х значений, а стал из 3х. Если было выбранно удаленное значение, то надо перевыбрать...и.т.п.

Формат хранения данных - xml-файлы
Скрипты на php
Остальные файлы шаблонов, преобразований и чего еще понадобиться, в принципе, любые на выбор, лишь бы проверку на валидность прошли...
Ну и все это должно работать на конкретном сервере.
Как-то так:)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
генерация форм по xsd
    #34780870
б-с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хочу поднять тему...

для решения одной похожей задачи сделал xsl который применяется к xsd (xsd ведь тоже xml-документ). и в результате получается html , предоставляемый пользователю для заполнения. суть примерно такая - каждый xsd:element имеет имя, набор атрибутов и тип, простой или сложный, который путем анализа в глубину распадается на 1 или несколько примитивных xsd: типов.
Поэтому каждый xsd:element можно представить на форме как текст(=имя), контрол для value (ну либо набор контролов) и ограничения на базе атрибутов (pattern, minInclusive и т.д., для валидации), ну и в зависимости от min/max-Occurs можно представить несколько отображений для каждого инстанса элемента.
это в общих чертах...
формирование xml на базе html (или на базе того же xsd но с заполнением значений из html) - следующий этап, но кое-какие задумки уже есть - надо просто для всех контролов документа вызвать валидацию (для заполненных значением; для незаполненных - проверить что элемент опционален) и в случае если контрол не валиден - приостановить проверку, и например (если реализовать это через javascript) то не сабмитить форму.
если же контролы валидны то надо собрать из них xml, причем такой чтобы его можно было бы потом загрузить в эту же форму когда пользователь захочет просмотреть данные (т.е. у всех элементов xml будет аттрибут "имя контрола").
ну и соотв-но, именование контролов производится по некоей определенной программе (это уже реализовано).

в общем, xsl пока не 100% "универсален", кое-что предстоит доделать : не все узлы xsd реализованы (пока только те, которые присутствуют в моей xsd-схеме, т.е. реализацию которых я могу оттестировать) но уже сейчас работает все довольно красиво, валидация через onchange() javascript'ами, даж xsd:annotation реализовано как всплывающая подсказка ))


просто интересно , может быть уже был реализован xls который применяется к xsd для генерации формы? и можно его заполучить? (может потому что халява, а может потому что и поглядеть интересно).
или кто-то делал что-то подобное и желает просто обменяться опытом ))))) или кому-то нужна помощь (из разряда того, что уже реализовано мной - подскажу, нет проблем).
штука-то интересная ведь!
в общем, any ideas, критика и пр., приветствуются!

спасибо.
...
Рейтинг: 0 / 0
генерация форм по xsd
    #34784948
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а ты выложи и будет чего качать :)
...
Рейтинг: 0 / 0
генерация форм по xsd
    #34784975
ZanZibArgh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
606 просмотров )
...
Рейтинг: 0 / 0
генерация форм по xsd
    #34867922
nvoynov1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытаюсь сделать что-то похожее на java и с ориентиром на XForms и десктоп. На java есть "orbeon" - xforms под веб и "apogee project" - xforms под SWT.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
генерация форм по xsd
    #35755831
klains
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!
А может кто нибудь выложить пример этих XSD и XSL.
Что то я не могу разобраться. Написал XSL для XML - работает.
Написал XSD по той XML , использовал XSL - не работает.
Не могу понять в чем проблема.

Не могли бы вы помочь?

Спасибо!
...
Рейтинг: 0 / 0
генерация форм по xsd
    #35756239
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
klainsНаписал XSD по той XML , использовал XSL - не работает.
Поясните, что Вы хотели этим сказать?
...
Рейтинг: 0 / 0
генерация форм по xsd
    #35756501
klains
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_, добрый день!

XSD:
<?xml version="1.0"?>
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://xml.netbeans.org/schema/document1/"
targetNamespace="http://xml.netbeans.org/schema/document1/" >
<xsd:element name="document">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="fio" type="xsd:string"/>
<xsd:element name="bday" type="xsd:date"/>
<xsd:element name="workaddress" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>



XSL:
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<html>
<body>
<table>
<xsl:for-each select="document">
<tr>
<td>
<xsl:value-of select="fio"/>
</td>
<td>
ФИО
</td>
<td>
<input type="text" id="fio"/>
</td>
</tr>
</xsl:for-each>
</table>
<input type="submit" id="btn_sub" name="btn_sub" value="Submit"/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>



Когда проверяю XSL на нижеприведенном XML, то все работает, страничка HTML генерится.
XML

<?xml version="1.0" encoding="UTF-8"?>
<document>
<fio>ФИО</fio>
<bday></bday>
<workaddress>address</workaddress>
</document>

Вот примеры кодов, которые я использую.
Спасибо.
...
Рейтинг: 0 / 0
генерация форм по xsd
    #35756868
klains
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем вопрос пустяшный. Просто как всегда, нужно все внимательно читать.
XSL

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="xsd:schema">
<xsl:for-each select="xsd:element/xsd:complexType/xsd:sequence/xsd:element">
<br/>
<xsl:value-of select="@name">

</xsl:value-of>

</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

XSD

<?xml version="1.0"?>
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://xml.netbeans.org/schema/document1/"
targetNamespace="http://xml.netbeans.org/schema/document1/"
>
<xsd:element name="document">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="fio" type="xsd:string"/>
<xsd:element name="bday" type="xsd:date"/>
<xsd:element name="workaddress" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>

И все!
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / генерация форм по xsd
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]