Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Oracle Application Development Framework Model and Business Components Java API Reference VERSION B16005-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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

`java.lang.Object
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`'s`getProperty` 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(org.w3c.dom.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'.

### ENUMERATION

    public static final java.lang.String ENUMERATION

### MIN_OCCURS

    public static final java.lang.String MIN_OCCURS

### MAX_OCCURS

    public static final java.lang.String MAX_OCCURS

### NILLABLE

    public static final java.lang.String NILLABLE

### NAMESPACE

    public static final java.lang.String NAMESPACE

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(org.w3c.dom.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)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Oracle Application Development Framework Model and Business Components Java API Reference VERSION B16005-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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