Transforming XML files by using XSL style sheets

Для настройки этого проекта потребуется около 5 минут.

Прежде чем начать

Перед работой с примером его необходимо сначала импортировать в свою рабочую область:
  1. Выберите следующую ссылку: Импортировать пример
  2. В окне Импортировать проект примите значения по умолчанию и нажмите кнопку Готово. В рабочую область будут импортированы следующие проекты:
    • BookCatalogWebService
    • BookCatalogWebServiceEAR

Об этой задаче

Using the imported sample code, you see how you can use XSL style sheet to transform XML code in the following ways:
  • You can use the XSL style sheet to transform an XML file into a new XML file that contains contents that are defined by the XSL file.
  • Using a Web Service, you can transform XML input content into XML content that is defined by the XSL file that is called by the Web Service.
To use an XSL style sheet to transform an XML file into a new XML file:
  1. На панели Структура предприятия откройте раздел BookCatalogWebService > WebContent.
  2. Open the Catalog.xml file and inspect its contents. The file contains Book (<tns: Book>) and Magazine (<tns: Magazine>) elements. Порядок элементов в файле значения не имеет.
  3. Press the Ctrl key and click the following files:
    • Catalog.xml
    • Catalog.xsl
    Оба файла будут выбраны.
  4. Щелкните правой кнопкой мыши на любом из выбранных файлов и выберите Выполнить как > Преобразование XSL. На панели Консоль будут показаны имена файлов ввода преобразования, а также файла результата.
  5. Файл результата _Catalog_transform.xml находится в папке WebContent. Откройте файл результата и проверьте его содержимое. В нем должны содержаться только элементы Книга, отсортированные сначала по стране, затем по дате публикации.

Дальнейшие действия

Можно также выполнить аналогичное преобразование с помощью веб-службы.

Для того чтобы для преобразования содержимого XML ввода использовать веб-службу, вызывающую преобразование XSL, выполните следующие действия:
  1. Ensure that you have a WebSphere Application Server V8.5.5.5 server defined:
    По умолчанию сервер создается при установке WebSphere Application Server. Этот сервер показан на панели Серверы. Тем не менее, если требуется создать новый сервер, выполните следующие действия:
    1. Выберите Файл > Создать > Другое > Сервер > Сервер > Далее.
    2. Select WebSphere V8.5.5 Server as the server type, and click Next.
    3. Если к рабочей области не подключена среда выполнения, появится приглашение ввести установочный каталог продукта WebSphere Application Server.
    4. На странице параметров сервера нажмите кнопку Готово.
    5. Для того чтобы просмотреть созданный сервер в рабочей области, выберите Окно > Показать панель > Другое > Сервер > Серверы > OK.
  2. Добавьте проект EAR на сервер:
    1. In the Servers view, right-click the WebSphere Application Server V8.5.5 server and click Add and Remove Projects.
    2. В списке доступных проектов выберите BookCatalogWebServiceEAR, нажмите кнопку Добавить >, а затем кнопку Готово.
  3. Check the HTTP port used by WebSphere Application Server V8.5.5 server:
    1. In the Servers view, right-click the WebSphere Application Server V8.5.5 server and click Properties.
    2. В левой части открывшегося окна свойств выберите WebSphere Application Server.
    3. Проверьте значение поля Порт HTTP. Если это значение не 9080, запишите его; это значение потребуется на одном из следующих этапов.
  4. In the Servers view, right-click the WebSphere Application Server V8.5.5 server and click Start
  5. На панели Структура предприятия перейдите к файлу WebContent\WEB-INF\wsdl\Catalog.wsdl.
    1. If the HTTP port for WebSphere Application Server V8.5.5 that you checked in step 3 is not 9080, then you must modify the WSDL file:
      1. Щелкните правой кнопкой мыши на Catalog.wsdl и выберите Открыть с помощью > Текстовый редактор.
      2. Примерно в конце файла найдите следующий текст:
        <soap:address
        				location="http://localhost:9080/BookCatalogWebService/BookCatalogService" />
      3. Измените значение localhost на порт HTTP, записанный в шаге 3. Например, если порт HTTP равен 9082, измените текст на следующий:
        <soap:address
        				location="http://localhost:9082/BookCatalogWebService/BookCatalogService" />
      4. Сохраните изменения.
    2. На панели Структура предприятия щелкните правой кнопкой мыши на Catalog.wsdl и выберите Веб-службы > Протестировать с помощью Структуры веб-служб. Откроется Структура веб-служб.
  6. В окне Действия в Структуре веб-служб выберите в разделе Операции пункт generateReport.
  7. В правом верхнем углу окна Действия выберите Исходный текст.
  8. В окне ввода в разделе <soapenv:Body> удалите текущее содержимое.
  9. Скопируйте следующую информацию в окно ввода в разделе <soapenv:Body> (эта информация совпадает с исходным текстом файла Catalog.xml, с одним исключением - первая строка в файле Catalog.xml была удалена):
    <tns:Catalog xmlns:tns="http://www.eclipse.org/webtools/Catalog"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://www.eclipse.org/webtools/Catalog Catalog.xsd">
    	<tns:Book>
    		<Title>Professional XML Schema</Title>
    		<PublishDate>2001-01-01</PublishDate>
    		<ISBN>1-861005-47-4</ISBN>
    		<Publisher>Wrox Press</Publisher>
    		<Country>США</Country>
    	</tns:Book>
    	<tns:Magazine>
    		<Title>Журнал разработчика WebSphere</Title>
    		<PublishDate>2001-02-01</PublishDate>
    	</tns:Magazine>
    	<tns:Book>
    		<Title>Java и XSLT</Title>
    		<PublishDate>2001-03-01</PublishDate>
    		<ISBN>0-596-00143-6</ISBN>
    		<Publisher>O'Reilly</Publisher>
    		<Country>Канада</Country>
    	</tns:Book>
    	<tns:Book>
    		<Title>XSLT 2.0</Title>
    		<PublishDate>2006-04-05</PublishDate>
    		<ISBN>0-596-125407</ISBN>
    		<Publisher>Здравствуй, мир</Publisher>
    		<Country>Канада</Country>
    	</tns:Book>
    	<tns:Book>
    		<Title>Справочник Rational</Title>
    		<PublishDate>2005-06-07</PublishDate>
    		<ISBN>2-345005-47-4</ISBN>
    		<Publisher>IBM</Publisher>
    		<Country>США</Country>
    	</tns:Book>
    	<tns:Book>
    		<Title>XPath и XML 2.0</Title>
    		<PublishDate>2006-02-03</PublishDate>
    		<ISBN>2-536-897767</ISBN>
    		<Publisher>IBM</Publisher>
    		<Country>Канада</Country>
    	</tns:Book>
    </tns:Catalog>
  10. Нажмите кнопку Go.
  11. Проверьте окно Состояние структуры веб-служб. В нем должны содержаться только элементы Книга, отсортированные сначала по стране, затем по дате публикации.
  12. После выполнения всех действий можно остановить сервер.

Комментарии