You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-users@xerces.apache.org by Gaston Escobar <ga...@yahoo.com.ar> on 2004/07/26 15:06:33 UTC

getting schema information

Hello, 

I'm having a problem using the xml schema API.
In the line:
XSModel schema = rootPSVI.getSchemaInformation();
The method getSchemaInformation() is always returning
null. I send the code, I hope somebody can help me.
thanks a lot!


I'm using the following code to retrieve the xml
schema information:

DOMParser parser = new DOMParser();
parser.setFeature("http://xml.org/sax/features/namespaces",
true);
parser.setFeature("http://xml.org/sax/features/validation",
true);
parser.setFeature("http://apache.org/xml/features/validation/schema",
true);
parser.setFeature("http://apache.org/xml/features/validation/schema-full-checking",
true);
String id =
"http://apache.org/xml/properties/dom/document-class-name";
Object value =
"org.apache.xerces.dom.PSVIDocumentImpl";
try {
parser.setProperty(id, value);
} 
catch (SAXException e) {
System.err.println("could not set parser property");
}					
parser.parse("NewFile.xml");
Document document = parser.getDocument();
Element root = document.getDocumentElement();
//retrieve PSVI for the root element
ElementPSVI rootPSVI = (ElementPSVI)root;
//retrieve the schema used in validation of this
document
XSModel schema = rootPSVI.getSchemaInformation();
XSNamedMap elementDeclarations =
schema.getComponents(XSConstants.ELEMENT_DECLARATION);
// get schema normalized value
String normalizedValue =
rootPSVI.getSchemaNormalizedValue();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}


This is my xml file:

<?xml version="1.0" encoding="UTF-8"?>
<personas
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="NewFile.xsd" >
	<persona>
		<nombre>hgh</nombre>
		<apellido>eee</apellido>
	</persona>
</personas>


and NewFile.xsd is like this:

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:element name="apellido" type="xsd:string"/>
    <xsd:element name="nombre" type="xsd:string"/>
    <xsd:element name="persona">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="nombre"/>
                <xsd:element ref="apellido"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="personas">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="persona"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
</xsd:schema>




	
	
		
___________________________________________________________
100mb gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-j-user-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-j-user-help@xml.apache.org