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
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
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.
- 1. Texte formaté dans GAE
- 2. Outline/Stroke le texte formaté
- 3. En C++, comment pousser un objet vers un vecteur tout en maintenant un pointeur sur l'objet?
- 4. XML au texte formaté à l'aide XSLT
- 5. lecture Formaté texte à partir de PowerPoint Programatically
- 6. L'entrée de zone de texte en C# peut-elle être restreinte à un type formaté?
- 7. Ajout de nouveaux arguments à une fonction tout en maintenant la rétrocompatibilité dans Ruby
- 8. En-tête SSRS non formaté
- 9. convertir le texte avec une balise html en un fichier word formaté
- 10. insérez maintenant() dans un champ d'horodatage Sybase
- 11. Comment sélectionner le texte dans JTextField tout en tabulation
- 12. Comment sélectionner tout le texte dans un Windows Forms TextBox?
- 13. Sélectionner tout le texte dans un Winforms Infragistics ComboBox
- 14. désactiver la sélection de texte tout en appuyant sur «shift»
- 15. Précision maintenant() dans VBScript
- 16. Stockage de session de PHP
- 17. Formaté au pluriel
- 18. Comment subString un bloc de HTML généré par l'utilisateur tout en préservant la mise en forme?
- 19. Compress TComponents tout en les écrivant dans un TStream
- 20. Analyser une date à partir du texte non formaté dans SQL
- 21. Retirez tout le texte entre un div sans perdre le texte en dehors de celui-ci - jQuery JS
- 22. Comment récupérer tous les enregistrements d'une BD de Berkeley dans Ruby
- 23. Dois-je stocker tout le texte de ma base de données en majuscules ou en minuscules?
- 24. problèmes de duplication tout en créant un puzzle de sudoku
- 25. Stockage de données relationnelles en XML
- 26. Strip tout, mais le texte du html
- 27. Hpricot, Obtenez tout le texte du document
- 28. Stockage des résultats dans un problème d'enregistrement
- 29. Le stockage d'état dans GridView
- 30. Convertir un plist formaté binaire Mac OS X en format lisible en C#
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 –
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