<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ксдыщь!</title>
	<atom:link href="http://flack.ru/feed/" rel="self" type="application/rss+xml" />
	<link>http://flack.ru</link>
	<description>Дилетантские заметки про XSLT/XPath, HTML/CSS и всякую фигню</description>
	<lastBuildDate>Sun, 13 Feb 2011 21:53:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>XML шиворот-навыворот</title>
		<link>http://flack.ru/2011/02/13/xml-reverse/</link>
		<comments>http://flack.ru/2011/02/13/xml-reverse/#comments</comments>
		<pubDate>Sun, 13 Feb 2011 13:20:04 +0000</pubDate>
		<dc:creator>Flack</dc:creator>
				<category><![CDATA[XSLT/XPath]]></category>
		<category><![CDATA[Рецептарий]]></category>
		<category><![CDATA[document order]]></category>
		<category><![CDATA[string reverser]]></category>

		<guid isPermaLink="false">http://flack.ru/?p=302</guid>
		<description><![CDATA[Придумал и заодно решил тупую, но забавную задачку. Максимально развернуть входящий XML-документ. То есть из сорца вроде: &#60;alphabet-listing&#62; &#60;letter name000="A letter"&#62; &#60;mark1_&#62;Alfa Romeo&#60;/mark1_&#62; &#60;mark222&#62;Aston Martin&#60;/mark222&#62; &#60;mark33333333&#62;Audi&#60;/mark33333333&#62; &#60;/letter&#62; &#60;!-- Тестовый коммент --&#62; &#60;test:letter name="B letter" xmlns:test="http://localhost"&#62; &#60;mark&#62;Bentley&#60;/mark&#62; &#60;mark&#62;BMW&#60;/mark&#62; &#60;mark&#62;Buick&#60;/mark&#62; &#60;/test:letter&#62; &#60;letter test2:name="C letter" xmlns:test2="http://localhost2"&#62; &#60;mark&#62;Cadillac&#60;/mark&#62; &#60;mark&#62;Chery&#60;/mark&#62; &#60;mark&#62;Chevrolet&#60;/mark&#62; &#60;mark&#62;Chrysler&#60;/mark&#62; &#60;mark&#62;Citroen&#60;/mark&#62; &#60;/letter&#62; &#60;letter name="D letter"&#62; &#60;mark&#62;Daewoo&#60;/mark&#62; &#60;mark&#62;Daihatsu&#60;/mark&#62; &#60;mark&#62;Dodge&#60;/mark&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>Придумал и заодно решил тупую, но забавную задачку. Максимально развернуть входящий XML-документ. То есть из сорца вроде: </p>
<pre><code class="xml">&lt;alphabet-listing&gt;
    &lt;letter name000="A letter"&gt;
        &lt;mark1_&gt;Alfa Romeo&lt;/mark1_&gt;
        &lt;mark222&gt;Aston Martin&lt;/mark222&gt;
        &lt;mark33333333&gt;Audi&lt;/mark33333333&gt;
    &lt;/letter&gt;
    &lt;!-- Тестовый коммент --&gt;
    &lt;test:letter name="B letter" xmlns:test="http://localhost"&gt;
        &lt;mark&gt;Bentley&lt;/mark&gt;
        &lt;mark&gt;BMW&lt;/mark&gt;
        &lt;mark&gt;Buick&lt;/mark&gt;
    &lt;/test:letter&gt;
    &lt;letter test2:name="C letter" xmlns:test2="http://localhost2"&gt;
        &lt;mark&gt;Cadillac&lt;/mark&gt;
        &lt;mark&gt;Chery&lt;/mark&gt;
        &lt;mark&gt;Chevrolet&lt;/mark&gt;
        &lt;mark&gt;Chrysler&lt;/mark&gt;
        &lt;mark&gt;Citroen&lt;/mark&gt;
    &lt;/letter&gt;
    &lt;letter name="D letter"&gt;
        &lt;mark&gt;Daewoo&lt;/mark&gt;
        &lt;mark&gt;Daihatsu&lt;/mark&gt;
        &lt;mark&gt;Dodge&lt;/mark&gt;
    &lt;/letter&gt;
&lt;/alphabet-listing&gt;</code></pre>
<p>Получить что-нибудь такое:</p>
<pre><code>&lt;gnitsil-tebahpla&gt;
    &lt;rettel eman="rettel D"&gt;
        &lt;kram&gt;egdoD&lt;/kram&gt;
        &lt;kram&gt;ustahiaD&lt;/kram&gt;
        &lt;kram&gt;ooweaD&lt;/kram&gt;
    &lt;/rettel&gt;
    &lt;rettel auto-ns1:eman="rettel C" xmlns:auto-ns1="http://localhost2"&gt;
        &lt;kram&gt;neortiC&lt;/kram&gt;
        &lt;kram&gt;relsyrhC&lt;/kram&gt;
        &lt;kram&gt;telorvehC&lt;/kram&gt;
        &lt;kram&gt;yrehC&lt;/kram&gt;
        &lt;kram&gt;callidaC&lt;/kram&gt;
    &lt;/rettel&gt;
    &lt;rettel eman="rettel B" xmlns="http://localhost"&gt;
        &lt;kram xmlns=""&gt;kciuB&lt;/kram&gt;
        &lt;kram xmlns=""&gt;WMB&lt;/kram&gt;
        &lt;kram xmlns=""&gt;yeltneB&lt;/kram&gt;
    &lt;/rettel&gt;
    &lt;!-- Тестовый коммент --&gt;
    &lt;rettel eman="rettel A"&gt;
        &lt;kram&gt;iduA&lt;/kram&gt;
        &lt;kram&gt;nitraM notsA&lt;/kram&gt;
        &lt;_1kram&gt;oemoR aflA&lt;/_1kram&gt;
    &lt;/rettel&gt;
&lt;/gnitsil-tebahpla&gt;</code></pre>
<p>Совершенно несмешная первоапрельская шутка, например. Заодно демонстрирует некоторые интересные штуки типа переворачивалки строки/порядка следования и создания NCName.</p>
<p>Комментарии о происходящем прямо по XSLT-коду. <a href="http://flack.ru/2011/02/13/xml-reverse/#more-302" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://flack.ru/2011/02/13/xml-reverse/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Передача булеан в ключ</title>
		<link>http://flack.ru/2011/02/05/interesting-key-use/</link>
		<comments>http://flack.ru/2011/02/05/interesting-key-use/#comments</comments>
		<pubDate>Fri, 04 Feb 2011 23:18:41 +0000</pubDate>
		<dc:creator>Flack</dc:creator>
				<category><![CDATA[XSLT/XPath]]></category>
		<category><![CDATA[Рецептарий]]></category>
		<category><![CDATA[boolean]]></category>
		<category><![CDATA[key]]></category>

		<guid isPermaLink="false">http://flack.ru/?p=276</guid>
		<description><![CDATA[Недавно увидел интересный вариант использования ключей. Вещь во многом бесполезная, но уж больно красивая как по мне. &#60;items&#62; &#60;item&#62;Январь&#60;/item&#62; &#60;item&#62;Февраль&#60;/item&#62; &#60;item&#62;Март&#60;/item&#62; &#60;item&#62;Апрель&#60;/item&#62; &#60;item&#62;Май&#60;/item&#62; &#60;item&#62;Июнь&#60;/item&#62; &#60;/items&#62; &#60;xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&#62; &#60;xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/&#62; &#60;xsl:key name="testMatch" match="item" use="contains(., 'р')"/&#62; &#60;xsl:template match="/"&#62; &#60;result&#62; &#60;matched&#62; &#60;xsl:copy-of select="key('testMatch', 'true')"/&#62; &#60;/matched&#62; &#60;not-matched&#62; &#60;xsl:copy-of select="key('testMatch', 'false')"/&#62; &#60;/not-matched&#62; &#60;/result&#62; &#60;/xsl:template&#62; &#60;/xsl:stylesheet&#62; &#60;result&#62; &#60;matched&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>Недавно увидел интересный вариант использования ключей. Вещь во многом бесполезная, но уж больно красивая как по мне.</p>
<pre><code>&lt;items&gt;
    &lt;item&gt;Январь&lt;/item&gt;
    &lt;item&gt;Февраль&lt;/item&gt;
    &lt;item&gt;Март&lt;/item&gt;
    &lt;item&gt;Апрель&lt;/item&gt;
    &lt;item&gt;Май&lt;/item&gt;
    &lt;item&gt;Июнь&lt;/item&gt;
&lt;/items&gt;</code></pre>
<pre><code>&lt;xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;
    &lt;xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/&gt;

    &lt;xsl:key name="testMatch" match="item" use="contains(., 'р')"/&gt;

    &lt;xsl:template match="/"&gt;
        &lt;result&gt;
            &lt;matched&gt;
                &lt;xsl:copy-of select="key('testMatch', 'true')"/&gt;
            &lt;/matched&gt;
            &lt;not-matched&gt;
                &lt;xsl:copy-of select="key('testMatch', 'false')"/&gt;
            &lt;/not-matched&gt;
        &lt;/result&gt;
    &lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;</code></pre>
<pre><code>&lt;result&gt;
    &lt;matched&gt;
        &lt;item&gt;Январь&lt;/item&gt;
        &lt;item&gt;Февраль&lt;/item&gt;
        &lt;item&gt;Март&lt;/item&gt;
        &lt;item&gt;Апрель&lt;/item&gt;
    &lt;/matched&gt;
    &lt;not-matched&gt;
        &lt;item&gt;Май&lt;/item&gt;
        &lt;item&gt;Июнь&lt;/item&gt;
    &lt;/not-matched&gt;
&lt;/result&gt;</code></pre>
<p>Почему не передавать просто <code>true()</code>? Для меня это чисто стилистическая заморочка.</p>
<blockquote><p>The <code>use</code> attribute is an expression specifying the values of the key; the expression is evaluated once for each node that matches the pattern. If the result is a node-set, then for each node in the node-set, the node that matches the pattern has a key of the specified name whose value is the string-value of the node in the node-set; <strong>otherwise, the result is converted to a string</strong>, and the node that matches the pattern has a key of the specified name with value equal to that string.<br />
&#8230;<br />
When the second argument to the <code>key</code> function is of type node-set, then the result is the union of the result of applying the key function to the string value of each of the nodes in the argument node-set. <strong>When the second argument to key is of any other type, the argument is converted to a string as if by a call to the <code>string</code> function</strong>&#8230;<br />
<a href="http://www.w3.org/TR/xslt#key">http://www.w3.org/TR/xslt#key</a></p></blockquote>
<p>Такое вот в итоге явное приведение. Но <code>key('testMatch', true())</code> тоже конечно работает. По крайней мере, в тех имплементациях, что есть под рукой.</p>
]]></content:encoded>
			<wfw:commentRss>http://flack.ru/2011/02/05/interesting-key-use/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Проверка на наличие текстового содержимого в элементе</title>
		<link>http://flack.ru/2010/12/23/check-no-text-in-element/</link>
		<comments>http://flack.ru/2010/12/23/check-no-text-in-element/#comments</comments>
		<pubDate>Thu, 23 Dec 2010 01:45:38 +0000</pubDate>
		<dc:creator>Flack</dc:creator>
				<category><![CDATA[XSLT/XPath]]></category>
		<category><![CDATA[Рецептарий]]></category>
		<category><![CDATA[xslt]]></category>

		<guid isPermaLink="false">http://flack.ru/?p=256</guid>
		<description><![CDATA[С детства известно: если сожрал конфеты, то заворачивать камешки в фантик &#8212; последнее дело. В данном случае разочаровывающий фантик выглядит примерно так: &#60;checks&#62; &#60;child&#62;&#60;/child&#62; &#60;child2&#62; &#60;grand&#62; &#60;/grand&#62; &#60;/child2&#62; &#60;child3&#62; &#60;grand&#62; &#60;grand attribute-we-dont-care-about="some value"&#62; &#60;grand&#62; &#60;/grand&#62; &#60;/grand&#62; &#60;/grand&#62; &#60;/child3&#62; &#60;child4&#62; &#60;grand&#62; &#60;grand attribute-we-dont-care-about="some value"&#62; &#60;grand&#62; 20 &#60;/grand&#62; &#60;/grand&#62; &#60;/grand&#62; &#60;/child4&#62; &#60;/checks&#62; Нас интересует только child 4, [...]]]></description>
			<content:encoded><![CDATA[<p>С детства известно: если сожрал конфеты, то заворачивать камешки в фантик &mdash; последнее дело.</p>
<p>В данном случае разочаровывающий фантик выглядит примерно так:</p>
<pre><code>&lt;checks&gt;
    &lt;child&gt;&lt;/child&gt;
    &lt;child2&gt;
        &lt;grand&gt;    &lt;/grand&gt;
    &lt;/child2&gt;
    &lt;child3&gt;
        &lt;grand&gt;
            &lt;grand attribute-we-dont-care-about="some value"&gt;
                &lt;grand&gt;

                &lt;/grand&gt;
            &lt;/grand&gt;
        &lt;/grand&gt;
    &lt;/child3&gt;
    &lt;child4&gt;
        &lt;grand&gt;
            &lt;grand attribute-we-dont-care-about="some value"&gt;
                &lt;grand&gt;
                    20
                &lt;/grand&gt;
            &lt;/grand&gt;
        &lt;/grand&gt;
    &lt;/child4&gt;
&lt;/checks&gt;</code></pre>
<p>Нас интересует только child 4, так как у него есть потомок, в значении которого есть что-то кроме вайтспейсов, а именно &#8220;20&#8243;. Конфета, другими словами. <a href="http://flack.ru/2010/12/23/check-no-text-in-element/#more-256" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://flack.ru/2010/12/23/check-no-text-in-element/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Еще один пост про группировку в XSLT 1.0</title>
		<link>http://flack.ru/2010/11/19/yet-another-xsl-group/</link>
		<comments>http://flack.ru/2010/11/19/yet-another-xsl-group/#comments</comments>
		<pubDate>Thu, 18 Nov 2010 22:53:01 +0000</pubDate>
		<dc:creator>Flack</dc:creator>
				<category><![CDATA[XSLT/XPath]]></category>
		<category><![CDATA[Рецептарий]]></category>
		<category><![CDATA[xslt]]></category>

		<guid isPermaLink="false">http://flack.ru/?p=166</guid>
		<description><![CDATA[В этом посте мы рассмотрим, сюрприз, группировку посредством XSLT 1.0. Тема уже обжевана изрядно, но не лишать же мне вас удовольствия ознакомиться с ней и в этом уютном бложике. Допустим, с сервера пришел совершенно бесталанный XML. &#60;marks&#62; &#60;mark&#62;Buick&#60;/mark&#62; &#60;mark&#62;Citroen&#60;/mark&#62; &#60;mark&#62;Daewoo&#60;/mark&#62; &#60;mark&#62;Chery&#60;/mark&#62; &#60;mark&#62;Audi&#60;/mark&#62; &#60;mark&#62;Chevrolet&#60;/mark&#62; &#60;mark&#62;Alfa Romeo&#60;/mark&#62; &#60;mark&#62;BMW&#60;/mark&#62; &#60;mark&#62;Cadillac&#60;/mark&#62; &#60;mark&#62;Daihatsu&#60;/mark&#62; &#60;mark&#62;Aston Martin&#60;/mark&#62; &#60;mark&#62;Dodge&#60;/mark&#62; &#60;mark&#62;Bentley&#60;/mark&#62; &#60;mark&#62;Chrysler&#60;/mark&#62; &#60;/marks&#62; Мы [...]]]></description>
			<content:encoded><![CDATA[<p>В этом посте мы рассмотрим, сюрприз, группировку посредством XSLT 1.0. Тема уже обжевана изрядно, но не лишать же мне вас удовольствия ознакомиться с ней и в этом уютном бложике.</p>
<p>Допустим, с сервера пришел совершенно бесталанный XML.</p>
<pre><code>&lt;marks&gt;
    &lt;mark&gt;Buick&lt;/mark&gt;
    &lt;mark&gt;Citroen&lt;/mark&gt;
    &lt;mark&gt;Daewoo&lt;/mark&gt;
    &lt;mark&gt;Chery&lt;/mark&gt;
    &lt;mark&gt;Audi&lt;/mark&gt;
    &lt;mark&gt;Chevrolet&lt;/mark&gt;
    &lt;mark&gt;Alfa Romeo&lt;/mark&gt;
    &lt;mark&gt;BMW&lt;/mark&gt;
    &lt;mark&gt;Cadillac&lt;/mark&gt;
    &lt;mark&gt;Daihatsu&lt;/mark&gt;
    &lt;mark&gt;Aston Martin&lt;/mark&gt;
    &lt;mark&gt;Dodge&lt;/mark&gt;
    &lt;mark&gt;Bentley&lt;/mark&gt;
    &lt;mark&gt;Chrysler&lt;/mark&gt;
&lt;/marks&gt;
</code></pre>
<p>Мы хотим из него получить алфавитный список, группированный по первой букве и отсортированный в нужном порядке:</p>
<pre><code>&lt;alphabet-listing&gt;
    &lt;letter name="A"&gt;
        &lt;mark&gt;Alfa Romeo&lt;/mark&gt;
        &lt;mark&gt;Aston Martin&lt;/mark&gt;
        &lt;mark&gt;Audi&lt;/mark&gt;
    &lt;/letter&gt;
    &lt;letter name="B"&gt;
        &lt;mark&gt;Bentley&lt;/mark&gt;
        &lt;mark&gt;BMW&lt;/mark&gt;
        &lt;mark&gt;Buick&lt;/mark&gt;
    &lt;/letter&gt;
    &lt;letter name="C"&gt;
        &lt;mark&gt;Cadillac&lt;/mark&gt;
        &lt;mark&gt;Chery&lt;/mark&gt;
        &lt;mark&gt;Chevrolet&lt;/mark&gt;
        &lt;mark&gt;Chrysler&lt;/mark&gt;
        &lt;mark&gt;Citroen&lt;/mark&gt;
    &lt;/letter&gt;
    &lt;letter name="D"&gt;
        &lt;mark&gt;Daewoo&lt;/mark&gt;
        &lt;mark&gt;Daihatsu&lt;/mark&gt;
        &lt;mark&gt;Dodge&lt;/mark&gt;
    &lt;/letter&gt;
&lt;/alphabet-listing&gt;
</code></pre>
<p>Для решения задачи нам потребуется метод, броско именуемый <del>организованной преступной</del> группировкой Мюнха. <a href="http://flack.ru/2010/11/19/yet-another-xsl-group/#more-166" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://flack.ru/2010/11/19/yet-another-xsl-group/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Разница между xsl:copy и xsl:copy-of</title>
		<link>http://flack.ru/2010/11/18/xslcopy/</link>
		<comments>http://flack.ru/2010/11/18/xslcopy/#comments</comments>
		<pubDate>Wed, 17 Nov 2010 22:20:10 +0000</pubDate>
		<dc:creator>Flack</dc:creator>
				<category><![CDATA[XSLT/XPath]]></category>
		<category><![CDATA[Рецептарий]]></category>
		<category><![CDATA[xslt]]></category>

		<guid isPermaLink="false">http://flack.ru/?p=136</guid>
		<description><![CDATA[Постараюсь с минимумом воды раскрыть сабж. Итак, разница такова: xsl:copy-of осуществляет глубокое копирование (deep copy), а xsl:copy поверхностное (shallow copy). Не особо непонятно? Заценим на примере. Создадим перечень самых отстойных рок-альбомов 21 столетия: &#60;albums criteria="worst"&#62; &#60;item id="1"&#62; &#60;name&#62;Chinese Democracy&#60;/name&#62; &#60;artist&#62;Guns N' Roses&#60;/artist&#62; &#60;length&#62;71:18&#60;/length&#62; &#60;label released="November 23, 2008"&#62;Geffen&#60;/label&#62; &#60;/item&#62; &#60;item id="2"&#62; &#60;name&#62;Dark Horse&#60;/name&#62; &#60;artist&#62;Nickelback&#60;/artist&#62; &#60;length&#62;43:38&#60;/length&#62; &#60;label [...]]]></description>
			<content:encoded><![CDATA[<p>Постараюсь с минимумом воды раскрыть сабж. Итак, разница такова: xsl:copy-of осуществляет глубокое копирование (deep copy), а xsl:copy поверхностное (shallow copy).</p>
<p>Не особо непонятно? Заценим на примере. </p>
<p>Создадим перечень самых отстойных рок-альбомов 21 столетия:</p>
<pre><code>&lt;albums criteria="worst"&gt;
    &lt;item id="1"&gt;
        &lt;name&gt;Chinese Democracy&lt;/name&gt;
        &lt;artist&gt;Guns N' Roses&lt;/artist&gt;
        &lt;length&gt;71:18&lt;/length&gt;
        &lt;label released="November 23, 2008"&gt;Geffen&lt;/label&gt;
    &lt;/item&gt;
    &lt;item id="2"&gt;
        &lt;name&gt;Dark Horse&lt;/name&gt;
        &lt;artist&gt;Nickelback&lt;/artist&gt;
        &lt;length&gt;43:38&lt;/length&gt;
        &lt;label released="November 18, 2008"&gt;EMI&lt;/label&gt;
    &lt;/item&gt;
    &lt;item id="3"&gt;
        &lt;name&gt;St. Anger&lt;/name&gt;
        &lt;artist&gt;Metallica&lt;/artist&gt;
        &lt;length&gt;75:01&lt;/length&gt;
        &lt;label released="June 5, 2003"&gt;Vertigo&lt;/label&gt;
    &lt;/item&gt;
&lt;/albums&gt;
</code></pre>
<p>Теперь создадим xsl, который в точности копирует этот XML в результирующее дерево. <a href="http://flack.ru/2010/11/18/xslcopy/#more-136" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://flack.ru/2010/11/18/xslcopy/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Всё меняется</title>
		<link>http://flack.ru/2008/11/18/evrth-changes/</link>
		<comments>http://flack.ru/2008/11/18/evrth-changes/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 11:13:21 +0000</pubDate>
		<dc:creator>Flack</dc:creator>
				<category><![CDATA[Свалка]]></category>
		<category><![CDATA[-1]]></category>

		<guid isPermaLink="false">http://flack.ru/2008/11/18/evrth-changes/</guid>
		<description><![CDATA[С момента рассказа про пять инструментов произошли, прямо скажем, кардинальные изменения. В целях успокоения совести коротко о новом списке. Windows XP SP3 EditPlus 2.31 TopStyle 3.12 putty Adobe Photoshop Elements 6.0 Возвращение к корням, ткскть. К табличной верстке тоже, да. А вообще html/css заебал уже, хуета занудная. Ну и напоследок: макинтош дерьмо, маккеган круче пасториуса, [...]]]></description>
			<content:encoded><![CDATA[<p>С момента рассказа про <a href="http://flack.ru/2008/02/29/5-tools/">пять инструментов</a> произошли, прямо скажем, кардинальные изменения. В целях успокоения совести коротко о новом списке.</p>
<ol>
<li>Windows XP SP3</li>
<li>EditPlus 2.31</li>
<li>TopStyle 3.12</li>
<li>putty</li>
<li>Adobe Photoshop Elements 6.0</li>
</ol>
<p>Возвращение к корням, ткскть. К табличной верстке тоже, да. А вообще html/css заебал уже, хуета занудная.</p>
<p>Ну и напоследок: макинтош дерьмо, маккеган круче пасториуса, широкова нахер. Всем привет.</p>
]]></content:encoded>
			<wfw:commentRss>http://flack.ru/2008/11/18/evrth-changes/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Семантическая верстка — советы и решения. Часть VIII. Минимальные и максимальные размеры</title>
		<link>http://flack.ru/2008/08/26/semantic-coding-howto-8/</link>
		<comments>http://flack.ru/2008/08/26/semantic-coding-howto-8/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 11:33:22 +0000</pubDate>
		<dc:creator>Flack</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[Рецептарий]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[max-width]]></category>
		<category><![CDATA[min-width]]></category>

		<guid isPermaLink="false">http://flack.ru/2008/08/26/semantic-coding-howto-8/</guid>
		<description><![CDATA[min-height В спецификации CSS предусмотрены правила min-width/min-height и max-width/max-height. К сожалению, Internet Explorer поддерживает эти правила только начиная с седьмой версии. Однако, это ограничение можно обойти.]]></description>
			<content:encoded><![CDATA[<h4>min-height</h4>
<p>В спецификации CSS предусмотрены правила min-width/min-height и max-width/max-height. К сожалению, Internet Explorer поддерживает эти правила только начиная с седьмой версии. Однако, это ограничение можно обойти. <a href="http://flack.ru/2008/08/26/semantic-coding-howto-8/#more-127" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://flack.ru/2008/08/26/semantic-coding-howto-8/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Семантическая верстка — советы и решения. Часть VII. Прижимаем подвал к низу окна</title>
		<link>http://flack.ru/2008/08/26/semantic-coding-howto-7/</link>
		<comments>http://flack.ru/2008/08/26/semantic-coding-howto-7/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 11:21:45 +0000</pubDate>
		<dc:creator>Flack</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[Рецептарий]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[footer]]></category>
		<category><![CDATA[подвал]]></category>

		<guid isPermaLink="false">http://flack.ru/2008/08/26/semantic-coding-howto-7/</guid>
		<description><![CDATA[Хоть прибитый «футер» на страницах и считается пережитком табличного подхода, такая задача тем не менее возникает регулярно. Существует решение данной проблемы без таблиц, но при условии, что вы знаете высоту футера или способны при ее изменении исправить стили.]]></description>
			<content:encoded><![CDATA[<p>Хоть прибитый «футер» на страницах и считается пережитком табличного подхода, такая задача тем не менее возникает регулярно. Существует решение данной проблемы без таблиц, но при условии, что вы знаете высоту футера или способны при ее изменении исправить стили. <a href="http://flack.ru/2008/08/26/semantic-coding-howto-7/#more-126" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://flack.ru/2008/08/26/semantic-coding-howto-7/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Семантическая верстка — советы и решения. Часть VI. Запрет на обтекание float’ов</title>
		<link>http://flack.ru/2008/08/26/semantic-coding-howto-6/</link>
		<comments>http://flack.ru/2008/08/26/semantic-coding-howto-6/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 11:15:53 +0000</pubDate>
		<dc:creator>Flack</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[Рецептарий]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[float]]></category>
		<category><![CDATA[веб-стандарты]]></category>
		<category><![CDATA[запрет обтекания]]></category>

		<guid isPermaLink="false">http://flack.ru/2008/08/26/semantic-coding-howto-6/</guid>
		<description><![CDATA[На данном примере мы рассмотрим, как реализовать запрет на обтекание определенного элемента, к которому применено правило float. Нашей задачей является создание анонса новости.]]></description>
			<content:encoded><![CDATA[<p>На данном примере мы рассмотрим, как реализовать запрет на обтекание определенного элемента, к которому применено правило float. Нашей задачей является создание анонса новости.  <a href="http://flack.ru/2008/08/26/semantic-coding-howto-6/#more-124" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://flack.ru/2008/08/26/semantic-coding-howto-6/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>5 инструментов</title>
		<link>http://flack.ru/2008/02/29/5-tools/</link>
		<comments>http://flack.ru/2008/02/29/5-tools/#comments</comments>
		<pubDate>Thu, 28 Feb 2008 22:41:08 +0000</pubDate>
		<dc:creator>Flack</dc:creator>
				<category><![CDATA[Свалка]]></category>
		<category><![CDATA[komodo]]></category>
		<category><![CDATA[meld]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://flack.ru/2008/02/29/5-tools/</guid>
		<description><![CDATA[Принимаю эстафету у Ивана Сагалаева. Пять инструментов, чаще всего используемых в работе. Скриншоты правда с домашней машины.]]></description>
			<content:encoded><![CDATA[<p>Принимаю эстафету у <a href="http://softwaremaniacs.org/blog/2008/02/26/5-tools/">Ивана Сагалаева</a>.</p>
<p>Пять инструментов, чаще всего используемых в работе. Скриншоты правда с домашней машины.<br />
 <a href="http://flack.ru/2008/02/29/5-tools/#more-112" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://flack.ru/2008/02/29/5-tools/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
	</channel>
</rss>

