Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Использование schema для ограничения юзеров.
|
|||
|---|---|---|---|
|
#18+
Есть valid XML file, есть XSD file, есть XSLT file. У юзеров есть возможность вставить node в XML file, для этого у них есть интерфейс, описанный в XSLT файле. Надо ограничить количество юзерских ошибок путём ограничения, ну например имени нода, именами описаными в схеме. Те когда они хотят вставить новый child-node дать им combobox в котором перечислены имена valid для данного parent. Кто-нибудь знает как это сделать? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 19:39 |
|
||
|
Использование schema для ограничения юзеров.
|
|||
|---|---|---|---|
|
#18+
что за проект? на чем делается клиентская часть? на каком уровне вы сами хотите ограничения сделать? чуть подробнее... чтобы появилась точка для начала рассуждений... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2005, 10:27 |
|
||
|
Использование schema для ограничения юзеров.
|
|||
|---|---|---|---|
|
#18+
Спасибо за вопросы. Это проект-попытка предоставить пользователям возможность вносить изменения в XML-файл, но при этом ограничивать их, условиями забитыми в XSD-файл. Используется XSLT и javascript. По ряду причин, использование стандартного редактора невозможно. Проблема возникла при разработке предоставления юзеру возможности insert новых nodes. Очень хочется ограничить их попытки на вставку invalid для schema информации. Есть идея при вставке нового нода или атрибута дать им возможность выбрать из данных уже описанных в схеме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2005, 16:24 |
|
||
|
Использование schema для ограничения юзеров.
|
|||
|---|---|---|---|
|
#18+
есть проги специально для этого. Искать в гугле xform, xmlform в ms office новом есть InfoPath. Можно рисовать красивый интерфейс для заполнения форм, результат будет в хмл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2005, 18:18 |
|
||
|
Использование schema для ограничения юзеров.
|
|||
|---|---|---|---|
|
#18+
Нового офиса нет и нескоро будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2005, 18:36 |
|
||
|
Использование schema для ограничения юзеров.
|
|||
|---|---|---|---|
|
#18+
Чужие тулзы неустраивают, java запрещена. Ну есть такое чуйство что на XSLT-javascript это всё возможно сделать, тем более что поддерживаться должно только IE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2005, 18:45 |
|
||
|
Использование schema для ограничения юзеров.
|
|||
|---|---|---|---|
|
#18+
обычно юзерам нужно заполнять данные а уж в каком они формате это их касаться не должно. можно парсить xsd, т.е. написать шаблон преобразования схемы и на выходе получать хтмл с комбобоксами. Только возни с этим много и непонятно зачем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2005, 19:23 |
|
||
|
Использование schema для ограничения юзеров.
|
|||
|---|---|---|---|
|
#18+
Юзеров это и не касается. Но у больших компаний свои требования по software, связаные с лицензированием, совместимостью и возможностью поддержки, с этим приходится считаться. Насчёт шаблона вы абсолютно правы, именно это я и пытаюсь сделать. Да мозгов не хватат. Собственно именно поэтому и появился этот пост. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2005, 19:52 |
|
||
|
Использование schema для ограничения юзеров.
|
|||
|---|---|---|---|
|
#18+
предлагаю: новый xml (после пользовательских изменений) - сохранять в файл или в переменную и валидировать его на соответствие xml-схеме. Если ошибка - откат. примеры в тему для JScript/VB/C++ есть в MLXML4.chm (или более поздней версии) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2005, 20:08 |
|
||
|
Использование schema для ограничения юзеров.
|
|||
|---|---|---|---|
|
#18+
предлагаю: новый xml (после пользовательских изменений) - сохранять в файл или в переменную и валидировать его на соответствие xml-схеме. Если ошибка - откат. примеры в тему для JScript/VB/C++ есть в MLXML4.chm (или более поздней версии) ЗЫ но делать все на связке => html+jscript+xslt - много времени займет. хотя... все зависит от объема задачи... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2005, 20:10 |
|
||
|
Использование schema для ограничения юзеров.
|
|||
|---|---|---|---|
|
#18+
Ну с Update и Delete всё примерно так и делается. Они могут работать только с одним нодом. Он копируется до измененй, изменения заносятся в документ, проверяются xsd и если invalid – восстанавливается старый нод. С Insert ситуация другая. Количество ляпов приближается к бесконечности, а программисты будут виноваты как всегда. Поэтому и хочется ограничить творчество юзеров рамками схемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2005, 20:52 |
|
||
|
Использование schema для ограничения юзеров.
|
|||
|---|---|---|---|
|
#18+
в чем же дело? после добавления каждого нода - сразу валидировать и откатывать по необходимости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 10:13 |
|
||
|
Использование schema для ограничения юзеров.
|
|||
|---|---|---|---|
|
#18+
Может быть я не так понял вопрошающего, но мне видится такой вариант решения: Ay-yЕсть valid XML file... <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="authors.xsl" ?> <!-- authors.xml --> <authors> <author au_id="172-32-1176" au_lname="White" au_fname="Johnson" phone="408 496-7223" address="10932 Bigge Rd." city="Menlo Park" state="CA" zip="94025" contract="1"/> <author au_id="213-46-8915" au_lname="Green" au_fname="Marjorie" phone="415 986-7020" address="309 63rd St. #411" city="Oakland" state="CA" zip="94618" contract="1"/> </authors> Ay-y ... есть XSD file <?xml version="1.0"?> <!-- authors.xsd --> <Schema name="Schema1" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes"> <ElementType name="authors" content="eltOnly" order="many" model="closed"> <element type="author"/> </ElementType> <ElementType name="author" content="empty" model="closed"> <AttributeType name="au_id" dt:type="string"/> <AttributeType name="au_lname" dt:type="string"/> <AttributeType name="au_fname" dt:type="string"/> <AttributeType name="phone" dt:type="string"/> <AttributeType name="address" dt:type="string"/> <AttributeType name="city" dt:type="string"/> <AttributeType name="state" dt:type="string"/> <AttributeType name="zip" dt:type="string"/> <AttributeType name="contract" dt:type="boolean"/> <attribute type="au_id"/> <attribute type="au_lname"/> <attribute type="au_fname"/> <attribute type="phone"/> <attribute type="address"/> <attribute type="city"/> <attribute type="state"/> <attribute type="zip"/> <attribute type="contract"/> </ElementType> </Schema> Ay-y ...есть XSLT file. <?xml version='1.0' ?> <!-- authors.xsl --> <xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0' > <xsl:template match="/"> <html> <body> <xml id="xml_source"><xsl:copy-of select="//authors"/></xml> <form> <xsl:for-each select="authors/author"> <xsl:value-of select="@au_fname"/> <xsl:value-of select="@au_lname"/>'s valid attributes: <SELECT SIZE="1"> <xsl:attribute name="onchange"> alert(xml_source.selectSingleNode('//author[<xsl:value-of select="position()-1"/>]').getAttribute(this.options[this.selectedIndex].value)) </xsl:attribute> <xsl:for-each select="document('authors.xsd')//*[local-name(.) = 'AttributeType']"> <OPTION><xsl:attribute name="value"><xsl:value-of select="@name"/></xsl:attribute><xsl:value-of select="@name"/></OPTION> </xsl:for-each> </SELECT> <br/> </xsl:for-each> </form> </body> </html> </xsl:template> </xsl:stylesheet> Ay-y ... дать им combobox в котором перечислены имена valid для данного parent. На выходе - дожно быть 2 combobox-а, которые дают выбрать только valid-ные имена атрибутов для данного элемента author из схемы... (ну и показывают их значения для уверенности). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 12:52 |
|
||
|
Использование schema для ограничения юзеров.
|
|||
|---|---|---|---|
|
#18+
M0us Дело в том, что процесс валидации и отката может превратиться в бесконечность, способности юзеров похерить любые инструкции превышают фантазии программистов , поэтому и хочется ограничить их полёт, рамками combobox’a. qu-qu, вы всё правильно поняли. Спасибо. У меня не получается построить XSLT. Сейчас попробую ваш вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 16:02 |
|
||
|
|

start [/forum/topic.php?fid=14&msg=33436156&tid=1334925]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
95ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
2ms |
| others: | 223ms |
| total: | 441ms |

| 0 / 0 |
