<?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: index_en.meta 473861 2006-11-12 03:51:14Z gregor $ -->
<lenya:document xmlns:lenya="http://apache.org/cocoon/lenya/page-envelope/1.0">
<lenya:meta>
<lenya:internal>
<lenya:resourceType>news</lenya:resourceType>
<lenya:contentType>xml</lenya:contentType>
  <lenya:mimeType>application/xml</lenya:mimeType>
</lenya:internal>
<lenya:dc>
        <dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">News</dc:title>
        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lenya Development Team</dc:creator>
        <dc:subject xmlns:dc="http://purl.org/dc/elements/1.1/">News</dc:subject>
        <dc:description xmlns:dc="http://purl.org/dc/elements/1.1/">A news page</dc:description>
        <dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">Apache Software Foundation</dc:publisher>
        <dc:contributor xmlns:dc="http://purl.org/dc/elements/1.1/"/>
        <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2007-03-22 15:53:25</dc:date>
        <dc:type xmlns:dc="http://purl.org/dc/elements/1.1/"/>
        <dc:format xmlns:dc="http://purl.org/dc/elements/1.1/"/>
        <dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/"/>
        <dc:source xmlns:dc="http://purl.org/dc/elements/1.1/"/>
        <dc:language xmlns:dc="http://purl.org/dc/elements/1.1/">de</dc:language>
        <dc:relation xmlns:dc="http://purl.org/dc/elements/1.1/"/>
        <dc:coverage xmlns:dc="http://purl.org/dc/elements/1.1/"/>
        <dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/">All rights reserved</dc:rights>
</lenya:dc>
</lenya:meta>
</lenya:document>