เร่งรัดการยอมรับคำศัพท์ XML

Source page: http://xfront.com/accelerating-adoption-of-XML-vocabularies/

โรเจอร์ลิตรคอสเตลโล/Roger L. Costello

ต้องการเร่งการใช้คำศัพท์ XML ของคุณหรือไม่ วิธีหนึ่งคือการมีกอริลลา 800 ปอนด์บังคับให้ทุกคนใช้มัน แต่นั่นจะส่งผลให้เกิดความขุ่นเคืองและการกบฏในไม่ช้า วิธีที่ดีกว่าคือการสร้างสิ่งที่ผู้คนต้องการใช้จริง ๆ และไม่ต้องการการลงทุนขนาดใหญ่ในเวลาหรือเงินและให้พวกเขาเริ่มทำงานร่วมกันได้ทันที นี่คือวิธี:

  1. เมื่อคุณสร้างคำศัพท์ XML ของคุณให้ระบุไม่เพียง แต่ความหมายของมาร์กอัป แต่ยังรวมถึงพฤติกรรมของมันในแอปพลิเคชันที่ประมวลผล
  2. ระบุกฎความสอดคล้อง
  3. สร้างชุดทดสอบ
  4. สร้างแอปพลิเคชันที่ใช้ลักษณะการทำงาน
  5. ตรวจสอบแอปพลิเคชันกับชุดทดสอบ
  6. ทำให้แอปพลิเคชันพร้อมใช้งานสำหรับคนทั่วโลก

เป็นการดีที่การสร้างแอพพลิเคชั่นหลายอย่างของแอปพลิเคชั่นจะถูกสร้างขึ้น (แต่ละอันมีพฤติกรรมเหมือนกัน ด้วยวิธีนี้ผู้ใช้สามารถเลือกการใช้งานตามประสิทธิภาพหรือขนาดหรือภาษาการเขียนโปรแกรมที่ถูกนำไปใช้งาน

แค่นั้นแหละ! ทำสิ่งนี้และคำศัพท์ XML ของคุณสามารถนำไปใช้อย่างรวดเร็ว

ตัวอย่าง: พิจารณาคำศัพท์ XSLT ข้อมูลจำเพาะ XSLT ไม่เพียง แต่ระบุความหมายของแต่ละองค์ประกอบและคุณสมบัติ แต่ยังรวมถึงพฤติกรรมของพวกเขาด้วย ข้อกำหนด XSLT มีกฎความสอดคล้อง มีชุดทดสอบ XSLT แอปพลิเคชัน – เรียกว่าตัวประมวลผล XSLT ได้ถูกสร้างขึ้นซึ่งใช้ลักษณะการทำงานที่ระบุในข้อมูลจำเพาะ XSLT อันที่จริงมีการสร้างแอพพลิเคชั่นหลายตัวที่สร้างขึ้น: Xalan, Saxon, Sableton และอื่น ๆ

ให้ฉันอธิบายเพิ่มเติมเกี่ยวกับสิ่งที่ฉันหมายถึงโดย “ระบุพฤติกรรม” พิจารณา XSLT อีกครั้ง ข้อมูลจำเพาะ XSLT บอกว่าองค์ประกอบ <xsl:for-each> ระบุชุดของโหนด นั่นคือความหมาย นอกจากนี้ยังกล่าวว่าแอปพลิเคชันที่เข้ากันได้นั้นจะต้องวนซ้ำแต่ละโหนดที่ระบุโดยแอททริบิวต์ select (สำหรับแต่ละองค์ประกอบนั้นมีแอททริบิวต์ เลือก) และดำเนินการองค์ประกอบภายใน <xsl:for-each> นั่นคือพฤติกรรม ดังนั้นข้อมูลจำเพาะ XSLT จะระบุว่าแอปพลิเคชันต้องทำงานอย่างไรในองค์ประกอบ <xsl for-each> เหมือนกันสำหรับคำศัพท์ XSLT ทั้งหมด

ข้อมูลจำเพาะ XML Schema ทำได้ดีในการระบุลักษณะการทำงานของตัวตรวจสอบ XML Schema ตัวอย่างเช่นมันระบุว่าสำหรับการประกาศองค์ประกอบใน XML Schema ผู้ตรวจสอบจะต้องตรวจสอบว่าเอกสารอินสแตนซ์ XML มีจำนวนที่เกิดขึ้นขององค์ประกอบที่ถูกต้องและเนื้อหานั้นเป็นประเภทที่ถูกต้อง ดังนั้นจึงระบุว่าตัวตรวจสอบความถูกต้องจะต้องทำงานอย่างไรกับคำศัพท์ XML Schema ดังนั้นเพื่อ “ระบุพฤติกรรม” หมายถึงการอธิบาย “สำหรับองค์ประกอบนี้ (หรือคุณลักษณะ) ในคำศัพท์แอปพลิเคชันจะต้องทำสิ่งนี้สิ่งนี้และสิ่งนี้”

ความผิดพลาดที่คนทำเมื่อสร้างคำศัพท์ XML คือพวกเขาไม่สามารถระบุพฤติกรรมได้ พวกเขาปล่อยให้เป็น “โลก” เพื่อค้นหาว่าพฤติกรรมควรเป็นอย่างไร ตัวอย่างคลาสสิกของนี่คือ HTML นักพัฒนาเบราว์เซอร์ต้องตัดสินใจว่าพฤติกรรมควรเป็นอย่างไร พวกเขามีแนวคิดที่แตกต่างกันอย่างกว้างขวางเกี่ยวกับพฤติกรรมที่เหมาะสม ผลที่ตามมาก็คือ IE, Firefox และเบราว์เซอร์อื่น ๆ ทั้งหมดนั้นทำงานต่างกัน มันใช้เวลา 10 ปีก่อนที่พวกเขาจะมารวมตัวกันบนความเข้าใจพฤติกรรม หากข้อกำหนดของ HTML ระบุพฤติกรรมให้กฎความสอดคล้องและชุดทดสอบแล้วเราจะมีพฤติกรรมเบราว์เซอร์เหมือนกัน 10 ปีที่ผ่านมา

สิ่งหนึ่งที่คุณต้องพิจารณาเมื่อระบุพฤติกรรมคือ: คำศัพท์ XML ของคุณจะถูกป้อนเข้าสู่แอปพลิเคชันเป็นเอกสาร XML เดียวหรือเป็นเอกสาร XML สองเอกสารหรือไม่ (หรือมากกว่านั้น) ลองมาตัวอย่างเพื่อดูว่าฉันหมายถึงอะไร:

  • แอปพลิเคชั่นเบราว์เซอร์ประมวลผลเอกสารเดียว (เอกสาร HTML)
  • เครื่องมือตรวจสอบ XML Schema ดำเนินการกับเอกสารสองชุด (เอกสาร XML Schema และเอกสาร XML)
  • ตัวประมวลผล XSLT ประมวลผลสองเอกสาร (เอกสาร XSLT และเอกสาร XML)

ในตัวอย่างเหล่านี้แอ็พพลิเคชัน ได้แก่: เบราว์เซอร์ตัวตรวจสอบ XML Schema และตัวประมวลผล XSLT แอปพลิเคชั่นเหล่านี้ประมวลผลคำศัพท์ XML แอปพลิเคชันอาจต้องใช้เอกสารอินพุตหนึ่งเอกสารหรือเอกสารอินพุตสองไฟล์ขึ้นไปทั้งนี้ขึ้นอยู่กับคำศัพท์ XML (หรือมากกว่า).

การทำงานร่วมกันของข้อมูล

ฉันได้ยินบ่อยครั้งว่า “เพื่อให้การทำงานร่วมกันของข้อมูลแต่ละแอปพลิเคชันต้องตีความ/เข้าใจคำศัพท์ XML ในลักษณะเดียวกัน”

จะมีวิธีใดที่ดีกว่าที่จะมั่นใจได้ว่าการตีความ/ความเข้าใจแบบเดียวกันจะดีกว่าการใช้แอปพลิเคชันเดียวกัน!

ด้วยการใช้แอพพลิเคชั่นเดียวกันเราจึงสามารถใช้งานร่วมกันได้ของข้อมูล หมายเหตุ: เมื่อฉันพูดว่า “แอปพลิเคชันเดียวกัน” ฉันหมายถึงชุดของการใช้งาน ดังนั้น Xalan, Saxon และ Sabletron จึงเป็นแอพพลิเคชั่นเดียวกันทั้งหมดซึ่งเป็นโปรเซสเซอร์ XSLT ทั้งหมด ตัวอย่างเช่นการใช้แอปพลิเคชันเดียวกันนั้นไม่ได้หมายความว่าทุกคนใช้ Xalan บุคคลหนึ่งอาจใช้ Xalan อีกคนใช้ Saxon และ Sabletron คนอื่น ไม่เป็นไร; พวกเขาทั้งหมดมีพฤติกรรมเหมือนกัน พวกเขาทั้งหมดปฏิบัติตามกฎ XSLT พวกเขาทั้งหมดผ่านชุดทดสอบ XSLT

นี่คือตัวอย่างเพื่อแสดงให้เห็นว่าการทำงานร่วมกันของข้อมูลทำได้อย่างไรผ่านการใช้งานร่วมกันของแอปพลิเคชันเดียวกัน

ตัวอย่าง: พิจารณา XSLT ฉันสามารถสร้างเอกสาร XSLT และเรียกใช้บนโปรเซสเซอร์ XSLT ของฉัน ฉันสามารถส่งเอกสาร XSLT ให้คุณและคุณเรียกใช้บนโปรเซสเซอร์ XSLT ของคุณ เราได้รับพฤติกรรมเดียวกัน เราเห็นด้วยอย่างสมบูรณ์เกี่ยวกับความหมายขององค์ประกอบ <xsl:for-each> และวิธีการปฏิบัติตน เช่นเดียวกันกับองค์ประกอบและคุณสมบัติอื่น ๆ ทั้งหมดในคำศัพท์ XSLT เราทำงานร่วมกันได้สำเร็จ สิ่งนี้เปิดใช้งานอะไร คำตอบ: สิ่งที่เปิดใช้งานการทำงานร่วมกันคือความจริงที่ว่าเรากำลังใช้แอปพลิเคชันเดียวกัน (อีกครั้งฉันต้องย้ำว่าไม่ได้หมายความว่าเรากำลังใช้แอปพลิเคชั่นเดียวกันคุณอาจใช้ Xalan และฉันอาจใช้ Saxon ไม่เป็นไรพวกมันเป็นทั้งโปรเซสเซอร์ XSLT)

ฉันสามารถสร้างเอกสาร XSLT ที่สองและส่งให้คุณ อีกครั้งเรามีการทำงานร่วมกันที่สมบูรณ์แบบ และเอกสาร XSLT ตัวที่สาม และอื่น ๆ แอปพลิเคชั่นตัวประมวลผล XSLT ช่วยให้การแปลง XSLT ที่แตกต่างกันไม่มีที่สิ้นสุดถูกสร้างแลกเปลี่ยนและดำเนินการด้วยความเข้าใจ/การทำงานร่วมกันที่สมบูรณ์แบบ

ปะยางรถ

นี่คือประเด็นหลัก:

  1. เมื่อคุณสร้างคำศัพท์ XML ให้ระบุพฤติกรรมของคำศัพท์ XML ระบุข้อกำหนดความสอดคล้อง สร้างชุดทดสอบ ใช้งานแอพพลิเคชั่นที่สอดคล้องกันซึ่งแต่ละตัวมีพฤติกรรมเดียวกัน (การใช้งานอาจแตกต่างกันในขนาดประสิทธิภาพภาษาการเขียนโปรแกรม ฯลฯ ) ทุกคนใช้การใช้งาน
  2. ความสามารถในการทำงานร่วมกันของข้อมูลไม่เกิดขึ้นจากความเข้าใจร่วมกันของคำศัพท์ XML การทำงานร่วมกันของข้อมูลทำได้โดยการใช้งานร่วมกันของแอปพลิเคชันคำศัพท์ XML
  3. การสร้างคำศัพท์ XML โดยไม่ระบุพฤติกรรมเป็นความคิดที่ไม่ดี มันเป็นสูตรสำหรับการทำงานร่วมกันของข้อมูลล่าช้าที่ดีที่สุดการทำงานร่วมกันของข้อมูลที่ล้มเหลวที่เลวร้ายที่สุด

แก้ไขล่าสุด: 25 ธันวาคม 2019