{"id":307994,"date":"2020-08-05T03:00:26","date_gmt":"2020-08-05T03:00:26","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=307994"},"modified":"-0001-11-30T00:00:00","modified_gmt":"2020-08-05T03:00:26","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=307994","title":{"rendered":"\u041f\u0440\u043e\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043d\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 XML \u0441\u0442\u0440\u0430\u043d\u0438\u0446"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/513858\/\">\n<blockquote><p>\u041f\u0440\u043e\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043d\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 XML \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u2014 \u044d\u0442\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0441 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u043f\u043e\u043a\u0430\u0437\u043e\u043c \u0443\u0436\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439 XML \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u043f\u043e\u043a\u0430 XSLT \u0448\u0430\u0431\u043b\u043e\u043d \u0432\u0441\u0451 \u0435\u0449\u0451 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0447\u0430\u0441\u0442\u0438.<\/p><\/blockquote>\n<p>\u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u0431\u043e\u043b\u044c\u0448\u043e\u0439 XML. \u042d\u0442\u043e \u0441\u0442\u0430\u0442\u044c\u044f \u0441 \u043e\u0447\u0435\u043d\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432. \u041d\u0430 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e\u043c \u0438 \u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u043c \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u0435\u0451 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u0438 \u043d\u0435 \u0434\u043e\u0436\u0434\u0430\u0442\u044c\u0441\u044f. \u0412\u043e \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0441\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0431\u0440\u044b\u0432 \u0441\u0432\u044f\u0437\u0438 \u0438 XML \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043d\u0435 \u0434\u043e\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u043c. \u041a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u044b \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0438 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0431\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043e\u0433\u0440\u0443\u0437\u0438\u043b \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u044e\u0449\u0443\u044e \u0447\u0430\u0441\u0442\u044c. \u041d\u043e \u043d\u0435\u0442. \u0411\u0440\u0430\u0443\u0437\u0435\u0440 \u0433\u0440\u0443\u0437\u0438\u0442 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0437\u0430\u043d\u043e\u0432\u043e \u0438 \u0441\u043d\u043e\u0432\u0430 \u044d\u0442\u043e \u043d\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044f \u0438 \u043c\u044b \u0432\u0438\u0434\u0438\u043c \u043e\u0448\u0438\u0431\u043a\u0443 \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b.<\/p>\n<p>  <\/p>\n<p>\u041d\u043e \u0432\u044b\u0445\u043e\u0434 \u0438\u0437 \u044d\u0442\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u0435\u0441\u0442\u044c. \u041c\u044b \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u043c XML \u043d\u0430 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0435 \u043a\u0443\u0441\u043e\u0447\u043a\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0443\u0441\u043f\u0435\u0432\u0430\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0441\u044f \u043d\u0430 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e\u043c \u043a\u0430\u043d\u0430\u043b\u0435 \u0438 \u043f\u043e\u043f\u0430\u0434\u0443\u0442 \u0432 \u043a\u0435\u0448. \u0411\u043e\u043d\u0443\u0441\u043e\u043c \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0437\u0430\u0449\u0438\u0442\u0443 \u043e\u0442 \u043d\u0435\u0434\u043e\u0433\u0440\u0443\u0437\u0430 \u0438 \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043d\u0443\u044e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443.<\/p>\n<p><a name=\"habracut\"><\/a>  <\/p>\n<h2 id=\"s-chem-my-budem-rabotat\">\u0421 \u0447\u0435\u043c \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c<\/h2>\n<p>  <\/p>\n<h3 id=\"statya-v-xml\">\u0421\u0442\u0430\u0442\u044c\u044f \u0432 XML<\/h3>\n<p>  <\/p>\n<p>\u042d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a, \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435, \u0442\u0435\u043a\u0441\u0442 \u0441\u0442\u0430\u0442\u044c\u0438 \u0438 \u043c\u043d\u043e\u0433\u043e \u043c\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432. \u0415\u0441\u043b\u0438 \u0431\u044b\u0442\u044c \u0442\u043e\u0447\u043d\u0435\u0435 \u0442\u043e 5962 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f.<\/p>\n<p>  <\/p>\n<p>\u0423 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f \u0435\u0441\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442 &#8216;\u0438\u043d\u0434\u0435\u043a\u0441&#8217;. \u042d\u0442\u043e\u0442 \u0438\u043d\u0434\u0435\u043a\u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u043c\u0438 \u0432 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0435 &#8216;\u043d\u0430&#8217; \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0447\u0442\u043e \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u043c \u043d\u0430 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u0438\u043d\u0434\u0435\u043a\u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0443\u043a\u0430\u0437\u0430\u043d.<\/p>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">lorem-ipsum.xml<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"xml\">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; &lt;?xml-stylesheet  href=&quot;\u0441\u0442\u0430\u0442\u044c\u044f.xslt&quot; type=&quot;text\/xsl&quot;?&gt; &lt;\u0441\u0442\u0430\u0442\u044c\u044f&gt;     &lt;title xmlns=&quot;http:\/\/www.w3.org\/1999\/xhtml&quot;&gt;Lorem Ipsum&lt;\/title&gt;     &lt;meta name=&quot;description&quot; content=&quot;Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...&quot; xmlns=&quot;http:\/\/www.w3.org\/1999\/xhtml&quot;\/&gt;     &lt;\u0442\u0435\u043a\u0441\u0442&gt;Quisque sollicitudin malesuada urna, id tincidunt quam. Pellentesque luctus, sem vel posuere efficitur, est enim pulvinar orci, et vulputate orci dui a libero. Nam eget mauris sed diam pretium fermentum. Proin euismod ultrices justo, non aliquet ipsum bibendum at. Duis eget laoreet mauris. Morbi tristique arcu libero, quis pharetra justo bibendum eget. In at quam sed lacus vestibulum tincidunt quis ut ex.&lt;\/\u0442\u0435\u043a\u0441\u0442&gt;     &lt;\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u0438\u043d\u0434\u0435\u043a\u0441=&quot;1&quot;&gt; Nunc sit amet ligula mauris. Integer vel nisi ac turpis rhoncus suscipit. Fusce elementum ut elit quis rutrum. Nulla bibendum placerat ex pulvinar accumsan. Praesent vestibulum hendrerit accumsan. Sed quis ligula pretium, condimentum enim in, cursus elit. Phasellus quis mauris arcu. Integer congue ex et ante porttitor vestibulum. Donec vel mauris venenatis, ultrices leo in, dapibus metus. Morbi pharetra eleifend libero nec efficitur. Fusce efficitur et ligula quis scelerisque. Curabitur eget nibh at nunc lacinia fringilla et eget quam. Praesent malesuada, odio in pulvinar semper, libero nunc consectetur lorem, vel egestas erat tellus nec ipsum. &lt;\/\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439&gt; &lt;!-- ... --&gt;     &lt;\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u043d\u0430=&quot;1&quot; \u0438\u043d\u0434\u0435\u043a\u0441=&quot;4&quot;&gt; Praesent varius vitae arcu sed imperdiet. Proin pulvinar a augue blandit scelerisque. Pellentesque lectus erat, gravida lobortis lorem ut, dignissim tempor felis. Nunc porttitor libero quis est sodales, non ornare metus eleifend. Cras orci lacus, auctor non sollicitudin lacinia, ultricies vitae diam. Fusce eu leo varius, interdum sapien ac, vestibulum orci. Sed placerat feugiat odio, vitae tempor tellus volutpat tincidunt. Cras dapibus est et mi euismod ornare. Vestibulum accumsan justo non volutpat dictum. Curabitur porttitor, magna id euismod tincidunt, metus nisl fermentum tellus, id pulvinar leo nibh vel velit. Sed gravida gravida sapien et porttitor. Nam volutpat, ex id faucibus commodo, arcu arcu fringilla mi, et volutpat nunc turpis at ligula. Pellentesque et vulputate ligula, lobortis dignissim ligula. Nulla laoreet auctor ultricies. Interdum et malesuada fames ac ante ipsum primis in faucibus. &lt;\/\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439&gt; &lt;!-- ...\u0438 \u0435\u0449\u0451 \u043c\u043d\u043e\u0433\u043e \u043c\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 --&gt; &lt;\/\u0441\u0442\u0430\u0442\u044c\u044f&gt;<\/code><\/pre>\n<\/div><\/div>\n<p>  <\/p>\n<h3 id=\"osnovnoy-xslt-shablon\">\u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 XSLT \u0448\u0430\u0431\u043b\u043e\u043d<\/h3>\n<p>  <\/p>\n<p>\u042d\u0442\u043e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 XSLT \u0448\u0430\u0431\u043b\u043e\u043d \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 XML \u0432 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 xHTML \u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 \u0432\u0435\u0442\u043a\u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432.<\/p>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0441\u0442\u0430\u0442\u044c\u044f.xslt<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"xml\">&lt;xsl:stylesheet   version=&quot;1.0&quot;   xmlns=&quot;http:\/\/www.w3.org\/1999\/xhtml&quot;   xmlns:x=&quot;http:\/\/www.w3.org\/1999\/xhtml&quot;   xmlns:xsl=&quot;http:\/\/www.w3.org\/1999\/XSL\/Transform&quot;&gt;     &lt;xsl:output method=&quot;xml&quot; indent=&quot;yes&quot; encoding=&quot;UTF-8&quot;\/&gt;      &lt;!-- \u043a\u043b\u044e\u0447\u044c \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u043e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 --&gt;     &lt;xsl:key name=&quot;\u043e\u0442\u0432\u0435\u0442\u044b&quot; match=&quot;\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439&quot; use=&quot;@\u043d\u0430&quot;\/&gt;      &lt;!-- \u043a\u043e\u043f\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0448\u0430\u0431\u043b\u043e\u043d --&gt;     &lt;xsl:template match=&quot;node()|@*&quot;&gt;         &lt;xsl:copy&gt;             &lt;xsl:apply-templates select=&quot;node()|@*&quot; \/&gt;         &lt;\/xsl:copy&gt;     &lt;\/xsl:template&gt;      &lt;!-- \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 xHTML \u043a\u043e\u0434 --&gt;     &lt;xsl:template match=&quot;\u0441\u0442\u0430\u0442\u044c\u044f&quot;&gt;         &lt;html&gt;             &lt;head&gt;                 &lt;!-- \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u0438 \u0446\u0438\u0442\u0430\u0442\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u044b  xHTML \u0442\u0435\u0433\u0438 title \u0438 meta --&gt;                 &lt;!-- \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u044d\u0442\u0438 \u0442\u0435\u0433\u0438 \u043d\u0430 \u0438\u0445 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u043c\u0435\u0441\u0442\u0430 --&gt;                 &lt;xsl:copy-of select=&quot;x:title | x:meta[@name = 'description']&quot;\/&gt;                  &lt;style&gt;                     .\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 {                         padding: 1vw;                         min-width: 20em;                         border: 1px solid gray;                         color: black;                         background-color: white;                     }                      .\u0442\u0435\u043a\u0441\u0442 {                         max-width: 46em;                          margin: auto;                         text-align: justify;                     }                 &lt;\/style&gt;             &lt;\/head&gt;             &lt;body&gt;                 &lt;!-- \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b(\u043e\u043d\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u0434\u0442\u0438 \u0434\u043e \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432)--&gt;                 &lt;xsl:apply-templates select=&quot;@*&quot; \/&gt;                 &lt;div class=&quot;\u0442\u0435\u043a\u0441\u0442&quot;&gt;                     &lt;!-- \u0431\u0435\u0440\u0451\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0442\u0435\u0433\u0430 'title' \u043a\u0430\u043a \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0441\u0442\u0430\u0442\u044c\u0438 --&gt;                     &lt;h1&gt;&lt;xsl:value-of select=&quot;x:title&quot;\/&gt;&lt;\/h1&gt;                      &lt;!-- \u0431\u0435\u0440\u0451\u043c 'content' \u0442\u0435\u0433\u0430 'meta' \u043a\u0430\u043a \u0446\u0438\u0442\u0430\u0442\u0443 \u0434\u043b\u044f \u0441\u0442\u0430\u0442\u044c\u0438 --&gt;                     &lt;i&gt;&lt;xsl:value-of select=&quot;x:meta[@name = 'description']\/@content&quot;\/&gt;&lt;\/i&gt;                      &lt;!-- \u0431\u0435\u0440\u0451\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0442\u0435\u0433\u0430 '\u0442\u0435\u043a\u0441\u0442' \u043a\u0430\u043a \u0442\u0435\u043a\u0441\u0442 \u0434\u043b\u044f \u0441\u0442\u0430\u0442\u044c\u0438 --&gt;                     &lt;p&gt;&lt;xsl:apply-templates select=&quot;\u0442\u0435\u043a\u0441\u0442\/node()&quot; \/&gt;&lt;\/p&gt;                 &lt;\/div&gt;                  &lt;!-- \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0448\u0430\u0431\u043b\u043e\u043d \u0434\u043b\u044f \u0431\u043b\u043e\u043a\u0430 \u0441 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u043c\u0438 --&gt;                 &lt;xsl:apply-templates select=&quot;.&quot; mode=&quot;\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438&quot;\/&gt;             &lt;\/body&gt;         &lt;\/html&gt;     &lt;\/xsl:template&gt;      &lt;!-- \u0431\u043b\u043e\u043a \u0441 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u043c\u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0435\u0433\u043e \u0437\u0430\u043c\u0435\u043d\u044b --&gt;     &lt;xsl:template match=&quot;\u0441\u0442\u0430\u0442\u044c\u044f&quot; mode=&quot;\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438&quot;&gt;         &lt;details id=&quot;\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438&quot; open=''&gt;             &lt;summary&gt;\u041a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438&lt;\/summary&gt;              &lt;!-- \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u043c @\u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 --&gt;              &lt;xsl:apply-templates select=&quot;\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439[not(@\u043d\u0430)]&quot;\/&gt;         &lt;\/details&gt;     &lt;\/xsl:template&gt;      &lt;!-- \u043e\u0444\u043e\u0440\u043c\u043b\u044f\u0435\u043c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 --&gt;     &lt;xsl:template match=&quot;\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439&quot;&gt;         &lt;!-- \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043b\u0430\u0441\u0441 &quot;\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439&quot; \u0438 \u0438\u043d\u0434\u0435\u043a\u0441 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f \u043a\u0430\u043a \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 --&gt;         &lt;div class=&quot;\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439&quot; id=&quot;{@\u0438\u043d\u0434\u0435\u043a\u0441}&quot;&gt;              &lt;!-- \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f --&gt;             &lt;xsl:apply-templates select=&quot;@*&quot; \/&gt;              &lt;!-- \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0438\u043d\u0434\u0435\u043a\u0441 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f \u0438 \u0434\u0435\u043b\u0430\u0435\u043c \u0435\u0433\u043e \u0441\u0441\u044b\u043b\u043a\u043e\u0439 --&gt;             &lt;a href=&quot;#{@\u0438\u043d\u0434\u0435\u043a\u0441}&quot;&gt;&lt;xsl:value-of select=&quot;@\u0438\u043d\u0434\u0435\u043a\u0441&quot;\/&gt;&lt;\/a&gt;&lt;xsl:text&gt;: &lt;\/xsl:text&gt;              &lt;div class=&quot;\u0442\u0435\u043a\u0441\u0442&quot;&gt;                 &lt;!-- \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u0442\u0435\u043a\u0441\u0442 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f --&gt;                 &lt;xsl:apply-templates select=&quot;node()&quot; \/&gt;              &lt;\/div&gt;              &lt;!-- \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0448\u0430\u0431\u043b\u043e\u043d \u0434\u043b\u044f \u0431\u043b\u043e\u043a\u0430 \u043e\u0442\u0432\u0435\u0442\u043e\u0432 --&gt;             &lt;xsl:apply-templates select=&quot;.&quot; mode=&quot;\u043e\u0442\u0432\u0435\u0442\u044b&quot;\/&gt;          &lt;\/div&gt;     &lt;\/xsl:template&gt;      &lt;!-- \u0431\u043b\u043e\u043a \u0441 \u043e\u0442\u0432\u0435\u0442\u0430\u043c\u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0435\u0433\u043e \u0437\u0430\u043c\u0435\u043d\u044b --&gt;     &lt;xsl:template match=&quot;\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439&quot; mode=&quot;\u043e\u0442\u0432\u0435\u0442\u044b&quot;&gt;         &lt;!-- \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0435\u0441\u0442\u044c \u043b\u0438 \u043e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 --&gt;         &lt;xsl:if test=&quot;key('\u043e\u0442\u0432\u0435\u0442\u044b', @\u0438\u043d\u0434\u0435\u043a\u0441)&quot;&gt;             &lt;details open=''&gt;                 &lt;summary&gt;\u041e\u0442\u0432\u0435\u0442\u044b&lt;\/summary&gt;                  &lt;!-- \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043e\u0442\u0432\u0435\u0442\u044b --&gt;                 &lt;xsl:apply-templates select=&quot;key('\u043e\u0442\u0432\u0435\u0442\u044b', @\u0438\u043d\u0434\u0435\u043a\u0441)&quot;\/&gt;             &lt;\/details&gt;         &lt;\/xsl:if&gt;     &lt;\/xsl:template&gt; &lt;\/xsl:stylesheet&gt;<\/code><\/pre>\n<\/div><\/div>\n<p>  <\/p>\n<h3 id=\"testiruem\">\u0422\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c<\/h3>\n<p>  <\/p>\n<p>\u0421\u0442\u0430\u0432\u0438\u043c \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 GPRS. \u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0438 \u0443\u0445\u043e\u0434\u0438\u043c \u043f\u0438\u0442\u044c \u0447\u0430\u0439. \u041d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440 \u043f\u043e\u043a\u0430 \u043d\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0441\u044f \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e XML \u0444\u0430\u0439\u043b \u0438 \u043e\u0442\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 XSLT \u0448\u0430\u0431\u043b\u043e\u043d.<\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/ivan386.github.io\/xml-progressive-loading\/test\/lorem-ipsum.xml\" rel=\"nofollow\">lorem-ipsum.xml<\/a><\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u043b\u043d\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430: 10,77 \u043c\u0438\u043d<\/p>\n<p>  <\/p>\n<h2 id=\"obrabatyvaem-i-delim-xml-fayl\">\u041e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c \u0438 \u0434\u0435\u043b\u0438\u043c XML \u0444\u0430\u0439\u043b<\/h2>\n<p>  <\/p>\n<p>\u041d\u0430\u043c \u043d\u0430\u0434\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u044e \u043d\u0430 \u0447\u0430\u0441\u0442\u044c \u0441 \u0442\u0435\u043a\u0441\u0442\u043e\u043c \u0441\u0442\u0430\u0442\u044c\u0438 \u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0447\u0430\u0441\u0442\u0435\u0439 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438.<\/p>\n<p>  <\/p>\n<p>\u0412 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441\u0440\u0430\u0437\u0443 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0430 \u0447\u0430\u0441\u0442\u044c \u0441 \u0442\u0435\u043a\u0441\u0442\u043e\u043c \u0441 \u0441\u0442\u0430\u0442\u044c\u0438 \u0438 \u043f\u043e \u043c\u0435\u0440\u0435\u0440\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0447\u0430\u0441\u0442\u0435\u0439 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u044f\u0432\u043b\u044f\u0442\u0441\u044f \u0438 \u043e\u043d\u0438. <\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0441 XML \u0444\u0430\u0439\u043b\u043e\u043c \u0442\u043e \u043f\u043e\u0447\u0435\u043c\u0443 \u0431\u044b \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441 \u043d\u0438\u043c \u043d\u0435 \u0434\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0442\u0430\u043a\u0436\u0435 XSLT \u0448\u0430\u0431\u043b\u043e\u043d\u0430\u043c.<\/p>\n<p>  <\/p>\n<h3 id=\"zadayom-mezhstranichnye-svyazi-kommentariev\">\u0417\u0430\u0434\u0430\u0451\u043c \u043c\u0435\u0436\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0435 \u0441\u0432\u044f\u0437\u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432<\/h3>\n<p>  <\/p>\n<p>\u0428\u0430\u0431\u043b\u043e\u043d\u0443 \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u043d\u0430 \u043e\u0434\u0438\u043d XML \u0444\u0430\u0439\u043b \u0438 \u043e\u043d \u043a\u043e\u043c\u043c\u0435\u0442\u0430\u0440\u044f\u043c \u0434\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 &#8216;\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b-\u043e\u0442\u0432\u0435\u0442\u043e\u0432&#8217; \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u044f\u044e\u0442\u0441\u044f \u0438\u043d\u0434\u0435\u043a\u0441\u044b XML \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u0443\u0434\u0443\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u044d\u0442\u043e\u0442 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439.<\/p>\n<p>  <\/p>\n<p><u>xslt\\\u0437\u0430\u0434\u0430\u0442\u044c-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b-\u043e\u0442\u0432\u0435\u0442\u043e\u0432.xslt:<\/u><\/p>\n<p>  <\/p>\n<pre><code class=\"xml\">&lt;xsl:stylesheet   version=&quot;1.0&quot;   xmlns:xsl=&quot;http:\/\/www.w3.org\/1999\/XSL\/Transform&quot;&gt;     &lt;xsl:output method=&quot;xml&quot; encoding=&quot;UTF-8&quot;\/&gt;      &lt;xsl:key name=&quot;\u043e\u0442\u0432\u0435\u0442\u044b&quot; match=&quot;\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439&quot; use=&quot;@\u043d\u0430&quot;\/&gt;       &lt;!-- \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 --&gt;     &lt;xsl:param name=&quot;\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432&quot; \/&gt;      &lt;!-- \u043a\u043e\u043f\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0448\u0430\u0431\u043b\u043e\u043d --&gt;     &lt;xsl:template match=&quot;node()|@*&quot;&gt;         &lt;xsl:copy&gt;             &lt;xsl:apply-templates select=&quot;node()|@*&quot; \/&gt;         &lt;\/xsl:copy&gt;     &lt;\/xsl:template&gt;      &lt;!-- \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c \u0432\u0441\u0435 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 --&gt;     &lt;xsl:template match=&quot;\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439&quot;&gt;          &lt;!-- \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f --&gt;         &lt;xsl:param name=&quot;\u0442\u0435\u043a\u0443\u0449\u0430\u044f-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430&quot; select=&quot;floor(@\u0438\u043d\u0434\u0435\u043a\u0441 div $\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432)&quot; \/&gt;          &lt;!-- \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u043e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0445 --&gt;         &lt;xsl:param name=&quot;\u043e\u0442\u0432\u0435\u0442\u044b-\u0434\u0430\u043b\u044c\u0448\u0435&quot; select=&quot;key('\u043e\u0442\u0432\u0435\u0442\u044b', @\u0438\u043d\u0434\u0435\u043a\u0441)[floor(@\u0438\u043d\u0434\u0435\u043a\u0441 div $\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432) &gt; $\u0442\u0435\u043a\u0443\u0449\u0430\u044f-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430]&quot;\/&gt;          &lt;!-- \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 --&gt;         &lt;xsl:copy&gt;             &lt;!-- \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b &quot;\u0438\u043d\u0434\u0435\u043a\u0441&quot; \u0438 &quot;\u043d\u0430&quot; --&gt;             &lt;xsl:apply-templates select=&quot;@*&quot; \/&gt;              &lt;!-- \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u043e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0445 --&gt;             &lt;xsl:if test=&quot;$\u043e\u0442\u0432\u0435\u0442\u044b-\u0434\u0430\u043b\u044c\u0448\u0435&quot;&gt;                 &lt;!-- \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0430\u0442\u0440\u0438\u0431\u0443\u0442 &quot;\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b-\u043e\u0442\u0432\u0435\u0442\u043e\u0432&quot; --&gt;                 &lt;xsl:attribute name=&quot;\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b-\u043e\u0442\u0432\u0435\u0442\u043e\u0432&quot;&gt;                     &lt;!-- \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0432 \u043d\u0435\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u043e\u0442\u0432\u0435\u0442\u043e\u0432 --&gt;                     &lt;xsl:call-template name=&quot;\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b-\u043e\u0442\u0432\u0435\u0442\u043e\u0432&quot;&gt;                          &lt;!-- \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u043c \u043e\u0442\u0432\u0435\u0442\u044b \u0441 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 --&gt;                         &lt;xsl:with-param name=&quot;\u043e\u0442\u0432\u0435\u0442\u044b&quot; select=&quot;$\u043e\u0442\u0432\u0435\u0442\u044b-\u0434\u0430\u043b\u044c\u0448\u0435&quot; \/&gt;                      &lt;\/xsl:call-template&gt;                 &lt;\/xsl:attribute&gt;             &lt;\/xsl:if&gt;              &lt;!-- \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0442\u0435\u043a\u0441\u0442 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f --&gt;             &lt;xsl:apply-templates select=&quot;node()&quot; \/&gt;         &lt;\/xsl:copy&gt;     &lt;\/xsl:template&gt;      &lt;xsl:template name=&quot;\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b-\u043e\u0442\u0432\u0435\u0442\u043e\u0432&quot;&gt;         &lt;!-- \u043e\u0442\u0432\u0435\u0442\u044b \u0441 \u044d\u0442\u043e\u0439 \u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 --&gt;         &lt;xsl:param name=&quot;\u043e\u0442\u0432\u0435\u0442\u044b&quot;\/&gt;          &lt;!-- \u043d\u043e\u043c\u0435\u0440 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b --&gt;         &lt;xsl:param name=&quot;\u043d\u043e\u043c\u0435\u0440-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b&quot; select=&quot;floor($\u043e\u0442\u0432\u0435\u0442\u044b[1]\/@\u0438\u043d\u0434\u0435\u043a\u0441 div $\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432)&quot;\/&gt;          &lt;!-- \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u043e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0445 --&gt;         &lt;xsl:param name=&quot;\u043e\u0442\u0432\u0435\u0442\u044b-\u0434\u0430\u043b\u044c\u0448\u0435&quot; select=&quot;$\u043e\u0442\u0432\u0435\u0442\u044b[floor(@\u0438\u043d\u0434\u0435\u043a\u0441 div $\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432) &gt; $\u043d\u043e\u043c\u0435\u0440-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b]&quot;\/&gt;          &lt;!-- \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u043d\u043e\u043c\u0435\u0440 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b --&gt;         &lt;xsl:value-of select=&quot;$\u043d\u043e\u043c\u0435\u0440-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b&quot;\/&gt;          &lt;!-- \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u043e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0445 --&gt;         &lt;xsl:if test=&quot;$\u043e\u0442\u0432\u0435\u0442\u044b-\u0434\u0430\u043b\u044c\u0448\u0435&quot;&gt;             &lt;!-- \u043e\u0442\u0434\u0435\u043b\u044f\u0435\u043c \u043f\u0440\u043e\u0431\u0435\u043b\u043e\u043c \u043d\u043e\u043c\u0435\u0440 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b --&gt;             &lt;xsl:text&gt; &lt;\/xsl:text&gt;              &lt;!-- \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u044d\u0442\u043e \u0436\u0435 \u0448\u0430\u0431\u043b\u043e\u043d --&gt;             &lt;xsl:call-template name=&quot;\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b-\u043e\u0442\u0432\u0435\u0442\u043e\u0432&quot;&gt;                 &lt;!-- \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u043c \u043e\u0442\u0432\u0435\u0442\u044b \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 --&gt;                 &lt;xsl:with-param name=&quot;\u043e\u0442\u0432\u0435\u0442\u044b&quot; select=&quot;$\u043e\u0442\u0432\u0435\u0442\u044b-\u0434\u0430\u043b\u044c\u0448\u0435&quot; \/&gt;             &lt;\/xsl:call-template&gt;         &lt;\/xsl:if&gt;     &lt;\/xsl:template&gt; &lt;\/xsl:stylesheet&gt;<\/code><\/pre>\n<p>  <\/p>\n<h3 id=\"opredelyaem-indeks-poslednego-xml-fayla-s-kommentariyami\">\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0438\u043d\u0434\u0435\u043a\u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e XML \u0444\u0430\u0439\u043b\u0430 \u0441 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u043c\u0438<\/h3>\n<p>  <\/p>\n<p>\u0428\u0430\u0431\u043b\u043e\u043d \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u0435\u043b\u0438\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u0432\u0441\u0435\u0433\u043e \u043d\u0430 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u043c\u0435\u043d\u044c\u0448\u0435\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0443.<\/p>\n<p>  <\/p>\n<p><u>xslt\\\u0438\u043d\u0434\u0435\u043a\u0441-\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b.xslt:<\/u><\/p>\n<p>  <\/p>\n<pre><code class=\"xml\">&lt;xsl:stylesheet   version=&quot;1.0&quot;   xmlns:xsl=&quot;http:\/\/www.w3.org\/1999\/XSL\/Transform&quot;&gt;      &lt;!-- \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0438\u0441\u043b\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u043c 'method' \u043d\u0430 'text' --&gt;     &lt;xsl:output method=&quot;text&quot; encoding=&quot;UTF-8&quot;\/&gt;      &lt;!-- \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u043d\u0430 \u043e\u0434\u0438\u043d XML \u0444\u0430\u0439\u043b --&gt;     &lt;xsl:param name=&quot;\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e&quot; select=&quot;100&quot; \/&gt;      &lt;xsl:template match=&quot;\/&quot;&gt;         &lt;!-- \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u0438\u043d\u0434\u0435\u043a\u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e XML \u0444\u0430\u0439\u043b\u0430 --&gt;         &lt;xsl:value-of select=&quot;floor(count(\/\/\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439) div $\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e)&quot;\/&gt;     &lt;\/xsl:template&gt;  &lt;\/xsl:stylesheet&gt;<\/code><\/pre>\n<p>  <\/p>\n<h3 id=\"delim-kommetirii-na-diapazony\">\u0414\u0435\u043b\u0438\u043c \u043a\u043e\u043c\u043c\u0435\u0442\u0438\u0440\u0438\u0438 \u043d\u0430 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u044b<\/h3>\n<p>  <\/p>\n<p>\u0428\u0430\u0431\u043b\u043e\u043d \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u0438\u0437 \u0441\u0442\u0430\u0442\u044c\u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0434\u043b\u044f \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0430(&#8216;\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430&#8217;) XML \u0444\u0430\u0439\u043b\u0430.<\/p>\n<p>  <\/p>\n<p><u>xslt\\\u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c-\u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d.xslt:<\/u><\/p>\n<p>  <\/p>\n<pre><code class=\"xml\">&lt;xsl:stylesheet   version=&quot;1.0&quot;   xmlns:x=&quot;http:\/\/www.w3.org\/1999\/xhtml&quot;   xmlns:xsl=&quot;http:\/\/www.w3.org\/1999\/XSL\/Transform&quot;&gt;     &lt;xsl:output method=&quot;xml&quot; encoding=&quot;UTF-8&quot;\/&gt;      &lt;xsl:param name=&quot;\u043f\u0443\u0442\u044c&quot; \/&gt;      &lt;!-- \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 --&gt;     &lt;xsl:param name=&quot;\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432&quot;\/&gt;      &lt;!-- \u043d\u043e\u043c\u0435\u0440 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 --&gt;     &lt;xsl:param name=&quot;\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430&quot;\/&gt;      &lt;xsl:template match=&quot;\/&quot;&gt;         &lt;!-- \u0437\u0430\u0434\u0430\u0451\u043c \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0448\u0430\u0431\u043b\u043e\u043d \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0431\u0435\u0440\u0451\u0442 \u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442 \u0441\u0442\u0430\u0442\u044c\u044e \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e --&gt;         &lt;xsl:processing-instruction name=&quot;xml-stylesheet&quot;&gt;href=&quot;..\/\u0441\u0431\u043e\u0440\u043a\u0430-\u0441\u0442\u0430\u0442\u044c\u0438.xslt&quot; type=&quot;text\/xsl&quot;&lt;\/xsl:processing-instruction&gt;          &lt;!-- \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0441\u0440\u0430\u0437\u0443 \u043a \u0441\u0442\u0430\u0442\u044c\u0435 --&gt;         &lt;xsl:apply-templates select=&quot;\u0441\u0442\u0430\u0442\u044c\u044f&quot; \/&gt;     &lt;\/xsl:template&gt;      &lt;xsl:template match=&quot;\u0441\u0442\u0430\u0442\u044c\u044f&quot;&gt;         &lt;\u0441\u0442\u0430\u0442\u044c\u044f \u043f\u0443\u0442\u044c=&quot;{$\u043f\u0443\u0442\u044c}&quot;&gt;             &lt;!-- \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c title \u0438 meta \u0442\u0435\u0433\u0438 --&gt;             &lt;xsl:copy-of select=&quot;x:title | x:meta[@name = 'description']&quot;\/&gt;              &lt;!-- \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u0434\u043b\u044f \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b --&gt;             &lt;xsl:copy-of select=&quot;\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439[floor(@\u0438\u043d\u0434\u0435\u043a\u0441 div $\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432) = $\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430]&quot; \/&gt;         &lt;\/\u0441\u0442\u0430\u0442\u044c\u044f&gt;     &lt;\/xsl:template&gt; &lt;\/xsl:stylesheet&gt;<\/code><\/pre>\n<p>  <\/p>\n<h3 id=\"ostavlyaem-tolko-tekst-stati\">\u041e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043a\u0441\u0442 \u0441\u0442\u0430\u0442\u044c\u0438<\/h3>\n<p>  <\/p>\n<p>\u0428\u0430\u0431\u043b\u043e\u043d \u0443\u0434\u0430\u043b\u044f\u0435\u0442 \u0432\u0441\u0435 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043a\u0441\u0442 \u0441\u0442\u0430\u0442\u044c\u0438.<\/p>\n<p>  <\/p>\n<p><u>xslt\\\u0443\u0431\u0440\u0430\u0442\u044c-\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438.xslt:<\/u><\/p>\n<p>  <\/p>\n<pre><code class=\"xml\">&lt;xsl:stylesheet   version=&quot;1.0&quot;   xmlns:xsl=&quot;http:\/\/www.w3.org\/1999\/XSL\/Transform&quot;&gt;     &lt;xsl:output method=&quot;xml&quot; encoding=&quot;UTF-8&quot;\/&gt;      &lt;!-- \u043a\u043e\u043f\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0448\u0430\u0431\u043b\u043e\u043d --&gt;     &lt;xsl:template match=&quot;node()|@*&quot;&gt;         &lt;xsl:copy&gt;             &lt;xsl:apply-templates select=&quot;node()|@*&quot; \/&gt;         &lt;\/xsl:copy&gt;     &lt;\/xsl:template&gt;      &lt;xsl:template match=&quot;\/&quot;&gt;         &lt;!-- \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0448\u0430\u0431\u043b\u043e\u043d \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043d\u043e\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 --&gt;         &lt;xsl:processing-instruction name=&quot;xml-stylesheet&quot;&gt;href=&quot;..\/\u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043d\u0430\u044f-\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430.xslt&quot; type=&quot;text\/xsl&quot;&lt;\/xsl:processing-instruction&gt;          &lt;!-- \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0441\u0440\u0430\u0437\u0443 \u043a \u0441\u0442\u0430\u0442\u044c\u0435 --&gt;         &lt;xsl:apply-templates select=&quot;\u0441\u0442\u0430\u0442\u044c\u044f&quot; \/&gt;     &lt;\/xsl:template&gt;      &lt;!-- \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u0432\u0441\u0435 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 --&gt;     &lt;xsl:template match=&quot;\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439&quot;\/&gt; &lt;\/xsl:stylesheet&gt;<\/code><\/pre>\n<p>  <\/p>\n<h3 id=\"skachivaem-msxslexe\">\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c msxsl.exe<\/h3>\n<p>  <\/p>\n<p>\u0414\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u0432 \u043a\u043e\u043c\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u0430 <a href=\"https:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=21714\" rel=\"nofollow\">msxsl.exe<\/a>. \u0415\u0439 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0437\u0430\u0434\u0430\u0442\u044c XML \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u0438 XSLT \u0448\u0430\u0431\u043b\u043e\u043d \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432 stdout \u0438\u043b\u0438 \u0432 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b.<\/p>\n<p>  <\/p>\n<h3 id=\"cmd-fayl\">CMD \u0444\u0430\u0439\u043b<\/h3>\n<p>  <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u044d\u0442\u0438 \u0432\u0441\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u043a XML \u0444\u0430\u0439\u043b\u0443 \u0441\u0442\u0430\u0442\u044c\u0438.<\/p>\n<p>  <\/p>\n<p><code>progressive.cmd lorem-ipsum.xml 100<\/code><\/p>\n<p>  <\/p>\n<p><u>progressive.cmd:<\/u><\/p>\n<p>  <\/p>\n<pre><code class=\"dos\">chcp 65001  rem \u0421\u043e\u0437\u0434\u0430\u0451\u043c \u0434\u0438\u0440\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u0441 \u0438\u043c\u0435\u043d\u0435\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e XML \u0444\u0430\u0439\u043b\u0430 \u0431\u0435\u0437 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f md &quot;%~dpn1&quot;  rem \u0417\u0430\u0434\u0430\u0451\u043c \u043c\u0435\u0436\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0435 \u0441\u0432\u044f\u0437\u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 msxsl.exe %1 &quot;%~dp0xslt\\\u0437\u0430\u0434\u0430\u0442\u044c-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b-\u043e\u0442\u0432\u0435\u0442\u043e\u0432.xslt&quot; -xw -o &quot;%~dpn1\\index.xml&quot; \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432=%2  rem \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0438\u043d\u0434\u0435\u043a\u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e XML \u0444\u0430\u0439\u043b\u0430 \u0441 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u043c\u0438 for \/f &quot;delims=&quot; %%a in ('msxsl.exe %1 ^&quot;%~dp0xslt\\\u0438\u043d\u0434\u0435\u043a\u0441-\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b.xslt^&quot; \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432^=%2') do set \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f=%%a  rem \u0414\u0435\u043b\u0438\u043c \u043a\u043e\u043c\u043c\u0435\u0442\u0438\u0440\u0438\u0438 \u043d\u0430 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u044b for \/l %%i in (0,1,%\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f%) do msxsl.exe -o &quot;%~dpn1\\%%i.xml&quot; &quot;%~dpn1\\index.xml&quot; &quot;%~dp0xslt\\\u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c-\u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d.xslt&quot; \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432=%2 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430=%%i \u043f\u0443\u0442\u044c=&quot;%~n1&quot;  rem \u041e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043a\u0441\u0442 \u0441\u0442\u0430\u0442\u044c\u0438 msxsl.exe &quot;%~dpn1\\index.xml&quot; &quot;%~dp0xslt\\\u0443\u0431\u0440\u0430\u0442\u044c-\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438.xslt&quot; -o &quot;%~dpn1\\index.xml&quot;<\/code><\/pre>\n<p>  <\/p>\n<h2 id=\"sobiraem-v-brauzere\">\u0421\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435<\/h2>\n<p>  <\/p>\n<h3 id=\"progressivnaya-zagruzka\">\u041f\u0440\u043e\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043d\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430<\/h3>\n<p>  <\/p>\n<p>\u042d\u0442\u043e\u0442 \u0448\u0430\u0431\u043b\u043e\u043d \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u0442\u0435\u043a\u0441\u0442 \u0441\u0442\u0430\u0442\u044c\u0438 \u0430 \u0432 \u0444\u0440\u0435\u0439\u043c\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u043c\u0438. \u041a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u043b\u043e\u043a \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043e \u0444\u0440\u0435\u0439\u043c\u0435 \u043e\u043d \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443. \u0412\u0442\u043e\u0440\u043e\u0439 \u0448\u0430\u0431\u043b\u043e\u043d \u0432 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0434\u043e\u0436\u0430\u0435\u0442 \u043f\u043e\u0434\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0438 \u043e\u043d\u0438 \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0441\u0440\u0430\u0437\u0443 \u043a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u0443\u044e \u043f\u043e\u0440\u0446\u0438\u044e.<\/p>\n<p>  <\/p>\n<p><u>\u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043d\u0430\u044f-\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430.xslt<\/u><\/p>\n<p>  <\/p>\n<pre><code class=\"xml\">&lt;xsl:stylesheet   version=&quot;1.0&quot;   xmlns=&quot;http:\/\/www.w3.org\/1999\/xhtml&quot;   xmlns:x=&quot;http:\/\/www.w3.org\/1999\/xhtml&quot;   xmlns:xsl=&quot;http:\/\/www.w3.org\/1999\/XSL\/Transform&quot;&gt;     &lt;xsl:output method=&quot;xml&quot; indent=&quot;yes&quot; encoding=&quot;UTF-8&quot;\/&gt;      &lt;!-- \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0448\u0430\u0431\u043b\u043e\u043d &quot;\u0441\u0442\u0430\u0442\u044c\u044f.xslt&quot; --&gt;     &lt;xsl:include href=&quot;%D1%81%D1%82%D0%B0%D1%82%D1%8C%D1%8F.xslt&quot;\/&gt;      &lt;xsl:template match=&quot;\u0441\u0442\u0430\u0442\u044c\u044f&quot; mode=&quot;\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438&quot;&gt;          &lt;!-- \u0432 \u044d\u0442\u043e\u043c \u0444\u0440\u0435\u0439\u043c\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c\u0441\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u043c\u0438 --&gt;         &lt;iframe style=&quot;display:none;&quot; id=&quot;\u0444\u0440\u0435\u0439\u043c-\u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a&quot; src=&quot;0.xml&quot;\/&gt;          &lt;script&gt;&lt;![CDATA[             setTimeout(function(){                 var \u0444\u0440\u0435\u0439\u043c = document.querySelector(&quot;#\u0444\u0440\u0435\u0439\u043c-\u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a&quot;);                 if (\u0444\u0440\u0435\u0439\u043c &amp;&amp; \u0444\u0440\u0435\u0439\u043c.contentDocument)                 {                     var \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 = \u0444\u0440\u0435\u0439\u043c.contentDocument.getElementById('\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438');                      \/\/ \u0436\u0434\u0451\u043c \u043f\u043e\u043a\u0430 \u0432\u043e \u0444\u0440\u0435\u0439\u043c\u0435 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0431\u043b\u043e\u043a \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432                     if (\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438)                     {                         \/\/ \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u044d\u0442\u043e\u0442 \u0431\u043b\u043e\u043a \u043d\u0430 \u044d\u0442\u0443 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443                         document.body.appendChild(\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438);                         return;                     }                 }                  \/\/ \u0441\u0442\u0430\u0432\u0438\u043c \u043d\u043e\u0432\u044b\u0439 Timeout \u043f\u043e\u043a\u0430 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u0441\u044f \u0432\u0441\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f                 setTimeout(arguments.callee, 100);             }, 100)]]&gt;         &lt;\/script&gt;         &lt;noscript&gt;             &lt;!-- \u0415\u0441\u043b\u0438 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0437\u0430\u043f\u0440\u0435\u0449\u0451\u043d JavaScript \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043c\u043e\u0436\u0435\u0442 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0430 \u0441\u0442\u0430\u0442\u044c\u044e \u0441 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u043c\u0438 --&gt;             &lt;a href=&quot;0.xml&quot;&gt;\u041a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438&lt;\/a&gt;         &lt;\/noscript&gt;     &lt;\/xsl:template&gt; &lt;\/xsl:stylesheet&gt;<\/code><\/pre>\n<p>  <\/p>\n<h3 id=\"sborka-stati-s-kommentariyami\">\u0421\u0431\u043e\u0440\u043a\u0430 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u043c\u0438<\/h3>\n<p>  <\/p>\n<p>\u042d\u0442\u043e\u0442 \u0448\u0430\u0431\u043b\u043e\u043d \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0442\u0435\u043a\u0441\u0442 \u0441\u0442\u0430\u0442\u044c\u0438 \u0438 \u043f\u043e\u0434\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0438\u0437 \u0432\u0441\u0435\u0445 XML \u0444\u0430\u0439\u043b\u043e\u0432.<\/p>\n<p>  <\/p>\n<p><u>\u0441\u0431\u043e\u0440\u043a\u0430-\u0441\u0442\u0430\u0442\u044c\u0438.xslt<\/u><\/p>\n<p>  <\/p>\n<pre><code class=\"xml\">&lt;xsl:stylesheet   version=&quot;1.0&quot;   xmlns=&quot;http:\/\/www.w3.org\/1999\/xhtml&quot;   xmlns:x=&quot;http:\/\/www.w3.org\/1999\/xhtml&quot;   xmlns:xsl=&quot;http:\/\/www.w3.org\/1999\/XSL\/Transform&quot;&gt;     &lt;xsl:output method=&quot;html&quot; indent=&quot;yes&quot; encoding=&quot;UTF-8&quot;\/&gt;      &lt;!-- \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0448\u0430\u0431\u043b\u043e\u043d &quot;\u0441\u0442\u0430\u0442\u044c\u044f.xslt&quot; --&gt;     &lt;xsl:include href=&quot;%D1%81%D1%82%D0%B0%D1%82%D1%8C%D1%8F.xslt&quot;\/&gt;      &lt;!-- \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043a\u043b\u044e\u0447\u044c \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u043e\u043c \u0432\u044b\u0431\u0435\u0440\u0435\u0442 \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0435 \u043e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 --&gt;     &lt;xsl:key name=&quot;\u043e\u0442\u0432\u0435\u0442\u044b&quot; match=&quot;\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439&quot; use=&quot;@\u043d\u0430&quot;\/&gt;      &lt;xsl:param name=&quot;\u043f\u0443\u0442\u044c&quot; select=&quot;\u0441\u0442\u0430\u0442\u044c\u044f\/@\u043f\u0443\u0442\u044c&quot;\/&gt;      &lt;xsl:template match=&quot;\/&quot;&gt;         &lt;!-- \u0434\u0430\u0451\u043c \u043e\u0442\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0448\u0430\u0431\u043b\u043e\u043d\u0443 &quot;\u0441\u0442\u0430\u0442\u044c\u044f.xslt&quot; --&gt;         &lt;xsl:apply-templates select=&quot;document(concat($\u043f\u0443\u0442\u044c, '\/index.xml'))\/\u0441\u0442\u0430\u0442\u044c\u044f&quot;\/&gt;     &lt;\/xsl:template&gt;      &lt;!-- \u0438\u0437 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0451\u043d\u043d\u043e\u0433\u043e \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u043c\u044b \u0432\u0435\u0440\u043d\u0451\u043c\u0441\u044f \u0441\u044e\u0434\u0430 --&gt;     &lt;xsl:template match=&quot;\u0441\u0442\u0430\u0442\u044c\u044f&quot; mode=&quot;\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438&quot;&gt;         &lt;details id=&quot;\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438&quot; open=''&gt;             &lt;!-- \u043d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0443\u0436\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u0432\u0437\u044f\u0442\u044c \u0431\u043b\u043e\u043a \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u0438\u0437 \u0444\u0440\u0435\u0439\u043c\u0430 --&gt;             &lt;summary&gt;\u041a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438&lt;\/summary&gt;              &lt;!-- \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 --&gt;             &lt;xsl:call-template name=&quot;\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443&quot;\/&gt;         &lt;\/details&gt;     &lt;\/xsl:template&gt;      &lt;xsl:template name=&quot;\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443&quot;&gt;          &lt;!-- \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0441 XML \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c 0 --&gt;         &lt;xsl:param name=&quot;\u043d\u043e\u043c\u0435\u0440&quot; select=&quot;0&quot;\/&gt;          &lt;!-- \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c XML --&gt;         &lt;xsl:param name=&quot;\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430&quot; select=&quot;document(concat($\u043f\u0443\u0442\u044c, '\/', $\u043d\u043e\u043c\u0435\u0440, '.xml'))&quot;\/&gt;          &lt;!-- \u0435\u0441\u043b\u0438 XML \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d --&gt;         &lt;xsl:if test=&quot;$\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430&quot;&gt;              &lt;!-- \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u043a \u0441\u0442\u0430\u0442\u044c\u0435 --&gt;             &lt;xsl:apply-templates select=&quot;$\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\/\/\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439[not(@\u043d\u0430)]&quot; \/&gt;              &lt;!-- \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0448\u0430\u0431\u043b\u043e\u043d \u0434\u043b\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e XML \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 --&gt;             &lt;xsl:call-template name=&quot;\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443&quot;&gt;                 &lt;!-- \u0437\u0430\u0434\u0430\u0451\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043d\u043e\u043c\u0435\u0440 XML --&gt;                 &lt;xsl:with-param name=&quot;\u043d\u043e\u043c\u0435\u0440&quot; select=&quot;$\u043d\u043e\u043c\u0435\u0440 + 1&quot; \/&gt;             &lt;\/xsl:call-template&gt;         &lt;\/xsl:if&gt;     &lt;\/xsl:template&gt;      &lt;!-- \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u043d\u0430 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0437\u0432\u0430\u043d \u044d\u0442\u043e\u0442 \u0448\u0430\u0431\u043b\u043e\u043d --&gt;     &lt;xsl:template match=&quot;\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439&quot; mode=&quot;\u043e\u0442\u0432\u0435\u0442\u044b&quot;&gt;         &lt;!-- \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0435\u0441\u0442\u044c \u043b\u0438 \u043e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u0432 \u044d\u0442\u043e\u043c XML \u0438\u043b\u0438 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0445 --&gt;         &lt;xsl:if test=&quot;key('\u043e\u0442\u0432\u0435\u0442\u044b', @\u0438\u043d\u0434\u0435\u043a\u0441) or @\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b-\u043e\u0442\u0432\u0435\u0442\u043e\u0432&quot;&gt;             &lt;details open=''&gt;                 &lt;summary&gt;\u041e\u0442\u0432\u0435\u0442\u044b&lt;\/summary&gt;                  &lt;!-- \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043e\u0442\u0432\u0435\u0442\u044b \u0438\u0437 \u044d\u0442\u043e\u0433\u043e XML --&gt;                 &lt;xsl:apply-templates select=&quot;key('\u043e\u0442\u0432\u0435\u0442\u044b', @\u0438\u043d\u0434\u0435\u043a\u0441)&quot;\/&gt;                  &lt;!-- \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u0438\u0437 \u0434\u0440\u0443\u0433\u0438\u0445 XML --&gt;                 &lt;xsl:call-template name=&quot;\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c-\u043e\u0442\u0432\u0435\u0442\u044b&quot;\/&gt;             &lt;\/details&gt;         &lt;\/xsl:if&gt;     &lt;\/xsl:template&gt;      &lt;xsl:template name=&quot;\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c-\u043e\u0442\u0432\u0435\u0442\u044b&quot;&gt;         &lt;!-- \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u043d\u043e\u043c\u0435\u0440\u043e\u0432 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 --&gt;         &lt;xsl:param name=&quot;\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b&quot; select=&quot;concat(@\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b-\u043e\u0442\u0432\u0435\u0442\u043e\u0432, ' ')&quot;\/&gt;          &lt;!-- \u0431\u0435\u0440\u0451\u043c \u043f\u0435\u0440\u0432\u044b\u0439 \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 --&gt;         &lt;xsl:param name=&quot;\u043d\u043e\u043c\u0435\u0440&quot; select=&quot;substring-before($\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b, ' ')&quot;\/&gt;          &lt;!-- \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0447\u0442\u043e \u043e\u043d \u043d\u0435 \u043f\u0443\u0441\u0442\u043e\u0439 --&gt;         &lt;xsl:if test=&quot;$\u043d\u043e\u043c\u0435\u0440&quot;&gt;              &lt;!-- \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c XML --&gt;             &lt;xsl:apply-templates select=&quot;document(concat($\u043f\u0443\u0442\u044c, '\/', $\u043d\u043e\u043c\u0435\u0440, '.xml'))&quot; mode=&quot;\u043e\u0442\u0432\u0435\u0442\u044b&quot;&gt;                 &lt;!-- \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u043c \u0438\u043d\u0434\u0435\u043a\u0441 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f \u043e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0434\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c --&gt;                 &lt;xsl:with-param name=&quot;\u043d\u0430&quot; select=&quot;@\u0438\u043d\u0434\u0435\u043a\u0441&quot;\/&gt;             &lt;\/xsl:apply-templates&gt;              &lt;!-- \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0441\u043d\u043e\u0432\u0430 \u044d\u0442\u043e\u0442 \u0436\u0435 \u0448\u0430\u0431\u043b\u043e\u043d --&gt;             &lt;xsl:call-template name=&quot;\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c-\u043e\u0442\u0432\u0435\u0442\u044b&quot;&gt;                  &lt;!-- \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446 --&gt;                 &lt;xsl:with-param name=&quot;\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b&quot; select=&quot;substring-after($\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b, ' ')&quot;\/&gt;             &lt;\/xsl:call-template&gt;         &lt;\/xsl:if&gt;     &lt;\/xsl:template&gt;      &lt;xsl:template match=&quot;\/&quot; mode=&quot;\u043e\u0442\u0432\u0435\u0442\u044b&quot;&gt;         &lt;!-- \u044d\u0442\u043e \u0438\u043d\u0434\u0435\u043a\u0441 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f \u043e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0434\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c --&gt;         &lt;xsl:param name=&quot;\u043d\u0430&quot;\/&gt;          &lt;!-- \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430 \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u0435 \u043e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 --&gt;         &lt;xsl:apply-templates select=&quot;key('\u043e\u0442\u0432\u0435\u0442\u044b', $\u043d\u0430)&quot;\/&gt;     &lt;\/xsl:template&gt;  &lt;\/xsl:stylesheet&gt;<\/code><\/pre>\n<p>  <\/p>\n<h3 id=\"testiruem-1\">\u0422\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c<\/h3>\n<p>  <\/p>\n<p>\u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 GPRS \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b.<\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/ivan386.github.io\/xml-progressive-loading\/test\/lorem-ipsum\/index.xml\" rel=\"nofollow\">lorem-ipsum\/index.xml<\/a><\/p>\n<p>  <\/p>\n<p>\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0442\u0435\u043a\u0441\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u0438: 2,28\u0441<br \/>  \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u0435\u0440\u0432\u044b\u0445 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432: 14,41\u0441<br \/>  \u041f\u043e\u043b\u043d\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430: 11,33 \u043c\u0438\u043d<\/p>\n<p>  <\/p>\n<h2 id=\"ssylki\">\u0421\u0441\u044b\u043b\u043a\u0438<\/h2>\n<p>  <\/p>\n<p><a href=\"https:\/\/github.com\/ivan386\/xml-progressive-loading\" rel=\"nofollow\">\u0428\u0430\u0431\u043b\u043e\u043d\u044b \u043d\u0430 GitHub<\/a><\/p>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/513858\/\"> https:\/\/habr.com\/ru\/post\/513858\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/513858\/\">\n<blockquote><p>\u041f\u0440\u043e\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043d\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 XML \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u2014 \u044d\u0442\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0441 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u043f\u043e\u043a\u0430\u0437\u043e\u043c \u0443\u0436\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439 XML \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u043f\u043e\u043a\u0430 XSLT \u0448\u0430\u0431\u043b\u043e\u043d \u0432\u0441\u0451 \u0435\u0449\u0451 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0447\u0430\u0441\u0442\u0438.<\/p><\/blockquote>\n<p>\u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u0431\u043e\u043b\u044c\u0448\u043e\u0439 XML. \u042d\u0442\u043e \u0441\u0442\u0430\u0442\u044c\u044f \u0441 \u043e\u0447\u0435\u043d\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432. \u041d\u0430 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e\u043c \u0438 \u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u043c \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u0435\u0451 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u0438 \u043d\u0435 \u0434\u043e\u0436\u0434\u0430\u0442\u044c\u0441\u044f. \u0412\u043e \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0441\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0431\u0440\u044b\u0432 \u0441\u0432\u044f\u0437\u0438 \u0438 XML \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043d\u0435 \u0434\u043e\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u043c. \u041a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u044b \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0438 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0431\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043e\u0433\u0440\u0443\u0437\u0438\u043b \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u044e\u0449\u0443\u044e \u0447\u0430\u0441\u0442\u044c. \u041d\u043e \u043d\u0435\u0442. \u0411\u0440\u0430\u0443\u0437\u0435\u0440 \u0433\u0440\u0443\u0437\u0438\u0442 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0437\u0430\u043d\u043e\u0432\u043e \u0438 \u0441\u043d\u043e\u0432\u0430 \u044d\u0442\u043e \u043d\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044f \u0438 \u043c\u044b \u0432\u0438\u0434\u0438\u043c \u043e\u0448\u0438\u0431\u043a\u0443 \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b.<\/p>\n<p>  <\/p>\n<p>\u041d\u043e \u0432\u044b\u0445\u043e\u0434 \u0438\u0437 \u044d\u0442\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u0435\u0441\u0442\u044c. \u041c\u044b \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u043c XML \u043d\u0430 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0435 \u043a\u0443\u0441\u043e\u0447\u043a\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0443\u0441\u043f\u0435\u0432\u0430\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0441\u044f \u043d\u0430 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e\u043c \u043a\u0430\u043d\u0430\u043b\u0435 \u0438 \u043f\u043e\u043f\u0430\u0434\u0443\u0442 \u0432 \u043a\u0435\u0448. \u0411\u043e\u043d\u0443\u0441\u043e\u043c \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0437\u0430\u0449\u0438\u0442\u0443 \u043e\u0442 \u043d\u0435\u0434\u043e\u0433\u0440\u0443\u0437\u0430 \u0438 \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043d\u0443\u044e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-307994","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/307994","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=307994"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/307994\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=307994"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=307994"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=307994"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}