HTML Tokenleştirici

HTML Tokenlaştırıcı

Tokenlayıcı, HTML ayrıştırmasının ilk aşamasıdır: işaretleme metnini standart tanımlı token akışına dönüştürür. API olarak açıktır, bu yüzden tokenlere ağaçlara göre önem veren araçlar — linters, sanitizer pre-passes, syntax highlighters — akışı doğrudan tüketebilir.


İşaretleme Tokenizasyonu

Tokenizer.tokenize() tam girişi işler; Tokenizer.tokenize_fragment() parça tokenizasyon kurallarını uygular. İkisi de standart token sözlüğünü yayar.

Token Sınıfları

Her token, tiplenmiş bir nesnedir: StartTagToken ve EndTagToken etiketler için (özelliklerle), CharacterToken metin için, CommentToken, DoctypeToken ve EofToken girişin sonunu işaret eder.

Tokenlayıcı Durumları

TokenizerState standartların durum makinesini modelle— spesifikasyonun adlandırdığı aynı durumlar— ve Tokenizer.set_state() parçacık ve bağlama duyarlı çağırıcıların doğru durumda başlamasını sağlar.

Karakter Referansları

Adlandırılmış ve sayısal karakter referansları resolve_named_char_ref(), resolve_numeric_char_ref() ve find_named_char_ref_match() aracılığıyla çözülür — tam adlandırılmış-referans tablosu, kısayol alt kümesi değil.


İpuçları ve En İyi Uygulamalar

  • Belirli bir öğe içinde görünecek içeriği tokenleştirirken doğru başlangıç durumu ile tokenize_fragment() kullanın.
  • EofToken‘i istisna yoluyla yineleyiciyi tüketmek yerine kesin son sinyali olarak kabul edin.
  • Temizleyiciler için, herhangi bir ağaç oluşturulmadan önce StartTagToken özniteliklerini token seviyesinde inceleyin.

Yaygın Sorunlar

SorunNedenDüzeltme
Betik/stil içeriği işaretleme olarak tokenlaştırılıyorBağlam için yanlış başlangıç durumuUygun TokenizerState değerini set_state() aracılığıyla ayarlayın.
Varlıklar çözümlenmemiş görünüyorReferans çözümlemesi olmadan ham metin tüketiliyorchar-ref çözümleyici işlevlerini kullanın
Fragment çıktısı tam ayrıştırmadan farklıdırFragment kuralları kasıtlı olarak farklıdırTam belgeler için tokenize() kullanın

FAQ

Ağaç oluşturmadan tokenleştiriciyi kullanabilir miyim?

Evet — token akışı, kamuya açık, bağımsız bir çıktıdır.

Tokenleştirici durumları standart olanlar mı?

TokenizerState, spesifikasyonun durum makinesini yansıtır ve set_state() aracılığıyla ayarlanabilir.

Adlandırılmış karakter referansları nasıl işlenir?

resolve_named_char_ref() ve find_named_char_ref_match() kullanılarak tam ad-referans tablosu üzerinden.


API Reference Özeti

Sınıf/YöntemAçıklama
Tokenizer.tokenizeTam girdiyi tokenle
Tokenizer.tokenize_fragmentParçacık kurallarıyla tokenleştir
Tokenizer.set_stateİlk tokenizer durumunu ayarla
StartTagTokenÖzellikleri olan başlangıç etiketi tokeni
TokenizerStateStandartlar durum makinesi durumları
resolve_named_char_refAdlandırılmış bir karakter referansını çöz

Ayrıca Bakınız

 Türkçe