powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Ошибка в схеме для создания 2ух таблиц из одного файла данных
1 сообщений из 1, страница 1 из 1
Ошибка в схеме для создания 2ух таблиц из одного файла данных
    #35617074
Dimych83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть один файл с данными, где <branches> это офисы, а <employees> - сотрудники прикрепленные к этим офисам:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
<?xml version="1.0" encoding="Windows-1251"?>
<data>
  <branches>
    <row>
      <id_branch> 0 </id_branch>
      <name>Офис  1 </name>
    </row>
    <row>
      <id_branch> 1 </id_branch>
      <name>Офис  2 </name>
    </row>
    <row>
      <id_branch> 2 </id_branch>
      <name>Офис  3 </name>
    </row>
    <row>
      <id_branch> 3 </id_branch>
      <name>Офис  4 </name>
    </row>
  </branches>
  <employees>
    <row>
       <ID_EMPLOYEE> 1112 </ID_EMPLOYEE>
       <NUMBER></NUMBER>
       <LAST_NAME>Иванов</LAST_NAME>
       <FIRST_NAME>Иван</FIRST_NAME>
       <MIDDLE_NAME>Иванович</MIDDLE_NAME>
       <USER_GROUPS_NAMES>Администратор</USER_GROUPS_NAMES>
       <ID_BRANCH> 1 </ID_BRANCH>
       <ID_GROUP> 2 </ID_GROUP>
       <ID_BOSS> 1112 </ID_BOSS>
       <ENABLED> 1 </ENABLED>
       <CELL_PHONE> 9020000000 </CELL_PHONE>
       <PHONE_1> 2274812 </PHONE_1>
    </row>
    <row>
       <ID_EMPLOYEE> 3207 </ID_EMPLOYEE>
       <NUMBER> 1 </NUMBER>
       <LAST_NAME>Сидоров</LAST_NAME>
       <FIRST_NAME>Сидор</FIRST_NAME>
       <MIDDLE_NAME>Сидорович</MIDDLE_NAME>
       <USER_GROUPS_NAMES>Риэлтер</USER_GROUPS_NAMES>
       <ID_BRANCH> 1 </ID_BRANCH>
       <ID_GROUP> 1 </ID_GROUP>
       <ID_BOSS> 1112 </ID_BOSS>
       <ENABLED> 1 </ENABLED>
       <CELL_PHONE></CELL_PHONE>
       <PHONE_1></PHONE_1>
    </row>
    <row>
       <ID_EMPLOYEE> 3007 </ID_EMPLOYEE>
       <NUMBER> 34 </NUMBER>
       <LAST_NAME>Петров</LAST_NAME>
       <FIRST_NAME>Петр</FIRST_NAME>
       <MIDDLE_NAME>Петрович</MIDDLE_NAME>
       <USER_GROUPS_NAMES>Риэлтер</USER_GROUPS_NAMES>
       <ID_BRANCH> 2 </ID_BRANCH>
       <ID_GROUP> 1 </ID_GROUP>
       <ID_BOSS> 1112 </ID_BOSS>
       <ENABLED> 1 </ENABLED>
       <CELL_PHONE></CELL_PHONE>
       <PHONE_1></PHONE_1>
    </row>
  </employees>
</data>

Надо все офисы импортировать в одну таблицу, а сотрудников в другую. Написал следующие схемы..
Для офисов:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data" 
        xmlns:dt="urn:schemas-microsoft-com:xml:datatypes"  
        xmlns:sql="urn:schemas-microsoft-com:xml-sql" > 

   <ElementType name="id_branch" dt:type="int" />
   <ElementType name="name" dt:type="string" />

   <ElementType name="row"  sql:relation="bases_otdel">
      <element type="id_branch" sql:field="id" />
      <element type="name" sql:field="name" />
   </ElementType>

   <ElementType name="branches" sql:is-constant="1">
      <element type="row" />
   </ElementType>

   <ElementType name="data" sql:is-constant="1">
      <element type="branches" />
   </ElementType>
</Schema>

Но в этом случае обрабатываются все равно все строки файла с данными, то есть в таблицу с офисами кроме офисов добавляется еще и такое же количество строк сколько сотрудников в файле с данными. Подскажите пожалуйста в чем проблема?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Ошибка в схеме для создания 2ух таблиц из одного файла данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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