Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / регулярные выражения / 7 сообщений из 7, страница 1 из 1
27.02.2007, 11:06
    #34356823
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярные выражения
Всем привет. Вопрос как описать на xsl проверку что в каком то поле xml документа могут содержаться токо буквы?
вот пример xsl
<xsl:template match="/">
<xsl:message>1</xsl:message>
<xsl:for-each select="//header">
<xsl:message>2:<xsl:value-of select="text()"/></xsl:message>
<xsl:choose>
<xsl:when test="contains(text(),A-Za-z)">ok!
</xsl:when>
<xsl:otherwise>figna
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<xsl:message>3</xsl:message>
</xsl:template>
вот xml
<Office-memo>
<header xml:lang="ru">текст</header>
<header xml:lang="fr">The university</header>
<header xml:lang="en">#@%#%^</header>
<header xml:lang="fr">university</header>
</Office-memo>
...
Рейтинг: 0 / 0
27.02.2007, 13:10
    #34357397
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярные выражения
XMLSchema?
...
Рейтинг: 0 / 0
27.02.2007, 13:33
    #34357505
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярные выражения
Всмысле?
Если ты про то где это можно реализовать, то так не пойдет
таким макаром я могу еще на более раннем уровне это определить, но мне необходимо как раз реализация на xsl
...
Рейтинг: 0 / 0
27.02.2007, 13:46
    #34357568
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярные выражения
неправильный выбор технологии приводит к решениям через одно место. Можешь проверять посимвольно или попробуй почитать, может что в xpath2 появилось
...
Рейтинг: 0 / 0
27.02.2007, 14:22
    #34357731
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярные выражения
нет, конечно можно:
1. contains(строка, символ or символ...), на наличие или их отсутствие в строке- плохо тоо что выражение ... слишком большое
2. Попытаться подключить xmlns: fn . там есть хорошие функции ( одна зараза, в текущих реализациях, это никак не подключается)
3. Работать с текстом как со строкой, подстрока встроке, удаление , и т.п. -жуть и через одно место
4. больше вариантов пока не нашел
Есть еще идеи как это сделать можно?
Повторю суть вопроса, чтоб в начала топа не лазить
Есть текстовое поле, как проверить что внем только определенный набор символов: Текст+ "." +" " + "-", других быть не может
Выражения типа A-Za-z или \w не проходят
...
Рейтинг: 0 / 0
28.02.2007, 10:26
    #34359655
PA
PA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярные выражения
SuSaЕсть текстовое поле, как проверить что внем только определенный набор символов: Текст+ "." +" " + "-", других быть не может
Выражения типа A-Za-z или \w не проходят
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
...
    xmlns:msxsl="urn:schemas-microsoft-com:xslt"
    xmlns:my="urn:mynamespace"
...
  <msxsl:script implements-prefix="my" language="jscript">
    <![CDATA[
    var re = /[^- .a-zа-яё]/i;
    function test(source){return !re.test(source);}
    ]]>
  </msxsl:script>
...
  <xsl:when test="my:test(string(text()))">ok! </xsl:when>
...
Рейтинг: 0 / 0
28.02.2007, 10:53
    #34359765
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярные выражения
красиво, но не под тот парсер.
Saxon такое не пропустит, Очень жаль ...
Еще варианты есть?
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / регулярные выражения / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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