• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 47, 文章 - 10, 評論 - 8, 引用 - 0
            數據加載中……

            跟我學XSL(九)——XSL函數二

              本期介紹多個XSL對于VBScript、JScript增加的方法、屬性,以充分發揮XML的優勢,用于<xsl:script>、<xsl:eval>標記內表達式的編寫或<xsl:if>、<xsl:when>的expr屬性。

              一、absoluteChildNumber

              含義:返回結點相對于它所有的兄弟(不論名字是否相同)的序號。

              語法:absoluteChildNumber(node)

              參數:node ── 對象,欲返回編號的結點。

              示例:

              1、假定文檔結構為:<document><head/><body/></document>,其中document為頂層結點,下述表達式將輸出:

            < xsl:eval >
            absoluteChildNumber(this.selectNodes('/document/body').item(0))
            </ xsl:eval >
              2、確定當前結點相對于其所有兄弟的序號:
            <xsl:eval>
            absoluteChildNumber(this)
            </xsl:eval>

              二、ancestorChildNumber

              含義:從給定結點出發根據給定祖先結點名返回最近的祖先結點的序號(相對于同名結點)。如果找不祖先,則返回0。

              語法:ancestorChildNumber(bstrNodeName, pNode)

              參數:

              bstrNodeName ── 字符串。被搜索的祖先結點的名字。

              pNode ── 對象。搜索開始位置的結點。

              示例查找當前結點最近的名為report祖先結點:

            ancestorChildNumber('report',this)

              三、attributes

              含義:返回結點屬性的集合。

              語法:object.attributes

              參數:object ── 結點對象。

              示例:當前結點屬性的個數

            this.attributes.length

              當前結點第三個屬性的值

            this.attributs.item(2).value



            this.attributes.item(2).text



            this.attributes(2).text

              注意:如果給定的下標大于屬性總和減1將出錯,第一個屬性的下標是0。

              四、baseName

              含義:返回有名字空間限制的基本名,即不包括名字前綴。

              語法:object.baseName

              參數:object ── 結點對象

              示例,當前結點的基本名:

            this.baseName

              五、childNumber

              含義:返回結點相對于同名同胞的序號。

              語法:childNumber(object)

              參數:object ── 結點對象

              示例,假定XML文檔結構如下:

            <x><y><z></z></y></x>

              如果當前結點是z,則childNumber(this)返回1,而absoluteChildNumber(this)返回3。

              六、dataType

              含義:設定或讀取結點的數據類型。

              語法:設定結點的數據類型 object.dataType=objValue
                 讀取結點的數據類型 objValue=object.dataType

              參數:object ── 結點對象。

              示例,讀取當前結點的數據類型:

            dtType=this.dataType

              七、depth

              含義:指定結點出現在文檔樹上的深度,即該結點位于文檔第幾層,頂層結點位于第一層,根結點(即用"/"表示的結點)位于第0層。

              語法:depth(pNode)

              參數:pNode ── 結點對象

              示例,當前結點的深度:

            depth(this)

              八、firstChild、lastChild

              含義:返回結點的第一個子結點(或最后一個子結點)。

              語法:pNode.firstChild
                 pNode.lastChild

              參數:pNode ── 結點對象

              示例,當前結點的第一個結點的名字:

            this.firstChild.nodeName

              九、formatIndex

              含義:用指定的計數系統格式化提供的整數。

              語法:formatIndex(lIndex, bstrFormat)

              參數:

              lIndex ── 整型數值或變量

              bstrFormat ── 數據格式,可選值有a、A、i、I、1、01(以0打頭的數值形式,如果要求固定長度的編號如0001、0002則非常有用)。

              示例,當前結點的大寫羅馬數字編號:

            formatIndex(childNumber(this),'I')

              十、formatNumber

              含義:以指定格式輸出數值。

              語法:formatNumber(dblNumber, bstrFormat)

              參數:說明同formatNumber,不同之處在于格式化的可以是小數。

              示例,對變量a的值格式化為兩位小數:

            formatNumber(a,'#.00'):

              十一、hasChildNodes

              含義:如果結點有子結點則返回true(-1),否則為false(0)。

              語法:pNode.hasChildNodes()

              注意:與此前介紹的函數不同,此函數后必須帶一個空括號。

              示例,判斷當前結點是否有子結點:

            this.hasChildNodes

              十二、namespaceURI、prefix

              含義:返回結點名字空間的全局資源標識符(或前綴)。

              語法:pNode.namespaceURI
                 pNode.prifix

              十三、nextSibling、previousSibling、parentNode

              含義:返回結點的下一個兄弟(或前一個兄弟、或結點的父結點)。

              語法:pNode.nextSibling
                 pNode.previousSibling
                 pNode.parentNode

              注意:對根結點(即"/")應用parentNode方法、對第一個孩子結點應用previousSibling方法、對最后一個孩子結點應用nextSibling方法均會導致錯誤,可通過此過關系運算符==(等于)和!=(不等于)來判斷一個結點是否某一指定結點,格式為pNode1 = pNode2或pNode2 != pNode2。

              十四、nodeName

              含義:返回元素、屬性、入口的名字或其他類型結點的一個特定字符串。

              語法:pNode.nodeName

              示例,當前結點的名字:

            this.nodeName

              十五、nodeType、NodeTypeString

              含義:返回結點的類型的數值形式(或字符串形式)。

              語法:pNode.nodeType 或 pNode.nodeTypeString

              返回值:
            o_xsl_12.JPG

              十六、nodeTypedValue

              含義:以結點預定義的數據類型返回結點的值。

              語法:pNode.nodeTypedValue

              示例,假定當前結點的數據類型是fixed.14.4,下例將以數值返回結點的值,而不是文本一個字符串:

            this.nodeTypedValue

              十七、nodeValue

              含義:返回結點的文本。

              語法:pNode.nodeValue

              注意:該方法不用于元素類結點,可用于屬性、CDATA、注釋、文本等結點。

              示例,當前元素第一個屬性的值:

            this.attributes(0).nodeValue

              當前元素內的文本(假定該元素內只有文本,無其它元素,即<mark>text</mark>,建議多嘗幾次掌握其確切的用法)。

            this.firstChild.nodeValue

              十八、ownerDocument

              含義:返回包含該結點的文檔的根。

              語法:pNode.ownerDocument

              注意:該方法用于文檔的根結點將出錯。

              十九、selectNodes

              含義:給定的樣式匹配應用于當前結點并返回匹配的結點集合。

              語法:pNode.selectNodes('pattern')

              提示:pattern的編寫與<xsl:for-each>的select屬性的值類似,其中以"/"開頭表示從文檔的根出發搜索;以"http://"開頭表遍歷文檔的所有結點;以".."開頭表示從當前結點的父結點開始;如果欲從當前結點向下搜索則不能有以上特殊字符打頭。

              示例,與當前結點同名的元素在其父元素內的個數:

            childNumber(this.selectNodes("../"+this.nodeName+"[end()]").item(0))

              當前元素內名字為"skill"的元素的個數:

            childNumber(this.selectNodes("skill[end()]").item(0))

              二十、selectSingleNode

              含義:與selectNodes類似,不同的只返回匹配的第一個結點、而不是結點集合。

              語法:pNode.selectSingleNode('pattern')

              示例,與當前結點同名的元素在其父元素內的個數:

            childNumber(this.selectSingleNode("../"+this.nodeName+"[end()]"))

              當前元素內名字為"skill"的元素的個數:

            childNumber(this.selectSingleNode("skill[end()]"))

              二十一、text

              含義:返回結點與它的子樹內的文字內容。

              語法:pNode.text

              示例,整個文檔內的文字內容:

            this.ownerDocument.text

              當前元素及其子樹的文字內容:

            this.text

              二十二、xml

              含義:返回結點及其后代的XML表示。

              語法:pNode.xml

              示例,當前文檔的XML內容:

            this.ownerDocument.xml

              另有幾個函數不作介紹,列于其下以供參考,如感興趣,請訪問http://msdn.microsoft.com獲取詳細說明。

            formatTime(varTime, bstrFormat,varDestLocale)
            formatDate(varDate, bstrFormat,varDestLocale)
            apendChild(newChild)
            definition
            CloneNode
            insertBefore(newChild, refChild)
            parsed
            removeChild(oldChild)
            replaceChild(newChild, oldChild)
            specified
            transformNode(stylesheet)
            transformNodeToObject(stylesheet,outputObject)
            uniqueID(pNode)

            posted on 2006-09-14 11:20 編程之道 閱讀(215) 評論(0)  編輯 收藏 引用 所屬分類: web編程

            久久久久国色AV免费观看 | 国产69精品久久久久APP下载| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 波多野结衣久久| 久久精品国产亚洲AV无码娇色| 91久久婷婷国产综合精品青草| 国产精品gz久久久| 久久久久亚洲av成人网人人软件| 精品永久久福利一区二区 | 久久夜色精品国产亚洲| 久久精品亚洲欧美日韩久久| 人妻无码精品久久亚瑟影视| 97久久精品午夜一区二区| 欧美一级久久久久久久大| 国内精品久久久久久久97牛牛| 久久人人爽人人爽人人片AV麻豆| 久久久亚洲欧洲日产国码aⅴ| 久久久久九九精品影院| 精品久久久久久久久午夜福利| 久久婷婷色综合一区二区| AV狠狠色丁香婷婷综合久久| 亚洲精品tv久久久久| 国产精品天天影视久久综合网| 日本精品一区二区久久久| 国产精品99久久精品| 久久福利资源国产精品999| 99久久精品免费看国产| 日韩av无码久久精品免费| 久久精品亚洲男人的天堂| 久久精品国产只有精品2020| 久久99热这里只有精品国产| 久久亚洲2019中文字幕| 久久精品国产精品青草app| 中文字幕人妻色偷偷久久| 久久亚洲高清综合| 99热精品久久只有精品| 久久精品国产亚洲AV嫖农村妇女| 2021久久精品免费观看| 欧美精品福利视频一区二区三区久久久精品 | 国产成人久久激情91| 久久精品aⅴ无码中文字字幕不卡|