You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ce...@apache.org on 2013/12/08 09:39:10 UTC
svn commit: r1549008 -
/poi/trunk/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFExportToXml.java
Author: centic
Date: Sun Dec 8 08:39:10 2013
New Revision: 1549008
URL: http://svn.apache.org/r1549008
Log:
Refactor XSSFExportToXml a bit, split code into more methods
Modified:
poi/trunk/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFExportToXml.java
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFExportToXml.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFExportToXml.java?rev=1549008&r1=1549007&r2=1549008&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFExportToXml.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFExportToXml.java Sun Dec 8 08:39:10 2013
@@ -447,15 +447,23 @@ public class XSSFExportToXml implements
}
private Node getComplexTypeForElement(String elementName,Node xmlSchema,Node localComplexTypeRootNode) {
- Node complexTypeNode = null;
-
String elementNameWithoutNamespace = removeNamespace(elementName);
+ String complexTypeName = getComplexTypeNameFromChildren(localComplexTypeRootNode, elementNameWithoutNamespace);
- NodeList list = localComplexTypeRootNode.getChildNodes();
- String complexTypeName = "";
+ // Note: we expect that all the complex types are defined at root level
+ Node complexTypeNode = null;
+ if (!"".equals(complexTypeName)) {
+ complexTypeNode = getComplexTypeNodeFromSchemaChildren(xmlSchema, complexTypeNode, complexTypeName);
+ }
+ return complexTypeNode;
+ }
+ private String getComplexTypeNameFromChildren(Node localComplexTypeRootNode,
+ String elementNameWithoutNamespace) {
+ NodeList list = localComplexTypeRootNode.getChildNodes();
+ String complexTypeName = "";
for(int i=0; i< list.getLength();i++) {
Node node = list.item(i);
@@ -472,32 +480,34 @@ public class XSSFExportToXml implements
}
}
}
- // Note: we expect that all the complex types are defined at root level
- if (!"".equals(complexTypeName)) {
- NodeList complexTypeList = xmlSchema.getChildNodes();
- for(int i=0; i< complexTypeList.getLength();i++) {
- Node node = complexTypeList.item(i);
- if ( node instanceof Element) {
- if (node.getLocalName().equals("complexType")) {
- Node nameAttribute = node.getAttributes().getNamedItem("name");
- if (nameAttribute.getNodeValue().equals(complexTypeName)) {
-
- NodeList complexTypeChildList =node.getChildNodes();
- for(int j=0; j<complexTypeChildList.getLength();j++) {
- Node sequence = complexTypeChildList.item(j);
-
- if ( sequence instanceof Element) {
- if (sequence.getLocalName().equals("sequence")) {
- complexTypeNode = sequence;
- break;
- }
+ return complexTypeName;
+ }
+
+ private Node getComplexTypeNodeFromSchemaChildren(Node xmlSchema, Node complexTypeNode,
+ String complexTypeName) {
+ NodeList complexTypeList = xmlSchema.getChildNodes();
+ for(int i=0; i< complexTypeList.getLength();i++) {
+ Node node = complexTypeList.item(i);
+ if ( node instanceof Element) {
+ if (node.getLocalName().equals("complexType")) {
+ Node nameAttribute = node.getAttributes().getNamedItem("name");
+ if (nameAttribute.getNodeValue().equals(complexTypeName)) {
+
+ NodeList complexTypeChildList =node.getChildNodes();
+ for(int j=0; j<complexTypeChildList.getLength();j++) {
+ Node sequence = complexTypeChildList.item(j);
+
+ if ( sequence instanceof Element) {
+ if (sequence.getLocalName().equals("sequence")) {
+ complexTypeNode = sequence;
+ break;
}
}
- if (complexTypeNode!=null) {
- break;
- }
-
}
+ if (complexTypeNode!=null) {
+ break;
+ }
+
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org