## com.saxonica.sdoc
Class UnknownElement

    java.lang.Object
      net.sf.saxon.tree.NodeImpl
          net.sf.saxon.tree.ElementImpl
              net.sf.saxon.tree.ElementWithAttributes
                  com.saxonica.sdoc.SchemaElement
                      com.saxonica.sdoc.UnknownElement

All Implemented Interfaces:
  Source, SourceLocator, FingerprintedNode, Item, NodeInfo, ValueRepresentation

    public class UnknownElement

extends SchemaElement

An unknown element in an XML Schema document. This may be an element with an unknown name in the schema namespace, or an element in a user namespace. In both cases the element is valid within xs:appInfo and xs:documentation, but not elsewhere. We don't validate the contents of the element.

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
`UnknownElement()` Creates a new unknown element

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
`NodeInfo` `getFirstChild()` Get the first child node of the element
`NodeInfo` `getLastChild()` Get the last child node of the element
`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.
`boolean` `hasChildNodes()` Determine if the node has any children.
`void` `prepareAttributes()` Validate and process the attributes on this element in the schema document
`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
`void` `validateSubtree(SchemaCompiler compiler)` Recursive walk through the stylesheet to validate all nodes: this implementation suppresses the subtree validation.

Methods inherited from class com.saxonica.sdoc.SchemaElement

`allowAttributes, checkMutuallyExclusiveAttributes, duplicate, duplicateElement, error, error, getContainingComplexType, getContainingSimpleType, getLineNumber, getSchema, getSchemaNodeFactory, getXSDSchema, illegalElement, indefiniteArticle, invalidAttributeValue, missingAttribute, missingChildElement, mustBeFirstElement, mustBeLastElement, mustPrecede, mutuallyExclusive, mutuallyExclusiveAttributes, mutuallyExclusiveElementAndAttribute, parseFinalOrBlock, postValidate, processAllAttributes, processId, processMaxOccurs, processMinOccurs, requireAttribute, setLineNumber, setSchemaNodeFactory, 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

### UnknownElement

    public UnknownElement()

  Creates a new unknown element

Method Detail

### 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

### validateSubtree

    public void validateSubtree(SchemaCompiler compiler)

  Recursive walk through the stylesheet to validate all nodes: this implementation suppresses the subtree validation.

  Overrides:
    `validateSubtree` in class `SchemaElement`
  Parameters:
    `compiler` -

### validate

    public void validate(SchemaCompiler compiler)

  Validate this schema element, checking all document-level constraints

  Overrides:
    `validate` in class `SchemaElement`
  Parameters:
    `compiler` -

### 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.