/ / Ankieta: w jaki sposób korzystasz z ID / IDREF? (lub key / keyref) - xml, xsd, dtd, cycle

Ankieta: w jaki sposób korzystasz z ID / IDREF? (lub key / keyref) - xml, xsd, dtd, cycle

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 № 1

Uż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.