You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by st...@apache.org on 2005/02/28 16:04:21 UTC
svn commit: r155688 -
incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/xml/AbstractSAXEventGenerator.java
Author: stefan
Date: Mon Feb 28 07:03:54 2005
New Revision: 155688
URL: http://svn.apache.org/viewcvs?view=rev&rev=155688
Log:
fixing export: endPrefixMapping event was never generated
Modified:
incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/xml/AbstractSAXEventGenerator.java
Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/xml/AbstractSAXEventGenerator.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/xml/AbstractSAXEventGenerator.java?view=diff&r1=155687&r2=155688
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/xml/AbstractSAXEventGenerator.java (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/xml/AbstractSAXEventGenerator.java Mon Feb 28 07:03:54 2005
@@ -81,26 +81,43 @@
* to the content handler
*/
public void serialize() throws RepositoryException, SAXException {
+ // start document and declare namespaces
contentHandler.startDocument();
- // namespace declarations
- documentPrefixMappings();
- // start serializing node and sub tree
+ startNamespaceDeclarations();
+
+ // serialize node and subtree
process(startNode, 0);
+ // clear namespace declarations and end document
+ endNamespaceDeclarations();
contentHandler.endDocument();
}
/**
- * @throws javax.jcr.RepositoryException
- * @throws org.xml.sax.SAXException
+ * @throws RepositoryException
+ * @throws SAXException
*/
- protected void documentPrefixMappings() throws RepositoryException, SAXException {
- // namespace declarations
+ protected void startNamespaceDeclarations()
+ throws RepositoryException, SAXException {
+ // start namespace declarations
String[] prefixes = session.getNamespacePrefixes();
for (int i = 0; i < prefixes.length; i++) {
String prefix = prefixes[i];
String uri = session.getNamespaceURI(prefix);
contentHandler.startPrefixMapping(prefix, uri);
+ }
+ }
+
+ /**
+ * @throws RepositoryException
+ * @throws SAXException
+ */
+ protected void endNamespaceDeclarations()
+ throws RepositoryException, SAXException {
+ // end namespace declarations
+ String[] prefixes = session.getNamespacePrefixes();
+ for (int i = 0; i < prefixes.length; i++) {
+ contentHandler.endPrefixMapping(prefixes[i]);
}
}