XAML เป็นส่วนหนึ่งของ XML หนึ่งในประโยชน์หลักของการอ้างอิง XAML บน XML คือว่าสามารถแยกวิเคราะห์ด้วยเครื่องมือที่มีอยู่ และในระดับมากถึงแม้ว่าค่าแอตทริบิวต์ (syntactically non-trivial) จะยังคงอยู่ในรูปแบบข้อความและต้องการการแยกวิเคราะห์เพิ่มเติม
มีสองทางเลือกหลักในการอธิบาย GUI ในภาษาที่ได้จาก XML หนึ่งคือการทำสิ่งที่ WinForms ทำและอธิบายด้วยรหัสจริง มีปัญหามากมายเกี่ยวกับสิ่งนี้แม้ว่าจะไม่ได้ประโยชน์อย่างสมบูรณ์ ( คำถามเพื่อเปรียบเทียบ XAML กับแนวทางนี้ ) ทางเลือกที่สำคัญอื่น ๆ คือการออกแบบไวยากรณ์ใหม่ทั้งหมดที่ปรับแต่งเป็นพิเศษสำหรับงานในมือ นี้เป็นที่รู้จักกันโดยทั่วไปเป็นโดเมนภาษาเฉพาะ
ดังนั้นในความเข้าใจย้อนหลังและเป็นบทเรียนสำหรับคนรุ่นต่อไปในอนาคตมันเป็นความคิดที่ดีที่จะยึด XAML บน XML หรือจะดีกว่าในฐานะภาษาเฉพาะโดเมนที่ออกแบบเองหรือไม่? หากเราออกแบบกรอบ UI ที่ดียิ่งขึ้นเราควรเลือก XML หรือ DSL ที่กำหนดเองหรือไม่
เนื่องจากเป็นการง่ายกว่าที่จะคิดในแง่บวกเกี่ยวกับสภาพที่เป็นอยู่โดยเฉพาะอย่างยิ่งสิ่งที่ชุมชนชื่นชอบมากฉันจะให้เหตุผลบางอย่างเกี่ยวกับสาเหตุที่การสร้างส่วนบนของ XML อาจถือเป็นข้อผิดพลาด
การแยกภาษาออกจาก XML มีสิ่งหนึ่งเกิดขึ้น: แยกวิเคราะห์ได้ง่ายกว่า (ตัวแยกวิเคราะห์หลักมีอยู่แล้ว) ต้องการงานออกแบบที่น้อยกว่ามาก
แต่ภาษาที่เกิดขึ้นอาจไม่เป็นที่พอใจในหลาย ๆ ด้าน มันค่อนข้าง verbose หากคุณเปลี่ยนประเภทของบางสิ่งคุณต้องเปลี่ยนในแท็กปิด มีการสนับสนุนที่ไม่ดีสำหรับความคิดเห็น เป็นไปไม่ได้ที่จะออกความเห็นเกี่ยวกับคุณลักษณะ มีข้อ จำกัด เกี่ยวกับเนื้อหาของแอตทริบิวต์โดย XML ส่วนขยายมาร์กอัปจะต้องมีการสร้าง "ด้านบน" ของไวยากรณ์ XML ซึ่งไม่ได้รวมอยู่ในนั้นอย่างลึกซึ้ง และรายการโปรดส่วนตัวของฉันหากคุณตั้งค่าบางอย่างผ่านแอททริบิวคุณจะใช้ไวยากรณ์ต่างกันโดยสิ้นเชิงกว่าถ้าคุณตั้งค่าสิ่งเดียวกันกับคุณสมบัติเนื้อหา
มีการกล่าวอีกว่าเนื่องจากทุกคนรู้จัก XML จึงจำเป็นต้องเรียนรู้น้อย การพูดอย่างเคร่งครัดนี้เป็นความจริง แต่การเรียนรู้ไวยากรณ์เป็นส่วนเล็ก ๆ ของเวลาที่ใช้ในการเรียนรู้กรอบ UI ใหม่ เป็นแนวคิดของกรอบงานที่ทำให้เส้นโค้งชัน นอกจากนี้สำนวนของภาษาที่ใช้ XML อาจเพิ่มลงในตะกร้า "ต้องการเรียนรู้"
ข้อเสียเหล่านี้มีน้ำหนักเกินกว่าความสะดวกในการแยกวิเคราะห์หรือไม่ เฟรมเวิร์กสุดเจ๋งต่อไปควรดำเนินต่อไปตามประเพณีหรือใช้เวลาในการออกแบบ DSL ที่ยอดเยี่ยมซึ่งไม่สามารถแยกวิเคราะห์ได้ด้วยเครื่องมือที่มีอยู่และทุกคนต้องเรียนรู้ไวยากรณ์
PS ไม่ใช่ทุกคนที่สับสนXAMLและWPFแต่บางคนก็ทำ XAML เป็นสิ่งที่คล้ายกับ XML WPF เป็นเฟรมเวิร์กที่รองรับการเชื่อมโยงการเร่งฮาร์ดแวร์และสิ่งดีๆอื่น ๆ อีกมากมาย