SlideShare a Scribd company logo
1 of 52
Обзор рекомендаций
       W3C

 Специально для GetDev.net




            2012
Вступление
О чем доклад?

                     Миссия W3C: «Полностью раскрыть потенциал
                     Всемирной паутины, путѐм создания
                     протоколов и принципов, гарантирующих
                     долгосрочное развитие Сети».


W3C разрабатывает для Интернета единые принципы и стандарты,
называемые «рекомендациями», которые затем внедряются
производителями программ и оборудования. Таким образом достигается
совместимость между программными продуктами и аппаратурой
различных компаний, что делает Всемирную сеть более совершенной,
универсальной и удобной.
Рекомендации консорциума Всемирной паутины открыты, то есть не
защищены патентами и могут внедряться любым человеком без всяких
финансовых отчислений консорциуму.


                                                           Wikipedia
Кто за всем этим стоит?

                        • Возможность редактировать информацию
                          Паутины не менее важна, чем возможность
                          просто лазать по ней.
                          В этом смысле Бернерс-Ли очень рассчитывает
                          на концепцию WYSIWYG, хотя Wiki — это тоже
                          шаг в нужном направлении.
                        • Компьютеры могут быть использованы для
                          «фоновых процессов», помогающих людям
                          работать сообща.
                        • Каждый аспект Интернета должен работать
                          как паутина, а не как иерархия. В этом
                          смысле очень неприятным исключением
 Тим Бернерс-Ли           является система имѐн доменов (англ. Domain
                          Name System, DNS), управляемая
Известен как:
изобретатель WWW и
                          организацией ICANN.
действующий глава W3C   • Учѐные-компьютерщики несут не только
                          техническую ответственность, но и
                          моральную.
Статистика


• 599 документов в различных статусах от черновика до
  действующей рекомендации
• 110 технологий, которые можно разбить на 7 разделов
• Миссия консорциума базируется на 2 принципах:
  • Web for All
    Всемирная паутина должна быть доступна для
    всех, независимо от языка, способностей или
    ограничений здоровья.
  • Web on Everything
    Всемирная паутина должна быть доступна на
    любых устройствах, подключенных к Интернет.
Видение W3C

• Web for Rich Interaction
  Web был изобретен как инструмент коммуникации и он должен позволить
  всем обмениваться информацией. В течение многих лет, веб был "только
  для чтения". Сейчас ситуация меняется. Стандарты W3C поддерживают
  эту эволюцию благодаря четким принципам архитектуры и дизайна.

• Web of Data and Services
  Некоторые люди считают, что Интернет – это гигантское хранилище
  данных, а другие – что это гигантский набор сервисов, которые
  обмениваются сообщениями. Оба представления являются
  взаимодополняющими.

• Web of Trust
  Web превратился в инструмент общения. При этом он также изменил
  характер наших общественных отношений. Люди сейчас «встречаются в
  Интернете», осуществляют коммерческие и личные отношения, в
  некоторых случаях даже без личной встречи. W3C признает, что доверие
  является социальным явлением, но технологии должны способствовать
  укреплению доверия между людьми.
7 разделов W3C
•   Web Architecture
    Описывает базовое устройство Internet

•   Web Design and Applications
    Описывает принципы отображения и функционирования привычного нам гипертекстового
    Web

•   XML Technology
    Все, что относится к XML

•   Semantic Web
    Новое поколение Web – сеть данных, наполненных смыслом

•   Web of Services
    Описывает принципы взаимодействия сервисов в сети

•   Web of Devices
    Описывает правила по которым Web должен взаимодействовать с разнообразными
    устройствами от привычных нам мобильных телефонов до систем голосового управления и
    синтеза речи

•   Browsers and Authoring Tools
    Описывает правила по которым агенты пользователя (браузеры) должны с ним
    взаимодействовать, а также правила для вебмастеров по организации взаимодействия с
    пользователями
Действующие рекомендации W3C

      Accessibility           CC/PP CCXML   CSS DDR DOM

  EMMA EXI GRDDL HTML InkML ITS   MathML    OWL                  P3P


PICS PLS PNG POWDER RDF RDFa RIF                  SISR SKOS   SMIL
 SOAP SPARQL SVG
SML                          SSML       TTML VoiceXML WebCGM


WebServices WSDL                      XForms   XHTML XInclude XKMS

      XLink   XML XPath     XSD XSL XSLT
                                            XPointer XQuery
Web architecture
Архитектура Web



• HTTP         • URI
• HTTPS        • URN
               • URL
               • PURL
               • IRI
Транспортный
               Адресация
уровень
HTTP

Запрос клиента:
GET /wiki/страница HTTP/1.1
Host: ru.wikipedia.org
User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5
Accept: text/html
Connection: close
(пустая строка)


Ответ сервера:
HTTP/1.1 200 OK
Date: Wed, 11 Feb 2009 11:20:59 GMT
Server: Apache
X-Powered-By: PHP/5.2.4-2ubuntu5wm1
Last-Modified: Wed, 11 Feb 2009 11:20:59 GMT
Content-Language: ru
Content-Type: text/html; charset=utf-8
Content-Length: 1234
Connection: close
(пустая строка)
(далее следует запрошенная страница в HTML)
URI, URL, URN, IRI, PURL
•   URI является либо URL, либо URN, либо одновременно обоими.
•   URN указывает неизменное имя ресурса без указания его местонахождения и
    способа обращения. В результате URN-имена совершенно постоянны, они не зависят
    от конкретных серверов и протоколов. Другими словами, URN концептуально
    обозначает сам ресурс, а не место, где находится какой-то ресурс (а может, уже не
    находится), как это делает URL. Например, допустим, есть человек по имени Михаил
    Петров, который живѐт в Москве по адресу ул. Земляной вал, 14. Если кто-то спросит
    его: «Вы кто?». Он, разумеется, ответит «Я — Михаил Петров». Он ведь не скажет:
    «Я человек, живущий на Земляном валу, 14». Так вот URN идентифицирует человека
    как «Михаил Петров», а URL лишь сообщает, что кто-то живѐт по адресу ул.
    Земляной вал, 14 (а может там находится и организация… URL этого не сообщает).

    URI = [ схема ":" ] иерархическая-часть [ "?" запрос ] [ "#" фрагмент ]

    URL = <схема>://<логин>:<пароль>@<хост>:<порт>/<URL‐путь>?<параметры>#<якорь>

    URN = "urn:" <пространство> ":" <Строка зависимая от пространства>

    IRI : http://ru.wikipedia.org/wiki/Кириллица

    PURL : http://purl.org/somepath -> 301 -> http://concretedomain.com/path
Web design
HTML


HTML – первое описание (1991-1992)

•   <TITLE> ... </TITLE>
•   <NEXTID 27>
•   <A NAME=xxx HREF=XXX TYPE=XXX> ... </A>
•   <ISINDEX>
•   <PLAINTEXT>
•   <LISTING> ... </LISTING>
•   <P>
•   <H1>, <H2>, <H3>, <H4>, <H5>, <H6>
•   <ADDRESS> text ... </ADDRESS>
•   <HP1>...</HP1> <HP2>... </HP2> etc.
•   <DL>
    <DT>Term<DD>definition paragraph
    <DT>Term2<DD>Definition of term2</DL>
•   <UL>
    <LI> list element
    <LI> another list element ...
    </UL>
HTML


                                            Стандарт HTML 2.0
                                            можно назвать своего
                                            рода классикой жанра.
                                            Он содержал только
                                            нужные элементы для
                                            структурирования
                                            данных.




Но имиджевым сайтам компаний потребовалось яркое оформление
страниц. HTML 2.0 никак не мог обеспечить всего этого.
Компания Netscape, почувствовав конъюнктуру рынка, пожертвовала
логической стройностью HTML в угоду сиюминутным тенденциям. Чуть
позже «подсуетилась» вездесущая Microsoft, и между этими двумя
компаниями разгорелась нешуточная «гонка вооружений».
HTML

                                     Чтобы как-то повлиять на ситуацию и
                                     привести к общему знаменателю
                                     порочные инициативы Netscape и
                                     Microsoft, в 1997 г. W3C в спешке, под
                                     существенным нажимом
                                     Microsoft, утвердил рекомендацию
                                     HTML 3.2, вобравшую в себя, что
                                     называется, «по факту» введенные в
                                     оборот участниками состязания
                                     элементы визуального
                                     форматирования.
Работа HTML-кодеров к середине — концу 1990-х гг. свелась, по сути, к
сизифову труду — им приходилось долгие часы биться над каждым сколько-
либо сложным макетом сайта, чтобы обеспечить более-менее предсказуемый
внешний вид сверстанных на его основе страниц в нескольких
распространенных на тот момент браузерах.
HTML

В 1997 г. официальной рекомендацией W3C становится HTML
уровня 4.0, явившийся плодом множества компромиссов. HTML 4
вобрал в себя все визуальные возможности HTML 3.2, но в
большинстве своем они были провозглашены как deprecated.
Определены 3 типа языка:
• Strict - строгий, предписывающий четкое соблюдение идеологии
  структурной, логической разметки и подразумевающий отказ от
  большинства возможностей визуального представления данных.
• Transitional - переходный, намного более
  либеральный, оставляющий право пользоваться сомнительным
  наследием эпохи HTML 3.2.
• Frameset - предназначенный для страниц, использующих фреймы
  — слабоактуальную ныне придумку компании Netscape.
Наиболее предпочтительным, разумеется, является использование
типа документов Strict.
CSS Level 1




•   Параметры шрифтов. Возможности по заданию гарнитуры и размера шрифта, а
    также его стиля — обычного, курсивного или полужирного.
•   Цвета. Спецификация позволяет определять цвета текста, фона, рамок и других
    элементов страницы.
•   Атрибуты текста. Возможность задавать межсимвольный интервал, расстояние
    между словами и высоту строки (то есть межстрочные отступы)
•   Выравнивание для текста, изображений, таблиц и других элементов.
•   Свойства блоков, такие как высота, ширина, внутренние (padding) и внешние
    (margin) отступы и рамки. Так же в спецификацию входили ограниченные средства
    по позиционированию элементов, такие как float и clear.
CSS Layer 2




• Блочная вѐрстка. Появились относительное, абсолютное и
  фиксированное позиционирование. Позволяет управлять размещением
  элементов по странице без табличной вѐрстки.
• Типы носителей. Позволяет устанавливать разные стили для разных
  носителей (например монитор, принтер, КПК).
• Звуковые таблицы стилей. Определяет голос, громкость и т. д. для
  звуковых носителей (например для слепых посетителей сайта).
• Страничные носители. Позволяет, например, установить разные стили
  для элементов на чѐтных и нечѐтных страницах при печати.
• Расширенный механизм селекторов.
• Указатели. Переопределение указателей мыши.
• Генерируемое содержимое. Позволяет добавлять содержимое, которого
  нет в исходном документе, до или после нужного элемента.
CSS Layer 3




•   Media Queries. Технология позволяет подключать к HTML страницам различные
    стилевые таблицы, основываясь на различных данных об устройстве отображения.
•   Namespaces. Определяет правила определения стилей для элементов разных
    пространств имен в XHTML.
•   Selectors Level 3. Очередная порция дополнительных синтаксических
    возможностей селекторов.
•   Color Level 3. Определяет дополнительные цветовые модели для разметки.
•   …
SVG, PNG




• SVG (Scalable Vector Graphics) —   PNG (Portable network graphics) —
  язык разметки масштабируемой       растровый формат хранения
  векторной графики, созданный W3C   графической
  и входящий в подмножество          информации, использующий
  расширяемого языка разметки        сжатие без потерь по алгоритму
  XML, предназначен для описания     Deflate. Формат PNG
  двумерной векторной и смешанной    спроектирован для замены
  векторно/растровой графики в       устаревшего и более простого
  формате XML. Поддерживает как      формата GIF, а также, в некоторой
  неподвижную, так и анимированную   степени, для замены значительно
  интерактивную графику.             более сложного формата TIFF.
XML
XML – что может быть проще?

<?xml version="1.0" encoding="UTF-8"?>
<recipe name="хлеб" preptime="5" cooktime="180">
  <title>Простой хлеб</title>
  <composition>
     <ingredient amount="3" unit="стакан">Мука</ingredient>
     <ingredient amount="0.25" unit="грамм">Дрожжи</ingredient>
     <ingredient amount="1.5" unit="стакан">Тѐплая вода</ingredient>
     <ingredient amount="1" unit="чайная ложка">Соль</ingredient>
  </composition>
  <instructions>
     <step>Смешать все ингредиенты и тщательно замесить.</step>
     <step>Закрыть тканью и оставить на один час в тѐплом помещении.</step>
     <!-- <step>Почитать вчерашнюю газету.</step> - это сомнительный шаг... -->
     <step>Замесить ещѐ раз, положить на противень и поставить в духовку.</step>
  </instructions>
</recipe>
XML namespaces

<?xml version="1.1" encoding="UTF-8"?>
<Beers>
  <table xmlns="http://www.w3.org/1999/xhtml">
     <th><td>Name</td><td>Origin</td><td>Description</td></th>
     <tr>
        <td><brandName xmlns="">Huntsman</brandName></td>
        <td><origin xmlns="">Bath, UK</origin></td>
        <td>
           <details xmlns=""><class>Bitter</class><hop>Fuggles</hop>
             <pro>Wonderful hop, light alcohol, good summer beer</pro>
             <con>Fragile; excessive variance pub to pub</con>
           </details>
        </td>
     </tr>
  </table>
XHTML


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head xml:lang="en">
    <title dir="ltr" lang="en">XHTML Sample File</title>
  </head>
  <body><h1>Welcome to XHTML</h1><p>
       <b>XHTML</b> stands for <b>W3C</b>
       <i>Extensible HyperText Markup Language</i>. <b>XHTML</b> is aimed to replace
        <b>HTML</b>. While almost identical to <b>HTML</b> 4.01, <b>XHTML</b> is a stricter
       and cleaner version of <b>HTML</b>. <b>XHTML</b> is <b>HTML</b>
       defined as an <b>XML</b>
    </p>
  </body>
</html>
Что такое DTD?

<!ELEMENT html (head, body)>
<!ATTLIST html
 %i18n;
 id       ID        #IMPLIED
 xmlns   %URI;      #FIXED 'http://www.w3.org/1999/xhtml'
 >

<!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">

<!ELEMENT head (%head.misc;,
   ((title, %head.misc;, (base, %head.misc;)?) |
    (base, %head.misc;, (title, %head.misc;))))>

<!ATTLIST head
 %i18n;
 id       ID            #IMPLIED
 profile %URI;          #IMPLIED
 >
XML schema

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="страна" type="страна"/>
  <xs:complexType name="страна">
     <xs:sequence>
       <xs:element name="название" type="xs:string"/>
       <xs:element name="население" type="xs:decimal"/>
     </xs:sequence>
  </xs:complexType>
</xs:schema>
                                           <?xml version="1.0" encoding="utf-8"?>
                                           <страна>
                                             <название>Франция</название>
                                             <население>59.7</население>
                                           </страна>
XPath

•   para выбирает все дочерние элементы para по отношению к текущему
•   * выбирает все дочерние элементы текущего
•   text() выбирает все текстовые элементы, дочерние для текущего
•   @name выбирает атрибут с именем name для текущего элемента
•   para[1] выбирает первый дочерний элемент para для текущего элемента
•   para[fn:last()] выбирает последний дочерний элемент para для текущего
•   */para выбирает все элементы-потомки para через уровень от текущего
•   chapter//para выбирает все элементы para, дочерние ко всем элементам
    chapter, непосредственным дочкам текущего
•   chapter[title="Introduction"] выбирает все дочерние для текущего
    элементы chapter, которые имеют один или более непосредственный
    потомок title, чье тело эквивалентно строке Introduction
•   ancestor::div выбирает всех предков div для текущего элемента
XSLT
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
     <html>
        <head><title>Sample XSLT</title></head>
        <body>
           <table>
              <tr><th>Name</th><th>Email</th></tr>
              <xsl:apply-templates/>                                         <?xml version="1.0" encoding="UTF-8"?>
           </table>                                                          <?xml-stylesheet type="application/xslt+xml" href="xslt.xsl"?>
        </body>                                                              <list>
     </html>                                                                    <person>
  </xsl:template>                                                                  <name>Андрей</name>
  <xsl:template match="//person">                                                  <surname>Кулешов</surname>
     <tr>                                                                          <email>akuleshov@winnerlabs.ru</email>
        <td>
                                                                                </person>
           <xsl:value-of select="name/text()"/>
                                                                                <person>
           <xsl:text> </xsl:text>
           <xsl:value-of select="surname/text()"/>
                                                                                   <name>Сергей</name>
        </td>                                                                      <surname>Шебанин</surname>
        <td>                                                                       <email>sergey.shebanin@ingate.ru</email>
           <xsl:value-of select="email/text()"/>                                </person>
        </td>                                                                </list>
     </tr>
  </xsl:template>
</xsl:stylesheet>
XLink



<?xml version="1.0" encoding="UTF-8"?>
<courseload xmlns:xlink="http://www.w3.org/1999/xlink">
  <tooltip>Course Load for Pat Jones</tooltip>
  <course
    xlink:href="courses/cs101.xml"
    xlink:label="CS-101"
    xlink:title="Computer Science 101" />
</courseload>
XForms
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xf="http://www.w3.org/2002/xforms">
  <head>
    <title>Your Title Here</title>
    <xf:model>
       <xf:instance>
          <data xmlns="">
            <PersonGivenName/>
            <PersonSurName/>
          </data>
       </xf:instance>
       <xf:bind id="PersonGivenName" nodeset="PersonGivenName"/>
       <xf:bind id="PersonSurName" nodeset="PersonSurName"/>
    </xf:model>
  </head>
  <body>
    <xf:input bind="PersonGivenName" incremental="true">
       <xf:label>Input First Name:</xf:label>
    </xf:input>
    <br/>
    <xf:input bind="PersonSurName" incremental="true">
       <xf:label>Input Last Name:</xf:label>
    </xf:input>
  </body>
</html>
XQuery
<html><head/><body>
{
  for $volume in doc("xpath.xml")//volume
  let $chapters := distinct-values($volume//chapter)
  return
   <span>
     <h1>{ $volume/@title }</h1>
     <ul>
     {
       for $chapter in $chapters
       return <li>{ $chapter }</li>
     }
     </ul>
   </span>
}
</body>
</html>
XPointer

• XML Pointer Language (XPointer) — расширяемая
  спецификация, определяющая способы адресации
  фрагментов документов в формате XML.
• В настоящее время существуют три таких схемы:
  element(), xmlns() и xpointer(), предназначенные для
  поиска элементов по их расположению, на основе
  пространства имѐн и при помощи языка
  XPath, соответственно.

                        Пример:
     personal.xml#xpointer(//person[@id='five.worker'])

               (не работает в браузере )
XInclude

<?xml version='1.0' encoding="UTF-8"?>
<document xmlns:xi="http://www.w3.org/2001/XInclude">
  <p>Текст моего документа</p>
  <xi:include href="xinclude1.xml"/>
</document>



                       <?xml version='1.0' encoding="UTF-8"?>
                       <copyright>Все права защищены © 2001-
                       2010</copyright>




                                 <?xml version='1.0' encoding="UTF-8"?>
                                 <document xmlns:xi="http://www.w3.org/2001/XInclude">
                                   <p>Текст моего документа</p>
                                   <copyright>Все права защищены © 2001-2010</copyright>
                                 </document>
Web 3.0
Web 3.0
Семантический веб
Resource Description Framework (RDF)




                                                       Триплет RDF




Утверждение «небо голубого         <?xml version="1.0" encoding="UTF-8"?>
                                   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
цвета» в RDF-терминологии                   xmlns:props="http://example.org/phisicalProperties#">
можно представить следующим           <rdf:description rdf:about="urn:Universe:Earth:Heaven">
                                         <props:hasColor rdf:resource="urn:Universe:Colors:Blue"/>
образом: субъект —                    </rdf:description>
«небо», предикат — «имеет цвет»,   </rdf:RDF>
объект — «голубой».
RDFS / OWL / SKOS

• RDF описывает факты

• RDF Schema – базовый набор
  свойств отношений для
  триплетов RDF
• Web Ontology Language – набор
  свойств отношений RDF для
  описания объектов и отношений
  между ними, а также для
  возможности дальнейшего
  расширения словарей смыслов
• Simple Knowledge Organization
  System описывает набор свойств
  отношений RDF для описания
  абстракций и понятий
RDFS / OWL / SKOS


   Примеры           Примеры          Примеры              Примеры
конструкций RDF    свойств RDFS      свойств OWL         свойств SKOS
     rdf:type       rdfs:domain       owl:sameAs           skos:Concept
    rdf:subject      rdfs:range        owl:Thing           skos:broader
   rdf:predicate    rdfs:Datatype     owl:Nothing         skos:narrower
    rdf:object       rdfs:Class       owl:hasValue         skos:related
     rdf:value     rdfs:subClassOf     owl:Class        skos:ConceptScheme
   rdf:resource     rdfs:comment     owl:cardinality      skos:Collection
   rdf:datatype       rdfs:label       owl:oneOf           skos:member
Semantic Web Rule Language



<?xml version="1.0" encoding="UTF-8"?>
<ruleml:imp xmlns:ruleml="http://www.w3.org/2003/11/ruleml"
       xmlns:swrlx="http://www.w3.org/2003/11/swrlx">
  <ruleml:_rlab ruleml:href="#example1"/>
  <ruleml:_body>
     <swrlx:individualPropertyAtom swrlx:property="hasParent">
hasParent(?x1,?x2) ∧ hasBrother(?x2,?x3)
       <ruleml:var>x1</ruleml:var>
                                                                  ⇒ hasUncle(?x1,?x3)
       <ruleml:var>x2</ruleml:var>
     </swrlx:individualPropertyAtom>
     <swrlx:individualPropertyAtom swrlx:property="hasBrother">
       <ruleml:var>x2</ruleml:var>
       <ruleml:var>x3</ruleml:var>
     </swrlx:individualPropertyAtom>
  </ruleml:_body>
  <ruleml:_head>
     <swrlx:individualPropertyAtom swrlx:property="hasUncle">
       <ruleml:var>x1</ruleml:var>
       <ruleml:var>x3</ruleml:var>
     </swrlx:individualPropertyAtom>
  </ruleml:_head>
</ruleml:imp>
SPARQL

     Следующий запрос возвращает имена и адреса каждого
     человека в мире:


       PREFIX foaf: <http://xmlns.com/foaf/0.1/>
       SELECT ?name ?email
       WHERE {
        ?person rdf:type foaf:Person.
        ?person foaf:name ?name.
        ?person foaf:mbox ?email.
       }

Этот запрос может быть распределен на несколько конечных точек
SPARQL, разных компьютеров, и сбор результатов осуществляется
процедурой, известной как федеративный поиск.
SPARQL+LOD
RDFa

<?xml version="1.0" encoding="UTF-8"?>
<html prefix="dc: http://purl.org/dc/elements/1.1/" lang="en">
  <head>
    <title>John's Home Page</title>
    <base href="http://example.org/john-d/" />
    <meta property="dc:creator" content="Jonathan Doe" />
    <link rel="foaf:primaryTopic" href="http://example.org/john-d/#me" />
  </head>
  <body about="http://example.org/john-d/#me">
    <h1>John's Home Page</h1>
    <p>My name is <span property="foaf:nick">John D</span> and I like
       <a href="http://www.neubauten.org/" rel="foaf:interest"
          lang="de">Einstürzende Neubauten</a>.
    </p>
    <p>
       My <span rel="foaf:interest" resource="urn:ISBN:0752820907">favorite
          book is the inspiring <span about="urn:ISBN:0752820907"><cite
             property="dc:title">Weaving the Web</cite> by
             <span property="dc:creator">Tim Berners-Lee</span></span>
       </span>
    </p>
  </body>
</html>
Что осталось за
   кадром?
Web-сервисы

                                     SOAP (Simple Object Access
                                     Protocol) — первоначально SOAP
                                     предназначался в основном для
                                     реализации удалѐнного вызова
                                     процедур (RPC). Сейчас протокол
                                     используется для обмена
                                     произвольными сообщениями в
                                     формате XML.




WSDL (Web Services Description Language) — язык описания веб-сервисов и
доступа к ним, основанный на языке XML.
SAWSDL (Semantic Annotated Web Services Description Language) –
расширение WSDL с возможностью указывать смысловые ограничения
SML (Service Modeling Language) – технология, позволяющая описать сложные
IT-сервисы и системы.
Multimodal interaction

• EMMA (Extensible MultiModal Annotation) – стандарт, описывающий
  взаимодействие между системами ввода и подсистемами обработки
  взаимодействия с пользователем
• InkML – XML-язык для описания цифровых линий, оставляемых
  электронным пером
• VoiceXML – стандарт, описывающий правила построения речевых
  диалогов между компьютером и человеком
• CCXML (Voice Browser Call Control) – стандарт обработки асинхронных
  событий для VoiceXML
• EmotionML – язык описания эмоций
• SSML (Speech Synthesis Markup Language) – язык, описывающий правила
  синтезирования речи
• PLS (Pronunciation Lexicon Specification) – рекомендация, определяющая
  правила описания произношения для синтезатора речи
• SISR (Semantic Interpretation for Speech Recognition) – технология описания
  семантической грамматики для систем распознавания речи
Accessibility Guidelines

Специальная группа Web Accessibility Initiative
занимается разработкой стандартов, которые помогают
людям с ограниченными здоровьем возможностями
полноценно использовать Web.
Вот набор рекомендаций, которые они уже зарелизили:

• User Agent Accessibility Guidelines
• Authoring Tool Accessibility Guidelines
• QA Framework: Specification Guidelines
• Web Security Context: User Interface Guidelines
• Web Content Accessibility Guidelines
• …
Другое

•   XKMS (XML Key Management Specification) – протокол обмена ключами для ассиметричного
    шифрования на базе XML
•   ITS (Internationalization Tag Set) – набор тегов, который позволяет указывать правила
    перевода документа
•   EXI (Efficient XML Interchange) – стандарт, описывающий бинарную упаковку XML для
    минимизации размера при передаче по сети
•   DDR (Device Description Repository) – стандарт, определяющий репозиторий описания
    различных устройств (в первую очередь мобильных), для того, чтобы было проще
    предоставлять клиентам подходящий им контент
•   PICS (Platform for Internet Content Selection) – правила описания возрастных и других
    ограничений для ресурсов, был заменен на POWDER (использует
    OWL и RDF).
•   SMIL (Synchronized Multimedia Integration Language) – язык, описывающий комбинацию
    мультимедийных документов, используется в MMS
•   TTML (Timed Text Markup Language) – XML-конструкция, позволяющая описывать события во
    времени
•   WebCGM (Computer Graphics Metafile) – профиль, описывающий текстовую репрезентацию
    двумерных графических векторных форматов, является подмножеством по отношению к SVG
•   P3P (Platform for Privacy Preferences (P3P) Project) – это протокол, позволяющий веб-сайтам
    информировать браузер о предполагаемом получении личных данных пользователя
Что почитать?




•   http://www.w3.org/
•   http://www.wikipedia.org/
•   http://site.nic.ru/
•   http://shcherbak.net/
На этом все 
Задать мне вопрос: sergey.shebanin@ingate.ru

More Related Content

Viewers also liked

школа открытых данны. открытые базы знаний и семантические вики
школа открытых данны. открытые базы знаний и семантические викишкола открытых данны. открытые базы знаний и семантические вики
школа открытых данны. открытые базы знаний и семантические вики
Olga Romanova
 
формализация смысла комических текстов через концепцию инвективных имен
формализация смысла комических текстов через концепцию инвективных именформализация смысла комических текстов через концепцию инвективных имен
формализация смысла комических текстов через концепцию инвективных имен
Yury Katkov
 
Practicum DIRECTUM. Прощание с бумагой. Расставляем все точки над "i"
Practicum DIRECTUM. Прощание с бумагой. Расставляем все точки над "i"Practicum DIRECTUM. Прощание с бумагой. Расставляем все точки над "i"
Practicum DIRECTUM. Прощание с бумагой. Расставляем все точки над "i"
DIRECTUM
 
Вебинар "Practicum DIRECTUM. Lean + ECM = рецепт офисной кухни"
Вебинар "Practicum DIRECTUM. Lean + ECM = рецепт офисной кухни"Вебинар "Practicum DIRECTUM. Lean + ECM = рецепт офисной кухни"
Вебинар "Practicum DIRECTUM. Lean + ECM = рецепт офисной кухни"
DIRECTUM
 

Viewers also liked (9)

школа открытых данны. открытые базы знаний и семантические вики
школа открытых данны. открытые базы знаний и семантические викишкола открытых данны. открытые базы знаний и семантические вики
школа открытых данны. открытые базы знаний и семантические вики
 
Адаптивный кейс-менеджмент (ACM) vs. BPM и ECM (СЭД)
Адаптивный кейс-менеджмент (ACM) vs. BPM и ECM (СЭД)Адаптивный кейс-менеджмент (ACM) vs. BPM и ECM (СЭД)
Адаптивный кейс-менеджмент (ACM) vs. BPM и ECM (СЭД)
 
формализация смысла комических текстов через концепцию инвективных имен
формализация смысла комических текстов через концепцию инвективных именформализация смысла комических текстов через концепцию инвективных имен
формализация смысла комических текстов через концепцию инвективных имен
 
Practicum DIRECTUM. Прощание с бумагой. Расставляем все точки над "i"
Practicum DIRECTUM. Прощание с бумагой. Расставляем все точки над "i"Practicum DIRECTUM. Прощание с бумагой. Расставляем все точки над "i"
Practicum DIRECTUM. Прощание с бумагой. Расставляем все точки над "i"
 
IBM ECM & Discovery Strategy
IBM ECM & Discovery StrategyIBM ECM & Discovery Strategy
IBM ECM & Discovery Strategy
 
Вебинар "Practicum DIRECTUM. Lean + ECM = рецепт офисной кухни"
Вебинар "Practicum DIRECTUM. Lean + ECM = рецепт офисной кухни"Вебинар "Practicum DIRECTUM. Lean + ECM = рецепт офисной кухни"
Вебинар "Practicum DIRECTUM. Lean + ECM = рецепт офисной кухни"
 
Тестирование в BI проектах
Тестирование в BI проектахТестирование в BI проектах
Тестирование в BI проектах
 
DIRECTUM: возможности системы электронного документооборота
DIRECTUM: возможности системы электронного документооборотаDIRECTUM: возможности системы электронного документооборота
DIRECTUM: возможности системы электронного документооборота
 
Презентация - Обзор BPM CBOK
Презентация - Обзор BPM CBOK Презентация - Обзор BPM CBOK
Презентация - Обзор BPM CBOK
 

Similar to Обзор рекомендаций W3C

Урок 1. Введение в курс разработки сайтов. Web – технологии.
Урок 1. Введение в курс разработки сайтов. Web – технологии.Урок 1. Введение в курс разработки сайтов. Web – технологии.
Урок 1. Введение в курс разработки сайтов. Web – технологии.
oksikboss
 
Web весна 2012 лекция 1
Web весна 2012 лекция 1Web весна 2012 лекция 1
Web весна 2012 лекция 1
Technopark
 
Лекция 6. Актуальные web-технологии. ПО как сервис
Лекция 6. Актуальные web-технологии. ПО как сервисЛекция 6. Актуальные web-технологии. ПО как сервис
Лекция 6. Актуальные web-технологии. ПО как сервис
Anna Kraeva
 
Komputernie seti
Komputernie setiKomputernie seti
Komputernie seti
Tanuschka65
 
техническая разработка сайтов(2)
техническая разработка сайтов(2)техническая разработка сайтов(2)
техническая разработка сайтов(2)
Ольга Куликова
 
введение в интернет
введение в интернетвведение в интернет
введение в интернет
Ulyana1973
 

Similar to Обзор рекомендаций W3C (20)

Урок 1. Введение в курс разработки сайтов. Web – технологии.
Урок 1. Введение в курс разработки сайтов. Web – технологии.Урок 1. Введение в курс разработки сайтов. Web – технологии.
Урок 1. Введение в курс разработки сайтов. Web – технологии.
 
Present.pps
Present.ppsPresent.pps
Present.pps
 
Present.pps
Present.ppsPresent.pps
Present.pps
 
Лекция #1. Основы Web-технологий
Лекция #1. Основы Web-технологийЛекция #1. Основы Web-технологий
Лекция #1. Основы Web-технологий
 
Web весна 2012 лекция 1
Web весна 2012 лекция 1Web весна 2012 лекция 1
Web весна 2012 лекция 1
 
DHTML
DHTMLDHTML
DHTML
 
Dhtml 1
Dhtml 1Dhtml 1
Dhtml 1
 
Лекция 6. Актуальные web-технологии. ПО как сервис
Лекция 6. Актуальные web-технологии. ПО как сервисЛекция 6. Актуальные web-технологии. ПО как сервис
Лекция 6. Актуальные web-технологии. ПО как сервис
 
Komputernie seti
Komputernie setiKomputernie seti
Komputernie seti
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
 
техническая разработка сайтов(2)
техническая разработка сайтов(2)техническая разработка сайтов(2)
техническая разработка сайтов(2)
 
Техническая разработка сайтов
Техническая разработка сайтовТехническая разработка сайтов
Техническая разработка сайтов
 
HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber...
HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber...HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber...
HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber...
 
введение в интернет
введение в интернетвведение в интернет
введение в интернет
 
гипертекст
гипертекстгипертекст
гипертекст
 
InfoboxCloud для СМИ
InfoboxCloud для СМИInfoboxCloud для СМИ
InfoboxCloud для СМИ
 
Интернет-ресурсы и Интернет-сервисы
Интернет-ресурсы и Интернет-сервисы Интернет-ресурсы и Интернет-сервисы
Интернет-ресурсы и Интернет-сервисы
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в Яндексе
 
основы интернет
основы интернетосновы интернет
основы интернет
 
сафаев дз2
сафаев дз2сафаев дз2
сафаев дз2
 

More from GetDev.NET

Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
GetDev.NET
 

More from GetDev.NET (20)

Go
GoGo
Go
 
Leap Motion - игрушка с заделом на будущее
Leap Motion - игрушка с заделом на будущееLeap Motion - игрушка с заделом на будущее
Leap Motion - игрушка с заделом на будущее
 
Гирлянда для программистов
Гирлянда для программистовГирлянда для программистов
Гирлянда для программистов
 
Mind Mapping, или как заставить свой мозг работать лучше
Mind Mapping, или как заставить свой мозг работать лучшеMind Mapping, или как заставить свой мозг работать лучше
Mind Mapping, или как заставить свой мозг работать лучше
 
Что нового в Visual Studio 2015
Что нового в Visual Studio 2015Что нового в Visual Studio 2015
Что нового в Visual Studio 2015
 
Docker контейнерная революция
Docker контейнерная революцияDocker контейнерная революция
Docker контейнерная революция
 
Windows 10 для пользователей и разработчиков
Windows 10 для пользователей и разработчиковWindows 10 для пользователей и разработчиков
Windows 10 для пользователей и разработчиков
 
PhoneGap для мобильного разработчика - глубокое погружение без ОЗК
PhoneGap для мобильного разработчика - глубокое погружение без ОЗКPhoneGap для мобильного разработчика - глубокое погружение без ОЗК
PhoneGap для мобильного разработчика - глубокое погружение без ОЗК
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web API
 
Что нового в Visual Studio 2013
Что нового в Visual Studio 2013Что нового в Visual Studio 2013
Что нового в Visual Studio 2013
 
AngularJS
AngularJSAngularJS
AngularJS
 
TypeScript
TypeScriptTypeScript
TypeScript
 
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
 
Lego Mindstorms
Lego MindstormsLego Mindstorms
Lego Mindstorms
 
Особенности мобильной платформы Windows Phone 8
Особенности мобильной платформы Windows Phone 8Особенности мобильной платформы Windows Phone 8
Особенности мобильной платформы Windows Phone 8
 
Async Javascript
Async JavascriptAsync Javascript
Async Javascript
 
XAML - язык разметки приложений
XAML - язык разметки приложенийXAML - язык разметки приложений
XAML - язык разметки приложений
 
Dynamic Language Runtime
Dynamic Language RuntimeDynamic Language Runtime
Dynamic Language Runtime
 
JavaScript: хороший тон клиентской разработки
JavaScript: хороший тон клиентской разработкиJavaScript: хороший тон клиентской разработки
JavaScript: хороший тон клиентской разработки
 
Roslyn - компилятор как сервис
Roslyn - компилятор как сервисRoslyn - компилятор как сервис
Roslyn - компилятор как сервис
 

Обзор рекомендаций W3C

  • 1. Обзор рекомендаций W3C Специально для GetDev.net 2012
  • 3. О чем доклад? Миссия W3C: «Полностью раскрыть потенциал Всемирной паутины, путѐм создания протоколов и принципов, гарантирующих долгосрочное развитие Сети». W3C разрабатывает для Интернета единые принципы и стандарты, называемые «рекомендациями», которые затем внедряются производителями программ и оборудования. Таким образом достигается совместимость между программными продуктами и аппаратурой различных компаний, что делает Всемирную сеть более совершенной, универсальной и удобной. Рекомендации консорциума Всемирной паутины открыты, то есть не защищены патентами и могут внедряться любым человеком без всяких финансовых отчислений консорциуму. Wikipedia
  • 4. Кто за всем этим стоит? • Возможность редактировать информацию Паутины не менее важна, чем возможность просто лазать по ней. В этом смысле Бернерс-Ли очень рассчитывает на концепцию WYSIWYG, хотя Wiki — это тоже шаг в нужном направлении. • Компьютеры могут быть использованы для «фоновых процессов», помогающих людям работать сообща. • Каждый аспект Интернета должен работать как паутина, а не как иерархия. В этом смысле очень неприятным исключением Тим Бернерс-Ли является система имѐн доменов (англ. Domain Name System, DNS), управляемая Известен как: изобретатель WWW и организацией ICANN. действующий глава W3C • Учѐные-компьютерщики несут не только техническую ответственность, но и моральную.
  • 5. Статистика • 599 документов в различных статусах от черновика до действующей рекомендации • 110 технологий, которые можно разбить на 7 разделов • Миссия консорциума базируется на 2 принципах: • Web for All Всемирная паутина должна быть доступна для всех, независимо от языка, способностей или ограничений здоровья. • Web on Everything Всемирная паутина должна быть доступна на любых устройствах, подключенных к Интернет.
  • 6. Видение W3C • Web for Rich Interaction Web был изобретен как инструмент коммуникации и он должен позволить всем обмениваться информацией. В течение многих лет, веб был "только для чтения". Сейчас ситуация меняется. Стандарты W3C поддерживают эту эволюцию благодаря четким принципам архитектуры и дизайна. • Web of Data and Services Некоторые люди считают, что Интернет – это гигантское хранилище данных, а другие – что это гигантский набор сервисов, которые обмениваются сообщениями. Оба представления являются взаимодополняющими. • Web of Trust Web превратился в инструмент общения. При этом он также изменил характер наших общественных отношений. Люди сейчас «встречаются в Интернете», осуществляют коммерческие и личные отношения, в некоторых случаях даже без личной встречи. W3C признает, что доверие является социальным явлением, но технологии должны способствовать укреплению доверия между людьми.
  • 7. 7 разделов W3C • Web Architecture Описывает базовое устройство Internet • Web Design and Applications Описывает принципы отображения и функционирования привычного нам гипертекстового Web • XML Technology Все, что относится к XML • Semantic Web Новое поколение Web – сеть данных, наполненных смыслом • Web of Services Описывает принципы взаимодействия сервисов в сети • Web of Devices Описывает правила по которым Web должен взаимодействовать с разнообразными устройствами от привычных нам мобильных телефонов до систем голосового управления и синтеза речи • Browsers and Authoring Tools Описывает правила по которым агенты пользователя (браузеры) должны с ним взаимодействовать, а также правила для вебмастеров по организации взаимодействия с пользователями
  • 8. Действующие рекомендации W3C Accessibility CC/PP CCXML CSS DDR DOM EMMA EXI GRDDL HTML InkML ITS MathML OWL P3P PICS PLS PNG POWDER RDF RDFa RIF SISR SKOS SMIL SOAP SPARQL SVG SML SSML TTML VoiceXML WebCGM WebServices WSDL XForms XHTML XInclude XKMS XLink XML XPath XSD XSL XSLT XPointer XQuery
  • 10. Архитектура Web • HTTP • URI • HTTPS • URN • URL • PURL • IRI Транспортный Адресация уровень
  • 11. HTTP Запрос клиента: GET /wiki/страница HTTP/1.1 Host: ru.wikipedia.org User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5 Accept: text/html Connection: close (пустая строка) Ответ сервера: HTTP/1.1 200 OK Date: Wed, 11 Feb 2009 11:20:59 GMT Server: Apache X-Powered-By: PHP/5.2.4-2ubuntu5wm1 Last-Modified: Wed, 11 Feb 2009 11:20:59 GMT Content-Language: ru Content-Type: text/html; charset=utf-8 Content-Length: 1234 Connection: close (пустая строка) (далее следует запрошенная страница в HTML)
  • 12. URI, URL, URN, IRI, PURL • URI является либо URL, либо URN, либо одновременно обоими. • URN указывает неизменное имя ресурса без указания его местонахождения и способа обращения. В результате URN-имена совершенно постоянны, они не зависят от конкретных серверов и протоколов. Другими словами, URN концептуально обозначает сам ресурс, а не место, где находится какой-то ресурс (а может, уже не находится), как это делает URL. Например, допустим, есть человек по имени Михаил Петров, который живѐт в Москве по адресу ул. Земляной вал, 14. Если кто-то спросит его: «Вы кто?». Он, разумеется, ответит «Я — Михаил Петров». Он ведь не скажет: «Я человек, живущий на Земляном валу, 14». Так вот URN идентифицирует человека как «Михаил Петров», а URL лишь сообщает, что кто-то живѐт по адресу ул. Земляной вал, 14 (а может там находится и организация… URL этого не сообщает). URI = [ схема ":" ] иерархическая-часть [ "?" запрос ] [ "#" фрагмент ] URL = <схема>://<логин>:<пароль>@<хост>:<порт>/<URL‐путь>?<параметры>#<якорь> URN = "urn:" <пространство> ":" <Строка зависимая от пространства> IRI : http://ru.wikipedia.org/wiki/Кириллица PURL : http://purl.org/somepath -> 301 -> http://concretedomain.com/path
  • 14. HTML HTML – первое описание (1991-1992) • <TITLE> ... </TITLE> • <NEXTID 27> • <A NAME=xxx HREF=XXX TYPE=XXX> ... </A> • <ISINDEX> • <PLAINTEXT> • <LISTING> ... </LISTING> • <P> • <H1>, <H2>, <H3>, <H4>, <H5>, <H6> • <ADDRESS> text ... </ADDRESS> • <HP1>...</HP1> <HP2>... </HP2> etc. • <DL> <DT>Term<DD>definition paragraph <DT>Term2<DD>Definition of term2</DL> • <UL> <LI> list element <LI> another list element ... </UL>
  • 15. HTML Стандарт HTML 2.0 можно назвать своего рода классикой жанра. Он содержал только нужные элементы для структурирования данных. Но имиджевым сайтам компаний потребовалось яркое оформление страниц. HTML 2.0 никак не мог обеспечить всего этого. Компания Netscape, почувствовав конъюнктуру рынка, пожертвовала логической стройностью HTML в угоду сиюминутным тенденциям. Чуть позже «подсуетилась» вездесущая Microsoft, и между этими двумя компаниями разгорелась нешуточная «гонка вооружений».
  • 16. HTML Чтобы как-то повлиять на ситуацию и привести к общему знаменателю порочные инициативы Netscape и Microsoft, в 1997 г. W3C в спешке, под существенным нажимом Microsoft, утвердил рекомендацию HTML 3.2, вобравшую в себя, что называется, «по факту» введенные в оборот участниками состязания элементы визуального форматирования. Работа HTML-кодеров к середине — концу 1990-х гг. свелась, по сути, к сизифову труду — им приходилось долгие часы биться над каждым сколько- либо сложным макетом сайта, чтобы обеспечить более-менее предсказуемый внешний вид сверстанных на его основе страниц в нескольких распространенных на тот момент браузерах.
  • 17. HTML В 1997 г. официальной рекомендацией W3C становится HTML уровня 4.0, явившийся плодом множества компромиссов. HTML 4 вобрал в себя все визуальные возможности HTML 3.2, но в большинстве своем они были провозглашены как deprecated. Определены 3 типа языка: • Strict - строгий, предписывающий четкое соблюдение идеологии структурной, логической разметки и подразумевающий отказ от большинства возможностей визуального представления данных. • Transitional - переходный, намного более либеральный, оставляющий право пользоваться сомнительным наследием эпохи HTML 3.2. • Frameset - предназначенный для страниц, использующих фреймы — слабоактуальную ныне придумку компании Netscape. Наиболее предпочтительным, разумеется, является использование типа документов Strict.
  • 18. CSS Level 1 • Параметры шрифтов. Возможности по заданию гарнитуры и размера шрифта, а также его стиля — обычного, курсивного или полужирного. • Цвета. Спецификация позволяет определять цвета текста, фона, рамок и других элементов страницы. • Атрибуты текста. Возможность задавать межсимвольный интервал, расстояние между словами и высоту строки (то есть межстрочные отступы) • Выравнивание для текста, изображений, таблиц и других элементов. • Свойства блоков, такие как высота, ширина, внутренние (padding) и внешние (margin) отступы и рамки. Так же в спецификацию входили ограниченные средства по позиционированию элементов, такие как float и clear.
  • 19. CSS Layer 2 • Блочная вѐрстка. Появились относительное, абсолютное и фиксированное позиционирование. Позволяет управлять размещением элементов по странице без табличной вѐрстки. • Типы носителей. Позволяет устанавливать разные стили для разных носителей (например монитор, принтер, КПК). • Звуковые таблицы стилей. Определяет голос, громкость и т. д. для звуковых носителей (например для слепых посетителей сайта). • Страничные носители. Позволяет, например, установить разные стили для элементов на чѐтных и нечѐтных страницах при печати. • Расширенный механизм селекторов. • Указатели. Переопределение указателей мыши. • Генерируемое содержимое. Позволяет добавлять содержимое, которого нет в исходном документе, до или после нужного элемента.
  • 20. CSS Layer 3 • Media Queries. Технология позволяет подключать к HTML страницам различные стилевые таблицы, основываясь на различных данных об устройстве отображения. • Namespaces. Определяет правила определения стилей для элементов разных пространств имен в XHTML. • Selectors Level 3. Очередная порция дополнительных синтаксических возможностей селекторов. • Color Level 3. Определяет дополнительные цветовые модели для разметки. • …
  • 21. SVG, PNG • SVG (Scalable Vector Graphics) — PNG (Portable network graphics) — язык разметки масштабируемой растровый формат хранения векторной графики, созданный W3C графической и входящий в подмножество информации, использующий расширяемого языка разметки сжатие без потерь по алгоритму XML, предназначен для описания Deflate. Формат PNG двумерной векторной и смешанной спроектирован для замены векторно/растровой графики в устаревшего и более простого формате XML. Поддерживает как формата GIF, а также, в некоторой неподвижную, так и анимированную степени, для замены значительно интерактивную графику. более сложного формата TIFF.
  • 22. XML
  • 23. XML – что может быть проще? <?xml version="1.0" encoding="UTF-8"?> <recipe name="хлеб" preptime="5" cooktime="180"> <title>Простой хлеб</title> <composition> <ingredient amount="3" unit="стакан">Мука</ingredient> <ingredient amount="0.25" unit="грамм">Дрожжи</ingredient> <ingredient amount="1.5" unit="стакан">Тѐплая вода</ingredient> <ingredient amount="1" unit="чайная ложка">Соль</ingredient> </composition> <instructions> <step>Смешать все ингредиенты и тщательно замесить.</step> <step>Закрыть тканью и оставить на один час в тѐплом помещении.</step> <!-- <step>Почитать вчерашнюю газету.</step> - это сомнительный шаг... --> <step>Замесить ещѐ раз, положить на противень и поставить в духовку.</step> </instructions> </recipe>
  • 24. XML namespaces <?xml version="1.1" encoding="UTF-8"?> <Beers> <table xmlns="http://www.w3.org/1999/xhtml"> <th><td>Name</td><td>Origin</td><td>Description</td></th> <tr> <td><brandName xmlns="">Huntsman</brandName></td> <td><origin xmlns="">Bath, UK</origin></td> <td> <details xmlns=""><class>Bitter</class><hop>Fuggles</hop> <pro>Wonderful hop, light alcohol, good summer beer</pro> <con>Fragile; excessive variance pub to pub</con> </details> </td> </tr> </table>
  • 25. XHTML <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head xml:lang="en"> <title dir="ltr" lang="en">XHTML Sample File</title> </head> <body><h1>Welcome to XHTML</h1><p> <b>XHTML</b> stands for <b>W3C</b> <i>Extensible HyperText Markup Language</i>. <b>XHTML</b> is aimed to replace <b>HTML</b>. While almost identical to <b>HTML</b> 4.01, <b>XHTML</b> is a stricter and cleaner version of <b>HTML</b>. <b>XHTML</b> is <b>HTML</b> defined as an <b>XML</b> </p> </body> </html>
  • 26. Что такое DTD? <!ELEMENT html (head, body)> <!ATTLIST html %i18n; id ID #IMPLIED xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml' > <!ENTITY % head.misc "(script|style|meta|link|object|isindex)*"> <!ELEMENT head (%head.misc;, ((title, %head.misc;, (base, %head.misc;)?) | (base, %head.misc;, (title, %head.misc;))))> <!ATTLIST head %i18n; id ID #IMPLIED profile %URI; #IMPLIED >
  • 27. XML schema <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="страна" type="страна"/> <xs:complexType name="страна"> <xs:sequence> <xs:element name="название" type="xs:string"/> <xs:element name="население" type="xs:decimal"/> </xs:sequence> </xs:complexType> </xs:schema> <?xml version="1.0" encoding="utf-8"?> <страна> <название>Франция</название> <население>59.7</население> </страна>
  • 28. XPath • para выбирает все дочерние элементы para по отношению к текущему • * выбирает все дочерние элементы текущего • text() выбирает все текстовые элементы, дочерние для текущего • @name выбирает атрибут с именем name для текущего элемента • para[1] выбирает первый дочерний элемент para для текущего элемента • para[fn:last()] выбирает последний дочерний элемент para для текущего • */para выбирает все элементы-потомки para через уровень от текущего • chapter//para выбирает все элементы para, дочерние ко всем элементам chapter, непосредственным дочкам текущего • chapter[title="Introduction"] выбирает все дочерние для текущего элементы chapter, которые имеют один или более непосредственный потомок title, чье тело эквивалентно строке Introduction • ancestor::div выбирает всех предков div для текущего элемента
  • 29. XSLT <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <head><title>Sample XSLT</title></head> <body> <table> <tr><th>Name</th><th>Email</th></tr> <xsl:apply-templates/> <?xml version="1.0" encoding="UTF-8"?> </table> <?xml-stylesheet type="application/xslt+xml" href="xslt.xsl"?> </body> <list> </html> <person> </xsl:template> <name>Андрей</name> <xsl:template match="//person"> <surname>Кулешов</surname> <tr> <email>akuleshov@winnerlabs.ru</email> <td> </person> <xsl:value-of select="name/text()"/> <person> <xsl:text> </xsl:text> <xsl:value-of select="surname/text()"/> <name>Сергей</name> </td> <surname>Шебанин</surname> <td> <email>sergey.shebanin@ingate.ru</email> <xsl:value-of select="email/text()"/> </person> </td> </list> </tr> </xsl:template> </xsl:stylesheet>
  • 30. XLink <?xml version="1.0" encoding="UTF-8"?> <courseload xmlns:xlink="http://www.w3.org/1999/xlink"> <tooltip>Course Load for Pat Jones</tooltip> <course xlink:href="courses/cs101.xml" xlink:label="CS-101" xlink:title="Computer Science 101" /> </courseload>
  • 31. XForms <?xml version="1.0" encoding="UTF-8"?> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:xf="http://www.w3.org/2002/xforms"> <head> <title>Your Title Here</title> <xf:model> <xf:instance> <data xmlns=""> <PersonGivenName/> <PersonSurName/> </data> </xf:instance> <xf:bind id="PersonGivenName" nodeset="PersonGivenName"/> <xf:bind id="PersonSurName" nodeset="PersonSurName"/> </xf:model> </head> <body> <xf:input bind="PersonGivenName" incremental="true"> <xf:label>Input First Name:</xf:label> </xf:input> <br/> <xf:input bind="PersonSurName" incremental="true"> <xf:label>Input Last Name:</xf:label> </xf:input> </body> </html>
  • 32. XQuery <html><head/><body> { for $volume in doc("xpath.xml")//volume let $chapters := distinct-values($volume//chapter) return <span> <h1>{ $volume/@title }</h1> <ul> { for $chapter in $chapters return <li>{ $chapter }</li> } </ul> </span> } </body> </html>
  • 33. XPointer • XML Pointer Language (XPointer) — расширяемая спецификация, определяющая способы адресации фрагментов документов в формате XML. • В настоящее время существуют три таких схемы: element(), xmlns() и xpointer(), предназначенные для поиска элементов по их расположению, на основе пространства имѐн и при помощи языка XPath, соответственно. Пример: personal.xml#xpointer(//person[@id='five.worker']) (не работает в браузере )
  • 34. XInclude <?xml version='1.0' encoding="UTF-8"?> <document xmlns:xi="http://www.w3.org/2001/XInclude"> <p>Текст моего документа</p> <xi:include href="xinclude1.xml"/> </document> <?xml version='1.0' encoding="UTF-8"?> <copyright>Все права защищены © 2001- 2010</copyright> <?xml version='1.0' encoding="UTF-8"?> <document xmlns:xi="http://www.w3.org/2001/XInclude"> <p>Текст моего документа</p> <copyright>Все права защищены © 2001-2010</copyright> </document>
  • 36.
  • 39. Resource Description Framework (RDF) Триплет RDF Утверждение «небо голубого <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" цвета» в RDF-терминологии xmlns:props="http://example.org/phisicalProperties#"> можно представить следующим <rdf:description rdf:about="urn:Universe:Earth:Heaven"> <props:hasColor rdf:resource="urn:Universe:Colors:Blue"/> образом: субъект — </rdf:description> «небо», предикат — «имеет цвет», </rdf:RDF> объект — «голубой».
  • 40. RDFS / OWL / SKOS • RDF описывает факты • RDF Schema – базовый набор свойств отношений для триплетов RDF • Web Ontology Language – набор свойств отношений RDF для описания объектов и отношений между ними, а также для возможности дальнейшего расширения словарей смыслов • Simple Knowledge Organization System описывает набор свойств отношений RDF для описания абстракций и понятий
  • 41. RDFS / OWL / SKOS Примеры Примеры Примеры Примеры конструкций RDF свойств RDFS свойств OWL свойств SKOS rdf:type rdfs:domain owl:sameAs skos:Concept rdf:subject rdfs:range owl:Thing skos:broader rdf:predicate rdfs:Datatype owl:Nothing skos:narrower rdf:object rdfs:Class owl:hasValue skos:related rdf:value rdfs:subClassOf owl:Class skos:ConceptScheme rdf:resource rdfs:comment owl:cardinality skos:Collection rdf:datatype rdfs:label owl:oneOf skos:member
  • 42. Semantic Web Rule Language <?xml version="1.0" encoding="UTF-8"?> <ruleml:imp xmlns:ruleml="http://www.w3.org/2003/11/ruleml" xmlns:swrlx="http://www.w3.org/2003/11/swrlx"> <ruleml:_rlab ruleml:href="#example1"/> <ruleml:_body> <swrlx:individualPropertyAtom swrlx:property="hasParent"> hasParent(?x1,?x2) ∧ hasBrother(?x2,?x3) <ruleml:var>x1</ruleml:var> ⇒ hasUncle(?x1,?x3) <ruleml:var>x2</ruleml:var> </swrlx:individualPropertyAtom> <swrlx:individualPropertyAtom swrlx:property="hasBrother"> <ruleml:var>x2</ruleml:var> <ruleml:var>x3</ruleml:var> </swrlx:individualPropertyAtom> </ruleml:_body> <ruleml:_head> <swrlx:individualPropertyAtom swrlx:property="hasUncle"> <ruleml:var>x1</ruleml:var> <ruleml:var>x3</ruleml:var> </swrlx:individualPropertyAtom> </ruleml:_head> </ruleml:imp>
  • 43. SPARQL Следующий запрос возвращает имена и адреса каждого человека в мире: PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name ?email WHERE { ?person rdf:type foaf:Person. ?person foaf:name ?name. ?person foaf:mbox ?email. } Этот запрос может быть распределен на несколько конечных точек SPARQL, разных компьютеров, и сбор результатов осуществляется процедурой, известной как федеративный поиск.
  • 45. RDFa <?xml version="1.0" encoding="UTF-8"?> <html prefix="dc: http://purl.org/dc/elements/1.1/" lang="en"> <head> <title>John's Home Page</title> <base href="http://example.org/john-d/" /> <meta property="dc:creator" content="Jonathan Doe" /> <link rel="foaf:primaryTopic" href="http://example.org/john-d/#me" /> </head> <body about="http://example.org/john-d/#me"> <h1>John's Home Page</h1> <p>My name is <span property="foaf:nick">John D</span> and I like <a href="http://www.neubauten.org/" rel="foaf:interest" lang="de">Einstürzende Neubauten</a>. </p> <p> My <span rel="foaf:interest" resource="urn:ISBN:0752820907">favorite book is the inspiring <span about="urn:ISBN:0752820907"><cite property="dc:title">Weaving the Web</cite> by <span property="dc:creator">Tim Berners-Lee</span></span> </span> </p> </body> </html>
  • 47. Web-сервисы SOAP (Simple Object Access Protocol) — первоначально SOAP предназначался в основном для реализации удалѐнного вызова процедур (RPC). Сейчас протокол используется для обмена произвольными сообщениями в формате XML. WSDL (Web Services Description Language) — язык описания веб-сервисов и доступа к ним, основанный на языке XML. SAWSDL (Semantic Annotated Web Services Description Language) – расширение WSDL с возможностью указывать смысловые ограничения SML (Service Modeling Language) – технология, позволяющая описать сложные IT-сервисы и системы.
  • 48. Multimodal interaction • EMMA (Extensible MultiModal Annotation) – стандарт, описывающий взаимодействие между системами ввода и подсистемами обработки взаимодействия с пользователем • InkML – XML-язык для описания цифровых линий, оставляемых электронным пером • VoiceXML – стандарт, описывающий правила построения речевых диалогов между компьютером и человеком • CCXML (Voice Browser Call Control) – стандарт обработки асинхронных событий для VoiceXML • EmotionML – язык описания эмоций • SSML (Speech Synthesis Markup Language) – язык, описывающий правила синтезирования речи • PLS (Pronunciation Lexicon Specification) – рекомендация, определяющая правила описания произношения для синтезатора речи • SISR (Semantic Interpretation for Speech Recognition) – технология описания семантической грамматики для систем распознавания речи
  • 49. Accessibility Guidelines Специальная группа Web Accessibility Initiative занимается разработкой стандартов, которые помогают людям с ограниченными здоровьем возможностями полноценно использовать Web. Вот набор рекомендаций, которые они уже зарелизили: • User Agent Accessibility Guidelines • Authoring Tool Accessibility Guidelines • QA Framework: Specification Guidelines • Web Security Context: User Interface Guidelines • Web Content Accessibility Guidelines • …
  • 50. Другое • XKMS (XML Key Management Specification) – протокол обмена ключами для ассиметричного шифрования на базе XML • ITS (Internationalization Tag Set) – набор тегов, который позволяет указывать правила перевода документа • EXI (Efficient XML Interchange) – стандарт, описывающий бинарную упаковку XML для минимизации размера при передаче по сети • DDR (Device Description Repository) – стандарт, определяющий репозиторий описания различных устройств (в первую очередь мобильных), для того, чтобы было проще предоставлять клиентам подходящий им контент • PICS (Platform for Internet Content Selection) – правила описания возрастных и других ограничений для ресурсов, был заменен на POWDER (использует OWL и RDF). • SMIL (Synchronized Multimedia Integration Language) – язык, описывающий комбинацию мультимедийных документов, используется в MMS • TTML (Timed Text Markup Language) – XML-конструкция, позволяющая описывать события во времени • WebCGM (Computer Graphics Metafile) – профиль, описывающий текстовую репрезентацию двумерных графических векторных форматов, является подмножеством по отношению к SVG • P3P (Platform for Privacy Preferences (P3P) Project) – это протокол, позволяющий веб-сайтам информировать браузер о предполагаемом получении личных данных пользователя
  • 51. Что почитать? • http://www.w3.org/ • http://www.wikipedia.org/ • http://site.nic.ru/ • http://shcherbak.net/
  • 52. На этом все  Задать мне вопрос: sergey.shebanin@ingate.ru