Ich habe 3 XML-Strukturen wie unten:Wie füge ich die Werte für die jeweiligen Elemente hinzu?
a.xml
<Books>
<Book>
<Publisher>ABC Pvt Ltd</Publisher>
<Month>May</Month>
<Year>2016</Year>
<BooksReleased>4</BooksReleased>
</Book>
</Books>
b.xml
<Books>
<Book>
<Publisher>XYZ Pvt Ltd</Publisher>
<Month>April</Month>
<Year>2016</Year>
<BooksReleased>2</BooksReleased>
</Book>
</Books>
c.xml
<Books>
<Book>
<Publisher>ABC Pvt Ltd</Publisher>
<Month>June</Month>
<Year>2016</Year>
<BooksReleased>2</BooksReleased>
</Book>
</Books>
Ich würde diese XML durch Verleger mögen Gruppe und müssen auch seine Gesamt nicht berechnen. von Büchern veröffentlicht vom Verlag für ein bestimmtes Jahr.
gewünschte Ausgabeformat:
<TotalCalc>
<PublishedBook>
<Publisher>ABC Pvt Ltd</Publisher>
<no.of books>6</no.of books>
</PublishedBook>
<PublishedBook>
<Publisher>XYZ Pvt Ltd</Publisher>
<no.of books>2</no.of books>
</PublishedBook>
</TotalCalc>
Bitte, hilf mir habe ich versucht, die folgenden aber es ist nicht
typeswitch($Publisher)
case element (ABC Pvt Ltd)
return sum($doc/BooksReleases[$doc/$Publisher = 'ABC Pvt Ltd'])
default return 'unknnown'
Gibt es einen anderen möglichen Weg als Tupel? Da wir Tupel der Version 7 verwenden, können sie nicht verwendet werden – LSB
Die Funktion 'cts: value-tuples' ist auch in MarkLogic 7 bekannt: http://docs.marklogic.com/7.0/cts:value-tuples. Falls Sie nur Tupel der Größe 2 benötigen, können Sie auch die älteren ['cts: element-value-co-occurrences'] verwenden (http://docs.marklogic.com/7.0/cts:element-value-co- Vorkommen) et al .. – grtjn
was wird 'cts: value-tuples' zurückgeben? Und warum machen wir 'json: array-values' über jedes Element? – basari66