|
генерация форм по xsd
|
|||
---|---|---|---|
#18+
Нужно по схеме xsd генерировать соответствующие html-формы после заполнения которых создается xml-документ. Что может помочь в этой самой генерации? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2006, 16:04 |
|
генерация форм по xsd
|
|||
---|---|---|---|
#18+
xsd-схемы не очень гибкие. я обычно логику такого рода выношу в отдельный xml-справочник. направление мысли можно подчерпнуть отсюда... если это неподходит. То думаю, что нужно читать структуру xsd-файла (как обычный xml) и на основе этого делать соответствующую генерацию html ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2006, 10:44 |
|
генерация форм по xsd
|
|||
---|---|---|---|
#18+
а с помощью чего тогда лучше накладывать ограгничения на xml? и еще подумалось, можно ли xsd в таком случае вывести с помощью xsl-шаблонов как просто xml? Трудность в том, что xsd-файлы могут произвольно изменяться, а формы генерироваться по измененым файлам... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2006, 02:08 |
|
генерация форм по xsd
|
|||
---|---|---|---|
#18+
linniа с помощью чего тогда лучше накладывать ограгничения на xml? и еще подумалось, можно ли xsd в таком случае вывести с помощью xsl-шаблонов как просто xml? а зачем его выводить? использовать в обработке, я думаю можно, т.к. он имеет xml-подобный формат)) linni Трудность в том, что xsd-файлы могут произвольно изменяться, а формы генерироваться по измененым файлам... я об этом и говорю, что строить правила обработки на уровне не очень гибкого XSD - себя не любить. лучше, как я говорил выше - использовать xml-справочник, где и задавать настройки отображения. Кстати, если подразумевается, что xsd-файлы будут меняться (ну или какая-то другая форма хранения форматов отображения html), а xsl-шаблоны будут оставаться прежними, то Вам придется писать динамические xsl-шаблоны. Очень интересная тема и интересный вопрос. Можно подробнее? Какого рода форматирование html-файлов вы хотите задавать? Насколько сильные изменения возможны? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2006, 10:40 |
|
генерация форм по xsd
|
|||
---|---|---|---|
#18+
M0us linni Трудность в том, что xsd-файлы могут произвольно изменяться, а формы генерироваться по измененым файлам... я об этом и говорю, что строить правила обработки на уровне не очень гибкого XSD - себя не любить. лучше, как я говорил выше - использовать xml-справочник, где и задавать настройки отображения. угу, надо будет попробывать такой вариант. Спасибо за совет. M0us Кстати, если подразумевается, что xsd-файлы будут меняться (ну или какая-то другая форма хранения форматов отображения html), а xsl-шаблоны будут оставаться прежними, то Вам придется писать динамические xsl-шаблоны. Очень интересная тема и интересный вопрос. Если бы было все статично, то и проблемы особой не было бы... Тема интересная, но меня она как-то не вдохновляет:( M0us Можно подробнее? Какого рода форматирование html-файлов вы хотите задавать? Насколько сильные изменения возможны? Теоретически изменения могут быть любыми. Практически же, не думаю, что они будут большими. Есть описание xml-фалов, по которому эти файлы создаются/редактируются через web-интерфейс. Если описание изменилось, то новые файлы создаются по нему, а уже созданные при редактировании проверяются на соответствие с новым шаблоном. После проверки предлагается откорректировать данные. Например, был список на выбор из 4х значений, а стал из 3х. Если было выбранно удаленное значение, то надо перевыбрать...и.т.п. Формат хранения данных - xml-файлы Скрипты на php Остальные файлы шаблонов, преобразований и чего еще понадобиться, в принципе, любые на выбор, лишь бы проверку на валидность прошли... Ну и все это должно работать на конкретном сервере. Как-то так:) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2006, 12:01 |
|
генерация форм по xsd
|
|||
---|---|---|---|
#18+
хочу поднять тему... для решения одной похожей задачи сделал 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, критика и пр., приветствуются! спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2007, 12:59 |
|
генерация форм по xsd
|
|||
---|---|---|---|
#18+
а ты выложи и будет чего качать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2007, 16:01 |
|
генерация форм по xsd
|
|||
---|---|---|---|
#18+
606 просмотров ) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2007, 16:08 |
|
генерация форм по xsd
|
|||
---|---|---|---|
#18+
Пытаюсь сделать что-то похожее на java и с ориентиром на XForms и десктоп. На java есть "orbeon" - xforms под веб и "apogee project" - xforms под SWT. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2007, 09:31 |
|
генерация форм по xsd
|
|||
---|---|---|---|
#18+
Всем привет! А может кто нибудь выложить пример этих XSD и XSL. Что то я не могу разобраться. Написал XSL для XML - работает. Написал XSD по той XML , использовал XSL - не работает. Не могу понять в чем проблема. Не могли бы вы помочь? Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2009, 18:54 |
|
генерация форм по xsd
|
|||
---|---|---|---|
#18+
klainsНаписал XSD по той XML , использовал XSL - не работает. Поясните, что Вы хотели этим сказать? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2009, 01:40 |
|
генерация форм по xsd
|
|||
---|---|---|---|
#18+
_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> Вот примеры кодов, которые я использую. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2009, 10:02 |
|
генерация форм по xsd
|
|||
---|---|---|---|
#18+
В общем вопрос пустяшный. Просто как всегда, нужно все внимательно читать. 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> И все! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2009, 12:09 |
|
|
start [/forum/topic.php?fid=14&tid=1333682]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 305ms |
total: | 430ms |
0 / 0 |