com.saxonica.sdoc
Class XSDSchema

java.lang.Object
  extended by net.sf.saxon.tree.NodeImpl
      extended by net.sf.saxon.tree.ElementImpl
          extended by net.sf.saxon.tree.ElementWithAttributes
              extended by com.saxonica.sdoc.SchemaElement
                  extended by com.saxonica.sdoc.XSDSchema
All Implemented Interfaces:
Source, SourceLocator, FingerprintedNode, Item, NodeInfo, ValueRepresentation

public class XSDSchema
extends SchemaElement

An xs:schema element in an XML Schema document


Field Summary
 
Fields inherited from class com.saxonica.sdoc.SchemaElement
REQUIRE_NULL_NS, REQUIRE_TARGET_NS, USE_DEFAULT_NS
 
Fields inherited from class net.sf.saxon.tree.NodeImpl
NODE_LETTER
 
Fields inherited from interface net.sf.saxon.om.NodeInfo
ALL_NAMESPACES, EMPTY_NAMESPACE_LIST, IS_DTD_TYPE, IS_NILLED, LOCAL_NAMESPACES, NO_NAMESPACES
 
Fields inherited from interface net.sf.saxon.om.ValueRepresentation
EMPTY_VALUE_ARRAY
 
Constructor Summary
XSDSchema()
           
 
Method Summary
 void addChild(NodeImpl node, int index)
          Add a child node to this node.
 void compact(int size)
          Compact the space used by this node
 AxisIterator enumerateChildren(NodeTest test)
          Get an enumeration of the children of this node
 String getAttributeFormDefault()
          Returns the attributeFormDefault property of this Schema.
 int getBlockDefault()
          Returns the default BlockList for this Schema.
 String getElementFormDefault()
          Returns the elementFormDefault property of this Schema.
 int getErrorCount()
           
 int getFinalDefault()
          Returns the default FinalList for this Schema.
 NodeInfo getFirstChild()
          Get the first child node of the element
 NodeInfo getLastChild()
          Get the last child node of the element
 PreparedSchema getSchema()
          Get the schema corresponding to the contents of the schema document containing this element
 SchemaDocumentManager getSchemaDocumentManager()
           
 String getStringValue()
          Return the string-value of the node, that is, the concatenation of the character content of all descendent elements and text nodes.
 CharSequence getStringValueCS()
          Get the value of the item as a CharSequence.
 String getTargetNamespace()
          Get the target namespace of this schema document.
 boolean hasChildNodes()
          Determine if the node has any children.
 void incrementErrorCount()
           
 boolean isChameleon()
          Determine if this is a chameleon schema document, that is, one with no targetNamespace of its own, whose effective target namespace (and for many purposes, default namespace) are set to the targetNamespace of the referring schema document.
 boolean isImportedNamespace(String uri)
          Determine whether a given URI is that of a namespace that has been imported into this schema document.
 void postValidate(SchemaCompiler compiler)
          Process child elements after validation
 void prepareAttributes()
          Validate and process the attributes on this element in the schema document
 void setAttributeFormDefault(String attributeFormDefault)
          Sets the attributeFormDefault property of this Schema.
 void setBlockDefault(int value)
          Sets the default Block values for this Schema.
 void setElementFormDefault(String elementFormDefault)
          Sets the elementFormDefault property of this Schema.
 void setFinalDefault(int value)
          Sets the default "final" list for this Schema.
 void setReferrer(SchemaElement referrer)
           
 void setSchema(PreparedSchema schema)
           
 void setSchemaDocumentManager(SchemaDocumentManager manager)
           
 void useChildrenArray(NodeImpl[] array)
          Supply an array to be used for the array of children.
 void validate(SchemaCompiler compiler)
          Validate this schema element, checking all document-level constraints
 
Methods inherited from class com.saxonica.sdoc.SchemaElement
allowAttributes, checkMutuallyExclusiveAttributes, duplicate, duplicateElement, error, error, getContainingComplexType, getContainingSimpleType, getLineNumber, getSchemaNodeFactory, getXSDSchema, illegalElement, indefiniteArticle, invalidAttributeValue, missingAttribute, missingChildElement, mustBeFirstElement, mustBeLastElement, mustPrecede, mutuallyExclusive, mutuallyExclusiveAttributes, mutuallyExclusiveElementAndAttribute, parseFinalOrBlock, processAllAttributes, processId, processMaxOccurs, processMinOccurs, requireAttribute, setLineNumber, setSchemaNodeFactory, validateSubtree, warning
 
Methods inherited from class net.sf.saxon.tree.ElementWithAttributes
copy, getAttributeList, getAttributeValue, getDeclaredNamespaces, getInScopeNamespaceCodes, getPrefixForURI, getURICodeForPrefix, getURIForPrefix, initialise, iteratePrefixes, sendNamespaceDeclarations, setNamespaceDeclarations
 
Methods inherited from class net.sf.saxon.tree.ElementImpl
generateId, getBaseURI, getDocumentRoot, getNameCode, getNodeKind, getRoot, getSystemId, setNameCode, setSystemId
 
Methods inherited from class net.sf.saxon.tree.NodeImpl
atomize, compareOrder, equals, getColumnNumber, getConfiguration, getDisplayName, getDocumentNumber, getFingerprint, getLocalPart, getNamePool, getNextInDocument, getNextSibling, getParent, getPrefix, getPreviousInDocument, getPreviousSibling, getPublicId, getTypeAnnotation, getTypedValue, getURI, hashCode, isSameNodeInfo, iterateAxis, iterateAxis
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XSDSchema

public XSDSchema()
Method Detail

getSchema

public PreparedSchema getSchema()
Description copied from class: SchemaElement
Get the schema corresponding to the contents of the schema document containing this element

Overrides:
getSchema in class SchemaElement

setSchema

public void setSchema(PreparedSchema schema)

setSchemaDocumentManager

public void setSchemaDocumentManager(SchemaDocumentManager manager)

getSchemaDocumentManager

public SchemaDocumentManager getSchemaDocumentManager()

setReferrer

public void setReferrer(SchemaElement referrer)

isChameleon

public boolean isChameleon()
Determine if this is a chameleon schema document, that is, one with no targetNamespace of its own, whose effective target namespace (and for many purposes, default namespace) are set to the targetNamespace of the referring schema document.


prepareAttributes

public void prepareAttributes()
                       throws SchemaException
Validate and process the attributes on this element in the schema document

Specified by:
prepareAttributes in class SchemaElement
Throws:
SchemaException - if any errors are found in the attributes

isImportedNamespace

public boolean isImportedNamespace(String uri)
Determine whether a given URI is that of a namespace that has been imported into this schema document.

Parameters:
uri - the namespace URI ("" for the null namespace)
Returns:
true if the namespace has been imported, false otherwise

validate

public void validate(SchemaCompiler compiler)
              throws SchemaException
Validate this schema element, checking all document-level constraints

Overrides:
validate in class SchemaElement
Parameters:
compiler -
Throws:
SchemaException - if any XML representation constraints are violated

postValidate

public void postValidate(SchemaCompiler compiler)
                  throws SchemaException
Process child elements after validation

Overrides:
postValidate in class SchemaElement
Parameters:
compiler -
Throws:
SchemaException

getTargetNamespace

public String getTargetNamespace()
Get the target namespace of this schema document.

Returns:
"" for the no-namespace case

getAttributeFormDefault

public String getAttributeFormDefault()
Returns the attributeFormDefault property of this Schema.

Returns:
the attributeFormDefault property of this Schema, or null if no default Form was set. If no default Form has been set, the user should assume Form.Unqualified. The value is returned as a string, "qualified" or "unqualified".

getBlockDefault

public int getBlockDefault()
Returns the default BlockList for this Schema.

Returns:
the default BlockList for this Schema, as an integer with bit-significant fields

getElementFormDefault

public String getElementFormDefault()
Returns the elementFormDefault property of this Schema.

Returns:
the elementFormDefault property of this Schema. The value is returned as a string ("qualified" or "unqualified"), or null if no default Form was set. If no default Form has been set, the user should assume "unqualified".

getFinalDefault

public int getFinalDefault()
Returns the default FinalList for this Schema.

Returns:
final the default FinalList for this Schema.

setAttributeFormDefault

public void setAttributeFormDefault(String attributeFormDefault)
Sets the attributeFormDefault property of this Schema.

Parameters:
attributeFormDefault - the Form value of the attributeFormDefault property for this Schema, as a string, "qualified" or "unqualified". The caller is responsible for validating the value.

setBlockDefault

public void setBlockDefault(int value)
Sets the default Block values for this Schema.

Parameters:
value - the default Block values to set for this Schema, as a bit-significant integer.

setElementFormDefault

public void setElementFormDefault(String elementFormDefault)
Sets the elementFormDefault property of this Schema.

Parameters:
elementFormDefault - the Form value of the elementFormDefault property for this Schema.

setFinalDefault

public void setFinalDefault(int value)
Sets the default "final" list for this Schema.

Parameters:
value - the default final values to set for this Schema, as a bit-significant integer

getErrorCount

public int getErrorCount()

incrementErrorCount

public void incrementErrorCount()

hasChildNodes

public final boolean hasChildNodes()
Determine if the node has any children.

Specified by:
hasChildNodes in interface NodeInfo
Overrides:
hasChildNodes in class NodeImpl
Returns:
true if the node has any children, false if the node has no children.

enumerateChildren

public final AxisIterator enumerateChildren(NodeTest test)
Get an enumeration of the children of this node

Parameters:
test - A NodeTest to be satisfied by the child nodes, or null if all child node are to be returned

getFirstChild

public final NodeInfo getFirstChild()
Get the first child node of the element

Overrides:
getFirstChild in class NodeImpl
Returns:
the first child node of the required type, or null if there are no children

getLastChild

public final NodeInfo getLastChild()
Get the last child node of the element

Overrides:
getLastChild in class NodeImpl
Returns:
the last child of the element, or null if there are no children

getStringValue

public String getStringValue()
Return the string-value of the node, that is, the concatenation of the character content of all descendent elements and text nodes.

Returns:
the accumulated character content of the element, including descendant elements.
See Also:
Item.getStringValueCS()

getStringValueCS

public CharSequence getStringValueCS()
Description copied from class: NodeImpl
Get the value of the item as a CharSequence. This is in some cases more efficient than the version of the method that returns a String.

Specified by:
getStringValueCS in interface Item
Specified by:
getStringValueCS in interface ValueRepresentation
Overrides:
getStringValueCS in class NodeImpl
Returns:
the string value of the item
See Also:
Item.getStringValue()

useChildrenArray

public void useChildrenArray(NodeImpl[] array)
Supply an array to be used for the array of children. For system use only.


addChild

public void addChild(NodeImpl node,
                     int index)
Add a child node to this node. For system use only. Note: normalizing adjacent text nodes is the responsibility of the caller.


compact

public void compact(int size)
Compact the space used by this node



Copyright (C) Michael H. Kay. All rights reserved.