Что такое код xslt_set_base

Содержание

������: ������������� �������������� XSLT � ������� ������ ������ XML ������� How to: Use XSLT Transformations with Project XML Data Interchange Files

������� ������ �������������� (XSLT) standard ��������� ����������� ����� ��� �������������� XML-������. The Extensible Stylesheet Language Transformation (XSLT) standard specifies a language definition for XML data transformations. XSLT ������������ ��� �������������� XML-���������� � ��������� XHTML ��� � ������ XML-����������. XSLT is used to transform XML documents into XHTML documents, or into other XML documents. � ���� ������ ��������, ��� ������������ XSLT � ������� Microsoft Office Project 2007 XML ������ ������� ������ ��� ���������� � ����������� �������� � �������. This article shows you how to use XSLT with Microsoft Office Project 2007 XML Data Interchange files to filter and display project information. (�������� � ���� ������ ��� ������������ �������� Britton ���������� ����������.) (The content of this article was contributed by Jessica Britton, Microsoft Corporation.)

�������� � ���������� ������� � ���� ������ ������� Project XML-������ ����� ���������� � �������� �������� � ������� XML. For information about saving projects as Project XML Data Interchange files, see Saving and Opening Projects in XML Format.

������� ������ XSLT � ��� XML-��������, ������� �� ���������� XHTML ��������, ������� ������� XSLT � XPath ����������, ������� �������� ������. An XSLT stylesheet is an XML document that consists of a combination of XHTML markup, XSLT template rules, and XPath statements that work together.

�������� XHTML ���������� ����� �����������, �������������� � XML-������. XHTML markup defines the display environment that XML data is presented in.

������� ������� XSLT ������������� ���������� ��� �������������� XML-������� ��������� ������������ �������. XSLT template rules provide instructions for transforming a source XML element in a particular way.

��������� XPath ���������� ������������ ��������� XML-���������. XPath statements identify specific elements within an XML document.

��� XML-������� ������������� ������� XPath, ���������� ���������� ������� ������� �������������� XSLT. When an XML element matches an XPath pattern, the associated XSLT template rule is invoked. ��������������� ������ ��������� � ��������� �����������, ��������� � ������� �������� XHTML. The transformed data is then rendered in the display framework specified by the XHTML markup.

�������������� �������� � �������� ������ XSLT � XPath ���������� �������������� �������� � ����� ���� ������. For more information about XSLT template rules and XPath statements, see the links at the end of this article.

����������� �������� � ������� � ������� XSL-�������������� Displaying Project Information by using XSLT Transformations

��������� 1. Procedure 1. ����� ������� ������� ������ XSLT: To create an XSLT stylesheet:

�������� ����� XSLT ��� ����� ������� ������. Create an XSLT file for your stylesheet. ��� ������ � Microsoft Visual Studio 2005 ����� ������������ ������ XSLT-���� (� Visual Studio �������� ���� ������������ ������� �������� �������� ����� ����. If you are working in Microsoft Visual Studio 2005, you can use the XSLT File template (in Visual Studio, click File, point to New, and then click File. ���� ������ �������������� ����������� � XML-���� �������� � ��������� �������. This template is prepopulated with the XML code shown in the following example. ���� �� ��������� � �������� ������� ���������� ��� XML-���������, ���������� ���� ������ XML � �������� ��� � XSLT-����. If you are working in another text or XML editor, copy this template XML and then paste it into your XSLT file.

������� ��������� XML-��� �����������. Delete the following XML code comment. ����� �����������, ��� ��������� ���� XSLT. This is where you write your XSLT code.

�������� ���� XSLT. Create your XSLT code. ��� XSLT, �������� � ��������� ������� ��������� ��������� ��������. The XSLT code shown in this example does the following:

���������� ��������� �������� ��� ��������� �������� ������� � ���������. Displays the text value of the Name child of the Project element in a header.

��������� ������ �������� ��������� ������ ������ ��� ���������, ���� �������� ����� 0 (false). Tests the Summary child of each Task element to see if the value is 0 (false).

�������� ������ �������� ������� �������� ������ ��� ���������, ���� �������� ����� 1 (true). Tests the Critical child of each Task element to see if the value is 1 (true).

���������� ������ ��� ����� ������ ������, ������� �� �������� ���������� �������� ���������� �������. Displays data for critical tasks that are not summary tasks in bold.

���������� ������ ��� ������������� ������, ������� �� �������� ���������� ��������. Displays data for noncritical tasks that are not summary tasks.

���������� �������� � �������� �� ��������� �������� ��������� ��� ��� ������� �������� ��������. Sorts resource information alphabetically by the text value of the Name child of each Resource element.

��������� ��������� ���������� ����������� ��� ������� �������� �������� �������� �� �������� 1 (true). Tests the Overallocated child of each Resource element to see if the value is 1 (true).

����������� ������������� ������� ������ � ����������� ����������� ��������. Displays sorted resource data for only overallocated resources.

��������� ���� ��� ProjectTransform.xslt. Save the file as ProjectTransform.xslt.

����� �������� ������� ������ XSLT, ���������� ������� ���� XML ��� ������� � ����, ������� ���������� �� ���������. After you create the XSLT stylesheet, you must link your Project XML file to it by adding processing instructions. ��������� 2 ��������, ��� ������� ProjectTransform.xslt ����, ��������� � ��������� 1 ��� ���� ������ XML ��� �������. Procedure 2 shows you how to link the ProjectTransform.xslt file created in Procedure 1 to any Project XML file.

��������� 2. Procedure 2. ����� �������� ���� XML ��� ������� ��� ������������� ������� ������ XSLT: To modify the Project XML file to use the XSLT stylesheet:

�������� ���� XML ��� ������� � Visual Studio ��� � ������ ��������� ��������� ��� ��������� XML. Open a Project XML file in Visual Studio, or in another text or XML editor.

�������� ��������� ������ ���� ����� ���������� XML � ��� ������ ������ � ������ XML-����. Insert the following line of code after the XML declaration, which is the first line in the Project XML file.

������� ���������� ������������ ���� XML �� ������ �������� �������, ������� ������������ ����� �������� ������� ������� XML-�����. Delete the XML namespace declaration from inside the Project element, which is the root element of the Project XML file. ���� �� �������� ���������� ������������ ����, ����������� � ������� �������, ��������� XPath ���������� � ������� � ������������ � ���������� � ������ XML-����. If you do not delete the namespace declaration that is embedded in the Project element, XPath statements will fail to match elements in the Project XML file.

����� ���������� �������� 2 � 3, ������ ��� ������ ������ XML-���� ������ ��������� ��� � ��������� ������� ����. After you perform Steps 2 and 3, the first three lines of your Project XML file should look like the following code example.

��������� ���� XML ��� �������. Save the Project XML file.

�� ����������� ��������� ���� � ������ �����, �������� �� �������� ��� ����� XML ��� �������, ��� ��� ���������, ��������� � ���� 3 ��������� ����� ������� XML-����� �� ������� ������ Interchange ����� XML. We recommend you save the file by using a file name that is different from the original Project XML file name, because the changes made in Step 3 disassociate the Project XML file from the Project XML Data Interchange Schema.

�������� ��������������� ���� XML ��� �������. View the transformed Project XML file. ����� ��������� �������������� XSLT � Visual Studio, ��������� ������� ������ ������� XML-����� ��� ProjectTransform.xslt � ����� ������ ������� �������� ����� XSLT � ���� XML . You can perform the XSLT transformation in Visual Studio by setting the Stylesheet property of the Project XML file to ProjectTransform.xslt, and then selecting Show XSLT Output from the XML menu.

����� ����� ������� ������ XML-���� � Internet Explorer 7, Microsoft Office Word 2007 ��� ������ ������� ����������, ��������������� XSLT. You can also open the Project XML file in Internet Explorer 7, Microsoft Office Word 2007, or any other application that supports XSLT.

�� ������� 1 �������� ��������������� �������� ������ ������� XML-����� � Word 2007. Figure 1 shows the transformed output of a Project XML file in Word 2007. ��� �������� ����� XML ��� ������� �� ��������� ������ ������ ������������� ������ ������������. When you open the Project XML file, by default the Data only data view is displayed. ����� ����������� ��������������� �������� ������ ���������� ������� ������������� ������ ProjectTransform.xslt � ������� XML-��������� . To see the transformed output you must select the ProjectTransform.xslt data view in the XML Document pane.

���. 1. Figure 1. XML-���� ���������������� ������� Transformed Project XML file

��� ����� ��� xslt_set_base

xslt_set_base — Set the base URI for all XSLT transformations

Description vo >xslt_set_base ( resource xh, string uri )

Sets the base URI for all XSLT transformations, the base URI is used with Xpath instructions to resolve document() and other commands which access external resources. It is also used to resolve URIs for the and elements.

As of 4.3, the default base URI is the directory of the executing script. In effect, it is the directory name value of the __FILE__ constant. Prior to 4.3, the default base URI was less predictable.

Замечание: Учтите, что в случае использования Windows, вам нужно указать file:// в начале пути.

$filebase = ‘file://’ . getcwd () . ‘/xsl/’;
xslt_set_base($xsltproc, $filebase);

file:// is needed for linux too.
php 4.3.8

It works great on my windows platform as below.

= xslt_create ();
$fileBase = ‘file://’ . getcwd () . ‘/’ ;
xslt_set_base ( $xh , $fileBase );

?>

Actually, it make use of the getcwd() to get the current directory. Hope it can help.

XSLT ������ ���

1. ��������

�� ������ � ��� ��� � ��� ���, ��� � ���� ���������� ����� � ���, ��� ���� ������� XSLT -))). ����� ����������, � ����� ��� ����� PHP 4 � ����������� Salbotron , �������, ����� ������, �� ��������� ������� �������������������. �� � ����� ����� ������� ��� ������������ ���������� ����� ������ XSLT. �� ���� ������������ �������� ����� �������������� ����������� � ������� �� ������ �����. �� ������ ������ ����� ����� �������, ��� ��� ������� �������, ��������� ����� PHP 5 � ���������� XSLT � ������� ��������� �������, � ��� ������� �������� ��� ���� �������� ������ ��������������, ������ ������� XML. :)

������ ������ �� ����, ��������������:

  • http://w3c.org — ������� �� ���������� � ����������� ���������� ��������� ������� Internet. �� ������ ������ �� �������� ��������������� ����������� ���� ���-��������������� ���������� � ������������.
  • http://www.w3.org/TR/xml — ������������ ������������ ����� �������� XML, ������� �������� ������� ������������ ����. �� ������ ��������� ������ �������� ����� �������� ������ 1.0, � ����� ������ �������� ������ 1.1.
  • http://www.w3.org/TR/xml-names — ������������ ������������� ����������� ��� � XML.
  • http://www.w3.org/TR/xpath — ������������ �� ������������� ����� ������ ������ XML-��������� XPath.
  • http://www.w3.org/TR/xsl/ — ������������ ������������ ����� ������ XSL.
  • http://www.w3.org/TR/xslt — ������������ ����� �������������� XSLT.
  • http://validator.w3.org/ — ��������� HTML.
  • http://www.w3.org/TR/xhtml1/ — ������������ XHTML1.0.

�������� �� ������� ����:

��� ������� ��������� ����� ������������� � ���������� ������ ������������ � ��������� �������:

  1. XML (��� ������!)
  2. ������������ ��� (�������� ������������ XML-���� � ����� �����)
  3. XPath (���� ������� ��������� �� ������ ���������)
  4. XSLT (��������������)
  5. XHTML (��, � ���� ����� ����������)

����� �������� ����� ����� ������� �������� ������������ ����� ������ XSL.

2. �������� XHTML

��� ����� �������� XHTML? � ������ �������, ��� XML-��������, ������� ������ ��������������� ������������ XML. ��-������, ����� ������� HTML-��������, � ������� ��� ��������.

������ ����� ������ XHTML? ������������� �� ����������� ������������� � �����-������������. �������� � XHTML ����� � ������� ������������ ������������ ��������� � ���������� ���������, ��� ������� HTML.

��� �������� ��������� ������� �������������� XML-�������� ������ �������� ���������:

  1. �������� �������� ���������� XML-��������� � ����� ������ ��������:
  2. �������� �������� ���� �������� �������, � ������� ��������� ��� ���������.
  3. ��� �������� (����) ������ ����� ����������� ����� (
    ,

).

  • �������� ������ ����� ��������, ������� ����������� ����������� � �������� (��������� ��� �������). ��������, «radio» disabled= «disabled» /> .
  • ����������� ������� & , � > ������ ������ �������������. ��������, «?a=1&b=2» > & . ���������� ���������� ������ , ������ �������� ����������� ����� �� �����������.
  • ����� ��� XHTML ��������� ��������� ��������� �������:

    1. �������� ������ ��������� ������������ ���, � ������ �������� ����� �������������� �������� HTML.
    2. �������� ������ ��������� DOCTYPE ����� �������� ��������� � ��������� � �� ���� �� ����� XHTML � ��������������� DTD.

    ������ �������� ��������� XHTML1.0:

    � ��� ��� ��� �� �������.

    ���������� XML-���������, � ������� ����������� ��� ������ � ���������.

    ��� ������� ������������ ��������� ����� ������ ����������, ����� ����� ���������� �������� � ����������� (�� ��������� � ��������� ���������) ���������.

    ���������� ���� ��������� � ��� �����.

    ��� XHTML 1.0 ���� ��� ���� — Strict (������� ������������ ������������� W3C), Transitional (���������� ���) � Frameset (������������� �������). ��� ������� �� ��� ������������ ��������� DTD.

    ���������� ������������ ��� � ������������� �����.

    ����� ����� ��������� ������ ������ � ����� �������� � ����� �����. ��� ������� � ���, ��� � XML ����� ��������� � ���������� �� ��������� ����������������.

    ��� ������ XHTML1.0 ������������� ��� ������ �������� �������������:

    • Strict — ������������ ���������� ������������ ������������� W3C �� ������� ���������. ������ � ��� HTML-��� ������ ��������� ���� �������������.
    • Transitional — ����� ������� ������������, ������� ���������� ������� ����� ���� ���, ��� ���� �� ��� ��� ������� HTML-��������.
    • Frameset — ��������� ������������ ������.

    ������ XHTML1.0 �� ������ ������ �������� XHTML1.1:

    XHTML1.1 �� ���� �������� ��� �� XHTML1.0 Strict � ������� ��������� ������ ������ XHTML1.0. ������, �� ��������� � XHTML1.0 Strict, � ���� ���� ��� �������:

    1. ����� ������� lang , ��� ���� ��������� xml:lang . (������ [ XHTMLMOD ])
    2. ��� ��������� a � map ������ �������� name ����� ������������ ������� id . (������ [ XHTMLMOD ])
    3. �������� ����� ��������� ruby . (������ [ RUBY ])

    ����, ���� ��� ����� ���������� �����-������������ � ������������� � �������������� W3C, �� XHTML1.1 ����� ���!

    �� ���� ����������� ����������� ���� �������������� ����� ������ XHTML1.1.

    3. XSLT-��������������

    ��� ����� XSLT? ��� ���� �������������� XML-���������, ������� ��� ���������� ��� ����� ������������ ����� ������ (XSL).

    ����� ����� XSLT? �� ��������� ����������� �����, ��� ������� ������ �������� ��������, � �� ������������� ��������. �� ����, ���� XML-�������� ������������� � ������� ������� XML-��������� (XSL, � ������� ��������� XSLT-�������) � �������� ��������. ����������� ����� ���� XML, HTML ��� ��������� �������� ������ �������.

    ��� ����, ����� ��������������� XSLT-����������������, � ������ ������� ����� ������������ ���������� ����� XSL � ���������� ��� � XML-�����.

    �������� XSL-���������� �������� XML-��������, � �������� ������ ������������ ��� xsl � ������������ �������� ������� stylesheet. � ����� ������� ������ ����� ����� ���������, ��������, ���:

    ���� ����� �� �������� �����-���� ����� ����������� �������� ��� ������ ��������� XSL. ������, ��� ��� ����� ������������. ����� ���������� ���������, ���������� ������������ ������������ XML-�������� � ���������� � ���� ���� �����:

    �� ����������� ����� �������� ������:

    ���� ����� text.xml � test.xsl ������� � ��������� � ����� �����, �� � ������� ������ XSLT-������� ����� ������������� �������� test.xml � �������������� ��������. � �������� ������� ����� ��������� ��� ���������� �������� (IE5+, FF2+, Opera9+ � ������), � ����� ������ � ������ ����������������, ��������, � PHP. ���� �� ����������� �������, �� ���������� ������� test.xml, � �� ����� ��������� �������� ����� ���������:

    ��� ���� ��������� ���������� ����� UTF-8, �������� �� ��, ��� �������� �������� ��� ����������� � windows-1251. � ���������, �������� ������ �� ��������� ����������� ��� ��������������� ���������, �� ������ XSLT � PHP5 ��� ����������� �������� �������������� ��� � ����������, ������� ����� ��������� � ����. �������, ��������� PHP, � ������� �������� ��� ��������������� ���������:

    ���� ��� �� �������� �������� XML-���������� � ��� ����� XHTML1.1. ��� ����, ����� ������������ ������ ���, � ������� �������� XSL-����� � ������� ���� ����������� ������� � ��������������. ��� ���� �������� XML-�������� ��������� ��� ���������.

    � �������� ������� � ������� XSL-�����, ������� ��� ������ XSLT ����� �������� ������ ��������� ��������� XML-��������� � �� ����������, ��� ���� ����� ������������� �������� XHTML1.1. ����, �����:

    ����� ������, ��� �� ��������, � ������� ������ �������� ��������:

    �������� ����������� � ��������� windows-1251, � ��� ���������� � �������� encoding. ������ XML-��������� ���������� ������ ���������, ��� ������������ W3C.

    ����� ��� ���������� ��������� ��������, �����:

    ������������ ��������� �������� ����������� ������������ ��� xsl ����� ������� xmlns:xsl= «http://www.w3.org/1999/XSL/Transform» .

    ��������� ����� � �������� �������� stylesheet �����������, ����� ������� ����� ����������� �������������� ��������:

    • method= «xml» — ����� ������ ���������. �������������� �������� ����� � ������� XML.
    • encoding= «windows-1251» — ��������� ��������������� ���������.
    • omit-xml-declaration= «no» — ���������� ��� ��� ��������� ���������� XML-��������� ( ). ����� ����� �������� «yes» ��� «no» (��������� ������ ��� html).
    • indent= «yes» — ����������� ������� �������� ������ �����������. ����� ����� �������� «yes» ��� «no».
    • media-type= «text/xml» — MIME-��� ��������������� ��������� (������������ ������ ��� ������ ������ html).
    • doctype-public= «-//W3C//DTD XHTML 1.1//EN» — ��� ��������������� ��������� (DOCTYPE)
    • doctype-system= «http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd» — ������ �� DTD

    ���� ����� ������ �������� html, �� �������� ��������� encoding � media-type ����� ����������� � ��������� �������� ( . ) ����������� ��������.

    ���������� ��������� �������:

    ������ ���� XSLT-������ ������������� ����� ��������� ������ � ����� ������ ������ ��� ��������������. ������� match ��������� ��������, ������� ������ ��������������� ����� ������ ��������� XPath.

    ��������� �������, ���� ������� �������, ������ ������������ �� ����� ������� ��� ������ ������� XSLT.

    ������������ XHTML-��������. ��� ���������� � �������� , � �������� ������� ������������ ��� xhtml:

    ������� xmlns= «http://www.w3.org/1999/xhtml» ��������� �� ������������ ��� xhtml, ������� ����� ��������� �� ��������� � ����� �������� � ���� �������� ���������, � ������� ��� �� ������ ����.

    ������� xml:lang= «ru» ��������� �� ����, � ������� ������������ �������� (�������).

    ��� ����� ����� ���� ����� ��� ������������ ���������� ��������� XHTML1.1 ����.

    ������ ��� �������� XSLT-��������������:

    ������� �������� ������:

    ����� «��� ������:» ����� ���������� � ���

    ����������� ����� �� �������:

    ������� select ��������� ��������� XPath, �� ������ �������� ������ �������. ���� ������� ������� ������ �����, �� �������� �������� ���� �� ������� ��������.

    � ������ ������ ������� ����� ������ ��������� ��� ����� (���������) � ���� �������� ���������.

    � ������ ������ ����������� �� �������� ������� �������� � ������ �������. ���� ���� ���������� true (���������� ����� �������� ������), �� ����������� ���������� ����� ��������.

    ���������� ���������� ������������ ��������:

    � ������ ������, ���� ������� �������� ������ (������������ ����������� if), �� � ����� ��������
    ����� �������� ����� ���� ����.

    ����� �������� ��������:

    ���� ��� ��������� � ����������� ������� ������, ��������� �� ����� �������� �������� � ��� ��������. ���������� �������� select ������������� XPath.

    ����� ������ �� ������������ ������� XSLT:

    ���� ��������� ��� XSLT ��������� ������ �� ������������ ������� XSLT. �� ������ ������� ��� ����� ������ � ��������� ������ ��������.

    ����������� ��������� ����� ����� ( test.xsl ) ������ ����� ���:

    ���� ��� ������������� ��������� XHTML1.1 � ��� ����������� �� ������ ��������� XML-���������. ��� �������� ����� ��������������� ����������� �� W3C, ������� ���������� �� ������ http://validator.w3.org/.

    � �������� ���� ��� �������� �������� ���:

    IE 6 FireFox 3 Opera 9.02

    4. ����������

    ������ �� �������� ���

    ���������� ����� ������ //anton-pribora.ru/articles/xml/xslt-first-step/. /�����: ������� ����� ����������, 2009 ���/

    ������������� PHP5 ��� ��������� XSLT

    ��� ��������� ��������������� ��������� ��� ������ PHP5 � ����������� ����� ���:

    �������������� ���������� �� ������������� XSLT � PHP5 ����� ����� �� ������ http://ru2.php.net/manual/ru/book.xslt.php.

    ����� �����

    ���������, �� ����� �� ���� �������� ��������! � � ��������� ������� �������, ����������� ��� �����!�

    � 2020 ����� �������. ��� ����������� ���������� � �����, ����������, ���������� ������ �� ��������.

    �������� � XSLT

    �������������� ������� XML-������ ����������� �������������� ������������ ����� ������ ������ (XSLT)

    ����� ������� ������

    ������ ����������� ������� ��� �������������, ������� ����� ������������ XSLT ��� �������������� XML-������ � ������ ����� ��� ������������� ���������������� �� Java� ��� ������ ������.

    � ������ ����������� ���������������, ��� �� ������� � XML, ������ ����� �� ������� � �����-�� ������ ����������� ����� �����, ������� �������� ��������� ������ ����������. �� ����������� ���������� ������� ��� ����������, ��� �� ����� ����� �� ������� �������� ���������� ����� ����������������. � ���� � ���� ������� ���� ����� ������ � ��������� � ������ ����� ����������������, ������� �������������� �����������.

    � ��� ��� �����������?

    ��� ����������� — � ��������������� ������������ ����� ������ ������ (XSLT). XSLT — ��� ���� �� ������� ������������, ��������� � XML, ����������� ����� ���������� XML-������ �� ����� ����� � ������.

    � ������ ����������� �� �������:

    • ������ XSLT
    • ������������� ������� ��������
    • ���������� ������
    • ���������� ���������
    • ������ XPath
    • ������� XPath
    • ����� � �������� ���������
    • ������ � ��������� ������ ������ ������
    • ���������� XSLT
    • ���������� XSLT

    ������ ������

    ����������� �� ������, ��� � ��� ���� ����� ������ � XML. ��������, �� ��������� ������� �� ����� ������� ��-�� �������� XML. �� ������, ��� ������� ������������ �� �� ������ ���������� � ����������� � ����� ������ ����������������. �� ������ ��� �������� ������ ����� ������ XML. ��������, ��� ����� ������������ ��������� ������ � ������ XML-������, ����� ������� �� � ������ �������, ��� � ������ ����� ��� �������������, ��� ��� ��� ����-������.

    ��������, � ��� ����� ���� ������ � XML, ������� �� ������ ������������ � ���������, ��� �������� ������� �� � HTML. �������, �� ����� �� ������� ����������� �������� � ������� � ��� ����������� ���������, ��� ����� ����, �� �������� � ���, ����� ��������� XML � DOM, � ����� ������� ������� �������� ������.

    ��� ����� XSLT?

    �������������� ������������ ����� ������ ������ (XSLT) ������������� ������ ��� ��������������� �������� XML-������ �� ����� ����� � ������. ������� ����� — ��� ������ ������ XML-��������, �� �� �����������; �� ������ ������������� XML ����������� �� ��� ������, ������ ������ ������� ������ XSLT � ��������� ������. ���� �� ������ �������� ����������, �� ������ ������� ������� ������ � ������������� XML ������. ����� ���� �������������� ������������, ����������� ����������� ���������������, ��������, ����������, ������� ����� �������� ������� ������ � ������ �� ����������.

    ������� ��������� ������.

    ������������ ������

    � ������ ����������� �� ������� XML-�������� � ����������� ��� � XHTML-��������, ������� ����� ���������� ��� Web-��������. ������� ������ — ��� ������ ���� � ��������� (��. ������� 1).

    ������� 1. �������� ������

    ��������� ���������: ��� ������� ���������� ������ ��� �������, ���, ��� �� ������������ ���� �����. ���������� ������ ��� Gush’gosh (���������� �� ��� ����, ������� � ������� ��� �����) ������� �� 1 ����� (0,454 ��) �������� ��������, 1 ����� ������, 1/2 ������� ������� ������, 1 ���������� ������ (����� 300 �����) ����� ����������� ����, 1 ������ ����� �������� ������ � 1 ��������� ����� �������� �����, � ������� ����������� ������ �����.

    �������, ��� ����� ������� ������, ������� �� �� �������� � ������� ����� ������, ������ � ���� XML-������ ����� ����������� ��� ������ — �� �������� �������������� �� ��������.

    ���� ���� — ������������� ��� ������ � XHTML-��������, ������� ����� ���������� ������� �� ����������� � ������������� �� ����������� � ���������� �� ������������� (��. ������� 2).

    ������� 2. ���������

    �� ������ ���������� ���� ��������� � ��������, ��� �������� �� ������� 1.

    ������� 1. ���������, ������������ � ��������

    ��� ��� �����������, �������� ����� ����� ���� ����� ������, �� ������ XHTML, � ���� �� ����������� XML.

    ������� ������ � ������� ��������������.

    ������� ������� ������

    ����� ������� ������� ������ — ��� ������ XML ��������, ���������� XSLT-����� (��. ������� 3).

    ������� 3. ����� ������� ������� ������

    �������� �������� �� ������������� ������������ ���� xsl . ���������� ����� ������������ ���� ������� ����������, ����� �������� ������� � ����������, � ����� ������ ���� ������ ��������. �������� value-of ������� ���������� �������� ������������ ������ � ��� �����. ����� ������ ������ ��������� ������������ ���������� �������� select .

    ������� select ������� �� ��������� XPath. ��������� XPath ����� ����������� � ������� ��������� �� XPath, ������ ����� �� ������ ������, ��� ������ � ��������� «��������», «�����������» � «���������� �� �������������» ���������� ����� �������� ���������. �� �������� � ��������� ��������, /recipes , � �� ���� �������� ����.

    ��� ��������� ��������������

    ���������� ������ ��������� XML-�������������� — ��� �������� �������� �� ������� ������ � XML � ���������� ��� � �������� (��. ������� 4).

    ������� 4. ���������� � XML ���������� �� ��������� ��� ������ ������� ������

    ��� ���������� �� ��������� ������� �������� ������� ������� ������, ������������� � basicstylesheet.xsl, � ������������ �� ��� �������������� XML-������ � ������ �����������. ���� �� �������� ��� XML-�������� � �������� Microsoft� Internet Explorer�, �� ������� ���������, ������� �� ������� 2.

    ������� 2. ���������� ������� ������ � �������������� XML-������

    ������ ��� �� ������ ��, ��� �� ������ ��������. ���� �� �������� � �������� ���>�������� HTML-����, �� ������� ����������� XML. ����� ������� ��������� ��������������, ���������� ���������� ��� �������������� � ������� �������� ����. ��� ����� ������� ����� ��������� ������, ��������� Java-��� �� ��������� �������� (��. ������� 5):

    ������� 5. �������������� ��������� ����� ��������� ������

    ���� �� �������� ���������� ClassNotFoundException , ��������, ��� ����� ��������� Apache Xalan (��. «�������� �������� � ����������» � ������� �������) � �������� ���������� � ���� JAR-����� � ���� � �������.

    �������� ��������������, ���������� � �������� 5, �� �������, ��� ���� result.html �������� ��������� ��� (��. ������� 6).

    ������� 6. ����������

    � ������� ��������� ���������� ��� �������� ������, ������ ����� ������� �������� ���� ��������. ��-������, ������� 6 ���������� ���������� ������ ��� ������ �������. ��-������, ����������� �������� ������ ��� �����-���� ��������. ��� ���� �� ��� ���������, ������� �� ������ ��������. � �������, ����� ������� ����� ������ ������� ��� ����������� ������ ������ � ��� �����, � ����� �� ������.

    ���������� ��������

    �� �������������� ��� ������� ������, ���� ��� �� �������� ������ ������ � ��� �����, ������� ��� �����. ����� ��� �������, ����� ����� ������������ �������, ���� � �������� ������ ������.

    �������� ��������

    ����������� ������ ������ �� ����� ����� ������� �����, ����� �� ������ ��� ������ � ���������� �������. ������ ����� ��� ����������� �� ������ ��������, ������ �� ������� ����������� � ������������� ���� ������. ������� ��������� ���� ������� ������ � ��� ����� (��. ������� 7).

    ������� 7. ������������ ������� ������

    ����� ���������� �� ����������, �� ����������� ����, ��� ��������� ������� �� ������� ������ � �������� � �������, ������������ � �������� ��������� ���������, ��� ������� � �������� match . ����� �� ������� ���� ������, ������� ��� ��������, ��� �� ��� � ������. ���� �� ��������� ������ ��������������, �� ������ ������� ����� ����� �� ����������, ��� � � �������� 6.

    �� ��� �� ��, ��� �� �����. �� ����� ����� ����������� ������������� ����������� � ����������. ��� ����� �� ����� ������� ��������� ������� ��� ������� �� ���� ��������� � �������� �� � ������� ������ (��. ������� 8).

    ������� 8. �������� �������������� ��������

    �������� ��������, ��� ������ ����, ����� ������ ������� ������� value-of , �� ������ ��������� ������� ������ ��������� ��������������� ������� � ��������� ingredients � instructions. ����� �� ������� ��������� ������� ��� ���� ���������, ����� �� � �������� match . ���������� �� �������� apply-templates , ��������� �������� ��� �������� ingredients � ���������. ����� �� ���� ������ ��� ������������, �, ����� ���, ������� ���� ������. �� �� ����� �� ������ � ��������� instructions . ��������� ������ ���� ����� �� ������������ �� ������� 3.

    ������� 3. ���������� ��������������� �������� � ��������� ingredients � instructions

    ���, ��� ��� ������� �����, ���� �� �������, ��� ����� ��� �������, ������ �� ���� �� �������� ���������� ����������� � ���������� ��� ���� ��������. � �������, ��� �������� ����� ������ ������ ������������ ��������.

    ���������� ��������

    ����� ����� ������������ ������, ������� �������� �� ��, ��� �� ��������� � ��������� �������. XSLT ��������� ������������ ���������� ����������� �������. ��������, ����� �������� ���������� �� ��������� �������, � ����� ��������������� ���������� � ����������� (��. ������� 9).

    ������� 9. ��������� ��������

    � ������ ������ ������� ������ ������� �������� �������� (HTML), � ����� ������������� ������ ������, ������ ��������, ����������� � ���������� ��� ������� �������. �����-���� XPath �� ����� ������� � ������� ��������� �� XPath, �� � ������ ������ ������� recipe ���������� ����������� �����, ������� �������� select ��������� � ����� ���� ��� �� ��� ����� � ����������� �������� � �������� �������. ��������� ������ ���� ����� �� ������� 4.

    ������� 4. ������� recipe ���������� ����������� �����

    �������, ������ ����������� � ���������, ������ ��� ��� ��� ����� ���������� ����������� ����������. ��� ����� ���� �������� ������� ingredients � instructions (��. ������� 10).

    ������� 10. ������ ��� ��������� ingredients � instructions

    ������ ������ ��� ���������� ��������: �� ������� ���������� ��������� ���������� ������� � �������� ingredients , ������ � ��� ��� ������������ ������� ��� ����� ��������. ���� �� ��������� ������ � ��������, � ������ ������� �� �����, �� ������ ������ �� ��������. �� ��� �� ��� ������.

    ��������, �� ��������������� ���, ��� ����� ������� ���������� ��������� ���������� ������� � �������� ingredients , �� ���� �� ������ ������� ingredients , �� � �������� �������� �������� ingredients . ����� �������, �� ������� ������ ��� ������������, � ������� �� �������� ����������, ������� ���������, �������� �������� � ������ ������.

    �� �� ����� �� ������� ��� ����������, ����� ��������������� �� ��� �������� ������. ��������, ��� �� ������� ���������� ������������� ������ � �������� ������� ��� �������, � ����� ��������� �������� ��� �������������� ���������.

    ��������� ������ ���� ����� �� ������� 5.

    ������� 5. �������� �������������� ������ � �������� ������� �������

    ����������� ������ ������������ � ���������. ������ ���� �� ���������� �� �����, �� �������, ��� �������� � ��������� ��� ��� ���������� (��. ������� 11).

    ������� 11. �������������� �����

    ���������� ��������

    ������ ��� ���������, ���� �� �������� ������� � ������� ������? ������ ��� ���� ��������� � ������? ����������, �������������. ���� ������� ������� ������� ������ ��������� ������� — ��� ����� ������� � ������� ����������� ������ � ������ — ������ � ��������� ������� ����� ���� �������� ����� � ����� (��. ������� 12).

    ������� 12. ���������� ������

    ��� ����� �� ������������ � ����������� ��������. ����� ��� �� � ������� �������� text , ����� �������� � ������ ����� ������������ �����. (�������, ��� ������ �����, � �� �������� ���� ������� ��������.) ����������� ����� ����� �����, ����� ��� ����� (��. ������� 13).

    ������� 13. ������������� �����

    ��������� ������� �� ������� 6.

    ������� 6. �������� ������������� �������� ������

    ����� �� �������, ��� ��������� �� �������� ������������ ���������� � ������� XPath.

    ������ XPath

    ����������� ��������������� ������ � �����, � ����� �� ������� �� ������, ������� ��������� ����� ��������� XML, ��� XPath, ������� ��������� ��������������, ����� ������ ������ ����������� �/��� ������������. ������ ������ ��������� �������� ������� XPath � ����������, ��� ��������� ������� ���������.

    ��� ����� XPath?

    �� ������ ���� ��������, ��� ������ ������ ���������������� ������� ������ �������� ����������� ������� ���������� ����� ���������. ��������, ���� �� ������ ���������� ����������, �� ����� �����, ��� �� ��� ���������. � XSLT �� ��������� �� ����������, ��������� ��������� XPath.

    ��������� XPath ����� ������� ������������ ���� ��� ����� �����, ���� ������� ������������ ��������, ���������� �� ����� ��� ����� ����� � ���������. �� ��� ��� �� ����� ���� � ����� �������� ����������� XPath, ������� �������� ���� ��� ����, ��������� ���� �� ������������� ���������. XPath ������������� ��������� �������� ��� ������� ����� ����� �� ��������� ���������, ����� ��� ��������-������� ��� ������-�������. � ������ ����������� �� ������ ��� ��� ���������, ���������� �����.

    �� ����� ������� � ��������� ����� ������ �������� XPath � � ���������� — ��� � �������� �������� �����������, ������� ����� ��������� � ���������. ��������, � ������� ��������� ��������� �� �������, ��� �������� ��� �������� recipe � ���������; ��������� ��������� ������� ������ ���������� ������� �� ��������� ���������� ���������.

    �������, �� ������� � ��� ����� ������ ��������, ������� ��������� ������������ ������ ���� ������, ������� ������������ � ����������� ����������.

    ������� ������ � �������� ��������� ���������.

    ��������� ���������

    ������ ����� � ��������� XPath �������� ��������� ����, ��� ���������� ���������� � ������� ������� ������������ ������� ����������� �����. ����������� ���� ����� ������� ������������ ������ «�� ���������� �����», �� �������� ����� ��������� � ��������� ������������ �������� ��������� XPath. ��������, ���������� ������� ������� ������ � �������� 14.

    ������� 14. ������������ ���������

    ����� ���� ����� ������� — copy-of . ���, ��� value-of ������� ���������� ��������, copy-of ������ ������ ��, � ��� ������� ��� ��������, � ������� ����������� ����, �� ������� ��������� ������� select .

    � ������ ������ � �������� select ���������� ���� �� ���������� ��������� ��������� XPath. ��������� ����� (.) � ��� ������ �� ������ ����������� ����, ��� � �������� �������, ����� �� ������ ��������� �� «������� ����������, ��� ����������� �� ����, ��� ��� �� ����������.» ������� ���� �� ��������� ��� ��������������, �� �������� ���������, ��� � �������� 15.

    ������� 15. ���������� ��������������

    �� ������, ��� ��� ������ ���������� ���� �� ���������; ��� ������, ��� ����������� ����, ��� ������� ��������� ������� match, — ��� ������ ���������, ��� /. ���� �� �������� ����������� ����, ����� ���������. ��������, �� ������ ���������� ����������� ���� �� ������ ������ (��. ������� 16).

    ������� 16. ����������� ������������ ����

    ������, �������� ��������������, �� ������� ������� (��. ������� 17).

    ������� 17. ����������

    ��� ��� �� ����������� ����������� ����, ����� ���������. ��� �����, ����� �� ������ ������� ���� ������������ ������������ ����. ��������, �� ������ ������� ������ ��������� ������� (��. ������� 18).

    ������� 18. ����� ������ ���������

    ����� �� ��������� ������� name , ������������� �� ���� ������� ����, ��� ������� ����������� ����, ������� ��������� ����� ��� � �������� 19.

    ������� 19. ����������

    �� ������ ������� ����� �� ������ �����, � ���� �������, ��� �� ����� ����������� ����������� ���� �� ������ ������ (��. ������� 20).

    ������� 20. ��� ���� ����������� ������������ ����

    (�� ��������� �������� �� ��� ���� ������, �� �����, ����� �� ��������� ����� ������� �������.)

    �� ����� ������, ��� �������������� �������������� ���������� ��� ��������� ��������� (��. ������� 21).

    ������� 21. ����������

    ��� ���� ����� ���

    ������, ����� �� �����, ������ �� ��������, ���� �� ������� ������, ���� ����� ���������. �� ��� ��� �� ������������ ����� ������� ��������� XPath, ������� �� �������� � �������� �������, ������ XPath ������������� ������� ������ ������������. ��������, �� ��� ��� �� �������� ������ �������� ��������, ������ �� ������ ����� ������ ��������� ����������� ����, � ����� ��� �������� ��� �������.

    ��� ������ ������� ��������� � ������� �����������. �� ������������ ����������, ����������� ����� ������� ��������. � «������� �����» ��������� �������� ��� child::name ������ ./name

    � ����� ������� �� ������� ����� ����, ������� �������� �������� ������������ ����, � ����� �������� ��������� name . �� ����� ������ ������� �� ������, ��� � ���������� ������, ��������� /child::recipes/child::recipe ������ /recipes/recipe .

    �������

    ��������, �� ������������, ����� �������� � ������� ������, ���� �������� ��������� �����. ��� �� ���� �� �����, ���� �� ������������, ��� �� ����� �� ������ — ��� ����� ��������. ������ ��� ������� ����� ����� ������������ ��� ������ ������ ���������. ��������, ��������� XPath descendant::instruction �������� ��� �������� instruction, ������� �������� ��������� ������������ ����, � �� ������ �������� ��������. ����� ����, ����� ������������� ����������. ��������, �� ������ ������� ��� ���������� ������� �������: /recipes/recipe[2]/descendant::instruction .

    ����� �� �������������� ��� �������� �������� ��� �������-���-���-�������, ������� �������� �������� ���� �� ���� ��������, � ����� ���� � ����� ����������� ����. ��������, ��������� descendant-or-self::instructions �������� ��� ���� instruction � ����������� ���� � ���� ���. ������� ����������� ��� ���� ��� �������� ������� ����� �����, //. ��� ��������, ��� ���������: /recipes/recipe[2]//instructions � //instructions �������� ��� ���������� ��� ������� ������� � ��� ���������� � ���������, ��������������. ���� ������ ������ ����� ������ �����������, �� ������, ����� �� ������ ������ ������� ��� �������� ������������� ���� � ���������.

    ��������

    ��� ���� ����� ������, � ������� �� ����������� — ��� ������������� ������� ������� ��� ����������� ��������. ��������, ��, ��������, �������� ������� recipeId ��� ����������� �������. ��������� /recipes/recipe/attribute::recipeId �������� ������� recipeId ��� ���� ��������� recipe . ��� ��� ����� ����� ����������� �����: ��� �� ��������� ����� �������� ���: /recipes/recipe/@recipeId .

    ��������

    ���, ��� �� ������ �� �����, ���������� ��� ���� �� ������ ��������, �� ����� ���������� ����������� ����� �����, ������ ������ ����������� ����. �����������, ��� ����������� ����� ���� ���� �� ����������, � �� ������ ������� recipeId ��� �������� �������. �� ������ ������� ��� ��������� �������: ./parent::node()/parent::node()/@recipeId .

    ��� ��������� ���������� � ������� ���� — instruction -, � ����� ��������� � ������ ����� ���� — �������� instructions — � ����� � ������ ���� �������� — recipe -, � ����� � ���������������� ��������. ��������, ��� ����� ������� ����������� �����: ./../../@recipeId .

    ������ ������� ���������, ��� �������� ��������� �������.

    ����� ����������� ����������� XPath

    � ����������� ������� ��� ������������� ������� ����������. ������ ������� ����������� ��������, ��������� ������� ���������������. ������ ������ ����������, ��� ������������ ��������� ��� ������ �����, ���������� �� ���������� ���������, � ���� ������������� � ��������� ��������, ���������� � XPath.

    ������������� ����������

    �������� ��������� �� ������ ����� ����, � ���������� ����, ��������� �� ������ ���������� �������. �� ����� ��� ������ ������, ����� ������������ ��������� /recipes/recipe[2]//instructions . ��� �� ����� ���� ����������� ������ ��������� /recipes/recipe[position() = 2]//instructions , ������� ��������, ��� ��������� XPath ������ ������ ����� ������ ������� recipes (�������, ����� ������� ������ ����) � ��� ������� �������� recipes ������ ����� ������ ������� recipe. ��� ������� �������� recipe ��������� ���������� ��������� position() = 2 . (������� �������, ���� �� � ������ ���� ������ ������?) ���� ��� �����������, ���������� ����������, �������, �� ��������� ���������� ���� ���� � ����������, ��������� ����� ����������.

    � ������� ���������� ����� ������� ��������� �����. ��������, ����� ������� ������ �������, � ������� ���� ��������: /recipes/recipe[name] . ��� ��������� ������ ���������, ���������� �� ������� name — ������� �������� recipe . ����� ����� �������� ���������� ��������. ��������, ����� ���������� ������ ��������, ������� ���������� «A balanced breakfast»: //recipe[name=»A balanced breakfast»] .

    ������ � ����, ��� �������� ������ ������� ����������, ���������� �� ������� ����, ������� � ������ ������ ������������ ������� recipe, � �� ���. � ������ �������, ����� ������� ���������� ���������� ������ �������� ������� ������� ��� ������ ������ � ���� ���� ��������� (��. ������� 22).

    ������� 22. ����������� ������ �������� ������� �������

    � ������ ��������� ������� �� �������� ��� �������� recipe , � ����� ���������� ������ ���, � �������� ���� ������� �������� recipeId , ������ 1. ����� ���� ����, �� ��������� � ��� ��������� ����, ������� ���������� name, � ���������� ���. �� ������ ��������� ������� ������������ ��� �������� name , � ����� ���������� ������ ���, � ����� �������� ������� ������� 1. � ����� ������, �� �������� ���� � ��� �� ����� (��. ������� 23).

    ������� 23. �����

    �������

    XPath ����� ������������� ��� �������. ��������� �� ��� ��������� ���������� � �����, — ��������, ��, ������� ���� ���������� �������, — ��������� ������������ ������, ��������� , — ����� ��� ������������, — � �������, ��������� � ���������� ����������.

    �������, ��������� � ������

    �������, ��������� � ������, ��������, ��������, ������� ���������� ���� � ����������� �� �������. ��������, �� ������ ���������� ��������� ��������� ������: //recipe[last()] . ������ ��������� �������� ��� �������� recipe , � ����� ���������� ������ ���������. �� ����� ������ ������������ ������� ��������, ������ ���� ����� ������������ �� ��� ����� ���������. ��������, �� ������ ���������� ��������� ��������� �������� recipe: count(//recipe) .

    �� ��� ������ ������� position() � ��, ��� ��� ��������. ������ �������, ��������� � ������, �������� id() , local-name() , namespace-uri() � name() .

    ��������� �������

    ����������� ��������� ������� ������������� ��� ��������� �����, � �� ��� �� ��������, �� ����������� ������� contains() . ������� contains() ����������, �������� �� ������ ������ ������ �������� ������. ��� ��������, ��������, ������� ������ ����, ���������� ������������ ������, ����� ���: //recipe[contains(name, ‘breakfast’)] .

    ��� ��������� ���������� ������� recipe, ������� �������� � ����� �������� name ������ «breakfast».

    ������� substring() ��������� ������� ���������� �������� �������� �� ������. ��������, ���������: substring(//recipe[2]/name, 1, 5) ���������� A bal .

    ������ �������� — ��� ������ ������, ������ — ������� ������� �������, � ������ — ��� ����� ���������.

    ����� ������ ��������� ������� �������: concat() , substring-before() , substring-after() , starts-with() � string-length() .

    �������� �������

    �������� ������� �������� ������� number() , ������� ��������� �������� � ��������, ����� ������ ������� ����� � ��� ��������. �������� ������� ����� ��������: sum() , floor() , ceiling() � round() . ��������, �� ������ ����� ����� ���� �������� recipeId ��� ������ ���������: sum(//recipe/@recipeId) .

    �������, ������� ������ ��������� �������� ���������� ���, ������ ��� ������ �������� ��������, ����������� ��� �������.

    ������� floor() ������� ���������� �����, ������� ������ ��� ����� ������� ��������, � ������� ceiling() ������� ���������� �����, ������� ������ ��� ����� ������� ��������. ������� round() �������� ������������ ������� — ��������� (��. ������� 24).

    ������� 24. ���������� �������� �������

    ������ �������

    ������ ������� �������� ������� ��� ������ � ��������� �����������, � ������� ����� ���������� � ������� �������� ���������. ��������, �������� �������� �������� �������� not() , ������� ����� ���� ������������ ��� ����������� ����, ��� ������������ ���� �� ����������. ��������, ��������� //recipe[contains(name, ‘breakfast’)] ���������� ������ ������, ���������� � �������� name ������ «breakfast». �� ���, ���� ��� ����� ��� �������, ����� ��������? ����� ������������ ���������: //recipe[not(contains(name, ‘breakfast’))] .

    ������ ������ ������� �������� true() � false() , ������� ���������� ���������, � boolean() , ������� ����������� �������� � ������, ����� ��� ����� ���� ������������ � �������� ������������.

    ����������� ������ � ������

    ���������� ��� ��� ������ ������� ������������� ������ ������ XSLT: �������� ������ � �������������� ������� ������ ������.

    ����������� ������

    ��� ������ � XSLT ���������� ���������� � ����, ��� ��� �������������� ����, � �� �����������. ������� �������, ������ �� ���� �� ������������� ������, ������� �� ��������� ������ ��� ����������. ������ ���������� ����������. ��������, ���������� ����������� �������������� ����� � ��������� �������� ��������. ������� ������ � ������.

    � �������������� ������� �� ������������ ��������� XSLT, ���������� � ������ ����������, ����� ��������� ����� � ���������� ���������. � ��������� ������� ��� ������� ��������. ������ � ��������, ����� ������� ������� XML ����� ��� ������� ����������, ������ ����� ���������� � ���������� ���� (��. ������� 25).

    ������� 25. ������ ���������� ������ � �������������� ������

    ����������� ����� ����� ������ �� ��������� for-each , � ����� ������� ��� �������. ������� �����, ������ ��������� ����� ����� � ���� ��������� �������� ������. � Java-���������������� ��� ����� �� ���� ��������� �������� � �������; ����� ��� ��������� ���� � ������������ �����, ������������ ���������� XPath � �������� select . ��� ��������, ��� ����� �� ������ ��� ���������� ������ ����, ����������� ����� �������� ������ ������� ingredient . ��� ��������� ������� �������� ����� �������� qty, unit � food � �������� �� � �������� ��� ��, ��� ��� ���� ������� ����� ��� ������ �������. �� �� ����� � � ������������, �� ����������� ����, ��� ��� ������ ��������� ��������.

    ���������� ��������� ���, ��� ���������� ��� ���������� ����� ������� — �����. ������ ������ ����������� � ��������� ��� �������������� ������, �� ��� ��� ��� ���������� ������������ ��� ���������� ��� ���� ������, �� ������ ��������� ��������, ������� ������ ������ (��. ������� 7).

    ������� 7. ����������

    ��� ��������� XML-���������� ��� ����� ��������, �� ����� �� ���������� HTML, ������� ��� �������� �� �����. ������ ������� �� ����, ����� �������, ����� ����� ������������.

    ��������� � ������ ������ ������

    ������ �������� ������ ������ �������� �� ���������. �� ��� ��� ��� ���� ���������� ��������� � ������������ ������� ������. ������ � ��������� ������� ������ ������� ������� �� �� ��������� ������� ������. ����� ����������� ����� ��������� ���������, � ����� ��������, �������� ������������ ��������� ������� ������ ��� ��������� �����. ��������, �� ����� ������� ��� ��������� ������� ������, ���� �� ������� ����� �������������� ��� ������������ (��. ������� 26).

    ������� 26. ���� ingredients.xsl

    ����� ����� ������� ��������� ������� ������ ��� ���������� (��. ������� 27).

    ������� 27. ���� instructions.xsl

    ��� ������� ��������� �������� �� ����������� ������� ������. �� ����� �������� � ������� ������ ����������� ��������� (��. ������� 28).

    ������� 28. ��������� ������ ������

    ���� ����� �� ���������� ������� ������ � ��� �� ����������, ��� � �������� �������, ������ ��� �� �����������: ������� href ����� ��������� ����� ��������� URL. �������� ��������, ��� �� �������� ��������� �� ����� �������� ��� ��������� ingredients � instructions , ������� ��� � ���� �����. ������ ���� ���������� ������� ������, ��������� ��������� ����� ��� ��, ��� ���� �� ������� ���� �������� ��������, � �� ����� ������� include (��. ������� 8).

    ������� 8. ����������

    ������� include ���� ��� �� ���������, ��� ���� �� �� �������� ���������� ������� � ������ �����. ������������ ��� ���������. � ������ �������, ���� ��� ���� ������ ��������� ���������� — ������.

    XSLT ��������� ������������� ������� ������ � ������ �����. ������ � ������? ������ ��� ����� ������� ������� ������ �������� ����������� ������������� ����� ��������, ���������� ������ �������. ��������, �� ����� ������������� ������ ingredients � ���������������� ��� (��. ������� 29).

    ������� 29. ������ ������� ������

    ����� �� ���������� �������� ���� ������ �����, ������� �������� ������� � ��������������� ������� ������ (��. ������� 9).

    ������� 9. ����������

    �������� ��������, ���, ��� ��� �������� ������� �� ������������, ���� �� ���������� ����� ���� �� �������� � � ������� ���������. ������ XSLT ��������� ������������ ������� priority , ����� ������ ��������� �������� ��� ��������� �������.

    ���������� XSLT

    �� �������, ��� ������� XSLT ����� ������� �� ����������������. ��� ������ ���������� � ���� ������������ ����������������? ������� �������� �� ���������� ���������������� Java � ������� ������ XSLT.

    ��-������, ������� ��������, ��� ���� �������� ���������� �������� ������ ������������ XSLT, ��������������� ����� ���������� ���������� ��� ���������� Xalan XSLT. �������� ���� ����������� ��������� ��� ������ �����������, ������ ��� ��������� ������� ��� �������� ��������� � �������������.

    ����� �� �������� ����������, ������� �������� ��� �������������� ������ �� ��������� ������.

    �������� ����������

    ���������� XSLT ������������ � ������� ��������� �������. ������ — ��� ������������� ��������� extension . ������� extension — ��� ������� � ������������ ����, ������� ��������� �� ����� Java. ���������, ��������, �� ��������� ������� extension (��. ������� 30).

    ������� 30. ������������� �������� extension

    �� ������� ������������ ����, ������� ������������� ������ comp.backstop.RecipeScaler , ������� �������� � ���� ����������� ����� ��� ��������� scaleMessage (��. ������� 31).

    ������� 31. ����� RecipeScaler

    ���������� �� ��������, ��������� ����� ������� ������������ ���� scaler: � �����, ��� �� ��������� ��� ������� �������� extension, � ����� ������� ��������, ����� ����� ��������� � ����������� ������������ ����. ���������� �� ����� �������� ���������� ����� �������� — scaleMessage . ��� ����� �������� ��� ���������, �� ������� �� ���������� ���������� ����. �������� context ��������� �� �������� ����������, ������� ��������� ��������� �� ��������, ����������� � �������� extension , ������ �� ������ �������� ����� ��������� extension . ��� ��� �� �������� ���� ������� ��� �������� ������, �� ����� ������� �������� ����� ���������, ����������� � ����� ��������, ����� ��� servings � ������ ������. �����, ������������ �������, ����������� � ������ �� ����� �������� extension .

    ��� ��������, ��� ���� ��������� ������� ������, �� ������� ����������, ���������� �� ������� 10.

    ������� 10. ���������� �������� extension

    �������� extension ����� ���� ������ �������, ���� � ��������� ������ � �������������.

    ������� extension

    ��� ���� ������ �������� ���������������� ��� ������ ������ ������ — ��� ������������� ������� extension, ������� ��������� ����� �������������, ��� �������� extension. ��������, �� ����� ������� �������, ������� �������� ���������� ������������ � ���������� ������ (��. ������� 32).

    ������� 32. ����� scaleIngredient()

    ���������� ���� ������� � ������� ������ ��������� ���������� �������� extension, � ������� ��� ���� ����� ������������ ���� ��� ������ (��. ������� 33).

    ������� 33. ���������� ������� extension

    ������, ��� ����� ������� �������� ������� ������������ ����. ��� � �����, ��������� ����� ������� � �����, ��� ���� ��������� ����� ������ RecipeScaler . � ���������� ���������� ������������ ���������� �� ��� (��. ������� 11).

    ������� 11. ������������� ������� extension

    ���� ������ ��� � ��������, ������������ ��� ������. ������� ���������, ��� ��������� ���������.

    ���������������� XSLT

    ������, ��� ��������� ���������, ���������� ��� ������� XSLT, ������� ������������� ��������� �����������, ����������� ��� ������� ������ ����������������.

    ���������� XSLT

    ���������, ��� �� ����� ��������� �������, �� ���� ��������� ����������, ����������� � ������� ������� ������. �� ����� �� ���� �� �������� ���������� � ������ ��������? �������, �� (��. ������� 34).

    ������� 34. ������� ����������

    XSLT ��������� ��������� ����������; � ������ ������������ ���� ������� ($), ������� ����� ������� � ��������. ���� ��������� ������� ������, ����� ������� ��� ������� (��. ������� 12).

    ������� 12. ������������� ����������

    �������� ��������, ��� ����������� ���� �������� �� ���������� ������, ��� � ���������. ������ ���� �� ���������� ������������, �� �������, ��� ������� extension �������� �������, ������ ���������� �� ������, ������ ���� ����� ������������ �������� ����� ����������. ��� �� ����; ������������ �� �������, ����� ��������� ���-���� ����� �� ���������� ��������� ����� ���������� �������� extension. ������� ��� ���� ���-�� �������� ���� ��������.

    �������� ���������

    ������, ��� �� ����� ������� — ��� ������������ �������� ���������, ����� ��������� ������������, ������ ���� ��� �����. ��������, ��. ������� 35.

    ������� 35. ������������� �������� if

    ���������� �������� if , �������� ��������� test, ������ ���� ����� true (������). ���� ��� �� ���, ��� � ��������� � ������ ������, ����� �� �������� ����� (��. ������� 13).

    ������� 13. ���������� ����������� if

    � ��� ����, � ����� ��� ��������, ����������� �� ����� ������� ������; ���� �������� ������ �������, ������� extention ����������� �� ��������� «3.» ����� ������������ ������������� ����� (��. ������� 36).

    ������� 36. ������� choose

    � ������ ������ � ��� ������� ���������� ��������� if-then-else � ����������� case �� ������������ ������ ����������������. ������� choose �������� ��� ���������, ������ ������� when ���������� ��� ����������, ������ ���� ��� ������� test ����� true (������). �������, ���� �� ���� �� ��������� when �� ����� true (������), ��������� ���������� ���������� �������� otherwise .

    ��������� ���������� �����, ������ ������� ������� (��. ������� 14).

    ������� 14. ���������

    ������ �� ������ ����� ����� ������ ����������� �������� ���������� ������, ��� ������������ ��� ������ �������.

    ����������

    ���������� ������

    ������ ����������� ��������� ������������ �� ���������� ���������� � ���������������� XSLT �� ����������� ���������� ������� ������ ������. ������� �� ������������� � �������� ������ ������, ����� � ����������� XPath — ����� �� ����� XSLT. � ��������� ����� ������� ����������� ���� ����������� ��������� ����� ������� ������� ������ ������ XSLT — ����������, �������� ��������� � ����������. � ���������� � ��� ������ ������ ���� ���������� ������, ����� ������ � ��������� ������ XSLT ����������� ��� ����������� — ��� ���� �� ��������, ��� ��� ���� ��������, ���� ����������� � ���������.

    FPublisher

    Web-����������: ���� ������

    ������������ PHP

    xslt_set_base

    xslt_set_base � Set the base URI for all XSLT transformations

    ��������

    void xslt_set_base ( resource $xh , string $uri )

    Sets the base URI for all XSLT transformations, the base URI is used with Xpath instructions to resolve document() and other commands which access external resources. It is also used to resolve URIs for the and elements.

    ������ ����������

    The XSLT processor link identifier, created with xslt_create().

    The base URI to be used.

    ������������ ��������

    ��� ������� �� ���������� �������� ����� ����������.

    XSL-��������� node -set � ����������

    (XSLT 1.0.) �������� ���������� � ������ Rows, ������� �������� ��������� (������):

    ����

    � ���� ���� 3 ���������� �������. ��� ������� ������� � ����� �� ��������� ������ � ����������� ���� �����, ���� ���������� ������� �� �����. � ����� �� ��������� ��������������� ���������, ��������, ��������������� ��������, � ����� ����������. � ���������� ���������, �� � ���� ��������� ��������� �� ������ (filterResult), ���������� «������� ����������� ������ node -set». ���������� Rows — ��� node -set, ��� � ��������� � ������� ���������.

    ����� XSL

    � �������, ��� copy-of ������� ������ �����������, � �� node -set, �� � �� ������, ��� ������� ����� node, �������� ��� ���������� 3-� ��������, ������� � ������ ����.

    �������������� ����������

    � ����, ��� � ��� �� ������� ���-�� ����� , ������� ������� �� ����������, ���������� ����� node, �� � �� ����, ��� ��� �������� ���, ��������� � ���� ���� ����� ��������� ������� (�������� ��� �������).

    ������, ��� ���������� $Rows — ��� ��������� ���� Fragment ������ �����������.

    �� �� ������ ��������� �����-���� �������� (��������, ��������������� ���������� ������� [] ) � RTF, ����� �������� � �������: from http://www.w3.org/TR/xslt#section-Result-Tree-Fragments

    �������� ��������� �� ���������� �������� ������, ������ ���� ��� �������� ����� ��������� �� ������ ( �������� �� ������ ����� �������� ������� �������������� ������ � ����� ��� ���������� ��������). � ���������, ��� �� ��������� ������������ / , // , � [] ���������� � ������ ����������� ���������.

    ����� ����, ���� ���������� ��� ����� ���������, ���� $Rows �������� ����������� node �������������� ���� ������ ��������� �������:

    ���� XSLT-��������� (� �������� ������), ������� ������������ ���������� node-set() ������� ���������� ��� RTF �� node ��������� ��������������.

    � XSLT 1.0 ������������ ������ ������� ����������, ���������� ����� ����� �� ��������� ���������, — ��� ������� ��������� XPath � �������� select :

    �� �� ������ ������������ copy-of , apply-templates ��� call-template ; ��� ��� ����� ������������ �������� ������ �����������.

    ������ ��������� XSLT, � ������� � ����, ��������� ������� ����������, ������� ����������� ��������� ��������������� ������ � ����� node, �������, ���� ��� �� �����, ����� ���� �������������� ���� ���������� �����-�������������, �� ������ ������� ���-�� ����� ����� (� ���� ������� ������������ Microsoft XSLT):

    �� ��� �� ����� ��� ������: ��� ������� ���������, �� ������ �������� ���������, ������� �� �����, ������ ������� ���� ��������� XPath. ���������� ����������, � ������� ����� node ��������� �������, ��� ��� ����� ������������ ������� node-set() , �� ��� �� �������� ����� �� ���.

    ������: ������������� �������������� XSLT � ������� ������ ������ XML ������� How to: Use XSLT Transformations with Project XML Data Interchange Files

    ������� ������ �������������� (XSLT) standard ��������� ����������� ����� ��� �������������� XML-������. The Extensible Stylesheet Language Transformation (XSLT) standard specifies a language definition for XML data transformations. XSLT ������������ ��� �������������� XML-���������� � ��������� XHTML ��� � ������ XML-����������. XSLT is used to transform XML documents into XHTML documents, or into other XML documents. � ���� ������ ��������, ��� ������������ XSLT � ������� Microsoft Office Project 2007 XML ������ ������� ������ ��� ���������� � ����������� �������� � �������. This article shows you how to use XSLT with Microsoft Office Project 2007 XML Data Interchange files to filter and display project information. (�������� � ���� ������ ��� ������������ �������� Britton ���������� ����������.) (The content of this article was contributed by Jessica Britton, Microsoft Corporation.)

    �������� � ���������� ������� � ���� ������ ������� Project XML-������ ����� ���������� � �������� �������� � ������� XML. For information about saving projects as Project XML Data Interchange files, see Saving and Opening Projects in XML Format.

    ������� ������ XSLT � ��� XML-��������, ������� �� ���������� XHTML ��������, ������� ������� XSLT � XPath ����������, ������� �������� ������. An XSLT stylesheet is an XML document that consists of a combination of XHTML markup, XSLT template rules, and XPath statements that work together.

    �������� XHTML ���������� ����� �����������, �������������� � XML-������. XHTML markup defines the display environment that XML data is presented in.

    ������� ������� XSLT ������������� ���������� ��� �������������� XML-������� ��������� ������������ �������. XSLT template rules provide instructions for transforming a source XML element in a particular way.

    ��������� XPath ���������� ������������ ��������� XML-���������. XPath statements identify specific elements within an XML document.

    ��� XML-������� ������������� ������� XPath, ���������� ���������� ������� ������� �������������� XSLT. When an XML element matches an XPath pattern, the associated XSLT template rule is invoked. ��������������� ������ ��������� � ��������� �����������, ��������� � ������� �������� XHTML. The transformed data is then rendered in the display framework specified by the XHTML markup.

    �������������� �������� � �������� ������ XSLT � XPath ���������� �������������� �������� � ����� ���� ������. For more information about XSLT template rules and XPath statements, see the links at the end of this article.

    ����������� �������� � ������� � ������� XSL-�������������� Displaying Project Information by using XSLT Transformations

    ��������� 1. Procedure 1. ����� ������� ������� ������ XSLT: To create an XSLT stylesheet:

    �������� ����� XSLT ��� ����� ������� ������. Create an XSLT file for your stylesheet. ��� ������ � Microsoft Visual Studio 2005 ����� ������������ ������ XSLT-���� (� Visual Studio �������� ���� ������������ ������� �������� �������� ����� ����. If you are working in Microsoft Visual Studio 2005, you can use the XSLT File template (in Visual Studio, click File, point to New, and then click File. ���� ������ �������������� ����������� � XML-���� �������� � ��������� �������. This template is prepopulated with the XML code shown in the following example. ���� �� ��������� � �������� ������� ���������� ��� XML-���������, ���������� ���� ������ XML � �������� ��� � XSLT-����. If you are working in another text or XML editor, copy this template XML and then paste it into your XSLT file.

    ������� ��������� XML-��� �����������. Delete the following XML code comment. ����� �����������, ��� ��������� ���� XSLT. This is where you write your XSLT code.

    �������� ���� XSLT. Create your XSLT code. ��� XSLT, �������� � ��������� ������� ��������� ��������� ��������. The XSLT code shown in this example does the following:

    ���������� ��������� �������� ��� ��������� �������� ������� � ���������. Displays the text value of the Name child of the Project element in a header.

    ��������� ������ �������� ��������� ������ ������ ��� ���������, ���� �������� ����� 0 (false). Tests the Summary child of each Task element to see if the value is 0 (false).

    �������� ������ �������� ������� �������� ������ ��� ���������, ���� �������� ����� 1 (true). Tests the Critical child of each Task element to see if the value is 1 (true).

    ���������� ������ ��� ����� ������ ������, ������� �� �������� ���������� �������� ���������� �������. Displays data for critical tasks that are not summary tasks in bold.

    ���������� ������ ��� ������������� ������, ������� �� �������� ���������� ��������. Displays data for noncritical tasks that are not summary tasks.

    ���������� �������� � �������� �� ��������� �������� ��������� ��� ��� ������� �������� ��������. Sorts resource information alphabetically by the text value of the Name child of each Resource element.

    ��������� ��������� ���������� ����������� ��� ������� �������� �������� �������� �� �������� 1 (true). Tests the Overallocated child of each Resource element to see if the value is 1 (true).

    ����������� ������������� ������� ������ � ����������� ����������� ��������. Displays sorted resource data for only overallocated resources.

    ��������� ���� ��� ProjectTransform.xslt. Save the file as ProjectTransform.xslt.

    ����� �������� ������� ������ XSLT, ���������� ������� ���� XML ��� ������� � ����, ������� ���������� �� ���������. After you create the XSLT stylesheet, you must link your Project XML file to it by adding processing instructions. ��������� 2 ��������, ��� ������� ProjectTransform.xslt ����, ��������� � ��������� 1 ��� ���� ������ XML ��� �������. Procedure 2 shows you how to link the ProjectTransform.xslt file created in Procedure 1 to any Project XML file.

    ��������� 2. Procedure 2. ����� �������� ���� XML ��� ������� ��� ������������� ������� ������ XSLT: To modify the Project XML file to use the XSLT stylesheet:

    �������� ���� XML ��� ������� � Visual Studio ��� � ������ ��������� ��������� ��� ��������� XML. Open a Project XML file in Visual Studio, or in another text or XML editor.

    �������� ��������� ������ ���� ����� ���������� XML � ��� ������ ������ � ������ XML-����. Insert the following line of code after the XML declaration, which is the first line in the Project XML file.

    ������� ���������� ������������ ���� XML �� ������ �������� �������, ������� ������������ ����� �������� ������� ������� XML-�����. Delete the XML namespace declaration from inside the Project element, which is the root element of the Project XML file. ���� �� �������� ���������� ������������ ����, ����������� � ������� �������, ��������� XPath ���������� � ������� � ������������ � ���������� � ������ XML-����. If you do not delete the namespace declaration that is embedded in the Project element, XPath statements will fail to match elements in the Project XML file.

    ����� ���������� �������� 2 � 3, ������ ��� ������ ������ XML-���� ������ ��������� ��� � ��������� ������� ����. After you perform Steps 2 and 3, the first three lines of your Project XML file should look like the following code example.

    ��������� ���� XML ��� �������. Save the Project XML file.

    �� ����������� ��������� ���� � ������ �����, �������� �� �������� ��� ����� XML ��� �������, ��� ��� ���������, ��������� � ���� 3 ��������� ����� ������� XML-����� �� ������� ������ Interchange ����� XML. We recommend you save the file by using a file name that is different from the original Project XML file name, because the changes made in Step 3 disassociate the Project XML file from the Project XML Data Interchange Schema.

    �������� ��������������� ���� XML ��� �������. View the transformed Project XML file. ����� ��������� �������������� XSLT � Visual Studio, ��������� ������� ������ ������� XML-����� ��� ProjectTransform.xslt � ����� ������ ������� �������� ����� XSLT � ���� XML . You can perform the XSLT transformation in Visual Studio by setting the Stylesheet property of the Project XML file to ProjectTransform.xslt, and then selecting Show XSLT Output from the XML menu.

    ����� ����� ������� ������ XML-���� � Internet Explorer 7, Microsoft Office Word 2007 ��� ������ ������� ����������, ��������������� XSLT. You can also open the Project XML file in Internet Explorer 7, Microsoft Office Word 2007, or any other application that supports XSLT.

    �� ������� 1 �������� ��������������� �������� ������ ������� XML-����� � Word 2007. Figure 1 shows the transformed output of a Project XML file in Word 2007. ��� �������� ����� XML ��� ������� �� ��������� ������ ������ ������������� ������ ������������. When you open the Project XML file, by default the Data only data view is displayed. ����� ����������� ��������������� �������� ������ ���������� ������� ������������� ������ ProjectTransform.xslt � ������� XML-��������� . To see the transformed output you must select the ProjectTransform.xslt data view in the XML Document pane.

    ���. 1. Figure 1. XML-���� ���������������� ������� Transformed Project XML file

    ��� ����� ��� xslt_set_base

    xslt_set_base — ������������� ������� URI ��� ���� XSLT-�������������.

    ��������

    void xslt_set_base (resource xh, string uri)

    ������������� ������� URI ��� ���� XSLT-�������������. ���� ������� URI ������������ � ������������ Xpath ��� ���������� document() � ������ ������, ������� ������ � ������� ��������.


    ����� ���������� �����
    xslt_process ����� xslt_set_encoding

    ���������, ������� ��������� �� ���� ���������, ������� ������������� ������ ��������

    ������������ �� XSLT. ������ � �������

    ������ � ����.

    ��������� ��������� HTML-���� ���������� ����� �������������� XSLT-����������� ������� XML-������ �� XSL-�������. ��������������, ������ ������������ ���������� �������� �����, �.�. ��� HTML-���, ������� �� ������ ��������� ������������ XML-������ � ������ ��������� ������ �������. (�������� �� ��������, ��� ������������� XSLT-�������������� �� �������������� ���������� ������ ��������� HTML-����).

    ������ ������������� �����, ���, ������ ��� ������ ������ � ��������, ���� ��������� ���� XML-������, �.�. �� ��������� � ������. �������� ������������ ����� ���������: ���� ������� � ���-����, ���� ������� XML-������ ������ ���������� XSLT-����������.

    ���� �� ���������� ������ ������ (����� � �������), ��, ����� ��� ������ ������� ������� ��� XML ����� � ���������� � ��������������� ����, ���������� ������ ��������� Content-type: text/xml:

    ���������� ��������, ��� ����� ������� XSL-������, �� ��� ��� �� HTML, � XML, � ���� ����������������� ��������� ���������� XML:

    • ������� ������������ ���� ������ ��������������� ����������� ���. ��� � �������� �������� �������� ����� �����, ���
      , .
    • ���� ��� ����������� ��� ���� (���������), �� �� ������ ����� ����������� ����. ��� � �������� �������� ����� ��������� �����, ���
      � .
    • ����������� ��� ��������, ��� ������ ������������ ����, ������ ���� ������ �������� �����������. ��������, ����� ����������� ���: bla-bla-bla bla-bla-bla bla-bla-bla ������� � HTML, �� ����������� � XML.

      ������������� ���������

      ��� ��� ������ ���� ��������������, �������� ������ ������� ������� ��� ��������������� ��������. ��� �������, ����� �������� ���� ��� ���. �������� ����������, ����� �� ������ ������� � ���� ���� ���� ������� � ������ �����.

      �������������, �� ������ �� ������� ������������� ����� HTML ���� � ������ ������. � PHP-�������������� ��� �������� ����� ���������:

      � XSLT-��������������� ���� ����������� �������� >xsl:include / .

      ������� ���� main.xsl, ������� �������� ������������ ������, ������ ��� ���� �������:

      � ������ ������� ���� ������� , ������� ����������� �� ���� ��������� xml-���������. ������ ����������, ����� ���� �������� �� .

      � ����� �������������� ������ ���� ���������� �, ��������������, ��������� �������, ������������ � ������������ �������:

      ���� �� ���������� � ������������ ������� ���������� �� ������ ���������� ������� ������: . � ���� ������ � ���������� ���������� �������� � ����.

      � ����� ������ ��� ������������� ������������� �������� ���� �������������� ������ ������������� ������� �������� xml-������.

      ��������, � ���� ��������� ���������:

      ��� > ���������� ��� ����, ���������������� ������ � ������, ��������, ��� ������ edit ���� ��� . �� ���������� ��������� — ���� ������ ��������������.

      � ���������� �������� �� ��������, ��� ��� ������������� XSLT-���������� sablotron (������ php 4) ���������� ���������� ������� ����������, ��� ����� ����� ���������, �������� xslt_set_base($xh, $filebase) , ��� ���������� $filebase ������ ��������� ������ ���� � ����������.

      ���� ���-�� �� ����������.

      � ���������, ������������ XSLT-���������� �� ����� ������� �������. ���������� ��������� ���������� �������� � ����� �� ����� � ����, �.�. ���� �� ���������� ����� �������� � ���������� ������� ��������. ����� ��� �������� ��������������� ������ ����.

      ��� �������, ���������� �������� ������������� ������� ������� ��������, �.�. ���������� � ��������� �������� xml-������. ����� ���� ���������� ������� � ��� ��� ���� ��� ������ ���������, �� ��������� � ���� ������� ������� ���� �������������. � ����� ��� �����, ���������� �� ���� ��������� ��������� xml- ������.

      ���� ������ ������ �� �������, �� ���� ���������:

      • ���������� �� ������ ������ ������ (����������� �� � ���� ��������� �������)
      • ������� ������, �������������� ������ ��������
      • ��������� ��������������.

      ������ (���������� �� ������ ������ ������) ����������� �������� ������ ������� ������ ������� ������������ ����:

      ���� ������ ��������� (����������� � ���� ��������� �������), �� � �������������� ��������� ������ ���� ���������.

      ��������� ������� ����������, ����� ������� ���� ����������� ��� ������. ��� ������������ ���� ������������ �������������� ����� � �������������� ��������������, ���� ������������ ����� ��������������� ����.

      ����������� ���� �������������� ������� ������ ������� �� ��������� �����������:

      ����������� ���������� ����� �����, ���������� �������� �������� ����, ������������ ������ .

      ����������� ����� ��������������� ���� �������������� ������� ������ ������� �� �����:

      ����������� ���������� ����� �����, ���������� ��� �������� ����, ������������ ������ .

      ������ ������� ����� ��������� ���� � ���������, ����� �������� ������� position() � �������� ����. ������������� ���� ������� ��������� ��� ������� �������� �������, �.�. ���������� ��������� ������ � ������� ����� xml-���������. ��� �������, ������� position() ��������� � ������ , �� ������ ��������� � � ������� ��������� ������.

      �������� ���������� �������������� — ��� ������������� ����� ������ ������� (��� ����� ���������). ��� � ������ �������������, ��� ����������� � ���������� ������� ������, ������� ������ ������������ ����� ������ xml-���������, ������ ���������� �������, �.�. ������ ����� ��������������� ��������, �, ��������������, �������� ������� ��������������, ���� �������� �������� � ����� ���� xml-��������� � �����, ���� xsl-������� � ������� ��������� ��������������.

      ����� � ��������. ����������.

      ���� �� ����� ����������� ������������ ����� � ��� ����� ��������������� �������, ������ �������� ���������� ��������� �������, �.�. ��� ���������� ������� �� ������� ����� ������ �������� ���������, �� ������� ����� ������������� ����������. ��� ������� ������� �����-����, ������� ����� ������������� ��:

      • ����
      • ������������ ������
      • ������������ ������ �������

      ���� � ������� �� ������������� ������ ���������� ������, �� ��� �������� ���������� ����� ��������� � �������� ��������. � ������, ���� ������ ���������, �� ��� �������� ����������, ����� ������� � �������� ��������� �������� ��������� ������ �������. ����� � ��������� ��� ����� �������� �������. ��������, ������� ��������� ��������� ������:

      �������� �������� sort ��������� �������� root ����������, ����� ��� ���������� ������������. � ������ ������� ������������ ���������� �� ���������� ������� (type).

      ������, �������������� ���

      ,
      � ��������� �������, ����� ��������� ��������� �������:

      ��� ���������� ������� ������� ����������� XSLT-������� , ������� ���������� XSLT ���������� $sort . ������ ���������� �������� �������� �������� sort ��������� �������� root .

      ��� ����������� �������� ���������� �������������� ��������� �������. ��� ���������� ��������� ��� ��������� ���������� � �������� ����. ������������� �������� �������� � ���������� ������, �.�. ����������� ���� ����������, ��� ���������� ����� �������������� ��� ���� ����� �� �����, ���������������� �������� @type , ��� �������, ��� �������� ���������� $sort ����� ����� ��������� ��������� �type�. ��������������, �� ������� ��������, �� �������� ����� ������������ ����������, ���������� ���� ������� .

      ����������

      �������, ���������� ������ ������� � ������� ��� ���������� XSLT �������� ��������� � ������� ������ ����������. � ��������� ����� ���� ��������� ������ ����� ��������� ��������. � ��������� �������� ���� ������ ����� ������������ � ������ ������������.

      � ������ ������ ���� �������� � �������� ������� ��������, � �������� ������������ ���� XSLT-�������������. ����������� �����������.

      ��� ����� ��������� ������ ������ ����� ����� � ������������� �������������� XSLT-������������, ���������� �������� XSLT-�������. ��� ����� ����������� ��������, ���: xselerate, Stylus Studio, Altova XML StyleVision. ������ ����������� �������� �������� ��������.

      ����� ����� ���������� �� ����� ������� ������� ���������, � ����� ����� ��� �������� ���� ��������� � ������, � ������ �� �� ������������ ����������� ��� ���������� XSLT���������. ��� ��������� ����� ������ ��� ���������� ��������� ������ �� �����: ������������� �� XSLT�.

      ��� ����� ��� xslt_set_base

      ��� ����, ����� �������� � ������ ����������, ��� ���������� ����������� ��� ������� ��������� Internet Explorer ������ 5.0 � ����. ��� ���� ����� �������� ��������� �� ����������� � ������ ��������.

      ��� ����, ����� � ��� �������� ��� �������, ���������� ���������� XML-������ ������ 3. ���� ������ �������� ������ ��� ����������� XML-������� ������ 3, �� � ������ ������ ��� ������������� �����. �������, ��� ������ IE ������ �� 5.5 ���������� ����� ������ ������ �������, ������� ������������� ��� ��� ����� ��������. � ����� ������� ������� IE ������� ��������������.
      ����������� XML-������� ������ 3 ����� ����� �� ������ http://msdn.microsoft.com/ XML/ XMLDownloads/ default.aspx.
      ����� ��������� ������� ��� ����� ����� ���������������� ��� � �������. ��� ����� � ��������� ������ ���������� ��������� �������: regsvr32 msxml3.dll . ����� ���������� �������� IE, ��� �� �������� ������������ ���� ������. ��� ����� ����� ��������� ������� xmlinst . ������� xmlinst ����� ����� �� ������ http://msdn.microsoft.com/ library/ default.asp?url=/ downloads/ list/ xmlgeneral.asp. �� ������ ����� ����������� ����� ������ �� ������� �� ��������� XML-������� �� ������ http://www.netcrucible.com/xslt/msxml-faq.htm.

      � ������ �������� � �������� ����� ������ ���������.

      ��������

      ���������� ������� ������ XML-����� (ex01.xml).

      tutorial >
      title > «������� �� XSL» title >
      author > ������ ����� ���������� author >
      tutorial >

      ���� �� ������� ���� ���� � �������� Internet Explorer, �� �� ������ ��� �� ����� �����, ������� �������� ����, ������ �� ����� ������ � ��������� �����������. �� ��� �� ����� ���� � ��������� ����������! �� ����� ������ ������ �� ����������, ������� ��������� � ����, � ��� ������ ����� — ��������� ������� ����� ���� ����������. ��� ������ �������� ����� � ������: ���������� � XML-����� �������� ������ �������������� — XSL-����.

      ��������� ��� XML-���� � ��������� ���� (ex01-1.xml).

      tutorial >
      title > «������� �� XSL» title >
      author > ������ ����� ���������� author >
      tutorial >

      � �������� XSL-���� ex01-1.xsl. ����� ����� �������� ����.

      xsl:stylesheet version =» 1.0 » xmlns:xsl =» http://www.w3.org/TR/WD-xsl «>
      xsl:template match =» / «>
      p > strong > xsl:value-of select =» //title «/> strong > p >
      p > xsl:value-of select =» //author «/> p >
      xsl:template >
      xsl:stylesheet >

      ���� �� ������ ������� ���� ex01-1.xsl � �������� Internet Explorer, �� �� ������, ��� ���� ������ ������, — �� ������ �������� ������ ����������� ��� ����������, ��� ���� �������. ���������, ������� �� �������� �� ������ ��������, �������� ����.

      «������� �� XSL»

      ������ ����� ����������

      ����� ����� �������, ��� ������� ������ ����� � ��� ������������ ������ ����������� ������� �������������� — XSL-�����. ��� ������������� ������ ����� ����� ��������, ��������� �� ����� ��� �������� XML-����.

      ��������� XML-����. �������������� ����� �������� �� �����, � ������ ������ ������ ex01-2.xml.

      tutorial >
      title > «������� �� XSL» title >
      author > ������ ����� ���������� author >
      tutorial >

      �������� XSL-���� ex01-2.xsl. ����� ����� �������� ����.

      xsl:stylesheet version =» 1.0 » xmlns:xsl =» http://www.w3.org/TR/WD-xsl «>
      xsl:template match =» / «>
      p > strong > xsl:value-of select =» //author «/> strong > p >
      p > xsl:value-of select =» //title «/> p >
      xsl:template >
      xsl:stylesheet >

      ���� �� ������ ������� ���� ex01-2.xsl � �������� Internet Explorer, �� ��������� ����� ������.

      ������ ����� ����������

      «������� �� XSL»

      ������� ������ ������, ������� �������� �������� ��� ������������� ��� ������. ���������� � XML-�������� ����������, ��� �������, � ���������� ������� � ���� ������. ������ � ���� ������ � ��������������������� ����� — ��� ������ ������������� ��������. ����������� ������, ��� � ��� ��� XML � �� ��������� ����������� ����������� HTML-��������. � ���� ������ ��� ������� ������ �������� �������������� �������� ������������� ����������, ��������, ��� ��������� ����������, � ��� ���� ��� ������� ������� ��������: ��������� ������ � ��������� ���������� � �����-���� ��������� ������ �� ������� ��� ������ ��� ��� ��������� �������� ������������� ��������� ����� ������ � ����������� HTML-�������� ������.

      ������ ������ ������� ����������� ����������������, ������ ������ ����������� ����������� �������� �� ������ ���� ������, ������������������ �������� ����� �������� ����� ������ �������, — ������������ ������ ������� �������� ���������� �������.

      XML � XSL — ��� ������������� ������� ��������� ���� ��������. ���������� XML-�������� — ��� � ���� ��������� ����� ��� ����������� ��������. ������ ������ �������������� � ����������� ���������������� �� ������ ���������� ����������� �������� XSL.

      ���� � ��� ���� �����������, ������� ����� ���� ������������ ��� ������������� ��� ������. ����������� ����������� ���� ����� ������������� ���������� ������� � ���� ������ � ���� XML-�����. �� ���� ��� ���������� ���������� ������������ � ������ ���������� XML � XSL �� ���������� ������������ ������������� �� ���������� ����. � ����� ����������� ������ — ����������� ������ �������������. � ��� ����� ������ ������ � ����������� ���������� ������, ��������������� �� ������ � ������ ������. �������, ������ ������ ���� ��� ���� � ��������� ��������� ������-������, �� ����� ��� �������� ������ �����-�� ���� �������.

      ������ ����

      �������� ������ ����� �������� ������ ������. �������� ��� �����.

      tutorial >
      title > «������� �� XSL» title >
      author > ������ ����� ���������� author >
      tutorial >

      ������ ������ ����������� ������� � ���, ��� ���� ����� ������ XML. ������� version �������� ������������. ������� encoding �� �������� ������������, �� ���� � ��� � ������ ���� ������� �����, �� ���������� �������� ���� �������, � ��������� ������ XML-���� ������ �� ����� ��������������, — �� �������� ��������� �� ������.

      ��������� ������ — ��� ���� XML-�����. ��� ������� �� ���������, ������� � ������������ �������� ����������� ���������. �������� ���������������� ������ � ����� ���� ������� ���� � �����.

      �������� ����� ����� ��������, �������� ������� ���� ����� �������������� � ������������ � ��������.

      �� ������� ������ XML-����� ������ ��������� ���� �������. �� ���� ���� ����

      tutorial >
      title > «������� �� XSL» title >
      author > ������ ����� ���������� author >
      tutorial >
      tutorial >
      title > «�������� � CSP» title >
      author > ������ ����� ���������� author >
      tutorial >

      �� ����� �������������� ���������. ��� �������������� � ���������� XML-���� ����� �������� ���� �������� �������� ������, ��������

      knowledgeDatabase >
      tutorial >
      title > «������� �� XSL» title >
      author > ������ ����� ���������� author >
      tutorial >
      tutorial >
      title > «�������� � CSP» title >
      author > ������ ����� ���������� author >
      tutorial >
      /knowledgeDatabase >

      �������, ��� ����� ����� ������������� � �������� ��������. ��������� �� ���� ����� �������� � ����� ����� �� XML — ��������� � ��������� � ���� ������ ��������� ���������� ������� ��������.

      �������� ������ � ������� �������������� — � XSL-�����. ������ XSL-����� — ������������� ������ XML-����� � ������ ������, �������, ��������, ����� ��������������� ������� HTML � ����� ���� ���������� �� ������ �������� � ������ ��������������, ������ ������� � �.�.

      ��� ����, ����� ������� �������� ����������� ��������������, ����� � XML-����� ������� ������ �� XSL-����

      ���������� ������ ����� XSL-�����

      xsl:stylesheet version =» 1.0 » xmlns:xsl =» http://www.w3.org/TR/WD-xsl «>
      xsl:template match =» / «>
      p > strong > xsl:value-of select =» //title» «/> strong > p >
      p > xsl:value-of select =» //author «/> p >
      xsl:template >
      xsl:stylesheet >

      ������ ������ ����� �������� ��� �������� xsl:stylesheet . �������� �������� — ����� ������ � ������ �� ������������ ����. ��� �������� �������� xsl:stylesheet �������� �������������. � ����� ������ ������������ ���� — ��� ��� ����� ��������� � �� ���������, ������� ����� �������������� � XSL-�����. ��� XSL-������ ������ �� ������������ ���� �������� �����������.

      �������, ��� XSL-���� �������� ����� �� �������������� XML-������. �� �� �������� ���������������� ������, �� ������ ��� ��� �� �����. ���� �������� ������� �������� ������ xsl:stylesheet , � ����� ���� ������ ������ ��������������.

      � ��������� ��������� �� �� ����� �������� ��������, ��� �������� ������ ������� XSL-�����. �� ����� ��������� ��������� ������� � ���������� ��������� � ������ �������. �������� ������ �������������� ����������� ��������� �������� XSL-����� � ������������ ����� ���������� �������������� ��������� XML-����� � ���������������� �����������.

      � ���������� ������ XML- � XSL-������ �� ����� ��������� � �����-����� ��������. �� ������ ������� ������� �������� ���� � ���������� ��� � �����. ��� ������������� ��������������� ������ �� XSL-����. ��������� ����������� ��������� — . � ����� ����������� ������ ��������� ������� — .

      � ������ ������� �� ����������, ��� � ������� �������� xsl:value-of ����� ������� � HTML-������� ���������� �������� (�����, ����������� ����� ������). ������ �� ���������, ��� ��� ������ ���� �� ������ �������� ����� ������� �������� �������� ��������.

      ���������� ��������� XML-���� ex02-1.xml

      � ���� ����� ���������� �������� �� � ���������� ���������, � � ���� �������� ���������. ���� ex02-1.xsl ����� ���

      �������� �������� �� ��������� ������ �� ������� �������� — //dog/@name . ��� �������� � ��� �������� ��������� ����� �������� » /@ «. � ��������� ��������� ��� �� �����, ��� � ��� ������ �� ���������� ��������.

      ��������� ����� ��������� ���:

      ������: �����. 18 ��, ����� � ������� �����������.

      ������� ������ �������� �� ��������� ������. � XSL-����� �� ����� �� ������������ ������� tutorial . �� ����� ���� ����� ���� ������������ ������ ����. ��������� ��� XML-����, �������� ������� ������ (ex02-2.xml)

      ���� ex02-2.xsl ����� ���

      ��������� ����� ��� �� �����.

      ������: �����. 18 ��, ����� � ������� �����������.

      � ���� ������� �� ������������ ������ ������ ��� �������� ���������. ��� ������ ��������� �������� ��� �������� — ������ � ����������� ������ — �������� ���������.

      �� ���� �� �������� ������ �������� � ������� ��������� �������� � �������� � ������ ��������� ���������� — � ������ ����������� �������.

      ����� ����������� �������

      �� ��� ���, ���� �� �������� � ����������� ����������� ������ � ���� �� �������, ������� ����� XML � HTML ����������� ���. ������ ����� ��� ������� � ����������, ���������� ��������� �����, ��� ������ XML ���������� ��������. �� ������ ��� ������� � �������, �������� �������� �� ����� ������� �������.

      ���������� ��������� XML-���� — ex03.xml. ����� ��� �������� ����.

      �����������, ��� ��� ��������� ������� � ���� ������ � ������� �� ����� ��������������� �������.

      ������� �������

      ������ ��� — ���, ��� ������, ���������� ������� ��������������. ������������ ��� ����, ������� � ���� ������ �� ������. � ���������� ������� ���� ex03-1.xml.

      � ���� ���� �������� ������ �������������� ex03-1.xsl.

      ���������� ���� ������ ���������. ��� ��� �����.

      ������ ��� ����

      ������ ������ — ����� ��� ��� � XSL-����� (�� �� � XML-������!). ��� ������� � ���, ��� � XSL-����� ����� ��������� ������������ ������� �����. ��� ���� ������ ������� �� ������ ��������� ���������� ������� ����� � XSL-�����. ��������� ��� ������ ������� �������� ��� ����������. ��������� ����� ����� — ��� ������, ���������� ��������� �������� �������. ����������� ��� ���������� ������ ���������� ������� ��� ��� �������. � ��� ������� ������ ���� �������� �����:

      ���� ������� ������� ��������� ������� � ����������� ��� ������ ����������, ������ ���� � ������� �������� ������� ����� «tutorial/enimals/dogs/dog» . �������� �������� — ���� �������� ���������, �� ���� �� ����� �������� ������. ����� � ������ ������� ���������� ���������� � ����� �������. � ������� �� ������ �������� ���� � ��������������� ���������� ���� �������� ���������. ���������, ��������, ���������� ���������� � ������ ����-���� ����� ex03-2.xml:

      ���� �� � ��������������� XSL-����� �������� ������ , �� � ��������������� ������� ������� ������ �� �� ������. ������ ������ ���� ������ — . �� ������ �������������� �������������������� � ������ ex03-2.xsl. ���������� ��������� �������� ����.

      ������ ��� ����
      ����� 18 �� ����� � ������� �����������
      ����� 10 �� ����� � ������� �������
      ����� 2 �� ����-�����
      ������ 25 �� ������

      ����������

      � ���������� �������� ������� ����� � ������� ��������� �������������� ������� ����� � XML-�����. ���� ������� ����� ��������. ������� � ���

      ������ ��� ����
      ����� 2 �� ����-�����
      ������ 25 �� ������
      ����� 10 �� ����� � ������� �������
      ����� 18 �� ����� � ������� �����������

      ����� ���������� ���������� �� �������, ���� ���������� ������������� ������� �� ������� «���». ������� ��������� ������� �� �������� � ���������� �������� — ������� order-by=»dogName» ������� �� order-by=»dogWeight» . ��������� �������� ���� (ex03-4.xml, ex03-4.xsl).

      ������ ��� ����
      ����� 10 �� ����� � ������� �������
      ����� 18 �� ����� � ������� �����������
      ����� 2 �� ����-�����
      ������ 25 �� ������

      ������� ������������� ������������� �� ������� «���», �� ��� �� ��������, � ��������� ����������! ��� ����, ����� ������� ��������� �������� ��� �����, ��� ���������� �� ���� �������, — ������ order-by=»dogWeight» ���������� �������� order-by=»number(dogWeight)» . ������ �� �������� ���������� ��������� (ex03-5.xml, ex03-5.xsl).

      ������ ��� ����
      ����� 2 �� ����-�����
      ����� 10 �� ����� � ������� �������
      ����� 18 �� ����� � ������� �����������
      ������ 25 �� ������

      �������� ������ ������ ���������� �� ���������� ��������. ��������� �������� � �������� order-by ������ ����������� �������� » ; » — order-by=»number(dogWeight); dogName» (ex03-6.xml, ex03-6.xsl). ������� ��������� ����.

      ������ ��� ����
      ������ 10 �� ������
      ����� 10 �� ����� � ������� �������
      ����� 18 �� ����-�����
      ����� 18 �� ����� � ������� �����������

      ��������� ������ �������� ������ ��� ����������� XML-������� ������ 3. � ��� ������ ����������� �� ������ ������� — �� ������ ������. ���� ������ ��� ���������� ����, ������ ������ �� ���������� ����� ��������� (ex03-7.xml, ex03-7.xsl).

      ��� ������������� ������ ���������� ������������ ������ �� ������ ������������ ����

      ��� ����� ������ ������, � ��� ������� ������ �������� �� ����.

      ����� ����, �� ������ ������� order-by � �������� xsl:for-each � �������� ������ �������

      ���� ������� xsl: sort ������������ � �������� xsl:for-each , �� �� ������ ������ ������ ����� ����� �������� xsl:for-each . ��������� �������� xsl:sort ���������� ��������. � ��� ������������ ��� ��������: ������� order — ������ ���������� (�� ����������� ��� �� ��������) � ������� select — ��� ����, �� �������� ������������ ����������. ���� ��� ����� ������������� �� ������� ��������, ��� � ������ �������, �� ������ » dogName » ����� ���� ��������� ����� — » . «, ��� ������ ��������� ����� ��������� ��� ���, �������� » dogColor «, ���� ��� ����� ������������� ������ �� ����� ������. �� ����� ���� ��������� ����� ���� ���� — select , lang , data-type , order � case-order , �� �� �� ����� ����� ������������� ��� ��� ��������, ��������� ����� �� �� ���������� ���� ���� ������ �������� ���� ���������, ������������ � XSL, � �� ���������.

      ������� ����������� ��������� ����.

      ������ ��� ����
      ����� 2 �� ����-�����
      ������ 25 �� ������
      ����� 10 �� ����� � ������� �������
      ����� 18 �� ����� � ������� �����������

      � �������������� ������ ���������� ����� ������� ���������� �� ����������� �� ���������� �� �������� (ex03-8.xml, ex03-8.xsl). ���� ������ �������� ������ ��� ����������� XML-������� ������ 3.

      ������� ����������� � ����� ������

      �� �������� �������� ������� order — �������� ascending �������� �� descending .

      ������� ����������� ��������� ����.

      ������ ��� ����
      ����� 18 �� ����� � ������� �����������
      ����� 10 �� ����� � ������� �������
      ������ 25 �� ������
      ����� 2 �� ����-�����

      ������� ������ ���������� �� ���������� ����� (ex03-9.xml, ex03-9.xsl). ���� ������ �������� ������ ��� ����������� XML-������� ������ 3.

      � ���� ������� � ��� ���������� ��� ������ � ��������� xsl:sort .

      ������ ������� ����������� �� ���� ������, � ����� �� �� ������� � ���������� �������. �������� �������� — ��� ����, ����� ���������� ����������� � �������� ������������������, � ������� xsl:sort �� �������� ������� data-type . ������� ����������� ��������� ����.

      ������ ��� ����
      �������� 3 �� �����-�����
      ������ 10 �� ������
      ����� 10 �� ����� � ������� �������
      ����� 18 �� ����-�����
      ����� 18 �� ����� � ������� �����������

      ������� �������� �������� order by �� descending , �� ����� ����������� ������ � ������� � ���������� ����� ���, ��� ������ ����� ���� � �������� ���������� �������. ��������������� ������ �� ����� ��������� ����.

      ������ ��� ����
      �������� 3 �� �����-�����
      ����� 10 �� ����� � ������� �������
      ������ 10 �� ������
      ����� 18 �� ����� � ������� �����������
      ����� 18 �� ����-�����

      ������� XSL:IF — ������

      ���������� ������ ������� ���������� ����� �������. ������ ������ ���������� ������ ���������. � ��� ������� ���������� ����������� ��������������� � �������� select (ex04-1.xml, ex04-1.xsl).

      ���� ��������� ������, � ������� �� ������ ����������� ���������.

      xsl:for-each select=»tutorial/enimals/dogs/dog [dogWeight$gt$10] » order-by=»number(dogWeight); dogName;»>

      � ������� �����������.

      ������ ��� ����
      ����� 18 �� ����� � ������� �����������
      ������ 25 �� ������

      �� ������, ��� � ������� �������� ������ �� ������, ��� ��� ��������� 10 ��, ������ ������ ����� �����, ��� ��� ������.

      ��� ���������� ������� � ���� ��������� �������� ������ ��� ����������� XML-������� ������ 3.

      ����� ������ ����������� ��� ������������� ����� ��������� (ex04-2.xml, ex04-2.xsl). �������� �������� — � ����� ���������� ������� order-by � �������� xsl:for-each �� ��������������, ������ ���� �� �������� ��� �������� xsl:sort .

      ����� ����, ������� ������� � ��� �������� � ��������� ������� xsl:if .

      �� ��������� ��������� �������� ��� �������� xsl:if .

      � ���� ������� ������� ����������� ��������� ���������� ����������.

      ������ ��� ����
      ����� 18 �� ����� � ������� �����������
      ������ 25 �� ������

      ��������� ������������ ������ ���������� ����������� ��� ������������� �������.

      ���������� ��������� ������ (ex04-3.xml, ex04-3.xsl). � ���� ������� ������������ ������� position() , ������������ ���������� ����� ��������� � �������� XML-�����.

      ��������������� ������� xsl:if .

      ������ ��� ����
      ����� 18 �� ����� � ������� �����������
      ����� 10 �� ����� � ������� �������

      ���������������� ������ ������������� ����� ���������� ������� — start-with(string,startSubstring) � contains(string,anySubstring) . ������� start-with(string,startSubstring) ���������, ���������� �� ������ string � ��������� startSubstring . ������ — ex04-4.xml, ex04-4.xsl).

      ��������� �������� xsl:if .

      � ���� �������� �� ������������ ����������. �������� ���������� ���� ���������������� �����

      ���������� varStartWith ������������ ����� ���������, � ������� ������ ���������� ��������� ��� ������. ��� �� ��������, ������� ���������������� ����� ������. ���������� varDogName �������� ������ ������, ��� �������� �� ������ ���� ����� �, ��������������, ���������������� � ���� �����.

      ������ ��� ����
      ����� 10 �� ����� � ������� �������
      ������ 25 �� ������

      ������� contains(string,anySubstring) ���������, �������� �� ������ string ��������� anySubstring . ������ — ex04-5.xml, ex04-5.xsl.

      ��������� �������� xsl:if .

      ���� ������ ��������� ���������� �����������.

      ������ ��� ����
      ����� 2 �� ����-�����
      ������ 25 �� ������

      ��� �������� xsl:if , ��������� ���� � �����, ���� ��� ������ ��������� AND (ex04-6.xml, ex04-6.xsl).

      ��������������� �������� XSL-�����.

      ������ ��� ����
      ����� 18 �� ����� � ������� �����������

      ����� �������� � ������� ��������� OR. ��� ����� ��� ����� �������� ��� �����, � ������ �� ������� ����������� ���� ������� (ex04-7.xml, ex04-7.xsl).

      ��������������� �������� XSL-�����.

      ������ ��� ����
      ����� 2 �� ����-�����
      ����� 18 �� ����� � ������� �����������
      ������ 25 �� ������

      ���� ���������� �� ���������, �� ����� �������� ��� �������� xsl:if � ���� ������� xsl:for-each .

      ������� XSL:IF — ��������� �������� ���� ������

      ������� xsl:if ����� ��������� �� ������ ��� ���������� ����� �������. ��������, ��� �� ����� ���� ������� � �� ������ ������ ��������. � ���� ��������� �� �������� ������ ������������� �������� xsl:if ��� ��������� �������� ���� �������. ������ �� ���������������� �������� ������������� ������� position() . �� ����� ������������ ��� ������� ��� ����, ����� ���������� ���� ������ � �������� ����� ������� (ex04-8.xml, ex04-8.xsl).

      �������� XSL-�����, ������� �������� �� ��������� �����������.

      position() mod 2 = 0 «>
      #CCCCCC

      � ��������� xsl:if � � �������� position() �� ��� �������. �������� mod ���� ��� ������� �� ������� �� 2. � ������� xsl:attribute ��������� ��� ����������� ����������� � ���� ����������� ��������� ��������. ��� ����� ������ �������, �� �������� ��� ���� ���������� ����� �������� � ��������� ���������. � ������ �������� ��� ������� ������� ������� �����������.

      ������ ��� ����
      ����� 18 �� ����� � ������� �����������
      ����� 10 �� ����� � ������� �������
      ����� 2 �� ����-�����
      ������ 25 �� ������

      ������������ ������������ ��������� �� ������� ���������� ������ � ����

      ����������� ������, ��� � ������ ������ ������� ��� ����� ������� ������ �� ��������� �������� � �������� �� ��� �������� ��� ��������� — ������ � ��� ������. �������, ��� ��� ������ ������ ��� ��������� — ����, � �� ������ ��������� ���� � XSL-����. ��� �� ����� ������ ����� �������� ��� ������ �������� xsl:attribute .

      �� �� ����� ����� ������� ����������� ������, ����������� ������ ��������������� ���������� XSL-�����.

      �, �������, �� ������������ � ������������� � XSL-������. ��� ������ ������ ������������ ���������.

      �� ���� �� �������� ������������ ������������ ������� XSLT � �������� � ���������� ��������� � ���� ��������� — � ������������� ��������� ����������� Web-�������� ��� ������ ������������ JavaScript � XML/XSLT ��� �����-���� �������������� ��������� � ���� ������.

      JavaScript � XML

      ��������� ������ ���� ������ XML � �������������, ������� ��� ������������� JavaScript. �����������, ��� ��� ����� ����� ����������� ����������� �������� ���������� �������� ������� ��� ������ �� ��������� ���� ��� ����� �������. �������, ��� ��� ����� ��� ����� ����� ���� XML-����, ���������� ������ �������, ��������� XSL-������, ������ �� ������� �������� ��������� ���������� � �����, ��� ��������� ��� ��� ������ � �������� ��������.

      �������� � ���������� ���� ���������.

      � �������� XML-����� ������� ��������� ��� ���� �� ������� ����� — ex05-1.xml. �������� �������� — �� ������ �� ����� ������ �� XSL-���� — ��� ����� ������ ������ �������������� �����������.

      �������� ����� ��� XSL-�����, � ������ �� ������� � ��� ����� ���� ������� xsl:sort , �������� ���������� ����� — ex05-1a.xsl, ex05-1b.xsl, ex05-1c.xsl.

      �������� ����� ����� �������� xsl:sort ��� ������� �����

      ������ ��� �������� ������ ���������� ��� ��� ������. ���� �� ��������� �������� ����� ����� ex05-1.htm, ���������� ��� ������������ �������������.

      ��� �������� �������� �������� ��� ����������� ������� � ������� �������������� ������� �� �����.

      Илон Маск рекомендует:  Почему не получается заработать на блоге
    Понравилась статья? Поделиться с друзьями:
    Кодинг, CSS и SQL