You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by re...@apache.org on 2008/08/13 00:24:11 UTC

svn commit: r685347 - in /cocoon/whiteboard/cocoon22-clasic-webapp: ./ src/ src/main/ src/main/webapp/ src/main/webapp/WEB-INF/ src/main/webapp/WEB-INF/cocoon/ src/main/webapp/WEB-INF/cocoon/properties/ src/main/webapp/WEB-INF/cocoon/properties/dev/

Author: reinhard
Date: Tue Aug 12 15:24:09 2008
New Revision: 685347

URL: http://svn.apache.org/viewvc?rev=685347&view=rev
Log:
initial import of a classic (= no SSF & no custom blocks) Cocoon 2.2 application 

Added:
    cocoon/whiteboard/cocoon22-clasic-webapp/pom.xml   (with props)
    cocoon/whiteboard/cocoon22-clasic-webapp/src/
    cocoon/whiteboard/cocoon22-clasic-webapp/src/main/
    cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/
    cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/
    cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/applicationContext.xml   (with props)
    cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/cocoon/
    cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/cocoon/properties/
    cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/cocoon/properties/dev/
    cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/cocoon/properties/dev/logging.properties   (with props)
    cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/log4j.xml   (with props)
    cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/web.xml   (with props)
    cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/sitemap.xmap   (with props)
    cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/welcome.xml   (with props)

Added: cocoon/whiteboard/cocoon22-clasic-webapp/pom.xml
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/cocoon22-clasic-webapp/pom.xml?rev=685347&view=auto
==============================================================================
--- cocoon/whiteboard/cocoon22-clasic-webapp/pom.xml (added)
+++ cocoon/whiteboard/cocoon22-clasic-webapp/pom.xml Tue Aug 12 15:24:09 2008
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<!-- $Id$ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <packaging>war</packaging>
+
+  <name>cocoon22-classic-webapp</name>
+  <groupId>org.apache.cocoon</groupId>
+  <artifactId>cocoon22-webapp-noblocks</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <description>
+    A 'classic' Cocoon 2.2 web application that doesn't use the Servlet-Service framework or custom blocks.
+  </description>
+  
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.mortbay.jetty</groupId>
+        <artifactId>maven-jetty-plugin</artifactId>
+        <version>6.1.7</version>
+        <configuration>
+          <connectors>
+            <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
+              <port>8888</port>
+              <maxIdleTime>30000</maxIdleTime>
+            </connector>
+          </connectors>
+          <webAppSourceDirectory>${project.build.directory}/${pom.artifactId}-${pom.version}</webAppSourceDirectory>
+          <contextPath>/</contextPath>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.cocoon</groupId>
+      <artifactId>cocoon-core</artifactId>
+      <version>2.2.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cocoon</groupId>
+      <artifactId>cocoon-template-impl</artifactId>
+      <version>1.1.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cocoon</groupId>    
+      <artifactId>cocoon-template-impl</artifactId>
+      <version>1.1.0</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.servlet</groupId>
+      <artifactId>servlet-api</artifactId>
+      <version>2.4</version>
+    </dependency>
+  </dependencies>
+</project>

Propchange: cocoon/whiteboard/cocoon22-clasic-webapp/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/whiteboard/cocoon22-clasic-webapp/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: cocoon/whiteboard/cocoon22-clasic-webapp/pom.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/applicationContext.xml
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/applicationContext.xml?rev=685347&view=auto
==============================================================================
--- cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/applicationContext.xml (added)
+++ cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/applicationContext.xml Tue Aug 12 15:24:09 2008
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- @version $Id$ -->
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:util="http://www.springframework.org/schema/util"
+       xmlns:configurator="http://cocoon.apache.org/schema/configurator"
+       xmlns:avalon="http://cocoon.apache.org/schema/avalon"
+       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
+                           http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd
+                           http://cocoon.apache.org/schema/configurator http://cocoon.apache.org/schema/configurator/cocoon-configurator-1.0.1.xsd
+                           http://cocoon.apache.org/schema/avalon http://cocoon.apache.org/schema/avalon/cocoon-avalon-1.0.xsd">
+
+  <!-- Activate Cocoon Spring Configurator -->
+  <configurator:settings/>
+
+  <!-- Configure Log4j -->
+  <bean name="org.apache.cocoon.spring.configurator.log4j"
+        class="org.apache.cocoon.spring.configurator.log4j.Log4JConfigurator"
+        scope="singleton">
+    <property name="settings" ref="org.apache.cocoon.configuration.Settings"/>
+    <property name="resource" value="/WEB-INF/log4j.xml"/>
+  </bean>
+
+  <!-- Activate Avalon Bridge -->
+  <avalon:bridge/>
+
+</beans>

Propchange: cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/applicationContext.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/applicationContext.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/applicationContext.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/cocoon/properties/dev/logging.properties
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/cocoon/properties/dev/logging.properties?rev=685347&view=auto
==============================================================================
--- cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/cocoon/properties/dev/logging.properties (added)
+++ cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/cocoon/properties/dev/logging.properties Tue Aug 12 15:24:09 2008
@@ -0,0 +1 @@
+org.apache.cocoon.log4j.loglevel=DEBUG
\ No newline at end of file

Propchange: cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/cocoon/properties/dev/logging.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/cocoon/properties/dev/logging.properties
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/cocoon/properties/dev/logging.properties
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/log4j.xml
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/log4j.xml?rev=685347&view=auto
==============================================================================
--- cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/log4j.xml (added)
+++ cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/log4j.xml Tue Aug 12 15:24:09 2008
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+  <!--
+    - This is a sample configuration for log4j.
+    - It simply just logs everything into a single log file.
+    - Note, that you can use properties for value substitution.
+    -->
+  <appender name="CORE" class="org.apache.log4j.FileAppender">
+    <param name="File"   value="${org.apache.cocoon.work.directory}/cocoon-logs/log4j.log" />
+    <param name="Append" value="false" />
+    <layout class="org.apache.log4j.PatternLayout">
+      <param name="ConversionPattern" value="%d %-5p %t %c - %m%n"/>
+    </layout>
+  </appender>
+
+  <root>
+    <priority value="${org.apache.cocoon.log4j.loglevel}"/>
+    <appender-ref ref="CORE"/>
+  </root>
+</log4j:configuration>

Propchange: cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/log4j.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/log4j.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/log4j.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/web.xml?rev=685347&view=auto
==============================================================================
--- cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/web.xml (added)
+++ cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/web.xml Tue Aug 12 15:24:09 2008
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!--
+  - This is the Cocoon web-app configurations file
+  -
+  - $Id$
+  -->
+<web-app version="2.4"
+         xmlns="http://java.sun.com/xml/ns/j2ee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+
+  <!-- Servlet Filters ================================================ -->
+
+  <!--
+    - Declare a filter for multipart MIME handling
+    -->
+  <filter>
+    <description>Multipart MIME handling filter for Cocoon</description>
+    <display-name>Cocoon multipart filter</display-name>
+    <filter-name>CocoonMultipartFilter</filter-name>
+    <filter-class>org.apache.cocoon.servlet.multipart.MultipartFilter</filter-class>
+  </filter>
+
+  <!--
+    - Declare a filter for debugging incoming request
+    -->
+  <filter>
+    <description>Log debug information about each request</description>
+    <display-name>Cocoon debug filter</display-name>
+    <filter-name>CocoonDebugFilter</filter-name>
+    <filter-class>org.apache.cocoon.servlet.DebugFilter</filter-class>
+  </filter>
+
+  <!-- Filter mappings ================================================ -->
+
+  <!--
+    - Use the Cocoon multipart filter together with the Cocoon demo webapp
+    -->
+  <filter-mapping>
+    <filter-name>CocoonMultipartFilter</filter-name>
+    <servlet-name>Cocoon</servlet-name>
+  </filter-mapping>
+  <filter-mapping>
+    <filter-name>CocoonMultipartFilter</filter-name>
+    <servlet-name>DispatcherServlet</servlet-name>
+  </filter-mapping>
+
+  <!--
+    - Use the Cocoon debug filter together with the Cocoon demo webapp
+  <filter-mapping>
+    <filter-name>CocoonDebugFilter</filter-name>
+    <servlet-name>Cocoon</servlet-name>
+  </filter-mapping>
+    -->
+
+  <!-- Servlet Context Listener ======================================= -->
+
+  <!--
+    - Declare Spring context listener which sets up the Spring Application Context
+    - containing all Cocoon components (and user defined beans as well).
+    -->
+  <listener>
+    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
+  </listener>
+
+  <!--
+    - Declare Spring request listener which sets up the required RequestAttributes
+    - to support Springs and Cocoon custom bean scopes like the request scope or the
+    - session scope.
+    -->
+  <listener>
+    <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
+  </listener>
+
+  <!-- Servlet Configuration ========================================== -->
+
+  <!--
+    - Classic Cocoon Servlet
+    -->
+  <servlet>
+    <description>Classic Cocoon Servlet</description>
+    <display-name>Cocoon</display-name>
+    <servlet-name>Cocoon</servlet-name>
+    <servlet-class>org.apache.cocoon.servlet.SitemapServlet</servlet-class>
+    <load-on-startup>5</load-on-startup>
+  </servlet>
+
+  <!-- URL space mappings ============================================= -->
+
+  <!--
+    - Cocoon handles all the URL space assigned to the webapp using its sitemap.
+    - It is recommended to leave it unchanged. Under some circumstances though
+    - (like integration with proprietary webapps or servlets) you might have
+    - to change this parameter.
+    -->
+  <servlet-mapping>
+    <servlet-name>Cocoon</servlet-name>
+    <url-pattern>/*</url-pattern>
+  </servlet-mapping>
+
+</web-app>
+        

Propchange: cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/web.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/web.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/WEB-INF/web.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/sitemap.xmap
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/sitemap.xmap?rev=685347&view=auto
==============================================================================
--- cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/sitemap.xmap (added)
+++ cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/sitemap.xmap Tue Aug 12 15:24:09 2008
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<!-- $Id$ -->
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+  <map:pipelines>
+    <map:pipeline>
+      <map:match pattern="">
+        <map:redirect-to uri="welcome" />
+      </map:match>
+      <map:match pattern="welcome">
+        <map:generate type="jx" src="welcome.xml" />
+        <map:serialize />
+      </map:match>
+    </map:pipeline>
+  </map:pipelines>
+</map:sitemap>

Propchange: cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/sitemap.xmap
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/sitemap.xmap
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/sitemap.xmap
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/welcome.xml
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/welcome.xml?rev=685347&view=auto
==============================================================================
--- cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/welcome.xml (added)
+++ cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/welcome.xml Tue Aug 12 15:24:09 2008
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<!-- $Id$ -->
+<html>
+  <head>
+    <title>Classic Cocoon 2.2 Webapp : Welcome</title>
+  </head>
+  <body>
+    <jx:set var="version" xmlns:jx="http://apache.org/cocoon/templates/jx/1.0">
+      ${Packages.org.apache.cocoon.spring.configurator.ResourceUtils.getPOMProperties("org.apache.cocoon", "cocoon-core").getProperty("version")}
+    </jx:set>
+    <h1>Classic Cocoon 2.2 Webapp : Welcome</h1>
+    If you are seeing this page, this minimal Cocoon 2.2 based web application is running correctly.
+    <br/>
+    <br/>
+    <br/>
+    <br/>
+    <br/>
+    <div id="footer"><div style="float: right;">${java.util.Date()}</div> Apache Cocoon ${version}</div>
+  </body>
+</html>

Propchange: cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/welcome.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/welcome.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: cocoon/whiteboard/cocoon22-clasic-webapp/src/main/webapp/welcome.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml