<?xml version="1.0" standalone="no"?>
<!--
 * 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 s1 SYSTEM "../../style/dtd/document.dtd" [
<!ENTITY asflicensetext  SYSTEM "License" >
<!ENTITY asfnoticetext   SYSTEM "NOTICE" >
]>

<s1 title="Apache Software License Version 2.0">
<ul>
  <li><jump href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License Version 2.0</jump></li>
  <li><link anchor="notice">Xalan License Notice</link></li>
  <li><link anchor="license">Apache Software License Text</link></li>
</ul>
<anchor name="notice"/>
<s2 title="Xalan Software License Notice">
<source>&asfnoticetext;</source>
</s2>
<anchor name="license"/>
<s2 title="Apache Software License Text">
<source>&asflicensetext;</source>
</s2>
</s1>