XML-формы
В предыдущем примере мы создавали XML-документ динамически, добавляя каждый элемент, и указывая его тип. Это не очень удобно. Теперь создадим форму для этого документа.
Создайте в текстовом редакторе файл form1.xmd со следующим содержимым
<?xml version="1.0"?>
<SPXML-FORM>
<root>
<name TYPE="string"/>
<saved_date TYPE="date"/>
</root>
</SPXML-FORM>
Выполним скрипт
doc = OpenNewDoc( 'form1.xmd' );
doc.root.name = 'My name';
doc.root.saved_date = CurDate;
alert( doc.root.Xml )
В этом случае запись стала проще, но мы можем использовать только те элементы, которые определены в форме.
Обратите внимание, что в SP-XML работать с XML так же просто как с JSON – можно напрямую обращаться по именам в структуре.
Но есть одно важное отличие между работой с XML и работой с JSON. В JSON каждый элемент – это либо скалярное значение, либо массив, либо структура из других элементов. В XML каждый элемент документа – это объект типа XmlElem. У этого объекта есть:
Набор стандартных атрибутов (Name, Type, Value и др.), и стандартных методов.
Набор XML-атрибутов.
Дочерние элементы.
Значение (текст между тегами). Значение – это так называемое “Значение объекта по умолчанию”, то есть скалярное значение, к которому преобразовывается объект, если он участвует в арифметических операциях или преобразовывается к строке. То есть alert( doc.root.name ) эквивалентно alert( doc.root.name.Value).
Обратите внимание, что встроенные свойства и методы платформы всегда начинаются с заглавной буквы. Поля XML-документа традиционно пишут строчными символами через символ подчеркивания.