<?xml version="1.0"?>
<!--
  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.
-->
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
<!-- ===============================================
*.dtd pipeline.  Generates XML from DTDs using the Neko parser.
Useful for documenting DTD-based XML schemas, of which Forrest has plenty.

Generates  :  Source XML
Example URL:  http://localhost:8888/forrest-issues.xml       # Source XML for FAQ
Used by    :  sitemap.xmap
Uses       :  resources/schema/dtd/*.dtd

==================================================== -->
  <map:components>
    <map:generators default="file">
      <map:generator name="nekodtd" src="org.apache.forrest.xni.XNIConfigurableFileGenerator" />
    </map:generators>
    <map:serializers default="html"/>
    <map:transformers default="xslt"/>
    <map:matchers default="wildcard"/>
  </map:components>
  <map:pipelines>
    <map:pipeline>
      <map:match type="regexp" pattern="^(.*?)([^/]*)\.dtdx\.xml$">
        <map:generate type="nekodtd" src="{lm:forrest.schema.{2}}">
          <map:parameter name="config-class" value="org.cyberneko.dtd.DTDConfiguration" />
        </map:generate>
        <map:transform src="{lm:dtdx.transform.dtdx.flat}" />
        <map:transform src="{lm:dtdx.transform.flat.document}" />
        <map:serialize type="xml-document"/>
      </map:match>
    </map:pipeline>
  </map:pipelines>
</map:sitemap>
