Bonjour, je suis nouveau sur marklogic et dans le monde Xquery. Je ne suis pas capable de penser au point de départ pour écrire la logique suivante dans Marklogic Xquery. Je serais reconnaissant si quelqu'un peut me donner l'idée/échantillon afin que je puisse réaliser ce qui suit:MarkLogic Join Query
Je veux interroger A.XML basé sur une recherche de mot dans B.XML. La requête devrait produire C.XML. La logique devrait être le suivant:
A.XML
<root>
<content> The state passed its first ban on using a handheld cellphone while driving in 2004 Nokia Vodafone Nokia Growth Recession Creicket HBO</content>
</root>
B.XML
<WordLookUp>
<companies>
<company name="Vodafone">Vodafone</company>
<company name="Nokia">Nokia</company>
</companies>
<topics>
<topic group="Sports">Cricket</topic>
<topic group="Entertainment">HBO</topic>
<topic group="Finance">GDP</topic>
</topics>
<moods>
<mood number="4">Growth</mood>
<mood number="-5">Depression</mood>
<mood number="-3">Recession</mood>
</moods>
C.XML (XML Résultat)
<root>
<content> The state passed its first ban on using a handheld cellphone while driving in 2004 Nokia Vodafone Nokia Growth Recession Creicket HBO</content>
<updatedElement>
<companies>
<company count="1">Vodafone</company>
<company count="2">Nokia</company>
</companies>
<mood>1</mood>
<topics>
<topic count="1">Sports</topic>
<topic count="1">Entertainment</topic>
</topics>
<word-count>22</word-count>
</updatedElement>
</root>
Rechercher chaque entreprise/text() de A.xml dans B.xml, si correspondance trouvé créer tag: TAG {company count = "Nombre d'occurrences de ce mot"} société/@ nom {/ company}
Rechercher chaque sujet/texte() de A.xml dans B.xml, si correspondance trouvée créer tag tAG {sujet topic = "Nombre d'occurrences de ce mot"} groupe sujet/de @ {/} sujet
Rechercher chaque humeur/texte() de A.xml dans B.xml, si correspond trouvé [occurrences du premier mot * {/ humeur [premier mot]/@ nombre}] + [occurrences du deuxième mot * {/ humeur [second mot]/@ numéro})] ....
obtenir le nombre de mots de l'élément.
Vous comptez "2004" en tant que mot. Pourriez-vous, s'il vous plaît, éditer la question et définir "mot" exactement? Est-ce que les mots "" seront toujours séparés par des espaces ou pourraient-il y avoir d'autres délimiteurs? Est-ce que "compte-mots" un mot ou deux? Qu'en est-il de l'exercice 2012? –
Il peut être intéressant de savoir qu'il existe une solution XQuery entièrement conforme qui n'utilise aucune fonction d'extension et peut donc être exécutée sous n'importe quelle implémentation XQuery conforme. –