Привязать коллекцию Java к последовательности xQuery из xQuery

declare function Error:toString($this as javaObject) as xs:string external;

предыдущий связывает возвращаемую String() с xs:string. можно ли вернуть коллекцию и привязать ее к последовательности xQuery, скажем, следующее

declare function Error:toList($this as javaObject) as squenceType external;

чтобы его можно было запустить через flwr?


person jtzero    schedule 16.02.2010    source источник
comment
(я использую процессоры Saxon, Qizx и DDXQ), в итоге я передал его как строку (подобную json) и просто использовал tokenize и тому подобное для разделения данных. я надеялся, что смогу отобразить его напрямую, но нет встроенного ORM   -  person jtzero    schedule 14.10.2010


Ответы (1)


XQuery — это язык программирования для Xml World. W3C определяет стандарт XQuery 1.0 для языка.

в том, что по умолчанию XQuery поддерживает основные типы данных, такие как (целые, плавающие, десятичные, логические типы) и сложные типы данных, такие как узел, элемент, текст, комментарий и т. д.

после этого «внешнее» ключевое слово для функции и переменной в основном предназначено для разработчиков XQuery Engine.

Объявление типа внешней переменной тесно связано с контекстом и пользовательской реализацией, специфичной для движка. например)

declare external variable $employeJavaObject as javaObject. 
                               or
declare function Error:toString($this as javaObject) as xs:string external;

это означает, что объект javaObject должен быть определен механизмом XQuery и обеспечивает его маршаллинг.

Я работал с MarkLogic (4.x), Zorba (1.4), Saxxon Xquery engine. До сих пор я не нашел каких-либо строгих привязок, связанных с языком программирования.

переходя к вашей проблеме - если ваша коллекция имеет тип String, вы можете просто отправить их в виде последовательности строк и получить ее обратно.

если вам нужна какая-то надежная система сопоставления объектов, вам необходимо разработать такую ​​​​инфраструктуру на основе стандартных оболочек механизма XQuery, например

"http://developer.marklogic.com/pubs/4.1/javadoc/com/marklogic/xcc/types/package-frame.html"

или используйте какой-нибудь XmlBeans Mapper, например XmlBeans или Castor.

##--- Редактирование после поиска Looks liks XBird (code.google.com) содержит несколько интересных сценариев сопоставления http://code.google.com/p/xbird/wiki/XmlObjectBinding

Я начал изучать это. мой опыт в основном связан с marklogic.

person kadalamittai    schedule 08.10.2010