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, PullEvent, FingerprintedNode, Item, NamespaceResolver, 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
 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
 SchemaCompiler getSchemaCompiler()
           
 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 setSchemaCompiler(SchemaCompiler manager)
           
 void validate(SchemaCompiler compiler)
          Validate this schema element, checking all document-level constraints
 
Methods inherited from class com.saxonica.sdoc.SchemaElement
allowAttributes, getLineNumber, getSchemaNodeFactory, invalidAttributeValue, missingAttribute, missingChildElement, mustBeLastElement, parseFinalOrBlock, processAllAttributes, processId, processMaxOccurs, processMinOccurs, requireAttribute, setLineNumber, setSchemaNodeFactory, validateSubtree
 
Methods inherited from class net.sf.saxon.tree.ElementWithAttributes
copy, getAttributeList, getAttributeValue, getDeclaredNamespaces, getInScopeNamespaceCodes, getPrefixForURI, getURICodeForPrefix, getURIForPrefix, initialise, iteratePrefixes, 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

Returns:
the PreparedSchema object used to assemble the schema components defined in the schema document that contains this element.

setSchema

public void setSchema(PreparedSchema schema)

setSchemaCompiler

public void setSchemaCompiler(SchemaCompiler manager)

getSchemaCompiler

public SchemaCompiler getSchemaCompiler()

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 - if errors are found

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.

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()

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.

Parameters:
node - the node to be added as a child of this node
index - the position where the child is to be added

compact

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

Parameters:
size - the number of actual children


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