Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];

Вниз

ключи в XML-схемах   Найти похожие ветки 

 
Skier   (2004-01-26 11:54) [0]

есть два варианта одной и той же XML-схемы :

1)
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs=" http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:complexType name="Address">
<xs:sequence>
<xs:element name="city" type="xs:string"/>
<xs:element name="street" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="USAddress">
<xs:complexContent>
<xs:extension base="Address">
<xs:sequence>
<xs:element name="ZIP" type="xs:integer"/>
<xs:element name="state" type="xs:string"/>
<xs:element name="desc" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="AddressItems">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="Item" type="Address">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:key name="PK">
<xs:selector xpath="./Item"/>
<xs:field xpath="city"/>
</xs:key>
<xs:keyref name="FK" refer="PK">
<xs:selector xpath="./Item"/>
<xs:field xpath="street"/>
</xs:keyref>
</xs:element>
</xs:schema>

2)
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs=" http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:complexType name="Address">
<xs:sequence>
<xs:element name="city" type="xs:string"/>
<xs:element name="street" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="USAddress">
<xs:complexContent>
<xs:extension base="Address">
<xs:sequence>
<xs:element name="ZIP" type="xs:integer"/>
<xs:element name="state" type="xs:string"/>
<xs:element name="desc" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="AddressItems">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="Item" type="Address">
<xs:key name="PK">
<xs:selector xpath="."/>
<xs:field xpath="city"/>
</xs:key>
<xs:keyref name="FK" refer="PK">
<xs:selector xpath="."/>
<xs:field xpath="street"/>
</xs:keyref>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>


</xs:schema>

Так вот, для первого варианта схемы если значение ключа PK дублируется (в XML-документе сгенерированном по схеме), то XML-документ не проходит проверку на валидность (что правильно), для второго варианта - проходит.

В чём косяк ?


 
Skier   (2004-01-26 17:04) [1]

Up


 
Suntechnic   (2004-01-27 07:03) [2]

Косяк в том, что primary key объявляются за пределами определения самих таблиц.
Кое-что по этому поводу MSDN пишет:

Note Notice how the primary key definition is hierarchically outside the Customers element definition, yet inside of a higher-level NewDataSet element. If there were other tables defined in this dataset, they would be nested within the NewDataSet element as well. This ensures that the primary key column is unique within the scope of the entire dataset (as opposed to being unique within the scope of just one record in the Customers table).


 
Skier   (2004-01-27 09:46) [3]

>Suntechnic © (27.01.04 07:03) [2]
Угу. Спасибо.
А откуда это ? Ссылочку можно ?


 
Skier   (2004-01-27 11:40) [4]

Всё нашёл ! Ещё раз большое спасибо.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.01 c
1-38811
Minotavr
2004-02-04 22:13
2004.02.13
Ctrl+Enter


14-39045
real_dimedrol
2004-01-20 16:51
2004.02.13
Создание компанента (собираю идеи)


1-38769
DDA
2004-02-03 00:26
2004.02.13
Hint in ListBox


3-38668
Крутыш
2004-01-25 11:16
2004.02.13
Вопрос по запросу


1-38790
AndrewK
2004-02-03 12:59
2004.02.13
Просмотр в WebBrowser е html-строки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский