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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Библиотека текстов песен в XML, На каком решении остановиться ? 
:(
    Опции темы
avg
Дата 23.10.2007, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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




Только начал разбираться в XML. Нужно создать библиотеку
текстов песен c гитарными аккордами, которые будут храниться
в файлах и каталогах
(например c:\тексты песен\исполнитель\альбом\трек01.xml).
Файл будет следующего формата (примерно):
Код

<artist>Алиса</artist>
<album year=1990>Шабаш</album>
<tracknumber>5</tracknumber>
<title>МОЕ ПОКОЛЕНИЕ</title>
<author>Константин Кинчев</author>
<lyrics>
         <chord>Am</chord>
Две тысячи тринадцатых лун
<chord>Em</chord>
отдано нелепой игре,
Но свет ушедшей звезды
все еще свет...
... ... итд ...
</lyrics>


Нужно:
1. Написать приложение которое будет читать эти файлы.
    а) Каким языковым средством пользоваться. (С#, VB) ???
    б) Какую библиотеку подобрать чтобы парсить этот XML
       (извлекать из тегов значения и параметры) ??? Как она
       называется ?  Есть ли доки по ней, или в какой
       книжке это лучше описано ? smile 
2. Можно ли сделать в ворде чтобы при открытии этого файла
   устанавливался нужный текстовый формат для названия песни,
   исполнителя, итд... smile 
    а) В какой книге про это написано ?
    б) Есть ли вообще какие нибудь предложения как это можно
       сделать ?
3. Сделать базу данных для этой вещи.
    а) Какую СУБД выбрать (MySQL, MSSQL, Oracle, идт... ) ???
    б) Нужно выбрать такую СУБД чтобы поднеё можно было бы
        написать клиентское приложение (ну не на чистом же
        вин32АПИ и С++ всё это писать...)
4. Может кто в теме и занимается подобной задачей ?
   Ведёт какой-нибудь свой сайт с аккордами..
   Мне просто самому эта тема интересна. И сам кое что могу
   (Программист Borland C++ ~ 4 года, MySQL и MySQL C API
    ~0,5 года). Могли бы вместе поработать.. smile 

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


Leprechaun Software Developer
****


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

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



1. Зависит от того какие языки ты знаешь. Если знаешь .NET, то пиши на нем, там есть неплохой встроенный XML парсер.

2. Что такое нужный текстовый формат?

3. Зачем тебе еще и СУБД? Ты где хочешь хранить данные, в XML или в СУБД?


--------------------
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   Вверх
avg
Дата 25.10.2007, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(LSD @ 23.10.2007,  20:30)

1. Зависит от того какие языки ты знаешь. Если знаешь .NET, то пиши на нем, там есть неплохой встроенный XML парсер.

Не, знаю то я много языков, даже ассемблер. Но на нём я точно не буду решать эту задачу. Просто советуюсь какой лучше выбрать. Да, пожалуй наверное лучше остановиться на NET.
Цитата(LSD @ 23.10.2007,  20:30)

2. Что такое нужный текстовый формат?

Нужный текстовый формат в данном контексте это характеристики шрифта (Размер, имя). Например Times New Roman, 10. Нужно чтобы ворд понимал эти тэги и выставлял нужный шрифт для аккордов, названий песен и тд.. Кстати этот вопрос остаётся открытым
Цитата(LSD @ 23.10.2007,  20:30)

3. Зачем тебе еще и СУБД? Ты где хочешь хранить данные, в XML или в СУБД?

По СУБД легче будет искать и отображать список того что есть. Поиск по файлам будет гораздо дольше. Неее, СУБД нужна точно !! Кстати !!  У меня получилось настроить MySQL Connector .NET v5.0 !!  Это ещё один плюс для NET. В качестве СУБД выбираю MySQL. Привык я к этой вещи ..
PM MAIL   Вверх
LSD
Дата 25.10.2007, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


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

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



Цитата(avg @  25.10.2007,  09:56 Найти цитируемый пост)
Нужный текстовый формат в данном контексте это характеристики шрифта (Размер, имя). Например Times New Roman, 10. Нужно чтобы ворд понимал эти тэги и выставлял нужный шрифт для аккордов, названий песен и тд.. Кстати этот вопрос остаётся открытым

Что ты собираешься с этими данными делать? Показывать на веб-странице, перегонять в вордовый формат? Или еще что?


Цитата(avg @  25.10.2007,  09:56 Найти цитируемый пост)
По СУБД легче будет искать и отображать список того что есть. Поиск по файлам будет гораздо дольше. Неее, СУБД нужна точно !! Кстати !!  У меня получилось настроить MySQL Connector .NET v5.0 !!  Это ещё один плюс для NET. В качестве СУБД выбираю MySQL. Привык я к этой вещи ..

Отлично, тогда нафига тебе XML? Храни данные в СУБД.


--------------------
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   Вверх
Baa
Дата 28.10.2007, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

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



Цитата(avg @ 23.10.2007,  10:51)
1. Написать приложение которое будет читать эти файлы.
    а) Каким языковым средством пользоваться. (С#, VB) ???
    б) Какую библиотеку подобрать чтобы парсить этот XML
       (извлекать из тегов значения и параметры) ??? Как она
       называется ?  Есть ли доки по ней, или в какой
       книжке это лучше описано ? smile 
2. Можно ли сделать в ворде чтобы при открытии этого файла
   устанавливался нужный текстовый формат для названия песни,
   исполнителя, итд... smile 
    а) В какой книге про это написано ?
    б) Есть ли вообще какие нибудь предложения как это можно
       сделать ?
3. Сделать базу данных для этой вещи.
    а) Какую СУБД выбрать (MySQL, MSSQL, Oracle, идт... ) ???
    б) Нужно выбрать такую СУБД чтобы поднеё можно было бы
        написать клиентское приложение (ну не на чистом же
        вин32АПИ и С++ всё это писать...)

1.a Абсолютно всё равно т.е. на реализацию это не влияет
1.б System.Xml почитать в MSDN

2.a Книг про это думаю, что нет
2.б Да, есть, запусти ворд, отформатируй как тебе нужно документ, нажми "сохранить как word xml".
Далее тебе надо сделать со своим xml с данными xslt преобразование, чтобы достичь такого же вида ;-)

3.а я бы выбрал MSSQL хотя бы по той причине, что в ней есть тип данных xml, поддерживающий индексацию и прочие прелести.
3.б В .NET есть поддержка драйвера Native SQL по умолчанию.

п.с. я не стал бы организовывать xml таким образом по следующим причинам:
1.  этот xml w3c-некорректен т.к. в xml разрешен только 1 элемент верхнего уровня, но это детали ;-)
2. выравнивание расположения аккорда пробелами, имхо, дурной тон, этим страдают большинство сайтов

Какие варианты решения последней проблемы видел я. Аккорды вставлялись между слов т.е. было нечто вида:
"[E]Это чем-то похоже на р[G]о[A]к".
+форматирование более четкое в плане позиционирования
-читать такой текст, честно говоря, не удобно
На самом деле, вариант очень неплохой, просто недоделанный smile можно преобразовать его таким образом, чтобы аккорды были над словами, если заключать каждую строку в отдельную таблицу из двух строк т.е. xml вида
Код

<chord>e</chord><text>Это чем-то похоже на р</text><сhord>g</chord><text>о</text><chord>a</chord><text>к</text>

преобразовать потом в 
Код

<table cellspacing=0 cellpadding=0>
<tr>
<td>e</td>
<td></td>
<td>g</td>
<td></td>
<td>a</td>
</tr>
<tr>
<td>Э</td>
<td>то чем-то похоже на&nbsp</td>
<td>р</td>
<td>о</td>
<td>к</td>
</tr>
</table>

+Хорошее позиционирование
-Изрядное усложнение структуры страницы

Это сообщение отредактировал(а) Baa - 30.10.2007, 14:33


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
avg
Дата 30.10.2007, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вот спасибо, Ваа ! Вот это по делу замечания !  smile 

Но вот тут что неясно:
Цитата(Baa @  28.10.2007,  14:38 Найти цитируемый пост)

п.с. я не стал бы организовывать xml таким образом по следующим причинам:
1. этот xml w3c-некорректен т.к. в xml разрешен только 1 элемент верхнего уровня,
    но это детали ;-)
2. выравнивание расположения аккорда пробелами, имхо, дурной тон,
    этим страдают большенство сайтов. Какие варианты решения последней проблемы видел я.
    Аккорды вставлялись между слов т.е. было нечто вида:

    [E]Это чем-то похоже на р[G]о[A]к".
        +форматирование более четкое в плане позиционирования
        -читать такой текст, честно говоря, не удобно
    На самом деле, вариант очень неплохой, просто недоделанный  можно преобразовать
    его таким образом, чтобы аккорды были над словами, если заключать каждую строку
    в отдельную таблицу из двух строк т.е. xml вида

    
Код
<chord>e</chord><text>Это чем-то похоже на р</text><сhord>g</chord><text>о</text><chord>a</chord><text>к</text>


в смысле w3c-неккоректен ? Разве нельзя просто тэгов нафигачить как тебе надо ?
Можно например вот так ?
Код

<text>
<chord>e</chord>Это чем-то похоже на р<сhord>g</chord>о<chord>a</chord>к
<text>

Цитата(Baa @  28.10.2007,  14:38 Найти цитируемый пост)

2. выравнивание расположения аккорда пробелами, имхо, дурной тон, этим страдают большенство сайтов

Ну почему же дурной тон ? Если взять моноширинный шрифт например Courier, то вобщем можно.
А вообще мне этот твой вариант нравится  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

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

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

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

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


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

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


 




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


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

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