2014-05-21 43 views
0

我有這樣的最佳實踐國際化XML

<xml> 
    <Entry id="MyEntry"> 
     <TimeRange> 
      <Start>9:00</Start>  
      <End>23:00</End> 
     </TimeRange> 
     <Parameters> 
      <Parameter> 
       <Name>MyParam</Name> 
       <Value>asadad</Value> 
      </Parameter> 
      <Parameter> 
       <Name>MyParam2</Name> 
       <Value>sdsd</Value> 
      </Parameter> 
     </Parameters> 
    </Entry> 
    <Entry id="MyEntry2"> 
     <TimeRange> 
      <Start>9:00</Start>  
      <End>23:00</End> 
     </TimeRange> 
     <Parameters> 
      <Parameter> 
       <Name>MyParam</Name> 
       <Value>askkad</Value> 
      </Parameter> 
      <Parameter> 
       <Name>MyParam2</Name> 
       <Value>sdksd</Value> 
      </Parameter> 
     </Parameters> 
    </Entry> 
</xml> 

一個XML什麼是最好的辦法對每個國家的本地化它(法國,德國)?

  • 添加到每一個最終元件的枚舉爲每個值
  • 括整個結構在郎=代碼
  • 描述類似條目ID =「A」 LANG =「FR每個ID和國家的每個條目」,條目ID =‘A’LANG =‘德’
  • ...

有indded了很多辦法,但我想知道什麼被視爲標準,以避免任何到來的問題。

+0

我回答你的問題,因爲我瞭解的情況,但我建議你明確你的使用情況:究竟應該使用這些資料? – Lilienthal

回答

1

據我瞭解您的情況,您有一組,你想用的本地化的部分或全部用於各種國家代碼的子元素的XML存儲條目。可以理解的

在這種情況下,最佳實踐取決於你將如何使用數據。如果條目將用作本地化應用程序的輸入,那麼在最高級別進行本地化是有意義的:爲每個國家/地區代碼創建多個文檔/文件或創建具有多個國家/地區的單個文檔作爲頂級標記。

<xml country='DE'> 
    <Entry>... 
    <Entry>... 
</xml> 

<xml> 
    <country id='DE'> 
     <Entry>... 
    </country> 
</xml> 

然而,如果你想爲多個國家的本地化數據你讀中通過各種方式的條目本地化的值可以被存儲在最低水平之後:

<Entry id="MyEntry1"> 
    <TimeRange> 
     <Start>9:00</Start>  
     <End>23:00</End> 
    </TimeRange> 
    <Parameters> 
     <Parameter> 
      <Name>MyParam</Name> 
      <Value country='DE'>askkad</Values> 
      <Value country='FR'>sdksd</Values> 
     </Parameter> 
    </Parameters> 
</Entry> 
1

按照W3C's Best Practices for XML Internationalization特別是,第4節提供了在XSD中使用xml:lang的指導;其他部分顯示使用lang,xml:lang等的示例。指定語言時,請使用指定的language tags from IETF

當設計模式,你需要考慮:

  1. 會多國語言被允許?我喜歡這種方法進行 支持多語種的應用程序,例如,顯示的en-US & FR-CA 同時
  2. 將XML文檔存儲在TOTO,或將 元素拼接?拼接是更多的工作,但允許更小的有效載荷;精心設計的架構,確保拼接 文檔的完整性