
- •Лекция 6
- •XPath
- •XPath
- •XPath
- •XPath
- •XPath
- •XPath
- •XPath
- •XPath
- •XPath
- •XPath
- •XPath
- •XPath в Java
- •XPath в Java
- •XPath в Java
- •Числовые Функции
- •Строковые функции
- •Булевские функции
- •XSLT преобразования
- •Пространство имен XML
- •Пространство имен XML
- •Указание пространства имен
- •Псевдонимы пространства имен
- •Пространство имен атрибутов
- •Пространства имен
- •XSLT
- •Исходный XML документ
- •Получаемый HTML документ
- •Стили шаблонов преобразования
- •Шаблоны
- •Шаблоны
- •Шаблоны
- •Преобразование средствами Java
- •Преобразование в HTML
- •Преобразование в HTML
- •Преобразование в текст
- •Преобразование в текст
XSLT преобразования
Пространство имен XML
Пространство имен XML
Пространство имен предназначено для избегания конфликтов названий элементов и атрибутов
Пространство имен в XML идентифицируется с помощью URI:
http://www.w3c.org/2001/XMLSchema
urn:com:books-r-us
Как правило используется URL
Указание пространства имен
Задание пространства имен для элемента
<элемент xmlns="URI_пространства_имен"> дочерние_элементы
</элемент>
Дочерний элемент так же может задать пространство имен:
<элемент xmlns="URI_пространства_имен">
<дочерний_элемент xmlns="URI_пространства_имен_2"> дочерние_элементы_следующего_уровня
</дочерний_элемент> дочерние_элементы
</элемент>
Псевдонимы пространства имен
Определение псевдонима (alias)
<элемент xmlns:алиас="URI_пространства_имен">
. . .
</элемент>
Определение элемента внутри пространства имен:
<алиас:элемент>
. . .
</алиас:элемент>
Пример:
<xsd:schema xmlns:xsd=" http://www.w3c.org/2001/XMLSchema"> <дочерний элемент>
</xsd:schema>
Пространство имен атрибутов
Пространство имен родительского элемента наследуют только дочерние элементы (не атрибуты)
<configuration xmlns="URL1" xmlns:si="URL2"> <size value="200" si:unit="mm"/>
</configuration>
<Configuration> — URL1
<Size> - URL1
Атрибут unit — URL2
Атрибут value — ни одному из пространств имен
Пространства имен
Включение анализа пространств имен: factory.setNamespaceAware(true);
Каждый узел имеет три свойства:
Определенное имя (qualified name): getTagName()
Локальное имя (local name): getLocalName()
URI пространства имен: getNamespaceURI() Пример
<xsd:schema xmlns:xsd="URL">
XSLT
XSLT (Extensible Stylesheet Language Transformations) — предназначен для трансформации XML в HTML-документ или обычный текст
Исходный XML документ
<staff>
<employee>
<name>Carl Cracker</name> <salary>50000</salary>
<hiredate year="2007" month="12" day="15"/> </employee>
<employee>
<name>Harry Cracker</name> <salary>30000</salary>
<hiredate year="2006" month="10" day="1"/> </employee>
<employee>
<name>Tony Tester</name> <salary>10000</salary>
<hiredate year="2008" month="2" day="15"/>
</employee>
</staff>
Получаемый HTML документ
<html>
<table border=0> <tr>
<td>Carl Cracker</td> <td>50000</td> <td>2007-12-15</td>
</tr>
<tr>
<td>Harry Cracker</td> <td>40000</td> <td>2006-10-1</td>
</tr>
<tr>
<td>Tony Tester</td> <td>10000</td> <td>2008-2-15</td>
</tr>
</table>
</html>