2011-09-27 9 views
18

Tôi hiện đang bắt đầu xem xét việc sử dụng hỗ trợ XML của Scala cho các quy trình kinh doanh quan trọng. Về vấn đề đó, tôi muốn biết trạng thái hiện tại của thư viện XML chuẩn trong Scala là gì.Trạng thái hỗ trợ XML trong Scala 2.9.x

Tôi đã đọc một số bài viết "cũ" liên quan đến Scala 2.7 và thân cây 2.8, trong đó có tuyên bố rằng xử lý XML sẽ là chủ đề an toàn cho scala 2.8 và có một số lỗi trong phiên bản 2.7.x. Một số phê phán cũng đã được đưa ra trên lớp học cấp ba XML, nhưng tôi đoán đó là một vấn đề của hương vị.

Vì vậy, tôi muốn nếu ai đó có thể trả lời câu hỏi, trạng thái hiện tại của thư viện XML Scala cho phiên bản 2.9.x là gì?

Xin cảm ơn trước.

+5

Xem thêm: https://github.com/djspiewak/anti-xml –

Trả lời

11

Hãy để tôi trả lời theo cách này:

Hoặc, đưa nó vào từ ngữ, nhiều người không hài lòng. Sau khi tất cả, mọi người đang viết thay thế thổi toàn thay vì cố gắng "sửa chữa" thư viện. Và, nói về sửa chữa, tôi có một sửa chữa mà biến một hoạt động từ O (n^2) thành O (n) gửi quá lâu đến mức, khi ai đó mở lại vấn đề tương tự, tôi thậm chí không nhớ đã mở nó trước.

Tâm trí bạn, Lift sử dụng XML thư viện chuẩn, và, theo như tôi biết, do đó, hầu hết các khung công tác web khác (tôi nghi ngờ Play không), vì vậy nó không giống như nó không sử dụng được.

+0

Tôi nghe nói rằng scala.xml sẽ bị loại trừ kể từ Scala 2.11. Là vậy sao? –

13

Có một thư viện thay thế có sẵn cho XML ở Scala, Anti-XML. Từ trang chủ:

Anti-XML là một thay thế được đề xuất cho gói scala.xml trong Thư viện chuẩn Scala. Gói tiêu chuẩn đã lỗi thời và vượt quá sửa chữa. Chúng ta cần phải bắt đầu lại, trên nền tảng vững chắc và không bị ảnh hưởng bởi khả năng tương thích ngược. Anti-XML nhằm mục đích chất lượng trong ba lĩnh vực chính: : Tính khả dụng, Độ tin cậy, Hiệu suất

Nếu bạn đang xem xét việc sử dụng XML một cách nghiêm túc thì bạn nên xem Anti-XML.

Các nguồn có sẵn ở đây: https://github.com/djspiewak/anti-xml

+0

Kể từ Scala 2.11, giao diện Anti-XML bị bỏ qua. – Suma

2

Scala XML là ổn định, hỗ trợ và sẽ không biến mất trong một thời gian rất dài.

Tuy nhiên, có một số phê bình thiết kế được thực hiện và một số người ngồi xuống và quyết định viết một lựa chọn tốt hơn từ đầu, Anti-XML.

Nếu mọi thứ hoạt động, bạn sẽ có thêm lựa chọn trong tương lai.

2

Scales Xml là câu trả lời của tôi cho câu hỏi đó. Nó không phải là tôi đã tìm thấy những quirks của Scala XML là xấu, nhưng cách tiếp cận chính nó đã không ngồi với tôi tốt và nhắc câu hỏi "nếu bạn tách nội dung từ cây và đẩy và kéo thống nhất".

Sau nhiều lần phát, tôi đã khám phá nhiều cách thú vị để tận dụng hệ thống kiểu để làm cho việc sử dụng XML trở nên đơn giản hơn đối với một số hoạt động, chính xác hơn và nhanh hơn Scala XML.

Bạn nhanh chóng nhận ra, khi viết một thư viện thay thế, chỉ cần suy nghĩ bao nhiêu và nỗ lực vào Scala XML. tính năng sát thủ của nó là:

  1. cung cấp với thư viện mặc định
  2. Trong cú pháp xây dựng XML

cho đơn giản ra khỏi việc sử dụng hộp cứng của mình để đánh bại (mặc dù tôi tự tin tôi đã thực hiện mà^_ ^).

Điều quan trọng là các lựa chọn thay thế trẻ khác như Anti-XML đã xuất hiện như sự lựa chọn thường là điều thúc đẩy sự đổi mới. Tôi chỉ khuyên người dùng nên xem những gì họ thực sự cần thay vì giả sử các lựa chọn thay thế tự động cung cấp sự lựa chọn tốt nhất.

+0

Điều này dường như không còn được duy trì cho Scala 2.11 - nó không còn cần thiết nữa, hay là thiếu sự quan tâm/thời gian/...? – Suma