Jump to content
php.lv forumi

kāpēc XML?


janka

Recommended Posts

ja XHTML ir pareizi uzrakstīts, tad tas tikpat labi var būt arī XML. Tā būtu taisnība? es drusku patestēju un nonācu pie secinājuma, ka XHTML DOCTYPE dēļ nekas nesanāk. ja DOCTYPE noņem nost, tad nākamais, pie kā pārlūks piesienas, ir entītijas - visi © un   tam nepatīk. ja arī tās noņem, tad gan dokuments izskatās brīnumjauki - kā XML :)) - ...ja vien saprastu, kāpēc tas būtu vajadzīgs, jo w3sshools.org raksta, ka XML neaizstās HTML, jo to funkcijas ir atsķirīgas - XML datu uzglabāšanai, XHTML - datu parādīšanai. bet tādā gadījumā - kam tad vispār ir nepieciešams XSLT (cik sapratu, it kā xml vizualizēšanai), vai vismaz tā fīča, kas ļauj izmantot CSS lapu XML dokumentam? tas taču nozīmē neko citu kā vien XML vizualizāciju, proti, datu parādīšanu ar pārlūka palīdzību...

vēl nesapratne šajā sakarā - kopš dreamweaverim pateicu, lai lapas taisa XHTML kompilantas, tas dokumenta pašā augšā uzraksta to <?xml version="1.0" encoding="utf-8"?>. tas būtu saistits ar vispārējo XML sajūsmu, bet bez īpašas praktiskas jēgas? validatoram it kā ir vienalga, vai tas ir vai nav rakstīts. tātad - kāpēc un vai to vajag (HTML tomēr nav XML).

 

otrs jautājums no citas kabatas: vai ir kāds veids, kā parastā XHTML failā ievietot XML faila saturu? php droši vien jāuzraksta kāds XML lasītājs (kaut vai RSS lapām), kas zinās, ko ar to darīt. bet ja lapa php neizmanto?

Link to comment
Share on other sites

otrs jautājums no citas kabatas: vai ir kāds veids, kā parastā XHTML failā ievietot XML faila saturu? php droši vien jāuzraksta kāds XML lasītājs (kaut vai RSS lapām), kas zinās, ko ar to darīt. bet ja lapa php neizmanto?

Teorētiski XHTML fails šādā gadījumā ir statisks un tur ievietot kaut ko var tikai vai nu ar skripta palīdzību vai pašam ar rokām atverot viņu kādā programmā un izlabojot. Vari izmantot to pašu savu pieminēto XSLT, lai pārtaisītu XML par XHTML, pie tam tajā XSLT iekļaujot vajadzīgo XHTML daļu, kas neattiecas tieši uz datiem. Pie tam saprātīgos pārlūkos XSLT var atstāt arī apstrādei uz klienta datora.

Link to comment
Share on other sites

  • 7 months later...

CSS un XSLT nekādīgi nav vienā katlā bāžami.

 

CSS - elementu formatēšanai (krāsa, fonti, robežas, izmēri, utt.).

XSLT - xml datu pārveidošanai citos formātos (xhtml, pdf, "ievieto šeit savu mīļāko text/plain formātu"). Un tikai pārveidošanai, visu informāciju, kā izskatīsies elementi tik un tā satur CSS.

 

Pademonstrēšu uz piemēra:

 

XML fails:

 

<?xml version="1.0" encoding="UTF-8"?>
<lapa>
 <virsraksts>Vienkārša testa lapa.</virsraksts>
 <teksts>Tram pa pam.. pilnīgi parasta testa lapa <izcelt>Hello World</izcelt> stilā.</teksts>
</lapa>

 

 

XSLT (tas, kurš transformē XML) fails:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">

<xsl:template match="/page">
<html>
 <head>
	 <title><xsl:value-of select="virsraksts" /></title>
 </head>
 
 <body>
	 <h3><xsl:value-of select="virsraksts" /></h3>
	 <xsl:apply-templates select="teksts" />
 </body>
</html>
</xsl:template>

<xsl:template match="teksts">
 <xsl:apply-templates />
</xsl:template>

<xsl:template match="izcelt">
 <span class="izcelt"><xsl:apply-templates /></span>
</xsl:template>
</xsl:stylesheet>

 

XML failam piemērojot XSL stylešītu (nezinu kādēļ viņu sauc par stylešītu, ja viņš neko nestylo), rezultātā iegūsim šādu HTML kodu:

 

<html xmlns:fo="http://www.w3.org/1999/XSL/Format">
 <head>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
   <title>Vienkārša testa lapa.</title>
 </head>

 <body>
   <h3>Vienkārša testa lapa.</h3>
   Tram pa pam.. pilnīgi parasta testa lapa <span class="izcelt">Hello World</span> stilā.
 </body>
</html>

 

Un tad rezultējošo HTML kodu varam ar CSS stiliem sataisīt pēc savas sirds patikas. Plikam XML pievienojot CSS neko jēdzīgu nevar iegūt. Ceru, ka kaut nedaudz palīdzēja.

Link to comment
Share on other sites

Hehe, bubu! Tev tas traucē? Es postējot īpaši nepētīju datumus, takšto atvainojos, ka pacēlu vecu tēmu. Un nav jau svarīgi, kad ir uzdots jautājums, bet gan fakts, ka cilvēkam tāda lieta interesē. Un tikpat labi būs arī citi, kam kkas līdzīgs incē, tā kā, es, personīgi, te neredzu nekādu problēmu, lai es nevarētu paspīdēt ar savām zināšānām, pie reizes izdarot kko noderīgu.

Link to comment
Share on other sites

×
×
  • Create New...