xmlhack.ru XML-форумы
Обсуждение XML и связанных с ним технологий

ссылки


Автор Сообщение
flax (nttl)
Гость




[5608] Чт Мар 25, 2004 18:54
ссылки
можно ли в xml в <link href="spec_uri"/> задать проверку
(хотя бы на уровне начального path="ui/ek/rkkk/rkklewlotwpk/" ) на cодержание аттрибута href?

Что если необходимо в некоторой схеме задать контроль на XPath в href?

Опять-таки, единственный выход в relax или применение "велосипедов" на основе XSLT (и возможно подключения внешних процессов для regexp-ов? ) + cвои форматы на задание проверок на path/XPATH -выражения в атрибутах.
olpa
Любитель

Зарегистрирован: 23.04.2002
Сообщения: 981
Откуда: Санкт-Петербург
Посетить сайт автора
[5609] Чт Мар 25, 2004 23:01

Со схемами не знаком, поэтому не подскажу.

Цитата:

выход в relax


А вот это интересно. Можно пример?
flax
Аспирант

Зарегистрирован: 31.01.2003
Сообщения: 100
Откуда: Minsk
[5610] Пт Мар 26, 2004 11:51
что так, что этак
да вот сам думаю, и пока у меня создается впечатление, что ... это вообще плохо можно эмулировать стандартными средствами:

Итак, у меня есть некоторый документ, я хочу прямо в схеме (или в некотором док. описывающем тип ) наложить ограничения на возможные значения атрибутов. Проблемы, на самом деле, две

  1. первая заключается в том, что мне, например, захотелось, для spec_uri в
    <link href="spec_uri"/> использовать именно атрибут.
    И пока у меня устойчивое впечатление, что в Schema|Relax всякого рода сложные - циклические, рекурсивные ( inherits)- способы задания контроля относятся в большей мере к элементам. Так, пока я не нашел более-менее сложных( в смысле pattern recursive(сomposite) matching) способов описания содержимого атрибутов.

  2. Вторая проблема в том, что если я даже и вынесу линки в содержимое элементов, то это меня все равно не спасает. Кажется, никому не надо было задавать контроль uri|XPath выражений.

    я тоже со схемами|релаксом пока на расстоянии... так что может что и упускаю, однако, что в схемах, что в релаксе для описания сложных шаблонов для атрибутов/атомарных значений элементов используется W3C schema definitions : Datatypes

    Цитата:


    [Definition:] pattern is a constraint on the ·value space· of a datatype which is achieved by constraining the ·lexical space· to literals which match a specific pattern. The value of pattern ·must· be a ·regular expression·.


    хм. Если мы хотим задать проверки spec_uri, то ... регекспы может, конечно и могут помочь/помогут, да вот только это явно not clear writing.

    Лично мне хотелось, например, сказать так:

    Код:


    1) для ссылок в пределах элемента А, использовать начало XPath как {jsjlsdfjl/ajkldjkla}
    1.1) теперь для некоторых типов ссылок в пределах элемента А, задаю оcтавшийся хвост следующим образом {...}
    1.2) причем в  типе ccылки [...] должно использоваться ограничение по выборке только такое {[@type = 'xml']}. 

    2) для всех остальных ссылок использовать {fjd/ad/adf/}

    3) А у любого  другого типа ссылки (у которых не прописан с схеме хвост), хвост может быть любой.



    Вот это вполне можно записать (формально) не используя никаких регекспов, итд.

Sad Поможете?
olpa
Любитель

Зарегистрирован: 23.04.2002
Сообщения: 981
Откуда: Санкт-Петербург
Посетить сайт автора
[5615] Пт Мар 26, 2004 21:44

Если не получится со схемами -- советую взглянуть на Схематрон. В нём можно делать достаточно сложные проверки.