XML Schema Object Model --- Referenz ermitteln

jazzhunter

Grünschnabel
Hallo,

hat schon mal jemand mit xsom (http://xsom.java.net/) gearbeitet?

beispielsweise habe ich folgenden komplexen Typ:

Code:
<complexType name="BoundingShapeType">
		<sequence>
			<element ref="Envelope"/>
		</sequence>
		<attribute name="nilReason" type="NilReasonType"/>
	</complexType>

und nun möchte ich mit dem XSOM-Parser durch Abfrage dieses Typs wissen, ob bspw. eine Elementreferenz vorliegt.

Code:
import com.sun.xml.xsom.*;
import java.io.File;
import com.sun.xml.xsom.parser.XSOMParser;
import com.sun.xml.xsom.XSSchemaSet;

public class XSDParser {
    public static void main(String args[]){
        XSSchema xsSchema;
		
		try{
            XSOMParser parser = new XSOMParser();
            parser.parse(new File("test.xsd"));

            XSSchemaSet schemaSet = parser.getResult();
            xsSchema = schemaSet.getSchema(1);
        }catch (Exception exp) {
            exp.printStackTrace(System.out);
        }
            
        XSComplexType ct = (ComplexType) xsSchema.getComplexType("BoundingShapeType");
		XSContentType contentType = ct.getContentType();
        XSParticle particle = contentType.asParticle();
        if(particle != null){
           XSTerm term = particle.getTerm();
           if(term.isElementDecl()){
              XSElementDecl elem = term.asXSElementDecl();
			  //jetzt bspw. prüfen ob eine Referenz vorliegt
           }
        }
	 
	 }
}

Kann mir da jemand helfen?

gruß jazzhunter
 

Neue Beiträge

Zurück