...
W przykładzie powyżej, konfiguracja dla formatu MASTER została zdefiniowana przy pomocy reguł pierwszego rodzaju, a dla formatu RDF - drugiego rodzaju. Nie ma przeszkód, aby w definicji jednego formatu wykorzystać oba rodzaje reguł jednocześnie - w takim przypadku, jeśli reguła uniwersalna wygeneruje wartości dla atrybutu, który ma również przypisaną dedykowaną regułę, to zostaną przypisane wartości uzyskane z obu reguł.
Każde zapytanie XQuery powinno wykorzystywać ciąg znaków {document} do określenia dokumentu na którym wykonywane jest zapytanie. Rozszerzenie zamienia ten ciąg znaków ścieżką do pliku XML.
Dla danego formatu XML można zdefiniować tylko jedną regułę uniwersalną, jak i dla każdego konkretnego atrybut można przypisać tylko jedną dedykowaną regułę. Reguła XQuery może jednak składać się z kliku reguł połączonych przecinkami, np.:
Code Block |
---|
for $x in fn:doc({document})/metadata/Tytul return $x, for $x in fn:doc({document})/extra/Podtytul return $x |
tak jak ma to miejsce w przypadku atrybutu Language
.
Załóżmy, że chcemy zaimportować plik A zawierający metadane w formacie XML. Mechanizm importu sprawdza kolejno testy znajdujące się w pliku tests.properties
. Pierwszy test, który zwróci w wyniku listę wartości o rozmiarze większym od 0 decyduje o regułach konwersji. Załóżmy ze był to test opatrzony kluczem master. Mechanizm importu wybiera reguły konwersji z pliku conversion.properties
- wszystkie te które rozpoczynają się od słowa master. Następnie wartości z zapytań XQuery trafiają do odpowiedniego atrybutu, np. do atrybutu, którego nazwa RDF to Title
trafią wszystkie wartości z zapytania for $x in fn:doc({document})//msHeading/title return $x
. Jeśli chcemy by dla jednego atrybutu obowiązywały dwa zapytania XQuery to należy dodać kolejną linię z zapytaniem (tak jak ma to miejsce w przypadku atrybutu Language
).
Każde zapytanie XQuery powinno wykorzystywać ciąg znaków {document} do określenia dokumentu na którym wykonywane jest zapytanie. Rozszerzenie zamienia ten ciąg znaków ścieżką do pliku XML.