Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle ADF Model
11g Release 1 (11.1.1.5.0)

E10653-06


oracle.adf.model.adapter.dataformat.xml
Class XMLSchemaDef

java.lang.Object
  extended by oracle.adf.model.adapter.dataformat.xml.XMLSchemaDef


public class XMLSchemaDef
extends java.lang.Object

The XMLSchemaDef class parses an XML Schema definition document and provide helper methods to query the schema's structure.

Input must be set using any of the addSchema methods. The method build must be called after adding the required schema documents. This method initialises the member variables and sets up the object for use. Otherwise, all the helper methods return null.

A lookup table of all the global elements against its namespace is maintained as AccessorDef objects. The method getType may be used to obtain an element by name and namespace.

We then build a list of all the top-level elements in buildElementSet. The method buildSchemaTree descends into the top-level elements and creates a tree representing the schema's structure.

The getXSDTree method returns the tree representation of the input schema document/s.

On the resolution of each global element, it is added to a lookup table of elements against its namespace. This allows the method getType to quickly lookup a type by name and namespace and return its AccessorDef representation. The member variable mTypesSet encloses the lookup table against each namespace declared in the schema document.

The tree structure is in accordance with JSR227 specification. An item of data (<element>) is represented by a StructureDef. The <element>'s attributes can be obtained calling StructureDef's getAttribute method. If the <element> has child elements, they can be obtained by calling the getAccessors method. This returns a container of AccessorDef objects. It's getStructure method returns a StructureDef which represents the parent's child element. XML specific information against <element> such as maxOccurs, nillable and other such Annotations and Facets can be obtained by calling AttributeDef'sgetProperty or getProperties method.


Field Summary
static java.lang.String ENUMERATION
           
static java.lang.String MAX_OCCURS
           
static java.lang.String MIN_OCCURS
           
static java.lang.String NAMESPACE
           
static java.lang.String NILLABLE
           
static java.lang.String TYPE
          A set of constants that are retrieved from a type and stored in its 'properties'.

 

Constructor Summary
XMLSchemaDef()
           
XMLSchemaDef(java.lang.String rootName)
          Initialises the XML Data Structure with a name.

 

Method Summary
 void addSchema(java.io.InputStream xsdStream)
          Add a schema definition specified by its InputStream to the pipeline.
 void addSchema(Node node)
          Add a schema defintion specified by the Node.
 void addSchema(java.io.Reader xsdReader)
          Add a schema defintion specified by its Reader to the pipeline.
 void addSchema(java.lang.String xsdLocation)
          Add a schema defintion specified by its URL location to the pipeline.
 void addSchema(java.net.URL xsdURL)
          Add a schema defintion specified by its URL to the pipeline.
 void build()
          Builds the object and initialises the member variables for use.
 java.lang.String getSchemaProperty(java.lang.String targetNamespace, java.lang.String name)
          Returns the property value of the schema given its namespace and name.
 StructureDefinition getSchemaTree()
          Returns the XSD tree in the form of StructureDefinition.
 java.lang.Object getType(java.lang.String namespace, java.lang.String typeName)
          Returns the AccessorDef or a AttributeDef representation of a type given its namespace.
 boolean isAttributeFormDefault(java.lang.String targetNamespace)
          Determines if the attributes in the given namespace is qualified.
 boolean isElementFormDefault(java.lang.String targetNamespace)
          Determines if the elements in the given namespace is qualified.
 boolean isNamespaceDefined(java.lang.String namespace)
          Determines if the given namespace is defined in the current schema.
static void main(java.lang.String[] args)
           
 void printAllTypes()
           
 void printProperties(java.util.Map props, java.lang.String padding)
           
 void printSchemaMetadata()
           
 void printTree(StructureDefinition struct, int indent)
           

 

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Field Detail

TYPE

public static final java.lang.String TYPE
A set of constants that are retrieved from a type and stored in its 'properties'.
See Also:
Constant Field Values

ENUMERATION

public static final java.lang.String ENUMERATION
See Also:
Constant Field Values

MIN_OCCURS

public static final java.lang.String MIN_OCCURS
See Also:
Constant Field Values

MAX_OCCURS

public static final java.lang.String MAX_OCCURS
See Also:
Constant Field Values

NILLABLE

public static final java.lang.String NILLABLE
See Also:
Constant Field Values

NAMESPACE

public static final java.lang.String NAMESPACE
See Also:
Constant Field Values

Constructor Detail

XMLSchemaDef

public XMLSchemaDef()

XMLSchemaDef

public XMLSchemaDef(java.lang.String rootName)
Initialises the XML Data Structure with a name.
Parameters:
rootName - Name for the XML data structure

Method Detail

addSchema

public void addSchema(java.lang.String xsdLocation)
               throws AdapterException
Add a schema defintion specified by its URL location to the pipeline.
Parameters:
xsdLocation - URL location of the schema defintion.
Throws:
AdapterException - If error occurs while adding this defintion to the list. The URL location might be invalid or inaccessible.

addSchema

public void addSchema(java.net.URL xsdURL)
               throws AdapterException
Add a schema defintion specified by its URL to the pipeline.
Parameters:
xsdURL - URL of the schema definition.
Throws:
AdapterException - If error occus while adding this definition to the list. The URL might be invalid or inaccessible.

addSchema

public void addSchema(java.io.Reader xsdReader)
Add a schema defintion specified by its Reader to the pipeline.
Parameters:
xsdReader - Reader object containing the schema definition.

addSchema

public void addSchema(java.io.InputStream xsdStream)
Add a schema definition specified by its InputStream to the pipeline.
Parameters:
xsdStream - InputStream object containing the schema definition.

addSchema

public void addSchema(Node node)
Add a schema defintion specified by the Node.
Parameters:
node - Root node of the schema defintion.

build

public void build()
           throws AdapterException
Builds the object and initialises the member variables for use.

This method must be called after setting up the input using any of the addSchema methods and before calling any of the helper methods.

Throws:
AdapterException - If error occurs while parsing the schema.

getSchemaTree

public StructureDefinition getSchemaTree()
Returns the XSD tree in the form of StructureDefinition.
Returns:
A StructureDefinition object representing the structure of top-level elements of the XML Schema document.

getType

public java.lang.Object getType(java.lang.String namespace,
                                java.lang.String typeName)
Returns the AccessorDef or a AttributeDef representation of a type given its namespace. To obtain the underlying data structure of a AccessorDef, call it's getStructure method.
Parameters:
namespace - Namespace to which the type belongs.
typeName - Name of the type.
Returns:
Returns either a AccessorDef or a AttributeDef object if the type is found, otherwise returns null.

isElementFormDefault

public boolean isElementFormDefault(java.lang.String targetNamespace)
Determines if the elements in the given namespace is qualified.
Parameters:
targetNamespace - Namespace whose property needs to be queried.
Returns:
Returns true if the elements in the given namespace are qualified. Returns false if the elements are unqualified or the given namespace does not exist.

isAttributeFormDefault

public boolean isAttributeFormDefault(java.lang.String targetNamespace)
Determines if the attributes in the given namespace is qualified.
Parameters:
targetNamespace - Namespace whose property needs to be queried.
Returns:
Retruns true if the attributes in the given namespace are qualified. Returns false if the attributes are unqualified or the given namespace does not exist.

getSchemaProperty

public java.lang.String getSchemaProperty(java.lang.String targetNamespace,
                                          java.lang.String name)
Returns the property value of the schema given its namespace and name.
Parameters:
targetNamespace - Namespace whose property needs to be queried.
name - Name of the property whose value is to be fetched.
Returns:
Returns the property value if both the namespace and the property exists. Otherwise returns null.

isNamespaceDefined

public boolean isNamespaceDefined(java.lang.String namespace)
Determines if the given namespace is defined in the current schema.
Parameters:
namespace - Name of the namespace.
Returns:
Returns true if this namespace is defined in this schema, otherwise returns false.

printTree

public void printTree(StructureDefinition struct,
                      int indent)

printProperties

public void printProperties(java.util.Map props,
                            java.lang.String padding)

printAllTypes

public void printAllTypes()

printSchemaMetadata

public void printSchemaMetadata()

main

public static void main(java.lang.String[] args)

Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle ADF Model
11g Release 1 (11.1.1.5.0)

E10653-06


Copyright © 1997, 2011, Oracle. All rights reserved.