Soru Soyutlamayı sürdürürken biçimlendirilmiş metni bir DB'ye kaydetme


Verilerin başka bir şekilde kullanılabilmesi için biçimlendirilmiş bir düzey korurken, biçimlendirilmiş metin bloklarını (satır sonları, sekmeler, listeler - vb.) Bir veritabanında (hiçbir özel değil) web'de (XHTML) görüntülenmesini nasıl saklarsınız? uygulamalar veya web sitesinin yapısı gelecekte değişecek mi?


17
2017-10-09 12:59


Menşei




Cevaplar:


Sorunuzda hafifçe çarpışan iki fikir vardır: Verileri içeriğe ayrı tutmak, böylece yeniden oluşturulabilmesi ve formatlama verilerinin dahil edilmesi gibi.

Verilerin biçimlendirme verileri kısmı mı yoksa sadece meta veriler mi?

Bunu daha önce görmedik; Temelde bir CSS / HTML bilmece gibi görünüyor.

Eğer bu metin blokları bilinen bir veri şemasına sığarsa (Mario'nun cevabı gibi), evet, cevabını ben alırdım, ama sorularınızı tekrar okuyarak cevaplayacağım (ve varsayalım). , Mario'nun kullandığı paragraf etiketi?

Biçimlendirmenin temelde olduğu fikriyle gitmek Bölüm Verilerin, sadece eklenmiş değil, CSS / HTML çözümü gibi bir şeyi benimsemesini öneririm. Metni, CSS'niz için hazır olan standart XHTML etiketleriyle birlikte saklayın. Bu, daha sonra standart bir kullanıcı arayüzünü (web dışı uygulamada olduğu gibi) kullanmak istediğinizde ayrıştırılabilir ve etiketleri etiketleyip gerektiğinde değiştirebilir.

Tabii ki kendi işaretlemenizi oluşturabilirdiniz ([span class = ”myBitOfText />) yerine [myBitOfText #]. Ancak, veritabanınızdan yeniden bir amaç ya da dizi manipülasyonu gerektirmeyen bir dönüşünüz olabilir.


4
2017-10-09 13:55



Belge gerçekten sadece bir belge ise, o zaman bu fikir daha iyidir. Ne de olsa XHTML, gerektiğinde bir XSLT ile ayrıştırılabilir ve her iki çözümün en iyisini birleştirir. - Mario Ortegón
Bu durumda metin sadece bir veri şemasına uymayan bir belge olacaktır. XHTML olarak saklamak artık bunu anlamanıza yardımcı oluyor, özellikle de web üzerinde görüntülenecek ana yol olarak görüyoruz. - Tom


Belgenin yapısını XML kullanarak depolarım ve her zaman web tarayıcısında göstermeden önce bazı XSLT dönüşümlerini uygularım. Bu şekilde bilgi farklı tarayıcılara veya normal bir kullanıcı arayüzünde görüntülenmesi veya bazı düz metin belgelerine dışa aktarma gibi diğer kullanımlara uyarlanabilir.

Yapı, sadece biçimlendirme bilgilerini değil, anlamlı bir şey olmalıydı. İdeal olarak, bazı alana özgü veri modellerinin bir temsili olacaktır.

Tabii ki hiçbir şey sizi durduruyor, eğer anlamlı bilgi belge yapısı ise, aşağıdaki gibi bir şey tanımlamaktır:

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

Bu bağlamda XML kullanmanın bir diğer avantajı, veritabanınızın bunu desteklemesi (Oracle gibi) ise, metnin içeriğini sorgulayabilmenizdir.

Metnin sıklıkla sorgulanması gerekmeyen bir içerik olduğunu veya içeriğin yalnızca görüntüleme amaçlı olduğunu varsayıyoruz. Aksi halde veritabanını normalleştirmek daha iyi olabilir.


4
2017-10-09 13:01