powered by simpleCommunicator - 2.0.31     © 2024 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Преобразование одного формата XML в другой XML формат с помощью файла XSL
5 сообщений из 5, страница 1 из 1
Преобразование одного формата XML в другой XML формат с помощью файла XSL
    #39821131
ViVa3006
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Помогите пожалуйста в преобразовании строки.
Пишу часть кода из xml файла:

Исходный xml:

<Shipper>
<Address>в городе Мирном, 678174, г. Мирном, Россия, Саха (Якутия) Респ. г. Мирн ный, пр-кт. Ленинградский, 19 65</Address>
</Shipper>


Либо может быть в таком виде:

<Seller>
<Address>119049, город Москва, 4-й Добрынинский переулок, дом 8, офис Д08 тел. (495) 980-75-56</Address>
</Seller>

С помощью xsl преобразования нужно получить тоже xml в таком формате:

<Адрес>
<АдрРФ Индекс="678174" КодРегион="14" Улица="пр-кт. Ленинградский" Дом="19" Кварт="65" />
</Адрес>

либо:

<Адрес>
<АдрРФ Индекс="119049" КодРегион="77" Улица="4-й Добрынинский переулок" Дом="8" Корпус="495" Кварт="-56" />
</Адрес>

Необходим код xsl.

Буду рада любым подсказкам.
...
Рейтинг: 0 / 0
Преобразование одного формата XML в другой XML формат с помощью файла XSL
    #39821264
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы хотите распарсить текст " в городе Мирном, 678174, г. Мирном, Россия, Саха (Якутия) Респ. г. Мирн ный, пр-кт. Ленинградский, 19 65 " по полям объекта? Это не тривиальная задача даже для языка программирования, не то что для языка разметки. Как в общем случае догадаться, что в тексте "19 65" 19 это номер дома, а 65 - квартира? А код региона откуда взять? В исходных данных его вообще нет.

В xslt в принципе бедноватый функционал для работы со строками, не предназначен он для этого.
...
Рейтинг: 0 / 0
Преобразование одного формата XML в другой XML формат с помощью файла XSL
    #39821265
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яндекс.карты хорошо разбирают адреса, но я уверен, что это делается по базе адресов, а не алгоритмически.
...
Рейтинг: 0 / 0
Преобразование одного формата XML в другой XML формат с помощью файла XSL
    #39821276
ViVa3006
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy, спасибо за комментарий.
Думала, может в xslt есть какие-то функции, которые могут это позволить. Я в нем только начала разбираться, поэтому не сильна. Про код региона у меня тот же вопрос. Может какое-то сопоставление с городом или индексом должно быть. Но для этого тоже нужна какая-то база наверно.
...
Рейтинг: 0 / 0
Преобразование одного формата XML в другой XML формат с помощью файла XSL
    #39821662
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViVa3006
Код: xml
1.
<Address>119049, город Москва, 4-й Добрынинский переулок, дом 8, офис Д08 тел. (495) 980-75-56</Address>

ViVa3006
Код: xml
1.
<АдрРФ Индекс="119049" КодРегион="77" Улица="4-й Добрынинский переулок" Дом="8" Корпус="495" Кварт="-56" />

Уже у вас парсинг уехал. Какой 495 корпус и -56 квартира?

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


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