Soru
Xslt2.0'ı ubuntu'daki herhangi bir html dosyasına nasıl uygulayabilirim?
Kısa cevap
Yapamazsın
Uzun cevap
HTML XML değil. XSLT, XML'e uygulanabilir ancak HTML'ye uygulanmaz. Hangi işletim sistemini çalıştırdığınız önemli değil.
IFF, verilen HTML dosyanızın aslında X HTML olduğundan emin olabilirsiniz, o zaman XML olarak da geçerlidir ve XSLT kullanılarak işlenebilir. Bununla birlikte, çoğu HTML, XHTML değildir ve aşağıdaki gibi geçerli HTML yapılarıdır:
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<p>This is content.<br>
This is the second line.</p>
</body>
</html>
... bir XML veya XSLT motorunun bunun geçersiz bir işaretleme olduğundan şikayet etmesine neden olacak ve işlem başarısız olacaktır.
Anahtar sorun, HTML'nin kapanmamış etiketleri açmaya izin vermesidir. Yukarıdaki örnekte, <meta>
ve <br>
etiketler kapanmıyor. Bir XML işlemcisinde bu etiketler hiç bitmeyen bir yapı oluşturur. HTML işlemciler bu öğelerin gömülü listelerine sahiptir, ancak XML işlemciler yoktur.
Geçici çözüm
Yukarıdaki HTML snippet'inin bir XML / XSLT motoru tarafından işlenebilmesi için, <meta>
ve <br>
etiketlerinin olduğu gibi bitiş etiketlerine sahip olmaları gerekir ya <meta></meta>
da kendileri gibi kapanmaları gerekir <meta/>
.
HTML'yi XHTML'ye dönüştürmek için muhtemelen araçlar vardır. Hızlı bir Google araması biraz yukarı kalkar . HTML’nizi önce bunlar aracılığıyla çalıştırabilir ve ardından bunları XSLT kullanarak işleyebilirsiniz.