Który zapis jest poprawny?

0

Treść zadania:
Tworzenie i modyfikacja dokumentu XML
a. Pobierz z kursu dokument XML o nazwie ShoppingList.xml zawierający
wykaz produktów, które należy zakupić. Zwróć uwagę na strukturę
dokumentu.
b. Wybierz 3 dowolne napoje i dopisz je do listy zakupów. Napoje umieść w
oddzielnym elemencie o nazwie “beverages”.
c. Wyświetl zmodyfikowany dokument w przeglądarce internetowej. Rozwiń
(expand), a następnie zwiń (collapse) wszystkie kategorie produktów
żywnościowych, które należy zakupić (meat, vegetables, dairy, beverages).
d. Dokonaj modyfikacji dokumentu XML. Usuń wszystkie elementy zawierające
kategorie produktów (meat, vegetables, dairy, beverages) natomiast
kategorię produktu umieść jako atrybut elementu “product”, np.

<product category="”meat”">...</product>

Wyświetl tak zmodyfikowany dokument w przeglądarce internetowej.

<?xml version="1.0" encoding="utf-8" ?>
<ShoppingList>
    <meat>
        <product>
            <name>ham</name>
            <quantity unit="kg">0.5</quantity>
        </product>
    </meat>
    <vegetables>
        <product>
            <name>green beans</name>
            <quantity unit="kg">1</quantity>
        </product>
        <product>
            <name>potatoes</name>
            <quantity unit="kg">2</quantity>
        </product>  
    </vegetables>
    <dairy>
        <product>
            <name>cheese</name>
            <quantity unit="kg">0.2</quantity>
        </product>
        <product>
            <name>eggs</name>
            <quantity unit="pcs">10</quantity>
        </product>
    </dairy>
    <beverages>
        <name>Pepsi</name>
        <name>Sprite</name>
        <name>Coca-Cola</name>
    </beverages>
</ShoppingList>

Czy tak powinno być?


    <beverages>
        <name>Pepsi</name>
    </beverages>
    <beverages>
        <name>Sprite</name>
    </beverages>
    <beverages>
        <name>Coca-Cola</name>
    </beverages>

A może jeszcze inaczej? Jak zapisać to poprawnie?

0

Jeżeli dobrze rozumiem zadanie, to źle.

b) powinno wyglądać tak:

<ShoppingList>  
        ....

    <beverages>
                <product>
            <name>Pepsi</name>
        </product>
        <product>
                        <name>Sprite</name>
        </product>
                <product>
            <name>Coca-Cola</name>
        </product>
    </beverages>
</ShoppingList>

(bez innych produktów)

natomiast d) każe zrobić atrybuty zamiast elementów grupujących:

<ShoppingList>  
    <product category="meat">
        <name>ham</name>
        <quantity unit="kg">0.5</quantity>
    </product>

    ...

    <product category="beverages">
        <name>Pepsi</name>
    </product>
    <product category="beverages">
        <name>Sprite</name>
    </product>
    <product category="beverages">
        <name>Coca-Cola</name>
    </product>

</ShoppingList>

Twój pierwszy kod jest zły, bo wszystkie inne produkty mają element <product> i dopiero w nim jest element <name>, drugie rozwiązanie jest złe, bo jest bez sensu - element <beverages> zgodnie z logiką zawiera wszystkie napoje, dlaczego zatem trzy takie elementy?

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0