<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-28198687</id><updated>2009-10-17T05:42:55.335+04:00</updated><title type='text'>Petrovich dev.</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://petrovich-dev.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default'/><link rel='alternate' type='text/html' href='http://petrovich-dev.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Petrovich</name><uri>http://www.blogger.com/profile/05148026823067330781</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-28198687.post-470236383289172495</id><published>2009-06-18T18:17:00.015+04:00</published><updated>2009-06-18T19:29:42.531+04:00</updated><title type='text'>Мое рабочее место</title><content type='html'>Отправной точкой, альфой и омегой моего рабочего места выступает ноутбук. К ноутбуку присоединен второй, он же первый, монитор. Операционная система Vista Home - шла вместе с ноутом. Устоявшаяся точка зрения, что это некомильфо и моветон, но я не поменял операциоку. С теми задачами, которые сейчас стоят перед системой, она справляется. А большую часть времени перед ней стоят ровно две задачи: первая - Visual Studio, вторая - вьюверы RAdmin-а. И это все.&lt;br /&gt;&lt;br /&gt;Оставшиеся два компа - стационарные писюки. И они нужны для всего остального.&lt;br /&gt;&lt;br /&gt;Один из них всегда висит во вьювере RAdmin-a на ноуте и через него делаются остальные задачки и ништяки: хождение в инет (вот и эту заметку пишу так), аська, CruiseControl Tray, Download Master и прочие мелочевки и свистульки висят и крутятся на нем. Недостаток в таком разделении для меня ровно один - асечные сообщения я вижу не сразу, а только когда переключаюсь на этот комп. И то, только потому, что за практической ненадобностью я утащил домой колонки. А так бы и этого недостатка не было.&lt;br /&gt;&lt;br /&gt;Второй комп выделен под VMWare. Здесь происходит проверка рабочего материала на работоспособность под разными осями. Плюc на предмет полезности тестируется всякая экзотика перед установкой на первый писюк. Опять же, триал-версии падают сюда. Плюс иногда, в порыве любопытства, я устанавливаю здесь и смотрю как же выглядит очередной линукс.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28198687-470236383289172495?l=petrovich-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://petrovich-dev.blogspot.com/feeds/470236383289172495/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28198687&amp;postID=470236383289172495' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/470236383289172495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/470236383289172495'/><link rel='alternate' type='text/html' href='http://petrovich-dev.blogspot.com/2009/06/blog-post.html' title='Мое рабочее место'/><author><name>Petrovich</name><uri>http://www.blogger.com/profile/05148026823067330781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14728705651104774816'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28198687.post-5804693396337661429</id><published>2009-05-18T17:13:00.005+04:00</published><updated>2009-05-18T18:14:37.605+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='code generation'/><title type='text'>Беглый взгляд на генераторы кода</title><content type='html'>&lt;a href="http://generatorstudio.codeplex.com/"&gt;GeneratorStudio&lt;/a&gt; - открытый проект генератора кода на основе движка NVelocity. Занимается генерированием кода и скриптов из существующей базы данных.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nconstruct.com/"&gt;NConstruct&lt;/a&gt; - платный, есть Lite версия.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codesmithtools.com/"&gt;CodeSmith&lt;/a&gt; - широко известный в узких кругах платный генератор кода.&lt;br /&gt;&lt;br /&gt;T4 - технология от Mictosoft, позволяющая генерировать код в Visual Studio.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28198687-5804693396337661429?l=petrovich-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://petrovich-dev.blogspot.com/feeds/5804693396337661429/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28198687&amp;postID=5804693396337661429' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/5804693396337661429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/5804693396337661429'/><link rel='alternate' type='text/html' href='http://petrovich-dev.blogspot.com/2009/05/blog-post.html' title='Беглый взгляд на генераторы кода'/><author><name>Petrovich</name><uri>http://www.blogger.com/profile/05148026823067330781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14728705651104774816'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28198687.post-2059425260264874115</id><published>2009-05-15T18:57:00.001+04:00</published><updated>2009-05-21T18:05:49.664+04:00</updated><title type='text'>Visual Studio Vibrant Ink Scheme</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_gyVt37GuA4M/ShVfo2rlUuI/AAAAAAAAADU/yZrGJ7sZqoU/s1600-h/Vibrant+Ink+Scheme.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 78px;" src="http://4.bp.blogspot.com/_gyVt37GuA4M/ShVfo2rlUuI/AAAAAAAAADU/yZrGJ7sZqoU/s320/Vibrant+Ink+Scheme.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5338278088795312866" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28198687-2059425260264874115?l=petrovich-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://petrovich-dev.blogspot.com/feeds/2059425260264874115/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28198687&amp;postID=2059425260264874115' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/2059425260264874115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/2059425260264874115'/><link rel='alternate' type='text/html' href='http://petrovich-dev.blogspot.com/2009/05/visual-studio-vibrant-ink-scheme.html' title='Visual Studio Vibrant Ink Scheme'/><author><name>Petrovich</name><uri>http://www.blogger.com/profile/05148026823067330781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14728705651104774816'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_gyVt37GuA4M/ShVfo2rlUuI/AAAAAAAAADU/yZrGJ7sZqoU/s72-c/Vibrant+Ink+Scheme.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28198687.post-8298208114265804812</id><published>2009-05-15T18:08:00.005+04:00</published><updated>2009-05-15T18:55:27.318+04:00</updated><title type='text'>NVelocity</title><content type='html'>&lt;span class="Apple-style-span"   style="  ;font-family:-webkit-monospace;font-size:13px;"&gt;svn checkout &lt;strong&gt;&lt;em&gt;http&lt;/em&gt;&lt;/strong&gt;://sv-littleprojects.googlecode.com/svn/trunk/ sv-littleprojects-read-only&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:-webkit-monospace;font-size:40px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:-webkit-monospace;font-size:13px;"&gt;http://using.castleproject.org/display/Contrib/Castle+Visual+Studio+Integration&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28198687-8298208114265804812?l=petrovich-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://petrovich-dev.blogspot.com/feeds/8298208114265804812/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28198687&amp;postID=8298208114265804812' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/8298208114265804812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/8298208114265804812'/><link rel='alternate' type='text/html' href='http://petrovich-dev.blogspot.com/2009/05/nvelocity.html' title='NVelocity'/><author><name>Petrovich</name><uri>http://www.blogger.com/profile/05148026823067330781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14728705651104774816'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28198687.post-378673778457665940</id><published>2009-05-05T19:47:00.008+04:00</published><updated>2009-05-21T19:02:10.977+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='тестирование'/><category scheme='http://www.blogger.com/atom/ns#' term='nunit'/><title type='text'>Как тестировать internal классы или пару слов о дружественных сборках</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_gyVt37GuA4M/Sg1oL3jgjSI/AAAAAAAAACs/oNjlDqi330c/s1600-h/Hands_std.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_gyVt37GuA4M/Sg1oL3jgjSI/AAAAAAAAACs/oNjlDqi330c/s320/Hands_std.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5336035686604639522" /&gt;&lt;/a&gt;&lt;br /&gt;В отличии от тестирования закрытых методов, в случае с тестированием internal методов и классов вы не отягощены плясками вприсядку вокруг reflection или создания тестовых методов в основном коде. &lt;br /&gt;&lt;br /&gt;Достаточно подружить тестируемую сборку с помощью атрибута &lt;span style="font-weight:bold;"&gt;InternalsVisibleToAttribute&lt;/span&gt;, в качестве дружественной сборки указав сборку в которой находятся тесты. Подробные пояснения о том как это делать можно получить в справке по ключевым словам "&lt;span style="font-weight:bold;"&gt;friend assemblies&lt;/span&gt;".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28198687-378673778457665940?l=petrovich-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://petrovich-dev.blogspot.com/feeds/378673778457665940/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28198687&amp;postID=378673778457665940' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/378673778457665940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/378673778457665940'/><link rel='alternate' type='text/html' href='http://petrovich-dev.blogspot.com/2009/05/internal.html' title='Как тестировать internal классы или пару слов о дружественных сборках'/><author><name>Petrovich</name><uri>http://www.blogger.com/profile/05148026823067330781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14728705651104774816'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_gyVt37GuA4M/Sg1oL3jgjSI/AAAAAAAAACs/oNjlDqi330c/s72-c/Hands_std.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28198687.post-3351394591660382084</id><published>2009-05-05T19:45:00.003+04:00</published><updated>2009-05-21T18:12:26.677+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='тестирование'/><title type='text'>Как тестировать private и protected методы?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_gyVt37GuA4M/Sg1rmiWe7xI/AAAAAAAAAC0/I-FYke_QLVw/s1600-h/3257270804.gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 250px; height: 320px;" src="http://4.bp.blogspot.com/_gyVt37GuA4M/Sg1rmiWe7xI/AAAAAAAAAC0/I-FYke_QLVw/s320/3257270804.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5336039443304214290" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;br /&gt;&lt;br /&gt;Следуя общей концепции TDD тестировать закрытые методы не нужно и даже вредно. Но в некоторых случаях такое желание возникает. Посчитайте до 12 и постарайтесь это желание подавить. Если и после этого вы все еще хотите протестировать закрытую функциональность своего класса, то хороший ответ о том, как это сделать дан &lt;a href="http://www.codeproject.com/KB/cs/testnonpublicmembers.aspx"&gt;здесь&lt;/a&gt;.&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28198687-3351394591660382084?l=petrovich-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://petrovich-dev.blogspot.com/feeds/3351394591660382084/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28198687&amp;postID=3351394591660382084' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/3351394591660382084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/3351394591660382084'/><link rel='alternate' type='text/html' href='http://petrovich-dev.blogspot.com/2009/05/private-protected.html' title='Как тестировать private и protected методы?'/><author><name>Petrovich</name><uri>http://www.blogger.com/profile/05148026823067330781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14728705651104774816'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_gyVt37GuA4M/Sg1rmiWe7xI/AAAAAAAAAC0/I-FYke_QLVw/s72-c/3257270804.gif' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28198687.post-8873100312871109902</id><published>2008-10-14T13:51:00.002+04:00</published><updated>2008-10-14T14:00:06.081+04:00</updated><title type='text'>Business Logic Toolkit for .NET</title><content type='html'>Business Logic Toolkit - набор компонентов для упрощения разработки .Net приложений. Распространяется с открытым исходным кодом, который можно использовать "как есть" или модифицировать для нужд своего приложения. BLToolkit написан на C# и совместим с .NET Framework 2.0, 3.0, 3.5.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28198687-8873100312871109902?l=petrovich-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://bltoolkit.com/' title='Business Logic Toolkit for .NET'/><link rel='replies' type='application/atom+xml' href='http://petrovich-dev.blogspot.com/feeds/8873100312871109902/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28198687&amp;postID=8873100312871109902' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/8873100312871109902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/8873100312871109902'/><link rel='alternate' type='text/html' href='http://petrovich-dev.blogspot.com/2008/10/business-logic-toolkit-for-net.html' title='Business Logic Toolkit for .NET'/><author><name>Petrovich</name><uri>http://www.blogger.com/profile/05148026823067330781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14728705651104774816'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28198687.post-4816640794837046957</id><published>2008-07-09T13:37:00.004+04:00</published><updated>2008-07-09T13:53:20.620+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Microsoft FxCop</title><content type='html'>&lt;a href="http://code.msdn.microsoft.com/codeanalysis/"&gt;FxCop &lt;/a&gt;предоставляет средства автоматической проверки .NET-сборок на предмет соответствия правилам Microsoft .NET Framework Design Guidelines. Откомпилированный код проверяется с помощью механизмов рефлексии, парсинга MSIL и анализа графа вызовов. В результате FxCop способен обнаружить более 200 недочетов (или ошибок) в следующих областях:&lt;br /&gt;&lt;br /&gt;- Архитектура библиотеки&lt;br /&gt;- Локализация&lt;br /&gt;- Правила именования&lt;br /&gt;- Производительность&lt;br /&gt;- Безопасность&lt;br /&gt;&lt;br /&gt;FxCop предусматривает возможность создания собственных правил с помощью специального SDK.&lt;br /&gt;&lt;br /&gt;FxCop может работать как в своем графическом интерфейсе, так в командной строке.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_gyVt37GuA4M/SHSKEb-b1EI/AAAAAAAAAB0/8ai9G7AV8M4/s1600-h/FxCop.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_gyVt37GuA4M/SHSKEb-b1EI/AAAAAAAAAB0/8ai9G7AV8M4/s320/FxCop.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5220949676862985282" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28198687-4816640794837046957?l=petrovich-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://code.msdn.microsoft.com/codeanalysis/' title='Microsoft FxCop'/><link rel='replies' type='application/atom+xml' href='http://petrovich-dev.blogspot.com/feeds/4816640794837046957/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28198687&amp;postID=4816640794837046957' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/4816640794837046957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/4816640794837046957'/><link rel='alternate' type='text/html' href='http://petrovich-dev.blogspot.com/2008/07/microsoft-fxcop.html' title='Microsoft FxCop'/><author><name>Petrovich</name><uri>http://www.blogger.com/profile/05148026823067330781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14728705651104774816'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_gyVt37GuA4M/SHSKEb-b1EI/AAAAAAAAAB0/8ai9G7AV8M4/s72-c/FxCop.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28198687.post-8369481601562301763</id><published>2008-07-09T13:23:00.005+04:00</published><updated>2008-07-09T13:35:55.923+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Microsoft StyleCop: Source Code Analysis for C#</title><content type='html'>Анализатор кода C# на предмет вы выполнения стилистических правил. &lt;a href="http://code.msdn.microsoft.com/sourceanalysis"&gt;StyleCop&lt;/a&gt; выполняется как в IDE среде, так и в MSBuild.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_gyVt37GuA4M/SHSGDEAZ0gI/AAAAAAAAABs/fDQacxOFt40/s1600-h/StyleCop.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_gyVt37GuA4M/SHSGDEAZ0gI/AAAAAAAAABs/fDQacxOFt40/s320/StyleCop.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5220945255202411010" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28198687-8369481601562301763?l=petrovich-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://code.msdn.microsoft.com/sourceanalysis' title='Microsoft StyleCop: Source Code Analysis for C#'/><link rel='replies' type='application/atom+xml' href='http://petrovich-dev.blogspot.com/feeds/8369481601562301763/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28198687&amp;postID=8369481601562301763' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/8369481601562301763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/8369481601562301763'/><link rel='alternate' type='text/html' href='http://petrovich-dev.blogspot.com/2008/07/microsoft-stylecop-source-code-analysis.html' title='Microsoft StyleCop: Source Code Analysis for C#'/><author><name>Petrovich</name><uri>http://www.blogger.com/profile/05148026823067330781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14728705651104774816'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_gyVt37GuA4M/SHSGDEAZ0gI/AAAAAAAAABs/fDQacxOFt40/s72-c/StyleCop.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28198687.post-2363692145838786338</id><published>2008-07-03T17:18:00.002+04:00</published><updated>2008-07-03T17:24:19.934+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='profiler'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Profiler in VS2008</title><content type='html'>&lt;a href="https://blogs.msdn.com/profiler/archive/2007/10/19/articles-on-new-visual-studio-team-system-2008-profiler-features.aspx"&gt;Статьи&lt;/a&gt; о функциональных возможностях профайлера от &lt;a href="https://blogs.msdn.com/profiler/default.aspx"&gt;Visual Studio Profiler Team Blog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;IanWho расказывает о &lt;a href="http://blogs.msdn.com/ianhu/archive/2007/09/14/pinpoint-a-performance-issue-using-hotpath-in-visual-studio-2008.aspx"&gt;Hotpath&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28198687-2363692145838786338?l=petrovich-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://petrovich-dev.blogspot.com/feeds/2363692145838786338/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28198687&amp;postID=2363692145838786338' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/2363692145838786338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/2363692145838786338'/><link rel='alternate' type='text/html' href='http://petrovich-dev.blogspot.com/2008/07/profiler-in-vs2008.html' title='Profiler in VS2008'/><author><name>Petrovich</name><uri>http://www.blogger.com/profile/05148026823067330781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14728705651104774816'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28198687.post-5888952653105474694</id><published>2008-07-02T18:42:00.003+04:00</published><updated>2008-07-02T18:56:29.913+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>Вводные статьи по Silverlight</title><content type='html'>&lt;a href="http://www.gotdotnet.ru/LearnDotNet/DotNet30/445109.aspx"&gt;Первый взгляд на Windows Communication Foundation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/rus/msdn/magazine/2006/06/lowy_ins.mspx"&gt;Эффективные методики управления экземплярами в WCF-приложениях&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://silverlight.net/quickstarts/Remote/323aac2f-14cc-4dd8-bb40-fa2cb3c2e522.aspx"&gt;Building a WCF Web Service and Accessing It by Using a Proxy&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://timross.wordpress.com/2008/03/16/implementing-the-mvp-pattern-in-silverlight/"&gt;Implementing the MVP Pattern in Silverlight&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28198687-5888952653105474694?l=petrovich-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://petrovich-dev.blogspot.com/feeds/5888952653105474694/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28198687&amp;postID=5888952653105474694' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/5888952653105474694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/5888952653105474694'/><link rel='alternate' type='text/html' href='http://petrovich-dev.blogspot.com/2008/07/silverlight.html' title='Вводные статьи по Silverlight'/><author><name>Petrovich</name><uri>http://www.blogger.com/profile/05148026823067330781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14728705651104774816'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28198687.post-4853620792056856177</id><published>2008-07-02T14:43:00.005+04:00</published><updated>2008-07-02T14:53:02.967+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Vista's Explorer in WPF</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_gyVt37GuA4M/SGtd42Y5d_I/AAAAAAAAABk/jPkN0QiKulA/s1600-h/VistaViewMenuSample.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_gyVt37GuA4M/SGtd42Y5d_I/AAAAAAAAABk/jPkN0QiKulA/s320/VistaViewMenuSample.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5218367824492853234" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Пример реализации Vista's Explorer окна от Dr. WPF.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28198687-4853620792056856177?l=petrovich-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.drwpf.com/blog/Home/tabid/36/EntryID/33/Default.aspx' title='Vista&apos;s Explorer in WPF'/><link rel='replies' type='application/atom+xml' href='http://petrovich-dev.blogspot.com/feeds/4853620792056856177/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28198687&amp;postID=4853620792056856177' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/4853620792056856177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/4853620792056856177'/><link rel='alternate' type='text/html' href='http://petrovich-dev.blogspot.com/2008/07/vistas-explorer-in-wpf.html' title='Vista&apos;s Explorer in WPF'/><author><name>Petrovich</name><uri>http://www.blogger.com/profile/05148026823067330781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14728705651104774816'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_gyVt37GuA4M/SGtd42Y5d_I/AAAAAAAAABk/jPkN0QiKulA/s72-c/VistaViewMenuSample.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28198687.post-841389501562484038</id><published>2008-07-02T14:12:00.006+04:00</published><updated>2008-07-02T18:59:08.405+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>BackgroundWorker</title><content type='html'>BackgroundWorker, класс, который поможет запустить в отдельном процессе медленную процедуру, есть и в Silverlight.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.danielmoth.com/Blog/2008/05/backgroundworker.html"&gt;Подробнее&lt;/a&gt; в блоге у Daniel Moth.&lt;br /&gt;&lt;br /&gt;А &lt;a href="http://www.danielmoth.com/Blog/2004/12/backgroundworker-for-cf-10.html"&gt;здесь&lt;/a&gt; у него же пошаговые рекомендация по использованию этого класса.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28198687-841389501562484038?l=petrovich-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://petrovich-dev.blogspot.com/feeds/841389501562484038/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28198687&amp;postID=841389501562484038' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/841389501562484038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/841389501562484038'/><link rel='alternate' type='text/html' href='http://petrovich-dev.blogspot.com/2008/07/backgroundworker.html' title='BackgroundWorker'/><author><name>Petrovich</name><uri>http://www.blogger.com/profile/05148026823067330781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14728705651104774816'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28198687.post-115745823976755568</id><published>2006-09-05T16:09:00.002+04:00</published><updated>2009-05-14T18:07:52.439+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xsd'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Секреты простраства имен System.Xml.Schema(перевод статьи)</title><content type='html'>Dare Obasanjo&lt;br /&gt;Microsoft Corporation&lt;br /&gt;June 10, 2004&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Резюме&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Dare Obasanjo&lt;/span&gt; на примерах показывает мало известные функциональные возможности классов в пространстве System.Xml.Schema.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Введение&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Время от времени я вижу в конференциях и на форумах вопросы о том, как выполнить некоторую задачу по использованию схемы XML Schema, работа с которой, с одной стороны, предоставляется классами пространства имен System.Xml.Schema, но с другой стороны, неочевидно как выполнить поставленную задачу в этом пространстве имен.&lt;br /&gt;&lt;br /&gt;Со временем я составил список задач, которые можно выполнить с классами в пространстве имен System.Xml.Schema, но которые не очевидны при первом использовании. Эта статья включает три первых пункта из этого списка.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Типичный пример: Книжный Инвентарь&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Следующий пример схемы и XML документа использованы как вводные данные для этой статьи:&lt;br /&gt;&lt;pre class="code"&gt;&lt;b&gt;Books.xsd&lt;br /&gt;&lt;/b&gt;&amp;lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"&lt;br /&gt;   targetNamespace="http://www.example.com/books"&lt;br /&gt;   xmlns:bk="http://www.example.com/books"&lt;br /&gt;   attributeFormDefault="unqualified"&lt;br /&gt;   elementFormDefault="qualified"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;xs:element name="books"&amp;gt;&lt;br /&gt; &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;   &amp;lt;xs:element name="book" maxOccurs="unbounded"&amp;gt;&lt;br /&gt;    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;      &amp;lt;xs:element name="title" type="xs:string" /&amp;gt;&lt;br /&gt;      &amp;lt;xs:element name="author" type="xs:string" /&amp;gt;&lt;br /&gt;      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;      &amp;lt;xs:attribute name="publisher" type="bk:publisherType" use="required" /&amp;gt;&lt;br /&gt;      &amp;lt;xs:attribute name="on-loan" type="xs:string" use="optional" /&amp;gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;   &amp;lt;/xs:element&amp;gt;&lt;br /&gt;  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt; &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;&amp;lt;/xs:element&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;xs:annotation&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;xs:documentation xml:lang="en"&amp;gt;&lt;br /&gt;   The publisherType is a list of the publishers I've bought books from.&lt;br /&gt;   If a publisher is not on the list then it means I don't have any books from them.&lt;br /&gt; &amp;lt;/xs:documentation&amp;gt;&lt;br /&gt;&amp;lt;/xs:annotation&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;xs:simpleType name="publisherType"&amp;gt;&lt;br /&gt; &amp;lt;xs:restriction base="xs:string"&amp;gt;&lt;br /&gt;    &amp;lt;xs:enumeration value="WROX" /&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;xs:enumeration value="Prentice Hall" /&amp;gt;&lt;br /&gt;    &amp;lt;xs:enumeration value="Addison-Wesley" /&amp;gt;&lt;br /&gt;    &amp;lt;xs:enumeration value="APress" /&amp;gt;&lt;br /&gt;    &amp;lt;xs:enumeration value="IDG books" /&amp;gt;&lt;br /&gt; &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;&amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Books.xml&lt;/b&gt;&lt;br /&gt;&amp;lt;books xmlns="http://www.example.com/books"&amp;gt;&lt;br /&gt; &amp;lt;book publisher="IDG books" on-loan="Sanjay"&amp;gt;&lt;br /&gt;   &amp;lt;title&amp;gt;XML Bible&amp;lt;/title&amp;gt;&lt;br /&gt;   &amp;lt;author&amp;gt;Elliotte Rusty Harold&amp;lt;/author&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;/book&amp;gt;&lt;br /&gt; &amp;lt;book publisher="Addison-Wesley"&amp;gt;&lt;br /&gt;   &amp;lt;title&amp;gt;The Mythical Man Month&amp;lt;/title&amp;gt;&lt;br /&gt;   &amp;lt;author&amp;gt;Frederick Brooks&amp;lt;/author&amp;gt;&lt;br /&gt; &amp;lt;/book&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;book publisher="WROX"&amp;gt;&lt;br /&gt;   &amp;lt;title&amp;gt;Professional XSLT 2nd Edition&amp;lt;/title&amp;gt;&lt;br /&gt;   &amp;lt;author&amp;gt;Michael Kay&amp;lt;/author&amp;gt;&lt;br /&gt; &amp;lt;/book&amp;gt;&lt;br /&gt; &amp;lt;book publisher="Prentice Hall" on-loan="Sander" &amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;title&amp;gt;Definitive XML Schema&amp;lt;/title&amp;gt;&lt;br /&gt;  &amp;lt;author&amp;gt;Priscilla Walmsley&amp;lt;/author&amp;gt;&lt;br /&gt; &amp;lt;/book&amp;gt;&lt;br /&gt; &amp;lt;book publisher="APress"&amp;gt;&lt;br /&gt;  &amp;lt;title&amp;gt;A Programmer's Introduction to C#&amp;lt;/title&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;author&amp;gt;Eric Gunnerson&amp;lt;/author&amp;gt;&lt;br /&gt; &amp;lt;/book&amp;gt;&lt;br /&gt;&amp;lt;/books&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Подтверждение правильности значений простых переменных в приложении против определения простых типов в XSD&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://office.microsoft.com/infopath"&gt;InfoPath&lt;/a&gt; позволяет создавать форму, основанную на XML Schema и привязать правила проверки к этой форме. Например, в форме, произведенной от books.xsd, поле publisher принимает в качестве верного только бы одно из значений: WROX, Prentice Hall, IDG books, Addison Wesley, APress. Я видел, что некоторые люди спрашивают, как выполнить подобную проверку в Windows Forms приложениях используя XML Schema в той же самой манере как InfoPath.&lt;br /&gt;&lt;br /&gt;Ответ находится в методе &lt;span style="font-weight:bold;"&gt;ParseValue()&lt;/span&gt; класса System.Xml.Schema.XmlSchemaDatatype. Метод &lt;span style="font-weight:bold;"&gt;ParseValue()&lt;/span&gt; может использоваться, чтобы проверить, соответствует ли частное значение ограничениям заданного в XML Schema простого типа (simple type). Следующий отрывок кода показывает это в действии:&lt;br /&gt;&lt;pre class="code"&gt;using System;&lt;br /&gt;using System.IO;&lt;br /&gt;using System.Xml;&lt;br /&gt;using System.Xml.Schema;&lt;br /&gt;using System.Xml.XPath;&lt;br /&gt;&lt;br /&gt;namespace Test&lt;br /&gt;{&lt;br /&gt;  class Program&lt;br /&gt;  {&lt;br /&gt;     static void Main(string[] args)&lt;br /&gt;     {&lt;br /&gt;    &lt;br /&gt;        XmlSchema books =&lt;br /&gt;XmlSchema.Read(new XmlTextReader("books.xsd"), null);&lt;br /&gt;&lt;br /&gt;        books.Compile(null);&lt;br /&gt;&lt;br /&gt;        XmlSchemaSimpleType pubType =&lt;br /&gt;              (XmlSchemaSimpleType) books.SchemaTypes[new&lt;br /&gt;XmlQualifiedName("publisherType", "http://www.example.com/books")];     &lt;br /&gt;       &lt;br /&gt;&lt;br /&gt;        //works fine&lt;br /&gt;        Console.WriteLine(pubType.Datatype.ParseValue("WROX", new NameTable(), null));&lt;br /&gt;&lt;br /&gt;        //throws exception&lt;br /&gt;        //pubType.Datatype.ParseValue("Microsoft Press", new NameTable(), null);&lt;br /&gt;&lt;br /&gt;     }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28198687-115745823976755568?l=petrovich-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://msdn.microsoft.com/en-us/library/ms950785.aspx' title='Секреты простраства имен System.Xml.Schema(перевод статьи)'/><link rel='replies' type='application/atom+xml' href='http://petrovich-dev.blogspot.com/feeds/115745823976755568/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=28198687&amp;postID=115745823976755568' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/115745823976755568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28198687/posts/default/115745823976755568'/><link rel='alternate' type='text/html' href='http://petrovich-dev.blogspot.com/2006/09/systemxmlschema.html' title='Секреты простраства имен System.Xml.Schema(перевод статьи)'/><author><name>Petrovich</name><uri>http://www.blogger.com/profile/05148026823067330781</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14728705651104774816'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>