国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

竹筍炒肉的cocoon學習筆記

2019-11-18 11:19:14
字體:
來源:轉載
供稿:網(wǎng)友

        http://hedong.3322.org/
  cocoon讀[ke'ku:n],繭的意思。

  接連看到幾篇文章談cocoon,因其中牽扯術語太多,看后一頭霧水,遂起學習之心。

  網(wǎng)上找到很多談cocoon的,IBM : developerWorks 中國網(wǎng)站 的在線教程寫得最棒。下面就是學習筆記,覺得有意思就順手記下來了。

  以下三行是取源碼的命令。
  cvs -d :pserver:anoncvs@cvs.apache.org:/home/cvspublic login
  cvs -d :pserver:anoncvs@cvs.apache.org:/home/cvspublic -z3 checkout -r cocoon_20_branch xml-cocoon2
  cvs -d :pserver:anoncvs@cvs.apache.org:/home/cvspublic logout
  
  管道由一些輸入數(shù)據(jù)以及隨后對它進行的一些處理步驟構成。每個處理步驟接受前一步的輸出作為輸入,一直到達管道的末端并產(chǎn)生最終輸出。

  Cocoon 包含許多常規(guī)管道組件,根據(jù)在管道中扮演的角色,它們分組成幾種完全不同的類型。

  管道輸入 — 生成器(如FileGenerator,HtmlGenerator,DirectoryGenerator)和閱讀器(常用來讀靜態(tài)文件)
  處理步驟 — 轉換器(如XSLT 轉換器)和操作
  管道輸出 — 序列化器(如XML,HTML,SVG,PDF序列化器 )
  條件的處理 — 匹配器和選擇器

  Cocoon 管道通常至少由生成器和序列化器組成,但可能含有任意數(shù)量的處理步驟。將數(shù)據(jù)作為 SAX 事件通過 Cocoon 管道傳遞。

  對接收請求和為響應提供服務的邏輯周期如下:
  1、從用戶接受請求。
  2、確定用來解釋該請求并生成響應的適當管道(使用匹配器)。
  3、從可用的預配置的組件構造管道。
  4、指示管道為請求服務。
  5、將由管道生成的響應返回用戶,可能對結果進行高速緩存以便以后使用。

  網(wǎng)站地圖(sitemap)兩個功能:
  1、聲明組件;
  2、定義管道。

  XML Server Pages(XSP)編譯過程如下圖:

  XSP語法:
  1、xsp:page 元素是每個 XSP 文檔的根元素。它必須有一個標識該頁面包含的編程語言 — 具體說就是“java”— 的語言屬性。
  該頁面元素可能包含:
   任意數(shù)目的 xsp:strUCture 元素
   任意數(shù)目的 xsp:logic 元素
   單個用戶元素
  這最后一個限制非常重要。“用戶元素”表示不在 XSP 名稱空間中的任何元素,包括無名稱空間的元素。之所以有這個限制是因為用戶元素成為由 XSP 頁面創(chuàng)建的 XML 文檔的根元素,而 XML 文檔只能有單個根元素。

  2、xsp:structure 和 xsp:include 元素用于向代碼生成過程提供這些附加提示。這兩個元素是一前一后使用的,xsp:structure 元素將許多 xsp:include 元素組合在一起。每個 xsp:include 定義一個要導入的附加 Java 包或類。

  3、xsp:logic 元素用于將 Java 代碼塊添加到 XSP。
  在這些元素作為 xsp:page 元素的直接子元素出現(xiàn)的任何地方(也就是,單個用戶元素以外),這個代碼塊都應包含方法定義和/或成員變量。之所以存在這一點是因為出現(xiàn)在用戶元素以外的代碼不包含在生成器的 generate() 方法內(nèi)。常規(guī)的 Java 語法規(guī)則意味著這個代碼必須是成員或類(也就是,靜態(tài))變量或方法。
  xsp:logic 元素也可以使用在 XSP 頁面的其它地方。在這種情況下,它們應該包含將被添加到已編譯的生成器中的 generate() 方法的 Java 語句。這使 xsp:logic 元素類似于 jsp 頁面中使用的 <% ... %>scriptlet 語法。

  4、CDATA 節(jié),它向 XML 解析器發(fā)出信號以對于那節(jié)內(nèi)容不采用良好格式規(guī)則
  <![CDATA[...]]>

  5、xsp:eXPR 元素用于封裝一個表達式,該表達式的值將直接添加到輸出文檔。與此相反,xsp:logic 元素包含生成器的代碼。因此,xsp:expr 元素等價于在 JSP 中實現(xiàn)類似角色的 <%= ... %> 表達式語法。例如:
<elements>
   <xsp:logic>
      for (int i=1; i<11; i++)
      {
         <element><xsp:expr>i</xsp:expr></element>
      }
   </xsp:logic>
</elements>

  6、通過使用 xsp:element 生成動態(tài)元素。如:
<xsp:element prefix="my" uri="http://www.examples.org">
   <xsp:param name="name"><xsp:expr>"myElementName"</xsp:expr></xsp:param>
   Element content
</xsp:element>
這個示例生成了以下 XML 輸出:
<my:myElementName xmlns:my="http://www.examples.org">Element content</my:myElementName>



發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 阿拉善右旗| 邢台市| 齐齐哈尔市| 苍溪县| 花莲市| 门头沟区| 中西区| 伊春市| 来凤县| 江川县| 镇安县| 资中县| 界首市| 托克逊县| 滨州市| 湖口县| 内丘县| 汶川县| 登封市| 偏关县| 五原县| 博罗县| 阿克陶县| 德阳市| 兴隆县| 上栗县| 涟水县| 冕宁县| 横峰县| 蕉岭县| 玉山县| 隆尧县| 五指山市| 尼木县| 南雄市| 黑龙江省| 兴义市| 杂多县| 东丽区| 文水县| 莆田市|