Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MSXML XSD подключение зависимостей 
V
    Опции темы
-Сергей-
Дата 16.2.2017, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Всем привет!
Уже сутки мучаюсь все никак не могу выполнить реализацию данной штуки. 
Делаю валидатор xml файлов xsd схеме. Загвоздка в том, что в xsd могут содержаться ссылки на другие xsd
Код

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xs:include schemaLocation="ddd.xsd"/>
    <xs:include schemaLocation="ttt.xsd"/>
</xs:schema>

которые тоже могут содержать ссылки и так далее.
Так вот. Надо пробежаться по всем этим файлам и сделать их список начиная с последнего.

Не могу составить алгоритм как все это провернуть.

Например есть 5 файлов
1-й имеет ссылку на 2 и 3
2-й на 4
3-й на 5-й
а 4-й и 5-й не имеют ссылок

Открываем 1-й находим ссылку на 2-й, открываем 2-й находим ссылку на 4 открываем 4-й, видим что ссылок нет ставим его в начало.
закрываем 4-й идем дальше по 2-му смотрим что ссылок нет, ставим его дальше в список, продолжаем смотреть 1-й и находим ссылку на 3-й и так далее.
В итоге у нас должен получиться такой порядок 4,2,5,3,1

Добавлено @ 11:50
Админы, удалите дубль. Сайт во время отправки таймаут показывал.

Это сообщение отредактировал(а) -Сергей- - 16.2.2017, 11:52
--------------------
Для утвердительного ответа достаточно лишь одного слова - "да". Все прочие слова придуманы, чтобы сказать "нет".
PM MAIL WWW ICQ MSN   Вверх
bems
Дата 17.2.2017, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

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



Цитата(-Сергей- @  16.2.2017,  11:47 Найти цитируемый пост)
Так вот. Надо пробежаться по всем этим файлам и сделать их список начиная с последнего.
ну если именно это, то это называется "топологическая сортировка"
вот https://ru.wikipedia.org/wiki/%D0%A2%D0%BE%...%B2%D0%BA%D0%B0



--------------------
Обижено школьников: 8
PM MAIL   Вверх
-Сергей-
Дата 17.2.2017, 03:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Всем спасибо! Вопрос решен с помощью рекурсии.
--------------------
Для утвердительного ответа достаточно лишь одного слова - "да". Все прочие слова придуманы, чтобы сказать "нет".
PM MAIL WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


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

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


 




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


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

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