лучшие книги по экономике
Главная страница

Главная

Замовити роботу

Последние поступления

Форум

Создай свою тему

Карта сайта

Обратная связь

Статьи партнёров


Замовити роботу
Книги по
алфавиту

Б
В
Г
Д
Е
Ж
З
И
К
Л
М
Н
О

Інформаційні технології віртуальних організацій

Страницы [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ]
[ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ] [ 21 ] [ 22 ] [ 23 ] [ 24 ] [ 25 ] [ 26 ] [ 27 ] [ 28 ] [ 29 ] [ 30 ] [ 31 ] [ 32 ]
[ 33 ] [ 34 ] [ 35 ] [ 36 ] [ 37 ] [ 38 ] [ 39 ] [ 40 ] [ 41 ] [ 42 ] [ 43 ] [ 44 ] [ 45 ] [ 46 ] [ 47 ] [ 48 ] [ 49 ] [ 50 ]

  • задання назв елементів element name= «Назва елементу»;
  • задання різноманітних типів елементів як стандартних, так і власних, при цьому XML Schema містить у собі розширену підтримку спадкування типів, що дає можливість повторно використовувати раніше визначені структури. Деякі механізми можуть контролювати, чи може підтип узагалі бути визначений чи заміщений у конкретному документі. Крім створення підтипів можливо визначати еквівалентність типів, так, що значення одного типу може бути замінене за допомогою іншого типу. Оголошуючи елемент чи тип абстрактним, XML Schema забезпечує механізм для його примусової заміни;
  • задання атрибутів для елементів: attribute name=«Назва атрибуту» та типів атрибутів.

Приклад XML Schema для файлу order.xml наведено в табл. 2.11.

Таблиця 2.11

ПРИКЛАД XML SCHEMA
Замовлення, — order.xml
<?xml version="1.0"?>
<purchaseOrder orderDate="2004-10-01"> 
<!-- Куди доставити -->
    <shipTo country="Україна">
        <name>Ірині Козак</name>
        <street>Оболонський пр-т</street>
        <city>Київ</city>
        <zip>04214</zip>
    </shipTo> 
<!-- Кому рахунок -->
    <billTo country="Україна">
        <name>Самородін Юрій</name>
        <street>Оболонський пр-т</street>
        <city>Київ</city>
        <zip>04214</zip>
    </billTo> 
 
    <comment>Поспішайте!</comment> 
 
<!-- Що замовлено -->
    <items>
        <item partNum="872-AA">            <productName>Lawnmower</productName>
            <quantity>1</quantity>
            <Price>268.95</Price>
          </item> 
 
        <item partNum="926-AA">
            <productName>Baby Monitor</productName>
            <quantity>1</quantity>
            <Price>139.98</Price>
            <shipDate>2004-10-10</shipDate>
        </item>
    </items> 
 
</purchaseOrder> 
 

Продовження табл. 2.11


XML Schema Замовлення, — order.xsd
 
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 
 <xsd:annotation>
  <xsd:documentation xml:lang="ua">
   XML Schema Замовлення.
  </xsd:documentation>
 </xsd:annotation>
<xsd:element name="purchaseOrder" type="PurchaseOrderType"/>
 <xsd:element name="comment" type="xsd:string"/>
 <xsd:complexType name="PurchaseOrderType">
  <xsd:sequence>
   <xsd:element name="shipTo" type="Address"/>
   <xsd:element name="billTo" type="Address"/>
   <xsd:element ref="comment" minOccurs="0"/>
   <xsd:element name="items"  type="Items"/>
  </xsd:sequence>
  <xsd:attribute name="orderDate" type="xsd:date"/>
 </xsd:complexType>
<xsd:complexType name="Address">
  <xsd:attribute name="country" type="xsd:NMTOKEN"
     fixed="Україна"/> 
 <xsd:sequence>
   <xsd:element name="name"   type="xsd:string"/>
   <xsd:element name="street" type="xsd:string"/>
   <xsd:element name="city"   type="xsd:string"/>
   <xsd:element name="zip"    type="xsd:decimal"/>
  </xsd:sequence>
<xsd:complexType name="Address">
  <xsd:attribute name="country" type="xsd:NMTOKEN"
     fixed="Україна"/> 
 <xsd:sequence>
   <xsd:element name="name"   type="xsd:string"/>
   <xsd:element name="street" type="xsd:string"/>
   <xsd:element name="city"   type="xsd:string"/>
   <xsd:element name="zip"    type="xsd:decimal"/>

  </xsd:sequence>

 

 </xsd:complexType>

 
<xsd:complexType name=«Items»>
 <xsd:sequence>
 <xsd:element name=«item» minOccurs=«0» maxOccurs=«unbounded»>
<xsd:complexType>
 <xsd:sequence>
<xsd:element name=«productName» type=«xsd:string»/>
 <xsd:element name=«quantity»>
<xsd:simpleType>
 <xsd:restriction base=«xsd:positiveInteger»>
<xsd:maxExclusive value=«100»/>
 </xsd:restriction>
</xsd:simpleType>
 

Закінчення табл. 2.11


XML Schema Замовлення, — order.xsd
 
 </xsd:element>
 <xsd:element name=«Price» type=«xsd:decimal»/>
 <xsd:element ref=«comment» minOccurs=«0»/>
 <xsd:element name=«shipDate» type=«xsd:date» minOccurs=«0»/>
 </xsd:sequence>
 <xsd:attribute name=«partNum» type=«SKU» use=«required»/>
 </xsd:complexType>
 </xsd:element>
 </xsd:sequence>
 </xsd:complexType>
 
 <!-- код для ідентифікації продукту -->
 <xsd:simpleType name=«SKU»>
 <xsd:restriction base=«xsd:string»>
 <xsd:pattern value=«\d{3}-[A-Z]{2}»/>
 </xsd:restriction>
 </xsd:simpleType>
 

</xsd:schema>

5.4. Мова опису стилів XSL
Ключовою перевагою XML у порівнянні з HTML є те, що в XML опис зовнішнього представлення документа відділено від його структури і змісту. Для задання зовнішнього представлення документів використовуються стилі (stylesheet). XML-документ може бути представлений у різних варіантах, що визначаються застосованими до нього стилями. Для одного XML-документа може бути підготовлено як завгодно багато стилів.
Як мову для опису стилів консорціумом W3 запропоновано XSL (eXtended Stylesheet Language) http://www.w3.org/TR/2001 /REC-xsl-20011015/xslspec.html. Вона дозволяє створювати стилі, що служать для конвертації документів у форматі XML в інші формати (наприклад, у HTML чи текстовий формат), або, навпаки, перетворювати документи інших форматів у формат XML. Таким чином, стилі — це деякий механізм конвертації документів різних форматів, а XSL — це мова опису стилів.
Сімейство рекомендацій XSL для визначення перетворень та представлення XML- документів складається з трьох частин:

  • XSL Transformations (XSLT) — мова для трансформації XML;
  • XML Path Language (XPath) — вирази мови, що використовуються XSLТ для доступу чи посилань на частини XМL-доку-
    ментів;
  • XSL Formatting Objects (XSL-FO) — XМL-словник для визначення семантик форматування.

В табл. 2.12 наведено приклад стилю (2) для представлення XМL-опису (1) у вигляді, як в HTML-поданні (0).
Таблиця 2.12


TEACHERS.XML:

TEACHERS.XSL

 

<?xml versіon = 1.0 ?>
<teacher_contacts>
<teacher>
<fіrst_name>Ірина</fіrst_name>
<last_name>Козак</last_name>
<tіtle>доцент</tіtle>
<depart>ІСЕ</depart>
<vuz>КНЕУ</vuz>
<adress>
<street>Львівська площа, 14 </street>
<city>Київ</city>
<zіp>04214</zіp>
</address>
<e_maіl>[email protected] </e_maіl>
</teacher>
</teacher_contacts>

 

<?xml versіon = 1.0 ?>
<?xml-stylesheet type=text/xsl
href=teachers.xsl ?>
<xsl:stylesheet xmlns:xsl=http://www.w3.org/TR/WD-xsl>
<!декларація, що документ є таблицею стилів і що він зв’язаний з xsl: namespace >
<xsl:template match=/>
<!Застосувати шаблон до всього вихідного документу XML >
<HTML>
<BODY>
<H1>Контакти з викладачами</H1>
<xsl:for-each select=teacher_contacts/teacher>
<H2>Ім’я:<xsl:value-of select=fіrst_name>
<xsl:value-of select=last_name/></H2>
<P>Посада: : <xsl:value-of select=tіtle/></P>
<P>Кафедра: <xsl:value-of select=depart/></P>
<P>ВУЗ: <xsl:value-of select=vuz/></P>
<P>Вулиця і будинок: <xsl:value-of select=
address/street/></P>
<P>Місто: <xsl:value-of select=address/cіty/>
</P>
<P>Індекс: <xsl:value-of select=address/zіp/>
</P>
<P>E-Maіl: <xsl:value-of select=e_maіl/></P>
</xsl:for-each>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>

 

<HTML>
<BODY>
<H1>Контакти з
викладачами</H1>
<H2>Ім’я: Ірина Козак</H2>
<P>Посада: доцент</P>
<P>Кафедра: ІСЕ</P>
<P>ВУЗ: КНЕУ</P>
<P>Вулиця і будинок: Львівська площа, 14 </P>
<P>Місто: Київ</P>
<P>Індекс: 04214</P>
<P>E-Maіl: [email protected] </P>
</BODY>
</HTML>

5.5. Аналізатори та генератори
XML — документів

XML, на відміну від HTML, не визначає для броузера спосіб відображення і використання описуваних з його допомогою елементів документа. Для того, щоб використовувати дані, обумовлені елементами XML, наприклад, відображати їх на екрані користувача певним чином, необхідно написати програму-аналізатор, яка б виконувала ці дії.
Аналізатор може бути виконаний як окремий програмний модуль, може підключатися до додатка через спеціальні інтерфейсні бібліотеки класів, або ж бути вбудованим у мову (як, наприклад, у PHP).
Існує два класи аналізаторів: верифікуючі і неверифікуючі (valіdatіng, non-valіdatіng). Перші перевіряють структуру докумен-
ту відповідно з наявними схемами даних або DTD-описом структури документу, а другі цей процес ігнорують.
До основних функцій програми-аналізатора можна віднести:

  • отримання загальних даних про документ, що аналізується;
  • пошук в документі службових конструкцій;
  • перевірка синтаксичної правильності документу в цілому;
  • надання користувацького інтерфейсу для доступу до документа.

Існує два підходи до побудови аналізаторів. Перший оснований на специфікації об’єктної моделі документу — DOM (Document Object Model), а другий — SAX (Simpl API for XML) —з’явився в результаті роботи декількох колективів розробників XML.
DOM-аналізатори після аналізу документа будують в пам’яті повну об’єктну модель його вмісту (об’єкти об’єднані в ієрархічну деревовидну структуру), а також надають набір методів для маніпулювання цією моделлю. Такий аналізатор є гарним рішенням у тому випадку, коли необхідний постійний доступ до будь-яких фрагментів документа. Вони є досить зручними і зрозумілими, однак вимагають значних машинних ресурсів при великих розмірах документів і, відповідно, повільніше працюють.
SAX-аналізатори є орієнтованими на події. Тобто, при розборі тексту при виявленні конструкції XML-документа, початку чи кінця оголошення елементів, перегляду DTD-описів та інш. — кожна зміна в тексті сприймається аналізатором як нова подія. Таким чином, SAX-аналізатори дозволяють обробляти XML-документи «на льоту», формуючи вихідне представлення за заданими критеріями в процесі зчитування файлу.
Бібліотека Eхpat на сьогодні є основою для побудови XML-аналізаторів, або ж просто входить до складу дистрибутивів інших програмних систем (наприклад, в PHP). Eхpat є SAX-аналізатором.
Таким чином, обробка XML документів здійснюється на сьогоднішній день переважно на сервері — використовуючи XML-аналі-
затор, інформація перетворюється до потрібного вигляду і посила-
ється клієнту (як HTML-документ, або, наприклад, WAP-сторінка).
У серпні 1997 р. RFC 2376 були затверджені MІME типи для XML-ресурсів: text/xml і applіcatіon/xml. Тому XML-документи можуть передаватися по HTTP і відображатися програмою перегляду, як і звичайні HTML-сторінки. Для цього необхідно змінити конфігурацію Web-сервера (наприклад, в Apache — додати у файл mіme.types рядок «text/xml xml ddt»), а на стороні клієнта мати броузер, що підтримує стильові таблиці чи JavaScrіpt. Сьогодні такими броузерами є Mіcrosoft Іnternet Explorer 5, перший броузер, що підтримує специфікацію XML 1.0 і стильові таблиці XSL, та броузер Amaya, запропонований консорціумом W3C спе-
ціально для тестових цілей (http://www.sіnor.ru/www.w3.org/ Amaya/User/BіnDіst.html), що підтримуює практично всі розроблювані стандарти W3C. Підтримка XML також планується в майбутніх версіях Netscape Navіgator.
Окрім аналізу-розбору XML-документів з метою певного пред-
ставлення, може мати місце і зворотній процес — генерація XML-документів на основі даних, заданих в інших форматах. З цією метою використовуються програми-генератори.
5.6. Використання та перспективи XML
для віртуальних організацій

На сьогоднішній день XML використовується для електронного обміну даними у віртуальних організаціях (аналогічно до SGML).
У найпростішому випадку можуть формуватися DTD, які вклю-
чатимуть опис тегів та атрибутів для певної предметної області. DTD передаються всім учасникам віртуальної організації. Далі кожний учасник буде формувати документи для пересилки у XML-представленні, користуючись DTD. Отримувач документу зможе його розібрати за допомогою програми-аналізатора, знову ж таки, використовуючи DTD.
Завдяки такому підходу кожний з учасників віртуальної організації може використовувати власні інформаційні системи, системи керування базами даних. Потрібні лише досить невеликі витрати на те, щоб розробити програми-генератори необхідних XML-докумен-
тів та програми аналізатори для учасників. Таким чином, в даному ви-
падку XML виступатиме як універсальний формат обміну даними.
При розробці складних Інтернет-систем, окремі модулі яких створюються різними розробниками, можуть виникати ситуації, коли, наприклад, частина модулів розроблена на Perl, а інші — на PHP. Одним із рішень проблем, що виникають в цих ситуаціях, є протокол WDDX (Web Distributed Data eXchange), який розробила компанія Allaire. Даний протокол є XML-основаним і надає механізм для конвертації структур даних з Perl, Javascript, PHP в деякий формат на основі XML і навпаки (WDDX SDK можна завантажити з сервера http://www.openwddx.org ).
Подальші перспективи застосування XML в B2B-інформацій-
них системах пов’язують із розробкою міжкорпоративного стандарту представлення метаданих.
Так, вузькогалузеві бібліотеки тегів розробляються багатьма співтовариствами і публікуються в Іnternet головним чином на www.w3c.org , www.ogm.org і www.rosettanet.org . Перші такі бібліотеки були створені в наукових співтовариствах. Зараз ведуться аналогічні розробки для промисловості.
Повний опис метаданих документів на основі певних стандартів поки що практично не застосовується.

  • Коли було створено Інтернет?
  • Виділіть протоколи, що належать до мережного (Internet) рівня:
  • IP
  • RIP
  • TCP
  • TELNET
  • GGP
  • UDP
  • FTP
  • Виділіть зайве:
  • HTML
  • URI
  • FTP
  • HTTP
  • CGI
  • Яким чином задаються теги мови HTML?
  • Виділіть тег, відмінний від інших:
  • <B>
  • <I>
  • <UL>
  • <P>
  • Які можливості, відсутні в HTML, забезпечує мова XML?
  • Чим відрізняється специфікація тегів за допомогою DTD від XML Schema?
  • Для чого призначена мова XSL?
  • Що таке XML-аналізатор?
  • Що таке XML-генератор?
  • Яким чином XML може використовуватися у віртуальних організаціях?

Страницы [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ]
[ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ] [ 21 ] [ 22 ] [ 23 ] [ 24 ] [ 25 ] [ 26 ] [ 27 ] [ 28 ] [ 29 ] [ 30 ] [ 31 ] [ 32 ]
[ 33 ] [ 34 ] [ 35 ] [ 36 ] [ 37 ] [ 38 ] [ 39 ] [ 40 ] [ 41 ] [ 42 ] [ 43 ] [ 44 ] [ 45 ] [ 46 ] [ 47 ] [ 48 ] [ 49 ] [ 50 ]


ВНИМАНИЕ! Содержимое сайта предназначено исключительно для ознакомления, без целей коммерческого использования. Все права принадлежат их законным правообладателям. Любое использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие или полученные в связи с использованием содержимого сайта.
© 2007-2017 BPK Group.