|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.saxon.tree.NodeImpl
net.sf.saxon.tree.ParentNodeImpl
net.sf.saxon.tree.ElementImpl
net.sf.saxon.tree.ElementWithAttributes
com.saxonica.sdoc.SchemaElement
An element in an XML Schema document
Field Summary | |
static int |
REQUIRE_NULL_NS
Option indicating "no namespace prefix is allowed; the name is in the null Namespace" |
static int |
REQUIRE_TARGET_NS
Option indicating "no namespace prefix is allowed; the name is in the targetNamespace" |
static int |
USE_DEFAULT_NS
Option indicating "use the default element namespace when unprefixed" |
Fields inherited from class net.sf.saxon.tree.ElementWithAttributes |
attributeList, namespaceList |
Fields inherited from class net.sf.saxon.tree.ElementImpl |
nameCode, root, sequence |
Fields inherited from class net.sf.saxon.tree.NodeImpl |
index, NODE_LETTER, parent |
Fields inherited from interface net.sf.saxon.om.NodeInfo |
ALL_NAMESPACES, EMPTY_NAMESPACE_LIST, IS_DTD_TYPE, LOCAL_NAMESPACES, NO_NAMESPACES |
Fields inherited from interface net.sf.saxon.om.ValueRepresentation |
EMPTY_VALUE_ARRAY |
Constructor Summary | |
SchemaElement()
|
Method Summary | |
protected int |
allocateAnonymousTypeCode()
Allocate a name to an anonymous type. |
void |
allowAttributes(AttributeCollection atts,
java.lang.String[] allowed)
Check the attributes of an element against a list of allowed attributes. |
void |
checkMutuallyExclusiveAttributes(java.lang.String name1,
java.lang.String name2)
This method tests whether two attributes coexist and reports an error if they do |
void |
duplicate(java.lang.String category,
java.lang.String name)
This method is called when two objects in the same symbol space within a schema have duplicate names |
void |
duplicateElement(java.lang.String name)
This method is called when two occurrences of a child element are found and only one is allowed. |
void |
error(java.lang.String err)
This method is called for a general error. |
UserComplexType |
getContainingComplexType()
Get the complexType associated with the containing xs:complexType element |
SimpleTypeDefinition |
getContainingSimpleType()
Get the simpleTypeDefinition associated with the containing xs:simpleType element |
protected int |
getFingerprint(java.lang.String name,
int option)
This method is called to check that a QName is valid and allocate a fingerprint for the name in the namePool. |
int |
getLineNumber()
Get the line number |
protected int |
getNameCode(java.lang.String name,
int option)
|
PreparedSchema |
getSchema()
Get the schema corresponding to the contents of the schema document containing this element |
SchemaNodeFactory |
getSchemaNodeFactory()
Get the nodeFactory used to create this element. |
XSDSchema |
getXSDSchema()
Get the owning XSDSchema element. |
void |
illegalElement(NodeInfo child)
This method is called when an illegal Element is encountered. |
java.lang.String |
indefiniteArticle(java.lang.String word,
java.lang.String start)
Construct an indefinite article in English |
void |
invalidAttributeValue(java.lang.String name,
java.lang.String value,
java.lang.String message)
This method is called when an invalid attribute value is found |
protected boolean |
isTopLevel()
Return true if this element is a child of xs:schema or xs:redefine |
void |
missingAttribute(java.lang.String name)
This method is called when a required attribute is not found |
void |
missingChildElement(java.lang.String name)
This method is called when a required child element is not found |
void |
mustBeFirstElement(java.lang.String name)
This method is called when a child element is required to be the first child, but is found elsewhere |
void |
mustBeLastElement(java.lang.String name)
This method is called when a child element is required to be the first child, but is found elsewhere |
void |
mustPrecede(java.lang.String name1,
java.lang.String name2)
This method is called when two child elements are found in the wrong order. |
void |
mutuallyExclusive(java.lang.String name1,
java.lang.String name2)
This method is called when two child elements may not coexist |
void |
mutuallyExclusiveAttributes(java.lang.String name1,
java.lang.String name2)
This method is called when two attributes may not coexist |
void |
mutuallyExclusiveElementAndAttribute(java.lang.String elem,
java.lang.String att)
This method is called when an attribute and a child elements may not coexist |
int |
parseFinalOrBlock(java.lang.String attrName,
java.lang.String finalValue,
int allowed)
Parse a list of blocked or final derivations. |
void |
postValidate()
Hook to allow additional validation of a parent element immediately after its children have been validated. |
abstract void |
prepareAttributes()
Set the attribute list for the element. |
void |
processAllAttributes()
Process the attributes of this element and all its children |
void |
processId()
Process an @id attribute on the schema element: if present, check that it is a valid ID, and that it is unique in the schema document |
void |
requireAttribute(AttributeCollection atts,
java.lang.String required)
Indicate that a particular attribute is required |
void |
setLineNumber(int line)
Set the line number |
void |
setSchemaNodeFactory(SchemaNodeFactory factory)
Set the nodeFactory used to create this element. |
void |
validate()
Check that the schema element is valid. |
protected void |
validateChildren()
Validate the children of this node, recursively. |
void |
validateSubtree()
Recursive walk through the stylesheet to validate all nodes |
void |
warning(java.lang.String err)
|
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 |
addChild, compact, enumerateChildren, generateId, getBaseURI, getDocumentRoot, getFirstChild, getLastChild, getNameCode, getNodeKind, getNthChild, getRoot, getSequenceNumber, getStringValue, getStringValueCS, getSystemId, hasChildNodes, setNameCode, setSystemId, useChildrenArray |
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 |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int USE_DEFAULT_NS
public static final int REQUIRE_TARGET_NS
public static final int REQUIRE_NULL_NS
Constructor Detail |
public SchemaElement()
Method Detail |
protected boolean isTopLevel()
public void setSchemaNodeFactory(SchemaNodeFactory factory)
factory
- the schema node factorypublic SchemaNodeFactory getSchemaNodeFactory()
public void setLineNumber(int line)
setLineNumber
in class ElementImpl
public int getLineNumber()
getLineNumber
in interface NodeInfo
getLineNumber
in class ElementImpl
public void processAllAttributes() throws SchemaException
SchemaException
public abstract void prepareAttributes() throws SchemaException
SchemaException
public void allowAttributes(AttributeCollection atts, java.lang.String[] allowed) throws SchemaException
atts
- the attributes actually presentallowed
- the attributes that are allowed for this element. Note that
SchemaException
public void requireAttribute(AttributeCollection atts, java.lang.String required) throws SchemaException
atts
- the attribtue collectionrequired
- the local name of the required attribute, which must be in the null namespace
SchemaException
public void validateSubtree() throws SchemaException
SchemaException
protected void validateChildren() throws SchemaException
SchemaException
public void validate() throws SchemaException
SchemaException
public void postValidate() throws SchemaException
SchemaException
public XSDSchema getXSDSchema() throws SchemaException
SchemaException
- if none is found (which means the schema is invalid)public PreparedSchema getSchema() throws SchemaException
SchemaException
public UserComplexType getContainingComplexType() throws SchemaException
SchemaException
- if not contained in an xs:complexTypepublic SimpleTypeDefinition getContainingSimpleType() throws SchemaException
SchemaException
- if not contained in an xs:simpleTypepublic void error(java.lang.String err) throws SchemaException
err
- the error message to report
SchemaException
public void warning(java.lang.String err)
protected int getFingerprint(java.lang.String name, int option) throws SchemaException
name
- The QNameoption
- The option for handling unprefixed names. Options are
to use the default namespace, the target namespace, or the null namespace
Note that this method
assumes the name, if unprefixed, is in the default namespace: NOT
the targetNamespace of the schema.
SchemaException
- if the QName is invalid.protected int getNameCode(java.lang.String name, int option) throws SchemaException
SchemaException
public void illegalElement(NodeInfo child) throws SchemaException
child
-
SchemaException
- thrown if the errorListener
decides that it's a fatal error.public void duplicateElement(java.lang.String name) throws SchemaException
name
- the name of the illegal element
SchemaException
- thrown if the errorListener
decides that it's a fatal error.public void duplicate(java.lang.String category, java.lang.String name) throws SchemaException
category
- the name of the first attributename
- the name of the second attribute
SchemaException
- thrown if the errorListener
decides that it's a fatal error.public void mutuallyExclusive(java.lang.String name1, java.lang.String name2) throws SchemaException
name1
- the name of the first elementname2
- the name of the second element
SchemaException
- thrown if the errorListener
decides that it's a fatal error.public void mutuallyExclusiveElementAndAttribute(java.lang.String elem, java.lang.String att) throws SchemaException
elem
- the name of the elementatt
- the name of the attribute
SchemaException
- thrown if the errorListener
decides that it's a fatal error.public void mutuallyExclusiveAttributes(java.lang.String name1, java.lang.String name2) throws SchemaException
name1
- the name of the first attributename2
- the name of the second attribute
SchemaException
- thrown if the errorListener
decides that it's a fatal error.public void checkMutuallyExclusiveAttributes(java.lang.String name1, java.lang.String name2) throws SchemaException
name1
- the local name of the first attribute (must be in the null namespace)name2
- the local name of the second attribute (must be in the null namespace)
SchemaException
public void mustPrecede(java.lang.String name1, java.lang.String name2) throws SchemaException
name1
- the name of the element that should be firstname2
- the name of the element that should be second
SchemaException
- thrown if the errorListener
decides that it's a fatal error.public void mustBeFirstElement(java.lang.String name) throws SchemaException
name
- the name of the illegal element
SchemaException
- thrown if the errorListener
decides that it's a fatal error.public java.lang.String indefiniteArticle(java.lang.String word, java.lang.String start)
public void mustBeLastElement(java.lang.String name) throws SchemaException
name
- the name of the illegal element
SchemaException
- thrown if the errorListener
decides that it's a fatal error.public void invalidAttributeValue(java.lang.String name, java.lang.String value, java.lang.String message) throws SchemaException
name
- the name of the attributevalue
- the supplied value of the attributemessage
- additional explanation of why it's wrong. May be null.
SchemaException
- thrown if the errorListener
decides that it's a fatal error.public void missingAttribute(java.lang.String name) throws SchemaException
name
- the name of the attribute
SchemaException
- thrown if the errorListener
decides that it's a fatal error.public void missingChildElement(java.lang.String name) throws SchemaException
name
- the name of the required child element
SchemaException
- thrown if the errorListener
decides that it's a fatal error.public int parseFinalOrBlock(java.lang.String attrName, java.lang.String finalValue, int allowed) throws SchemaException
finalValue
- A list of values to be parsed, as a string,
for example "extension restriction"allowed
- The permitted values, as a bit-significant integer. For example
the value (DERIVE_BY_EXTENSION | DERIVE_BY_RESTRICTION) allows the values
"extension" and "restriction" to appear.
SchemaException
public void processId() throws SchemaException
SchemaException
- if the id is present and is invalid or is a duplicateprotected int allocateAnonymousTypeCode()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |