text:
Giới thiệu
Từ khi Ký tự đại diện Lược đồ XML 1.0 trở thành một khuyến cáo của W3C trong năm 2001, nhóm phát triển đã thảo luận về các lợi ích và các khiếm khuyết của loại ngôn ngữ này. Nhóm xây dựng Lược đồ XML W3C đã tiếp tục nghiên cứu xây dựng Ký tự đại diện ngôn ngữ tiếp theo. Năm 2005, với việc chuẩn này đã được áp dụng rộng rãi trong lĩnh vực này và được lồng ghép vào nhiều chuẩn khác như XSLT, XQuery và WSDL, W3C tổ chức một hội thảo nhằm phản hồi những bài học kinh nghiệm của người sử dụng và thu thập các phản hồi nhằm giúp cho việc phát triển ngôn ngữ này. Hội thảo này cùng với các yêu cầu đặt ra từ phía người sử dụng trong ngành đã giúp cho nhóm xây dựng Lược đồ XML hình thành được phạm vi của Ký tự đại diện chuẩn 1.1.
Trong phần này chúng ta bắt đầu bằng việc xem xét một số đặc điểm mới của Lược đồ XML 1.1 và sau đó đi sâu vào những cải tiến cho kiểu dự liệu của bản đặc tả này. Chuẩn này được biết đến với tên gọi Ngôn ngữ xác định Lược đồ XML hay viết tắt là XSD. Chúng tôi dùng từ viết tắt này cho bài báo này cũng như trong toàn bộ loạt bài viết. Đôi khi, nêu rõ nghĩa thì Lược đồ XML hay Lược đồ được dùng để nói đến ngôn ngữ này.
Độc giả nên nhớ bài viết này được viết khi Lược đồ XML 1.1 vẫn đang trong quá trình xây dựng. Một vài chi tiết có thể sẽ thay đổi trước khi Lược đồ XML 1.1 trở thành Khuyến nghị W3C.
Những khó khăn của Lược đồ XML 1.0
Các tác giả của Lược đồ thường gặp một số những khó khăn nhất định. Bạn có thể lẩn tránh một số vấn đề khó khăn và tạo ra các thiết kế lược đồ phản trực giác, hoặc bạn có thể xử lý một số vấn đề khó khăn khác bằng mã hóa trong các ngôn ngữ lập trình.
Phần này sẽ xem xét những vấn đề dễ phát sinh nhất và thảo luận xem làm thế nào Lược đồ XML 1.1 có thể xử lý chúng. Chi tiết về thảo luận sẽ có ở các phần tiếp sau của bài báo này
Giới hạn của mô hình nội dung
Các kiểu phức tạp có thể có nhiều loại nội dung khác nhau. Những kiểu có
phần tử (element) con có thể sẽ phải có một trong
<xs:sequence>,
<xs:choice>, hoặc
<xs:all> như các mô hình nội dung của chúng. Khi một
kiểu phức tạp dẫn xuất bởi giới hạn của một kiểu khác thì cả hai mô hình
nội dung đều phải thỏa mãn một số ràng buộc nhất định. Những ràng buộc này
phải thật cụ thể để đảm bảo cái đã được cho phép bởi kiểu ràng buộc cũng
được cho phép đối với các kiểu cơ sở
Trong Lược đồ XML 1.0, những ràng buộc này được cụ thể hóa nhờ bảng 25-case và các mô hình nội dung đều có vẻ giống nhau để thỏa mãn các ràng buộc này, điều này dẫn tới nẩy sinh các vấn đề sau:
- Các luật chặt chẽ trong 25 cases bỏ đi một số dẫn xuất hợp lệ.
- Luật cho phép một vài dẫn xuất không hợp lệ (đó là, các ràng buộc cho phép nhiều hơn cơ sở).
Ví dụ, trong ví dụ 1 kiểu
derived loại bỏ phần tử tùy chọn
tns:a
từ kiểu
based. Đây rõ ràng là một giới
hạn hợp lệ, nhưng lại không hợp lệ trong Lược đồ XML 1.0
Ví dụ 1. Một kiểu derived loại bỏ phần tử tùy chọn từ kiểu cơ sở
<complexType name="base"> <complexContent> <sequence> <element ref="tns:a" minOccurs="0" maxOccurs="1"/> <choice minOccurs="0" maxOccurs="unbounded"> <element ref="tns:b"/> <element ref="tns:c"/> </choice> </sequence> </complexContent> </complexType> <complexType name="derived"> <complexContent> <restriction base="tns:base"> <sequence> <choice minOccurs="0" maxOccurs="unbounded"> <element ref="tns:b"/> <element ref="tns:c"/> </choice> </sequence> </restriction> </complexContent> </complexType>
Trong Lược đồ XML 1.1, luật của 25-case được loại bỏ và thay bằng một khái niệm giản đơn nhằm phản ánh được mục tiêu “cái được cho phép bởi giới hạn thì cũng được cho phép bởi cơ sở". Ví dụ trên trở thành hợp lệ trong Lược đồ XML 1.1
Đồng ràng buộc
Các tác giả Lược đồ thường muốn áp dụng các luật liên quan đến cho nhiều
phần tử hay thuộc tính (attribute). Ví dụ "
min
cần bé hơn hoặc bằng với
max", hoặc "số lượng
các phần tử con cần phải phù hợp với đặc tính
size. Các luật giống như vậy thường được gọi các đồng xuất
hiện ràng buộc hoặc đơn giản là các đồng ràng buộc.
Lược đồ XML 1.0 không cung cấp phương tiện để hỗ trợ cho các đồng ràng buộc. Người dùng đôi khi phải viết JAVA™ hoặc mã C để kiểm tra chúng sau khi tài liệu XML được tải về bộ nhớ. Điều này ảnh hưởng đến tính bền vững và làm lược đồ trở nên yếu đi. Một số người sử dụng tìm kiếm sự giúp đỡ từ các ngôn ngữ kiểm chuẩn XML (XML validation) khác như Schematron và Relax NG (xem Tài nguyên) cho sự hỗ trợ đồng ràng buộc, mà lại làm phức tạp kiến trúc dựa trên XSD của chúng.
Lược đồ XML 1.1 hỗ trợ các đồng ràng buộc một cách tự nhiên. Cái mới được
đưa ra là
<xs:assert> nhân tố có thể bao
gồm các ràng buộc được xác định cụ thể trong các biểu thức trong XPath 2.0
(xem Tài nguyên). Xem Ví dụ 2:
Ví dụ 2. Các đồng ràng buộc Lược đồ XML 1.1
<xs:complexType name="intRange"> <xs:attribute name="min" type="xs:int"/> <xs:attribute name="max" type="xs:int"/> <xs:assert test="@min <= @max"/> </xs:complexType>
Phát triển lược đồ (Schema)
Mọi người đều thấy cần phải phát triển lược đồ của mình, thêm các mở rộng đối với các thông tin mới. Ký tự đại diện (wildcard) là công cụ hữu hiệu được thiết kế cho mục đích này. Nó có thể dùng cho các Ký tự đại diện lược đồ cũ để cho phép các điểm mở rộng và trong các Ký tự đại diện sau này, các phần tử cụ thể có thể được đưa ra thay cho Ký tự đại diện này. Nhưng những Ký tự đại diện lại có các vấn đề đáng tiếc như sau:
- Chính luật gây tranh cãi Unique Particle Attribution (UPA) gây khó khăn khi sử dụng các Ký tự đại diện tùy chọn
- Các Ký tự đại diện không được đủ mạnh để miêu tả “mọi phần tử ngoại trừ những phần tử dưới đây"
- Việc lặp đi lặp lại cùng một Ký tự đại diện đối cho mỗi kiểu phức tạp để làm cho toàn bộ lược đồ có tính mở rộng sẽ gây tẻ nhạt.
Lược đồ XML 1.1 làm cho phát triển lược đồ dễ dàng hơn. Ngoài ra các Ký tự đại diện được cải tiến mạnh mẽ. Sẽ không còn vi phạm lỗi UPA khi mâu thuẫn với các phần tử được xác định cụ thể rõ ràng và chúng có thể loại trừ được một danh sách các không gian tên (namespaces) hay một danh sách các tên, chúng thậm chí có thể để tự mặc định. Điều này sẽ dễ dàng hơn bao giờ hết để viết các lược đồ mở rộng.
Ví dụ, để trình bày một mô hình nội dung đối với "một và chỉ một phần tử
gọi là
userName và một số phần tử khác, trước
và sau
userName", bạn xác định mô hình nội dung
như trong Ví dụ 3.
Ví dụ 3. Mô hình nội dung trong Lược đồ XML 1.0
<xs:sequence> <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/> <xs:element ref="tns:userName"/> <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/> </xs:sequence>
Nhưng lại không hợp lệ trong Lược đồ XML 1.0. Khi phần tử có tên
userName lại bắt gặp, điều này không chắc chắn
liệu có phù hợp với Ký tự đại diện
<xs:any> hoặc lời gọi phần tử
<xs:element> để giải quyết vấn đề này, một số người chèn
phần tử ngăn cách giữa các phần tử và Ký tự đại diện. Việc này có hiệu quả
nhưng làm cho cả lược đồ và các tài liệu XML rất xấu. Một vấn đề khác là
Ký tự đại diện này cũng cho phép
userName, vì
thế luật "một và chỉ một " không thể áp dụng.
Trong Lược đồ XML 1.1, lược đồ chia nhỏ trong ví dụ
3 trở nên hợp lệ do bởi các Ký tự đại diện đã được làm yếu đi, có
nghĩa là khi một phần tử đã phù hợp với khai báo phần tử hoặc là một Ký tự
đại diện thì khai báo phần tử luôn được ưu tiên trước. Điều này tránh được
tồn tại của UPA. Với sự giúp đỡ của của Ký tự đại diện phủ định, bạn luôn
có thể biểu diễn luật “một và chỉ một
userName
và bất kỳ điều nào khác" trong ví dụ 4.
Ví dụ 4. Mô hình nội dung trong Lược đồ XML 1.1
<xs:sequence> <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip" notQName="tns:userName"/> <xs:element ref="tns:userName"/> <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip" notQName="tns:userName"/> </xs:sequence>
Các kiểu dữ liệu Lược đồ XML
Nội dung bản đặc tả của Lược đồ XML gồm 2 phần: Cấu trúc và kiểu dữ liệu (xem Tài nguyên). Trong phần này, chúng ta sẽ đề cập đến các thay đổi trong phần kiểu dữ liệu của bản đặc tả là một phần của Lược đồ XML 1.1 đã đưa ra. Trong các bài viết sau, chúng ta sẽ đi vào cụ thể các thay đổi với phần Cấu trúc.
Phù hợp với các loại mô hình dữ liệu XQuery 1.0 và XPath 2.0
Kiểu hệ thống sử dụng bởi W3C XQuery 1.0, XPath 2.0, XSLT 2.0 và XQuery 1.0
và XPath 2.0 Data Model Recommendations (xem Tài
nguyên) là phần mở rộng trong Khuyến nghị Lược đồ XML W3C 1.0.
Ngoài các kiểu dữ liệu gốc đã có sẵn Lược đồ XML 1.0, những bản đặc tả này
còn xác định 5 kiểu dữ liệu bổ sung thêm trong miền tên Lược đồ XML 1.0,
gọi là:
anyAtomicType,
untyped,
untypedAtomic,
dayTimeDuration và
yearMonthDuration. Để phù hợp với kiểu hệ thống của Lược đồ
XML và các đặc tả này, đặc tả kiểu dữ liệu của Lược đồ XML 1.1 đưa ra 3
kiểu dữ liệu, gọi là:
anyAtomicType,
dayTimeDuration, và
yearMonthDuration .
anyAtomicType
anyAtomicType là kiểu dữ liệu có sẵn đặc biệt
của Lược đồ XML 1.1 bắt nguồn bởi ràng buộc từ
anySimpleType. Từ khi
anyAtomicType
là cơ sở cho các kiểu dữ liệu gốc, giá trị và không gian ngôn ngữ
(lexical space) của
anyAtomicType là sự hợp
nhất của giá trị và không gian ngôn ngữ của tất cả các kiểu dữ liệu gốc.
Để giải thích rõ hơn, hãy xem Lược đồ XML ở ví dụ
5 và tài liệu hợp lệ của XML (ví dụ 6)
dưới đây. Trong ví dụ này, phần tử kiểu
anyAtomicType có thể hàm chứa một chuỗi hoặc số nguyên như một
giá trị hợp lệ. Có thể áp dụng cho kiểu cụ thể được xuất dẫn từ
anyAtomicType mà sử dụng
xsi:type. Cần chỉ ra rằng
anyAtomicType không xác định bất cứ phần tử ràng buộc nào do đó
bạn không thể dùng nó như là kiểu cơ sở của kiểu giản đơn do người dùng
xác định (user-defined simple type).
Ví dụ 5. Ví dụ Lược đồ XML cho anyAtomicType
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="test" xmlns:pfx="test"> <element name="root"> <complexType> <sequence> <element name="elanyAtomicType" type="anyAtomicType" maxOccurs="unbounded"/> </sequence> </complexType> </element> </schema>
Ví dụ 6. Ví dụ về tài liệu XML cho anyAtomicType
<pfx:root xmlns:pfx="test" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <elanyAtomicType>Test</elanyAtomicType> <elanyAtomicType>12345</elanyAtomicType> <elanyAtomicType xsi:type="xs:string">Test</elanyAtomicType> <elanyAtomicType xsi:type="xs:integer">12345</elanyAtomicType> </pfx:root>
yearMonthDuration
Kiểu dữ liệu
duration (khoảng thời gian) trình
bày trong XML Schema 1.0 Datatypes Recommendation (xem Tài nguyên) là một kiểu được xếp thứ tự một phần nào đó và đại
diện cho một giai đoạn thời gian, ví dụ các giá trị duration P30D và P1M
là không thể so sánh được do một tháng thì có thể bao gồm bất kỳ từ 28 đến
31 ngày. Để giúp cho các khoảng thời gian có thể so sánh được, Lược đồ XML
1.1 đưa ra hai kiểu dữ liệu thứ tự hoàn toàn mới, gọi là
yearMonthDuration và
dayTimeDuration bắt nguồn bởi ràng buộc từ
duration.
Trong Lược đồ XML 1.1, kiểu dữ liệu
yearMonthDuration
được bắt nguồn từ
duration bằng cách
giới hạn đối với trình bày ngôn từ để khống chế chỉ hai thành phần năm và
tháng. Bạn có thể trình bày bằng một biểu thức thông thường:
-?P[0-9]+(Y([0-9]+M)?|M) Giá trị của thành phần
năm và tháng cho phép sử dụng một số nguyên không dấu (unsigned integer).
Ký hiệu dấu trừ tùy chọn sẽ hiểu là một
yearMonthDuration số âm. Không gian giá trị của kiểu dữ
liệu
duration bao gồm một số nguyên các
tháng và một số thập phân các giây. Không gian giá trị của kiểu dữ
liệu
yearMonthDuration là giới hạn của
không gian giá trị của kiểu dữ liệu
duration
với giá trị các giây là không (0).
Một số dương
yearMonthDuration của một năm và
sáu tháng có thể biểu đạt về từ ngữ là P1Y6M hoặc P18M. Giá trị của
yearMonthDuration là 18 tháng. Các ví dụ của các
giá trị
yearMonthDuration hợp lệ bao gồm
P1Y2M,
P12Y,
-P20M, trong khi các trình bày dưới đây là không
hợp lệ
P-1Y ,
P1Y-1M và
P1YM. Kiểu dữ liệu
yearMonthDuration được xếp thứ tự toàn bộ, đối
với bất kỳ 2 giá trị
yearMonthDuration
D1 và
D2 mối quan hệ
thứ tự giữa
D1 và
D2
có thể được thiết lập, có nghĩa hoặc là
D1 >
D2 hoặc
D1 < D2.
Kiểu dữ liệu người sử dụng xác định có thể dẫn xuất từ ràng buộc từ
yearMonthDuration, bằng cách xác định các phần
tử ràng buộc cho phép bởi
duration. Từ khi
yearMonthDuration dẫn xuất bởi giới hạn từ
duration là phần tử cơ bản, có thứ tự và một
phần cũng không bị thay đổi bởi dẫn xuất. Tuy nhiên,
yearMonthDuration trên thực tế được sắp xếp hoàn toàn.
dayTimeDuration
Tương tự đối với
yearMonthDuration, kiểu dữ
liệu
dayTimeDuration dẫn xuất từ
duration bằng cách giới hạn cách biểu diễn ngôn
từ để chỉ bao gồm các thành phần ngày và thời gian (giờ, phút, giây) từ
kiểu dữ liệu
duration. Điều này có thể trình
bày bằng các khoảng thời gian phù hợp với các biểu thức thông thường
[^YM]*[DT].*. Giá trị của các thành phần ngày,
giờ, phút là bị giới hạn, nhưng vẫn cho một
xs:integer không dấu tùy ý. Tương tự, các giá trị của thành
phần giây cho phép một
xs:decimal không dấu tùy
ý. Dấu âm tự chọn phản ánh một số âm
dayTimeDuration. Không gian giá trị của kiểu dữ liệu
dayTimeDuration là ràng buộc về miền giá trị của
kiểu dữ liệu
duration với giá trị thuộc tính
các tháng là 0 và giá trị các giây là phân số.
Một số dương
dayTimeDuration của một ngày, hai
giờ, ba phút và 4,5 giây có thể diễn đạt dưới dạng ngôn từ là
P1DT2H3M4.5S. Giá trị của
yearMonthDuration là 93784.5 (1*24*60*60+2*60*60+3*60+4.5) phân
số cho các giây. Chú ý rằng số lượng của ngày, giờ, phút và giây là 0, có
thể bỏ qua trình bày dưới dạng ngôn từ miễn là nếu có ít nhất một trong
chúng được thể hiện. Nếu như
dayTimeDuration
chỉ bao gồm các ngày, thì thiết kế cho T phải bỏ đi. Thêm một số ví dụ
dayTimeDuration hợp lệ bao gồm
P1D,
PT25H,
P22DT2H,
PT1H99M5,
5S,
-PT20M,
-PT60.60S và một số ví dụ
dayTimeDuration không hợp lệ là
P-5D,
P1D1M1H1S,
PDT1M,
P5H và
P1DT. Giống như
yearMonthDuration, kiểu dữ liệu
dayTimeDuration hoàn toàn có thứ tự.
Kiểu dữ liệu dẫn xuất từ ràng buộc từ
dayTimeDuration có thể xác định các phần tử ràng buộc giống
nhau ví dụ như kiểu dữ liệu
duration. Chú ý
rằng giá trị của
vùng trắng(whitespace) các
phần tử cho
yearMonthDuration và
dayTimeDuration được gắn với
collapse và không thể thay đổi.
Ví dụ 7 miêu tả một phần hợp lệ của Lược đồ XML
1.1 sử dụng kiểu dữ liệu
yearMonthDuration và
dayTimeDuration .
Ví dụ 7. Ví dụ Lược đồ XML cho yearMonthDuration và dayTimeDuration
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="test" xmlns:pfx="test"> <simpleType name="ymdBase"> <restriction base="yearMonthDuration"> <minInclusive value="P1Y6M"/> </restriction> </simpleType> <simpleType name="ymdDerived"> <restriction base="ymdBase"> <minInclusive value="P19M"/> </restriction> </simpleType> <simpleType name="dtdBase"> <restriction base="dayTimeDuration"> <maxInclusive value="-P2DT2H"/> </restriction> </simpleType> <simpleType name="dtdDerived"> <restriction base="dtdBase"> <maxInclusive value="-P51H"/> </restriction> </simpleType> <element name="root"> <complexType> <sequence> <element name="elYearMonthDuration" type="ymdDerived"/> <element name="elDayTimeDuration" type="dtdDerived"/> </sequence> </complexType> </element> </schema>
Ví dụ 7 miêu tả một phần hợp lệ của Lược đồ XML
1.1 sử dụng các kiểu dữ liệu
yearMonthDuration
và
dayTimeDuration. Kiểu đơn giản
ymdDerived giới hạn kiểu cơ sở
ymdBase, nó tiếp theo lại giới hạn kiểu dữ liệu
dựng sẵn Lược đồ XML
yearMonthDuration mà sử
dụng phần tử
minInclusive. Vì
yearMonthDuration là được đặt thứ tự toàn bộ, giá
trị P19M của kiểu dẫn xuất
ymdDerived lớn hơn
nhiều so với giá trị của P1Y6M kiểu cơ sở
ymdBase
tạo nên một ràng buộc có hiệu lực. Tương tự, kiểu đơn giản
maxDerived giới hạn kiểu cơ sở
dtdBase, nó đến lượt lại giới hạn kiểu dữ liệu
dựng sẵn Lược đồ XML
dayTimeDuration mà sử dụng
phần tử
maxInclusive. Trong trường hợp này,
khoảng giá trị âm của -P51H của kiểu dẫn xuất
maxDerived nhỏ hơn so với của kiểu cơ sở -P2DT2H. Phần tử,
gốc chứa phần tử con
elyearMonthDuration và
eldayTimeDuration
của các kiểu
ymdDerived và
maxDerived riêng biệt.
precisionDecimal
precisionDecimal là kiểu mới trong Lược đồ XML
1.1 nhằm hỗ trợ cho kiểu dấu phẩy động thập phân IEEE-754 mới. Nó khác
với
thập phân trong đó các số thập phân
chính xác không chỉ gồm các giá trị về số mà còn giữ lại được sự chính xác
số học.
precisionDecimal cũng bao gồm các giá
trị đối với vô cực dương (
+INF) và vô cực âm
(
-INF) và không đối với số (
NaN). Cũng có sự khác biệt giữa dương không (+0)
và âm không (-0).
Miền ngôn từ của
precisionDecimal là một bộ của
tất cả các số thập phân (có hay không có dấu thập phân), các số biểu diễn
dưới dạng khoa học (số mũ), và chuỗi ký tự '
INF', '
+INF', '
-INF và '
NaN'.
Kiểu dữ liệu do người sử dụng xác định dẫn xuất từ ràng buộc của
precisionDecimal có thể xác định các phần tử
ràng buộc giống nhau như của
decimal. Ngoài ra,
hai phần tử ràng buộc mới,
maxScale và
minScale được đưa ra để cho phép các kiểu dẫn
xuất nhằm giới hạn lại các miền giá trị của
precisionDecimal. Một
maxScale đặt
ra một giá trị giới hạn trên trong khi
minScale
đặt ra một giá trị giới hạn dưới về chính xác số học của các giá trị
precisionDecimal.
Trong ví dụ 8 chúng ta xác định kiểu
price mới mà chấp nhận giá trị giữa
-999,999.99 và
999,999.99.
Ví dụ 8. Ví dụ của một bộ phận của Lược đồ XML sử dụng precisionDecimal
<xs:simpleType name='price'> <xs:restriction base='xs:precisionDecimal'> <xs:totalDigits value='8'/> <xs:minScale value='2'/> <xs:maxScale value='2'/> </xs:restriction> </xs:simpleType>
Nên ghi nhớ khi sử dụng
NaN rằng không thể so
sánh với bất kỳ giá trị nào khác kể cả chính nó, vì vậy nếu sử dụng
NaN đối với bất kỳ các phần tử giới hạn nào
(
minInclusive,
maxInclusive,
minExclusive hoặc
maxExclusive), kết quả là sẽ thu được một
kiểu dữ liệu có miền giá trị rỗng.
Tương tự, kể cả
NaN trong một bảng liệt kê sẽ
không chấp nhận các giá trị
NaN . Nếu muốn có
NaN là một phần của miền giá trị, xác định
kiểu tổng hợp mà chỉ có kiểu dữ liệu
NaN (bằng
cách xác định một phần tử mẫu với giá trị của "
NaN
").
Vùng thời gian (Timezone) đối với Vùng thời gian offset
Các kiểu dữ liệu có liên quan đến
date,
time, và
datemonth
được xác định trong đặc tả của Lược đồ XML 1.0 bao gồm vùng thời gian tùy
chọn dưới dạng
(('+' | '-') hh ':' mm) | 'Z'.
Khi một giá trị vùng thời gian được thêm vào một dateTime của Universal
Coordinated Time (UTC), nó sẽ tạo ra date và time trong vùng thời gian đó.
Mặc dù đặc tả của Lược đồ XML 1.0 có một vùng thời gian offset, nhưng nó sử
dụng thuật ngữ vùng thời gian để miêu tả nó, điều này gây hiểu nhầm giữa
vùng thời gian và vùng thời gian offset đây là hai khái niệm khác nhau.
Một vùng thời gian xác định trong một vùng hoặc một khu vực cụ thể (ví dụ
thời gian ở Thái bình Dương, Pacific Time) trong khi vùng thời gian offset
là sự khác biệt về thời gian về giờ và phút giữa UTC và một vùng thời gian
nhất định nào đó (ví dụ,
11:00-05:00). Đặc tả
Lược đồ XML 1.1 đã giới hạn vấn đề này và đã phân biệt rõ giữa vùng thời
gian và vùng thời gian offset.
Những giây nhảy (leap)
Một giây nhảy là một giây thêm vào ngày cuối cùng của tháng 3, tháng 6, 10 hoặc 12, có nghĩa rằng phút cuối cùng của ngày cuối của các tháng này có nhiều hơn 60 giây. Một giây nhảy được thêm vào nhằm giữ cho UTC trong vòng 0,9 giây của thời gian quan sát thiên văn.
Do kiểu dữ liệu gắn với date và time đã xác định trong đặc tả của Lược đồ XML 1.1 không hỗ trợ các giây nhảy, do đó chúng không thể được sử dụng để đại diện cho các giây cuối cùng trong UTC hoặc trong bất kỳ ngày này mà có giây nhảy bổ sung vào chúng. Một ví dụ về những ngày như vậy là 1972-06-30. Người sử dụng phải điều chỉnh thích hợp ở mức ứng dụng nhằm giải quyết tình trạng thời gian này nếu thấy cần thiết phải tuân theo các giây nhảy này.
Các kiểu đơn giản Implementation-defined và các phần tử
Đặc tả Lược đồ XML xác định một số các kiểu gốc như
string,
boolean và
double, đó chính là bộ xử lý hiểu và cung cấp
phương tiện thực hiện. Rất nhiều hệ thống cần nhiều kiểu hơn so với số
lượng đã có sẵn trong đặc tả. Có thể đáp ứng một số yêu cầu này bằng cách
dẫn xuất từ nhưng cái đang có sẵn, nhưng không thể từ các cái khác.
Các kiểu gốc Implementation-defined
Lược đồ XML 1.1 hiện nay có thể cho phép các phần thực hiện của các bộ xử lý Lược đồ XML xác định các kiểu gốc riêng của chúng. Tùy theo từng bộ xử lý Lược đồ XML quyết định xem có nhận biết các kiểu này hay không.
Phần thực hiện cần tuân theo các luật sau:
- Sử dụng
anyAtomicTypelà kiểu cơ sở
- Quyết định phần tử ràng buộc nào sẽ sử dụng và với ý nghĩa như thế nào
(CHÚ Ý: phải bao gồm cả phần tử
vùng trắng).
- Xác định cơ chế tham khảo kiểu mới với vùng tên mục tiêu khác biệt với
http://www.w3.org/2001/XMLSchema(được điều khiển bởi W3C).
- Xác định vùng ngôn từ, vùng giá trị, và bản đồ ngôn từ cho kiểu mới.
- Xác định mức so sánh bình đẳng trong mối quan hệ.
- Xác định các giá trị cho các phần tử cơ bản.
Như một phần thực hiện của bộ xử lý XML, chúng ta cần phải xác định kiểu dữ
liệu
date đặc biệt tuân theo mẫu
ngày-tháng-năm nhưng sử dụng nhiều dấu ngăn cách khác nhau không chỉ là
dấu gạch ngang (-). Để tuân theo những luật đã xác định ở trên, chúng ta
sử dụng
anyAtomicType đối với kiểu cơ sở, và
chúng ta xác định một miền tên mới có thể gọi là
"http://www.example.com/XMLSchema-primitiveTypes". Chúng ta muốn thời gian
của chúng ta được thể hiện dưới dạng ngày, dấu cách, tháng, dấu cách, năm.
Trong vùng ngôn từ cho kiểu dữ liệu
date, những
thể hiện cho ngày, tháng, năm sẽ có cùng cách biểu thị như các kiểu được
xác định trong Lược đồ XML 1.1 và với cùng những luật. Chúng ta muốn dấu
cách thể hiện là một trong ba giá trị dưới đây: dấu chấm (.), gạch ngang
(-), gạch chéo (/).
Chúng ta cũng xác định các phần tử mà chúng ta sẽ hỗ trợ trong phần thực hiện của chúng ta. Các phần tử cơ bản có thể gồm các phần tử và giá trị dưới đây:
- ordered: partial
- bounded: false
- cardinality: countably infinite
- numeric: false
Theo các luật, chúng ta cần có một phần tử
vùng
trắng, chúng ta sẽ xác định nó với giá trị “collapsed” áp dụng
cho
date và tất cả các kiểu dữ liệu dẫn xuất.
Với mỗi đặc tả của Lược đồ XML 1.1, chúng ta có thể xác định được các phần
tử ràng buộc và các giá trị mà chúng ta đã chọn, ví dụ:
- pattern
- enumeration
- maxInclusive
- maxExclusive
- minInclusive
- minExclusive
- assertions
- dateSeparator (implementation-defined)
Sử dụng sự xác định này, "
2008-11-01", "
2008.11.01", và "
2008/11/01" tất cả đều là biểu diễn ngôn từ hợp lệ của ngày
tháng, chúng thể hiện cùng ngày “1/11/2008”.
Các phần tử Implementation-defined
Đặc tả Lược đồ XML xác định một tập các phần tử ràng buộc (như là
minInclusive hoặc là
maxLength) có thể áp dụng các kiểu đơn giản. Một phần tử ràng
buộc là một cấu trúc để khống chế vùng giá trị của các kiểu đơn giản khi
dẫn xuất. Bộ xử lý nhận thức lược đồ hiểu và hỗ trợ các phần tử ràng
buộc.
Tương tự như các kiểu Implementation-defined, Lược đồ XML 1.1 cho phép các phần xử lý được xác định các phần tử ràng buộc riêng của chúng và tuỳ theo từng phần xử lý Lược đồ XML mà có hỗ trợ các phần tử này hay không.
Đây là một số luật phải tuân thủ:
- Xác định thuộc tính của phần tử
- Xác định cách thức hoạt động của phần tử
- Xác định cơ chế để tham khảo với các phần tử mới với không gian tên
hơn là
http://www.w3.org/2001/XMLSchema(khi mà W3C quản lý không gian tên).
- Xác định các kiểu dữ liệu gốc mà phần tử ràng buộc mới áp dụng.
Trong ví dụ 9 sẽ thấy một bộ thực hiện bộ xử lý
XML có thể xác định phần tử
dateSeparator mà
ràng buộc phân cách trong vùng giá trị của implementation-defined
date và tất cả kiểu dữ liệu dẫn xuất từ nó.
Ví dụ 9. Một ví dụ về phần tử implementation-defined
<dateSeparator fixed = boolean : false id = ID value = '-' | '.' | '/' ... > (optional element content here) ... </dateSeparator>
Xác định phần tử có thể xác định các đặc tính khác với không gian tên không
- lược đồ ngoài
fixed, id và
value. Bất cứ kiểu dẫn xuất nào có thể giới hạn
vùng giá trị của implementation-defined
date
bằng cách áp dụng phần tử
dateSeparator.
Bây giờ chúng ta xem xét làm thế nào một người sử dụng có thể dùng kiểu dữ
liệu và các phần tử của nó. Trong ví dụ 10
chúng ta xác định một kiểu mới
specialDate sử
dụng một phần tử mới để giới hạn sự hiện diện của
date
để chỉ chấp nhận các giá trị có dấu (/) ngăn cách.
Ví dụ 10. Một ví dụ về kiểu dẫn xuất dựa vào kiểu implementation-defined
<xs:simpleType name="specialDate"> <xs:restriction base="xyz:date"> <xyz:dateSeparator value="/" /> <xs:restriction> </xs:simpleType>
Bây giờ chỉ "
2008/11/01" được cho phép bởi
specialDate, và "
2008-11-01" và "
2008.11.01" thì
không được.
Kết luận
Trong bài này chúng tôi đã đưa ra một cái nhìn tổng quan về Lược đồ XML 1.1, vạch ra các vấn đề của Lược đồ XML 1.0 và giới thiệu sơ qua làm thế nào Lược đồ XML 1.1 giải quyết những vấn đề đó với một số ví dụ về giới hạn mô hình nội dung, đồng giới hạn và phát triển lược đồ qua các sử dụng của Ký tự đại diện. Chúng ta sau đó đã xem xét cụ thể các tiến bộ đối với phần kiểu dữ liệu của bản đặc tả bao gồm cả các kiểu dữ liệu mới và cho phép các kiểu gốc implementation-defined và các phần tử. Trong Phần 2 của loạt bài, chúng tôi sẽ xem xét kỹ hơn về đặc điểm các đồng ràng buộc mới, đặc biệt các xác nhận và cơ chế giao việc loại có điều kiện.
Tài nguyên
Học tập
- Lược đồ XML 1.1, Phần 2: Giới thiệu Lược đồ XML 1.1: Đồng ràng buộc sử dụng XPath 2.0 (Neil Delima, Sandy Gao, Michael Glavassevich, Khaled Noaman; nhóm deveoperWorks; Tháng 12 2008): xem xét chi tiết cơ chế đồng ràng buộc đưa ra trong Lược đồ XML 1.1, đặc biệt là các cách thức xác nhận mới và các đặc điểm kiểu thay thế.
- Đặc tả XML 1.0: Đọc về XML và làm thế nào nó có thể cho phép chung SGML được phục vụ, được nhận và được xử lý trên trang web.
- XML Schema, phần 1: Structures Second Edition: Tìm hiểu thêm về ngôn ngữ Lược đồ XML W3C và cách thức nó miêu tả cấu trúc và ràng buộc nội dung các tài liệu của XML 1.0, bao gồm cả các tài liệu khai thác tính tiện ích của XML Namespace. Bản đặc tả này dựa vào phần 2 của Schema Phần 2: kiểu dữ liệu
- Lược đồ XML, Phần 2: Ký tự đại diện thứ hai về kiểu dữ liệu: Tìm kiếm thông tin về các kiểu dữ liệu được sử dụng trong ngôn ngữ Lược đồ XML W3C
- W3C XML Schema Definition Language (XSD) 1.1 Part 1: Structures: Tìm các bản đặc tả mới nhất của ngôn ngữ Lược đồ XML W3C.
- W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes: Tìm hiểu thêm thông tin về các kiểu dữ liệu mới bổ sung vào ngôn ngữ Lược đồ XML W3C.
- XQuery 1.0: Tìm hiểu thêm về ngôn ngữ XML Query có sử dụng cấu trúc XML để phản ánh được các thắc mắc có liên quan đến các loại dữ liệu.
- XML Path Language 2.0: Tìm hiểu thêm về ngôn ngữ XPath
- XSL Transformations (XSLT) Version 2.0: Xem lại các bản đặc tả đã xác định các cú pháp và ngữ nghĩa của của ngôn ngữ XSLT 2.0
- XQuery 1.0 và XPath 2.0 Data Model (XDM): Đọc bản trình diễn đặc tả W3C với mô hình dữ liệu của ngôn ngữ XPath 2.0, XSLT 2.0, XQuery
- Schematron: Kiểm tra ngôn ngữ để xác nhận có sự xuất hiện/vắng mặt của các mẫu chuẩn trong tài liệu của XML
- RELAX NG: Khai thác ngôn ngữ lược đồ cho XML.
- Chứng chỉ IBM XML: Tìm hiểu vì sao bạn có thể trở thành một nhà phát triển của IBM có chứng chỉ trong lĩnh vực XML và các công nghệ liên quan.
- Thư viện công nghệ XML: Hãy xem vùng developerWorks XML với rất nhiều bài báo, mẹo, hướng dẫn, chuẩn và IBM Redbooks về công nghệ.
- Các sự kiện về kỹ thuật developerWorks và webcasts: Theo kịp với công nghệ trong những phần này
- Technology bookstore: Tìm kiếm sách về các chủ đề này và các chủ đề kỹ thuật khác.
- developerWorks podcasts: Nghe các cuộc phỏng vấn thú vị và các cuộc thảo luận cho các nhà phát triển phần mềm.
Lấy sản phẩm và công nghệ
- trình phân tích XML Parser cho Java (Xerces2-J): Hãy thử bản parser do Apache phân phối.
- IBM trial software for product evaluation: Thực hiện dự án tiếp theo của bạn với bản phần mềm thử nghiệm sẽ có để tải trực tiếp từ developerWorks kể cả các công cụ ứng dụng phát triển các các sản phẩm đang xây dựng từ DB2®, Lotus®, Rational®, Tivoli®, và WebSphere®.
Thảo luận
- Các diễn đàn thảo luận vùng XML: Tham gia vào một vài thảo luận liên quan đến XML.
- Nhóm phát triển vùng XML: chia sẻ suy nghĩ: Sau khi đọc bài báo này, đăng bình luận ý kiến của bạn vào diễn đàn này. Các nhà biên tập vùng XML điều hành diễn đàn hoan nghênh ý kiến của bạn
- Các blogs cho phát triển công việc: Tìm kiếm các blogs này và tham gia vào Cộng đồng phát triển công việc.
Bình luận
-
Vùng dữ liệu trên developerWorks
Khám phá các bài viết xoay quanh lĩnh vực dữ liệu, Quản lý hệ thống thông tin
-
Vùng mã nguồn mở trên developerWorks
Xem các bài viết về HTML, CSS, JavaScript,...
-
Điện toán đám mây
Tìm hiểu về điện toán đám mây

markdown:
## Giới thiệu
Từ khi Ký tự đại diện Lược đồ XML 1.0 trở thành một khuyến cáo của W3C trong năm 2001, nhóm phát triển đã thảo luận về các lợi ích và các khiếm khuyết của loại ngôn ngữ này. Nhóm xây dựng Lược đồ XML W3C đã tiếp tục nghiên cứu xây dựng Ký tự đại diện ngôn ngữ tiếp theo. Năm 2005, với việc chuẩn này đã được áp dụng rộng rãi trong lĩnh vực này và được lồng ghép vào nhiều chuẩn khác như XSLT, XQuery và WSDL, W3C tổ chức một hội thảo nhằm phản hồi những bài học kinh nghiệm của người sử dụng và thu thập các phản hồi nhằm giúp cho việc phát triển ngôn ngữ này. Hội thảo này cùng với các yêu cầu đặt ra từ phía người sử dụng trong ngành đã giúp cho nhóm xây dựng Lược đồ XML hình thành được phạm vi của Ký tự đại diện chuẩn 1.1.
Trong phần này chúng ta bắt đầu bằng việc xem xét một số đặc điểm mới của Lược đồ XML 1.1 và sau đó đi sâu vào những cải tiến cho kiểu dự liệu của bản đặc tả này. Chuẩn này được biết đến với tên gọi Ngôn ngữ xác định Lược đồ XML hay viết tắt là XSD. Chúng tôi dùng từ viết tắt này cho bài báo này cũng như trong toàn bộ loạt bài viết. Đôi khi, nêu rõ nghĩa thì Lược đồ XML hay Lược đồ được dùng để nói đến ngôn ngữ này.
Độc giả nên nhớ bài viết này được viết khi Lược đồ XML 1.1 vẫn đang trong quá trình xây dựng. Một vài chi tiết có thể sẽ thay đổi trước khi Lược đồ XML 1.1 trở thành Khuyến nghị W3C.
## Những khó khăn của Lược đồ XML 1.0
Các tác giả của Lược đồ thường gặp một số những khó khăn nhất định. Bạn có thể lẩn tránh một số vấn đề khó khăn và tạo ra các thiết kế lược đồ phản trực giác, hoặc bạn có thể xử lý một số vấn đề khó khăn khác bằng mã hóa trong các ngôn ngữ lập trình.
Phần này sẽ xem xét những vấn đề dễ phát sinh nhất và thảo luận xem làm thế nào Lược đồ XML 1.1 có thể xử lý chúng. Chi tiết về thảo luận sẽ có ở các phần tiếp sau của bài báo này
### Giới hạn của mô hình nội dung
Các kiểu phức tạp có thể có nhiều loại nội dung khác nhau. Những kiểu có
phần tử (element) con có thể sẽ phải có một trong
<xs:sequence>,
<xs:choice>, hoặc
<xs:all> như các mô hình nội dung của chúng. Khi một
kiểu phức tạp dẫn xuất bởi giới hạn của một kiểu khác thì cả hai mô hình
nội dung đều phải thỏa mãn một số ràng buộc nhất định. Những ràng buộc này
phải thật cụ thể để đảm bảo cái đã được cho phép bởi kiểu ràng buộc cũng
được cho phép đối với các kiểu cơ sở
Trong Lược đồ XML 1.0, những ràng buộc này được cụ thể hóa nhờ bảng 25-case và các mô hình nội dung đều có vẻ giống nhau để thỏa mãn các ràng buộc này, điều này dẫn tới nẩy sinh các vấn đề sau:
- Các luật chặt chẽ trong 25 cases bỏ đi một số dẫn xuất hợp lệ.
- Luật cho phép một vài dẫn xuất không hợp lệ (đó là, các ràng buộc cho phép nhiều hơn cơ sở).
Ví dụ, trong
[ví dụ 1](#Listing 1) kiểu
derived loại bỏ phần tử tùy chọn
tns:a
từ kiểu
based. Đây rõ ràng là một giới
hạn hợp lệ, nhưng lại không hợp lệ trong Lược đồ XML 1.0
##### Ví dụ 1. Một kiểu derived loại bỏ phần tử tùy chọn từ kiểu cơ sở
<complexType name="base"> <complexContent> <sequence> <element ref="tns:a" minOccurs="0" maxOccurs="1"/> <choice minOccurs="0" maxOccurs="unbounded"> <element ref="tns:b"/> <element ref="tns:c"/> </choice> </sequence> </complexContent> </complexType> <complexType name="derived"> <complexContent> <restriction base="tns:base"> <sequence> <choice minOccurs="0" maxOccurs="unbounded"> <element ref="tns:b"/> <element ref="tns:c"/> </choice> </sequence> </restriction> </complexContent> </complexType>
Trong Lược đồ XML 1.1, luật của 25-case được loại bỏ và thay bằng một khái niệm giản đơn nhằm phản ánh được mục tiêu “cái được cho phép bởi giới hạn thì cũng được cho phép bởi cơ sở". Ví dụ trên trở thành hợp lệ trong Lược đồ XML 1.1
### Đồng ràng buộc
Các tác giả Lược đồ thường muốn áp dụng các luật liên quan đến cho nhiều
phần tử hay thuộc tính (attribute). Ví dụ "
min
cần bé hơn hoặc bằng với
max", hoặc "số lượng
các phần tử con cần phải phù hợp với đặc tính
size. Các luật giống như vậy thường được gọi
*các đồng xuất
hiện ràng buộc* hoặc đơn giản là *các đồng ràng buộc*.
Lược đồ XML 1.0 không cung cấp phương tiện để hỗ trợ cho các đồng ràng
buộc. Người dùng đôi khi phải viết JAVA™ hoặc mã C để kiểm
tra chúng sau khi tài liệu XML được tải về bộ nhớ. Điều này ảnh hưởng đến
tính bền vững và làm lược đồ trở nên yếu đi. Một số người sử dụng tìm kiếm
sự giúp đỡ từ các ngôn ngữ kiểm chuẩn XML (XML validation) khác như
Schematron và Relax NG (xem
[ Tài nguyên](#resources)) cho sự
hỗ trợ đồng ràng buộc, mà lại làm phức tạp kiến trúc dựa trên XSD của
chúng.
Lược đồ XML 1.1 hỗ trợ các đồng ràng buộc một cách tự nhiên. Cái mới được
đưa ra là
<xs:assert> nhân tố có thể bao
gồm các ràng buộc được xác định cụ thể trong các biểu thức trong XPath 2.0
(xem
[ Tài nguyên](#resources)). Xem [Ví dụ 2](#Listing 2):
##### Ví dụ 2. Các đồng ràng buộc Lược đồ XML 1.1
<xs:complexType name="intRange"> <xs:attribute name="min" type="xs:int"/> <xs:attribute name="max" type="xs:int"/> <xs:assert test="@min <= @max"/> </xs:complexType>
### Phát triển lược đồ (Schema)
Mọi người đều thấy cần phải phát triển lược đồ của mình, thêm các mở rộng đối với các thông tin mới. Ký tự đại diện (wildcard) là công cụ hữu hiệu được thiết kế cho mục đích này. Nó có thể dùng cho các Ký tự đại diện lược đồ cũ để cho phép các điểm mở rộng và trong các Ký tự đại diện sau này, các phần tử cụ thể có thể được đưa ra thay cho Ký tự đại diện này. Nhưng những Ký tự đại diện lại có các vấn đề đáng tiếc như sau:
- Chính luật gây tranh cãi Unique Particle Attribution (UPA) gây khó khăn khi sử dụng các Ký tự đại diện tùy chọn
- Các Ký tự đại diện không được đủ mạnh để miêu tả “mọi phần tử ngoại trừ những phần tử dưới đây"
- Việc lặp đi lặp lại cùng một Ký tự đại diện đối cho mỗi kiểu phức tạp để làm cho toàn bộ lược đồ có tính mở rộng sẽ gây tẻ nhạt.
Lược đồ XML 1.1 làm cho phát triển lược đồ dễ dàng hơn. Ngoài ra các Ký tự đại diện được cải tiến mạnh mẽ. Sẽ không còn vi phạm lỗi UPA khi mâu thuẫn với các phần tử được xác định cụ thể rõ ràng và chúng có thể loại trừ được một danh sách các không gian tên (namespaces) hay một danh sách các tên, chúng thậm chí có thể để tự mặc định. Điều này sẽ dễ dàng hơn bao giờ hết để viết các lược đồ mở rộng.
Ví dụ, để trình bày một mô hình nội dung đối với "một và chỉ một phần tử
gọi là
userName và một số phần tử khác, trước
và sau
userName", bạn xác định mô hình nội dung
như trong
[Ví dụ 3](#Listing 3).
##### Ví dụ 3. Mô hình nội dung trong Lược đồ XML 1.0
<xs:sequence> <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/> <xs:element ref="tns:userName"/> <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/> </xs:sequence>
Nhưng lại không hợp lệ trong Lược đồ XML 1.0. Khi phần tử có tên
userName lại bắt gặp, điều này không chắc chắn
liệu có phù hợp với Ký tự đại diện
<xs:any> hoặc lời gọi phần tử
<xs:element> để giải quyết vấn đề này, một số người chèn
phần tử ngăn cách giữa các phần tử và Ký tự đại diện. Việc này có hiệu quả
nhưng làm cho cả lược đồ và các tài liệu XML rất xấu. Một vấn đề khác là
Ký tự đại diện này cũng cho phép
userName, vì
thế luật "một và chỉ một " không thể áp dụng.
Trong Lược đồ XML 1.1, lược đồ chia nhỏ trong
[ví dụ
3](#Listing 3) trở nên hợp lệ do bởi các Ký tự đại diện đã được làm yếu đi, có
nghĩa là khi một phần tử đã phù hợp với khai báo phần tử hoặc là một Ký tự
đại diện thì khai báo phần tử luôn được ưu tiên trước. Điều này tránh được
tồn tại của UPA. Với sự giúp đỡ của của Ký tự đại diện phủ định, bạn luôn
có thể biểu diễn luật “một và chỉ một
userName
và bất kỳ điều nào khác" trong
[ví dụ 4](#Listing 4).
##### Ví dụ 4. Mô hình nội dung trong Lược đồ XML 1.1
<xs:sequence> <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip" notQName="tns:userName"/> <xs:element ref="tns:userName"/> <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip" notQName="tns:userName"/> </xs:sequence>
## Các kiểu dữ liệu Lược đồ XML
Nội dung bản đặc tả của Lược đồ XML gồm 2 phần: Cấu trúc và kiểu dữ liệu
(xem
[ Tài nguyên](#resources)). Trong phần này, chúng ta sẽ đề
cập đến các thay đổi trong phần kiểu dữ liệu của bản đặc tả là một phần
của Lược đồ XML 1.1 đã đưa ra. Trong các bài viết sau, chúng ta sẽ đi vào
cụ thể các thay đổi với phần Cấu trúc.
### Phù hợp với các loại mô hình dữ liệu XQuery 1.0 và XPath 2.0
Kiểu hệ thống sử dụng bởi W3C XQuery 1.0, XPath 2.0, XSLT 2.0 và XQuery 1.0
và XPath 2.0 Data Model Recommendations (xem
[ Tài
nguyên](#resources)) là phần mở rộng trong Khuyến nghị Lược đồ XML W3C 1.0.
Ngoài các kiểu dữ liệu gốc đã có sẵn Lược đồ XML 1.0, những bản đặc tả này
còn xác định 5 kiểu dữ liệu bổ sung thêm trong miền tên Lược đồ XML 1.0,
gọi là:
anyAtomicType,
untyped,
untypedAtomic,
dayTimeDuration và
yearMonthDuration. Để phù hợp với kiểu hệ thống của Lược đồ
XML và các đặc tả này, đặc tả kiểu dữ liệu của Lược đồ XML 1.1 đưa ra 3
kiểu dữ liệu, gọi là:
anyAtomicType,
dayTimeDuration, và
yearMonthDuration .
** anyAtomicType**
anyAtomicType là kiểu dữ liệu có sẵn đặc biệt
của Lược đồ XML 1.1 bắt nguồn bởi ràng buộc từ
anySimpleType. Từ khi
anyAtomicType
là cơ sở cho các kiểu dữ liệu gốc, giá trị và không gian ngôn ngữ
(lexical space) của
anyAtomicType là sự hợp
nhất của giá trị và không gian ngôn ngữ của tất cả các kiểu dữ liệu gốc.
Để giải thích rõ hơn, hãy xem Lược đồ XML ở
[ví dụ
5](#Listing 5) và tài liệu hợp lệ của XML ( [ví dụ 6](#Listing 6))
dưới đây. Trong ví dụ này, phần tử kiểu
anyAtomicType có thể hàm chứa một chuỗi hoặc số nguyên như một
giá trị hợp lệ. Có thể áp dụng cho kiểu cụ thể được xuất dẫn từ
anyAtomicType mà sử dụng
xsi:type. Cần chỉ ra rằng
anyAtomicType không xác định bất cứ phần tử ràng buộc nào do đó
bạn không thể dùng nó như là kiểu cơ sở của kiểu giản đơn do người dùng
xác định (user-defined simple type).
##### Ví dụ 5. Ví dụ Lược đồ XML cho anyAtomicType
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="test" xmlns:pfx="test"> <element name="root"> <complexType> <sequence> <element name="elanyAtomicType" type="anyAtomicType" maxOccurs="unbounded"/> </sequence> </complexType> </element> </schema>
##### Ví dụ 6. Ví dụ về tài liệu XML cho anyAtomicType
<pfx:root xmlns:pfx="test" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <elanyAtomicType>Test</elanyAtomicType> <elanyAtomicType>12345</elanyAtomicType> <elanyAtomicType xsi:type="xs:string">Test</elanyAtomicType> <elanyAtomicType xsi:type="xs:integer">12345</elanyAtomicType> </pfx:root>
** yearMonthDuration **
Kiểu dữ liệu
duration (khoảng thời gian) trình
bày trong XML Schema 1.0 Datatypes Recommendation (xem
[ Tài nguyên](#resources)) là một kiểu được xếp thứ tự một phần nào đó và đại
diện cho một giai đoạn thời gian, ví dụ các giá trị duration P30D và P1M
là không thể so sánh được do một tháng thì có thể bao gồm bất kỳ từ 28 đến
31 ngày. Để giúp cho các khoảng thời gian có thể so sánh được, Lược đồ XML
1.1 đưa ra hai kiểu dữ liệu thứ tự hoàn toàn mới, gọi là
yearMonthDuration và
dayTimeDuration bắt nguồn bởi ràng buộc từ
duration.
Trong Lược đồ XML 1.1, kiểu dữ liệu
yearMonthDuration
được bắt nguồn từ
duration bằng cách
giới hạn đối với trình bày ngôn từ để khống chế chỉ hai thành phần năm và
tháng. Bạn có thể trình bày bằng một biểu thức thông thường:
-?P[0-9]+(Y([0-9]+M)?|M) Giá trị của thành phần
năm và tháng cho phép sử dụng một số nguyên không dấu (unsigned integer).
Ký hiệu dấu trừ tùy chọn sẽ hiểu là một
yearMonthDuration số âm. Không gian giá trị của kiểu dữ
liệu
duration bao gồm một số nguyên các
tháng và một số thập phân các giây. Không gian giá trị của kiểu dữ
liệu
yearMonthDuration là giới hạn của
không gian giá trị của kiểu dữ liệu
duration
với giá trị các giây là không (0).
Một số dương
yearMonthDuration của một năm và
sáu tháng có thể biểu đạt về từ ngữ là P1Y6M hoặc P18M. Giá trị của
yearMonthDuration là 18 tháng. Các ví dụ của các
giá trị
yearMonthDuration hợp lệ bao gồm
P1Y2M,
P12Y,
-P20M, trong khi các trình bày dưới đây là không
hợp lệ
P-1Y ,
P1Y-1M và
P1YM. Kiểu dữ liệu
yearMonthDuration được xếp thứ tự toàn bộ, đối
với bất kỳ 2 giá trị
yearMonthDuration
D1 và
D2 mối quan hệ
thứ tự giữa
D1 và
D2
có thể được thiết lập, có nghĩa hoặc là
D1 >
D2 hoặc
D1 < D2.
Kiểu dữ liệu người sử dụng xác định có thể dẫn xuất từ ràng buộc từ
yearMonthDuration, bằng cách xác định các phần
tử ràng buộc cho phép bởi
duration. Từ khi
yearMonthDuration dẫn xuất bởi giới hạn từ
duration là phần tử cơ bản, có thứ tự và một
phần cũng không bị thay đổi bởi dẫn xuất. Tuy nhiên,
yearMonthDuration trên thực tế được sắp xếp hoàn toàn.
** dayTimeDuration **
Tương tự đối với
yearMonthDuration, kiểu dữ
liệu
dayTimeDuration dẫn xuất từ
duration bằng cách giới hạn cách biểu diễn ngôn
từ để chỉ bao gồm các thành phần ngày và thời gian (giờ, phút, giây) từ
kiểu dữ liệu
duration. Điều này có thể trình
bày bằng các khoảng thời gian phù hợp với các biểu thức thông thường
[^YM]*[DT].*. Giá trị của các thành phần ngày,
giờ, phút là bị giới hạn, nhưng vẫn cho một
xs:integer không dấu tùy ý. Tương tự, các giá trị của thành
phần giây cho phép một
xs:decimal không dấu tùy
ý. Dấu âm tự chọn phản ánh một số âm
dayTimeDuration. Không gian giá trị của kiểu dữ liệu
dayTimeDuration là ràng buộc về miền giá trị của
kiểu dữ liệu
duration với giá trị thuộc tính
các tháng là 0 và giá trị các giây là phân số.
Một số dương
dayTimeDuration của một ngày, hai
giờ, ba phút và 4,5 giây có thể diễn đạt dưới dạng ngôn từ là
P1DT2H3M4.5S. Giá trị của
yearMonthDuration là 93784.5 (1*24*60*60+2*60*60+3*60+4.5) phân
số cho các giây. Chú ý rằng số lượng của ngày, giờ, phút và giây là 0, có
thể bỏ qua trình bày dưới dạng ngôn từ miễn là nếu có ít nhất một trong
chúng được thể hiện. Nếu như
dayTimeDuration
chỉ bao gồm các ngày, thì thiết kế cho T phải bỏ đi. Thêm một số ví dụ
dayTimeDuration hợp lệ bao gồm
P1D,
PT25H,
P22DT2H,
PT1H99M5,
5S,
-PT20M,
-PT60.60S và một số ví dụ
dayTimeDuration không hợp lệ là
P-5D,
P1D1M1H1S,
PDT1M,
P5H và
P1DT. Giống như
yearMonthDuration, kiểu dữ liệu
dayTimeDuration hoàn toàn có thứ tự.
Kiểu dữ liệu dẫn xuất từ ràng buộc từ
dayTimeDuration có thể xác định các phần tử ràng buộc giống
nhau ví dụ như kiểu dữ liệu
duration. Chú ý
rằng giá trị của
vùng trắng(whitespace) các
phần tử cho
yearMonthDuration và
dayTimeDuration được gắn với
collapse và không thể thay đổi.
[ Ví dụ 7](#Listing 7) miêu tả một phần hợp lệ của Lược đồ XML
1.1 sử dụng kiểu dữ liệu
yearMonthDuration và
dayTimeDuration .
##### Ví dụ 7. Ví dụ Lược đồ XML cho yearMonthDuration và dayTimeDuration
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="test" xmlns:pfx="test"> <simpleType name="ymdBase"> <restriction base="yearMonthDuration"> <minInclusive value="P1Y6M"/> </restriction> </simpleType> <simpleType name="ymdDerived"> <restriction base="ymdBase"> <minInclusive value="P19M"/> </restriction> </simpleType> <simpleType name="dtdBase"> <restriction base="dayTimeDuration"> <maxInclusive value="-P2DT2H"/> </restriction> </simpleType> <simpleType name="dtdDerived"> <restriction base="dtdBase"> <maxInclusive value="-P51H"/> </restriction> </simpleType> <element name="root"> <complexType> <sequence> <element name="elYearMonthDuration" type="ymdDerived"/> <element name="elDayTimeDuration" type="dtdDerived"/> </sequence> </complexType> </element> </schema>
[Ví dụ 7](#Listing 7) miêu tả một phần hợp lệ của Lược đồ XML
1.1 sử dụng các kiểu dữ liệu
yearMonthDuration
và
dayTimeDuration. Kiểu đơn giản
ymdDerived giới hạn kiểu cơ sở
ymdBase, nó tiếp theo lại giới hạn kiểu dữ liệu
dựng sẵn Lược đồ XML
yearMonthDuration mà sử
dụng phần tử
minInclusive. Vì
yearMonthDuration là được đặt thứ tự toàn bộ, giá
trị P19M của kiểu dẫn xuất
ymdDerived lớn hơn
nhiều so với giá trị của P1Y6M kiểu cơ sở
ymdBase
tạo nên một ràng buộc có hiệu lực. Tương tự, kiểu đơn giản
maxDerived giới hạn kiểu cơ sở
dtdBase, nó đến lượt lại giới hạn kiểu dữ liệu
dựng sẵn Lược đồ XML
dayTimeDuration mà sử dụng
phần tử
maxInclusive. Trong trường hợp này,
khoảng giá trị âm của -P51H của kiểu dẫn xuất
maxDerived nhỏ hơn so với của kiểu cơ sở -P2DT2H. Phần tử,
gốc chứa phần tử con
elyearMonthDuration và
eldayTimeDuration
của các kiểu
ymdDerived và
maxDerived riêng biệt.
### precisionDecimal
precisionDecimal là kiểu mới trong Lược đồ XML
1.1 nhằm hỗ trợ cho kiểu dấu phẩy động thập phân IEEE-754 mới. Nó khác
với
thập phân trong đó các số thập phân
chính xác không chỉ gồm các giá trị về số mà còn giữ lại được sự chính xác
số học.
precisionDecimal cũng bao gồm các giá
trị đối với vô cực dương (
+INF) và vô cực âm
(
-INF) và không đối với số (
NaN). Cũng có sự khác biệt giữa dương không (+0)
và âm không (-0).
Miền ngôn từ của
precisionDecimal là một bộ của
tất cả các số thập phân (có hay không có dấu thập phân), các số biểu diễn
dưới dạng khoa học (số mũ), và chuỗi ký tự '
INF', '
+INF', '
-INF và '
NaN'.
Kiểu dữ liệu do người sử dụng xác định dẫn xuất từ ràng buộc của
precisionDecimal có thể xác định các phần tử
ràng buộc giống nhau như của
decimal. Ngoài ra,
hai phần tử ràng buộc mới,
maxScale và
minScale được đưa ra để cho phép các kiểu dẫn
xuất nhằm giới hạn lại các miền giá trị của
precisionDecimal. Một
maxScale đặt
ra một giá trị giới hạn trên trong khi
minScale
đặt ra một giá trị giới hạn dưới về chính xác số học của các giá trị
precisionDecimal.
Trong
[ví dụ 8](#Listing 8) chúng ta xác định kiểu
price mới mà chấp nhận giá trị giữa
-999,999.99 và
999,999.99.
##### Ví dụ 8. Ví dụ của một bộ phận của Lược đồ XML sử dụng precisionDecimal
<xs:simpleType name='price'> <xs:restriction base='xs:precisionDecimal'> <xs:totalDigits value='8'/> <xs:minScale value='2'/> <xs:maxScale value='2'/> </xs:restriction> </xs:simpleType>
Nên ghi nhớ khi sử dụng
NaN rằng không thể so
sánh với bất kỳ giá trị nào khác kể cả chính nó, vì vậy nếu sử dụng
NaN đối với bất kỳ các phần tử giới hạn nào
(
minInclusive,
maxInclusive,
minExclusive hoặc
maxExclusive), kết quả là sẽ thu được một
kiểu dữ liệu có miền giá trị rỗng.
Tương tự, kể cả
NaN trong một bảng liệt kê sẽ
không chấp nhận các giá trị
NaN . Nếu muốn có
NaN là một phần của miền giá trị, xác định
kiểu tổng hợp mà chỉ có kiểu dữ liệu
NaN (bằng
cách xác định một phần tử mẫu với giá trị của "
NaN
").
### Vùng thời gian (Timezone) đối với Vùng thời gian offset
Các kiểu dữ liệu có liên quan đến
date,
time, và
datemonth
được xác định trong đặc tả của Lược đồ XML 1.0 bao gồm vùng thời gian tùy
chọn dưới dạng
(('+' | '-') hh ':' mm) | 'Z'.
Khi một giá trị vùng thời gian được thêm vào một dateTime của Universal
Coordinated Time (UTC), nó sẽ tạo ra date và time trong vùng thời gian đó.
Mặc dù đặc tả của Lược đồ XML 1.0 có một vùng thời gian offset, nhưng nó sử
dụng thuật ngữ vùng thời gian để miêu tả nó, điều này gây hiểu nhầm giữa
vùng thời gian và vùng thời gian offset đây là hai khái niệm khác nhau.
Một vùng thời gian xác định trong một vùng hoặc một khu vực cụ thể (ví dụ
thời gian ở Thái bình Dương, Pacific Time) trong khi vùng thời gian offset
là sự khác biệt về thời gian về giờ và phút giữa UTC và một vùng thời gian
nhất định nào đó (ví dụ,
11:00-05:00). Đặc tả
Lược đồ XML 1.1 đã giới hạn vấn đề này và đã phân biệt rõ giữa vùng thời
gian và vùng thời gian offset.
### Những giây nhảy (leap)
Một giây nhảy là một giây thêm vào ngày cuối cùng của tháng 3, tháng 6, 10 hoặc 12, có nghĩa rằng phút cuối cùng của ngày cuối của các tháng này có nhiều hơn 60 giây. Một giây nhảy được thêm vào nhằm giữ cho UTC trong vòng 0,9 giây của thời gian quan sát thiên văn.
Do kiểu dữ liệu gắn với date và time đã xác định trong đặc tả của Lược đồ XML 1.1 không hỗ trợ các giây nhảy, do đó chúng không thể được sử dụng để đại diện cho các giây cuối cùng trong UTC hoặc trong bất kỳ ngày này mà có giây nhảy bổ sung vào chúng. Một ví dụ về những ngày như vậy là 1972-06-30. Người sử dụng phải điều chỉnh thích hợp ở mức ứng dụng nhằm giải quyết tình trạng thời gian này nếu thấy cần thiết phải tuân theo các giây nhảy này.
### Các kiểu đơn giản Implementation-defined và các phần tử
Đặc tả Lược đồ XML xác định một số các kiểu gốc như
string,
boolean và
double, đó chính là bộ xử lý hiểu và cung cấp
phương tiện thực hiện. Rất nhiều hệ thống cần nhiều kiểu hơn so với số
lượng đã có sẵn trong đặc tả. Có thể đáp ứng một số yêu cầu này bằng cách
dẫn xuất từ nhưng cái đang có sẵn, nhưng không thể từ các cái khác.
**Các kiểu gốc Implementation-defined**
Lược đồ XML 1.1 hiện nay có thể cho phép các phần thực hiện của các bộ xử lý Lược đồ XML xác định các kiểu gốc riêng của chúng. Tùy theo từng bộ xử lý Lược đồ XML quyết định xem có nhận biết các kiểu này hay không.
Phần thực hiện cần tuân theo các luật sau:
- Sử dụng
anyAtomicTypelà kiểu cơ sở
- Quyết định phần tử ràng buộc nào sẽ sử dụng và với ý nghĩa như thế nào
(CHÚ Ý: phải bao gồm cả phần tử
vùng trắng).
- Xác định cơ chế tham khảo kiểu mới với vùng tên mục tiêu khác biệt với
http://www.w3.org/2001/XMLSchema(được điều khiển bởi W3C).
- Xác định vùng ngôn từ, vùng giá trị, và bản đồ ngôn từ cho kiểu mới.
- Xác định mức so sánh bình đẳng trong mối quan hệ.
- Xác định các giá trị cho các phần tử cơ bản.
Như một phần thực hiện của bộ xử lý XML, chúng ta cần phải xác định kiểu dữ
liệu
date đặc biệt tuân theo mẫu
ngày-tháng-năm nhưng sử dụng nhiều dấu ngăn cách khác nhau không chỉ là
dấu gạch ngang (-). Để tuân theo những luật đã xác định ở trên, chúng ta
sử dụng
anyAtomicType đối với kiểu cơ sở, và
chúng ta xác định một miền tên mới có thể gọi là
"http://www.example.com/XMLSchema-primitiveTypes". Chúng ta muốn thời gian
của chúng ta được thể hiện dưới dạng ngày, dấu cách, tháng, dấu cách, năm.
Trong vùng ngôn từ cho kiểu dữ liệu
date, những
thể hiện cho ngày, tháng, năm sẽ có cùng cách biểu thị như các kiểu được
xác định trong Lược đồ XML 1.1 và với cùng những luật. Chúng ta muốn dấu
cách thể hiện là một trong ba giá trị dưới đây: dấu chấm (.), gạch ngang
(-), gạch chéo (/).
Chúng ta cũng xác định các phần tử mà chúng ta sẽ hỗ trợ trong phần thực hiện của chúng ta. Các phần tử cơ bản có thể gồm các phần tử và giá trị dưới đây:
- ordered: partial
- bounded: false
- cardinality: countably infinite
- numeric: false
Theo các luật, chúng ta cần có một phần tử
vùng
trắng, chúng ta sẽ xác định nó với giá trị “collapsed” áp dụng
cho
date và tất cả các kiểu dữ liệu dẫn xuất.
Với mỗi đặc tả của Lược đồ XML 1.1, chúng ta có thể xác định được các phần
tử ràng buộc và các giá trị mà chúng ta đã chọn, ví dụ:
- pattern
- enumeration
- maxInclusive
- maxExclusive
- minInclusive
- minExclusive
- assertions
- dateSeparator (implementation-defined)
Sử dụng sự xác định này, "
2008-11-01", "
2008.11.01", và "
2008/11/01" tất cả đều là biểu diễn ngôn từ hợp lệ của ngày
tháng, chúng thể hiện cùng ngày “1/11/2008”.
**Các phần tử Implementation-defined**
Đặc tả Lược đồ XML xác định một tập các phần tử ràng buộc (như là
minInclusive hoặc là
maxLength) có thể áp dụng các kiểu đơn giản. Một phần tử ràng
buộc là một cấu trúc để khống chế vùng giá trị của các kiểu đơn giản khi
dẫn xuất. Bộ xử lý nhận thức lược đồ hiểu và hỗ trợ các phần tử ràng
buộc.
Tương tự như các kiểu Implementation-defined, Lược đồ XML 1.1 cho phép các phần xử lý được xác định các phần tử ràng buộc riêng của chúng và tuỳ theo từng phần xử lý Lược đồ XML mà có hỗ trợ các phần tử này hay không.
Đây là một số luật phải tuân thủ:
- Xác định thuộc tính của phần tử
- Xác định cách thức hoạt động của phần tử
- Xác định cơ chế để tham khảo với các phần tử mới với không gian tên
hơn là
http://www.w3.org/2001/XMLSchema(khi mà W3C quản lý không gian tên).
- Xác định các kiểu dữ liệu gốc mà phần tử ràng buộc mới áp dụng.
Trong
[ví dụ 9](#Listing 9) sẽ thấy một bộ thực hiện bộ xử lý
XML có thể xác định phần tử
dateSeparator mà
ràng buộc phân cách trong vùng giá trị của implementation-defined
date và tất cả kiểu dữ liệu dẫn xuất từ nó.
##### Ví dụ 9. Một ví dụ về phần tử implementation-defined
<dateSeparator fixed = boolean : false id = ID value = '-' | '.' | '/' ... > (optional element content here) ... </dateSeparator>
Xác định phần tử có thể xác định các đặc tính khác với không gian tên không
- lược đồ ngoài
fixed, id và
value. Bất cứ kiểu dẫn xuất nào có thể giới hạn
vùng giá trị của implementation-defined
date
bằng cách áp dụng phần tử
dateSeparator.
Bây giờ chúng ta xem xét làm thế nào một người sử dụng có thể dùng kiểu dữ
liệu và các phần tử của nó. Trong
[ví dụ 10](#Listing 10)
chúng ta xác định một kiểu mới
specialDate sử
dụng một phần tử mới để giới hạn sự hiện diện của
date
để chỉ chấp nhận các giá trị có dấu (/) ngăn cách.
##### Ví dụ 10. Một ví dụ về kiểu dẫn xuất dựa vào kiểu implementation-defined
<xs:simpleType name="specialDate"> <xs:restriction base="xyz:date"> <xyz:dateSeparator value="/" /> <xs:restriction> </xs:simpleType>
Bây giờ chỉ "
2008/11/01" được cho phép bởi
specialDate, và "
2008-11-01" và "
2008.11.01" thì
không được.
## Kết luận
Trong bài này chúng tôi đã đưa ra một cái nhìn tổng quan về Lược đồ XML
1.1, vạch ra các vấn đề của Lược đồ XML 1.0 và giới thiệu sơ qua làm thế
nào Lược đồ XML 1.1 giải quyết những vấn đề đó với một số ví dụ về giới
hạn mô hình nội dung, đồng giới hạn và phát triển lược đồ qua các sử dụng
của Ký tự đại diện. Chúng ta sau đó đã xem xét cụ thể các tiến bộ đối với
phần kiểu dữ liệu của bản đặc tả bao gồm cả các kiểu dữ liệu mới và cho
phép các kiểu gốc implementation-defined và các phần tử. Trong
[ Phần
2](http://www.ibm.com/developerworks/vn/library/x-xml11pt2/) của loạt bài, chúng tôi sẽ xem xét kỹ hơn về đặc điểm các đồng
ràng buộc mới, đặc biệt các xác nhận và cơ chế giao việc loại có điều
kiện.
## Tài nguyên
### Học tập
[Lược đồ XML 1.1, Phần 2: Giới thiệu Lược đồ XML 1.1: Đồng ràng buộc sử dụng XPath 2.0](http://www.ibm.com/developerworks/vn/library/x-xml11pt2/)(Neil Delima, Sandy Gao, Michael Glavassevich, Khaled Noaman; nhóm deveoperWorks; Tháng 12 2008): xem xét chi tiết cơ chế đồng ràng buộc đưa ra trong Lược đồ XML 1.1, đặc biệt là các cách thức xác nhận mới và các đặc điểm kiểu thay thế. [Đặc tả XML 1.0](http://www.w3.org/TR/xml/): Đọc về XML và làm thế nào nó có thể cho phép chung SGML được phục vụ, được nhận và được xử lý trên trang web. [XML Schema, phần 1: Structures Second Edition](http://www.w3.org/TR/xmlschema-1/): Tìm hiểu thêm về ngôn ngữ Lược đồ XML W3C và cách thức nó miêu tả cấu trúc và ràng buộc nội dung các tài liệu của XML 1.0, bao gồm cả các tài liệu khai thác tính tiện ích của XML Namespace. Bản đặc tả này dựa vào phần 2 của Schema Phần 2: kiểu dữ liệu [Lược đồ XML, Phần 2: Ký tự đại diện thứ hai về kiểu dữ liệu](http://www.w3.org/TR/xmlschema-2/): Tìm kiếm thông tin về các kiểu dữ liệu được sử dụng trong ngôn ngữ Lược đồ XML W3C [W3C XML Schema Definition Language (XSD) 1.1 Part 1: Structures](http://www.w3.org/TR/xmlschema11-1/): Tìm các bản đặc tả mới nhất của ngôn ngữ Lược đồ XML W3C. [W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes](http://www.w3.org/TR/xmlschema11-2/): Tìm hiểu thêm thông tin về các kiểu dữ liệu mới bổ sung vào ngôn ngữ Lược đồ XML W3C. [XQuery 1.0](http://www.w3.org/TR/xquery/): Tìm hiểu thêm về ngôn ngữ XML Query có sử dụng cấu trúc XML để phản ánh được các thắc mắc có liên quan đến các loại dữ liệu. [XML Path Language 2.0](http://www.w3.org/TR/xpath20/): Tìm hiểu thêm về ngôn ngữ XPath [XSL Transformations (XSLT) Version 2.0](http://www.w3.org/TR/xslt20/): Xem lại các bản đặc tả đã xác định các cú pháp và ngữ nghĩa của của ngôn ngữ XSLT 2.0 [XQuery 1.0 và XPath 2.0 Data Model (XDM)](http://www.w3.org/TR/xpath-datamodel/): Đọc bản trình diễn đặc tả W3C với mô hình dữ liệu của ngôn ngữ XPath 2.0, XSLT 2.0, XQuery [Schematron](http://www.schematron.com/): Kiểm tra ngôn ngữ để xác nhận có sự xuất hiện/vắng mặt của các mẫu chuẩn trong tài liệu của XML [RELAX NG](http://www.relaxng.org/): Khai thác ngôn ngữ lược đồ cho XML. [Chứng chỉ IBM XML](http://www.ibm.com/certify/certs/01001503.shtml): Tìm hiểu vì sao bạn có thể trở thành một nhà phát triển của IBM có chứng chỉ trong lĩnh vực XML và các công nghệ liên quan. [Thư viện công nghệ XML](http://www.ibm.com/developerworks/views/xml/library.jsp?S_TACT=105AGY75): Hãy xem vùng developerWorks XML với rất nhiều bài báo, mẹo, hướng dẫn, chuẩn và IBM Redbooks về công nghệ. [Các sự kiện về kỹ thuật developerWorks và webcasts](http://www.ibm.com/developerworks/offers/techbriefings/?S_TACT=105AGY75): Theo kịp với công nghệ trong những phần này [Technology bookstore](http://www.ibm.com/developerworks/apps/SendTo?bookstore=safari?S_TACT=105AGY75): Tìm kiếm sách về các chủ đề này và các chủ đề kỹ thuật khác. [developerWorks podcasts](http://www.ibm.com/developerworks/podcast/?S_TACT=105AGY75): Nghe các cuộc phỏng vấn thú vị và các cuộc thảo luận cho các nhà phát triển phần mềm.
### Lấy sản phẩm và công nghệ
[trình phân tích XML Parser cho Java (Xerces2-J)](http://xerces.apache.org/xerces2-j/): Hãy thử bản parser do Apache phân phối. [IBM trial software for product evaluation](http://www.ibm.com/developerworks/downloads/?S_TACT=105AGY75): Thực hiện dự án tiếp theo của bạn với bản phần mềm thử nghiệm sẽ có để tải trực tiếp từ developerWorks kể cả các công cụ ứng dụng phát triển các các sản phẩm đang xây dựng từ DB2®, Lotus®, Rational®, Tivoli®, và WebSphere®.
### Thảo luận
[Các diễn đàn thảo luận vùng XML](http://www.ibm.com/developerworks/forums/dw_xforums.jsp?S_TACT=105AGY75): Tham gia vào một vài thảo luận liên quan đến XML. [Nhóm phát triển vùng XML: chia sẻ suy nghĩ:](http://www.ibm.com/developerworks/forums/dw_forum.jsp?forum=1080&cat=11&S_TACT=105AGY75)Sau khi đọc bài báo này, đăng bình luận ý kiến của bạn vào diễn đàn này. Các nhà biên tập vùng XML điều hành diễn đàn hoan nghênh ý kiến của bạn [Các blogs cho phát triển công việc](http://www.ibm.com/developerworks/blogs/?S_TACT=105AGY75): Tìm kiếm các blogs này và tham gia vào [Cộng đồng phát triển công việc](http://www.ibm.com/developerworks/community?S_TACT=105AGY75).
## Bình luận
[Vùng dữ liệu trên developerWorks](http://www.ibm.com/developerworks/vn/views/data/libraryview.jsp)
Khám phá các bài viết xoay quanh lĩnh vực dữ liệu, Quản lý hệ thống thông tin
[Vùng mã nguồn mở trên developerWorks](http://www.ibm.com/developerworks/vn/views/opensource/libraryview.jsp)
Xem các bài viết về HTML, CSS, JavaScript,...
[Điện toán đám mây](http://www.ibm.com/developerworks/vn/views/cloud/libraryview.jsp)
Tìm hiểu về điện toán đám mây


text:
Mang thai cần ăn uống gì khi thai nhi thiếu nước ối
Mang thai cần ăn uống gì cho thai nhi trong giai đoạn cuối thai kỳ, khi mà bác sĩ báo cho bạn hung tin – thai nhi bị thiếu nước ối.
Mang thai cần ăn uống gì
Nước ối rất quan trọng đối với thai nhi
Hôm qua đi khám thai, bác sĩ thông báo cho mình 1 tin dữ: thai nhi lớn nhanh, và nước ối có dấu hiệu đi xuống, chỉ còn khoảng 7-8 cm. Tôi hoảng hốt hỏi bác sĩ rằng vì sao nước ối giảm và khi mang thai cần ăn uống gì để tăng nước ối?
Bác sĩ trả lời, theo các nghiên cứu khoa học, nước ối là môi trường miễn dịch, chống nhiễm trùng, giúp thai nhi trao đổi chất. Thiếu nước ối, thai sẽ kém phát triển, biến dạng chi và có thể chết lưu.
Có 2 nguyên nhân chính gây ra tình trạng thiếu ối ở phụ nữ mang thai:
- Do thủng màng ối gây ra rỉ ối khi chưa có dấu hiệu chuyển dạ (hay còn gọi là vỡ ối non)
- Và do chính thai nhi sản xuất nước ối kém.
Ở nguyên nhân thứ 2, nếu tình trạng thiếu ối xảy ra ở quý đầu trong thai kỳ là do thai nhi đã bị dị dạng cơ quan tiết niệu như dị dạng thận, thận phát triển không bình thường, thận đa nang… Nếu rơi vào những tháng cuối của thai kỳ (từ 25 đến 28 tuần) do thai chậm phát triển trong tử cung, thai nhỏ, hấp thụ dinh dưỡng kém nên bài tiết nước tiểu kém, dẫn đến nước ối giảm.
Trong trường hợp gần đủ tháng sinh, có thể do thai quá ngày sinh, ở quá lâu trong buồng tử cung, thận mất hết chức năng, bánh rau suy giảm nên nước ối giảm. Vì vậy, trước một trường hợp thiếu ối, BS sẽ suy xét đến tuổi thai để xác định nguyên nhân.
Nguy hiểm hơn, trong trường hợp nước ối hết sẽ dẫn đến dây rốn khô, tuần hoàn kém, gây suy thai, thai chết lưu. Với trường hợp thiểu ối do rỉ ối, có lỗ thủng trên màng ối, nguy cơ nhiễm trùng sơ sinh rất cao, đặc biệt với người mẹ đang bị viêm nhiễm âm đạo. Nếu tình trạng rỉ ối ở thai phụ không được điều trị kịp thời, thai nhi sinh ra rất dễ mắc các bệnh nguy hiểm như viêm phổi, nhiễm trùng huyết hoặc viêm màng não.
Với trường hợp thiểu ối do rỉ ối, có lỗ thủng trên màng ối, nguy cơ nhiễm trùng sơ sinh rất cao, đặc biệt với người mẹ đang bị viêm nhiễm âm đạo.
Uống nhiều nước, sữa, chanh, cam, mía khi bị thiếu nước ối
Khi gặp tình trạng thiếu ối, phụ nữ mang thai cần ăn uống gì?
Thai phụ gặp tình trạng thiếu ối sẽ được truyền dung dịch đường nhằm khôi phục tuần hoàn tử cung rau.
Bác sĩ cũng khuyến cáo để tăng lưu lượng tuần hoàn đến tử cung, tăng nước ối, thai phụ cần uống nhiều nước, có thể uống gấp rưỡi so với bình thường.
Trong trường hợp của tôi, thai nhi 34 tuần tuổi, bác sĩ yêu cầu mỗi ngày uống trên 2 lít sữa, uống thêm nước dừa, nước cam, chanh và ăn uống bồi bổ để có đủ dưỡng chất tạo nước ối.
Song song đó, tôi cần phải tăng chất dinh dưỡng trong bữa ăn, để tránh trường hợp suy thai. Dù sao thì cũng là 1 may mắn vì nước ối ở mức 7-8cm chỉ mới là ít, chưa đến mức thiếu nước ối. Tuy vậy, tôi, cũng như các bà mẹ mang thai cùng tình trạng này cần lưu ý khám thai thường xuyên và theo dõi thai máy mỗi ngày.
Ngoài việc lưu ý mang thai cần ăn uống gì, các mẹ bầu khi nghỉ ngơi cần lưu ý nằm nghiêng sang trái để giải phóng hệ thống tuần hoàn ở tử cung, tránh tử cung chèn vào mạch máu. Nếu thai phụ thấy bụng nhỏ dần, thai giảm cử động hoặc có dịch chảy ra ở âm đạo thì nên đi khám và siêu âm tại bệnh viện để xác định có phải do thiếu nước ối hay không.

markdown:
# Mang thai cần ăn uống gì khi thai nhi thiếu nước ối
Mang thai cần ăn uống gì cho thai nhi trong giai đoạn cuối thai kỳ, khi mà bác sĩ báo cho bạn hung tin – thai nhi bị thiếu nước ối.
## Mang thai cần ăn uống gì
*Nước ối rất quan trọng đối với thai nhi*
Hôm qua đi khám thai, bác sĩ thông báo cho mình 1 tin dữ: thai nhi lớn nhanh, và nước ối có dấu hiệu đi xuống, chỉ còn khoảng 7-8 cm. Tôi hoảng hốt hỏi bác sĩ rằng vì sao nước ối giảm và khi
[để tăng nước ối? mang thai cần ăn uống gì ](http://www.mangthaiangi.com/mang-thai-an-gi/mang-thai-can-an-uong-gi-khi-thai-nhi-thieu-nuoc-oi.html)
Bác sĩ trả lời, theo các nghiên cứu khoa học, nước ối là môi trường miễn dịch, chống nhiễm trùng, giúp thai nhi trao đổi chất. Thiếu nước ối, thai sẽ kém phát triển, biến dạng chi và có thể chết lưu.
**Có 2 nguyên nhân chính gây ra tình trạng thiếu ối ở phụ nữ mang thai:**
- Do thủng màng ối gây ra rỉ ối khi chưa có dấu hiệu chuyển dạ (hay còn gọi là vỡ ối non)
- Và do chính thai nhi sản xuất nước ối kém.
Ở nguyên nhân thứ 2, nếu tình trạng thiếu ối xảy ra ở quý đầu trong thai kỳ là do thai nhi đã bị dị dạng cơ quan tiết niệu như dị dạng thận, thận phát triển không bình thường, thận đa nang… Nếu rơi vào những tháng cuối của thai kỳ (từ 25 đến 28 tuần) do thai chậm phát triển trong tử cung, thai nhỏ, hấp thụ dinh dưỡng kém nên bài tiết nước tiểu kém, dẫn đến nước ối giảm.
Trong trường hợp gần đủ tháng sinh, có thể do thai quá ngày sinh, ở quá lâu trong buồng tử cung, thận mất hết chức năng, bánh rau suy giảm nên nước ối giảm. Vì vậy, trước một trường hợp thiếu ối, BS sẽ suy xét đến tuổi thai để xác định nguyên nhân.
Nguy hiểm hơn, trong trường hợp nước ối hết sẽ dẫn đến dây rốn khô, tuần hoàn kém, gây suy thai, thai chết lưu. Với trường hợp thiểu ối do rỉ ối, có lỗ thủng trên màng ối, nguy cơ nhiễm trùng sơ sinh rất cao, đặc biệt với người mẹ đang bị viêm nhiễm âm đạo. Nếu tình trạng rỉ ối ở thai phụ không được điều trị kịp thời, thai nhi sinh ra rất dễ mắc các bệnh nguy hiểm như viêm phổi, nhiễm trùng huyết hoặc viêm màng não.
Với trường hợp thiểu ối do rỉ ối, có lỗ thủng trên màng ối, nguy cơ nhiễm trùng sơ sinh rất cao, đặc biệt với người mẹ đang bị viêm nhiễm âm đạo.
*Uống nhiều nước, sữa, chanh, cam, mía khi bị thiếu nước ối* **Khi gặp tình trạng thiếu ối, phụ nữ mang thai cần ăn uống gì?**
Thai phụ gặp tình trạng thiếu ối sẽ được truyền dung dịch đường nhằm khôi phục tuần hoàn tử cung rau.
Bác sĩ cũng khuyến cáo để tăng lưu lượng tuần hoàn đến tử cung, tăng nước ối, thai phụ cần uống nhiều nước, có thể uống gấp rưỡi so với bình thường.
Trong trường hợp của tôi, thai nhi 34 tuần tuổi, bác sĩ yêu cầu mỗi ngày uống trên 2 lít sữa, uống thêm nước dừa, nước cam, chanh và ăn uống bồi bổ để có đủ dưỡng chất tạo nước ối.
Song song đó, tôi cần phải tăng chất dinh dưỡng trong bữa ăn, để tránh trường hợp suy thai. Dù sao thì cũng là 1 may mắn vì nước ối ở mức 7-8cm chỉ mới là ít, chưa đến mức thiếu nước ối. Tuy vậy, tôi, cũng như các bà mẹ mang thai cùng tình trạng này cần lưu ý khám thai thường xuyên và theo dõi thai máy mỗi ngày.
Ngoài việc lưu ý
[, các mẹ bầu khi nghỉ ngơi cần lưu ý nằm nghiêng sang trái để giải phóng hệ thống tuần hoàn ở tử cung, tránh tử cung chèn vào mạch máu. Nếu thai phụ thấy bụng nhỏ dần, thai giảm cử động hoặc có dịch chảy ra ở âm đạo thì nên đi khám và siêu âm tại bệnh viện để xác định có phải do thiếu nước ối hay không. mang thai cần ăn uống gì](http://www.mangthaiangi.com/)
### Các bài viết về Mang thai ăn gì khác
[mang thai cần ăn uống gì](/tag/mang-thai-can-an-uong-gi), [mang thai ăn gì](/tag/mang-thai-an-gi) [Deal Group](http://www.hauphong.com)

WARC-Type: response

Content-Type: application/http; msgtype=response

Connection: close

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Pragma: no-cache

Vary: Accept-Encoding,User-Agent

Content-Type: text/html


text:
MANILA (AFP) - Chính phủ Philippines hôm Thứ Hai thành lập các hố chôn tập thể cho các xác nạn nhân lũ lụt đang bị thối rữa, sau khi xảy ra thiên tai khiến hơn 600 người chết trên đảo Mindanao ở về phía Nam quốc gia này.
Trong nạn thiên tai kinh hoàng nhất nhiều chục năm nay, bão Washi gây lũ cuốn ở Philippines, tàn phá thành phố Iligan. Chính quyền địa phương tổ chức chôn tập thể lần đầu tiên, cho những nạn nhân của cơn lũ. (Hình: AP Photo/Richel Umel, Pool)
Các giới chức ở hai thành phố cảng Cagayan de Orov và Iligan, nơi nhiều gia đình trong các khu ổ chuột bị nước lũ cuốn trôi ra biển khi đang ngủ, cho hay số xác chết vô thừa nhận ở các nhà quàn hiện đang lên quá cao và là mối đe dọa cho y tế công cộng, cần phải được chôn sớm.
Việc chôn cất tập thể dự trù sẽ khởi sự vào ngày Thứ Ba, theo giới chức địa phương.
Hội Hồng Thập Tự Philippines cho hay con số người thiệt mạng sau trận lũ lụt hôm Thứ Bảy do bão nhiệt đới Washi gây ra là 652 người, trong khi cơ quan chính phủ đặc trách phòng chống thiên tai nói rằng có 632 người chết. Ước tính về số người mất tích có những khác biệt rất lớn.
Phần lớn người thiệt mạng từng sống tại hai thành phố Cagayan de Oroy và Iligan, nằm cạnh hệ thống sông ngòi bị tràn ngập khi lượng nước mưa thường có trong một tháng đổ trút xuống chỉ trong 24 tiếng đồng hồ.
Khu vực thiên tai, nằm cách thủ đô Manila chừng 800 km, thường không bị ảnh hưởng của các trận bão vẫn tàn phá quốc gia này mỗi năm. Hiện cũng có khoảng 47,000 người dân phải sống lây lất trong các khu tạm cư để chờ lúc được trở về nhà. (V.Giang)
« Trở về trang trước
NGƯỜI VIỆT TV »

markdown:
|
|
CÁC TIN KHÁC »
ĐỌC NHIỀU NHẤT»
|
| Philippines chôn tập thể người chết vì lũ lụt
Monday, December 19, 2011 6:47:56 PM
Các giới chức ở hai thành phố cảng Cagayan de Orov và Iligan, nơi nhiều gia đình trong các khu ổ chuột bị nước lũ cuốn trôi ra biển khi đang ngủ, cho hay số xác chết vô thừa nhận ở các nhà quàn hiện đang lên quá cao và là mối đe dọa cho y tế công cộng, cần phải được chôn sớm.
Việc chôn cất tập thể dự trù sẽ khởi sự vào ngày Thứ Ba, theo giới chức địa phương.
Hội Hồng Thập Tự Philippines cho hay con số người thiệt mạng sau trận lũ lụt hôm Thứ Bảy do bão nhiệt đới Washi gây ra là 652 người, trong khi cơ quan chính phủ đặc trách phòng chống thiên tai nói rằng có 632 người chết. Ước tính về số người mất tích có những khác biệt rất lớn.
Phần lớn người thiệt mạng từng sống tại hai thành phố Cagayan de Oroy và Iligan, nằm cạnh hệ thống sông ngòi bị tràn ngập khi lượng nước mưa thường có trong một tháng đổ trút xuống chỉ trong 24 tiếng đồng hồ.
Khu vực thiên tai, nằm cách thủ đô Manila chừng 800 km, thường không bị ảnh hưởng của các trận bão vẫn tàn phá quốc gia này mỗi năm. Hiện cũng có khoảng 47,000 người dân phải sống lây lất trong các khu tạm cư để chờ lúc được trở về nhà.
BÀI ĐỌC THÊM
|
|

WARC-Truncated: length

Set-Cookie: ___utmvblVufYy=cZa   XHvORalR: ltu; path=/; Max-Age=900

Cache-Control: private

X-CDN: Incapsula

Content-Type: text/html; charset=utf-8


text:
Phân mục chính
- Giá vàng, ngoại tệ
- Xe hơi - ôtô
- Nhà đất
- Xây dựng, nội ngoại thất
- Du lịch
- Thời trang
- Công nghiệp
- Nông nghiệp
- Ăn uống
- Sinh vật cảnh
- Nhạc họa
- Sách, truyện
- Việc làm
- Học hành, tuyển sinh, đào tạo
- Dịch vụ
- Làm Thế Nào
- Mẹ và bé
- Web, phần mềm
- Thể thao
- Khách sạn
- Rao vặt
- Điện thoại - mobile
- Máy tính
- Điện tử gia dụng
- Máy ảnh, máy quay phim
- Xe máy
- Xe đạp, xe thô sơ

markdown:
Phân mục chính
[Giá vàng, ngoại tệ](http://giavangngoaite.raovat.mobi/search/apachesolr_search?filters=type:giavangngoaite) [Xe hơi - ôtô](http://xehoioto.raovat.mobi/search/apachesolr_search?filters=type:xehoioto) [Nhà đất](http://nhadat.raovat.mobi/search/apachesolr_search?filters=type:nhadat) [Xây dựng, nội ngoại thất](http://xaydung.raovat.mobi/search/apachesolr_search?filters=type:xaydung) [Du lịch](http://dulich.raovat.mobi/search/apachesolr_search?filters=type:dulich) [Thời trang](http://thoitrang.raovat.mobi/search/apachesolr_search?filters=type:thoitrang) [Công nghiệp](http://congnghiep.raovat.mobi/search/apachesolr_search?filters=type:congnghiep) [Nông nghiệp](http://nongnghiep.raovat.mobi/search/apachesolr_search?filters=type:nongnghiep) [Ăn uống](http://anuong.raovat.mobi/search/apachesolr_search?filters=type:anuong) [Sinh vật cảnh](http://sinhvatcanh.raovat.mobi/search/apachesolr_search?filters=type:sinhvatcanh) [Nhạc họa](http://nhachoa.raovat.mobi/search/apachesolr_search?filters=type:nhachoa) [Sách, truyện](http://sachtruyen.raovat.mobi/search/apachesolr_search?filters=type:sachtruyen) [Việc làm](http://vieclam.raovat.mobi/search/apachesolr_search?filters=type:vieclam) [Học hành, tuyển sinh, đào tạo](http://tuyensinh.raovat.mobi/search/apachesolr_search?filters=type:tuyensinh) [Dịch vụ](http://dichvu.raovat.mobi/search/apachesolr_search?filters=type:dichvu) [Làm Thế Nào](http://lamthenao.raovat.mobi/search/apachesolr_search?filters=type:lamthenao) [Mẹ và bé](http://mevabe.raovat.mobi/search/apachesolr_search?filters=type:mevabe) [Web, phần mềm](http://webphanmem.raovat.mobi/search/apachesolr_search?filters=type:webphanmem) [Thể thao](http://thethao.raovat.mobi/search/apachesolr_search?filters=type:thethao) [Khách sạn](http://khachsan.raovat.mobi/search/apachesolr_search?filters=type:khachsan) [Rao vặt](http://raovat.raovat.mobi/search/apachesolr_search?filters=type:raovat) [Điện thoại - mobile](http://dienthoai.raovat.mobi/search/apachesolr_search?filters=type:dienthoai) [Máy tính](http://maytinh.raovat.mobi/search/apachesolr_search?filters=type:maytinh) [Điện tử gia dụng](http://dientugiadung.raovat.mobi/search/apachesolr_search?filters=type:dientugiadung) [Máy ảnh, máy quay phim](http://mayanhquayphim.raovat.mobi/search/apachesolr_search?filters=type:mayanhquayphim) [Xe máy](http://xemay.raovat.mobi/search/apachesolr_search?filters=type:xemay) [Xe đạp, xe thô sơ](http://xedap.raovat.mobi/search/apachesolr_search?filters=type:xedap)

Set-Cookie: SESS862f9993e46f5e3dfc3a2a80fd3055d4=m2q74c35nelsu0va42fqtdk880; expires=Mon, 23-May-2016 19:45:33 GMT; Max-Age=2000000; path=/; domain=.raovat.mobi

Server: Apache

Cache-Control: post-check=0, pre-check=0

Vary: Accept-Encoding


text:
Tiin.vn - Anh ấy đã có mặt tại sân bay để trở về Hàn Quốc sau chuyến lưu diễn tại Việt Nam.
22h: Các thành viên trong đoàn nghệ thuật Hàn Quốc đã có mặt tại sân bay để làm các thủ tục trước khi trở về nước. Mặc dù thời điểm này đã khá khuya nhưng các fan vẫn túc trực để thêm một lần nữa được ngắm nhìn thần tượng của mình.
Trông các anh ấy khá vui vẻ sau khi hoàn thành chuyến lưu diễn tại Việt Nam
Các thành viên trong đoàn đang hoàn tất các thủ tục trước khi lên máy bay
Tuy nhiên, anh Bi của chúng mình vẫn chưa xuất hiện
Khiến các fan cảm thấy hơi lo lắng
Không biết có được nhìn ngắm thần tượng của mình trước khi anh ấy về nước hay không
22h30: Clip các thành viên trong đoàn nghệ thuật làm thủ tục trước khi lên máy bay.
Như vậy, Bi Rain đã hoàn thành chuyến công tác kéo dài một tuần lễ tại Việt Nam. Chưa bao giờ các fan nghĩ rằng anh ấy lại có thể đến và ở lại lâu đến thế. Trong chuyến lưu diễn lần này, Bi Rain xuất hiện không phải với vai trò của một nghệ sĩ mà trong vị trí của một quân nhân trong quân đội Hàn Quốc. Anh ấy đã hoàn thành vai trò MC rất xuất sắc và có một số tiết mục hát cùng đồng đội cực kì ấn tượng và sôi động. Từng cử chỉ, hành động, lời nói của Bi đều để lại dấu ấn tốt đẹp trong lòng các fan Việt. Tiin rất vui vì đã đồng hành cùng các bạn cập nhật được rất nhiều hình ảnh "kute" của Bi trong suốt một tuần vừa qua.
23h: Đến thời điểm này, anh Bi vẫn chưa xuất hiện. Nhiều fan bắt đầu tỏ ra lo lắng, sốt ruột và tản ra các cửa với hi vọng nhìn thấy Bi Rain.
23h10: Vẫn chưa thấy anh Bi đâu cả! Theo phỏng đoán của chúng tớ thì có thể anh ấy cùng một số nghệ sĩ đã tách đoàn đi cửa khác. Chính vì vậy các fan tập trung ở các vị trí trên chưa nhìn thấy Bi Rain. Cùng chúng tớ tiếp tục đi tìm anh ấy nào!
23h15: Anh Bi đã xuất hiện cùng một số nghệ sĩ khác!
Bi giữa vòng vây fan
Cũng giống như các sao Hàn khác, khi mới xuất hiện ở sân bay, Bi Rain đeo khẩu trang kín mít.
Sau đó, Bi đã chứng tỏ sự thân thiện bằng cách bỏ khẩu trang ra.
Nhìn nụ cười mím môi của anh ý kìa "đáng iu" chết mất!
23h40: Có lẽ giờ này anh Bi và các đồng đội đã yên vị trên máy bay để trở về Hàn Quốc rồi. Các fan vẫn còn nán lại sân bay để chia sẻ những bức ảnh hiếm hoi chụp được. Chúc Bi và cả đoàn thượng lộ bình an. Sớm quay trở lại Việt Nam nhé!
Tiin.vn - Anh ấy đã kết thúc buổi tập để chuẩn bị cho đêm hòa nhạc tối nay.
Tiin.vn - Chúng tớ đã "chộp" được nụ cười cực hiếm hoi của anh chàng "mặt lạnh".
Tiin.vn - Anh ấy khiến cho tất cả khán giả ngồi phía dưới tham dự chương trình hết sức bất ngờ!
Tiin.vn - Trong bộ quân phục, Bi Rain vô cùng nổi bật trên phố.
Tiin.vn - Anh ấy và đoàn nghệ sĩ Hàn quốc đã đặt chân xuống sân bay Nội Bài trong sự chào mừng nồng nhiệt của các fan.
Thành viên nhóm nhạc nổi tiếng còn bị phê bình khi xuất hiện chóng vánh trong sự kiện mặc cho nhiều người chờ đợi.
Lễ cưới của Kim Jung Eun với doanh nhân người Mỹ gốc Hàn được tổ chức vào trưa nay tại Seoul.
Nam diễn viên 'Bản tình ca mùa đông' lên chức bố ở tuổi 44 sau một năm kết hôn cùng bà xã Park Soo Jin.
- Tên thật: Jeong Ji-Hoon
- Năm sinh: 25/6/1982
- Bi Rain hay còn có nghệ danh khác là Rain là ca sĩ nhạc pop và R&B Hàn Quốc kiêm diễn viên rất nổi tiếng tại Châu Á.
- Giải thưởng: Rain được tạp chí Time hai lần chọn vào danh sách "Top 100 người có tầm ảnh hưởng nhất thế giới" vào các năm 2006 và 2011. Năm 2007, lần đầu tiên Rain được chọn vào những người đẹp nhất thế giới của tạp chí People.
- Album đã phát hành: Bad Guy, It's Raining, Eternal Rain, Rain's World, Rainism, BACK TO THE BASIC
- Phim đã đóng: Orange, Sang Doo! Let’s go to school, Full House, A love to kill, Fugitive Plan B

markdown:
Tiin.vn - Anh ấy đã có mặt tại sân bay để trở về Hàn Quốc sau chuyến lưu diễn tại Việt Nam.
**22h: **Các thành viên trong đoàn nghệ thuật Hàn Quốc đã có mặt tại sân bay để làm các thủ tục trước khi trở về nước. Mặc dù thời điểm này đã khá khuya nhưng các fan vẫn túc trực để thêm một lần nữa được ngắm nhìn [ thần tượng ](http://tiin.vn/chuyen-muc/tin-sao/BiRain/truc-tiep-tu-nha-hat-lon-bi-rain-sap-len-san-khau.html)của mình.
Trông các anh ấy khá vui vẻ sau khi hoàn thành chuyến lưu diễn tại Việt Nam
Các thành viên trong đoàn đang hoàn tất các thủ tục trước khi lên máy bay
Tuy nhiên, anh Bi của chúng mình vẫn chưa xuất hiện
Khiến các fan cảm thấy hơi lo lắng
Không biết có được nhìn ngắm thần tượng của mình trước khi anh ấy về nước hay không
22h30: Clip các thành viên trong đoàn nghệ thuật làm thủ tục trước khi lên máy bay.
Như vậy, Bi Rain đã hoàn thành chuyến công tác kéo dài một tuần lễ tại Việt Nam. Chưa bao giờ các fan nghĩ rằng anh ấy lại có thể đến và ở lại lâu đến thế. Trong chuyến lưu diễn lần này, Bi Rain xuất hiện không phải với vai trò của một nghệ sĩ mà trong vị trí của một quân nhân trong quân đội Hàn Quốc. Anh ấy đã hoàn thành vai trò MC rất xuất sắc và có một số tiết mục hát cùng đồng đội cực kì ấn tượng và sôi động. Từng cử chỉ, hành động, lời nói của Bi đều để lại dấu ấn tốt đẹp trong lòng các fan Việt. Tiin rất vui vì đã đồng hành cùng các bạn cập nhật được rất nhiều hình ảnh "kute" của Bi trong suốt một tuần vừa qua.
**23h:** Đến thời điểm này, anh Bi vẫn chưa xuất hiện. Nhiều fan bắt đầu tỏ ra lo lắng, sốt ruột và tản ra các cửa với hi vọng nhìn thấy Bi Rain. **23h10: **Vẫn chưa thấy anh Bi đâu cả! Theo phỏng đoán của chúng tớ thì có thể anh ấy cùng một số nghệ sĩ đã tách đoàn đi cửa khác. Chính vì vậy các fan tập trung ở các vị trí trên chưa nhìn thấy Bi Rain. Cùng chúng tớ tiếp tục đi tìm anh ấy nào! **23h15:** Anh Bi đã xuất hiện cùng một số nghệ sĩ khác!
Bi giữa vòng vây fan
Cũng giống như các sao Hàn khác, khi mới xuất hiện ở sân bay, Bi Rain đeo khẩu trang kín mít.
Sau đó, Bi đã chứng tỏ sự thân thiện bằng cách bỏ khẩu trang ra.
Nhìn nụ cười mím môi của anh ý kìa "đáng iu" chết mất!
**23h40: **Có lẽ giờ này anh Bi và các đồng đội đã yên vị trên máy bay để trở về Hàn Quốc rồi. Các fan vẫn còn nán lại sân bay để chia sẻ những bức ảnh hiếm hoi chụp được. Chúc Bi và cả đoàn thượng lộ bình an. Sớm quay trở lại Việt Nam nhé!
Tiin.vn - Anh ấy đã kết thúc buổi tập để chuẩn bị cho đêm hòa nhạc tối nay.
Tiin.vn - Chúng tớ đã "chộp" được nụ cười cực hiếm hoi của anh chàng "mặt lạnh".
Tiin.vn - Anh ấy khiến cho tất cả khán giả ngồi phía dưới tham dự chương trình hết sức bất ngờ!
Tiin.vn - Trong bộ quân phục, Bi Rain vô cùng nổi bật trên phố.
Tiin.vn - Anh ấy và đoàn nghệ sĩ Hàn quốc đã đặt chân xuống sân bay Nội Bài trong sự chào mừng nồng nhiệt của các fan.
Thành viên nhóm nhạc nổi tiếng còn bị phê bình khi xuất hiện chóng vánh trong sự kiện mặc cho nhiều người chờ đợi.
Lễ cưới của Kim Jung Eun với doanh nhân người Mỹ gốc Hàn được tổ chức vào trưa nay tại Seoul.
Nam diễn viên 'Bản tình ca mùa đông' lên chức bố ở tuổi 44 sau một năm kết hôn cùng bà xã Park Soo Jin.
- Tên thật: Jeong Ji-Hoon
- Năm sinh: 25/6/1982
- Bi Rain hay còn có nghệ danh khác là Rain là ca sĩ nhạc pop và R&B Hàn Quốc kiêm diễn viên rất nổi tiếng tại Châu Á.
- Giải thưởng: Rain được tạp chí Time hai lần chọn vào danh sách "Top 100 người có tầm ảnh hưởng nhất thế giới" vào các năm 2006 và 2011. Năm 2007, lần đầu tiên Rain được chọn vào những người đẹp nhất thế giới của tạp chí People.
- Album đã phát hành: Bad Guy, It's Raining, Eternal Rain, Rain's World, Rainism, BACK TO THE BASIC
- Phim đã đóng: Orange, Sang Doo! Let’s go to school, Full House, A love to kill, Fugitive Plan B

Server: My web server

Cache-Control: private, max-age=1


text:
Đối tượng cầm đầu vụ “bắt cóc” ở Quốc Oai sa lưới - và các bài viết liên quan | Tinmoi.vn
-
Đối tượng cầm đầu vụ “bắt cóc” ở Quốc Oai sa lưới
ANTĐ - Ngay sau khi xác định được nơi Tiến trú ẩn, lực lượng CSHS đã bao vây, thực hiện lệnh bắt khẩn cấp đối với đối tượng này.
-
Điều tra vụ bắt giữ người trái pháp luật, chiếm đoạt tài sản
ANTĐ - CAP Chương Dương cho biết đã chuyển hồ sơ vụ bắt giữ người trái pháp luật xảy ra tại khách sạn Sao Băng (số 39 Vạn Kiếp, Hoàn Kiếm, Hà Nội) cho CAQ Hoàn Kiếm điều tra, xử...
-
Giải cứu an toàn nạn nhân bị bắt cóc đòi nợ
ANTĐ - CATP Hà Nội vừa điều tra làm rõ vụ bắt giữ người trái pháp luật, bắt 5 đối tượng có liên quan.
-
Mẹ mắc nợ bỏ trốn, con trai bị bắt cóc, dọa giết
ANTĐ - Vay tiền rồi bỏ trốn, chị Thanh Hoa đã khiến đứa con trai của mình là H gặp nguy hiểm.
-
Giang hồ Tài “gỉ” và đàn em đã bị sa lưới
Là một trong những “đại ca” cầm trịch giới giang hồ ở khu vực Cầu Giấy, Từ Liêm, nhưng vừa qua, Chu Văn Tài và 2 tên đàn em đã sa lưới lực...
-
Điểm tin nóng sáng 16/10: Phát hiện vụ ăn cắp hàng trăm ngàn lít dầu
Phát hiện vụ ăn cắp hàng trăm ngàn lít dầu; giải cứu “cụ” ba ba 18kg tại quán nhậu; bất ngờ bò viên; nhà máy Dung Quất:...
-
Những “quyền năng” rợn gáy của Mafia Sicile thế kỷ 21
Từ hai thế kỷ qua, bên cạnh những cơ quan cai trị hợp pháp, luôn luôn có bóng dáng của mafia ẩn nấp phía sau lưng.
-
Thú chơi siêu xe, chân dài của ‘ông trùm’ đi dép lê
Suốt ngày lẹt quẹt dép lê nhưng "đại gia" phố núi Mộc Châu (Sơn La) tên Nguyễn Hùng Dũng (biệt danh Dũng "ộp") đã xuống tiền là phải...
-
Những “công tử” thừa tiền, thiếu đạo đức gây thảm án xôn xao dư luận
Xahoi - Cậy là con “đại gia”, “ông lớn”, trong tay có nhiều tiền, không ít kẻ đã tỏ thái độ coi thường pháp luật, coi nhẹ mạng sống người khác rồi gây ra những thảm...
-
Hai anh em trùm ma túy được mệnh danh đại gia Tây Bắc
Khi bị bắt, cái “khí phách”, bản lĩnh của D “ộp”, kẻ vùng vẫy một thời bỗng dưng tắt ngấm
-
Điểm tin nóng sáng 11/7: Thảm án: "trót yêu" vợ bạn thân
Thảm án: "trót yêu" vợ bạn thân ; Không lấy được mẫu ADN của mẹ “người rừng”; 13 tuổi là tú bà: "lộ diện đại gia" ; Bóp cổ đến chết rồi hiếp dâm: tuyên án ; Gà thải Trung Quốc tràn vào...
-
Đến Luang Prabang sống chậm
Chuyến xe khách du lịch khởi hành lúc 8 giờ tối từ thủ đô Vientiane đi cố đô Luang Prabang của Lào. Con đường dài gần 400km ngoằn ngoèo giữa...
-
Vợ chồng già bị 7 đứa con đẩy ra ăn Tết ngoài đường cùng cỗ quan tài
Sinh hạ được 7 người con, chịu bao đắng cay để nuôi nấng chúng nên người. Vậy mà, giờ đây chúng "báo hiếu" ông bà bằng những cú đấm thẳng mặt, những lời rủa...
-
Vợ chồng già bị 7 đứa con đẩy ra ăn Tết ngoài đường cùng cỗ quan tài
Sinh hạ được 7 người con, chịu bao đắng cay để nuôi nấng chúng nên người. Vậy mà, giờ đây chúng "báo hiếu" ông bà bằng những cú đấm thẳng mặt, những lời rủa...
-
Chân dài, đại gia và máy nướng bánh!
Sau mỗi cuộc thi Hoa khôi, cô lại đầu tư mua máy giặt, điều hòa hay máy nướng bánh

markdown:
# Đối tượng cầm đầu vụ “bắt cóc” ở Quốc Oai sa lưới - và các bài viết liên quan | Tinmoi.vn
-
[Đối tượng cầm đầu vụ “bắt cóc” ở Quốc Oai sa lưới](http://www.tinmoi.vn/doi-tuong-cam-dau-vu-bat-coc-o-quoc-oai-sa-luoi-011047871.html) [ANTĐ - Ngay sau khi xác định được nơi Tiến trú ẩn, lực lượng CSHS đã bao vây, thực hiện lệnh bắt khẩn cấp đối với đối tượng này.](http://www.tinmoi.vn/doi-tuong-cam-dau-vu-bat-coc-o-quoc-oai-sa-luoi-011047871.html)
-
[Điều tra vụ bắt giữ người trái pháp luật, chiếm đoạt tài sản](http://www.tinmoi.vn/dieu-tra-vu-bat-giu-nguoi-trai-phap-luat-chiem-doat-tai-san-011095528.html) [ANTĐ - CAP Chương Dương cho biết đã chuyển hồ sơ vụ bắt giữ người trái pháp luật xảy ra tại khách sạn Sao Băng (số 39 Vạn Kiếp, Hoàn Kiếm, Hà Nội) cho CAQ Hoàn Kiếm điều tra, xử...](http://www.tinmoi.vn/dieu-tra-vu-bat-giu-nguoi-trai-phap-luat-chiem-doat-tai-san-011095528.html)
-
[Giải cứu an toàn nạn nhân bị bắt cóc đòi nợ](http://www.tinmoi.vn/giai-cuu-an-toan-nan-nhan-bi-bat-coc-doi-no-011054416.html) [ANTĐ - CATP Hà Nội vừa điều tra làm rõ vụ bắt giữ người trái pháp luật, bắt 5 đối tượng có liên quan.](http://www.tinmoi.vn/giai-cuu-an-toan-nan-nhan-bi-bat-coc-doi-no-011054416.html)
-
[Mẹ mắc nợ bỏ trốn, con trai bị bắt cóc, dọa giết](http://www.tinmoi.vn/me-mac-no-bo-tron-con-trai-bi-bat-coc-doa-giet-011049033.html) [ANTĐ - Vay tiền rồi bỏ trốn, chị Thanh Hoa đã khiến đứa con trai của mình là H gặp nguy hiểm.](http://www.tinmoi.vn/me-mac-no-bo-tron-con-trai-bi-bat-coc-doa-giet-011049033.html)
-
[Giang hồ Tài “gỉ” và đàn em đã bị sa lưới](http://www.tinmoi.vn/giang-ho-tai-gi-va-dan-em-da-bi-sa-luoi-011307373.html) [Là một trong những “đại ca” cầm trịch giới giang hồ ở khu vực Cầu Giấy, Từ Liêm, nhưng vừa qua, Chu Văn Tài và 2 tên đàn em đã sa lưới lực...](http://www.tinmoi.vn/giang-ho-tai-gi-va-dan-em-da-bi-sa-luoi-011307373.html)
-
[Điểm tin nóng sáng 16/10: Phát hiện vụ ăn cắp hàng trăm ngàn lít dầu](http://www.tinmoi.vn/diem-tin-nong-sang-16-10-phat-hien-vu-an-cap-hang-tram-ngan-lit-dau-011076092.html) [Phát hiện vụ ăn cắp hàng trăm ngàn lít dầu; giải cứu “cụ” ba ba 18kg tại quán nhậu; bất ngờ bò viên; nhà máy Dung Quất:...](http://www.tinmoi.vn/diem-tin-nong-sang-16-10-phat-hien-vu-an-cap-hang-tram-ngan-lit-dau-011076092.html)
-
[Những “quyền năng” rợn gáy của Mafia Sicile thế kỷ 21](http://www.tinmoi.vn/nhung-quyen-nang-ron-gay-cua-mafia-sicile-the-ky-21-01782589.html) [Từ hai thế kỷ qua, bên cạnh những cơ quan cai trị hợp pháp, luôn luôn có bóng dáng của mafia ẩn nấp phía sau lưng.](http://www.tinmoi.vn/nhung-quyen-nang-ron-gay-cua-mafia-sicile-the-ky-21-01782589.html)
-
[Thú chơi siêu xe, chân dài của ‘ông trùm’ đi dép lê](http://www.tinmoi.vn/thu-choi-sieu-xe-chan-dai-cua-ong-trum-di-dep-le-011287141.html) [Suốt ngày lẹt quẹt dép lê nhưng "đại gia" phố núi Mộc Châu (Sơn La) tên Nguyễn Hùng Dũng (biệt danh Dũng "ộp") đã xuống tiền là phải...](http://www.tinmoi.vn/thu-choi-sieu-xe-chan-dai-cua-ong-trum-di-dep-le-011287141.html)
-
[Những “công tử” thừa tiền, thiếu đạo đức gây thảm án xôn xao dư luận](http://www.tinmoi.vn/nhung-cong-tu-thua-tien-thieu-dao-duc-gay-tham-an-xon-xao-du-luan-011249991.html) [Xahoi - Cậy là con “đại gia”, “ông lớn”, trong tay có nhiều tiền, không ít kẻ đã tỏ thái độ coi thường pháp luật, coi nhẹ mạng sống người khác rồi gây ra những thảm...](http://www.tinmoi.vn/nhung-cong-tu-thua-tien-thieu-dao-duc-gay-tham-an-xon-xao-du-luan-011249991.html)
-
[Hai anh em trùm ma túy được mệnh danh đại gia Tây Bắc](http://www.tinmoi.vn/hai-anh-em-trum-ma-tuy-duoc-menh-danh-dai-gia-tay-bac-01989125.html) [Khi bị bắt, cái “khí phách”, bản lĩnh của D “ộp”, kẻ vùng vẫy một thời bỗng dưng tắt ngấm](http://www.tinmoi.vn/hai-anh-em-trum-ma-tuy-duoc-menh-danh-dai-gia-tay-bac-01989125.html)
-
[Điểm tin nóng sáng 11/7: Thảm án: "trót yêu" vợ bạn thân](http://www.tinmoi.vn/diem-tin-nong-sang-11-7-tham-an-trot-yeu-vo-ban-than-01968147.html) [Thảm án: "trót yêu" vợ bạn thân ; Không lấy được mẫu ADN của mẹ “người rừng”; 13 tuổi là tú bà: "lộ diện đại gia" ; Bóp cổ đến chết rồi hiếp dâm: tuyên án ; Gà thải Trung Quốc tràn vào...](http://www.tinmoi.vn/diem-tin-nong-sang-11-7-tham-an-trot-yeu-vo-ban-than-01968147.html)
-
[Đến Luang Prabang sống chậm](http://www.tinmoi.vn/den-luang-prabang-song-cham-01761693.html) [Chuyến xe khách du lịch khởi hành lúc 8 giờ tối từ thủ đô Vientiane đi cố đô Luang Prabang của Lào. Con đường dài gần 400km ngoằn ngoèo giữa...](http://www.tinmoi.vn/den-luang-prabang-song-cham-01761693.html)
-
[Vợ chồng già bị 7 đứa con đẩy ra ăn Tết ngoài đường cùng cỗ quan tài](http://www.tinmoi.vn/vo-chong-gia-bi-7-dua-con-day-ra-an-tet-ngoai-duong-cung-co-quan-tai-01736243.html) [Sinh hạ được 7 người con, chịu bao đắng cay để nuôi nấng chúng nên người. Vậy mà, giờ đây chúng "báo hiếu" ông bà bằng những cú đấm thẳng mặt, những lời rủa...](http://www.tinmoi.vn/vo-chong-gia-bi-7-dua-con-day-ra-an-tet-ngoai-duong-cung-co-quan-tai-01736243.html)
-
[Vợ chồng già bị 7 đứa con đẩy ra ăn Tết ngoài đường cùng cỗ quan tài](http://www.tinmoi.vn/vo-chong-gia-bi-7-dua-con-day-ra-an-tet-ngoai-duong-cung-co-quan-tai-01735963.html) [Sinh hạ được 7 người con, chịu bao đắng cay để nuôi nấng chúng nên người. Vậy mà, giờ đây chúng "báo hiếu" ông bà bằng những cú đấm thẳng mặt, những lời rủa...](http://www.tinmoi.vn/vo-chong-gia-bi-7-dua-con-day-ra-an-tet-ngoai-duong-cung-co-quan-tai-01735963.html)
-
[Chân dài, đại gia và máy nướng bánh!](http://www.tinmoi.vn/chan-dai-dai-gia-va-may-nuong-banh-011038131.html) [Sau mỗi cuộc thi Hoa khôi, cô lại đầu tư mua máy giặt, điều hòa hay máy nướng bánh](http://www.tinmoi.vn/chan-dai-dai-gia-va-may-nuong-banh-011038131.html)

Set-Cookie: SERVERID=; Expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/

Server: cloudflare-nginx


text:
Gian hàng bán
Rao vặt
Hỏi đáp
Thêm
Hotline:
19002055
(8h - 21h hàng ngày)
Danh sách gian hàng
Tin tức từ Vatgia.com
Để kinh doanh Online thành công
BaoKim.vn
Nhanh.vn
WebBNC.net
Ứng dụng
Thông báo
Hỗ trợ
Đăng ký
Đăng ký thành viên
Đăng ký gian hàng
Đăng nhập
Hoặc đăng nhập bằng
Nhớ mật khẩu
Quên mật khẩu?
Sản phẩm
dây thừng
|
dieu hoa mini
|
cây lau nhà 360
|
ikea
|
máy khâu mini
|
thảm tập yoga
Sản phẩm
Rao vặt
Hỏi đáp
Cửa hàng
Tìm trong danh mục
Bàn trà đa năng
Bao bì thực phẩm
Bể bơi mini
Các loại móc
Các sản phẩm nhựa
Các sản phẩm nhựa khác
Cầu là quần áo
Chai, lọ, can
Chống ẩm, khử mùi, xịt phòng các loại
Dụng cụ sửa chữa
Giá gác hành lý
Giá, móc treo quần áo
Giàn phơi
Giỏ, khay, kệ
Hóa phẩm
Lót ly, treo ly, gạt tàn ...
Máy bắt muỗi
Máy tiệt trùng bàn chải, dao cạo râu
Nắp chai, lọ
Phích nước
Sản phẩm dùng một lần
Sản phẩm giấy
Sản phẩm thêu thùa
Thang
Thùng giao hàng
Thùng rác công cộng
Tủ vải
Túi nilon
Võng, Ghế xếp
Xe đẩy hành lý
Xe đẩy phục vụ
Xe đẩy quần áo - dọn phòng
Xe đi chợ
Đồ cho quần áo, giặt giũ
Đồ dùng sinh hoạt khác
Đồ len chỉ
Đồ thủy tinh
Đồ vệ sinh, bàn chải, khăn
Dao đa năng
Ruột phích
Trang chủ
>
Mua sắm
>
Đồ dùng sinh hoạt
>
Các loại đồ khác
>
Đồ dùng sinh hoạt khác
>
Áo trùm máy giặt
Áo trùm máy giặt
Thành thật xin lỗi bạn vì sự cố này
Sản phẩm bạn muốn xem không còn tồn tại trên Vatgia.com
Chúng tôi đã gợi ý một vài sản phẩm liên quan hoặc bạn có thể xem thêm tại danh mục
Đồ dùng sinh hoạt khác
Có thể bạn sẽ thích
82.000₫
Áo trùm máy giặt cửa trên
MinhKhoaShop
·
Hồ Chí Minh
19/04/2016 - 17:03
Xem nhanh
• Loại máy: Máy cưa xương (máy chặt xương)
• Hãng sản xuất: SWEDLINGHAUSS
• Công suât(W): 750
15.500.000₫
Máy cưa xương (máy chặt xương)
7 gian hàng bán
9.851
• Loại máy: Máy làm đá
• Hãng sản xuất: Đang cập nhật
• Công suât(W): 340
850.000₫
Máy nghiền đá tuyết 1a SCALA TG1
9 gian hàng bán
1
3.211
• Loại máy: Máy làm bánh
• Hãng sản xuất: PHILIPS
• Công suât(W): 1000
339.000₫
Máy làm bánh hình thú Philips KK-02
9 gian hàng bán
1.485
• Loại máy: Máy làm tỏi đen
• Hãng sản xuất: TIROSS
• Công suât(W): 90
2.099.000₫
Máy làm tỏi đen Tiross TS904
8 gian hàng bán
2
1.177
Sản phẩm liên quan HOT nhất
120.000₫
Bộ 10 hộp đựng giầy trong suốt
2 gian hàng bán
88
331
129.000₫
Bộ 3 túi đựng chăn màn quần áo cỡ lớn 60 x 42 x 36cm - BQ20
bqvietnam
·
Hà Nội
18/04/2016 - 20:56
Xem nhanh
139.000₫
DỤNG CỤ NHẢ KEM ĐÁNH RĂNG ĐỰNG BÀN CHẢI KÈM 3 CỐC
VIETDEAL
·
Hà Nội
22/04/2016 - 16:26
Xem nhanh
75.000₫
Bộ 2 túi đựng chăn màn, quần áo chống thấm mốc
6 gian hàng bán
519
1.084
110.000₫
Combo 10 hộp đựng giầy trong suốt 2514
2 gian hàng bán
116
454
1
Sản phẩm liên quan mới nhất
50.000₫
Dụng cụ đựng bàn chải, bút viết đa năng
Shop_Pham_Vy
·
Hồ Chí Minh
1 giờ 41 phút trước
Xem nhanh
600.000₫
Chiếu lụa KIKO 2m Việt Nam
magichome
·
Hà Nội
7 giờ 59 phút trước
Xem nhanh
80.000₫
Màng PE 2KG
ctythyanh
·
Hồ Chí Minh
8 giờ 59 phút trước
Xem nhanh
35.000₫
Vỏ bọc máy giặt của trên và cửa ngang và cửa trên
Gicolyvn
·
HN
,
CT
9 giờ 9 phút trước
Xem nhanh
100.000₫
Điều Hoà Mini Quạt Đá 2 Cánh Mát Lạnh - Mini Fan
Shop_Pham_Vy
·
Hồ Chí Minh
Hôm qua, lúc 13:14
Xem nhanh
Mua sắm
>
Đồ dùng sinh hoạt
>
Các loại đồ khác
>
Đồ dùng sinh hoạt khác
(
Đồ dùng sinh hoạt khác
,
do dung sinh hoat khac
)
Trang thông tin, giá cả, cửa hàng bán, bình chọn, hỏi đáp về
Áo trùm máy giặt
trong mục
Đồ dùng sinh hoạt khác
Hỗ trợ vận chuyển
Hỗ trợ thanh toán online
Chấp nhận thanh toán
Kết nối với chúng tôi
Điện thoại, viễn thông
Phụ kiện,thiết bị sửa chữa,...
Mobile
Thiết bị viễn thông
Dịch vụ viễn thông
Máy tính, linh kiện
Máy vi tính
Thiết bị cho máy tính
Máy văn phòng
Linh kiện, phụ kiện Laptop
Điện tử, điện máy
Thiết bị an ninh
Âm thanh
Đồ dùng trong bếp
Hình ảnh
Máy ảnh, máy quay
Thiết bị liên quan
Máy ảnh, máy quay
Dịch vụ chụp, rửa ảnh
Dịch vụ sửa chữa, thẩm định
Ô tô, xe máy, xe đạp
Ô tô (Xe hơi)
Xe máy, phụ tùng xe máy
Phụ tùng ô tô
Đồ chơi ô tô
Công nghiệp, Xây dựng
Thiết bị điện, nước
Xây dựng
Vật tư, thiết bị công nghiệp
Cơ khí chế tạo
Thời trang, phụ kiện
Thời trang nữ
Đồng hồ đeo tay
Thời trang đồ đôi, đồng phục
Thời trang nam
Mẹ & Bé
Đồ dùng cho trẻ
Đồ cho mẹ
Tắm gội, vệ sinh an toàn
Đồ cho bé khi ra ngoài
Sức khỏe, sắc đẹp
Y tế, sức khỏe
Chăm sóc da mặt
Nước hoa - Mỹ phẩm khác
Đồ trang điểm
Đồ dùng sinh hoạt
Đồ dùng nhà bếp, phòng ăn
Các loại đồ khác
Đồ dùng cá nhân
Đồ điện gia dụng
Nội thất, ngoại thất
Nội thất không gian, tổng hợp
Nội thất văn phòng
Nội thất phòng ngủ
Nội thất phòng khách
Sách, văn phòng, quà tặng
Hoa, quà tặng, đồ chơi
Sách
Thiết bị văn phòng
Thiết bị giáo dục
Thể thao
Golf (gôn)
Câu cá
Bóng đá
Tennis
Dịch vụ, giải trí, du lịch
Du lịch
Game, đồ chơi
Băng đĩa phim, phụ kiện
Dịch vụ vận tải, vận chuyển
Thực phẩm, đồ uống
Đồ uống
Bánh kẹo, mứt
Thực phẩm chín, qua chế biến
Thực phẩm tươi sống
Vatgia.com - Sàn giao dịch thương mại điện tử hàng đầu Việt Nam
Mua hàng trực tuyến mang lại sự tiện lợi, chủ động, lựa chọn đa dạng, với các dịch vụ hỗ trợ mua hàng, bán hàng, thanh toán an toàn, giao hàng chuyên nghiệp.
Với phương châm “Luôn đặt mình vào địa vị khách hàng và đối xử trên mong đợi của họ”, Vatgia.com không ngừng nỗ lực, cải tiến đáp ứng nhu cầu mua sắm cho người tiêu dùng.
Vatgia đảm bảo cung cấp đúng thông tin cho đúng người, đúng lúc, đảm bảo thanh toán trực tuyến bảo mật an toàn, áp dụng hình thức vận chuyển nhanh phù hợp.
Rao vặt
|
Hỏi đáp
|
Review - Đánh giá
|
Lưu trữ rao vặt
|
Quà tết
|
Việc làm
|
Dien thoai
|
Laptop
|
Mua ban oto
|
Xe may
|
iPhone 5
|
iPhone 5s
|
iPhone 6
|
iPhone 6 plus
|
iPhone 6s
|
iPhone 6s plus
|
iPhone 4
|
iPhone 4s
|
Điện thoại iphone
|
Galaxy s5
|
Galaxy s6
|
Áo khoác đẹp
|
Áo khoác da
|
Áo khoác nam
|
Giày nam
|
Vest nam
|
Đầm công sở
|
Áo khoác nữ
|
Giày cao gót
|
Bất động sản
|
Cho thue nha
|
Tìm việc
|
Máy lọc nước
|
Cách làm trắng da
|
Sim số đẹp
|
Máy đánh bóng sản phẩm
|
Quạt thông gió công nghiệp
|
Xe nâng
|
Sản phẩm tẩy da chết cho da mặt
|
Phấn nền
|
Máy chà nhám
|
Dịch vụ vận chuyển
|
Bia
|
Phụ kiện nhạc cụ
|
Máy ghi âm
|
Máy in bề mặt
Giới thiệu
|
Hướng dẫn
|
Quy chế hoạt động
|
Chính sách bảo mật thông tin
Công ty Cổ phần Vật Giá Việt Nam. Số GCNDT: 011032001615, cấp ngày 21/06/2012, nơi cấp: UBND thành phố Hà Nội
Trụ sở chính: Lê Đại Hành, Hai Bà Trưng, Hà Nội - Chi nhánh Hồ Chí Minh: Đường Lữ Gia, Phường 15, Quận 11, Hồ Chí Minh
Tài khoản
Yêu thích
Giỏ hàng
Đã xem
Ứng dụng
×

Set-Cookie: u_nologin_id=2668844878; expires=Mon, 08-Aug-2016 15:59:23 GMT; path=/; httponly

Server: Apache/2.2.3 (CentOS)

Content-Type: text/html; charset=UTF-8


text:
tungtong80
16 lượt cảm ơn
minhtu83
1 lượt cảm ơn
baonam84
bangtan
luandh
Báo vi phạm
CongtycophanITC
90.000₫
1.280.000₫
2.950.000₫
bangtan02/02/2010 - 11:42

Set-Cookie: u_nologin_id=2668815414; expires=Mon, 08-Aug-2016 15:28:39 GMT; path=/; httponly