Модераторы: diadiavova
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> сделать атрибут уникальным 
:(
    Опции темы
Fly1410
Дата 12.3.2007, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 15.7.2006

Репутация: нет
Всего: нет



есть приблизительно такой XML

Код


<cars xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="my.xsd">

    <car vin="104488290">
        <model>BMW</model>
        <color>red</color>
        <year>1998</year>
    </car>
    <car vin="104488291">
        <model>Audi</model>
        <color>black</color>
        <year>2001</year>
    </car>
</cars>




к нему такой xsd

Код

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <!--comment-->
    <xs:simpleType name="yearType">
        <xs:restriction base="xs:positiveInteger">
            <xs:minExclusive value="1900"/>
            <xs:maxExclusive value="2008"/>
        </xs:restriction>                
    </xs:simpleType>
    
    <xs:simpleType name="vinType">
        <xs:restriction base="xs:positiveInteger">
        </xs:restriction>                
    </xs:simpleType>
                                        
    <xs:element name="cars">
        <xs:complexType>
            <xs:sequence maxOccurs="unbounded">
                <xs:element name="car">
                    <xs:complexType>
                    
                        <xs:all>
                            <xs:element name="model" minOccurs="0"/>
                            <xs:element name="color" minOccurs="0"/>
                            <xs:element name="year" type="yearType" minOccurs="0"/>
                        </xs:all>
                        <xs:attribute name="vin" >
                        
                        </xs:attribute>
                                                
                    </xs:complexType>
                </xs:element>
                <!--car-->
            </xs:sequence>
        </xs:complexType>
    <!--пытаюсь сделать уникальным-->        
     <xs:unique name="vin">
       <xs:selector xpath="cars"/>
       <xs:field xpath="car/@vin"/>
     </xs:unique>
                    
    </xs:element>
    
</xs:schema>




я хочу что бы параметр vin у каждой машины был уникальным. Подскажите каким образом можно сделать?

То что сейчас написано не работает.


PM MAIL   Вверх
JVM
Дата 12.3.2007, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 30.10.2006

Репутация: 4
Всего: 5



PM MAIL   Вверх
LSD
Дата 12.3.2007, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 8
Всего: 538



Код
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:element name="cars">
    <xs:complexType>
      <xs:sequence maxOccurs="unbounded">
        <xs:element name="car">
          <xs:complexType>
            <xs:all>
              <xs:element name="model" minOccurs="0"/>
              <xs:element name="color" minOccurs="0"/>
              <xs:element name="year" type="xs:positiveInteger" minOccurs="0"/>
            </xs:all>
            <xs:attribute name="vin"/>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
    <xs:unique name="vinUnique">
      <xs:selector xpath="car"/>
      <xs:field xpath="@vin"/>
    </xs:unique>
  </xs:element>
</xs:schema>

Код
<?xml version="1.0" encoding="UTF-8"?>
<cars xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test.xsd">
  <car vin="104488290">
    <model>BMW</model>
    <color>red</color>
    <year>1998</year>
  </car>
  <car vin="104488290">
    <model>Audi</model>
    <color>black</color>
    <year>2001</year>
  </car>
</cars>



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Fly1410
Дата 13.3.2007, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 15.7.2006

Репутация: нет
Всего: нет



Пасиб большое а то я сделал валидация проходит, а всё равно не работатет. 
Спасибо smile 
PM MAIL   Вверх
LSD
Дата 13.3.2007, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 8
Всего: 538



Пожалуйста.
Только не забывай помечать вопрос как решенный.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась.

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | XML, XSL | Следующая тема »


 




[ Время генерации скрипта: 0.0442 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.