2008-10-09 1 views
16

Как сохранить форматированные блоки текста (разрывы строк, табуляции, списки и т. Д.) В базе данных (ничего конкретного), которые будут отображаться в Интернете (XHTML), при сохранении уровень абстракции, чтобы данные могли использоваться в других приложениях или если структура веб-сайта изменилась в будущем?Хранение форматированного текста в БД при сохранении абстракции

ответ

4

Есть две идеи, которые слегка конфликтуют в вашем вопросе - сохранение данных отдельно от контента, чтобы оно могло быть повторно задано, и включение форматирования данных.

Является ли информация о форматировании данными или просто метаданными?

Разве мы этого не видели раньше; это в основном представляет собой головоломку CSS/HTML.

Если эти блоки текста вписываются в известную схему данных (как предполагает Марио), то да, форматирование внутри, скажем, тега абзаца, который использовал Марио?

Исходя из идеи, форматирование в основном данных данных, а не только добавленных дополнительных, я бы предложил принять что-то вроде CSS/HTML-решения. Сохраните текст со стандартными тегами XHTML, готовыми для вашего CSS. Затем это можно проанализировать, если вы хотите использовать стандартный интерфейс (как в не-веб-приложении?), И просто разделите теги и при необходимости замените.

Конечно, вы можете создать свою собственную разметку ([myBitOfText #] вместо < span class = "myBitOfText />), но вы также можете получить один возврат из своей базы данных, который не требует переназначения или строковой манипуляции

+0

Если документ является действительно просто документом, то эта идея лучше. В конце концов, XHTML также может быть проанализирован с помощью XSLT, если требуется, сочетая лучшее из обоих решений. –

+0

Текст в этом случае будет просто документом который не соответствует схеме данных. Хранение его как XHTML имеет смысл, теперь вы упомянули об этом, особенно учитывая, что основной способ его отображения будет в Интернете. – Tom

4

Я бы сохранил структуру документа с использованием XML и всегда применял некоторое преобразование XSLT, прежде чем показывать его в веб-браузере. Таким образом, информация может быть адаптирована к различным браузерам или другим обычаям, например, отображать в обычном пользовательском интерфейсе или экспортировать в какой-либо текстовый документ.

Структура должна быть чем-то значимым, а не только форматированием информации. В идеале это будет представление некоторой модели данных, относящейся к конкретным доменам.

, конечно, ничто не мешает вам, если значимой информации является структура документа, определить что-то вроде:

<document> 
    <title>SomeTitle</title> 
    <paragraph>Some Long paragraph text</paragraph> 
</document> 

Еще одно преимущество использования XML в этом контексте является то, что если ваша база данных поддерживает его (например, Oracle) , вы можете запросить содержимое текста.

Мы предполагаем, что текст - это то, что не нужно часто запрашивать, или что контент действительно предназначен только для показа. В противном случае может быть лучше нормализовать базу данных.

Смежные вопросы