freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[理學]第五章 xslt-文庫吧

2024-12-08 12:37 本頁面


【正文】 e=variablename ! Content: template /xsl:variable ? 包含在起始標簽和結(jié)束標簽之間的內(nèi)容是 XSLT的指令標記,這些指令執(zhí)行的結(jié)果就是變量的值。 【 例 3】 對于例 2的 XML文檔,使用變量編制樣式表,產(chǎn)生與例 2相同的輸出。 xsl:stylesheet version=― xmlns:xsl= xsl:variable name=x select=/links/ImageDir / … … xsl:template match=link pimage src={$x}\{image} / a href={ url }xsl:valueof select=info //a /p hr size=3 / /xsl:template /xsl:stylesheet 2.參數(shù) ? 【 例 4】 要求同例 3,但改用參數(shù)。 ?xml version= encoding=GBK ? xsl:stylesheet version= xmlns:xsl= … … xsl:template match=links xsl:applytemplates select=link xsl:withparam name=x select=ImageDir / /xsl:applytemplates /xsl:template xsl:template match=link xsl:param name=x / pimage src={$x}\{image} / a href={ url }xsl:valueof select=info //a/p hr size=3 / /xsl:template /xsl:stylesheet ? 使用參數(shù)的模板必須用 xsl:param name=paramname / 設置參數(shù)。并且這一行必須放在模板開頭。 ? 也可以用 select屬性指定參數(shù)的默認值: xsl:param name=paramname select=expression / 當應用這個模板時,如果沒有指定參數(shù)的值,則參數(shù)就使用這個默認值。 ? 然后可用 xsl:applytemplates應用這個模板,同時用 xsl:withparam name=paramname select=expression / 指定應用模板時參數(shù)的值。其中 paramname必須與模板中所設置參數(shù)的名稱相同,表達式 expression的運算結(jié)果則成為參數(shù)的指定值。 ? 如果 xsl:applytemplates用 xsl:withparam指定了參數(shù)的值,但所應用的模板并沒有設置對應的參數(shù),則參數(shù)將被忽略。 ? 在例 4中,匹配元素 links的模板是必須的,如果去掉這個模板,將匹配根結(jié)點的主模板改為: xsl:template match=/ html body xsl:applytemplates xsl:withparam name=x select=ImageDir / /xsl:applytemplates /body /html /xsl:template ? 則參數(shù)將不起作用。因為這個模板執(zhí)行時將為根結(jié)點的所有子結(jié)點尋找匹配的模板,找不到就調(diào)用默認的內(nèi)置模板,內(nèi)置模板繼續(xù)尋找每個子結(jié)點的匹配模板。由于內(nèi)置模板并沒有設置參數(shù),因此所指定的參數(shù)將被忽略。等到內(nèi)置模板找到元素 link的匹配模板并應用時,參數(shù)已經(jīng)不存在了。 3.用變量或參數(shù)存放模板的執(zhí)行結(jié)果 ? 【 例 5】 對于例 2的 XML文檔,使輸出 HTML image標記使用相同的圖像。 xsl:stylesheet version=― xmlns:xsl= xsl:variable name=x image src={/links/ImageDir}\{//image[1]} / /xsl:variable … … xsl:template match=link pxsl:copyof select=$x / a href={ url }xsl:valueof select=info //a/p hr size=3 / /xsl:template /xsl:stylesheet ? 在例 5中,我們設置了一個頂層變量 x,其中包含的模板產(chǎn)生如下輸出: image src=images\/image 這個輸出被保存在變量 x中。 ? 在匹配 link的模板中,我們復制這個輸出,這需要使用 xsl:copyof,而不是 xsl:valueof。xsl:copyof的屬性 select指出所要復制的內(nèi)容。 ? xsl:copyof是 XSLT元素,在 XSLT元素的屬性值中引用變量或參數(shù)時,不能加花括號。 四、輸出序號 ? 標記 xsl:number可用來自動產(chǎn)生序號,序號按照文檔順序計算??梢远鄬哟斡嬎?,例如書籍目錄編號,每一章的編號為單層次的 1, 2, … ,每一章內(nèi)的節(jié)則雙層計數(shù),第一章各節(jié)按 , , … 編號,第二章各節(jié)則按 , , … 編號等。 ? xsl:number的語法及應用示例參見教材,此處略去。 五、 XML數(shù)據(jù)的相互引用 ? 在某些應用場合, XML的數(shù)據(jù)彼此之間可能需要互相參照。 ? 例如,我們在 ,其中涉及到出版社,我們想將每個出版社的地址、電話號碼等信息也記錄下來。由于一個出版社出版的書籍成千上萬,如果在關于每本書的記錄數(shù)據(jù)中都加入出版社的詳細數(shù)據(jù),顯然是不合適的。我們應該另外為每個出版社存儲詳細的信息,然后讓書籍的記錄數(shù)據(jù)引用出版社的數(shù)據(jù)。 ? 作為只使用少量數(shù)據(jù)的示例,我們可將書籍數(shù)據(jù)和出版社數(shù)據(jù)存放在一個 XML文檔中,也可以將兩者分別存放在兩個文檔中。 1.同一個文檔內(nèi)的引用 ? 【 例 7】 在 ,記錄每個出版社記錄名稱、地址、郵編和電話。設計適當?shù)臉邮奖?,在顯示書籍信息時,將對應的出版社信息也顯示出來。 ? 首先,為每個出版社設計一個存放數(shù)據(jù)的 XML元素 pulish,名稱、地址、郵編和電話各用一個元素記錄,它們都是 publish的子元素。 ? 為了被書籍數(shù)據(jù)引用,必須為每個 publish元素建立唯一標識。 ID屬性就是一個現(xiàn)成的解決辦法。 ? 相應地也為 book中的元素 publisher設計一個屬性,其屬性類型為 IDREF,屬性值將是對應的 publish元素的 ID(屬性類型參見第二章表 25)。 ? 修改后的 publisher DTD為: !ELEMENT publisher (PCDATA) !ATTLIST publisher ref IDREF REQUIRED 屬性 ref的類型為 IDREF,表示 ref的值將是某個元素的 ID屬性值。 ? 而記錄出版社信息的 DTD為: !ELEMENT publishers (publish*) !ELEMENT publish (name,addr,zipcode,telephone) !ATTLIST publish id ID REQUIRED !ELEMENT name (PCDATA) !ELEMENT addr (PCDATA) !ELEMENT zipcode (PCDATA) !ELEMENT telephone (PCDATA)
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1