Context of the XPath expression

Source: Internet
Author: User
Tags xsl xslt
The calculation of the context XPath expression of an XPath expression depends on the context of the Operation expression. The context includes the nodes targeted at the computing expression and the associated environment, including the location of the context node relative to the peer node (in document order ). Context size-that is, the number of peer nodes of the context node plus 1. You can resolve variable reference variable binding. Function library. Namespace declaration in the expression range. To better evaluate the context concept, consider the Tree Containing nodes. When you request all nodes named X to the root of a tree, a result set is returned, and different result sets are returned when you request these nodes to the branches. Therefore, the result of an expression depends on the context of the execution expression. An XPath expression can match a specific pattern in a specific context, return results, and perform other operations relative to the context of the returned node. In this way, when searching in the entire document tree, the use of XPath expressions is very flexible. The following are basic types of XPath expressions. Each type is described below. The following example shows some basic XPath expressions. By combining these simple expressions and using various XPath operators and special characters, you can generate more complex expressions. The current context uses the sentence and forward slash (./) as the prefix to explicitly use the current context as the context. For example, the following expression references all <author> elements in the current context: copy the code. /author note: this expression is equivalent to the following expression: copy the code author document to use the root of the document tree as the context for an expression prefixed with a forward slash. For example, the following expression references the <bookstore> element of the document root: The expression that copies the code/bookstore root element using a forward slash and then an asterisk (/*) uses the root element as the context. For example, the following expression looks for the root element of the document: copy the code/* recursive descent using a double Forward slash (//) expression to indicate that there can be zero or multiple levels of search. If this operator appears at the beginning of the mode, context is relative to the root of the document. For example, the following expression references all <author> elements in any position in the current document: copy the code // author. // prefix to indicate that the context starts from the level indicated by the current context in the hierarchy. An expression starting with an element name references a query of a specific element, starting from the current context node. For example, the following expression references the <background.jpg> element in the <images> element of the current context node: copy the following images/background.jpg code to reference the set of <book> elements in the <bookstore> element of the current context node: copy the following expression of the Code bookstore/book to reference all <first. name> element: copy the code first. name note that the element name can contain periods (.). These names are used in the same way as any other names. The operators and special characters XPath expressions are constructed using the operators and special characters shown in the following table. /Sub-operator; select the direct sub-level of the left-side set. When this path operator starts with the mode, it indicates that the child level should be selected from the root node. // Recursive descent; search for a specified element in any depth. When this path operator appears at the beginning of the mode, it indicates that it should be recursively degraded from the root node.. Indicates the current context.... The parent level of the current context node. * Wildcard; all elements are selected, regardless of the element name. @ Attribute; prefix of the attribute name. @ * Attribute wildcard; select all attributes, regardless of the name.: Namespace separator. The namespace prefix is separated from the element name or attribute name. () Is the operation group and the priority is clearly set. [] Application filtering mode. [] Subscript operator; used to compile indexes in a collection. + Execute addition. -Perform subtraction. Div performs floating-point division based on IEEE 754. * Perform multiplication. Mod returns the remainder from the truncation division. This table does not contain boolean operators and set operators, which are listed in Boolean, comparison, and set expressions or set operations. The following table lists the priorities (from highest priority to lowest priority. Priority character Purpose 1 () Group 2 [] filter 3 // path operation grouping operator () is only applicable to top-level path expressions. For example, (// author/degree | // author/name) is a valid grouping operation, but // author/(degree | name) is not. The filtering mode operator ([]) has a higher priority than the path operator (// and //). For example, the expression // comment () [3] Selects all comments whose parent index is 3 relative to the remarks at any position in the document. This expression is different from the expression (// comment () [3]. The latter selects the third comment relative to all parent note sets. The previous expression can return multiple comments. The latter expression can return only one comment. These operators and special characters are described in detail in this reference document. The element set of a specific type of path operator can be determined by the path operator (// and. These operators are selected based on the "Left" set of their parameters. The "right" set indicates the elements to be selected. The sub-operator (/) is selected from the direct sub-level of the left-side set, and the sub-operator (//) is selected from any sub-generation of the left-side set. Therefore, // can be used as an alternative to one or more levels. Note: The Path operator changes the context when executing the query. By concatenating path operators, You can traverse the document tree. The example expression references all <first-name> elements in the <author> element of the current context node of author/first-name. All <title> elements of a deeper level or multi-level (any child) in the bookstore // title <bookstore> element. Note that this expression is different from bookstore/*/title in the following mode. Bookstore/*/title belongs to all <title> elements of the <bookstore> element. Bookstore // book/excerpt // any position in the <excerpt> sublevel of the <book> element and all <emph> elements in any position in the <bookstore> element :. // title all <title> elements in the current context with a deeper level or level. Note: in essence, only this case requires a period representation. By using a wildcard (*) set, an element can be referenced without the element name. * A collection reference is all the elements of the sublevel of the current context, regardless of the name. The example expression references all the child levels of the author/* <author> element. Book/*/last-name all <last-name> elements of the <book> element. */* All grandchildren in the current context. My: The <book> element in the book my namespace. My: * all elements in my namespace. Note: The mode *: book is not supported. Attribute XPath uses the @ symbol to represent the attribute name. Attribute and sub-element should be treated fairly, and the functions between the two types should be as equal as possible. Note that attributes cannot contain child elements. Therefore, if the path operator is applied to the attributes, a syntax error occurs. In addition, you cannot apply indexes to attributes because attributes are not defined in any order based on definitions. The example expression references the style attribute of the context of the current element of @ style. Price/@ exchange the exchange attribute of the <price> element in the current context. Copy the style attributes of all <book> elements of the book/@ style code in Xml. Note: The following example is invalid because the attribute cannot contain any sub-level. Copy the code price/@ exchange/total to find multiple attributes. Use @ * to return all attributes of an element. This expression may be useful for applications that use attributes as fields in records. The example expression references all attributes of the current context node. @ My: * all attributes in my namespace. Does not include the undefined attributes of the elements in my namespace. Note: The mode @ *: title is not supported. The operators and special characters XPath expressions are constructed using the operators and special characters shown in the following table. /Sub-operator; select the direct sub-level of the left-side set. When this path operator starts with the mode, it indicates that the child level should be selected from the root node. // Recursive descent; search for a specified element in any depth. When this path operator appears at the beginning of the mode, it indicates that it should be recursively degraded from the root node.. Indicates the current context.... The parent level of the current context node. * Wildcard; all elements are selected, regardless of the element name. @ Attribute; prefix of the attribute name. @ * Attribute wildcard; select all attributes, regardless of the name.: Namespace separator. The namespace prefix is separated from the element name or attribute name. () Is the operation group and the priority is clearly set. [] Application filtering mode. [] Subscript operator; used to compile indexes in a collection. + Execute addition. -Perform subtraction. Div performs floating-point division based on IEEE 754. * Perform multiplication. Mod returns the remainder from the truncation division. This table does not contain boolean operators and set operators, which are listed in Boolean, comparison, and set expressions or set operations. The following table lists the priorities (from highest priority to lowest priority. Priority character Purpose 1 () Group 2 [] filter 3 // path operation grouping operator () is only applicable to top-level path expressions. For example, (// author/degree | // author/name) is a valid grouping operation, but // author/(degree | name) is not. The filtering mode operator ([]) has a higher priority than the path operator (// and //). For example, the expression // comment () [3] Selects all comments whose parent index is 3 relative to the remarks at any position in the document. This expression is different from the expression (// comment () [3]. The latter selects the third comment relative to all parent note sets. The previous expression can return multiple comments. The latter expression can return only one comment. These operators and special characters are described in detail in this reference document. The element set of a specific type of path operator can be determined by the path operator (// and. These operators are selected based on the "Left" set of their parameters. The "right" set indicates the elements to be selected. The sub-operator (/) is selected from the direct sub-level of the left-side set, and the sub-operator (//) is selected from any sub-generation of the left-side set. Therefore, // can be used as an alternative to one or more levels. Note: The Path operator changes the context when executing the query. By concatenating path operators, You can traverse the document tree. The example expression references all <first-name> elements in the <author> element of the current context node of author/first-name. All <title> elements of a deeper level or multi-level (any child) in the bookstore // title <bookstore> element. Note that this expression is different from bookstore/*/title in the following mode. Bookstore/*/title belongs to all <title> elements of the <bookstore> element. Bookstore // book/excerpt // any position in the <excerpt> sublevel of the <book> element and all <emph> elements in any position in the <bookstore> element :. // title all <title> elements in the current context with a deeper level or level. Note: in essence, only this case requires a period representation. By using a wildcard (*) set, an element can be referenced without the element name. * A collection reference is all the elements of the sublevel of the current context, regardless of the name. The example expression references all the child levels of the author/* <author> element. Book/*/last-name all <last-name> elements of the <book> element. */* All grandchildren in the current context. My: The <book> element in the book my namespace. My: * all elements in my namespace. Note: The mode *: book is not supported. Attribute XPath uses the @ symbol to represent the attribute name. Attribute and sub-element should be treated fairly, and the functions between the two types should be as equal as possible. Note that attributes cannot contain child elements. Therefore, if the path operator is applied to the attributes, a syntax error occurs. In addition, you cannot apply indexes to attributes because attributes are not defined in any order based on definitions. The example expression references the style attribute of the context of the current element of @ style. Price/@ exchange the exchange attribute of the <price> element in the current context. Copy the style attributes of all <book> elements of the book/@ style code in Xml. Note: The following example is invalid because the attribute cannot contain any sub-level. Copy the code price/@ exchange/total to find multiple attributes. Use @ * to return all attributes of an element. This expression may be useful for applications that use attributes as fields in records. The example expression references all attributes of the current context node. @ My: * all attributes in my namespace. Does not include the undefined attributes of the elements in my namespace. Note: The mode @ *: title is not supported. By adding the filter clause [pattern] to the set, you can apply constraints and branches to any set. Filters are similar to SQL WHERE clauses. The pattern contained in the filter is called "Filter Pattern ". The filtering mode is calculated as a Boolean value to test each element in the set. All elements that fail to pass the filtering mode test in the result set will be omitted from the result set. For convenience, if the set is in the filter, if the set contains any members, a Boolean value of TRUE is generated. If the set is empty, FALSE is generated. Expressions such as author/degree mean that if there is a <author> element containing a child element named <degree>, the conversion function from a set to a Boolean value is calculated as TRUE. Note that any number of filters can appear at the given level of the expression. Empty filters are not allowed. The filter always calculates the context. That is to say, the expression book [author] means to test whether each <book> element found contains the <author> sub-element. Similarly, book [author = 'bob'] means to test whether each <book> element found contains a <author> sub-element with a value of Bob. You can also use the period (.) character to check the context value. For example, book [. = 'trenton '] means to test whether the value of each book found in the current context is Trenton. The example expression references all <book> elements of at least one <excerpt> element in book [excerpt. Book [excerpt]/title contains at least one <title> element in the <book> element of the <excerpt> element. Book [excerpt]/author [degree] contains at least one <degree> element and all <author> elements in the <book> element that contains at least one <excerpt> element. Book [author/degree] contains at least one <author> element and at least one <degree> sub-element <book> of all elements. Book [excerpt] [title] contains at least one <excerpt> element and all <book> elements that contain at least one <title> element. Boolean, comparison, and concentrated expression filtering modes can include boolean expressions, comparison expressions, and concentrated expressions. The shortcuts listed in the following table represent the optional symbols provided in the XSL conversion (XSLT) implementation. This document discusses these expression operators. The and logic is equal to the or logic, or not () is not equal to =! = Not equal & lt; * Less Than & lt; = * less than or equal to & gt; * greater than & lt; = * greater than or equal to | set operation; returns the union of two node sets * the extended XPath method World Wide Web Federation (W3C) operator keyword syntax using blank and other delimiters, not using the dollar character ($) used in version 2.5 ). In W3C syntax, the binary keyword in the format of $ xxx $ can be represented as wsxxxws, where ws refers to the tag Terminator, which can be blank, single quotation marks ('), or double quotation marks ("). Unary operators such as not () use function notation. Although Microsoft implementations support these two syntaxes, we recommend that you use W3C syntax for future compatibility. The following table lists the priorities of comparison operators and boolean operators (from highest to lowest. 1 () Group 2 [] filter 3 // path operation 4 <or <=> or> = or>; = comparison 5 =! = Comparison 6 | when a Boolean value of 7 not () is combined with a Boolean value of not 8 And a Boolean value of 9 Or a Boolean value Or an operator is used in an XML document (such as An XSLT style sheet, <and> tags must be escaped as & lt; and & gt ;. For example, the following XSLT command calls the XSLT template rule on all <price> elements whose values are less than or equal to 10 <book>. Copy the Code <xsl: apply-templates select = "book [price & lt; = 10]"/> when the XPath expression is used with the DOM, the <and> operators do not need to be escaped. For example, the following JScript statement Selects all <book> elements whose values are less than or equal to 10. Copy the code var cheap_books = dom. selectNodes ("book [price <= 10]"). A Boolean expression can match all nodes with a specific value or all nodes with a specific range. The following is an example of a Boolean expression that returns false. Copy code 1 & gt; = 2. The operator is case sensitive. Logical and logical or boolean operators and or perform logical and logical or operations respectively. When combined with grouping brackets, these operators can be used to construct complex logical expressions. The example expression references author [degree and award] and contains at least one <degree> element and all <author> elements that contain at least one <award> element. Author [(degree or award) and publication] contains at least one <degree> or <award> element and all <author> elements that contain at least one <publication> element. Boolean non-not boolean operator evaluates non-expression values in filtering mode. Example expression reference author [degree and not (publication)] contains at least one <degree> element but not all <author> elements of the <publication> element author [not (degree or award) and publication] contains at least one <publication> element but not all <author> elements of any <degree> element or <award> element. Sample XML file (test. xml) Xml copy Code <? Xml version = "1.0"?> <Test> <x a = "1"> <x a = "2" B = "B"> <x> <y> y31 </y> <y> y32 </y> </x> <x a = "2"> <y> y2 </y> </x> <x a =" 3 "> <y> y3 </y> </x> </test> XSLT file (test. xsl) the following XSLT style sheet Selects all <x> elements without any attributes. Xml copy Code <? Xml version = '1. 0'?> <Xsl: stylesheet version = "1.0" xmlns: xsl = "http://www.w3.org/1999/XSL/Transform"> <xsl: output method = "xml" omit-xml-declaration = "yes" indent = "yes"/> <! -- Suppress text nodes not covered in subsequent template rule --> <xsl: template match = "text ()"/> <xsl: template match = "*"> <xsl: element name = "{name ()}"> <xsl: apply-templates select = "* | @ *"/> <xsl: if test = "text () "> <xsl: value-of select = ". "/> </xsl: if> </xsl: element> </xsl: template> <xsl: template match =" @ * "> <xsl: attribute name = "{name ()}"> <xsl: value-of select = ". "/> </xsl: attribute> </xsl: template> <xsl: tem Plate match = "/test"> <xsl: apply-templates select = "// x [not (@ *)]"/> </xsl: template> </xsl: stylesheet> the following results are generated when the output is converted to the preceding XML file: xml copy Code <x> <y> y31 </y> <y> y32 </y> </x> Boolean, comparison, and set expression filtering modes can contain Boolean and comparison expressions and set expressions. The shortcuts listed in the following table represent the optional symbols provided in the XSL conversion (XSLT) implementation. This document discusses these expression operators. The and logic is equal to the or logic, or not () is not equal to =! = Not equal & lt; * Less Than & lt; = * less than or equal to & gt; * greater than & lt; = * greater than or equal to | set operation; returns the union of two node sets * the extended XPath method World Wide Web Federation (W3C) operator keyword syntax using blank and other delimiters, not using the dollar character ($) used in version 2.5 ). In W3C syntax, the binary keyword in the format of $ xxx $ can be represented as wsxxxws, where ws refers to the tag Terminator, which can be blank, single quotation marks ('), or double quotation marks ("). Unary operators such as not () use function notation. Although Microsoft implementations support these two syntaxes, we recommend that you use W3C syntax for future compatibility. The following table lists the priorities of comparison operators and boolean operators (from highest to lowest. 1 () Group 2 [] filter 3 // path operation 4 <or <=> or> = or>; = comparison 5 =! = Comparison 6 | when a Boolean value of 7 not () is combined with a Boolean value of not 8 And a Boolean value of 9 Or a Boolean value Or an operator is used in an XML document (such as An XSLT style sheet, <and> tags must be escaped as & lt; and & gt ;. For example, the following XSLT command calls the XSLT template rule on all <price> elements whose values are less than or equal to 10 <book>. Copy the Code <xsl: apply-templates select = "book [price & lt; = 10]"/> when the XPath expression is used with the DOM, the <and> operators do not need to be escaped. For example, the following JScript statement Selects all <book> elements whose values are less than or equal to 10. Copy the code var cheap_books = dom. selectNodes ("book [price <= 10]"). A Boolean expression can match all nodes with a specific value or all nodes with a specific range. The following is an example of a Boolean expression that returns false. Copy code 1 & gt; = 2. The operator is case sensitive. Logical and logical or boolean operators and or perform logical and logical or operations respectively. When combined with grouping brackets, these operators can be used to construct complex logical expressions. The example expression references author [degree and award] and contains at least one <degree> element and all <author> elements that contain at least one <award> element. Author [(degree or award) and publication] contains at least one <degree> or <award> element and all <author> elements that contain at least one <publication> element. Boolean non-not boolean operator evaluates the value of the expression in filtering mode. Example expression reference author [degree and not (publication)] contains at least one <degree> element but not all <author> elements of the <publication> element author [not (degree or award) and publication] contains at least one <publication> element but not all <author> elements of any <degree> element or <award> element. Sample XML file (test. xml) Xml copy Code <? Xml version = "1.0"?> <Test> <x a = "1"> <x a = "2" B = "B"> <x> <y> y31 </y> <y> y32 </y> </x> <x a = "2"> <y> y2 </y> </x> <x a =" 3 "> <y> y3 </y> </x> </test> XSLT file (test. xsl) the following XSLT style sheet Selects all <x> elements without any attributes. Xml copy Code <? Xml version = '1. 0'?> <Xsl: stylesheet version = "1.0" xmlns: xsl = "http://www.w3.org/1999/XSL/Transform"> <xsl: output method = "xml" omit-xml-declaration = "yes" indent = "yes"/> <! -- Suppress text nodes not covered in subsequent template rule --> <xsl: template match = "text ()"/> <xsl: template match = "*"> <xsl: element name = "{name ()}"> <xsl: apply-templates select = "* | @ *"/> <xsl: if test = "text () "> <xsl: value-of select = ". "/> </xsl: if> </xsl: element> </xsl: template> <xsl: template match =" @ * "> <xsl: attribute name = "{name ()}"> <xsl: value-of select = ". "/> </xsl: attribute> </xsl: template> <xsl: tem Plate match = "/test"> <xsl: apply-templates select = "// x [not (@ *)]"/> </xsl: template> </xsl: stylesheet> the following results are generated when the output is converted to the preceding XML file: xml copy Code <x> <y> y31 </y> <y> y32 </y> </x> Boolean, comparison, and set expression filtering modes can contain Boolean and comparison expressions and set expressions. The shortcuts listed in the following table represent the optional symbols provided in the XSL conversion (XSLT) implementation. This document discusses these expression operators. The and logic is equal to the or logic, or not () is not equal to =! = Not equal & lt; * Less Than & lt; = * less than or equal to & gt; * greater than & lt; = * greater than or equal to | set operation; returns the union of two node sets * the extended XPath method World Wide Web Federation (W3C) operator keyword syntax using blank and other delimiters, not using the dollar character ($) used in version 2.5 ). In W3C syntax, the binary keyword in the format of $ xxx $ can be represented as wsxxxws, where ws refers to the tag Terminator, which can be blank, single quotation marks ('), or double quotation marks ("). Unary operators such as not () use function notation. Although Microsoft implementations support these two syntaxes, we recommend that you use W3C syntax for future compatibility. The following table lists the priorities of comparison operators and boolean operators (from highest to lowest. 1 () Group 2 [] filter 3 // path operation 4 <or <=> or> = or>; = comparison 5 =! = Comparison 6 | when a Boolean value of 7 not () is combined with a Boolean value of not 8 And a Boolean value of 9 Or a Boolean value Or an operator is used in an XML document (such as An XSLT style sheet, <and> tags must be escaped as & lt; and & gt ;. For example, the following XSLT command calls the XSLT template rule on all <price> elements whose values are less than or equal to 10 <book>. Copy the Code <xsl: apply-templates select = "book [price & lt; = 10]"/> when the XPath expression is used with the DOM, the <and> operators do not need to be escaped. For example, the following JScript statement Selects all <book> elements whose values are less than or equal to 10. Copy the code var cheap_books = dom. selectNodes ("book [price <= 10]"). A Boolean expression can match all nodes with a specific value or all nodes with a specific range. The following is an example of a Boolean expression that returns false. Copy code 1 & gt; = 2. The operator is case sensitive. Logical and logical or boolean operators and or perform logical and logical or operations respectively. When combined with grouping brackets, these operators can be used to construct complex logical expressions. The example expression references author [degree and award] and contains at least one <degree> element and all <author> elements that contain at least one <award> element. Author [(degree or award) and publication] contains at least one <degree> or <award> element and all <author> elements that contain at least one <publication> element. Boolean non-not boolean operator evaluates non-expression values in filtering mode. Example expression reference author [degree and not (publication)] contains at least one <degree> element but not all <author> elements of the <publication> element author [not (degree or award) and publication] contains at least one <publication> element but not all <author> elements of any <degree> element or <award> element. Sample XML file (test. xml) Xml copy Code <? Xml version = "1.0"?> <Test> <x a = "1"> <x a = "2" B = "B"> <x> <y> y31 </y> <y> y32 </y> </x> <x a = "2"> <y> y2 </y> </x> <x a =" 3 "> <y> y3 </y> </x> </test> XSLT file (test. xsl) the following XSLT style sheet Selects all <x> elements without any attributes. Xml copy Code <? Xml version = '1. 0'?> <Xsl: stylesheet version = "1.0" xmlns: xsl = "http://www.w3.org/1999/XSL/Transform"> <xsl: output method = "xml" omit-xml-declaration = "yes" indent = "yes"/> <! -- Suppress text nodes not covered in subsequent template rule --> <xsl: template match = "text ()"/> <xsl: template match = "*"> <xsl: element name = "{name ()}"> <xsl: apply-templates select = "* | @ *"/> <xsl: if test = "text () "> <xsl: value-of select = ". "/> </xsl: if> </xsl: element> </xsl: template> <xsl: template match =" @ * "> <xsl: attribute name = "{name ()}"> <xsl: value-of select = ". "/> </xsl: attribute> </xsl: template> <xsl: tem Plate match = "/test"> <xsl: apply-templates select = "// x [not (@ *)]"/> </xsl: template> </xsl: stylesheet> the following results are generated when the output is converted to the preceding XML file: the Xml copy Code <x> <y> y31 </y> <y> y32 </y> </x> is an XPath expression, select a group of nodes relative to the context node. The node set obtained by calculating the location path expression will contain the node specified by the location path. The location path can include expressions recursively to filter node sets. Syntactically, a location path consists of one or more positioning steps separated by a forward slash: copy the code locationstep, locationstep, and locationstep to select a group of nodes relative to the context node (that is, the node selected in the previous positioning step. In this way, the location path is relative. The absolute location path starts from the root element: copy the code/locationstep in the location path. The positioning step is calculated from left to right. In the left-side Navigation Pane, select a group of nodes relative to the context node. Then, these nodes become context nodes for processing the next positioning step. The process of this step is repeated with the update of the context node until all positioning steps are completed. The location path can be abbreviated or not abbreviated. In a location path that is not abbreviated, the positioning procedure uses the following syntax: copy the code axis: node-test [predicate] In this syntax, axis specifies the relationship between the node selected in the positioning step and the context node. node-test specifies the node type and extension name of the node selected in the positioning step. predicate is a filtering expression, further precisely locate the node selection in the step. Predicates are optional. In this example, the positioning steps only contain axis: And node-test. The following table provides some examples. The unabbreviated location path indicates that the Xml copy code child: para [last ()] selects the last <para> element of the context node. Xml copy code parent: para selects the <para> element as the parent level of the context node. The Xml copy code child: text () selects all text nodes of the context node. The Xml copy code child: div/child: para selects the <para> child element of the <div> element as the child level of the context node. In the location path of the abbreviation, axis: is not explicitly expressed in the positioning step, but is indicated by a set of shortcuts. The following table provides some examples. The abbreviated location path indicates the <para> element of the context node selected by para in the Xml copy code. Xml copy code ../para selects the <para> element as the parent level of the context node. The Xml copy code text () selects all text nodes of the context node at the sublevel. Copy the code in Xml./div/para select the <div> sub-level <para> sub-level element of the context node. The following are some abbreviations: not the abbreviation Xml copy code child: ** Xml copy code attribute: * @ * Xml copy code/descendant-or-self: node () // Xml copy code self: node () Xml copy code parent: node ()

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.