W pracy jesteśmy proszeni o utworzenie plików XML w celu przekazania danych do innej aplikacji offline, która następnie utworzy drugi plik XML do przekazania w celu zaktualizowania niektórych naszych danych. W trakcie tego procesu rozmawialiśmy z zespołem drugiej aplikacji o strukturze pliku XML.
Próbka, którą wymyśliłem, jest w zasadzie coś takiego:
<INVENTORY>
<ITEM serialNumber="something" location="something" barcode="something">
<TYPE modelNumber="something" vendor="something"/>
</ITEM>
</INVENTORY>
Drugi zespół powiedział, że nie jest to standard branżowy i że atrybutów należy używać tylko w przypadku metadanych. Zasugerowali:
<INVENTORY>
<ITEM>
<SERIALNUMBER>something</SERIALNUMBER>
<LOCATION>something</LOCATION>
<BARCODE>something</BARCODE>
<TYPE>
<MODELNUMBER>something</MODELNUMBER>
<VENDOR>something</VENDOR>
</TYPE>
</ITEM>
</INVENTORY>
Powodem, dla którego zasugerowałem pierwszy, jest to, że rozmiar utworzonego pliku jest znacznie mniejszy. W pliku będzie około 80000 elementów, które będą znajdować się w pliku podczas przesyłania. Ich sugestia w rzeczywistości okazuje się trzy razy większa niż ta, którą zasugerowałem. Szukałem tajemniczego „standardu przemysłowego”, o którym wspomniano, ale najbliższe, jakie mogłem znaleźć, było to, że atrybuty XML powinny być używane tylko do metadanych, ale powiedziałem, że debata dotyczyła tego, co faktycznie były metadanymi.
Po długim, wyczerpującym wyjaśnieniu (przepraszam), jak określić, co to są metadane, a kiedy projektujesz strukturę dokumentu XML, jak powinieneś zdecydować, kiedy użyć atrybutu lub elementu?