XML - podpowiadanie wartości z innego pliku XML

0

No właśnie... jak w temacie. Potrzebne jest narzędzie/plugin (Eclipse)/ cokolwiek, które pomagałoby w wypełnianiu pliku xml. Tzn chodzi o to:

mam plik Mapa.xml, juz wypelniony, gotowy do pracy z nim. Interesujacy tag wyglada przykladowo tak:
<zbior name="jakasNazwa" value="sdfsdf" />

Teraz tworze Plik.xml o innej strukturze niz ten wyzej, o innych tagach:
<akcja name="jakasNazwa" value="i tu zeby podpowiadalo wartosci atrybutu name wszystkich tagow zbior w powyzszym pliku"

Jest mozliwosc zrobienia czegos takiego? Istnieje IDE, ktore to wspiera?

0

Poczytaj o dtd lub schematach w Schemie.

Ten drugi plik, który chcesz zrobić, to nic innego jak dtd/schemat.

Tutorial dla Netbeans 6.0:

Jeżeli chcesz mieć podpowiadanie atrybutów, to musisz użyć DTD(tego akurat nie podpowiada Netbeans z Schemą)

  1. File->New File->XML->DTD Entity
    W file name wpisujesz "zbiory" i klika finish

  2. Zastępujesz plik tym:

<?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT zbiory (zbior*)>
<!ELEMENT zbior ANY>
<!ATTLIST zbior 
name (jakasNazwa|innaNazwa|jesczeInnaNazwa) #REQUIRED
value CDATA #IMPLIED>
  1. Tools->DTDs and XML Schemas
    Wybieramy "User Catalog [read-write]" i następnie "Add Local DTD or Schema."
    W "Public Id:" wpisujesz "zbiory.dtd"
    Przy URI klikasz "Browse" i wyszukujesz stworzony przed chwilą plik zbiory.dtd

  2. File->New File->XML->XML Document
    Klikasz next i w wybierasz "DTD...."
    Klikasz next i w "DTD public id" wybierasz "PUBLIC:zbiory.dtd" (jest na końcu listy), a w "document root" wybierasz "zbiory"
    klikasz "Finish"

  3. Pojawi się

<!DOCTYPE zbiory PUBLIC 'PUBLIC:zbiory.dtd' 'null'>
<zbiory>
</zbiory>

Teraz gdy umieścisz kursor pomiędzy <zbiory> i </zbiory>, to będziesz otrzymywał podpowiedzi za pomocą kombinacji CTRL+SPACJA

0

Hmmm chyba nie zrozumiales o co mi chodzi. Ten drugi plik xml ma zupelnie inna strukture. Napisałem to zresztą. Nie wystąpią w nim ani tagi <zbiory> ani tagi <zbior>. Gdyby była taka sama struktura to nie miałbym problemu, jednak beda one zupelnie inne. W zwiazku z czym... to Twoje chyba nie bardzo się sprawdzi ;/, ale dzięki za chęci :)

0

No tak, zrobiłem to odwrotnie(plik z akcjami pomylił mi się ze zbiorami).

<?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT akcje (akcja*)>
<!ELEMENT akcja ANY>
<!ATTLIST akcja
name (jakasNazwa|innaNazwa|jesczeInnaNazwa) #REQUIRED
value CDATA #IMPLIED>

W linii "name (jakasNazwa|innaNazwa|jesczeInnaNazwa) #REQUIRED"
wpisujesz wszystkie możliwe wartości atrybutu.

DZIAŁA, SPRAWDZAŁEM.
IDE podpowiada atrybuty name i value. Natomiast jako wartość name można wybrać jedną z: jakasNazwa, innaNazwa, jesczeInnaNazwa, czyli masz dokładnie ten efekt o który ci chodziło.

Natomiast podpowiadania z innego dowolnego XMLa raczej nic nie ma, bo dowolny XML nie jest schematem.
Jeżeli chcesz mieć schemat w XML, to zrób go w XML Schema zamiast w DTD.

0

Idealnie!! Dzięki wielkie!! Właśnie o to chodziło. Lepiej już być nie może :D. Jeszcze raz dzieki :).

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