org.apache.xalan.templates
Class ElemSort
java.lang.Object
org.apache.xml.utils.UnImplNode
org.apache.xalan.templates.ElemTemplateElement
org.apache.xalan.templates.ElemSort
- All Implemented Interfaces:
- org.w3c.dom.Document, org.w3c.dom.Element, ExpressionNode, org.w3c.dom.Node, org.w3c.dom.NodeList, PrefixResolver, Serializable, javax.xml.transform.SourceLocator, WhitespaceStrippingElementMatcher, XSLTVisitable
- public class ElemSort
- extends ElemTemplateElement
Implement xsl:sort.
- See Also:
- sorting in XSLT Specification,
Serialized Form
Field Summary |
private AVT |
m_caseorder_avt
case-order has the value upper-first or lower-first.
|
private AVT |
m_dataType_avt
data-type specifies the data type of the
strings to be sorted. |
private AVT |
m_lang_avt
lang specifies the language of the sort keys. |
private AVT |
m_order_avt
order specifies whether the strings should be sorted in ascending
or descending order. |
private XPath |
m_selectExpression
xsl:sort has a select attribute whose value is an expression. |
Fields inherited from interface org.w3c.dom.Node |
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE |
Methods inherited from class org.apache.xalan.templates.ElemTemplateElement |
accept, addOrReplaceDecls, appendChild, callChildVisitors, callChildVisitors, callVisitors, canAcceptVariables, canStripWhiteSpace, compareTo, containsExcludeResultPrefix, endCompose, error, error, execute, executeNSDecls, executeNSDecls, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getBaseIdentifier, getChildNodes, getColumnNumber, getDeclaredPrefixes, getDOMBackPointer, getFirstChild, getFirstChildElem, getLastChild, getLastChildElem, getLength, getLineNumber, getLocalName, getNamespaceForPrefix, getNamespaceForPrefix, getNextSibling, getNextSiblingElem, getNodeType, getOwnerDocument, getOwnerXSLTemplate, getParentElem, getParentNode, getParentNodeElem, getPrefixes, getPreviousSibling, getPreviousSiblingElem, getPublicId, getStylesheet, getStylesheetComposed, getStylesheetRoot, getSystemId, getTagName, getUid, getXmlSpace, handlesNullPrefixes, hasChildNodes, hasTextLitOnly, hasVariableDecl, insertBefore, isCompiledTemplate, isValidNCName, item, needToCheckExclude, recompose, removeChild, replaceChild, replaceChild, resolvePrefixTables, runtimeInit, setDOMBackPointer, setLocaterInfo, setParentElem, setPrefixes, setPrefixes, setUid, setXmlSpace, shouldStripWhiteSpace, unexecuteNSDecls, unexecuteNSDecls |
Methods inherited from class org.apache.xml.utils.UnImplNode |
adoptNode, appendData, cloneNode, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getDoctype, getDocumentElement, getElementById, getElementsByTagName, getElementsByTagNameNS, getEncoding, getImplementation, getNamespaceURI, getNodeValue, getOwnerElement, getPrefix, getSpecified, getStandalone, getStrictErrorChecking, getVersion, hasAttribute, hasAttributeNS, hasAttributes, importNode, insertData, isSupported, normalize, removeAttribute, removeAttributeNode, removeAttributeNS, removeChild, replaceData, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setData, setEncoding, setNodeValue, setPrefix, setStandalone, setStrictErrorChecking, setValue, setVersion, splitText, substringData |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
m_selectExpression
private XPath m_selectExpression
- xsl:sort has a select attribute whose value is an expression.
m_lang_avt
private AVT m_lang_avt
- lang specifies the language of the sort keys.
m_dataType_avt
private AVT m_dataType_avt
- data-type specifies the data type of the
strings to be sorted.
m_order_avt
private AVT m_order_avt
- order specifies whether the strings should be sorted in ascending
or descending order.
m_caseorder_avt
private AVT m_caseorder_avt
- case-order has the value upper-first or lower-first.
The default value is language dependent.
ElemSort
public ElemSort()
setSelect
public void setSelect(XPath v)
- Set the "select" attribute.
xsl:sort has a select attribute whose value is an expression.
For each node to be processed, the expression is evaluated
with that node as the current node and with the complete
list of nodes being processed in unsorted order as the current
node list. The resulting object is converted to a string as if
by a call to the string function; this string is used as the
sort key for that node. The default value of the select attribute
is ., which will cause the string-value of the current node to
be used as the sort key.
- Parameters:
v
- Value to set for the "select" attribute
getSelect
public XPath getSelect()
- Get the "select" attribute.
xsl:sort has a select attribute whose value is an expression.
For each node to be processed, the expression is evaluated
with that node as the current node and with the complete
list of nodes being processed in unsorted order as the current
node list. The resulting object is converted to a string as if
by a call to the string function; this string is used as the
sort key for that node. The default value of the select attribute
is ., which will cause the string-value of the current node to
be used as the sort key.
- Returns:
- The value of the "select" attribute
setLang
public void setLang(AVT v)
- Set the "lang" attribute.
lang specifies the language of the sort keys; it has the same
range of values as xml:lang [XML]; if no lang value is
specified, the language should be determined from the system environment.
- Parameters:
v
- The value to set for the "lang" attribute
getLang
public AVT getLang()
- Get the "lang" attribute.
lang specifies the language of the sort keys; it has the same
range of values as xml:lang [XML]; if no lang value is
specified, the language should be determined from the system environment.
- Returns:
- The value of the "lang" attribute
setDataType
public void setDataType(AVT v)
- Set the "data-type" attribute.
data-type
specifies the data type of the
strings; the following values are allowed:
-
text
specifies that the sort keys should be
sorted lexicographically in the culturally correct manner for the
language specified by lang
.
-
number
specifies that the sort keys should be
converted to numbers and then sorted according to the numeric value;
the sort key is converted to a number as if by a call to the
number function; the lang
attribute is ignored.
-
A QName with a prefix
is expanded into an expanded-name as described
in [2.4 Qualified Names]; the expanded-name identifies the data-type;
the behavior in this case is not specified by this document.
The default value is text
.
NOTE: The XSL Working Group plans that future versions of XSLT will
leverage XML Schemas to define further values for this
attribute.
- Parameters:
v
- Value to set for the "data-type" attribute
getDataType
public AVT getDataType()
- Get the "data-type" attribute.
data-type
specifies the data type of the
strings; the following values are allowed:
-
text
specifies that the sort keys should be
sorted lexicographically in the culturally correct manner for the
language specified by lang
.
-
number
specifies that the sort keys should be
converted to numbers and then sorted according to the numeric value;
the sort key is converted to a number as if by a call to the
number function; the lang
attribute is ignored.
-
A QName with a prefix
is expanded into an expanded-name as described
in [2.4 Qualified Names]; the expanded-name identifies the data-type;
the behavior in this case is not specified by this document.
The default value is text
.
NOTE: The XSL Working Group plans that future versions of XSLT will
leverage XML Schemas to define further values for this
attribute.
- Returns:
- The value of the "data-type" attribute
setOrder
public void setOrder(AVT v)
- Set the "order" attribute.
order specifies whether the strings should be sorted in ascending
or descending order; ascending specifies ascending order; descending
specifies descending order; the default is ascending.
- Parameters:
v
- The value to set for the "order" attribute
getOrder
public AVT getOrder()
- Get the "order" attribute.
order specifies whether the strings should be sorted in ascending
or descending order; ascending specifies ascending order; descending
specifies descending order; the default is ascending.
- Returns:
- The value of the "order" attribute
setCaseOrder
public void setCaseOrder(AVT v)
- Set the "case-order" attribute.
case-order has the value upper-first or lower-first; this applies
when data-type="text", and specifies that upper-case letters should
sort before lower-case letters or vice-versa respectively.
For example, if lang="en", then A a B b are sorted with
case-order="upper-first" and a A b B are sorted with case-order="lower-first".
The default value is language dependent.
- Parameters:
v
- The value to set for the "case-order" attribute
getCaseOrder
public AVT getCaseOrder()
- Get the "case-order" attribute.
case-order has the value upper-first or lower-first; this applies
when data-type="text", and specifies that upper-case letters should
sort before lower-case letters or vice-versa respectively.
For example, if lang="en", then A a B b are sorted with
case-order="upper-first" and a A b B are sorted with case-order="lower-first".
The default value is language dependent.
- Returns:
- The value of the "case-order" attribute
getXSLToken
public int getXSLToken()
- Get an int constant identifying the type of element.
- Overrides:
getXSLToken
in class ElemTemplateElement
- Returns:
- The token ID of the element
- See Also:
Constants
getNodeName
public String getNodeName()
- Return the node name.
- Specified by:
getNodeName
in interface org.w3c.dom.Node
- Overrides:
getNodeName
in class ElemTemplateElement
- Returns:
- The element's name
appendChild
public org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
throws org.w3c.dom.DOMException
- Add a child to the child list.
- Specified by:
appendChild
in interface org.w3c.dom.Node
- Overrides:
appendChild
in class ElemTemplateElement
- Parameters:
newChild
- Child to add to the child list
- Returns:
- Child just added to the child list
- Throws:
org.w3c.dom.DOMException
compose
public void compose(StylesheetRoot sroot)
throws javax.xml.transform.TransformerException
- This function is called after everything else has been
recomposed, and allows the template to set remaining
values that may be based on some other property that
depends on recomposition.
- Overrides:
compose
in class ElemTemplateElement
- Throws:
javax.xml.transform.TransformerException