Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Порядок выполнения лабораторной работы
1.Реализация XSLT преобразования XML документа в XHTML средствами браузера.
2. <?xml version="1.0"?> 3. <?xml-stylesheet type="text/xsl" href="ttable.xsl"?> 4. <timetable> 5. <lesson> 6. <timeFrom>09.30</timeFrom> 7. <timeTo>11.00</timeTo> 8. <subject>Deutsch</subject> 9. <teacher>Borisova</teacher> 10. </lesson> 11. <lesson> 12. <timeFrom>11.10</timeFrom> 13. <timeTo>12.20</timeTo> 14. <subject>SAP Administration</subject> 15. <teacher>Petrov</teacher> 16. </lesson> 17. <lesson> 18. <timeFrom>12.40</timeFrom> 19. <timeTo>14.00</timeTo> 20. <subject>SAP Administration</subject> 21. <teacher>Ivanov</teacher> 22. </lesson> 23. <lesson> 24. <timeFrom>14.00</timeFrom> 25. <timeTo>15.20</timeTo> 26. <subject>Wen-technology</subject> 27. <teacher>Loktev</teacher> 28. </lesson> </timetable>
30. <?xml version="1.0" encoding="ISO-8859-1"?> 31. 32. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 33. 34. <xsl:template match="/"> 35. <html> 36. <body> 37. <h2>My academical timetable</h2> 38. <table border="1"> 39. <tr bgcolor="#a5abfa"> 40. <th align="left">Time From</th> 41. <th align="left">Subject</th> 42. <th align="left">Teacher</th> 43. </tr> 44. <xsl:for-each select="timetable/lesson"> 45. <tr> 46. <td><xsl:value-of select="timeFrom"/></td> 47. <td><xsl:value-of select="subject"/></td> 48. <td><xsl:value-of select="teacher"/></td> 49. </tr> 50. </xsl:for-each> 51. </table> 52. </body> 53. </html> 54. </xsl:template> </xsl:stylesheet> Первая строка в файле ttable.xml вида: <?xml-stylesheet type="text/xsl" href="ttable.xsl"?> представляет собой ссылку на подходящую таблицу стилей. В данном примере для описания шаблона был использован элемент <xsl:template>. Атрибут match применяется для связывания XML элемента с шаблоном. Значение атрибута match является выражение XPath. В данном случает match="/" указывает на весь документ. Содержимое элемента <xsl:template> описывает фрагмент HTML кода в выходном документе. Элемент <xsl:value-of> может быть использован для извлечения значения XML элемента и добавления его в выходной поток при преобразовании. Значение атрибута select является выражением XPath, которое напоминает нотацию, используемую в файловой системе; знак (/) указывает на обращение к подкаталогу. Элемент <xsl:for-each> позволяет выбирать каждый элемент XML указанного множества узлов.
Для фильтрации вывода элементов можно добавить атрибут элемента <xsl:for-each>, задающий критерий отбора элементов. Например: <xsl:for-each select="timetable/lesson[subject=' SAP Administration']"> Проверьте работу данного фильтра. Допустимо использование следующих операторов для описания фильтра:
2. Реализация преобразования с помощью JavaScript.
2. <html> 3. <head> 4. <script> 5. function loadXMLDoc(fname) 6. { 7. var xmlDoc; 8. // Код для IE 9. if (window.ActiveXObject) 10. { 11. xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); 12. } 13. // Код для Mozilla, Firefox, Opera и др. 14. else if (document.implementation 15. && document.implementation.createDocument) 16. { 17. xmlDoc=document.implementation.createDocument("","",null); 18. } 19. else 20. { 21. alert('Your browser cannot handle this script'); 22. } 23. xmlDoc.async=false; 24. xmlDoc.load(fname); 25. return(xmlDoc); 26. } 27. 28. function displayResult() 29. { 30. xml=loadXMLDoc("ttable.xml"); 31. xsl=loadXMLDoc("ttable.xsl"); 32. // Код для IE 33. if (window.ActiveXObject) 34. { 35. ex=xml.transformNode(xsl); 36. document.getElementById("example").innerHTML=ex; 37. } 38. // Код для Mozilla, Firefox, Opera и др. 39. else if (document.implementation 40. && document.implementation.createDocument) 41. { 42. xsltProcessor=new XSLTProcessor(); 43. xsltProcessor.importStylesheet(xsl); 44. resultDocument = xsltProcessor.transformToFragment(xml,document); 45. document.getElementById("example").appendChild(resultDocument); 46. } 47. } 48. </script> 49. </head> 50. <body id="example" onLoad="displayResult()"> 51. </body> </html> Функция loadXMLDoc() загружает XML и XSL файлы в зависимости от типа браузера. Функция displayResult() используется для отображения XML файла в стиле, задаваемом XSL файлом. Она выполняет следующие действия:
Date: 2016-07-05; view: 244; Нарушение авторских прав |