Структура таблицы OXML

Вывод XML (OXML) – это XML, соответствующий схеме spss-output. Подробное описание схемы см. в разделе справки «Схема вывода».

n    Идентификаторы команд и подтипов в OMS используются в качестве значений атрибутов command и subType в OXML. Пример:

<command text="Frequencies" command="Frequencies"…>

<pivotTable text="Gender" label="Gender" subType="Frequencies"…>

n    Значения атрибутов OMS command и subType не зависят от языка вывода и установок отображения имен/меток переменных и значений/меток значений.

n    XML чувствителен к регистру ввода символов. Значение атрибута subType для

“frequencies” не то же самое, что значение атрибута subType для “Frequencies”.

n    Вся информация, содержащаяся в таблице, содержится в значениях атрибутов OXML.

На уровне отдельных ячеек OXML содержит “пустые” элементы, которые имеют атрибуты, но не имеют иного “содержимого” кроме содержащегося в значениях атрибутов.

n    Структура таблицы в OXML представляется построчно. Элементы, представляющие столбцы, вкладываются в строки, а отдельные ячейки вкладываются в элементы столбцов:

<pivotTable…>

<dimension axis=’row’…>

<dimension axis=’column’…>

<category…>

<cell text=’…’ number=’…’ decimals=’…’/>

</category>

<category…>

<cell text=’…’ number=’…’ decimals=’…’/>

</category>

</dimension>

</dimension>

</pivotTable>

Приведенный выше пример является упрощенным представлением структуры, показывающей иерархические связи между этими элементами. Однако, в этом примере не обязательно должны быть показаны иерархические взаимосвязи, потому что они обычно нарушают уровни вложенности элементов.

На рисунке показан пример простой частотной таблицы и полное представление XML

для этой таблицы.

Рисунок 21-15

Простая таблица частот

Рисунок 21-16

XML для простой частотной таблицы

<?xml version="1.0" encoding="UTF-8" ?>

<outputTreeoutputTree xmlns="http://xml.spss.com/spss/oms"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://xml.spss.com/spss/oms

http://xml.spss.com/spss/oms/spss-output-1.0.xsd">

<command text="Frequencies" command="Frequencies"

displayTableValues="label" displayOutlineValues="label"

displayTableVariables="label" displayOutlineVariables="label">

<pivotTable text="Gender" label="Gender" subType="Frequencies"

Система управления выводом (Output Management System)

varName="gender" variable="true">

<dimension axis="row" text="Gender" label="Gender"

varName="gender" variable="true">

<group text="Valid">

<group hide="true" text="Dummy">

<category text="Female" label="Female" string="f"

varName="gender">

<dimension axis="column" text="Statistics">

<category text="Frequency">

<cell text="216" number="216"/>

</category>

<category text="Percent">

<cell text="45.6" number="45.569620253165" decimals="1"/>

</category>

<category text="Valid Percent">

<cell text="45.6" number="45.569620253165" decimals="1"/>

</category>

<category text="Cumulative Percent">

<cell text="45.6" number="45.569620253165" decimals="1"/>

</category>

</dimension>

</category>

<category text="Male" label="Male" string="m" varName="gender">

<dimension axis="column" text="Statistics">

<category text="Frequency">

<cell text="258" number="258"/>

</category>

<category text="Percent">

<cell text="54.4" number="54.430379746835" decimals="1"/>

</category>

<category text="Valid Percent">

<cell text="54.4" number="54.430379746835" decimals="1"/>

</category>

<category text="Cumulative Percent">

<cell text="100.0" number="100" decimals="1"/>

</category>

</dimension>

</category>

</group>

<category text="Total">

<dimension axis="column" text="Statistics">

<category text="Frequency">

<cell text="474" number="474"/>

</category>

<category text="Percent">

<cell text="100.0" number="100" decimals="1"/>

</category>

<category text="Valid Percent">

<cell text="100.0" number="100" decimals="1"/>

</category>

</dimension>

</category>

</group>

</dimension>

</pivotTable>

</command>

</outputTree>

Как Вы можете видеть, простая таблица может порождать достаточно большой объем текста XML. Отчасти это происходит потому, что XML содержит некоторую информацию, которая не видна в исходной таблице, некоторую информацию, которой даже просто нет в исходной таблице, и некоторую избыточную информацию.

n    Содержимое таблицы, отображаемое так же, как отображалось бы во Viewer,

содержится в атрибутах текста (text). Пример:

<command text="Частоты" command="Frequencies"…>

n    На представление текстовых атрибутов влияют как язык вывода, так и установки отображения имен/меток переменных и значений/меток значений. В данном примере

значение атрибута text будет различаться, в зависимости от языка вывода, тогда как

значение атрибута command будет оставаться неизменным, независимо от языка вывода.

n    Там где переменные или значения переменных встречаются в метках строк или столбцов, XML будет содержать атрибут text и одно или более значений

дополнительных атрибутов. Пример:

<dimension axis="row" text="Пол" label="Gender" varName="gender">

…<category text="Женский" label="Female" string="f" varName="gender">

n    Для числовых значений вместо атрибута string будет использоваться атрибут number.

Атрибут label присутствует только тогда, когда имеется метка переменной или метки

значений.

n    Элементы <cell>, содержащие числовые значения ячеек, будут содержать атрибут text и

один или более дополнительных атрибутов значений. Пример:

<cell text="45.6" number="45.569620253165" decimals="1"/>

Атрибут number является фактическим, неокругленным числовым значением, а атрибут

decimals указывает на количество десятичных знаков в его представлении в таблице.

n    Поскольку столбцы вложены в строки, элемент категории, идентифицирующий каждый столбец, появляется в каждой строке. Например, поскольку статистики выводятся в

столбцах, элемент <category text="Частота"> появляется в XML три раза: один раз

для строки male (мужчины), один раз для строки female (женщины) и один раз для

строки total (итог).

OMS-идентификаторы

Система управления выводом (Output Management System)

Диалоговое окно Идентификаторы OMS предназначено для того, чтобы помочь Вам в написании синтаксиса команды OMS. С помощью этого окна Вы можете вставлять идентификаторы команд и идентификаторы подтипов таблиц в окно Редактора синтаксиса. Рисунок 21-17

Диалоговое окно Идентификаторы OMS

Использование диалогового окна Идентификаторы OMS

E   Выберите в меню:

Cервис > Идентификаторы OMS…

E   Выберите одну или несколько идентификаторов команд и подтипов таблиц.  (Чтобы выделить несколько идентификаторов в списке, щелкните по ним, удерживая нажатой клавишу «Ctrl».)

E   Щелкните Вставить команду и/или Вставить подтип.

n    Список доступных подтипов соответствует выбранной в данный момент команде(ам).

Если выделены несколько команд, список доступных подтипов является объединением всех подтипов для всех выделенных команд. Если не выделено ни одной команды, в списке присутствуют все подтипы.

n    Идентификаторы вставляются в окно назначения Редактора синтаксиса в текущую позицию курсора. Если нет открытых окон Редактора синтаксиса, то автоматически открывается новое окно.

n    Каждый идентификатор команды и/или подтипа при вставке в синтаксис заключается в кавычки, поскольку в синтаксисе команды OMS требуются кавычки для идентификаторов.

n    Списки идентификаторов ключевых слов COMMANDS и SUBTYPES должны быть заключены в квадратные скобки, как в данном примере:

/IF COMMANDS=[‘Crosstabs’ ‘Descriptives’] SUBTYPES=[‘Crosstabulation’ ‘Descriptive Statistics’]

Источник: Руководство пользователя по базовой системе Statistics 20

Похожие посты:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий