You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(31) |
Nov
(25) |
Dec
(33) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(48) |
Feb
(62) |
Mar
(22) |
Apr
(29) |
May
(9) |
Jun
(45) |
Jul
(28) |
Aug
(41) |
Sep
(60) |
Oct
(96) |
Nov
(99) |
Dec
(70) |
2003 |
Jan
(98) |
Feb
(159) |
Mar
(164) |
Apr
(150) |
May
(143) |
Jun
(97) |
Jul
(184) |
Aug
(143) |
Sep
(207) |
Oct
(126) |
Nov
(159) |
Dec
(165) |
2004 |
Jan
(131) |
Feb
(229) |
Mar
(220) |
Apr
(212) |
May
(320) |
Jun
(223) |
Jul
(191) |
Aug
(390) |
Sep
(261) |
Oct
(229) |
Nov
(215) |
Dec
(184) |
2005 |
Jan
(221) |
Feb
(312) |
Mar
(336) |
Apr
(273) |
May
(359) |
Jun
(277) |
Jul
(303) |
Aug
(321) |
Sep
(256) |
Oct
(415) |
Nov
(428) |
Dec
(508) |
2006 |
Jan
(585) |
Feb
(419) |
Mar
(496) |
Apr
(296) |
May
(403) |
Jun
(404) |
Jul
(553) |
Aug
(296) |
Sep
(252) |
Oct
(416) |
Nov
(414) |
Dec
(245) |
2007 |
Jan
(354) |
Feb
(422) |
Mar
(389) |
Apr
(298) |
May
(397) |
Jun
(318) |
Jul
(315) |
Aug
(339) |
Sep
(253) |
Oct
(317) |
Nov
(350) |
Dec
(264) |
2008 |
Jan
(353) |
Feb
(313) |
Mar
(433) |
Apr
(383) |
May
(343) |
Jun
(355) |
Jul
(321) |
Aug
(338) |
Sep
(242) |
Oct
(206) |
Nov
(199) |
Dec
(279) |
2009 |
Jan
(327) |
Feb
(221) |
Mar
(280) |
Apr
(278) |
May
(237) |
Jun
(345) |
Jul
(322) |
Aug
(324) |
Sep
(676) |
Oct
(586) |
Nov
(735) |
Dec
(329) |
2010 |
Jan
(619) |
Feb
(424) |
Mar
(529) |
Apr
(241) |
May
(312) |
Jun
(554) |
Jul
(698) |
Aug
(576) |
Sep
(408) |
Oct
(268) |
Nov
(391) |
Dec
(426) |
2011 |
Jan
(629) |
Feb
(512) |
Mar
(465) |
Apr
(467) |
May
(475) |
Jun
(403) |
Jul
(426) |
Aug
(542) |
Sep
(418) |
Oct
(620) |
Nov
(614) |
Dec
(358) |
2012 |
Jan
(357) |
Feb
(466) |
Mar
(344) |
Apr
(215) |
May
(408) |
Jun
(375) |
Jul
(241) |
Aug
(260) |
Sep
(401) |
Oct
(461) |
Nov
(498) |
Dec
(294) |
2013 |
Jan
(453) |
Feb
(447) |
Mar
(434) |
Apr
(326) |
May
(295) |
Jun
(471) |
Jul
(463) |
Aug
(278) |
Sep
(525) |
Oct
(343) |
Nov
(389) |
Dec
(405) |
2014 |
Jan
(564) |
Feb
(324) |
Mar
(319) |
Apr
(319) |
May
(384) |
Jun
(259) |
Jul
(210) |
Aug
(219) |
Sep
(315) |
Oct
(478) |
Nov
(207) |
Dec
(316) |
2015 |
Jan
(222) |
Feb
(234) |
Mar
(201) |
Apr
(145) |
May
(367) |
Jun
(318) |
Jul
(195) |
Aug
(210) |
Sep
(234) |
Oct
(248) |
Nov
(217) |
Dec
(189) |
2016 |
Jan
(219) |
Feb
(177) |
Mar
(110) |
Apr
(91) |
May
(159) |
Jun
(124) |
Jul
(192) |
Aug
(119) |
Sep
(125) |
Oct
(64) |
Nov
(80) |
Dec
(68) |
2017 |
Jan
(156) |
Feb
(312) |
Mar
(386) |
Apr
(217) |
May
(89) |
Jun
(115) |
Jul
(79) |
Aug
(122) |
Sep
(100) |
Oct
(99) |
Nov
(129) |
Dec
(77) |
2018 |
Jan
(106) |
Feb
(78) |
Mar
(160) |
Apr
(73) |
May
(110) |
Jun
(160) |
Jul
(93) |
Aug
(92) |
Sep
(75) |
Oct
(147) |
Nov
(114) |
Dec
(97) |
2019 |
Jan
(141) |
Feb
(78) |
Mar
(158) |
Apr
(60) |
May
(123) |
Jun
(54) |
Jul
(44) |
Aug
(147) |
Sep
(117) |
Oct
(54) |
Nov
(74) |
Dec
(96) |
2020 |
Jan
(113) |
Feb
(125) |
Mar
(142) |
Apr
(57) |
May
(71) |
Jun
(99) |
Jul
(58) |
Aug
(81) |
Sep
(49) |
Oct
(50) |
Nov
(63) |
Dec
(37) |
2021 |
Jan
(37) |
Feb
(45) |
Mar
(39) |
Apr
(18) |
May
(14) |
Jun
(9) |
Jul
(44) |
Aug
(23) |
Sep
(13) |
Oct
(31) |
Nov
(13) |
Dec
(33) |
2022 |
Jan
(17) |
Feb
(8) |
Mar
(32) |
Apr
(7) |
May
(17) |
Jun
(7) |
Jul
(36) |
Aug
(29) |
Sep
(9) |
Oct
(20) |
Nov
(10) |
Dec
(1) |
2023 |
Jan
(30) |
Feb
(37) |
Mar
(23) |
Apr
(1) |
May
(14) |
Jun
(5) |
Jul
(3) |
Aug
(6) |
Sep
(5) |
Oct
(48) |
Nov
(4) |
Dec
(29) |
2024 |
Jan
(1) |
Feb
|
Mar
(21) |
Apr
(6) |
May
(16) |
Jun
(41) |
Jul
(11) |
Aug
(17) |
Sep
(16) |
Oct
(11) |
Nov
(3) |
Dec
(9) |
2025 |
Jan
(7) |
Feb
(7) |
Mar
(6) |
Apr
(6) |
May
(30) |
Jun
(8) |
Jul
(10) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Joe W. <jo...@gm...> - 2025-05-20 12:58:27
|
Hi Michael, For calculating execution time, use util:system-dateTime() instead of fn:current-dateTime(). >From the function documentation for util:system-dateTime(): > Contrary to fn:current-dateTime, this function is not stable, i.e. the returned xs:dateTime will change during the evaluation time of a query and can be used to measure time differences. See: https://exist-db.org/exist/apps/fundocs/index.html?q=util:system-dateTime See also this good explanation from Dannes: https://sourceforge.net/p/exist/mailman/message/32809375/ Joe On Tue, May 20, 2025 at 4:54 AM Michael Westbay < wes...@ja...> wrote: > Hi Alberto, > > For me, splitting them makes them more manageable when I am going through > a given collection with a WebDAV editor. > > For example, I have a database of baseball players. The XML file for a > given player is in the format: "surname-givenname.xml." I sort them under > the persons collection as: > > [image: image.png] > > Each first letter is divided into two or three letter sub-collections. I > try to keep each to around 100 names each, but as the database grows, some > have grown as large as 300 names. That usually means that I want to divide > it up some more. (The _ collection is for names in Kanji -- Japanese > characters.) > > The reason I break them up is because WebDAV is really slow when there are > a lot of files in a single collection. If I only processed the XML files, > it wouldn't be an issue. But I often go in and manually edit files, so the > hierarchy helps. > > A quick count of the number of players I have: > > xquery version "3.0"; > > let $start-time := current-dateTime() > let $players := collection('/db/uni/persons')/*:person > let $count := count($players) > let $end-time := current-dateTime() > > return <result start-time="{$start-time}" end-time="{$end-time}" > count="{$count}"/> > > <result start-time="2025-05-19T22:20:24.288+09:00" > end-time="2025-05-19T22:20:24.288+09:00" count="43434"></result> > > Looks like it's pretty much instantaneous to get 43,434 players. In > reality, it took a couple of seconds to display the result. > > > 2025年5月19日(月) 20:12 Alberto Simões <has...@gm...>: > >> Hello, Michael >> >> I cannot split them so that I can specify different collection names. >> In that case, splitting does not bring any additional value? >> >> Thanks >> >> On Mon, May 19, 2025 at 10:25 AM Michael Westbay < >> wes...@ja...> wrote: >> >>> Hi Alberto, >>> >>> collection("/db/records")/record will match all <record>...</record> >>> documents under /db/records and sub-folders (sub-collections?). >>> >>> If you can organize them by date (year sub-folders), including that in >>> the collection parameter will mean less records to search. And all >>> sub-folders under that collection will still be included in the XPath >>> search. >>> >>> >>> >>> 2025年5月19日(月) 17:23 Alberto Simões <has...@gm...>: >>> >>>> Hello >>>> >>>> Are there differences in terms of performance between having a large >>>> collection (150k docs) with or without a folder structure? >>>> >>>> I want to treat them as a single collection, but I don't know if it >>>> helps to have sub-collections to organise them, or if that is irrelevant to >>>> eXist. >>>> >>>> I appreciate any help you can provide. >>>> Alberto >>>> >>>> -- >>>> Alberto Simões >>>> _______________________________________________ >>>> Exist-open mailing list >>>> Exi...@li... >>>> https://lists.sourceforge.net/lists/listinfo/exist-open >>>> >>> >>> >>> -- >>> Michael Westbay >>> Writer/System Administrator >>> http://www.japanesebaseball.com/ >>> >> >> >> -- >> Alberto Simões >> > > > -- > Michael Westbay > Writer/System Administrator > http://www.japanesebaseball.com/ > _______________________________________________ > Exist-open mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-open > |
From: Alberto S. <has...@gm...> - 2025-05-20 08:17:45
|
Hello, Michael Thanks for sharing your use case. Indeed, it might get useful Thanks On Mon, May 19, 2025 at 2:23 PM Michael Westbay < wes...@ja...> wrote: > Hi Alberto, > > For me, splitting them makes them more manageable when I am going through > a given collection with a WebDAV editor. > > For example, I have a database of baseball players. The XML file for a > given player is in the format: "surname-givenname.xml." I sort them under > the persons collection as: > > [image: image.png] > > Each first letter is divided into two or three letter sub-collections. I > try to keep each to around 100 names each, but as the database grows, some > have grown as large as 300 names. That usually means that I want to divide > it up some more. (The _ collection is for names in Kanji -- Japanese > characters.) > > The reason I break them up is because WebDAV is really slow when there are > a lot of files in a single collection. If I only processed the XML files, > it wouldn't be an issue. But I often go in and manually edit files, so the > hierarchy helps. > > A quick count of the number of players I have: > > xquery version "3.0"; > > let $start-time := current-dateTime() > let $players := collection('/db/uni/persons')/*:person > let $count := count($players) > let $end-time := current-dateTime() > > return <result start-time="{$start-time}" end-time="{$end-time}" > count="{$count}"/> > > <result start-time="2025-05-19T22:20:24.288+09:00" > end-time="2025-05-19T22:20:24.288+09:00" count="43434"></result> > > Looks like it's pretty much instantaneous to get 43,434 players. In > reality, it took a couple of seconds to display the result. > > > 2025年5月19日(月) 20:12 Alberto Simões <has...@gm...>: > >> Hello, Michael >> >> I cannot split them so that I can specify different collection names. >> In that case, splitting does not bring any additional value? >> >> Thanks >> >> On Mon, May 19, 2025 at 10:25 AM Michael Westbay < >> wes...@ja...> wrote: >> >>> Hi Alberto, >>> >>> collection("/db/records")/record will match all <record>...</record> >>> documents under /db/records and sub-folders (sub-collections?). >>> >>> If you can organize them by date (year sub-folders), including that in >>> the collection parameter will mean less records to search. And all >>> sub-folders under that collection will still be included in the XPath >>> search. >>> >>> >>> >>> 2025年5月19日(月) 17:23 Alberto Simões <has...@gm...>: >>> >>>> Hello >>>> >>>> Are there differences in terms of performance between having a large >>>> collection (150k docs) with or without a folder structure? >>>> >>>> I want to treat them as a single collection, but I don't know if it >>>> helps to have sub-collections to organise them, or if that is irrelevant to >>>> eXist. >>>> >>>> I appreciate any help you can provide. >>>> Alberto >>>> >>>> -- >>>> Alberto Simões >>>> _______________________________________________ >>>> Exist-open mailing list >>>> Exi...@li... >>>> https://lists.sourceforge.net/lists/listinfo/exist-open >>>> >>> >>> >>> -- >>> Michael Westbay >>> Writer/System Administrator >>> http://www.japanesebaseball.com/ >>> >> >> >> -- >> Alberto Simões >> > > > -- > Michael Westbay > Writer/System Administrator > http://www.japanesebaseball.com/ > -- Alberto Simões |
From: Duncan P. <du...@ex...> - 2025-05-19 21:02:30
|
Dear Alberto, Internally it doesn’t matter to exist. However, practically I find it convenient to have more manageable chunks in sub-collections so that paging for requests become easier, or browsing the collection in your ide of choice. Here it very much makes a difference in that 150k files will degrade performance of any ide should one accidentally open the folder. Greetings Duncan Sent from my iPad > On 19. May 2025, at 14:17, exi...@li... wrote: > > Send Exist-open mailing list submissions to > exi...@li... > > To subscribe or unsubscribe via the World Wide Web, visit > https://lists.sourceforge.net/lists/listinfo/exist-open > or, via email, send a message with subject or body 'help' to > exi...@li... > > You can reach the person managing the list at > exi...@li... > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Exist-open digest..." > > > Today's Topics: > > 1. Re: Not able to remove a collection (ai...@un...) > 2. Organizing large collection (Alberto Sim?es) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Sun, 18 May 2025 10:07:08 +0200 > From: ai...@un... > To: exi...@li... > Subject: Re: [Exist-open] Not able to remove a collection > Message-ID: > <202...@we...> > Content-Type: text/plain; charset=utf-8; format=flowed; DelSp=Yes > > that's probably the old bug with utf8 names (issue #681). > The remedy is to avoid this: create/copy the resources with a > compliant name and delete the old one in backup. > > regards > Peter > > Quoting "Sanil, Seena via Exist-open" <exi...@li...>: > >> Hi, >> When we try to remove a collection either through the UI or through >> calling the rest API we get this error. Is there any other way to >> remove the collection? >> >> Please advise. >> Thanks. > > > > > > > ------------------------------ > > Message: 2 > Date: Sun, 18 May 2025 13:52:00 +0100 > From: Alberto Sim?es <has...@gm...> > To: eXist DB ML <exi...@li...> > Subject: [Exist-open] Organizing large collection > Message-ID: > <CAA...@ma...> > Content-Type: text/plain; charset="utf-8" > > Hello > > Are there differences in terms of performance between having a large > collection (150k docs) with or without a folder structure? > > I want to treat them as a single collection, but I don't know if it helps > to have sub-collections to organise them, or if that is irrelevant to eXist. > > I appreciate any help you can provide. > Alberto > > -- > Alberto Sim?es > -------------- next part -------------- > An HTML attachment was scrubbed... > > ------------------------------ > > > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > Exist-open mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-open > > > ------------------------------ > > End of Exist-open Digest, Vol 228, Issue 8 > ****************************************** |
From: Olaf S. <ol...@ex...> - 2025-05-19 17:40:32
|
Alberto, > Are there differences in terms of performance between having a large > collection (150k docs) with or without a folder structure? > > I want to treat them as a single collection, but I don't know if it helps > to have sub-collections to organise them, or if that is irrelevant to eXist. Currently, we do not recommend to use a single collection of that size, because that would probably impact performance. We're already looking into improving this issue. Regards, Olaf |
From: Michael W. <wes...@ja...> - 2025-05-19 13:23:55
|
Hi Alberto, For me, splitting them makes them more manageable when I am going through a given collection with a WebDAV editor. For example, I have a database of baseball players. The XML file for a given player is in the format: "surname-givenname.xml." I sort them under the persons collection as: [image: image.png] Each first letter is divided into two or three letter sub-collections. I try to keep each to around 100 names each, but as the database grows, some have grown as large as 300 names. That usually means that I want to divide it up some more. (The _ collection is for names in Kanji -- Japanese characters.) The reason I break them up is because WebDAV is really slow when there are a lot of files in a single collection. If I only processed the XML files, it wouldn't be an issue. But I often go in and manually edit files, so the hierarchy helps. A quick count of the number of players I have: xquery version "3.0"; let $start-time := current-dateTime() let $players := collection('/db/uni/persons')/*:person let $count := count($players) let $end-time := current-dateTime() return <result start-time="{$start-time}" end-time="{$end-time}" count="{$count}"/> <result start-time="2025-05-19T22:20:24.288+09:00" end-time="2025-05-19T22:20:24.288+09:00" count="43434"></result> Looks like it's pretty much instantaneous to get 43,434 players. In reality, it took a couple of seconds to display the result. 2025年5月19日(月) 20:12 Alberto Simões <has...@gm...>: > Hello, Michael > > I cannot split them so that I can specify different collection names. > In that case, splitting does not bring any additional value? > > Thanks > > On Mon, May 19, 2025 at 10:25 AM Michael Westbay < > wes...@ja...> wrote: > >> Hi Alberto, >> >> collection("/db/records")/record will match all <record>...</record> >> documents under /db/records and sub-folders (sub-collections?). >> >> If you can organize them by date (year sub-folders), including that in >> the collection parameter will mean less records to search. And all >> sub-folders under that collection will still be included in the XPath >> search. >> >> >> >> 2025年5月19日(月) 17:23 Alberto Simões <has...@gm...>: >> >>> Hello >>> >>> Are there differences in terms of performance between having a large >>> collection (150k docs) with or without a folder structure? >>> >>> I want to treat them as a single collection, but I don't know if it >>> helps to have sub-collections to organise them, or if that is irrelevant to >>> eXist. >>> >>> I appreciate any help you can provide. >>> Alberto >>> >>> -- >>> Alberto Simões >>> _______________________________________________ >>> Exist-open mailing list >>> Exi...@li... >>> https://lists.sourceforge.net/lists/listinfo/exist-open >>> >> >> >> -- >> Michael Westbay >> Writer/System Administrator >> http://www.japanesebaseball.com/ >> > > > -- > Alberto Simões > -- Michael Westbay Writer/System Administrator http://www.japanesebaseball.com/ |
From: Craig B. <cra...@ma...> - 2025-05-19 12:10:31
|
> On May 14, 2025, at 10:51 AM, Joe Wicentowski <jo...@GM...> wrote: > We are happy to announce that version 6.4.0 of eXist-db was released last week [2]. Thanks to Joe and all the others who contributed to this release. > - DMG and installers are now signed by eXist Solutions GmbH and For me on Sequoia, this did not get it through Gatekeeper -- I had to go into Privacy and Security in settings and explicitly allow an exception to open the app. For future reference, it seems to be very picky about anything at all changing in the bundle _after_ the bundle has been signed and notarized, and there are a number of files that were added or changed: % codesign --verify --deep --verbose /Applications/eXist-db.app /Applications/eXist-db.app: a sealed resource is missing or invalid file added: /Applications/eXist-db.app/Contents/Resources/etc/conf.xml.orig.20250519060515 file added: /Applications/eXist-db.app/Contents/Resources/etc/launcher.properties file added: /Applications/eXist-db.app/Contents/Resources/logs/urlrewrite.log file added: /Applications/eXist-db.app/Contents/Resources/logs/expath-repo.log file added: /Applications/eXist-db.app/Contents/Resources/logs/statistics.log file added: /Applications/eXist-db.app/Contents/Resources/logs/scheduler.log file added: /Applications/eXist-db.app/Contents/Resources/logs/profile.log file added: /Applications/eXist-db.app/Contents/Resources/logs/xmldb.log file added: /Applications/eXist-db.app/Contents/Resources/logs/xmlrpc.log file added: /Applications/eXist-db.app/Contents/Resources/logs/2025_05_19.request.log file added: /Applications/eXist-db.app/Contents/Resources/logs/exist.log file added: /Applications/eXist-db.app/Contents/Resources/logs/betterform.log file added: /Applications/eXist-db.app/Contents/Resources/logs/launcher.log file added: /Applications/eXist-db.app/Contents/Resources/logs/backup.log file added: /Applications/eXist-db.app/Contents/Resources/logs/ensure-locking.log file added: /Applications/eXist-db.app/Contents/Resources/logs/restxq.log file added: /Applications/eXist-db.app/Contents/Resources/logs/ehcache.log file added: /Applications/eXist-db.app/Contents/Resources/logs/locks.log file modified: /Applications/eXist-db.app/Contents/Resources/etc/conf.xml ________________________________________ Craig A. Berry "... getting out of a sonnet is much more difficult than getting in." Brad Leithauser |
From: Alberto S. <has...@gm...> - 2025-05-19 11:13:03
|
Hello, Michael I cannot split them so that I can specify different collection names. In that case, splitting does not bring any additional value? Thanks On Mon, May 19, 2025 at 10:25 AM Michael Westbay < wes...@ja...> wrote: > Hi Alberto, > > collection("/db/records")/record will match all <record>...</record> > documents under /db/records and sub-folders (sub-collections?). > > If you can organize them by date (year sub-folders), including that in the > collection parameter will mean less records to search. And all sub-folders > under that collection will still be included in the XPath search. > > > > 2025年5月19日(月) 17:23 Alberto Simões <has...@gm...>: > >> Hello >> >> Are there differences in terms of performance between having a large >> collection (150k docs) with or without a folder structure? >> >> I want to treat them as a single collection, but I don't know if it helps >> to have sub-collections to organise them, or if that is irrelevant to eXist. >> >> I appreciate any help you can provide. >> Alberto >> >> -- >> Alberto Simões >> _______________________________________________ >> Exist-open mailing list >> Exi...@li... >> https://lists.sourceforge.net/lists/listinfo/exist-open >> > > > -- > Michael Westbay > Writer/System Administrator > http://www.japanesebaseball.com/ > -- Alberto Simões |
From: Michael W. <wes...@ja...> - 2025-05-19 09:25:35
|
Hi Alberto, collection("/db/records")/record will match all <record>...</record> documents under /db/records and sub-folders (sub-collections?). If you can organize them by date (year sub-folders), including that in the collection parameter will mean less records to search. And all sub-folders under that collection will still be included in the XPath search. 2025年5月19日(月) 17:23 Alberto Simões <has...@gm...>: > Hello > > Are there differences in terms of performance between having a large > collection (150k docs) with or without a folder structure? > > I want to treat them as a single collection, but I don't know if it helps > to have sub-collections to organise them, or if that is irrelevant to eXist. > > I appreciate any help you can provide. > Alberto > > -- > Alberto Simões > _______________________________________________ > Exist-open mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-open > -- Michael Westbay Writer/System Administrator http://www.japanesebaseball.com/ |
From: Juri L. <ju...@ex...> - 2025-05-19 08:34:55
|
Hello Seena Sanil! It would help a lot to know the version of the eXist-db instance you are working with. To my knowledge a similar issue was reported and fixed some time ago. This information, along with operating system and java version is generally helpful when posting questions here. However, theses are additional methods to remove a collection in an eXist-db instance that come to my mind: - evaluating an XQuery calling xmldb:remove in eXide or other means https://exist-db.org/exist/apps/fundocs/index.html?q=xmldb%3Aremove&action=search&type=name - using the XML-RPC API eXist-db offers which has a remove collection endpoint one available command line client is xst https://www.npmjs.com/package/@existdb/xst - the java admin client should also offer a similar functionality If none of the above work you could - save all other resources and subcollections next to the one you cannot remove - then remove the parent collection (regsum-ref in your case) Hope this helps, Juri Leino On 16.05.25 15:23, Sanil, Seena via Exist-open wrote: > > Hi, > > When we try to remove a collection either through the UI or through > calling the rest API we get this error. Is there any other way to > remove the collection? > > Please advise. > > Thanks. > > > > _______________________________________________ > Exist-open mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-open |
From: Alberto S. <has...@gm...> - 2025-05-18 12:52:38
|
Hello Are there differences in terms of performance between having a large collection (150k docs) with or without a folder structure? I want to treat them as a single collection, but I don't know if it helps to have sub-collections to organise them, or if that is irrelevant to eXist. I appreciate any help you can provide. Alberto -- Alberto Simões |
From: <ai...@un...> - 2025-05-18 08:23:11
|
that's probably the old bug with utf8 names (issue #681). The remedy is to avoid this: create/copy the resources with a compliant name and delete the old one in backup. regards Peter Quoting "Sanil, Seena via Exist-open" <exi...@li...>: > Hi, > When we try to remove a collection either through the UI or through > calling the rest API we get this error. Is there any other way to > remove the collection? > > Please advise. > Thanks. |
From: Sanil, S. <ss...@bl...> - 2025-05-16 18:00:33
|
Hi, When we try to remove a collection either through the UI or through calling the rest API we get this error. Is there any other way to remove the collection? Please advise. Thanks. |
From: Alberto S. <has...@gm...> - 2025-05-16 14:33:55
|
It seems the file was empty. Deleted it, a couple of restarts, and things look like are running again. Thanks On Fri, May 16, 2025 at 2:13 PM Alberto Simões <has...@gm...> wrote: > Hello > > Updated my exist image to 6.4.0 > Looked to the logs (not just export logs). > I found the culprit: > > lexmart_exist.1.6071ajjw6txx@academia | 16 May 2025 13:11:18,171 > [qtp1260390769-39] ERROR (ConsistencyCheckTask.java [error]:250) - EXPORT: > Skipping damaged document tangentoide_1-76d57.xml > lexmart_exist.1.6071ajjw6txx@academia | 16 May 2025 13:11:39,790 > [qtp1260390769-39] ERROR (ConsistencyCheckTask.java [error]:250) - EXPORT: > Found an orphaned document: tangentoide_1-76d57.xml > > Not sure what to do from here. > Looking around while waiting for suggestions, in case I find anything. > > Thanks > > On Thu, May 15, 2025 at 3:11 PM Alberto Simões <has...@gm...> > wrote: > >> Hello, Joe >> >> eXistDB 6.3.0, running on Docker. Dockerfile below. >> Hope this helps. >> Thanks >> >> FROM alpine:latest AS build >> WORKDIR /autodeploy >> RUN apk --no-cache add zip >> COPY lexmart-restxq-api/ ./ >> RUN zip -r lexmart-restxq-api.xar * >> FROM existdb/existdb:6.3.0 AS production >> WORKDIR /exist >> COPY docker/exist/conf.xml etc/conf.xml >> COPY docker/exist/jetty/lib etc/webapp/WEB-INF/lib >> COPY docker/exist/jetty/web.xml etc/webapp/WEB-INF/web.xml >> COPY --from=build /autodeploy/*.xar autodeploy/ >> COPY docker/exist/autodeploy/*.xar autodeploy/ >> EXPOSE 8080 >> >> >> >> On Thu, May 15, 2025 at 1:23 PM Joe Wicentowski <jo...@gm...> wrote: >> >>> Hi Alberto, >>> >>> For troubleshooting, which version of eXist, Java, OS, etc.? >>> >>> Joe >>> >>> Sent from my iPhone >>> >>> >>> On Thu, May 15, 2025 at 6:28 AM Alberto Simões <has...@gm...> >>> wrote: >>> >>>> Hello >>>> >>>> Triggering a full backup, I am getting this error: >>>> >>>> ... >>>> DOCUMENT: 108000 of 111595 >>>> DOCUMENT: 109000 of 111595 >>>> DOCUMENT: 110000 of 111595 >>>> DOCUMENT: 111000 of 111595 >>>> DOCUMENT: 111595 of 111595 >>>> ---------------------------------------------- >>>> RESOURCE_ACCESS_FAILED: >>>> Failed to access document data >>>> Document ID: 170957 >>>> >>>> What can I do to: >>>> - understand what is the problematic document >>>> - try to understand if I had data lost >>>> - fix it :-) >>>> >>>> Thank you in advance. >>>> >>>> -- >>>> Alberto Simões >>>> _______________________________________________ >>>> Exist-open mailing list >>>> Exi...@li... >>>> https://lists.sourceforge.net/lists/listinfo/exist-open >>>> >>> >> >> -- >> Alberto Simões >> > > > -- > Alberto Simões > -- Alberto Simões |
From: Alberto S. <has...@gm...> - 2025-05-16 13:14:29
|
Hello Updated my exist image to 6.4.0 Looked to the logs (not just export logs). I found the culprit: lexmart_exist.1.6071ajjw6txx@academia | 16 May 2025 13:11:18,171 [qtp1260390769-39] ERROR (ConsistencyCheckTask.java [error]:250) - EXPORT: Skipping damaged document tangentoide_1-76d57.xml lexmart_exist.1.6071ajjw6txx@academia | 16 May 2025 13:11:39,790 [qtp1260390769-39] ERROR (ConsistencyCheckTask.java [error]:250) - EXPORT: Found an orphaned document: tangentoide_1-76d57.xml Not sure what to do from here. Looking around while waiting for suggestions, in case I find anything. Thanks On Thu, May 15, 2025 at 3:11 PM Alberto Simões <has...@gm...> wrote: > Hello, Joe > > eXistDB 6.3.0, running on Docker. Dockerfile below. > Hope this helps. > Thanks > > FROM alpine:latest AS build > WORKDIR /autodeploy > RUN apk --no-cache add zip > COPY lexmart-restxq-api/ ./ > RUN zip -r lexmart-restxq-api.xar * > FROM existdb/existdb:6.3.0 AS production > WORKDIR /exist > COPY docker/exist/conf.xml etc/conf.xml > COPY docker/exist/jetty/lib etc/webapp/WEB-INF/lib > COPY docker/exist/jetty/web.xml etc/webapp/WEB-INF/web.xml > COPY --from=build /autodeploy/*.xar autodeploy/ > COPY docker/exist/autodeploy/*.xar autodeploy/ > EXPOSE 8080 > > > > On Thu, May 15, 2025 at 1:23 PM Joe Wicentowski <jo...@gm...> wrote: > >> Hi Alberto, >> >> For troubleshooting, which version of eXist, Java, OS, etc.? >> >> Joe >> >> Sent from my iPhone >> >> >> On Thu, May 15, 2025 at 6:28 AM Alberto Simões <has...@gm...> >> wrote: >> >>> Hello >>> >>> Triggering a full backup, I am getting this error: >>> >>> ... >>> DOCUMENT: 108000 of 111595 >>> DOCUMENT: 109000 of 111595 >>> DOCUMENT: 110000 of 111595 >>> DOCUMENT: 111000 of 111595 >>> DOCUMENT: 111595 of 111595 >>> ---------------------------------------------- >>> RESOURCE_ACCESS_FAILED: >>> Failed to access document data >>> Document ID: 170957 >>> >>> What can I do to: >>> - understand what is the problematic document >>> - try to understand if I had data lost >>> - fix it :-) >>> >>> Thank you in advance. >>> >>> -- >>> Alberto Simões >>> _______________________________________________ >>> Exist-open mailing list >>> Exi...@li... >>> https://lists.sourceforge.net/lists/listinfo/exist-open >>> >> > > -- > Alberto Simões > -- Alberto Simões |
From: Alberto S. <has...@gm...> - 2025-05-15 14:12:02
|
Hello, Joe eXistDB 6.3.0, running on Docker. Dockerfile below. Hope this helps. Thanks FROM alpine:latest AS build WORKDIR /autodeploy RUN apk --no-cache add zip COPY lexmart-restxq-api/ ./ RUN zip -r lexmart-restxq-api.xar * FROM existdb/existdb:6.3.0 AS production WORKDIR /exist COPY docker/exist/conf.xml etc/conf.xml COPY docker/exist/jetty/lib etc/webapp/WEB-INF/lib COPY docker/exist/jetty/web.xml etc/webapp/WEB-INF/web.xml COPY --from=build /autodeploy/*.xar autodeploy/ COPY docker/exist/autodeploy/*.xar autodeploy/ EXPOSE 8080 On Thu, May 15, 2025 at 1:23 PM Joe Wicentowski <jo...@gm...> wrote: > Hi Alberto, > > For troubleshooting, which version of eXist, Java, OS, etc.? > > Joe > > Sent from my iPhone > > > On Thu, May 15, 2025 at 6:28 AM Alberto Simões <has...@gm...> > wrote: > >> Hello >> >> Triggering a full backup, I am getting this error: >> >> ... >> DOCUMENT: 108000 of 111595 >> DOCUMENT: 109000 of 111595 >> DOCUMENT: 110000 of 111595 >> DOCUMENT: 111000 of 111595 >> DOCUMENT: 111595 of 111595 >> ---------------------------------------------- >> RESOURCE_ACCESS_FAILED: >> Failed to access document data >> Document ID: 170957 >> >> What can I do to: >> - understand what is the problematic document >> - try to understand if I had data lost >> - fix it :-) >> >> Thank you in advance. >> >> -- >> Alberto Simões >> _______________________________________________ >> Exist-open mailing list >> Exi...@li... >> https://lists.sourceforge.net/lists/listinfo/exist-open >> > -- Alberto Simões |
From: Joe W. <jo...@gm...> - 2025-05-15 12:23:25
|
Hi Alberto, For troubleshooting, which version of eXist, Java, OS, etc.? Joe Sent from my iPhone On Thu, May 15, 2025 at 6:28 AM Alberto Simões <has...@gm...> wrote: > Hello > > Triggering a full backup, I am getting this error: > > ... > DOCUMENT: 108000 of 111595 > DOCUMENT: 109000 of 111595 > DOCUMENT: 110000 of 111595 > DOCUMENT: 111000 of 111595 > DOCUMENT: 111595 of 111595 > ---------------------------------------------- > RESOURCE_ACCESS_FAILED: > Failed to access document data > Document ID: 170957 > > What can I do to: > - understand what is the problematic document > - try to understand if I had data lost > - fix it :-) > > Thank you in advance. > > -- > Alberto Simões > _______________________________________________ > Exist-open mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-open > |
From: Erik S. <er...@xa...> - 2025-05-15 09:01:12
|
Hi all, Following the success of the past six editions, the seventh edition of Declarative Amsterdam will once again take place at the Science Park, Amsterdam, on Thursday/Friday 6/7 November 2025. As usual, it will be a hybrid conference with the opportunity to attend live or online, for both attendees and presenters. Declarative techniques are a style of computing that expresses the purpose of computation without describing its control flow. It allows you to focus on the ‘what’, rather than the ‘how’. Declarative Amsterdam will have presentations on past experiences, current trends and future perspectives in fields such as functional programming, declarative data modeling, databases, XML and related technologies, JSON, CSS, XForms, semantic web, data science, data visualization, grammars, parsing, and domain-specific languages. Call for presentations We invite practitioners, software architects and engineers, academic researchers and others to submit a proposal for a tutorial or a presentation. Tutorials can be between 1 and 2.5 hours, and preferably include hands-on sessions for participants. Presentations can be between 15 and 45 minutes. Speakers can present in person, or prepare a video, and be available online for the question and answer session afterwards. A presentation can be about an established technology, a new idea, a product, or application, as long as it addresses the topic of the conference. Proposals should include a title, duration and summary (90–200 words), and may also include a full paper. Presenters have the option of submitting a full paper or slides, to be published on the Declarative Amsterdam website. All presentations are made available for the wider audience after the conference on our website and on <https://www.youtube.com/@declarativeamsterdam> YouTube. For papers and topics from previous years, see the website: <https://declarative.amsterdam> https://declarative.amsterdam Please submit your proposals at <https://declarative.amsterdam/cfp> https://declarative.amsterdam/cfp Timeline Submission deadline: 31 July Acceptance: Beginning of September Videos, tutorials, papers: Beginning of October Conference: 7 and 8 November All the best, Declarative Amsterdam 2025 organizing committee |
From: Alberto S. <has...@gm...> - 2025-05-15 08:46:19
|
Hello Triggering a full backup, I am getting this error: ... DOCUMENT: 108000 of 111595 DOCUMENT: 109000 of 111595 DOCUMENT: 110000 of 111595 DOCUMENT: 111000 of 111595 DOCUMENT: 111595 of 111595 ---------------------------------------------- RESOURCE_ACCESS_FAILED: Failed to access document data Document ID: 170957 What can I do to: - understand what is the problematic document - try to understand if I had data lost - fix it :-) Thank you in advance. -- Alberto Simões |
From: Alberto S. <has...@gm...> - 2025-05-14 17:43:46
|
Hello, All It was a PEBKAC kind of problem. Sorry for spamming the mailing list. Thanks On Wed, May 14, 2025 at 11:55 AM Alberto Simões <has...@gm...> wrote: > Hello > > I have a folder with a lot of files (probably more than 100K). > When I try to open a file, with open or manage files, in eXide, I can > filter by some of the names, but not for recent files. > > Is there any limit that might be producing this? > Is there a way to open a file if you know its full name, instead of using > the browse mechanism? > > Thanks > > -- > Alberto Simões > -- Alberto Simões |
From: Joe W. <jo...@gm...> - 2025-05-14 15:51:39
|
Dear eXist-db Community, I'd like to share the announcement that Juri Leino posted earlier today on Slack [1]. Best, Joe -- We are happy to announce that version 6.4.0 of eXist-db was released last week [2]. It is a small feature release that addresses three breaking regressions that were discovered in 6.3.0. We recommend that all users of eXist-db 6.0.0-6.3.0 upgrade to version 6.4.0. Important facts: - DMG and installers are now signed by eXist Solutions GmbH and - Docker images and the DMG run natively on arm Macs and x86 platforms Thanks to all who helped get it out! These include Leif-Jöran Olsson, Wolfgang Meier, Dannes Wessels, Duncan Paterson, Patrick Reinhart, Olaf Schreck, and everyone else who contributed in any other way like posting issues and testing. For more detailed information please have a look at the release notes [2]. This marks the last planned update to eXist-db 6, and we will now shift focus on version 7. [1] https://exist-db.slack.com/archives/CG2MRUZ35/p1747212643173699. For anyone who hasn't joined the Slack community, please consider joining. Invite link: https://join.slack.com/t/exist-db/shared_invite/enQtNjQ4MzUyNTE4MDY3LWNkYjZjMmZkNWQ5MDBjODQ3OTljNjMyODkwNmY1MzQwNjUwZjMzZTY1MGJkMjY5NDFhOWZjMDZiMDdhMzY4NGY . [2] https://exist-db.org/exist/apps/wiki/blogs/eXist/eXistdb640 |
From: Alberto S. <has...@gm...> - 2025-05-14 10:55:38
|
Hello I have a folder with a lot of files (probably more than 100K). When I try to open a file, with open or manage files, in eXide, I can filter by some of the names, but not for recent files. Is there any limit that might be producing this? Is there a way to open a file if you know its full name, instead of using the browse mechanism? Thanks -- Alberto Simões |
From: Joe W. <jo...@gm...> - 2025-05-13 12:43:04
|
Hi Felix, The versioning module does appear to have a number of known issues, listed at https://github.com/eXist-db/xquery-versioning-module/issues, including compatibility issues with eXist 5.2.0. I'd welcome you to review those and see if they match your issue or if yours is new/different. If they match yours, you could add a note listing your eXist version(s) as still affected. If your issue is different, please create a new issue reporting it. It would be great to restore compatibility with the current version of eXist. Joe On Fri, May 9, 2025 at 12:18 PM felix jeneau <fel...@ho...> wrote: > I'm attempting to use the 'Versioning' package and am running into, what > appears to be, locking issues. > > In eXide, the very first save of an XML doc errors out and shows this in a > popup: > > 'void org.exist.dom.persistent.DocumentImpl.(org.exist.storage.BrokerPool, > org.exist.collections.Collection, org.exist.xmldb.XmldbURI)' > > > > eXist then becomes unresponsive and requires a restart. I can see in > Monex, a bunch of 'waiting for' -> 'COLLECTION ( WRITE_LOCK )' under > 'Waiting Threads.' > > > Dunno if it's related, but under 'Active Threads,' I see a stacktrace: > > java.base@17.0.12/jdk.internal.misc.Unsafe.park(Native Method) > java.base@17.0.12 > /java.util.concurrent.locks.LockSupport.park(LockSupport.java:211) > java.base@17.0.12 > /java.util.concurrent.locks.AbstractQueuedLongSynchronizer.acquire(AbstractQueuedLongSynchronizer.java:348) > java.base@17.0.12 > /java.util.concurrent.locks.AbstractQueuedLongSynchronizer.acquireShared(AbstractQueuedLongSynchronizer.java:659) > > uk.ac.ic.doc.slurp.multilock.MultiLock.intentionReadLock(MultiLock.java:501) > org.exist.storage.lock.LockManager.lock(LockManager.java:293) > > org.exist.storage.lock.LockManager.acquirePathReadLock(LockManager.java:267) > > org.exist.storage.lock.LockManager.acquireCollectionReadLock(LockManager.java:219) > org.exist.storage.NativeBroker.readLockCollection(NativeBroker.java:1837) > org.exist.storage.NativeBroker.openCollection(NativeBroker.java:869) > ... > > > After killing the process and restarting, if I try to save a doc in eXide, > the popup says: > > 'org.exist.storage.lock.Lock org.exist.collections.Collection.getLock()' > > and Monex shows all of the stuff mentioned above. > > > > exist.log, doesn't show any errors. Just: > > DEBUG (TemporaryFileManager.java [returnTemporaryFile]:135) - Deleted > temporary file: > /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/exist-db-temp-file-manager-6286306081099162350/exist-db-temp-13573353218066578415.tmp > DEBUG (Txn.java [close]:211) - Resetting transaction state for next use. > DEBUG (MutableCollection.java [checkPermissionsForAddDocument]:1697) - > Found old doc 3074 > DEBUG (Txn.java [close]:190) - Transaction was not committed or aborted, > auto aborting! > WARN (TransactionManager.java [close]:421) - Transaction was not > committed or aborted, auto aborting! > DEBUG (TransactionManager.java [doAbortTransaction]:400) - Aborted > transaction: 891 > > > Nothing in the two logs associated with locking. > > > (I did modify log4j2.xml to also log for the versioning package, but > didn't see anything of relevance) > > > > These are both new instances of eXist. (5.5.1 and 6.4.0). The file is > only opened in a single tab in eXide, so there shouldn't be an issue with > multiple users accessing the same file. > > > > Any ideas? Is this possibly a bug with the package? > > > > (side note, installing the versioning package directly doesn't seem to > work properly. After installing it, regardless of restart, I kept getting > missing-class errors for VersioningModule and VersioningFilter. I had to > copy the jars over to the lib folder, update startup.xml to include the > dependencies, and add the module to conf.xml) > _______________________________________________ > Exist-open mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-open > |
From: felix j. <fel...@ho...> - 2025-05-08 19:43:03
|
I'm attempting to use the 'Versioning' package and am running into, what appears to be, locking issues. In eXide, the very first save of an XML doc errors out and shows this in a popup: 'void org.exist.dom.persistent.DocumentImpl.(org.exist.storage.BrokerPool, org.exist.collections.Collection, org.exist.xmldb.XmldbURI)' eXist then becomes unresponsive and requires a restart. I can see in Monex, a bunch of 'waiting for' -> 'COLLECTION ( WRITE_LOCK )' under 'Waiting Threads.' Dunno if it's related, but under 'Active Threads,' I see a stacktrace: java.base@17.0.12/jdk.internal.misc.Unsafe.park(Native Method) java.base@17.0.12/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211) java.base@17.0.12/java.util.concurrent.locks.AbstractQueuedLongSynchronizer.acquire(AbstractQueuedLongSynchronizer.java:348) java.base@17.0.12/java.util.concurrent.locks.AbstractQueuedLongSynchronizer.acquireShared(AbstractQueuedLongSynchronizer.java:659) uk.ac.ic.doc.slurp.multilock.MultiLock.intentionReadLock(MultiLock.java:501) org.exist.storage.lock.LockManager.lock(LockManager.java:293) org.exist.storage.lock.LockManager.acquirePathReadLock(LockManager.java:267) org.exist.storage.lock.LockManager.acquireCollectionReadLock(LockManager.java:219) org.exist.storage.NativeBroker.readLockCollection(NativeBroker.java:1837) org.exist.storage.NativeBroker.openCollection(NativeBroker.java:869) ... After killing the process and restarting, if I try to save a doc in eXide, the popup says: 'org.exist.storage.lock.Lock org.exist.collections.Collection.getLock()' and Monex shows all of the stuff mentioned above. exist.log, doesn't show any errors. Just: DEBUG (TemporaryFileManager.java [returnTemporaryFile]:135) - Deleted temporary file: /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/exist-db-temp-file-manager-6286306081099162350/exist-db-temp-13573353218066578415.tmp DEBUG (Txn.java [close]:211) - Resetting transaction state for next use. DEBUG (MutableCollection.java [checkPermissionsForAddDocument]:1697) - Found old doc 3074 DEBUG (Txn.java [close]:190) - Transaction was not committed or aborted, auto aborting! WARN (TransactionManager.java [close]:421) - Transaction was not committed or aborted, auto aborting! DEBUG (TransactionManager.java [doAbortTransaction]:400) - Aborted transaction: 891 Nothing in the two logs associated with locking. (I did modify log4j2.xml to also log for the versioning package, but didn't see anything of relevance) These are both new instances of eXist. (5.5.1 and 6.4.0). The file is only opened in a single tab in eXide, so there shouldn't be an issue with multiple users accessing the same file. Any ideas? Is this possibly a bug with the package? (side note, installing the versioning package directly doesn't seem to work properly. After installing it, regardless of restart, I kept getting missing-class errors for VersioningModule and VersioningFilter. I had to copy the jars over to the lib folder, update startup.xml to include the dependencies, and add the module to conf.xml) |
From: Sascha G. <gr...@bb...> - 2025-04-23 11:27:23
|
Dear Pieter, dear Peter, thanks a lot for your suggestions! I tried out Pieters util:declare-options() solution and it seems to work fine so far. For documentations sake, here is the updated/fixed version of my attempt: xquery version "3.1"; let $p_format := request:get-parameter("format", ()) let $test := <html> <head> <title>Test Title</title> </head> <body> <h1>Hello, World!</h1> </body> </html> return if ($p_format = "tei-xml") then (util:declare-option("exist:serialize", "method=xml"), $test) else (util:declare-option("exist:serialize", "method=html5 media-type=text/html"), $test) Serialization, doctype and Content-Type header look good with this variant. Thanks a lot! Sascha Am 17.04.2025 um 15:25 schrieb Sascha Grabsch via Exist-open: > Dear list members, > > I'm trying to output different formats (XML and HTML5) from a single > xquery script, but can't get it to work. Here is my test case: > > xquery version "3.1"; > let $p_format := request:get-parameter("format", ()) > > let $test := > <html> > <head> > <title>Test Title</title> > </head> > <body> > <h1>Hello, World!</h1> > </body> > </html> > > return > if ($p_format = "tei-xml") then (serialize($test, map { "method": > "xml" })) else (serialize($test, map { "method": "html" })) > > > However in both cases this does not work as expected: > > method:xml - The serialization option method:xml does not return valid > XML, since the returned document is wrongly escaped > (<html><head><title>Test Title</title></ > head><body><h1>Hello, World!</h1></body></ > html>). The content-type in the response header however is correct > ("application/xml"). > > method:html - While the serialization option method:html correctly adds > a doctype for HTML5 (i. e. <!DOCTYPE html>), the actual response in a > browser is wrongly escaped (as in <!DOCTYPE html> > <html><head><title>Test Title</title></ > head><body><h1>Hello, World!</h1></body></ > html>). Additionally the content-type in the response header is > "application/xml" instead of "text/html". > > > According to <https://exist-db.org/exist/apps/doc/xquery.xml#fn- > serialize> I would have expected to be able to return different > serializations via fn:serialize, but it seems it is only possible to > have one serialization per XQuery script via "declare option > exist:serialize ..."? > > I would be glad about any information or hints what I might be missing. > > Thanks a lot! > > Sascha |
From: Peter S. <st...@ed...> - 2025-04-22 10:03:25
|
Hi Sascha, another way to dynamically set serialization options is via `response:stream($content as item()*, $serialization-options as xs:string) as empty-sequence()`. "It directly streams its input to the servlet's output stream. It should thus be the last statement in the XQuery.“ (XQuery Function Documentation) Cheers Peter > Am 22.04.2025 um 07:15 schrieb Pieter Lamers <pie...@be...>: > > Hi Sascha, > > I think the problem is that you can serialize a snippet using fn:serialize but the whole response is serialized according to exist serialization settings. Apart from the declare options route in the prolog of your xquery, you can also set these inline via the following, e.g. util:declare-option("exist:serialize", "method=json") > > I think this will get you going. > > Best, > Pieter > > On 17/04/2025 15:25, Sascha Grabsch via Exist-open wrote: >> Dear list members, >> >> I'm trying to output different formats (XML and HTML5) from a single xquery script, but can't get it to work. Here is my test case: >> >> xquery version "3.1"; >> let $p_format := request:get-parameter("format", ()) >> >> let $test := >> <html> >> <head> >> <title>Test Title</title> >> </head> >> <body> >> <h1>Hello, World!</h1> >> </body> >> </html> >> >> return >> if ($p_format = "tei-xml") then (serialize($test, map { "method": "xml" })) else (serialize($test, map { "method": "html" })) >> >> >> However in both cases this does not work as expected: >> >> method:xml - The serialization option method:xml does not return valid XML, since the returned document is wrongly escaped (<html><head><title>Test Title</title></head><body><h1>Hello, World!</h1></body></html>). The content-type in the response header however is correct ("application/xml"). >> >> method:html - While the serialization option method:html correctly adds a doctype for HTML5 (i. e. <!DOCTYPE html>), the actual response in a browser is wrongly escaped (as in <!DOCTYPE html> >> <html><head><title>Test Title</title></head><body><h1>Hello, World!</h1></body></html>). Additionally the content-type in the response header is "application/xml" instead of "text/html". >> >> >> According to <https://exist-db.org/exist/apps/doc/xquery.xml#fn-serialize> I would have expected to be able to return different serializations via fn:serialize, but it seems it is only possible to have one serialization per XQuery script via "declare option exist:serialize ..."? >> >> I would be glad about any information or hints what I might be missing. >> >> Thanks a lot! >> >> Sascha > > -- > Pieter Lamers > John Benjamins Publishing Company > Postal Address: P.O. Box 36224, 1020 ME AMSTERDAM, The Netherlands > Visiting Address: Klaprozenweg 75D, 1033 NN AMSTERDAM, The Netherlands > Warehouse: Kelvinstraat 11-13, 1446 TK PURMEREND, The Netherlands > tel: +31 20 630 4747 > web: www.benjamins.com <http://www.benjamins.com/> > > > > _______________________________________________ > Exist-open mailing list > Exi...@li... <mailto:Exi...@li...> > https://lists.sourceforge.net/lists/listinfo/exist-open |