婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 用XSL翻譯Web服務應用程序

用XSL翻譯Web服務應用程序

熱門標簽:400電話辦理包年 隨州外呼調研系統 南寧網絡外呼系統運營商 如何修改多個百度地圖標注 東營電銷 高德地圖地圖標注服務中心 微信地圖標注合并了 r語言數據可視化地圖標注 本地電話機器人

Web服務應用程序存在的一個常見問題是,真正的后端軟件不支持XML(或者至少不支持你Web服務所使用的標準化的XML)。要解決這個問題,很多架構都實施了一個翻譯階段,用來解釋收到的XML,并將它轉換成為后端系統能夠識別的更加適當的格式。雖然將XML翻譯成不同的格式有很多種方式法,但是可擴展樣式表語言(eXtensibleStylesheet Language,XSL)提供了一個強健的、標準的和對XML友好的解決方案。

一些常見的問題

在XML消息和將要處理它的應用程序之間,存在著很多種可能需要翻譯的地方。但是,這也存在著很多常見的問題,包括:

查詢(Lookup)
映射(Mapping)
聚合(Aggregation)
分割(Splitting)
公式(Formulas)
重排序(Reordering)
查詢處理會接受收到的值,并為目標系統將它映射到不同的值。例如,你的XML有一個值是309,但是應用程序需要的值是“Uber Widget”。

映射在本質上是將來自一個字段的值重新分配為另一個值。例如,在XML里,你可能有一個AccountNumber元素,它需要被重新分配成為一個叫做CustomerAccountNumber的新元素。

聚合處理是將兩個或者更多來自XML的項目組合成一個用于后端系統的單個項目。一個常見的例子是將姓和名字段組合成單一的姓名(字段)。分割是聚合的逆向操作,它是將XML的一個值分成兩個或者更多分開的組件。

公式處理一般涉及對一個或者更多XML值的計算,以獲得一個用于新應用程序的值。一個例子是利用XML里子定單來計算定單的總量。

最后,重排序是更改XML里項目的序列或者結構的處理,這樣它們就能夠符合目標系統所期望的序列或者結構。

映射舉例
現在讓我們用一個例子來更加仔細地看看這個過程。我們假設收到的XML就像Listing 1里的一樣:

Listing 1: webserviceorder.xml

?xml version="1.0" ?>
Order>
  OrderNumber>8100/OrderNumber>
  AccountNumber>99213/AccountNumber>
  Item>
    SKU>2388/SKU>
    Description>Uber Widget/Description>
    Quantity>15/Quantity>
    PricePer>10.95/PricePer>
  /Item>
  Item>
    SKU>6273/SKU>
    Description>Flangeoid/Description>
    Quantity>10/Quantity>
    PricePer>52.00/PricePer>
  /Item>   
/Order>

現在,我們的訂單系統需要一個稍有不同的格式。我們所需要做的是將從Web服務收到的訂單轉換成為Listing 2里的這種格式。

Listing 2: applicationorder.xml

?xml version="1.0" encoding="UTF-8" ?>
NewOrder>
  CustomerAccountNumber>99213/CustomerAccountNumber>
  CustomerOrderNumber>8100/CustomerOrderNumber>
  OrderItems>
    OrderItem>
      SKU>2388/SKU>
      CustomerPrice>10.95/CustomerPrice>
      Quantity>15/Quantity>
      Subtotal>164.25/Subtotal>
    /OrderItem>
    OrderItem>
      SKU>6273/SKU>
      CustomerPrice>52.00/CustomerPrice>
      Quantity>10/Quantity>
      Subtotal>520/Subtotal>
    /OrderItem>
  /OrderItems>
/NewOrder>
 

翻譯

由于這是一個經過簡化的例子,所以我們在轉換格式的時候需要對XSL模板所做的只有不多的一些事情。我們要注意的第一件事是:我們必須映射一些元素:

把Order映射成NewOrder
把AccountNumber映射成CustomerAccountNumber
把OrderNumber映射成CustomerOrderNumber
把Item映射成OrderItem
把PricePer映射成CustomerPrice
然后,我們需要將OrderItem元素重新安排到一個叫做OrderItems的新元素之下。最后,我們加入一個叫做Subtotal的新元素,它會根據(商品)單價和數量進行計算。

映射翻譯是最簡單的,因為你只需要簡單地在模板里定義新元素,并指明這個新元素擁有來自收到的XML文檔里元素的值。對Items的重排序是通過將Item子模板調用放進一個叫做OrderItems的新元素里實現的。最后,使用一個簡單的XPath表達式來進行計算。Listing 3顯示了用來將收到的XML轉換成針對應用程序的XML的XSL文檔。

Listing 3: translate.xsl

?xml version="1.0"  ?>
xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  xsl:template match="/">
    xsl:apply-templates select="Order" />
  /xsl:template>

  xsl:template match="Order">
    NewOrder>
      CustomerAccountNumber>xsl:value-of select="AccountNumber" />/CustomerAccountNumber>
      CustomerOrderNumber>xsl:value-of select="OrderNumber" />/CustomerOrderNumber>
      OrderItems>
        xsl:apply-templates select="Item" />
      /OrderItems>
    /NewOrder>
  /xsl:template>

  xsl:template match="Item">
    OrderItem>
      SKU>xsl:value-of select="SKU" />/SKU>
      CustomerPrice>xsl:value-of select="PricePer" />/CustomerPrice>
      Quantity>xsl:value-of select="Quantity" />/Quantity>
      Subtotal>xsl:value-of select="PricePer * Quantity" />/Subtotal>
    /OrderItem>
  /xsl:template>

/xsl:stylesheet>

本文作者Brian Schaffner是富士通咨詢公司的副主任。他為富士通的技術咨詢公司提供架構、設計和開發支持。

 

 

標簽:西雙版納 寧夏 宿遷 拉薩 黃石 果洛 德州 益陽

巨人網絡通訊聲明:本文標題《用XSL翻譯Web服務應用程序》,本文關鍵詞  用,XSL,翻譯,Web,服務,應用程序,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《用XSL翻譯Web服務應用程序》相關的同類信息!
  • 本頁收集關于用XSL翻譯Web服務應用程序的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    不卡一二三区首页| 日韩视频123| fc2成人免费人成在线观看播放| 国产经典欧美精品| 99精品一区二区三区| 欧美综合视频在线观看| 制服丝袜成人动漫| 国产亚洲一区二区三区在线观看| 精品国产精品一区二区夜夜嗨| 日本伊人精品一区二区三区观看方式| 国产欧美精品一区二区色综合朱莉 | 精品在线免费视频| 国产成人亚洲综合a∨婷婷图片| 91在线观看成人| 精品国产乱码久久久久久影片| 亚洲视频每日更新| 久久国产精品免费| 91麻豆国产在线观看| 日韩精品一区二| 欧美日韩免费在线视频| 亚洲激情男女视频| 色综合天天天天做夜夜夜夜做| 欧美色爱综合网| 亚洲欧洲美洲综合色网| 久88久久88久久久| 国产一区二区成人久久免费影院| 欧美亚洲尤物久久| 处破女av一区二区| 亚洲国产精品久久久久秋霞影院 | 国产午夜精品一区二区三区嫩草 | 久久夜色精品国产噜噜av| 精品少妇一区二区三区免费观看 | 亚洲欧洲日韩女同| 国产夜色精品一区二区av| 欧美大肚乱孕交hd孕妇| 欧美经典三级视频一区二区三区| 99久久国产综合精品女不卡| 亚洲四区在线观看| 色哟哟国产精品| 在线一区二区视频| 精品污污网站免费看| 欧美一级在线免费| 国产乱一区二区| 日韩亚洲欧美在线观看| 欧美一级日韩不卡播放免费| 91丝袜美女网| 99精品视频在线观看免费| 精品福利视频一区二区三区| 天堂精品中文字幕在线| 在线观看精品一区| 亚洲女人的天堂| 99久久夜色精品国产网站| 欧美专区亚洲专区| 狠狠v欧美v日韩v亚洲ⅴ| 国产精品五月天| 欧美主播一区二区三区| 一级日本不卡的影视| 4438亚洲最大| 欧美日韩你懂得| 精品久久久久久久久久久久久久久| 在线观看亚洲精品| 自拍偷拍欧美激情| 成人福利视频网站| 国产精品久久久久毛片软件| 成人丝袜18视频在线观看| 久久久久久亚洲综合影院红桃| 久久99蜜桃精品| 久久亚洲免费视频| 成人综合在线网站| 亚洲婷婷在线视频| 色综合久久久久网| 亚洲国产精品久久不卡毛片| 91麻豆精品国产91久久久更新时间 | 国产精品资源站在线| 91麻豆成人久久精品二区三区| 日韩欧美国产综合一区| 亚洲美女电影在线| 成人h动漫精品| 久久久无码精品亚洲日韩按摩| 亚洲综合一区在线| 久久久久国产一区二区三区四区| 亚洲丝袜另类动漫二区| 久久99精品久久久久久动态图| 欧美无乱码久久久免费午夜一区| 日本一区二区动态图| 美女视频免费一区| 不卡视频一二三四| 中文字幕av一区 二区| 精彩视频一区二区| 欧美一级理论片| 五月天激情小说综合| 色成年激情久久综合| 亚洲欧洲日产国产综合网| 国产成人精品一区二区三区四区| 日韩午夜激情视频| 麻豆视频观看网址久久| 日韩一二三区视频| 日韩电影在线一区二区三区| 欧美日免费三级在线| 洋洋av久久久久久久一区| 日本韩国精品在线| 亚洲一级二级三级| 欧美精品在线观看一区二区| 亚洲综合男人的天堂| 欧洲视频一区二区| 天天色图综合网| 欧美一区二区大片| 国产精品美女久久久久久久久 | 精品少妇一区二区三区| 欧美亚洲动漫另类| 首页综合国产亚洲丝袜| 日韩一级视频免费观看在线| 久久不见久久见中文字幕免费| 久久综合资源网| 成人a级免费电影| 亚洲va欧美va国产va天堂影院| 欧美日韩在线观看一区二区| 日韩中文字幕91| 久久精品欧美一区二区三区不卡| 大美女一区二区三区| 亚洲乱码国产乱码精品精可以看 | 欧美日韩精品电影| 麻豆久久一区二区| 国产欧美日韩精品在线| 一本大道久久a久久精品综合| 欧美日韩精品电影| 色综合 综合色| 国产传媒欧美日韩成人| 久久精品免费看| 加勒比av一区二区| 一区二区三区欧美激情| 日韩视频在线一区二区| 成人av中文字幕| 日韩中文字幕1| 亚洲婷婷综合久久一本伊一区| 欧美一区二区大片| 色综合一个色综合| 蜜臀国产一区二区三区在线播放 | 欧美亚洲国产bt| 大胆亚洲人体视频| 蜜乳av一区二区| 亚洲日本丝袜连裤袜办公室| 3d动漫精品啪啪1区2区免费| 99久久夜色精品国产网站| 蜜臀精品一区二区三区在线观看| 亚洲欧美在线另类| 久久这里只有精品6| 欧美日韩视频在线观看一区二区三区| 国产馆精品极品| 日本成人中文字幕在线视频| 亚洲欧洲精品一区二区三区| 久久女同性恋中文字幕| 日韩一级片网站| 欧美日韩成人在线| 色系网站成人免费| 懂色一区二区三区免费观看| 日韩中文字幕一区二区三区| 亚洲免费观看在线视频| 中文字幕在线不卡一区| 国产亚洲精品bt天堂精选| 97久久超碰精品国产| 亚洲福利视频三区| 一区二区三区成人| 亚洲人快播电影网| 国产精品入口麻豆九色| 欧美卡1卡2卡| 激情六月婷婷久久| 丝袜诱惑制服诱惑色一区在线观看 | 丝袜美腿亚洲一区二区图片| 国产亚洲综合在线| 亚洲精品一区二区三区99| 91精品国产高清一区二区三区 | 欧美艳星brazzers| 色天使色偷偷av一区二区| 99re免费视频精品全部| 波多野结衣一区二区三区| 亚洲日本电影在线| 午夜亚洲国产au精品一区二区| 精品影视av免费| www.亚洲人| 一区二区三区在线观看动漫| 久久久影视传媒| 久久精品视频免费| 中文字幕一区二区三区在线不卡| 中文字幕第一区综合| 成人免费视频在线观看| 亚洲欧洲日韩女同| 亚洲精选视频免费看| 午夜视频一区二区| 蜜臀av性久久久久蜜臀aⅴ流畅 | 欧美性淫爽ww久久久久无| 在线综合视频播放| 欧美精品一区在线观看| 国产欧美中文在线| 亚洲欧洲性图库| 视频一区欧美日韩| 国产成人免费在线视频| av不卡一区二区三区| 欧美日韩一区二区三区不卡| 国产美女精品一区二区三区|