Altova xmlspy инструкция на русском

Давно прочитал фразу: «XML как воздух», XML — важный стандарт обмена данными в разработке корпоративных приложений. XSD можно использовать для проверки правильности формата данных XML.

Типичный файл XSD выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2013 (http://www.altova.com) by  () -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="AWB">
<xs:annotation>
<xs:documentation>Накладная</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="AWB-INFO" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="AWBPRE">
<xs:annotation>
<xs:documentation>Префикс накладной состоит только из 3 цифр.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:totalDigits value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="AWBNO">
<xs:annotation>
<xs:documentation>Для номера накладной можно ввести только 8 цифр.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:totalDigits value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PART-INFO">
<xs:complexType>
<xs:sequence>
<xs:element name="PARTICIPANT" minOccurs="2" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Участники логистики должны иметь не менее 2</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="TYPE">
<xs:annotation>
<xs:documentation>Тип логистической ссылки может быть только одним из A / S / C.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="C"/>
<xs:enumeration value="S"/>
<xs:enumeration value="A"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ADDRESS" type="AddressType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="AddressType">
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="Street" type="xs:string"/>
<xs:element name="City" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>

Увидев этот большой кусок xml, первой реакцией обычно является головокружение. К счастью, это содержимое не нужно писать вручную. Уже есть много готовых инструментов, таких как XmlSpy, которые можно удобно заполнить в режиме графического интерфейса, щелкнув значок мышь и перетаскивание.Разработка XSD.

Это интерфейс визуального дизайна XSD в XmlSpy. Он также может переключаться между различными представлениями, например следующими:

Тем, кто впервые сталкивается с XmlSpy, настоятельно рекомендуется просмотреть файл Tutorial.pdf в каталоге установки. Это хорошее вводное руководство. Вы определенно можете просмотреть его 30 минут назад.

В C # XSD можно удобно использовать для проверки правильности XML-файла. Пример кода выглядит следующим образом:

using System;
using System.Xml;
namespace XsdValidate
{
class Program
{
static void Main(string[] args)
{
string xmlFile = @"C:Usersjimmy.yangDesktopXMLSPYTESTsample.xml";
string xsdFile = @"C:Usersjimmy.yangDesktopXMLSPYTESTsample.xsd";
var xsdValidateResult = ValidateXml(xmlFile, xsdFile);
if (xsdValidateResult.Item1)
{
Console.WriteLine("Проверка пройдена!");
}
else
{
Console.WriteLine("Ошибка проверки, причина:  n" + xsdValidateResult.Item2);
}
Console.Read();
}
/// <summary>
///  Используйте xsd, чтобы убедиться, что xml правильный
/// </summary>
/// <param name="xmlFilePath">xml путь к файлу</param>
/// <param name="xsdFilePath">xsd путь к файлу</param>
/// <returns></returns>
static Tuple<bool, string> ValidateXml(string xmlFilePath, string xsdFilePath)
{
Tuple<bool, string> result = new Tuple<bool, string>(true, "");
XmlReaderSettings st = new XmlReaderSettings();
st.ValidationType = ValidationType.Schema;
st.Schemas.Add(null, xsdFilePath);
//Установите событие, когда возникает ошибка при проверке xml.
st.ValidationEventHandler += (obj, e) =>
{
result = new Tuple<bool, string>(false, e.Message);
};
XmlReader xr = XmlReader.Create(xmlFilePath, st);
while (xr.Read())
{
if (xr.IsStartElement())
{
xr.Read();
}
}
xr.Close();
return result;
}
}
}

Примечание. Если узел использует шаблон, то есть проверку регулярного выражения, например

<xs:restriction base=»xs:string»>
         <xs:pattern value=»^d{8}$»></xs:pattern>
</xs:restriction>

В XMLSpy узел должен быть заполнен «^ 12345678 $», чтобы пройти проверку, и если вы используете .NET / JAVA для написания проверки кода, ^, $ можно автоматически распознать как «начало / конец совпадающего символа».

XSD также может легко генерировать классы C #, есть два способа:

1. Сначала откройте файл XSD в XMLSpy, затем DTD / Schema-> Generate Program Code, затем следуйте инструкциям.

Примечание. Класс C #, сгенерированный XMLSpy, слишком сложен, я лично думаю, что он немного длинноват.

2. Используйте команду xsd, которая идет непосредственно с vs.net.

В командной строке vs.net введите

xsd «Путь к файлу xsd» / classes / out: «Каталог вывода файла cs»

Соответствующий класс cs может быть сгенерирован. Код класса cs, сгенерированный xsd в начале статьи, выглядит следующим образом:

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.18331
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System.Xml.Serialization;
// 
// This source code was auto-generated by xsd, Version=4.0.30319.1.
// 
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
public partial class AWB {
private AWBAWBINFO aWBINFOField;
private AWBPARTICIPANT[] pARTINFOField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("AWB-INFO")]
public AWBAWBINFO AWBINFO {
get {
return this.aWBINFOField;
}
set {
this.aWBINFOField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlArrayAttribute("PART-INFO")]
[System.Xml.Serialization.XmlArrayItemAttribute("PARTICIPANT", IsNullable=false)]
public AWBPARTICIPANT[] PARTINFO {
get {
return this.pARTINFOField;
}
set {
this.pARTINFOField = value;
}
}
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
public partial class AWBAWBINFO {
private string aWBPREField;
private string aWBNOField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
public string AWBPRE {
get {
return this.aWBPREField;
}
set {
this.aWBPREField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
public string AWBNO {
get {
return this.aWBNOField;
}
set {
this.aWBNOField = value;
}
}
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class AddressType {
private string nameField;
private string streetField;
private string cityField;
/// <remarks/>
public string Name {
get {
return this.nameField;
}
set {
this.nameField = value;
}
}
/// <remarks/>
public string Street {
get {
return this.streetField;
}
set {
this.streetField = value;
}
}
/// <remarks/>
public string City {
get {
return this.cityField;
}
set {
this.cityField = value;
}
}
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
public partial class AWBPARTICIPANT {
private AWBPARTICIPANTTYPE tYPEField;
private AddressType aDDRESSField;
/// <remarks/>
public AWBPARTICIPANTTYPE TYPE {
get {
return this.tYPEField;
}
set {
this.tYPEField = value;
}
}
/// <remarks/>
public AddressType ADDRESS {
get {
return this.aDDRESSField;
}
set {
this.aDDRESSField = value;
}
}
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
public enum AWBPARTICIPANTTYPE {
/// <remarks/>
    C,
/// <remarks/>
    S,
/// <remarks/>
    A,
}

Команда xsd также может напрямую генерировать файлы xsd на основе xml, использование выглядит следующим образом:

xsd c:sampe.xml /out:c:

Это сгенерирует файл sample.xsd в c: согласно sample.xml.

Автор:Ян Го под деревом Бодхи
Источник:http://yjmyzz.cnblogs.com 
Авторские права на эту статью принадлежат автору и блогу, добро пожаловать на перепечатку, но без согласия автора вы должны сохранить это заявление и предоставить исходную ссылку на видном месте на странице статьи, в противном случае право на преследовать юридическую ответственность сохраняется.

Работа с Altova XML Spy

Основной инструмент редактирования SVG–обычный текстовый редактор, однако в нем отсутствует подсветка синтаксиса и возможность быстрого просмотра внесенных изменений. При написании этого курса использовался, пожалуй, лучший редактор XML документов – Altova XML Spy 2007 (http://www.altova.com/ (36,3 Мб)). Его также можно применять для создания SVG–файлов. После запуска программы выбираем из списка шаблонов SVG–документ (рис. 1.18):

Создание нового SVG–документа в Altova XML Spy

Рис.
1.18.
Создание нового SVG–документа в Altova XML Spy

Пролог нового документа содержит ссылку на упрощенную версию спецификации:

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-flat-20030114.dtd">

Копированием и вставкой эта спецификация заменяется на нужную нам:

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

Программа поддерживает несколько режимов отображения документа – Text (рис. 1.19, А), Grid (рис. 1.19, Б), Browser (рис. 1.19, В):

В режиме Text можно вводить код вручную, при этом работает подсветка синтаксиса, автозавершение строк, а в дополнительных окнах выводится информация об элементах (рис. 1.20):

Режим Grid позволяет конструировать SVG–документ, используя панели инструментов, доступна также сборка блоков при помощи удобного визуального представления (рис. 1.21):

В режиме браузер содержимое SVG–документа отображается в графическом режиме непосредственно в программе.

Для быстрого переключения между режимами Text и Browser удобно настроить сочетания клавиш. В главном меню программы выбираем «Tools» – «Customize…», в появившемся диалоговом окне в списке «Category» выбираем пункт View, далее в списке «Commands» выбираем последовательно пункты «Text View» и «Browser View», назначаем для них сочетания клавиш (рис. 1.22):

If XML is the «new currency» for the Web, then Altova’s XMLSPY is the money changer.

Long recognized as the premier tool for editing XML, the latest version, XMLSPY 2004, has raised the standard for Web tools.

XMLSPY is best known as an XML editor, but it can be used for much more, including validating XML, work with XML schemas, DTD (document type definitions) and transforming XML using XSL. XMLSPY 2004 is the latest release of the product and boasts a number of new features designed to make working with XML easier.

To start, the user interface has been extended to include context-sensitive helpers that can be used to complete XML statements and provide the structure for commonly used XML structures. You’ll notice the difference as soon as you start to edit your first XML file. For example, if you create an attribute called , as soon as you enter the closing bracket, XMLSPY will automatically put in the closing tag for you. Likewise, if this is an attribute that you have used before, you can simply start typing the first few letters of the attribute name and XMLSPY will present a list of attribute names for you to select from. This is similar to how Microsoft’s «intellisense» feature works in Visual Studio and means that you can fly through creating an XML file.

Figure 1: The XMLSPLY interface

In addition, the advanced find and replace, shown in Figure 2 is
also a valuable tool for modifying large XML files easily. You can
specify which type of XML text is replaced, so you won’t accidentally overwrite the attribute contents or comments within your file when you really meant to change an element name.

Figure 2: Advanced find and replace options

XMLSPY 2004 makes it easy to see exactly what you are doing,
with a number of different «views» of your XML files, including a grid
view, design view, browser view, etc. In terms of a user interface for
XML development, you can’t get much better than this. If you are still
editing and formatting XML files in notepad, then you don’t know what
you are missing. The different views make it easier to see what the
resulting XML schema or file will look like and the built-in validation
keeps an eye on things so you don’t end up with mal-formed XML.

In addition to user interface enhancements, XMLSPY 2004 has
also been tuned to work better with database development, including
enhanced support for most of the major database platforms, including:

  • Access
  • SQL Server
  • Oracle
  • MySQL
  • Sybase
  • DB2

Support is also available for databases accessed through ADO and
ODBC. This enhanced support means that you can point XMLSPY 2004 at a
particular database table or view and generate an XML schema based on
that table or view. We test this feature with a number of the supported
database platforms and it provided consistent results across the
platforms we tested, generating an XML schema that matched the
underlying database structure. This feature is particularly useful if
you need to transport data between database formats or applications, as
you can then use the resulting XML schema to do a mapping between the
source and target systems.

Oracle or Tamino XML Server, users will find that there is an
even tighter integration with these two platforms, with direct access
to features specific to the platform, including the ability to query
Tamino directly, general sample XML files and more.

Enhanced COM
For hard-core developers and code-monkeys, XMLSPY 2004 also
extends the development environment with an enhanced COM and Java API,
which enables developer to automatically generate Java, C++ and C# code
from an XML schema. In addition to automatically generating the
required code whenever you change a schema, you can also automatically
generate the documentation in Word or HTML format for your schema,
which can be a real time-saver.

Visual Studio Developers who don’t want to leave comfort of
their IDE might like the optional integration module that you can
download from the Altova Web site, but XMLSPY 2004 integrates as easily
with other development platforms, including Borland and open-source
environments. In fact, when you generate code using the API you will be
given the choice to open the code in a number of environments,
including Mono, which is an open source development environment for
creating .NET applications. This platform and vendor independence means
that XMLSPY is as well suited for a wide variety of developers who use
XML.

For developers who are developing or working with Web services,
there is also a set of SOAP tools built into XMLSPY 2004 which enable
the tool to interpret WDSL documents. You can also use XMLSPY 2004 as a
testing platform to creating and submit SOAP requests and then view the
SOAP response. There is also a SOAP debugger that you can use to track
down errors in your Web services and for most developers, this toolset
should provide everything you need to test and debug basic Web
services.

Figure 3: SOAP Features

Another stand-out feature for developers in XMLSPY 2004 is the XML
differencing engine, which can be used to compare and combine separate
XML schemas or files. When working with multiple files, you can show
the differences between the two in a text or grid view and then merge
the two files together, with a number of options to ensure that the
structures you want are merged and everything else is not.

Figure 4: Differencing engine options

So in the end, if you work with XML or develop applications that use
XML in any shape or form, you should have a copy of XMLSPY. Already a
strong tool in previous releases, XMLSPY 2004 has raised the bar on XML
editing and integration and should save you development time and effort
when working with XML.

Программа XMLSpy2006HomeEdition(в дальнейшемXMLSpy)
предоставляет удобные средства для
создания файла преобразованияXSLT,
выполнения преобразования и просмотра
результата преобразования документов
XML.

3.4.1. Создание документа xsl

Для создания файла документа XSL,
содержащего как элементы языка XSLT (в
пространстве имен xsl:),
языка XSL (в пространстве именfo:),
необходимо, чтобы в окнеCreate
new
documentприсутствовали типы

xsl
Stylesheet v
1.0

и

xsl
Stylesheet v2.0
.

Для открытия этого окна надо нажать
кнопку
на панели инструментов или выполнить
командуNewв менюFile.

Если указанные типы в окне отсутствуют,
необходимо выполнить следующие действия:

  • выбрать в меню
    ToolsкомандуOptions;

  • в открывшемся окне
    выбрать вкладку File
    types;

  • в раскрывающемся
    меню File
    typesэтой вкладки (рис. 4.6.1) выделить расширение.xslи нажать кнопкуOK.

Рис. 4.6.1.
Добавление типа .xslв список допустимых типов XMLSpy

После этого необходимо снова нажать
кнопку
на панели инструментов или выполнить
командуNewв менюFile.
В открывшемся окне выбирается тип
документа (XSL
Stylesheet
v2.0
с расширением.xsl)
(рис. 4.6.2) и нажимается кнопкаOK.

Рис. 4.6.2. Выбор типа документа для
преобразования XSL

Затем в окне Create
new
XSL/XSLT
file(рис. 4.6.3) выбрать третью радиокнопку.

Рис. 4.6.3. Выбор метода создания
преобразования XSL

В результате открывается окно ввода и
редактирования файла преобразования
и форматирования, в котором в текстовом
режиме вводятся элементы XSLT и XSL (рис.
4.6.4).

В начальном окне содержатся: пролог
документа XML, начальный и конечный теги
элемента xsl:stylesheet.
Перед началом ввода преобразований
необходимо изменить значение атрибутаencodingв прологе документа преобразования и
форматирования
на «windows-1251«.

Рис. 4.5.3. Редактор и панели для создания
и редактирования документа преобразования
и форматирования

Слева в окне ввода и редактирования
документа преобразования и форматирования
размещены три панели:

  • панель элементов
    HTML (XHTML), XSLT и XSL(Elements);

  • панель атрибутов
    для элемента HTML (XHTML), XSLT или XSL,
    на котором установлен курсор (Attributes);

  • панель сущностей
    HTML (XHTML) (Entities).

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

После ввода документа XSL его можно
сохранить на диске с помощью команды
Save
AsменюFileкак файл с расширением.xsl.

3.4.2. Выполнение форматирования xsl

Для форматирования документов XMLиспользуетсяпроцессор объектов
форматирования
–FOP(Formatting
Objects
Processor),
разработанный группой Apache.
Это приложение Java,
которое читает дерево объектов
форматирования и отправляет результат
форматирования в заданный вывод (формат
PDF,
вывод на экран – AWT,
или на печать – print,
формат языков PCL,
PS
(PostScript),
SVG,
XML
– at,
MIF
для Adobe
FrameMaker,
а также текстовый формат).

Перед использованием
FOP (файл fop-0.95-bin.rar)
должен быть разархивирован в папку
fop-0.95-bin.
(желательно на диск C:).

Запуск FOP
в командной строке выполняется следующим
образом:

fop
[опции]
[fo|xml]
исходный-файл
[xsl
файл-XSL]

[awt|pdf|mif|pcl|ps|txt|svg|at|print]
выводной-файл

Из опций представляет интерес опция
c,
задающая дополнительный конфигурационный
файл (userconfig.xml).
Эту опцию необходимо использовать, если
в выводимом документе есть буквы
кириллицы.

В качестве исходного файла может
задаваться либо файл объектов
форматирования (опция fo),
либо файл документаXML(опцияxml).
Во втором случае должен быть также задан
файл преобразований, содержащий объекты
форматирования (опцияxsl).
Следующие опции задают вид выводимого
документа, а последний параметр задает
имя выводного файла (при выводе на экран
или на печать имя выводного указывать
не надо).

Для облегчения вызова процессора FOP
разработаны файлы fopxsl.batиfopfo.bat.

Файл исходного документа XML, файл схемы
документа и файл документа XSL должны
находиться в одной (текущей) папке и
иметь одинаковые имена (например,
myXML.xmlиmyXML.xsl).
Перед запуском процессора FOP в текущую
папку необходимо скопировать файлfopxsl.batиз папкиfop-0.95-binи затем настроить его: установить в
начале файла абсолютный путь FOP как
значение переменнойLOCAL_FOP_HOME(по умолчанию значение этой переменной
равно «c:fop-0.95-bin«).
Также должно быть установлено значение
переменнойJAVA_HOME– абсолютный путь к пакетуJDKязыкаJava(по умолчанию
значение этой переменной равно «c:Program
Files
(
x86)Javajdk1.6.0_17«).

Процессор FOP в текущей папке запускается
(например, в оболочке Far)
с помощью команды

fopxsl.batимя

где – имя
файла с документом XML (без расширения),
например:

fopxsl.batmyXML.

Если в документе XSL нет ошибок,
отформатированный документ будет
записан в файл имя.pdf(например,myXML.pdf)
в текущей папке.

Если в качестве исходного документа
используется документ FO(файл с расширением.fo,
например,myFO.fo),
то перед запуском процессора FOP в текущую
папку необходимо скопировать файлfopfo.batиз папкиfop-0.95-binи затем настроить его аналогично файлуfopxsl.bat.

В этом случае FOP в текущей папке запускается
(например, в оболочке Far)
с помощью команды

fopfo.batимя

где – имя
файла с документом FO(без
расширения), например:

fopfo.batmyFO.

Если в документе FOнет
ошибок, отформатированный документ
будет записан в файлимя.pdf(например,myFO.pdf)
в текущей папке.

Отформатированный документ можно
просмотреть с помощью программы AcrobatReader.

Примечание:в некоторых случаях
командаfopxsl.batилиfopfo.batпри сделанных изменениях в документеXSLилиFOне
меняет выходной документPDF.
В этом случае необходимо удалить старый
документPDFи заново
запустить командуfopxsl.batилиfopfo.bat.

Соседние файлы в папке Лабы

  • #
  • #
  • #
  • #


Altova XMLSpy - XML Schema Editor

Видео: Altova XMLSpy — XML Schema Editor

Содержание

  • Обзор программного обеспечения
  • Поддерживаемые типы файлов
  • Основное расширение файла
  • Другие расширения файлов, используемые Altova XMLSpy 2017
Версия
(по состоянию на 30.12.2016)
2017
Платформа
Лицензия коммерческий
категория программирование
Больше информации (посетите сайт издателя)
Рейтинг: 3.6 / 5 (16 голосов)

Обзор программного обеспечения

Основные характеристики

  • Поддерживает Xpath, XSLT и XQuery
  • Создает примеры экземпляров XML со всеми вариантами схем
  • Включает инструменты редактирования графической схемы XML
  • Быстрая обработка и проверка кода с RaptorXML

Altova XMLSpy — это редактор XML и IDE, используемые для создания приложений на базе XML для настольных компьютеров и Интернета. Это коммерчески лицензированный продукт, который доступен только для Windows.

XMLSpy предоставляет множество функций, упрощающих разработку. Он имеет множество различных представлений, таких как представление текста и сетки для редактирования XML, представление схемы XML и представление WSDL. В среду IDE также включены графические редакторы для XML, схемы XML и таксономии XBRL. XMLSpy обладает множеством других возможностей, таких как редактирование и документирование экземпляров XML, инструменты разработки и отладки XQuery, средства проверки, инструменты анализа и генерация кода без лицензионных платежей.

Если вы ищете мощный инструмент для редактирования XML, который может помочь в управлении сложными проектами, XMLSpy — отличный вариант. Тем не менее, лицензия на программу довольно дорогая для людей с ограниченным бюджетом. Если вы не хотите тратить много денег, рекомендуется множество бесплатных XML-редакторов, таких как EditiX Lite или CAM XML Editor.

Поддерживаемые типы файлов

Основное расширение файла

.XML — XML-файл

Поддерживаемые типы файлов
.dtd Файл определения типа документа
.JSON Файл нотации объектов JavaScript
.rdf Файл структуры описания ресурса
.XQ Файл XQuery
.XQL XML Query Language File
.XQM Модуль XQuery
.XQUERY Файл исходного кода XQuery
.xsd Определение схемы XML
.xsl Таблица стилей XML
Дополнительные связанные форматы файлов
.XQY Исходный файл XQuery

Работа с Altova XML Spy

Основной инструмент редактирования SVG–обычный текстовый редактор, однако в нем отсутствует подсветка синтаксиса и возможность быстрого просмотра внесенных изменений. При написании этого курса использовался, пожалуй, лучший редактор XML документов – Altova XML Spy 2007 (http://www.altova.com/ (36,3 Мб)). Его также можно применять для создания SVG–файлов. После запуска программы выбираем из списка шаблонов SVG–документ (рис. 1.18):

Создание нового SVG–документа в Altova XML Spy

Рис.
1.18.
Создание нового SVG–документа в Altova XML Spy

Пролог нового документа содержит ссылку на упрощенную версию спецификации:

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-flat-20030114.dtd">

Копированием и вставкой эта спецификация заменяется на нужную нам:

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

Программа поддерживает несколько режимов отображения документа – Text (рис. 1.19, А), Grid (рис. 1.19, Б), Browser (рис. 1.19, В):

В режиме Text можно вводить код вручную, при этом работает подсветка синтаксиса, автозавершение строк, а в дополнительных окнах выводится информация об элементах (рис. 1.20):

Режим Grid позволяет конструировать SVG–документ, используя панели инструментов, доступна также сборка блоков при помощи удобного визуального представления (рис. 1.21):

В режиме браузер содержимое SVG–документа отображается в графическом режиме непосредственно в программе.

Для быстрого переключения между режимами Text и Browser удобно настроить сочетания клавиш. В главном меню программы выбираем «Tools» – «Customize…», в появившемся диалоговом окне в списке «Category» выбираем пункт View, далее в списке «Commands» выбираем последовательно пункты «Text View» и «Browser View», назначаем для них сочетания клавиш (рис. 1.22):

Колличество обзор. за месяц данного файла: 719 раз
В арх. — 776 стр.
Расширение файла — html
Создание ссылки на сайте — 08 апреля 2011 г.
Размер: 4,611 Mb
Администратор редактир. скачки на портале: Жуплатов Пётр

Использование различных программ, облегчающих удаление программ на android. Будем считать, что рабочая SIM-карта нового местного оператора сотовой связи перед Вами. Число посадочных мест рассчитывается с учетом работающих в наиболее многочисленную смену. С ее помощью Вы без труда подключите свой Samsung Galaxy Ace La Fleur S5830I через USB порт к компьютеру. Но с расширением простой семьи,…

Использование различных программ, облегчающих удаление программ на android. Будем считать, что рабочая SIM-карта нового местного оператора сотовой связи перед Вами. Число посадочных мест рассчитывается с учетом работающих в наиболее многочисленную смену. С ее помощью Вы без труда подключите свой Samsung Galaxy Ace La Fleur S5830I через USB порт к компьютеру. Но с расширением простой семьи, т. е. с появлением при отцах и детях третьего поколения — внуков, это совпадение обыкновенно прекращается.

Делать это нужно с небольшим усилием направленным в верх. Nissan Leaf 2012 годя является твердым и непритязательным практически во всех смыслах, но не в том, что касается мощности. В этой связи медико-социальная работа с группами риска онкологических заболеваний приобретает особое значение. Пока было исследовано 6,3 тысячи километров дорог из 1,1 миллиона километров. Заведующий отделением милосердия непосредственно подчиняетсяруководителю учреждения или его заместителю. Стандартно поставляемые принадлежности установок AeroMaster XP всегда интегрировано в секции.

Информация о прослушивании музыки и радио на телефоне и о записи звуков. Руководство по ремонту Getz скачать. Вставьте новую свечу в головку для свечей. Междисциплинарность предмета исследования определили его теоретико-методологические основания, к которым относятся подходы и концепции, представляющие различные уровни теоретико-методологических исследований и разработок. Russiar029 ну я как бы разогнал до 3.70ггц Ну это уже отличный результат, для такого камушка и на такой плате. Окраска посуды и инвентаря красками, содержащими свинец, кадмий, хром не допускается.

К счастью, Apple уже выпустили патч-прошивку, в которой исправлено множество ошибок, из-за которых Apple iPhone 3GS 16Gb иногда теряет сеть.

XML — технология, использующаяся
сегодня практически повсеместно.
Хранение и передача данных,
создание приложений при помощи AJAX,
разработка web-сайтов, написание
документации… Наверное, проще
будет перечислить, где XML сегодня не
используется. А не используется он
(в силу специфики), пожалуй, только в
низкоуровневом программировании.

Распространенность XML — следствие
простоты его использования и
открытости стандартов. Поэтому на
сегодняшний день очень актуальны
средства, позволяющие легко и
быстро редактировать данные в
XML-формате. Как учит экономика, если
есть спрос — появится и предложение.
Поэтому найти инструмент,
облегчающий работу с XML-данными,
сегодня не проблема. Поскольку XML —
это, по большому счёту, текст, то для
самых простых случаев хватит и
блокнота. Однако для более или
менее серьёзных проектов с
использованием XML необходим
инструмент, отвечающий
индустриальным стандартам. И такие
инструменты существуют. По крайней
мере, один точно есть. Именно о нём я
хочу сейчас вам рассказать.

Называется эта замечательная
программа XML Spy, а найти её можно на
сайте www.altova.com.
Её разработчик — компания Altova GmbH.,
специализирующаяся на разработке
инструментов для web-разработки. XML Spy
— программа коммерческая, причём
стоит неслабо, однако, думаю, те,
кому она действительно нужна для
работы, не пожалеют денег. Есть,
правда, бесплатная «домашняя»
версия, но она лишена многих
полезных вещей, присутствующих в
профессиональной и корпоративной
версиях. Стоит иметь в виду, что
производитель гарантирует работу
своего детища только на
операционных системах линейки Windows
NT (NT 4.0, 2000, XP и 2003).

На одном из форумов для
программистов во время обсуждения
инструментов для работы с XML эту
программу назвали «самым
навороченным в мире
XML-редактором». С этим, пожалуй, не
трудно согласиться. Одних только
типов документов, предлагаемых
программой при создании нового
файла, более тридцати. Среди них и
ASP-страницы, и DTD, и DocBook, и многие
другие виды документов, не только
XML.

Редактирование же самого XML в
программе можно проводить
по-разному. Можно в виде текста, от
стандартного блокнота это
отличается только подсветкой
XML-синтаксиса, в профессиональной и
корпоративной версиях также ещё и
фолдингом (сворачиванием) участков
документа. Правда, намного удобнее
будет осуществлять редактирование
в режиме, когда документ
представляется в виде дерева, и
можно редактировать каждый элемент
и каждый атрибут каждого элемента в
визуальном режиме, не боясь
ошибиться в написании тегов. При
таком виде редактирования, если
имеется файл описания формата (Document
Type Definition — DTD), XML Spy делает подсказки,
какие значения допустимо выбрать
для того или иного атрибута. Для
WSDL-документов допустимо
представление в виде схемы. В XML Spy
встроен модуль для дизайна и
проверки XML-схем, причём
разработчики утверждают, что эта
возможность уникальна и на таком
высоком уровне не реализована ни в
одной другой программе.

Интересная возможность XML Spy
касается распечатки XML-документов и
названа разработчиками Pretty Printing.
Она заключается в том, что при
печати документ на бумаге выглядит
так же, как на экране. То есть, если
он представлен в виде схемы, то и
распечатается так же, а не как
просто текст.

Поскольку документы,
редактируемые с помощью XML Spy, часто
предназначены для конечных
пользователей (например, те же
DocBook’и, которые используются для
технической документации), то
проверка орфографии, которую
поддерживает программа, кажется
вещью очень актуальной и полезной.
Правда, в стандартной поставке
присутствует, конечно же, только
английский словарь, но это всё
равно неплохо.

В принципе, XML Spy перерос понятие
XML-редактора и стал чем-то большим и
новым, чего доселе вовсе не
встречалось — XML IDE. Говорить об этом
позволяет наличие отладчика для
создаваемого кода. Как известно, XML
используется не только для
хранения и передачи данных (я
упоминал об этом в самом начале), но
и для web-программирования. Поэтому,
в общем-то, отладчик будет
совершенно не лишним
приспособлением. Встроенный в
программу отладчик поддерживает
SOAP, WSDL, XSLT 2.0 и многие другие
стандарты, популярные сегодня в
World-Wide Web. При этом стоит отметить,
что отладчик не включает в себя
исключительно и только возможность
автоматизированного запуска
клиентских и серверных приложений —
как и любой нормальный отладчик, он
умеет выполнять пошаговую отладку,
устанавливать точки останова,
просматривать значения переменных
во время выполнения программы…
Короче говоря, отладчик
полноценный, и прибавить к этому
факту, пожалуй, нечего. Разве что
сказать, что, кроме отладчика,
присутствует ещё и профилировщик —
это тоже приятно и полезно.

XML Spy поддерживает интеграцию с
системами контроля версий. И не
только с ними. Программа умеет
взаимодействовать с такими
популярными средами разработки,
как Microsoft Visual Studio .NET и Eclipse, и об этом,
думаю, стоит рассказать чуть-чуть
подробнее. При интеграции в Visual Studio
XML Spy заменяет встроенный в среду
разработки от Microsoft редактор XML- и
XSL-кода на собственный, куда более
удобный. Аналогичным образом
интегрируются XML-профилировщик и
отладчик, что делает работу с XML в
Visual Studio почти такой же удобной и
привлекательной, как и в самой
среде XML Spy. Собственно, интеграция в
Eclipse тоже очень похожа на
интеграцию в Visual Studio, при этом стоит
отметить также, что в обеих средах
XML Spy поддерживает полную
интеграцию с менеджерами проектов
и системами контроля версий. С ними
он, кстати, умеет работать не только
через Visual Studio или Eclipse, но и
совершенно самостоятельно. Правда,
список поддерживаемых систем
контроля версий не очень велик: CVS,
Microsoft Visual SourceSafe, PVS и Borland StarTeam.
Впрочем, они достаточно
распространены, и в будущем
разработчики XML Spy обещают
пополнить этот список.

Встроенный в XML Spy менеджер
проектов смотрится вполне
пристойно даже на фоне своего
«брата по оружию» из Visual Studio,
которого многие программисты на
форумах часто приводят в качестве
эталона такого средства. Помимо
стандартных для встроенного в
среду разработки менеджера проекта
функций, он умеет также работать с
файлами через протокол FTP, т.е.
файлам, включенным в проект, не
обязательно находиться на
локальном компьютере. Учитывая тот
факт, что XML и интернет — вещи
неразделимые, это очень удобно.
Впрочем, закачку файлов с сервера
программа может проводить и по HTTP,
но, думаю, не очень приятно
использовать одновременно два
разных протокола. Также очень
удобно то, что менеджер проектов
умеет автоматически
синхронизировать удалённую и
локальную папки с проектами и
поддерживает автоматизацию
выполнения основных операций:
проверку правильности разметки,
XSL-трансформацию, генерацию DTD/Schema,
отправку файлов на электронный
почтовый ящик.

Работать с базами, хранящими
данные в виде XML, герой нашего
рассказа тоже умеет, причём на
достаточно неплохом уровне.
Подключение к базе может
осуществляться посредством Open Database
Connectivity (ODBC) или Active Data Objects (ADO).
Правда, может подключиться и без
посредников. Список серверов, с
которыми XML Spy позволяет
соединяться напрямую, не так уж и
мал: Microsoft Access, Microsoft SQL Server, MySQL, Oracle,
Sybase и IDM DB2. С данными внутри базы
можно работать точно так же, как и с
отдельными XML-файлами. В общем-то,
для тружеников Всемирной паутины,
где огромная часть страниц
хранится в базах данных, эту
возможность XML Spy трудно
переоценить.

Как я уже упоминал, XML часто
используется для технической
документации. Поэтому совсем
неудивительно, что XML Spy умеет
переводить в основанные на XML
форматы документы Microsoft Word и
простые текстовые файлы.
Поддерживаемых форматов для
преобразования немало: DocBook, US Patent
& Trademark Office «Red Book», NITF, NewsML, P3P,
W3C XMLSpec, DITA, GCA XML Paper, NCAXML, TEI, XMLResume, RIXML.
Возможен и обратный перевод
документов, правда, в этом случае Word
не поддерживается и экспортировать
можно только в TXT-файл. В общем, это
слегка досадно, однако не стоит
исключать, что в следующих версиях
такая возможность появится.

О синхронизации проекта с
сервером я уже говорил чуть выше.
Однако XML Spy умеет сравнивать и
синхронизировать не только
локальные и удалённые файлы, но и
вообще любые. Встроенный движок
сравнения файлов готов придти на
помощь пользователю в любую минуту.
Сравнивать можно как напрямую
содержимое файлов (в побайтовом
режиме), так и дерево элементов,
причём второй метод
предпочтительнее, так как
позволяет избежать нюансов вроде
регистра символов или порядка
расположения однотипных элементов.
Результаты сравнения программа
выдаёт в удобной форме, так что
запутаться в них нужно постараться.
Конечно, этому довольно простому
средству поиска отличий не
сравниться с программой Beyond Compare, о
которой я писал в «КВ» №35, однако, тем не
менее, польза от сравнения файлов
иногда может быть, и весьма
существенная. Тем более, что по
результатам сравнения отличия
можно выделить в отдельный
документ, а можно два сравниваемых
документа слить в один, избегая при
этом дублирования элементов.

Возможности XML Spy простираются и в
сферу web-программирования, правда,
не слишком далеко — программа всё же
ориентирована на XML, а не на PHP и
компанию. Вот PHP она как раз и не
поддерживает. Зато поддерживает ASP
и JSP. Эти технологии не слишком
отличаются друг от друга по
существу, однако основаны на разных
платформах. XML Spy поддерживает
автоматическое создание кода на Java
для классов, описанных с помощью XML.
По словам создателей XML Spy, это может
ускорить разработку JSP-приложений
больше чем в два раза. Неизвестно,
имеются ли аналогичные возможности
для ASP/ASP.NET, ибо на сайте Altova об этом
ничего не говорится. Правда,
говорится о возможности генерации
кода на «чистой» Яве, а также C#
и C++. Думаю, многие разработчики
оценят по достоинству эти
способности XML Spy.

Среда XML Spy позволяет использовать
макросы. Поскольку основной
аудиторией пользователей этой
программы являются люди, знакомые с
программированием, никаких
затруднений в плане использования
у них эта возможность, полагаю, не
вызовет. Кроме макросов, стоит
отметить бесконечное количество
операций Undo/Redo (Отменить/Повторить),
многодокументный (MDI) интерфейс,
мощные возможности поиска. Приятно
также то, что XML Spy умеет работать и с
Юникодом, а кроме того, позволяет
переводить документы из одной
кодировки в другую.

Конечно, вряд ли кто-то в
состоянии использовать все
возможности XML Spy на 100%. Однако лучше
иметь под рукой мощный инструмент,
поскольку никто не знает, что
именно из его почти безграничных
возможностей понадобится завтра. В
принципе, это относится не только к
XML Spy. Уж не поэтому ли так популярен
Microsoft Office? Все жалуются на его
прожорливость, однако мало кто
догадывается, что это всего лишь
следствие могучей
функциональности. Поэтому не стоит
относиться к XML Spy как к неуклюжему
монстру, обвиняя его в излишней
тяжеловесности и наворотах. Кто
знает, какая из функций понадобится
завтра?

Вадим СТАНКЕВИЧ

При проектировании ВС требуется описать СМЭВ-сообщения и структурированные файлы вложений в виде XSD-схем (далее — схем).

При отладке взаимодействия ИС УВ со СМЭВ возникает потребность в проверке соответствия запросов ИС УВ схемам ВС. Создание схем возможно в любом текстовом редакторе. Такой подход требует заметных затрат времени и может служить источником ошибок. Использование специализированных программных инструментов значительно сокращает трудозатраты на формирование комплекта файлов для регистрации нового ВС.

Рассмотрим возможности применения XML-инструментов для создания ВС для СМЭВ на примере продукта XMLSpy.

Примечание: Использование продукта ALTOVA XMLSpy требует приобретения лицензии.

Создание схемы

Для создания XSD-схемы выберите New в меню File, а затем выберите формат XML Schema v1.0:

Откроется стартовая форма документа — список элементов и типов схемы. Для новой схемы предлагается создать корневой элемент:

Создадим два корневых элемента – request и response. Для этого введем наименование и комментарий к существующей записи списка и добавим еще один корневой элемент.

Для добавления нового элемента или типа в список воспользуйтесь кнопкой Append (или Insert) и выберите тип добавляемого объекта:

 

Для просмотра древовидной структуры элемента воспользуйтесь кнопкой слева от записи списка:

 

Добавим в нашу схему два элемента:

  • applicant с описанием атрибутов физического лица – заявителя
  • application с описанием атрибутов заявления

Добавление элементов на схему осуществляется по правой кнопке мыши:

Сначала добавим Sequence, а затем наши элементы:

Аннотации к элементам можно создавать на графе, воспользовавшись командой Edit Annotation in Diagram из меню, вызываемого по правой кнопке мыши.

Приведем схему к следующему виду:

Атрибуты физического лица могут потребоваться в разных разделах схемы, поэтому для них лучше создать отдельный комплексный тип данных, который можно присваивать разным элементам запроса. Для этого нажмите правой кнопкой на элемент applicant и выберите команду «Make Global -> ComplexType»:

 

Будет создан новый комплексный тип данных с именем, состоящим из названия элемента и слова Type:

Переименуйте applicantType в PersonType и присвойте новый тип элементу applicationSubject:

 

Практически все операции создания схемы вида сведений можно выполнять на диаграмме схемы.
Ручное редактирование текста схемы также доступно:

Подробнее об описании запросной и ответных частей в статье Описываем типы запросной и ответных частей основной xsd-схемы.

Генерация XML-файла по схеме

Другой полезной при разработке вида сведений функцией является генерация XML-файла по схеме. Она может быть использована для подготовки эталонных запроса или ответа.

В меню «DTD/Schema» выполните команду «Generate Sample XML/JSON File…»:

 

Откроется форма с параметрами генерации. Выберите корневой элемент схемы, для которого будет создан XML-файл:

 

Будет сформирован следующий файл:

Поскольку в параметрах генерации не выбрана опция «Generate non-mandatory elements», то необязательный элемент patronymic не был включен в XML-файл ни для applicant, ни для applicationSubject.

Проверка XML-файла на соответствие схеме

На несоответствующий схеме запрос СМЭВ отвечает сообщение «Бизнес-данные сообщения не соответствуют схеме, зарегистрированной в СМЭВ» с подобным описанием ошибок:

Избежать получения подобных ошибок можно предварительно проверив корректность формируемых для отправки в СМЭВ сообщений. Для этого откройте файл запроса и в меню DTD/Schema воспользуйтесь командой Assign Schema, после чего выберите нужную схему (в примере это вид сведений ГИС ГМП «Прием необходимой для уплаты информации (начисления)»):

В XML-файл с запросом будет добавлена конструкция xsi:schemaLocation и в редакторе XML будут подсвечены все несоответствия запроса указанной схеме:

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

 

Понравилась статья? Поделить с друзьями:
  • Alpha lipoic acid 150 инструкция
  • Alginate de sodium bicarbonate de sodium инструкция по применению
  • Alto ms1 инструкция на русском
  • Airgrid m2 инструкция на русском
  • Aloe vera massage foam cleanser инструкция по применению на русском