Содержание
- 2. Формат сериализованного объекта Рассмотрим вид сериализованного объекта TestSerial, класс TestSerial имеет вид class parent implements Serializable
- 3. public static void main(String args[]) throws IOException { FileOutputStream fos = new FileOutputStream("temp.out"); ObjectOutputStream oos =
- 4. AC ED 00 05 73 72 00 0A 53 65 72 69 61 6C 54 65
- 5. AC ED: STREAM_MAGIC. Говорит о том, что используется протокол сериализации. 00 05: STREAM_VERSION. Версия сериализации. 0x73:
- 6. 0x02: Различные флаги. Этот специфический флаг говорит о том, что объект поддерживает сериализацию. 00 02: Число
- 7. Затем идет описание класса parent: 0x72: TC_CLASSDESC. Обозначение нового класса 00 06: Длина имени класса. 70
- 8. 0x49: Код типа поля. 49 обозначает «I», которое закреплено за Int. 00 0D: Длина имени поля.
- 9. 00 00 00 0A: 10, значение parentVersion 00 00 00 42: 66, значение version в SerialTest.
- 10. Далее идет описание единственного поля класса conatin, int containVersion = 11; 0x49: Код типа поля. 49
- 11. В конце записываются фактические данные ассоциированные с объектом класса conatin: 00 00 00 0B: 11, значение
- 12. XML Язык разметки XML (Extensible Markup Language) был разработан W3C. Главным преимуществом XML является cовместимость данных,
- 13. Основная идея XML – это текстовое представление с помощью тегов, структурированных в виде дерева данных. Древовидная
- 14. Cоздавать DTD для XML-документа не обязательно, программы-анализаторы будут обрабатывать XML-файл и без DTD. Но в этом
- 15. Во втором случае описание элемента помещается в XML-документ: ... ... ]> Описание элемента Элемент в DTD
- 16. Например, определим элемент у которого есть дочерние элементы и , тогда получим описание В данном случае
- 17. Кроме маркера PCDATA, есть также маркеры EMPTY –элемент пуст, ANY – содержимое документа специально не описывается.
- 18. Если существует несколько вариантов содержимого элементов, то используется символ ‘|’. Например: в данном случае элемент book
- 19. id ID #REQUIRED about CDATA #IMPLIED type (actual | review | teach ) 'actual' > В
- 20. ENTITY (ENTITES) – содержит имя внешней сущности (несколько имен, разделенных запятыми); NMTOKEN (NMTOKENS) – слово (несколько
- 21. #FIXED – означает, что атрибут может принимать лишь одно значение, то, которое указано в DTD. Если
- 22. ... &company; ... Программа-анализатор, которая будет обрабатывать файл, автоматически подставит значение Sun Microsystems вместо &company. В
- 23. &amp – символ &; &apos – символ апострофа ‘; &quot – символ двойной кавычки “. Т.е.
- 24. Внешний примитив XML. Имени примитива ставится в соответствие ХМL документ, URL которого указывается в при определении
- 25. Пример: Примитив параметра. Имя примитива связывается со значением, которое может быть использовано лишь в составе DTD
- 26. Пусть существует XML-документ, содержащий данные адресной книги: Valera 217819 http://www.aaa.com Main Str., 35 Kiev UKR
- 27. Igor 430797 http://http://www.a.com Deep Forest, 7 Polock VCL Тогда DTD файл будет иметь вид:
- 29. XLink Гипертекстовые средства XML базируются на понятии ресурса. Ресурсами считаются адресуемые фрагменты данных (например, файлы, изображения
- 30. Стандартные значения атрибута xlink:type, которые определены спецификацией XLink, перечислены ниже. simple. Создает простой связующий элемент, определяющий
- 31. arc. Определяет правила перехода между ссылками, содержащимися в расширенном связующем элементе (типа extended). title. Задает символьное
- 32. .................................................................. или Для создание простой ссылки используется значение simple атрибута xlink:type. В качестве значения атрибута xlink:href
- 33. Атрибуты, определяющие поведение ссылок Кроме атрибутов, используемых для связывания ресурсов, существуют атрибуты, позволяющие определить дополнительные характеристики
- 34. В составе связующего элемента могут также присутствовать атрибуты, задающие поведение ссылки. xlink:show- задает порядок отображения ресурса,
- 35. xlink:actuate- задает условия активации ссылки. Например, если в документе задано значение xlink:actuate="onLoad", это означает, что приложение
- 36. Расширенные ссылки Расширенные ссылки могут использоваться для создания множественных связей. Если одна из связей указывает на
- 37. Удаленный ресурс, находящийся за пределами расширенной ссылки (например, в составе другого XML-документа), представляется посредством подчиненного элемента
- 38. Рассмотрим несколько примеров. Предположим, что необходимо выразить на XML отношение между художником и окружающей его обстановкой.
- 39. Modigliani Amadeo July 12, 1884 January 24, 1920 In 1906, Modigliani settled in Paris, where ...
- 40. Помимо этого, в отдельные файлы включаются описания периодов, на которые можно условно разбить его творчество: Paris
- 41. Рассмотрим решение задачи- создание связей между этим творческим работником и его наследием с помощью XLink. Как
- 42. После объявления расширенной связи, необходимо указать задействованные ресурсы. Поскольку информация о художнике и его жизни хранится
- 43. xlink:type="extended"> xlink:href="cezanne.xml"/>
- 44. Уточним данный файл указав отношение между ресурсами:
- 45. Рассмотрим пример документа, содержащего три ссылки на удаленные ресурсы, описывающих разновидности продукта. Значения атрибута xlink:role могут
- 46. xlink:href=“http://www.beeshirts.com/sweaters/calsic/“ xlink:title="Classic Sweater Style“ xlink:role="classic"/> xlink:href=“http://www.beeshirts.com/sweaters/sports/“ xlink:title="Sporty Sweater Style“ xlink:role="sports"/>
- 47. Правила перехода будут иметь вид: xlink:title=“BeeShirts.com Sweaters”> ……………. xlink:from="sweaters" xlink:to="classic" xlink:show="replace" xlink:actuate="onRequest"/>
- 48. Рассмотрим пример простых связей. xlink:type="simple" xlink:href="http://www.users.interport.net/~beand/"> Beth Anderson xlink:type="simple" xlink:href="footnote7.xml"> 7 xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple“ xlink:href="logo.gif" xlink:actuate="onLoad" xlink:show="embed"/>
- 49. Например, в первом элементе COMPOSER атрибут xlink:href определяет адресат связи. Значение атрибута - абсолютный URL http://www.users.interport.net/~beand/.
- 51. Рассмотрим примеры использования атрибута xlink:show. xlink:href="http://www.users.interport.net/~beand/"> Beth Anderson Если значение xlink:show равно replace, то при активизации
- 52. xlink:type="simple" xlink:show="new" xlink:href="http://www.quackwatch.com/"> Check this out, but don't leave our site completely! Если значение xlink:show равно
- 53. xlink:type="simple" xlink:href="images/nypride.jpg" xlink:show="embed" ALT="Marchers on 5th Avenue, June 2000"/> Если значение xlink:show равно embed, то при
- 54. XSD Формат xsd идет на смену формату dtd. Рассмотрим пример. Пусть имеется файл “заказ на покупку”
- 55. Lawnmower 1 148.95 Confirm this is electric Baby Monitor 1 39.98 1999-05-21
- 56. Пусть схема документа "Заказ на покупку" содержится в файле po.xsd. xmlns:xsd="http://www.w3.org/2001/XMLSchema"> Purchase order schema for Example.com.
- 58. type="xsd:NMTOKEN" fixed="US"/>
- 59. maxOccurs="unbounded">
- 60. minOccurs="0"/> use="required"/>
- 61. Схема заказа на покупку состоит из элемента schema и множества подэлементов, среди которых наиболее часто упоминаются
- 62. Каждый из элементов в схеме имеет префикс xsd:. Этот префикс связан с именным пространством XML-схемы через
- 63. Определение комплексных типов, объявление элементов и атрибутов Новые комплексные типы определяются с помощью оператора complexType. Такие
- 64. Рассмотрим определение комплексного типа USAddress: type="xsd:NMTOKEN" fixed="US"/>
- 65. В результате этого определения любой элемент типа USAddress, появляющийся в документе (например, элемент shipTo в файле
- 66. Определение USAddress содержит объявления, включающие только простые типы: string, decimal и NMTOKEN. А определение PurchaseOrderType содержит
- 68. В определении PurchaseOrderType, объявления элементов shipTo и billTo, связывают различные имена элементов с одним и тем
- 69. Иногда предпочтительно использовать ссылку на существующий тип элемента, а не объявлять новый, например: В этом объявлении
- 70. Ограничение вхождений Значение параметра minOccurs равное 0 у элемента comment говорит о том, что он не
- 71. Атрибуты, в отличие от элементов, могут появиться только однажды или ни разу. В частности атрибуты могут
- 72. Значение по умолчанию для элементов обрабатывается немного по-другому. Если элемент появляется в документе, но не содержит
- 73. Простые типы Язык XML-схемы имеет довольно обширный набор простых типов. Новые простые типы можно определить, получая
- 74. Рассмотрим пример, создадим новый простой тип myInteger: Чтобы определить тип myInteger, ограничивается диапазон базового типа integer,
- 75. Возможно использование и других комбинаций встроенных простых типов и фасетов. Рассмотрим более сложный пример определения простого
- 76. Язык XML-схем определяет пятнадцать фасетов. Среди них особенно полезен фасет enumeration. Его можно использовать для ограничения
- 77. Рассмотрим пример:
- 78. Тип List В дополнение к так называемым атомарным типам, которые составляют большинство, XML-схема имеет понятие списка.
- 79. В дополнение к встроенным списочным типам можно создать новые списочные типы из существующих атомарных типов. Невозможно
- 80. Для создания списочного типа могут быть применены следующие фасеты: length, minLength, maxLength, и enumeration. Например, чтобы
- 81. Элементы, тип которых - SixUSStates, должны содержать шесть элементов, и каждый из этих шести элементов должен
- 82. Тип Union Атомарные типы и списочные типы дают возможность элементу или атрибуту принимать значение (одно или
- 83. memberTypes="USState listOfMyIntType"/> Атрибут memberTypes оператора union задает список всех типов в объединении. Предположим, что был объявлен
- 84. Определение анонимных типов При создании схем применяется два стиля. Схемы могут создаваться путем определения поименованных типов
- 85. Анонимный тип нет необходимости именовать и, следовательно, задавать на него ссылки. Определение типа Items в po.xsd
- 87. Для того чтобы начать описание нового анонимного типа, используется элемент complexType. Чтобы указать, что новый тип
- 88. Смешанное содержимое Рассмотрим вариант размещения символьных данных в любом элементе. Пример: Dear Mr. Robert Smith .
- 89. Текст появляется между элементами salutation, quantity, productName и shipDate, которые являются дочерними элементами letterBody. Рассмотрим схему
- 90. Элементы, появляющиеся в письме клиенту объявлены, и их типы определены, с помощью операторов element и complexType.
- 91. Такой элемент вообще не имеет никакого содержания. Чтобы определить тип, содержание которого пусто, необходимо определить тип,
- 93. В этом примере, определяется анонимный тип с помощью оператора complexContent, то есть предполагается, что он будет
- 94. Этот компактный синтаксис работает потому, что комплексный тип, определенный как simpleContent или complexContent интерпретируется как упрощенное
- 95. anyType anyType представляет абстракцию, которая является базовым типом прародителем всех простых и комплексных типов. Тип anyType
- 96. Аннотации Язык XML-схемы обеспечивает несколько элементов предназначенных для аннотации схемы. Содержимое этих элементов предназначено как для
- 97. Элемент appInfo, может использоваться, чтобы предоставить информацию для инструментальных средств, таблиц стилей и других приложений. Элемент
- 98. XML-схема позволяет определить поименованную группу элементов, которые могут использоваться в моделях содержимого комплексного типа. Также может
- 99. Для иллюстрации вышесказанного в определение PurchaseOrderType из схемы заказа на покупку введем две группы, так что
- 100. type="USAddress"/>
- 101. Элемент выбора в группе choice обеспечивает правило, по которому в документе-образце может появиться только один из
- 102. Для ограничения появления элементов в группе существует еще одна возможность. Предположим, что все элементы группы должны
- 104. В соответствии с этим определением элемент comment может появиться в любом месте purchaseOrder, причем как до,
- 105. Группы атрибутов Предположим, что необходимо обеспечить подробную информацию о каждом продукте в заказе на закупку. Например,
- 106. ………………………………………..
- 107. Вместо этого можно создать поименованную группу атрибутов, содержащую все желательные атрибуты элемента item, и в объявлении
- 108. Значения Nil Один из объектов в заказе на закупку, перечисленных в po.xml, Lawnmower, не имеет элемента
- 109. Для индикации возможности пустого значения элемента Nil-механизм XML-схемы использует специальный признак. Другими словами, возможное пустое значение
- 111. Скачать презентацию