2008-10-09 8 views
16

Comment stockez-vous des blocs de texte formatés (sauts de ligne, tabulations, listes - etc.) dans une base de données (rien de spécifique) à afficher sur le Web (XHTML) tout en conservant niveau d'abstraction afin que les données puissent être utilisées dans d'autres applications ou si la structure du site Web devait changer à l'avenir?Stockage de texte formaté dans un BD tout en maintenant l'abstraction

Répondre

4

Il y a deux idées qui s'affrontent légèrement dans votre question: celle de garder les données séparées du contenu pour qu'il puisse être réutilisé, et celle d'inclure les données de formatage.

Les données de mise en forme font-elles partie des données, ou seulement des métadonnées?

N'avons-nous pas déjà vu cela auparavant? il semble fondamentalement être un énigme CSS/HTML. Si ces blocs de texte correspondent à un schéma de données connu (comme la réponse de Mario suppose) alors oui, j'irais avec sa réponse, mais relisant vos questions je vais répondre (et je suppose) que vous avez des morceaux de formatage dans, disons, l'étiquette de paragraphe que Mario a utilisé? Aller avec l'idée que le formatage est fondamentalement partie des données, pas seulement un ajout supplémentaire, je suggère d'adopter quelque chose comme la solution CSS/HTML. Stockez le texte avec des tags XHTML standard, prêts pour votre CSS. Cela pourrait ensuite être analysé lorsque vous souhaitez utiliser une interface utilisateur standard (comme dans une application non Web?), Et dépouiller les balises et remplacer si nécessaire. Bien sûr, vous pouvez créer votre propre balisage ([myBitOfText #] au lieu de < span class = "myBitOfText />) mais vous pouvez aussi avoir un retour de votre base de données qui ne nécessite aucune ré-utilisation ou manipulation de chaîne

+0

Si le document est vraiment juste un document, alors cette idée est meilleure.Après tout, XHTML peut aussi être analysé par un XSLT si nécessaire, en combinant le meilleur des deux solutions –

+0

Le texte dans ce cas serait juste un document Le stockage en XHTML a du sens maintenant que vous le mentionnez, particulièrement vu que le principal moyen de l'afficher sera sur le web. – Tom

4

Je voudrais stocker la structure du document en utilisant XML, et toujours appliquer une transformation XSLT avant de l'afficher dans le navigateur Web. De cette façon, l'information peut être adaptée à différents navigateurs, ou d'autres utilisations comme l'affichage dans une interface utilisateur normale ou l'exportation vers un document en texte brut.

La structure doit être quelque chose de significatif, et pas seulement des informations de formatage. Idéalement, ce serait une représentation d'un modèle de données spécifique à un domaine.

bien sûr, rien ne vous empêche, si l'information significative est la structure du document, pour définir quelque chose comme:

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

Un autre avantage d'utiliser XML dans ce contexte est que si votre base de données supporte (comme Oracle) , vous pouvez interroger le contenu du texte.

Nous supposons que le texte n'a pas souvent besoin d'être interrogé, ou que le contenu est vraiment à des fins d'affichage uniquement. Sinon, il pourrait être préférable de normaliser la base de données.

Questions connexes