<?xml version="1.0" encoding="UTF-8"?>
<!--

Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.

This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation.  Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.

This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).

You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions. 

-->

<!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<title>javax.xml.transform.stax</title>

		<meta name="CVS"
			content="$Id: package.html,v 1.2 2005/11/03 19:34:28 jeffsuttor Exp $" />
		<meta name="AUTHOR"
			content="Jeff.Suttor@Sun.com" />
		<meta name="AUTHOR"
			content="Neeraj.Bajaj@Sun.com" />
	</head>
	<body>
		<p>
			Provides for StAX-specific transformation APIs.
			TODO: better description(s).
		</p>

		<h2>Package Specification</h2>
		<ul>
			<li><a href="http://jcp.org/en/jsr/detail?id=173">JSR 173: Streaming API for XML</a></li>
		</ul>

		<h2>Related Documentation</h2>

		<p>For overviews, tutorials, examples, guides, and tool documentation, please see:</p>
		<ul>
			<li><a href="">TODO: Refer to non-spec documentation</a></li>
		</ul>

		<!-- Put @see and @since tags down here. -->
		<ul>
			<li>@see XMLStreamReader</li>
			<li>@see XMLEventReader</li>
		</ul>
		
		<p>
			@since 1.6
		</p>

	</body>
</html>
