JavaRush /จาวาบล็อก /Random-TH /XML Basics สำหรับ Java Programmer - ตอนที่ 1 จาก 3
Ярослав
ระดับ
Днепр

XML Basics สำหรับ Java Programmer - ตอนที่ 1 จาก 3

เผยแพร่ในกลุ่ม
XML เป็นรูปแบบที่ได้รับความนิยมและยืดหยุ่นในปัจจุบัน โปรแกรมเมอร์ทุกคนควรเข้าใจ มันเป็นสิ่งที่ต้องมี ทุกวันนี้มีเทคโนโลยีมากมายที่เชื่อมโยงกัน พวกเขาใช้งานมันอย่างแข็งขัน และยังมีเทคโนโลยีสมัยใหม่อยู่ด้วย
XML Basics สำหรับ Java Programmer - ส่วนที่ 1 จาก 3 - 1

การแนะนำ

สวัสดีผู้อ่านบทความของฉัน ฉันอยากจะบอกทันทีว่านี่เป็นเพียงบทความแรกในชุดบทความสามบทความของฉัน เป้าหมายหลักของซีรีส์ทั้งหมดคือเพื่อเริ่มผู้อ่านแต่ละคนเข้าสู่ XML และให้คำอธิบายและความเข้าใจที่ไม่สมบูรณ์ อย่างน้อยก็ช่วยผลักดันให้ดี โดยอธิบายประเด็นหลักและสิ่งต่างๆ รอบทั้งหมดจะมีไว้สำหรับการเสนอชื่อครั้งเดียว - "ใส่ใจในรายละเอียด"และแบ่งออกเป็น 3 บทความเพื่อให้พอดีกับจำนวนอักขระสูงสุดในโพสต์และแบ่งเนื้อหาจำนวนมากออกเป็นส่วนเล็ก ๆ เพื่อความเข้าใจที่มากขึ้น บทความแรกจะกล่าวถึง XML เองว่าคืออะไรรวมถึงวิธีหนึ่งในการสร้างสคีมาสำหรับไฟล์ XML - DTD ขั้นแรก ฉันต้องการสร้างคำนำเล็กๆ น้อยๆ สำหรับผู้ที่ยังไม่คุ้นเคยกับ XML: ไม่จำเป็นต้องกลัว XML นั้นไม่ซับซ้อนมากนัก และโปรแกรมเมอร์ทุกคนควรเข้าใจ เนื่องจากเป็นรูปแบบไฟล์ที่มีความยืดหยุ่น มีประสิทธิภาพ และเป็นที่นิยมในปัจจุบันสำหรับการจัดเก็บข้อมูลที่หลากหลายที่คุณต้องการ XML ใช้ใน Ant, Maven, Spring โปรแกรมเมอร์ทุกคนต้องการความรู้เกี่ยวกับ XML ตอนนี้คุณได้รวบรวมความเข้มแข็งและแรงบันดาลใจแล้ว เรามาเริ่มเรียนกันดีกว่า ฉันจะพยายามจัดวางเนื้อหาทั้งหมดให้เรียบง่ายที่สุด รวบรวมเฉพาะสิ่งที่สำคัญที่สุดและไม่เข้าไปในวัชพืช

XML

เพื่อคำอธิบายที่ชัดเจนยิ่งขึ้น การแสดงภาพ XML พร้อมตัวอย่างจะดีกว่า
<?xml version="1.0" encoding="UTF-8"?>
<company>
    <name>IT-Heaven</name>
    <offices>
        <office floor="1" room="1">
            <employees>
                <employee>
                    <name>Maksim</name>
                    <job>Middle Software Developer</job>
                </employee>
                <employee>
                    <name>Ivan</name>
                    <job>Junior Software Developer</job>
                </employee>
                <employee>
                    <name>Franklin</name>
                    <job>Junior Software Developer</job>
                </employee>
            </employees>
        </office>
        <office floor="1" room="2">
            <employees>
                <employee>
                    <name>Herald</name>
                    <job>Middle Software Developer</job>
                </employee>
                <employee>
                    <name>Adam</name>
                    <job>Middle Software Developer</job>
                </employee>
                <employee>
                    <name>Leroy</name>
                    <job>Junior Software Developer</job>
                </employee>
            </employees>
        </office>
    </offices>
</company>
HTML และ XML มีความคล้ายคลึงกันในรูปแบบไวยากรณ์เนื่องจากมีพาเรนต์ร่วมกัน - SGML อย่างไรก็ตาม ใน HTML มีเพียงแท็กคงที่ของมาตรฐานเฉพาะ ในขณะที่ใน XML คุณสามารถสร้างแท็ก แอตทริบิวต์ของคุณเอง และโดยทั่วไป ทำทุกอย่างที่คุณต้องการจัดเก็บข้อมูลในแบบที่เหมาะกับคุณ ในความเป็นจริงแล้ว ใครก็ตามที่รู้ภาษาอังกฤษสามารถอ่านไฟล์ XML ได้ ตัวอย่างนี้สามารถอธิบายได้โดยใช้ต้นไม้ XML Basics สำหรับ Java Programmer - ส่วนที่ 1 จาก 3 - 2รากของต้นไม้คือบริษัท นอกจากนี้ยังเป็นองค์ประกอบราก (root) ซึ่งเป็นที่มาขององค์ประกอบอื่น ๆ ทั้งหมด ไฟล์ XML แต่ละไฟล์สามารถมีองค์ประกอบรากได้เพียงองค์ประกอบเดียวเท่านั้น จะต้องประกาศหลังจากการประกาศไฟล์ xml (บรรทัดแรกในตัวอย่าง) และมีองค์ประกอบอื่นๆ ทั้งหมด เล็กน้อยเกี่ยวกับการประกาศ: เป็นข้อบังคับและจำเป็นในการระบุเอกสารเป็น XML มีแอตทริบิวต์หลอกสามแบบ (คุณลักษณะพิเศษที่กำหนดไว้ล่วงหน้า): รุ่น (ตามมาตรฐาน 1.0) การเข้ารหัส (การเข้ารหัส) และแบบสแตนด์อโลน (เอกราช: ถ้าใช่และโครงร่างภายนอกเชื่อมต่อกับเอกสารแล้วจะมีข้อผิดพลาด ค่าเริ่มต้น คือไม่) องค์ประกอบคือเอนทิตีที่จัดเก็บข้อมูลโดยใช้องค์ประกอบและคุณลักษณะอื่นๆ แอตทริบิวต์เป็นข้อมูลเพิ่มเติมเกี่ยวกับองค์ประกอบที่ระบุเมื่อเพิ่มองค์ประกอบ หากเราแปลคำอธิบายลงในช่อง OOP เราสามารถยกตัวอย่างต่อไปนี้: เรามีรถยนต์ รถแต่ละคันมีลักษณะเฉพาะ (สี ความจุ ยี่ห้อ ฯลฯ) สิ่งเหล่านี้คือคุณลักษณะ และมีเอนทิตีที่อยู่ภายในรถ : ประตู,หน้าต่าง,เครื่องยนต์,พวงมาลัยเป็นองค์ประกอบอื่นๆ คุณสามารถจัดเก็บคุณสมบัติเป็นองค์ประกอบเดี่ยวๆ หรือเป็นคุณลักษณะก็ได้ ขึ้นอยู่กับความต้องการของคุณ ท้ายที่สุดแล้ว XML เป็นรูปแบบที่ยืดหยุ่นอย่างมากในการจัดเก็บข้อมูลเกี่ยวกับอะไรก็ได้ หลังจากการอธิบาย เราแค่ต้องดูตัวอย่างด้านบนเพื่อให้ทุกอย่างเข้าที่ ในตัวอย่างนี้ เราได้อธิบายโครงสร้างบริษัทที่เรียบง่าย: มีบริษัทที่มีชื่อและสำนักงาน และในสำนักงานก็มีพนักงาน องค์ประกอบพนักงานและสำนักงานเป็นองค์ประกอบแบบ wrapper ซึ่งทำหน้าที่รวบรวมองค์ประกอบประเภทเดียวกัน โดยพื้นฐานแล้วจะรวมองค์ประกอบเหล่านั้นไว้ในชุดเดียวเพื่อความสะดวกในการประมวลผล พื้นและห้องสมควรได้รับความสนใจเป็นพิเศษ สิ่งเหล่านี้คือคุณลักษณะของสำนักงาน (ชั้นและหมายเลข) หรืออีกนัยหนึ่งคือคุณสมบัติของสำนักงาน หากเรามีองค์ประกอบ "รูปภาพ" เราก็สามารถถ่ายโอนมิติของมันได้ คุณอาจสังเกตเห็นว่าบริษัทไม่มีแอตทริบิวต์ชื่อ แต่มีองค์ประกอบชื่อ คุณสามารถอธิบายโครงสร้างได้ตามที่คุณต้องการ ไม่มีใครบังคับให้คุณเขียนคุณสมบัติทั้งหมดขององค์ประกอบเฉพาะในแอตทริบิวต์ คุณสามารถใช้เพียงองค์ประกอบและเขียนข้อมูลบางส่วนภายในองค์ประกอบเหล่านั้นได้ ตัวอย่างเช่น เราสามารถบันทึกชื่อและตำแหน่งของพนักงานของเราเป็นคุณลักษณะ:
<?xml version="1.0" encoding="UTF-8"?>
<company>
    <name>IT-Heaven</name>
    <offices>
        <office floor="1" room="1">
            <employees>
                <employee name="Maksim" job="Middle Software Developer">

                </employee>
                <employee name="Ivan" job="Junior Software Developer">

                </employee>
                <employee name="Franklin" job="Junior Software Developer">

                </employee>
            </employees>
        </office>
        <office floor="1" room="2">
            <employees>
                <employee name="Herald" job="Middle Software Developer">

                </employee>
                <employee name="Adam" job="Middle Software Developer">

                </employee>
                <employee name="Leroy" job="Junior Software Developer">

                </employee>
            </employees>
        </office>
    </offices>
</company>
อย่างที่คุณเห็นตอนนี้ชื่อและตำแหน่งของพนักงานแต่ละคนเป็นคุณลักษณะของเขา และคุณจะสังเกตได้ว่าไม่มีสิ่งใดในเอนทิตีพนักงาน (แท็ก) องค์ประกอบพนักงานทั้งหมดว่างเปล่า จากนั้น คุณสามารถทำให้พนักงานเป็นองค์ประกอบว่างได้ - ปิดทันทีหลังจากประกาศแอตทริบิวต์ ทำได้ค่อนข้างง่าย เพียงเพิ่มเครื่องหมายทับ:
<?xml version="1.0" encoding="UTF-8"?>
<company>
    <name>IT-Heaven</name>
    <offices>
        <office floor="1" room="1">
            <employees>
                <employee name="Maksim" job="Middle Software Developer" />
                <employee name="Ivan" job="Junior Software Developer" />
                <employee name="Franklin" job="Junior Software Developer" />
            </employees>
        </office>
        <office floor="1" room="2">
            <employees>
                <employee name="Herald" job="Middle Software Developer" />
                <employee name="Adam" job="Middle Software Developer" />
                <employee name="Leroy" job="Junior Software Developer" />
            </employees>
        </office>
    </offices>
</company>
อย่างที่คุณเห็น การปิดองค์ประกอบที่ว่างเปล่า เราได้รักษาความสมบูรณ์ของข้อมูลทั้งหมด และทำให้บันทึกสั้นลงอย่างมาก ทำให้ข้อมูลกระชับและอ่านง่ายขึ้น หากต้องการเพิ่มความคิดเห็น (ข้อความที่จะถูกข้ามเมื่อแยกวิเคราะห์ไฟล์) ใน XML จะมีไวยากรณ์ดังต่อไปนี้:
<!-- Ivan недавно уволился, только неделю отработать должен. Не забудьте потом удалить его из списка.-->
และโครงสร้างสุดท้ายคือCDATAซึ่งหมายถึง "ข้อมูลตัวอักษร" ด้วยการออกแบบนี้ คุณจึงสามารถเขียนข้อความที่จะไม่ถูกตีความว่าเป็นมาร์กอัป XML ได้ สิ่งนี้มีประโยชน์หากคุณมีเอนทิตีภายในไฟล์ XML ที่เก็บมาร์กอัป XML ไว้ในข้อมูล ตัวอย่าง:
<?xml version="1.0" encoding="UTF-8" ?>
<bean>
    <information>
        <![CDATA[<name>Ivan</name><age>26</age>]]>
    </information>
</bean>
สิ่งสำคัญเกี่ยวกับ XML ก็คือ คุณสามารถขยายได้ตามที่คุณต้องการ: ใช้องค์ประกอบของคุณเอง คุณลักษณะของคุณเอง และจัดโครงสร้างตามที่คุณต้องการ คุณสามารถใช้ทั้งแอตทริบิวต์และองค์ประกอบในการจัดเก็บข้อมูล (ดังแสดงในตัวอย่างก่อนหน้านี้) อย่างไรก็ตาม คุณต้องเข้าใจว่าคุณสามารถสร้างองค์ประกอบและคุณลักษณะของคุณเองได้ทันทีและตามที่คุณต้องการ แต่จะเกิดอะไรขึ้นหากคุณทำงานในโครงการที่โปรแกรมเมอร์คนอื่นต้องการย้ายองค์ประกอบชื่อไปยังแอตทริบิวต์ และตรรกะของโปรแกรมทั้งหมดของคุณ ถูกเขียนเพื่อให้ชื่อนั้นเป็นองค์ประกอบ? คุณจะสร้างกฎของคุณเองเกี่ยวกับองค์ประกอบที่ควรเป็น คุณลักษณะใดบ้างที่องค์ประกอบเหล่านั้นมี และสิ่งอื่นๆ เพื่อให้คุณสามารถตรวจสอบไฟล์ XML และให้แน่ใจว่ากฎจะกลายเป็นมาตรฐานในโครงการของคุณและจะไม่มีใครละเมิดกฎเหล่านั้น เพื่อที่จะเขียนกฎทั้งหมดของมาร์กอัป XML ของคุณเอง มีเครื่องมือพิเศษ ที่มีชื่อเสียงที่สุด: DTD และ XML Schema บทความนี้จะพูดถึงเฉพาะเรื่องแรกเท่านั้น

ดีทีดี

DTD ถูกสร้างขึ้นเพื่ออธิบายประเภทของเอกสาร DTD ล้าสมัยไปแล้วและกำลังถูกละทิ้งไปใน XML แต่ก็ยังมีไฟล์ XML จำนวนมากที่ใช้ DTD และโดยทั่วไปแล้ว การทำความเข้าใจจะเป็นประโยชน์ DTD เป็นเทคโนโลยีสำหรับการตรวจสอบเอกสาร XML DTD ประกาศกฎเฉพาะสำหรับประเภทเอกสาร: องค์ประกอบ องค์ประกอบใดที่สามารถอยู่ภายในองค์ประกอบ คุณลักษณะ ไม่ว่าจะจำเป็นหรือไม่ก็ตาม จำนวนการทำซ้ำ รวมถึงเอนทิตี เช่นเดียวกับ XML สามารถมองเห็น DTD พร้อมตัวอย่างเพื่อคำอธิบายที่ชัดเจนยิ่งขึ้น
<!-- Объявление возможных элементов -->
<!ELEMENT employee EMPTY>
<!ELEMENT employees (employee+)>
<!ELEMENT office (employees)>
<!ELEMENT offices (office+)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT company (name, offices)>

<!-- Добавление атрибутов для элементов employee и office -->
<!ATTLIST employee
        name CDATA #REQUIRED
        job  CDATA #REQUIRED
>

<!ATTLIST office
        floor CDATA #REQUIRED
        room  CDATA #REQUIRED
>

<!-- Добавление сущностей -->
<!ENTITY M "Maksim">
<!ENTITY I "Ivan">
<!ENTITY F "Franklin">
เรามีตัวอย่างง่ายๆ ที่นี่ ในตัวอย่างนี้ เราประกาศลำดับชั้นทั้งหมดของเราจากตัวอย่าง XML: พนักงาน พนักงาน สำนักงาน สำนักงาน ชื่อ บริษัท ในการสร้างไฟล์ DTD มีโครงสร้างหลัก 3 โครงสร้างที่ใช้อธิบายไฟล์ XML ใดๆ: ELEMENT (เพื่ออธิบายองค์ประกอบ), ATTLIST (เพื่ออธิบายคุณลักษณะขององค์ประกอบ) และ ENTITY (เพื่อแทนที่ข้อความด้วยรูปแบบย่อ) ELEMENT ใช้เพื่ออธิบายองค์ประกอบ องค์ประกอบที่สามารถใช้ได้ภายในองค์ประกอบที่อธิบายไว้จะแสดงอยู่ในวงเล็บในรูปแบบรายการ คุณสามารถใช้ปริมาณเพื่อระบุปริมาณได้ (คล้ายกับปริมาณจากนิพจน์ทั่วไป): +หมายถึง1+ *หมายถึง0+ ?หมายถึง0หรือ1 หากไม่ได้เพิ่มปริมาณ จะถือว่าควรมีองค์ประกอบเพียง 1 รายการ หากเราต้องการองค์ประกอบกลุ่มใดกลุ่มหนึ่ง เราก็สามารถเขียนได้ดังนี้:
<!ELEMENT company ((name | offices))>
จากนั้นองค์ประกอบหนึ่งจะถูกเลือก: ชื่อหรือสำนักงาน แต่ถ้ามีสององค์ประกอบภายในบริษัท การตรวจสอบจะไม่ผ่าน คุณสามารถสังเกตได้ว่าในพนักงานมีคำว่า EMPTY ซึ่งหมายความว่าองค์ประกอบจะต้องว่างเปล่า นอกจากนี้ยังมีองค์ประกอบใด ๆ #PCDATA – ข้อมูลข้อความ ATTLIST ใช้เพื่อเพิ่มแอตทริบิวต์ให้กับองค์ประกอบ หลังจาก ATTLIST ตามด้วยชื่อขององค์ประกอบที่ต้องการ และหลังจากนั้นจะมีพจนานุกรมในรูปแบบ "ชื่อแอตทริบิวต์ - ประเภทแอตทริบิวต์" และในตอนท้ายคุณสามารถเพิ่ม #IMPLIED (ตัวเลือก) หรือ #REQUIRED (จำเป็น) CDATA – ข้อมูลข้อความ มีประเภทอื่น ๆ แต่เป็นตัวพิมพ์เล็กทั้งหมด ENTITY ENTITY ใช้เพื่อประกาศคำย่อและข้อความที่จะวางไว้ ที่จริงแล้ว เราจะสามารถใช้ในรูปแบบ XML แทนข้อความแบบเต็มได้ เพียงแค่ชื่อของเอนทิตีที่มีเครื่องหมาย & นำหน้า และ ; หลังจาก. ตัวอย่างเช่น เพื่อแยกความแตกต่างระหว่างมาร์กอัป HTML และเฉพาะอักขระ วงเล็บมุมซ้ายมักจะใช้อักขระหลีกด้วย lt; คุณเพียงแค่ต้องใส่ & ก่อน lt จากนั้นเราจะไม่ใช้มาร์กอัป แต่ใช้เพียงสัญลักษณ์ < อย่างที่คุณเห็น ทุกอย่างค่อนข้างง่าย: คุณประกาศองค์ประกอบ อธิบายว่าองค์ประกอบใดที่องค์ประกอบที่ประกาศสามารถบรรจุได้ เพิ่มแอตทริบิวต์ให้กับองค์ประกอบเหล่านี้ และหากต้องการ คุณสามารถเพิ่มเอนทิตีเพื่อทำให้รายการบางรายการสั้นลง และที่นี่คุณจะต้องถาม: จะใช้กฎของเราในไฟล์ XML ของเราได้อย่างไร ท้ายที่สุดแล้ว เราเพียงประกาศกฎ แต่เราไม่ได้ใช้กฎเหล่านั้นใน XML มีสองวิธีในการใช้งานใน XML: 1. การฝัง - การเขียนกฎ DTD ภายในไฟล์ XML นั้นเอง เพียงเขียนองค์ประกอบรูทหลังคีย์เวิร์ด DOCTYPE และใส่ไฟล์ DTD ของเราไว้ในวงเล็บเหลี่ยม
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE company [
        <!-- Объявление возможных элементов -->
        <!ELEMENT employee EMPTY>
        <!ELEMENT employees (employee+)>
        <!ELEMENT office (employees)>
        <!ELEMENT offices (office+)>
        <!ELEMENT name (#PCDATA)>
        <!ELEMENT company (name, offices)>

        <!-- Добавление атрибутов для элементов employee и office -->
        <!ATTLIST employee
        name CDATA #REQUIRED
        job  CDATA #REQUIRED
        >

        <!ATTLIST office
        floor CDATA #REQUIRED
        room  CDATA #REQUIRED
        >

        <!-- Добавление сущностей -->
        <!ENTITY M "Maksim">
        <!ENTITY I "Ivan">
        <!ENTITY F "Franklin">
]>

<company>
    <name>IT-Heaven</name>
    <!-- Ivan недавно уволился, только неделю отработать должен. Не забудьте потом удалить его из списка.-->
    <offices>
        <office floor="1" room="1">
            <employees>
                <employee name="&M;" job="Middle Software Developer" />
                <employee name="&I;" job="Junior Software Developer" />
                <employee name="&F;" job="Junior Software Developer" />
            </employees>
        </office>
        <office floor="1" room="2">
            <employees>
                <employee name="Herald" job="Middle Software Developer" />
                <employee name="Adam" job="Middle Software Developer" />
                <employee name="Leroy" job="Junior Software Developer" />
            </employees>
        </office>
    </offices>
</company>
2. นำเข้า - เราเขียนกฎทั้งหมดของเราในไฟล์ DTD แยกต่างหาก หลังจากนั้นในไฟล์ XML เราใช้โครงสร้าง DOCTYPE จากวิธีแรก แทนที่จะใช้วงเล็บเหลี่ยมเท่านั้นที่คุณต้องเขียน SYSTEM และระบุเส้นทางสัมบูรณ์หรือสัมพัทธ์ไปยัง ตำแหน่งปัจจุบันของไฟล์
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE company SYSTEM "dtd_example1.dtd">

<company>
    <name>IT-Heaven</name>
    <!-- Ivan недавно уволился, только неделю отработать должен. Не забудьте потом удалить его из списка.-->
    <offices>
        <office floor="1" room="1">
            <employees>
                <employee name="&M;" job="Middle Software Developer" />
                <employee name="&I;" job="Junior Software Developer" />
                <employee name="&F;" job="Junior Software Developer" />
            </employees>
        </office>
        <office floor="1" room="2">
            <employees>
                <employee name="Herald" job="Middle Software Developer" />
                <employee name="Adam" job="Middle Software Developer" />
                <employee name="Leroy" job="Junior Software Developer" />
            </employees>
        </office>
    </offices>
</company>
คุณยังสามารถใช้คีย์เวิร์ด PUBLIC แทน SYSTEM ได้ แต่ก็ไม่น่าจะมีประโยชน์สำหรับคุณ หากคุณสนใจ คุณสามารถอ่านรายละเอียดเกี่ยวกับเรื่องนี้ (และเกี่ยวกับ SYSTEM ด้วย) ได้ที่นี่: ลิงก์ ตอนนี้เราไม่สามารถใช้องค์ประกอบอื่นๆ โดยไม่ประกาศใน DTD และ XML ทั้งหมดอยู่ภายใต้กฎของเรา คุณสามารถลองเขียนโค้ดนี้ใน IntelliJ IDEA ในไฟล์แยกต่างหากที่มีนามสกุล .xml และลองเพิ่มองค์ประกอบใหม่บางส่วนหรือลบองค์ประกอบออกจาก DTD ของเรา และสังเกตว่า IDE จะแสดงข้อผิดพลาดให้กับคุณอย่างไร อย่างไรก็ตาม DTD มีข้อเสีย:
  • มีไวยากรณ์ของตัวเอง แตกต่างจากไวยากรณ์ xml
  • DTD ไม่มีการตรวจสอบประเภทข้อมูลและสามารถมีได้เฉพาะสตริงเท่านั้น
  • ไม่มีเนมสเปซใน DTD
เกี่ยวกับปัญหาไวยากรณ์ของคุณเอง: คุณต้องเข้าใจสองไวยากรณ์พร้อมกัน: ไวยากรณ์ XML และ DTD พวกมันแตกต่างและอาจทำให้คุณสับสน ด้วยเหตุนี้ การติดตามข้อผิดพลาดในไฟล์ XML ขนาดใหญ่ร่วมกับสคีมา DTD เดียวกันจึงทำได้ยากยิ่งขึ้น หากมีบางอย่างใช้ไม่ได้สำหรับคุณ คุณจะต้องตรวจสอบข้อความจำนวนมากที่มีไวยากรณ์ต่างกัน เหมือนกับการอ่านหนังสือสองเล่มในเวลาเดียวกัน: ในภาษารัสเซียและภาษาอังกฤษ และถ้าความรู้ภาษาหนึ่งของคุณแย่กว่านั้น การทำความเข้าใจข้อความก็จะยากพอๆ กัน เกี่ยวกับปัญหาของการตรวจสอบประเภทข้อมูล: แอ็ตทริบิวต์ใน DTD มีประเภทที่แตกต่างกัน แต่ทั้งหมดล้วนเป็นแกนหลักในการแสดงสตริงของบางสิ่ง รายการ หรือลิงก์ อย่างไรก็ตาม คุณไม่สามารถเรียกร้องเฉพาะตัวเลขได้ และโดยเฉพาะอย่างยิ่ง ไม่ต้องการจำนวนบวกหรือลบ และคุณสามารถลืมประเภทวัตถุไปได้เลย ปัญหาสุดท้ายจะกล่าวถึงในบทความถัดไป ซึ่งจะกล่าวถึงเนมสเปซและสกีมา XML เนื่องจากการพูดคุยในที่นี้ไม่มีจุดหมาย ขอขอบคุณทุกท่านที่ให้ความสนใจ ฉันทำงานหนักมากและยังคงทำต่อไปเพื่อให้บทความทั้งชุดเสร็จตรงเวลา โดยพื้นฐานแล้ว ฉันแค่ต้องหาสคีมา XML และหาคำอธิบายด้วยถ้อยคำที่ชัดเจนเพื่อจบบทความที่ 2 ดำเนินการไปแล้วครึ่งหนึ่งแล้ว ดังนั้นคุณสามารถคาดหวังได้เร็วๆ นี้ บทความสุดท้ายจะเน้นไปที่การทำงานกับไฟล์ XML โดยใช้ Java ทั้งหมด ขอให้ทุกคนโชคดีและประสบความสำเร็จในการเขียนโปรแกรม :) บทความถัดไป: [การแข่งขัน] ข้อมูลพื้นฐานเกี่ยวกับ XML สำหรับโปรแกรมเมอร์ Java - ส่วนที่ 2 จาก 3
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION