Interesuje mnie, jak ludzie korzystają z tej funkcji: jaka domena, jakie relacje (przepraszam, jeśli pytania ankiety nie są odpowiednie).
XML reprezentuje drzewa naturalnie za pomocą przechowalni;ale może również reprezentować wykresy, używając IDREF, które odnoszą się do identyfikatorów: wiele elementów może odnosić się do tego samego elementu (multi-ref); a element zagnieżdżony może odnosić się do przodka (cyklu). Wygodne może być także użycie identyfikatorów i IDREF, aby struktura XML pasowała do innego formatu przechowywania, np. klucze obce bazy danych.
Co robią ty reprezentować identyfikatorem / IDREF?
EDYTOWAĆ Również w tym <key>/<keyref>
z XML Schema.
Odpowiedzi:
2 dla odpowiedzi № 1Używam głównie XML do publikowania, a nie do przechowywania danych, więc używam ID / IDREF dla linków i odsyłaczy (gdzie zawartość elementu z IDREF zostanie wyciągnięta z elementu z ID).
2 dla odpowiedzi nr 2
Używam XML do serializacji, więc używam ID / IDREF doprzerwać cykle i zapobiec duplikowaniu serializacji. Rozważałem również użycie go do "wstępnego zadeklarowania" odniesień do obiektów zewnętrznych, które są dołączone do mojego wykresu, ale nie są serializowane jako część tego.
Problem z tymi podejściami polega na tym, że jesttrudne do doprowadzenia do kodowania struktur serializacji (tj. JAX-B) do dynamicznego określania w czasie wykonywania, czy obiekt powinien być serializowany w miejscu, czy jako odniesienie.