2010-08-02 25 views
5

HTML'de kitap/makale düzenliyorum. Bu metinler bir kez basıldı ve ben onları taradım, ara bir XML-Formatına dönüştürüyorum ve sonra bunları HTML'ye (XSLT ile) dönüştürüyorum. Bu metinlerin bir kısmı günümüzde piyasadan soyu tükenmekte ve sadece ana kütüphaneler aracılığıyla erişilebildiğinden, bunları bir şekilde yayınlamak istiyorum, böylece insanlar orijinal belgede sayfa numaralarına başvurarak bunları alıntılayabilirler. Bu amaçla ara XML formatımın sayfa sonu oluşturan bir unsuru vardır. Şu anda XML -> HTML dönüşümleri üzerinde çalışıyorum ve kendimi bu sayfa sonlarını HTML'de nasıl dönüştürebileceğimi merak ediyorum. Öntanımlı HTML'de varsayılan olarak görünmemelidirler (böylece basit | | uymuyor) ancak bu belgeleri gerektiğinde işaretçileri gösterecek hafif bir JavaScript ile sarmayı planlıyorum. <span> s hakkında bir | içinde varsayılan olarak gizlenmiş.HTML'de bir sayfa sonu anlamsal olarak doğru nasıl ifade edilir?

bu soruna daha iyi bir olasılıkla 'semantik' yolu var mı?

cevap

3

Sayfa sonları çok düzeninin bir şey vardır ve bir şey bulmak için gidiş değildir bu yüzden HTML, düzen açıklamak için tasarlanmamıştır Bu dil için semantik.

Umarız en iyisi bir çeşit kludge.

Bir paragrafın ortasında bir sayfa sonu oluşabileceğinden ve <p> öğeleri yalnızca satır içi öğeler içerebileceğinden, başlangıçta seçeneklerin çoğunu ortadan kaldırabilirsiniz.

Kendimi öneren iki olasılık <span> ve <a>. İlkin hiçbir anlambilimine sahip değildir, ikincisinin (bir isim niteliğine sahip) veya (bir href özniteliğiyle) bağlanması için tasarlandığı ve orijinal bir belgeden bağlantı kurmak isteyebileceğiniz bir sayfadan bir sayfa düşünebilirsiniz.

olursa olsun kullandığınız eleman, onunla ilgili bir işaretleyici olmaksızın geçireceği ve sonra CSS ile gizlemek. Bu tür bir sunum bayrağı, :before aracılığıyla bir stil sayfasında (geçiş yapmak istediğinizden beri JS ile değiştirilebilen bir beden sınıfı için bir alt seçici ile birlikte) eklemeyi düşüneceğim bir şeydir.

Alternatif olarak, (çok) "HTML" nin anlamının geniş bir görünümünü l element (geçersiz XHTML 2 taslaklarından) olarak düşünebilir ve orijinal belgenin her satırını işaretleyebilirsiniz. Bir sınıf eklemek, yeni bir sayfanın nerede başladığını gösterir (ve her sayfayı ve numarasını istediğiniz şekilde açıkça belirtmek için CSS sayaçlarını ve sınırlarını kullanabilirsiniz). Tarayıcı satıcılarının gerçek bir semantik işaretleme dilinin arkasına geçmeyi reddettikleri ve bunun yerine HTML 5'i tercih ettikleri anlaşıldı.

+0

Sanırım yayılma alanına bir şey koymak zorundayım ya da Chrome'un boş olanları sevmediği görülüyor (bir sonraki açıklık görünene kadar boş bir açıklıktan sonra sonraki öğeleri emer [Evet kapalı] - İşte ben Geliştirici Araçları ile görebilirsiniz ...) Yine de teşekkürler. Bağlanma nedeniyle "a" ile bir şeylere gideceğim ... daha sonra kullanmam gerekebilir. – Struce

0

Belki <pagebreak/> gibi html tarafından yorumlanır bir xml etiketi ayrıştırılmamış/kullanabilirsiniz.

Bu şekilde, etiketin görüntülenmeyeceği html görüntülenir, ancak jQuery veya herhangi bir diğer Javascript kütüphanesi kullanılarak, bu belirli etiketler standart
veya görsel markette herhangi bir şekilde dönüştürülür. Bunun semantik yaklaşım olabilir mi

...

+0

... ama bir HTML yaklaşım. – Quentin

+0

Bu tek öğe için ayrı bir ad alanı kullanarak bu doğrulamayı yapabilir miyim? (html'ye dışa aktarırken olduğu gibi). O zaman hala javascript ile bu elemanla bir şeyler yapabilir miyim? – Struce

+0

Evet, HTML yaklaşımı değil, belki XHTML yaklaşımı. @Struce: Özel etiketleriniz için bir ad kullanabilirsiniz ve Javascript'in bunları işlemesine ve diğer standart ve görünür XHTML etiketlerinde bunları kullanmasına izin verebilirsiniz. – Impiastro

2

her sayfa için bir <div class="Page"> kullanın ve bir stil içeren vardır:

.Page { 
    page-break-after: always; 
} 
+1

… ve paragrafın ortasında bir sayfa sonu belirdiğinde? – Quentin

İlgili konular