Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » XML Schema Definition (XSD) » java.lang.NullPointerException when adding Element
java.lang.NullPointerException when adding Element [message #593381] Thu, 30 December 2004 10:09
Eclipse UserFriend
Originally posted by: ooi.de.ibm.com

Hi,

I have a problem when adding a element to a schema. A NullPointerException
occurs although the schema and the element exist.What could the problem
be?
here is the class i am experimenting with.

The error is in the addElements() method.


public class Example {

private XSDSchema schema;
private File outputFile;
private DocumentBuilderFactory docFactory;
private Document document;
private String parentClassName;

private ArrayList currentProperties;

private String root;
private String xsd;
private String muws;

public Example (String inputParentClassName,String inputPathName){
parentClassName = inputParentClassName;
schema = XSDFactory.eINSTANCE.createXSDSchema();
outputFile = new File(inputPathName + "//" + parentClassName+".xsd");
createDocument();
initializeSchema();
initializeNamespaces();
//addImports();
addElements();
save();

}

private void createDocument(){
docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = null;
try {
builder = docFactory.newDocumentBuilder();
} catch (ParserConfigurationException e1) {
e1.printStackTrace();
}
document = (Document) builder.newDocument();
}

private void initializeSchema(){
Element schemaElement = (Element)
document.createElementNS(XSDUtil.SCHEMA_FOR_SCHEMA_URI_2001, "schema");
schema.setElement(schemaElement);
document.appendChild(schemaElement);
}

private void initializeNamespaces(){
schema.setTargetNamespace("http://dmtf.org/v2.8/"+parentClassName+".xsd");
java.util.Map qNamePrefixToNamespaceMap =
schema.getQNamePrefixToNamespaceMap();
root = "http://dmtf.org/v2.8/";
qNamePrefixToNamespaceMap.put("cim-root",root);
xsd= "http://www.w3.org/2001/XMLSchema";
qNamePrefixToNamespaceMap.put("xsd",xsd);
muws = "http://docs.oasis-open.org/wsdm/2004/XX/muws/schema";
qNamePrefixToNamespaceMap.put("muws",muws);
String currentParentXSDnamespace = "http://dmtf.org/v2.8/"+
parentClassName+".xsd";
qNamePrefixToNamespaceMap.put(parentClassName+"-xsd",currentParentXSDnamespace);
schema.update();
}
private void addImports(){
XSDImport muwsImport = XSDFactory.eINSTANCE.createXSDImport();
muwsImport.setNamespace(muws);
muwsImport.setSchemaLocation("\\import\\MUWS.xsd");
schema.getContents().add(muwsImport);

XSDImport rootImport = XSDFactory.eINSTANCE.createXSDImport();
rootImport.setNamespace(root);
rootImport.setSchemaLocation("\\import\\CIM_root.xsd");
schema.getContents().add(rootImport);

}

private void addElements(){
XSDElementDeclarationImpl element =(XSDElementDeclarationImpl)
XSDFactory.eINSTANCE.createXSDElementDeclaration();
element.setName("anElement");
schema.getContents().add(element);
}

public static void main(String[] args) {
Example example1 = new Example("Example","C:\\Documents and
Settings\\Administrator\\Desktop");
}

private void save(){
try {
Source source = new DOMSource(document);
Result result = new StreamResult(outputFile);
Transformer xformer = TransformerFactory.newInstance().newTransformer();
xformer.transform(source,result);
} catch (TransformerConfigurationException e) {
e.printStackTrace();
} catch (TransformerFactoryConfigurationError e) {
e.printStackTrace();
} catch (TransformerException e) {
e.printStackTrace();
}





}
}

thank you very much.
Previous Topic:XSDConstrainingFacet.isConstraintSatisfied
Next Topic:XSDConstrainingFacet.isConstraintSatisfied
Goto Forum:
  


Current Time: Fri Apr 26 00:54:45 GMT 2024

Powered by FUDForum. Page generated in 0.02766 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top