Armazenar texto formatado em um DB, mantendo abstração
-
06-07-2019 - |
Pergunta
Como você armazenar blocos de texto (quebras de linha, guias, listas - etc.) formatado em um banco de dados (nada específico) a ser exibido na web (XHTML), mantendo um nível de abstração para que os dados podem ser usado em outras aplicações ou se a estrutura do site estavam a mudar no futuro?
Solução
Há duas idéias que se chocam um pouco na sua pergunta - a de manter os dados separados para o conteúdo para que ele possa ser re determinou, e que de incluir formatação de dados
.É a parte de dados a formatação dos dados, ou dados apenas meta?
Ainda não temos visto isso antes; basicamente parece ser uma CSS / HTML enigma.
Se estes blocos de ajuste de texto em um esquema de dados conhecidos (como a resposta de Mario assume), então sim, eu iria com a sua resposta, mas re-ler suas perguntas eu vou responder (e assumir) você tem pedaços de formatação dentro de, digamos, a marca parágrafo que Mario usado?
Indo com a ideia da formatação é basicamente parte dos dados, e não apenas um adicional extra, eu sugiro adotar algo como a solução CSS / HTML. Armazenar o texto com XHTML tags padrão, pronto para sua CSS. Este poderia então ser analisado quando você quiser usar uma interface de usuário padrão (como no aplicativo non web?), E apenas tira as tags e substitua se necessário.
Claro, você pode fazer a sua própria marcação ([myBitOfText #] em vez de
Outras dicas
eu iria armazenar a estrutura do documento usando XML, e sempre aplicar alguma transformação XSLT antes de mostrá-lo no navegador da web. Dessa forma, a informação pode ser adaptado para diferentes navegadores, ou outros usos, como a exibição de UI normal ou exportar para algum documento de texto simples.
A estrutura teria de ser algo significativo, não só informações de formatação. Idealmente, seria uma representação de algum modelo de dados de domínio específico.
É claro que nada impede que você, se a informação significativa é a estrutura do documento, para definir algo como:
<document>
<title>SomeTitle</title>
<paragraph>Some Long paragraph text</paragraph>
</document>
Outra vantagem de usar XML neste contexto é que, se seus banco de dados suporta-lo (como Oracle), você pode consultar o conteúdo do texto.
Estamos assumindo que o texto é algo que não precisa ser consultado frequentemente, ou que o conteúdo é realmente apenas para fins de exibição. Caso contrário, talvez seja melhor normalizar o banco de dados.