зачем нужен xsl по сравнению с css? - PullRequest
0 голосов
/ 10 ноября 2010

Ну, я случайно пробежал по некоторым фрагментам кода и не мог понять необходимость xsl, когда то же самое можно сделать с помощью css. Например

<?xml-stylesheet type = "text/css" href = "6a.css" ?>
<ENG-COLLEGE>
   <XYZ>
     <USN>145456</USN>
     <NAME>ABC</NAME>
     <COLLEGE>TYUIT</COLLEGE>
     <BRANCH>ISE</BRANCH>
     <YEAR>2003</YEAR>
     <EMAIL>abc@gmail.com</EMAIL>
   </XYZ>
<ENG-COLLEGE>

Эквивалентный код CSS для стиля

USN{font-family:'sans serif';color:orange;font-size:15pt;}
NAME{font-family:'arial';color:red;font-size:15pt;}
COLLEGE{font-family:'Times New Roman';color:lime;font-size:15pt;}
BRANCH{font-family:'Comic Sans MS';color:gray;font-size:15pt;}
YEAR{font-family:'Century Gothic';color:blue;font-size:15pt;}
EMAIL{font-family:'Georgia';color:green;font-size:15pt;}

Хотя тот же стиль можно реализовать с помощью xsl, который включает в себя больше строк кода

<xsl:stylesheet version = "1.0"
         xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"
         xmlns = "">

 <xsl:template match = "ENG-COLLEGE">

   <html><head><title>Test XSL</title>
    </head><body bgcolor="lightgreen">
   <center><h2>INFORMATION </h2>
    <table border="1">

<tr><td>USN</td><td>NAME</td><td>COLLEGE</td><td>BRANCH</td><td>YEAR</td>    <td>EMAIL</td></tr>

     <xsl:for-each select ="VTU">
     <tr>
       <td> <xsl:value-of select = "USN" /></td>
    <td><xsl:value-of select = "NAME" /></td>
    <td><xsl:value-of select = "COLLEGE" /></td>
    <td> <xsl:value-of select = "BRANCH" /></td>
   <td><xsl:value-of select = "YEAR" /></td>
   <td><xsl:value-of select = "EMAIL" /></td>
      </tr>
      </xsl:for-each>

     </table>

      </center>
      </body></html>

     </xsl:template>
      </xsl:stylesheet>

Хорошо, я что-то здесь упускаю, я имею в виду, почему кто-то использует стиль xsl, когда css может сделать работу такой простой.

Ответы [ 2 ]

6 голосов
/ 10 ноября 2010

CSS применяет стиль и позиционирование.XSLT преобразует один XML-документ в другой.Они вообще не выполняют одну и ту же работу.

1 голос
/ 11 ноября 2010

Ну, я случайно пробежал фрагменты кода и не мог понять необходимость в XSL, когда то же самое может быть сделано с помощью CSS. Например

Что верно для этого CSS-ориентированного примера, в общем-то не так. Если ваш входной XML содержал много <XYZ> элементов:

<ENG-COLLEGE>
   <XYZ>
     <USN>145456</USN>
     <NAME>ABC</NAME>
     <COLLEGE>TYUIT</COLLEGE>
     <BRANCH>ISE</BRANCH>
     <YEAR>2003</YEAR>
     <EMAIL>abc@gmail.com</EMAIL>
   </XYZ>
   <XYZ>
     <USN>145456</USN>
     <NAME>DEF</NAME>
     ...
   </XYZ>
   etc.
</ENG-COLLEGE>

и вам нужно создать таблицу этих записей, отсортированных по содержанию элемента NAME, исключая те, чей YEAR до 2000, с адресом EMAIL, окруженным ссылкой "mailto". .. Как бы вы сделали это в CSS?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...