<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://lib.custis.ru/index.php?action=history&amp;feed=atom&amp;title=YAML</id>
		<title>YAML - История изменений</title>
		<link rel="self" type="application/atom+xml" href="https://lib.custis.ru/index.php?action=history&amp;feed=atom&amp;title=YAML"/>
		<link rel="alternate" type="text/html" href="https://lib.custis.ru/index.php?title=YAML&amp;action=history"/>
		<updated>2026-05-05T08:18:25Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.26.4</generator>

	<entry>
		<id>https://lib.custis.ru/index.php?title=YAML&amp;diff=42810&amp;oldid=prev</id>
		<title>VitaliyFilippov в 12:06, 20 сентября 2013</title>
		<link rel="alternate" type="text/html" href="https://lib.custis.ru/index.php?title=YAML&amp;diff=42810&amp;oldid=prev"/>
				<updated>2013-09-20T12:06:42Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;tr style='vertical-align: top;' lang='ru'&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 12:06, 20 сентября 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan='2' style='text-align: center;' lang='ru'&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>VitaliyFilippov</name></author>	</entry>

	<entry>
		<id>https://lib.custis.ru/index.php?title=YAML&amp;diff=9779&amp;oldid=prev</id>
		<title>WikiSysop: 1 версия</title>
		<link rel="alternate" type="text/html" href="https://lib.custis.ru/index.php?title=YAML&amp;diff=9779&amp;oldid=prev"/>
				<updated>2008-08-04T09:55:51Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='ru'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 09:55, 4 августа 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan='4' style='text-align: center;' class='diff-multi' lang='ru'&gt;(не показана 1 промежуточная версия 1 участника)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l170&quot; &gt;Строка 170:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 170:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Программирование]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Программирование]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{replicate-from-custiswiki-to-lib}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{replicate-from-custiswiki-to-lib}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{replicate-from-custiswiki-to-all}}&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>WikiSysop</name></author>	</entry>

	<entry>
		<id>https://lib.custis.ru/index.php?title=YAML&amp;diff=2753&amp;oldid=prev</id>
		<title>BenderBot: реплицировано из внутренней CustisWiki</title>
		<link rel="alternate" type="text/html" href="https://lib.custis.ru/index.php?title=YAML&amp;diff=2753&amp;oldid=prev"/>
				<updated>2006-04-12T04:47:58Z</updated>
		
		<summary type="html">&lt;p&gt;реплицировано из внутренней CustisWiki&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;i&amp;gt;&lt;br /&gt;
Тим Брэй, один из авторов спецификации XML 1.0, недавно столкнулся с проблемой извлечения небольших данных из большого XML-файла. На своем веблоге Тим Брэй признался , что он не очень доволен результатами, сообщает газета &amp;quot;Компьютерные вести&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Похоже, уже даже до создателей XML начинает доходить, что если программисты http://www.xmlsuck.com/ и создают http://www.yaml.org/ ему, то, наверное, у этого формата и правда есть недостатки, не позволяющие ему быть действительно универсальным. &lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
Clark Evans: Тогда давайте будем независимыми. &lt;br /&gt;
В следующей версии давайте _полностью_ откажемся от синтаксиса XML. &lt;br /&gt;
Я серьёзно. Меня достали теги и их производные.&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''YAML''' = Yaml Is Not Markup Language, создан как некоторая альтернатива [[XML]]. Проблема [[XML]] - неудобство для редактирования и чтения текста человеком. &lt;br /&gt;
[[YAML]] - решает ту же задачу, что и [[XML]], т.е. представление произольной сложности структур данных, но в форме, удобной для человека, такие же аналоги можно провести между [[HTML]] и [[WikiWiki]] разметкой.&lt;br /&gt;
&lt;br /&gt;
[[YAML]] создан Clark Evans'ом, для реализации следующих требований:&lt;br /&gt;
* YAML краток и понятен.&lt;br /&gt;
* YAML очень выразительный и расширяемый.&lt;br /&gt;
* YAML допускает простой потоковый интерфейс.&lt;br /&gt;
* YAML использует структуры данных, родные для языков програмирования.&lt;br /&gt;
* YAML легко реализуется, возможно, слишком легко.&lt;br /&gt;
* YAML использует цельную модель данных. Нет исключений -- нет беспорядка.&lt;br /&gt;
&lt;br /&gt;
==Легок для чтения и записи==&lt;br /&gt;
&lt;br /&gt;
Синтаксис YAML сверхлегкий, особенно по сравнению с [[XML]] ным синтакисом, и хотя в спецификации не говорится о [[WikiWiki]] разметке - YAML очень похож на [[WikiWiki]] разметку. &lt;br /&gt;
Вообще, в спецификации указывают, что большое влияние оказал стандарт RFC 822.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим примеры. Итак, в некотором питоновском проекте нужно хранить конфигурацию, описывающую отображение текстовых команд на функции, с помощью регулярных выражений.&lt;br /&gt;
Структура данных на Питоне будет выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code-python&amp;gt;&lt;br /&gt;
[ (&amp;quot;PRIVMSG&amp;quot;, &amp;quot;newUri&amp;quot;, &amp;quot;^http://.*&amp;quot;),&lt;br /&gt;
  (&amp;quot;PRIVMSG&amp;quot;, &amp;quot;deleteUri&amp;quot;, &amp;quot;^delete.*&amp;quot;),&lt;br /&gt;
  (&amp;quot;PRIVMSG&amp;quot;, &amp;quot;randomUri&amp;quot;, &amp;quot;^random.*&amp;quot;) ]&lt;br /&gt;
&amp;lt;/code-python&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тут можно насчитать подрядка 30 &amp;quot;вспомогательных&amp;quot; символов, необходимых для описания структуры - неплохо.&lt;br /&gt;
&lt;br /&gt;
Можно представить эту структуру плоским текстом, типа конфигурационного файла от древней [[UNIX]]-программы:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 PRIVMSG newUri ^http://.*&lt;br /&gt;
 PRIVMSG deleteUri ^delete.*&lt;br /&gt;
 PRIVMSG randomUri ^random.*&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда &amp;quot;overhead&amp;quot; вообще минимален, но все становится очень негибко - значения не могут включать пробелы, не могут быть многострочными и т.п. Но в простых приложениях это сойдет.&lt;br /&gt;
&lt;br /&gt;
В [[XML]], &amp;quot;overhead&amp;quot; сильно больше:&lt;br /&gt;
&amp;lt;code-xml&amp;gt;&lt;br /&gt;
 &amp;lt;bindings&amp;gt;&lt;br /&gt;
  &amp;lt;binding&amp;gt;&lt;br /&gt;
    &amp;lt;ircEvent&amp;gt;PRIVMSG&amp;lt;/ircEvent&amp;gt;&lt;br /&gt;
    &amp;lt;method&amp;gt;newUri&amp;lt;/method&amp;gt;&lt;br /&gt;
    &amp;lt;regex&amp;gt;^http://.*&amp;lt;/regex&amp;gt;&lt;br /&gt;
  &amp;lt;/binding&amp;gt;&lt;br /&gt;
  &amp;lt;binding&amp;gt;&lt;br /&gt;
    &amp;lt;ircEvent&amp;gt;PRIVMSG&amp;lt;/ircEvent&amp;gt;&lt;br /&gt;
    &amp;lt;method&amp;gt;deleteUri&amp;lt;/method&amp;gt;&lt;br /&gt;
    &amp;lt;regex&amp;gt;^delete.*&amp;lt;/regex&amp;gt;&lt;br /&gt;
  &amp;lt;/binding&amp;gt;&lt;br /&gt;
  &amp;lt;binding&amp;gt;&lt;br /&gt;
    &amp;lt;ircEvent&amp;gt;PRIVMSG&amp;lt;/ircEvent&amp;gt;&lt;br /&gt;
    &amp;lt;method&amp;gt;randomUri&amp;lt;/method&amp;gt;&lt;br /&gt;
    &amp;lt;regex&amp;gt;^random.*&amp;lt;/regex&amp;gt;&lt;br /&gt;
  &amp;lt;/binding&amp;gt;&lt;br /&gt;
 &amp;lt;/bindings&amp;gt;&lt;br /&gt;
&amp;lt;/code-xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Конечно, можно сделать более &amp;quot;дешевое&amp;quot; отображение с использованием атрибутов (и потерей гибкости):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code-xml&amp;gt;&lt;br /&gt;
 &amp;lt;bindings&amp;gt;&lt;br /&gt;
  &amp;lt;binding ircEvent=&amp;quot;PRIVMSG&amp;quot; method=&amp;quot;newUri&amp;quot; regex=&amp;quot;^http://.*&amp;quot; /&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &amp;lt;/bindings&amp;gt;&lt;br /&gt;
&amp;lt;/code-xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Но по любому понятно, что все это очень неоптимально и неудобно для ручного редактирования, а &amp;quot;space overhead&amp;quot; вреден не только расходом ресурсов для хранения, но и неудобством чтения - трудно выделить смысловую информацию в мешанине тэгов.&lt;br /&gt;
&lt;br /&gt;
Теперь то же самое на [[YAML]]:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 -&lt;br /&gt;
    - PRIVMSG&lt;br /&gt;
    - newUri&lt;br /&gt;
    - '^http://.*'&lt;br /&gt;
 -&lt;br /&gt;
    - PRIVMSG&lt;br /&gt;
    - deleteUri&lt;br /&gt;
    - ^delete.*&lt;br /&gt;
 -&lt;br /&gt;
    - PRIVMSG&lt;br /&gt;
    - randomUri&lt;br /&gt;
    - ^random.*&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Space overhead&amp;quot; - 12 четко видимых символов, и некоторое количество пробелов и переводов строк.&lt;br /&gt;
([[YAML]] использует &amp;quot;---&amp;quot;, для разделения документов внутри файла или потока.) &lt;br /&gt;
&lt;br /&gt;
Говоря об отличиях [[YAML]] от [[XML]], отметим также, что вложеннее [[XML]] элементы обычно используются для отображения иерархических структур, а YAML более ближе к отображению моделей данных из [[Perl]], [[Python]], [[Java]], позволяя описывать свободные винигреты из последовательностей, отображений и скалярных типов - т.е. ближе к реальным структурам данных программных языков, и не требует различных соглашений про DOM-отображения структур данных на документы и обратно, как требуется в [[XML]].&lt;br /&gt;
&lt;br /&gt;
==Примеры==&lt;br /&gt;
&lt;br /&gt;
===Счет===&lt;br /&gt;
 --- !clarkevans.com/^invoice&lt;br /&gt;
 invoice: 34843&lt;br /&gt;
 date   : 2001-01-23&lt;br /&gt;
 bill-to: &amp;amp;id001&lt;br /&gt;
    given  : Chris&lt;br /&gt;
    family : Dumars&lt;br /&gt;
    address:&lt;br /&gt;
        lines: |&lt;br /&gt;
            458 Walkman Dr.&lt;br /&gt;
            Suite #292&lt;br /&gt;
        city    : Royal Oak&lt;br /&gt;
        state   : MI&lt;br /&gt;
        postal  : 48046&lt;br /&gt;
 ship-to: *id001&lt;br /&gt;
 product:&lt;br /&gt;
    - sku         : BL394D&lt;br /&gt;
      quantity    : 4&lt;br /&gt;
      description : Basketball&lt;br /&gt;
      price       : 450.00&lt;br /&gt;
    - sku         : BL4438H&lt;br /&gt;
      quantity    : 1&lt;br /&gt;
      description : Super Hoop&lt;br /&gt;
      price       : 2392.00&lt;br /&gt;
 tax  : 251.42&lt;br /&gt;
 total: 4443.52&lt;br /&gt;
 comments: &amp;gt;&lt;br /&gt;
    Late afternoon is best.&lt;br /&gt;
    Backup contact is Nancy&lt;br /&gt;
    Billsmer @ 338-4338.&lt;br /&gt;
&lt;br /&gt;
===Лог файл===&lt;br /&gt;
 ---Time: 2001-11-23 15:01:42 -5&lt;br /&gt;
 User: ed&lt;br /&gt;
 Warning:&lt;br /&gt;
   This is an error message&lt;br /&gt;
   for the log file&lt;br /&gt;
 ---&lt;br /&gt;
 Time: 2001-11-23 15:02:31 -5&lt;br /&gt;
 User: ed&lt;br /&gt;
 Warning:&lt;br /&gt;
   A slightly different error&lt;br /&gt;
   message.&lt;br /&gt;
 ---&lt;br /&gt;
 Date: 2001-11-23 15:03:17 -5&lt;br /&gt;
 User: ed&lt;br /&gt;
 Fatal:&lt;br /&gt;
   Unknown variable &amp;quot;bar&amp;quot;&lt;br /&gt;
 Stack:&lt;br /&gt;
   - file: TopClass.py&lt;br /&gt;
     line: 23&lt;br /&gt;
     code: |&lt;br /&gt;
       x = MoreObject(&amp;quot;345\n&amp;quot;)&lt;br /&gt;
   - file: MoreClass.py&lt;br /&gt;
     line: 58&lt;br /&gt;
     code: |-&lt;br /&gt;
       foo = bar&lt;br /&gt;
&lt;br /&gt;
==Ссылки==&lt;br /&gt;
http://www.yaml.org/&lt;br /&gt;
&lt;br /&gt;
[[Category:Документирование]]&lt;br /&gt;
[[Category:Программирование]]&lt;br /&gt;
{{replicate-from-custiswiki-to-lib}}&lt;/div&gt;</summary>
		<author><name>BenderBot</name></author>	</entry>

	<entry>
		<id>https://lib.custis.ru/index.php?title=YAML&amp;diff=9778&amp;oldid=prev</id>
		<title>StasFomin: /* Легок для чтения и записи */</title>
		<link rel="alternate" type="text/html" href="https://lib.custis.ru/index.php?title=YAML&amp;diff=9778&amp;oldid=prev"/>
				<updated>2006-04-11T14:32:18Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Легок для чтения и записи&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='ru'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 14:32, 11 апреля 2006&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l170&quot; &gt;Строка 170:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 170:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Программирование]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Программирование]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{replicate-from-custiswiki-to-lib}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{replicate-from-custiswiki-to-lib}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{replicate-from-custiswiki-to-all}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>StasFomin</name></author>	</entry>

	</feed>