Подтвердить что ты не робот

Хранение форматированного текста в БД при сохранении абстракции

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

4b9b3361

Ответ 1

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

Является ли частью данных форматирования данных или просто метаданных?

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

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

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

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

Ответ 2

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

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

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

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

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

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