<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- 
/*
 * 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.
 */
-->
<html>
<head>
<title>OpenCMIS Browser Binding</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="css/opencmis.css"/>
</head>
<body>
<a href="http://chemistry.apache.org"><img alt="Apache Chemistry Logo" title="Apache Chemistry Logo" src="images/chemistry_logo_small.png" /></a>
<h1>Apache Chemistry OpenCMIS</h1>

<br>
<h2>AtomPub binding</h2>
<div><a href="atom">AtomPub service document</a></div>

<br>
<h2>Web Services binding</h2>
<div><a href="services/RepositoryService">Web Services overview</a></div>

<br>
<h2>Browser binding</h2>
<div><a href="browser">Browser binding service URL</a></div>

<br>
<h2>Web interface</h2>
<div><a href="web">OpenCMIS web interface</a></div>

<br>
<h2>License</h2>
<a href="http://www.apache.org"><img alt="ASF Logo" title="ASF Logo" src="images/asf_logo.png" align="right"/></a>
<div>This software is licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache 2.0 License</a>.</div>
<br>

</body>
</html>