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