Quito Posted January 2, 2020 Posted January 2, 2020 (edited) Hi, How can I make use of <OtherAbstract Language="spa"> and <OtherAbstract Language="por"> in the XSL to specify the (OBJECTIVE, METHOD, RESULTS, CONCLUSIONS) fields to import? Here is a snippet of the Pubmed XML: ----------------------------------- <PubmedArticleSet> <PubmedArticle> <MedlineCitation Status="MEDLINE" Owner="NLM"> <Article> <Abstract> <AbstractText Label="OBJECTIVE" NlmCategory="OBJECTIVE">to describe...</AbstractText> <AbstractText Label="METHOD" NlmCategory="METHODS">descriptive correlational...</AbstractText> <AbstractText Label="RESULTS" NlmCategory="RESULTS">the average score of...</AbstractText> <AbstractText Label="CONCLUSIONS" NlmCategory="CONCLUSIONS">there were high levels of...</AbstractText> </Abstract> <Language>por</Language> <Language>eng</Language> <Language>spa</Language> </Article> <OtherAbstract Language="por"> <AbstractText Label="OBJECTIVE" NlmCategory="UNASSIGNED">descrever o...</AbstractText> <AbstractText Label="METHOD" NlmCategory="UNASSIGNED">estudo correlacional...</AbstractText> <AbstractText Label="RESULTS" NlmCategory="UNASSIGNED">a media...</AbstractText> <AbstractText Label="CONCLUSIONS" NlmCategory="UNASSIGNED">ha altos...</AbstractText> </OtherAbstract> <OtherAbstract Language="spa"> <AbstractText Label="OBJECTIVE" NlmCategory="UNASSIGNED">describir el...</AbstractText> <AbstractText Label="METHOD" NlmCategory="UNASSIGNED">descriptivo correlacional...</AbstractText> <AbstractText Label="RESULTS" NlmCategory="UNASSIGNED">se encontró...</AbstractText> <AbstractText Label="CONCLUSIONS" NlmCategory="UNASSIGNED">existen altos niveles de...</AbstractText> </OtherAbstract> </MedlineCitation> </PubmedArticle> </PubmedArticleSet> ----------------------------------- The corresponding XSL I've managed to flesh-out is: <METADATA> <!-- This is where the official NlmCategory Abstract goes --> <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="AbstractTextObjective" TYPE="TEXT"/> <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="AbstractTextMethods" TYPE="TEXT"/> <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="AbstractTextResults" TYPE="TEXT"/> <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="AbstractTextConclusions" TYPE="TEXT"/> <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Language" TYPE="TEXT"/> <!-- Here are the OtherAbstract fields I want to import with common Label and NlmCategory names. They get messed up during import, as the language has not been defined for each --> <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="OtherAbstractTextObjective_por" TYPE="TEXT"/> <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="OtherAbstractTextMethods_por" TYPE="TEXT"/> <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="OtherAbstractTextResults_por" TYPE="TEXT"/> <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="OtherAbstractTextConclusions_por" TYPE="TEXT"/> <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="OtherAbstractTextObjective_spa" TYPE="TEXT"/> <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="OtherAbstractTextMethods_spa" TYPE="TEXT"/> <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="OtherAbstractTextResults_spa" TYPE="TEXT"/> <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="OtherAbstractTextConclusions_spa" TYPE="TEXT"/> </METADATA> <RESULTSET> <!-- This is the standard form for English, using @NlmCategory. All others use @Label and NLMCategory=UNASSIGNED --> <xsl:for-each select="MedlineCitation"> <COL><DATA><xsl:value-of select="Article/Abstract/AbstractText[@NlmCategory='OBJECTIVE']"/></DATA></COL> <COL><DATA><xsl:value-of select="Article/Abstract/AbstractText[@NlmCategory='METHODS']"/></DATA></COL> <COL><DATA><xsl:value-of select="Article/Abstract/AbstractText[@NlmCategory='RESULTS']"/></DATA></COL> <COL><DATA><xsl:value-of select="Article/Abstract/AbstractText[@NlmCategory='CONCLUSIONS']"/></DATA></COL> </xsl:for-each> <COL> <DATA> <xsl:for-each select="MedlineCitation/Article"> <xsl:value-of select="Language"/> <xsl:if test="position()!=last()"> <xsl:value-of select="', '"/> </xsl:if> </xsl:for-each> </DATA> </COL> <COL> <DATA><xsl:value-of select="MedlineCitation/OtherAbstract/@Language"/></DATA> </COL> </RESULTSET> ------------------------------------- The problem I have is capturing the right fields within OtherAbstract, according to OtherAbstract Language="xxx" <Language> can usually have up to three (por, eng, spa), but they are not ordered (actually, the XSL is only importing the first <Language> because I don't know how to make it import the other two languages). Abstract/AbstractText is reserved for English and has an 'NlmCategory' so it's fairly simple to recognize the corresponding field. My current XSL allows importing OtherAbstract Language="". OtherAbstract/Abstract contains fields for abstracts in languages other than English, but the Labels (OBJECTIVE, METHOD, RESULTS, CONCLUSIONS) are usually the same among the PubmedArticles and their NlmCategory is always 'UNASSIGNED', so importing by Labels or NlmCategory messes up the languages. All the very best, Daniel Edited January 2, 2020 by Quito Missing some XSL
comment Posted January 2, 2020 Posted January 2, 2020 IMHO you should import each language as a separate record (otherwise why would you need the language field). So the first 5 fields you show should be quite sufficient. However, you will need another field to link the multiple records to a common parent citation. I don't see a unique identifier in the provided XML example, and this might pose a problem - esp. if the source can contain multiple citations. Note that this assumes that the labels (OBJECTIVE, METHOD, RESULTS, CONCLUSIONS) are always the same (even if some are missing). Otherwise the proper structure for importing such data is to have a record for each AbstractText, with fields for: CitationID Label Language AbstractText 1
ggt667 Posted January 2, 2020 Posted January 2, 2020 1 hour ago, Quito said: <COL> <DATA> <xsl:for-each select="MedlineCitation/Article"> <xsl:value-of select="Language"/> <xsl:if test="position()!=last()"> <xsl:value-of select="', '"/> </xsl:if> </xsl:for-each> </DATA> </COL> Better write a template than a for-each 1
Quito Posted January 2, 2020 Author Posted January 2, 2020 Thank you Comment, One PubMed Article contains an Abstract in English and one or more translations split into one, four or five fields. I included the most common in my XML/XSL (OBJECTIVE, METHOD, RESULTS, CONCLUSIONS). There is a unique identifier for the entire PubMed Article, called PMID. If I understood correctly, you suggest using PMID and Language to retrieve the OtherAbstract fields? This could work. Can you elaborate a bit further in order to give it a try? ------------------ Thank you gt667, I've seen the 'template' code within a few sample XSL's. I'll give it a whack and update shortly. Best, Daniel
ggt667 Posted January 2, 2020 Posted January 2, 2020 If CPU is of importance to you template will be spending way less CPU( and probably memory as well ) than for-each.
Quito Posted January 2, 2020 Author Posted January 2, 2020 Hi ggt667, So, I replaced the for-each Language XSL with: <xsl:template match="MedlineCitation/Article/Language"> Language: <span style="color:#ff0000"> <xsl:value-of select="."/></span> <br /> </xsl:template> but it threw an exception complaining there cannot be two <xsl:template>, the other one being an <xsl:template match="/"> at the top. The dialog window truncates the error message, so I cannot even tell where/what the error is...
ggt667 Posted January 2, 2020 Posted January 2, 2020 (edited) templates are like subroutines, you will have to define and call them. This was the first entry when I DDGed `xslt template call` https://www.w3schools.com/xml/ref_xsl_el_call-template.asp Edited January 2, 2020 by ggt667
comment Posted January 2, 2020 Posted January 2, 2020 (edited) 1 hour ago, Quito said: There is a unique identifier for the entire PubMed Article, called PMID. Can you post a more representative XML, one that shows the PMID? Also, if there can be more than one MedlineCitation within a PubmedArticle, you will need a unique ID for each one of these too. If the XML doesn't have them, you will need to create them during the import; this is possible, but it adds another level of complexity. 1 hour ago, Quito said: If I understood correctly, you suggest using PMID and Language to retrieve the OtherAbstract fields? No, I suggest using the PMID to link the individual AbstractText records to the parent article (or citation) within your Filemake solution. --- P.S. The xsl:for-each instruction is an integral part of the XSLT language and there is absolutely nothing wrong with using it (where appropriate). I am not aware of a shred of evidence to suggest it is slower or uses more memory than separate templates. Edited January 2, 2020 by comment
ggt667 Posted January 2, 2020 Posted January 2, 2020 23 minutes ago, comment said: P.S. The xsl:for-each instruction is an integral part of the XSLT language and there is absolutely nothing wrong with using it (where appropriate). I am not aware of a shred of evidence to suggest it is slower or uses more memory than separate templates. The appropriate use of for-each is for the equivalent of FileMaker's value list.
Quito Posted January 2, 2020 Author Posted January 2, 2020 OK Comment: Here is an XML with two full PubMedArticles. Let me know if you would like to see the XSL. Best, Daniel PubMedArticles.xml
ggt667 Posted January 2, 2020 Posted January 2, 2020 Thanks, this is most likely sufficient to have an opinion, however is there a public access point where these XMLs can be retrieved?
comment Posted January 2, 2020 Posted January 2, 2020 (edited) The following stylesheet will create a record for each abstract, with fields for: PMID Language (this will be empty for the "main" abstract; if you like, you can fill it with a default value) Objective Methods Results Conclusions <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/> <xsl:template match="/PubmedArticleSet"> <FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult"> <!-- FIELDS --> <METADATA> <FIELD NAME="PMID"/> <FIELD NAME="Language"/> <FIELD NAME="Objective"/> <FIELD NAME="Methods"/> <FIELD NAME="Results"/> <FIELD NAME="Conclusions"/> </METADATA> <!-- DATA --> <RESULTSET> <xsl:for-each select="PubmedArticle/MedlineCitation"> <xsl:variable name="id" select="PMID" /> <xsl:for-each select="Article/Abstract | OtherAbstract"> <ROW> <COL><DATA><xsl:value-of select="$id"/></DATA></COL> <COL><DATA><xsl:value-of select="@Language"/></DATA></COL> <COL><DATA><xsl:value-of select="AbstractText[@Label='OBJECTIVE' or @NlmCategory='OBJECTIVE']"/></DATA></COL> <COL><DATA><xsl:value-of select="AbstractText[@Label='METHOD']"/></DATA></COL> <COL><DATA><xsl:value-of select="AbstractText[@Label='RESULTS']"/></DATA></COL> <COL><DATA><xsl:value-of select="AbstractText[@Label='CONCLUSIONS']"/></DATA></COL> </ROW> </xsl:for-each> </xsl:for-each> </RESULTSET> </FMPXMLRESULT> </xsl:template> </xsl:stylesheet> This is intended for importing into an Abstracts table, that will be related to an Articles table by matching PMID. Importing the provided example will result in: Note that there is an inconsistency in the format of the input: in most AbstractText elements, the Label attribute has the meaningful content - but this attribute is missing in the first AbstractText element in Abstract. I have added a workaround for this case, you may need to add more. ---- The following stylesheet will create a record for each abstract text, with fields for: PMID Language Category Text <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/> <xsl:template match="/PubmedArticleSet"> <FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult"> <!-- FIELDS --> <METADATA> <FIELD NAME="PMID"/> <FIELD NAME="Language"/> <FIELD NAME="Category"/> <FIELD NAME="Text"/> </METADATA> <!-- DATA --> <RESULTSET> <xsl:for-each select="PubmedArticle/MedlineCitation"> <xsl:variable name="id" select="PMID" /> <xsl:for-each select="Article/Abstract/AbstractText | OtherAbstract/AbstractText "> <ROW> <COL><DATA><xsl:value-of select="$id"/></DATA></COL> <COL><DATA><xsl:value-of select="../@Language"/></DATA></COL> <COL><DATA><xsl:value-of select="(@Label | @NlmCategory)[1]"/></DATA></COL> <COL><DATA><xsl:value-of select="."/></DATA></COL> </ROW> </xsl:for-each> </xsl:for-each> </RESULTSET> </FMPXMLRESULT> </xsl:template> </xsl:stylesheet> This is intended for importing into an AbstractTexts table, that will be related to an Articles table by matching PMID. Importing the provided example will result in: Edited January 2, 2020 by comment
Quito Posted January 3, 2020 Author Posted January 3, 2020 5 hours ago, ggt667 said: Thanks, this is most likely sufficient to have an opinion, however is there a public access point where these XMLs can be retrieved? Hi ggt667, Yes. The URL for the two examples is: https://www.ncbi.nlm.nih.gov/pubmed/?term=31618393+31618392 You will need to select the Format dropdown and change from Summary to XML. The XML is missing <PubMedArticleSet> at the very beginning and </PubMedArticleSet> at the end. 5 hours ago, comment said: The following stylesheet will create a record for each abstract, with fields for: PMID Language (this will be empty for the "main" abstract; if you like, you can fill it with a default value) Objective Methods Results Conclusions <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/> <xsl:template match="/PubmedArticleSet"> <FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult"> <!-- FIELDS --> <METADATA> <FIELD NAME="PMID"/> <FIELD NAME="Language"/> <FIELD NAME="Objective"/> <FIELD NAME="Methods"/> <FIELD NAME="Results"/> <FIELD NAME="Conclusions"/> </METADATA> <!-- DATA --> <RESULTSET> <xsl:for-each select="PubmedArticle/MedlineCitation"> <xsl:variable name="id" select="PMID" /> <xsl:for-each select="Article/Abstract | OtherAbstract"> <ROW> <COL><DATA><xsl:value-of select="$id"/></DATA></COL> <COL><DATA><xsl:value-of select="@Language"/></DATA></COL> <COL><DATA><xsl:value-of select="AbstractText[@Label='OBJECTIVE' or @NlmCategory='OBJECTIVE']"/></DATA></COL> <COL><DATA><xsl:value-of select="AbstractText[@Label='METHOD']"/></DATA></COL> <COL><DATA><xsl:value-of select="AbstractText[@Label='RESULTS']"/></DATA></COL> <COL><DATA><xsl:value-of select="AbstractText[@Label='CONCLUSIONS']"/></DATA></COL> </ROW> </xsl:for-each> </xsl:for-each> </RESULTSET> </FMPXMLRESULT> </xsl:template> </xsl:stylesheet> This is intended for importing into an Abstracts table, that will be related to an Articles table by matching PMID. Importing the provided example will result in: Note that there is an inconsistency in the format of the input: in most AbstractText elements, the Label attribute has the meaningful content - but this attribute is missing in the first AbstractText element in Abstract. I have added a workaround for this case, you may need to add more. ---- The following stylesheet will create a record for each abstract text, with fields for: PMID Language Category Text <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/> <xsl:template match="/PubmedArticleSet"> <FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult"> <!-- FIELDS --> <METADATA> <FIELD NAME="PMID"/> <FIELD NAME="Language"/> <FIELD NAME="Category"/> <FIELD NAME="Text"/> </METADATA> <!-- DATA --> <RESULTSET> <xsl:for-each select="PubmedArticle/MedlineCitation"> <xsl:variable name="id" select="PMID" /> <xsl:for-each select="Article/Abstract/AbstractText | OtherAbstract/AbstractText "> <ROW> <COL><DATA><xsl:value-of select="$id"/></DATA></COL> <COL><DATA><xsl:value-of select="../@Language"/></DATA></COL> <COL><DATA><xsl:value-of select="(@Label | @NlmCategory)[1]"/></DATA></COL> <COL><DATA><xsl:value-of select="."/></DATA></COL> </ROW> </xsl:for-each> </xsl:for-each> </RESULTSET> </FMPXMLRESULT> </xsl:template> </xsl:stylesheet> This is intended for importing into an AbstractTexts table, that will be related to an Articles table by matching PMID. Importing the provided example will result in: Thank you Comment. Whoa! That's an incredibly elegant way of capturing everything in one go! It's going to take me a few days to adapt this. I'll post again as soon as I have it working and included in my XSL. Kind regards, Daniel
comment Posted January 3, 2020 Posted January 3, 2020 14 minutes ago, Quito said: I'll post again as soon as I have it working and included in my XSL. Not sure what you mean by "included in my XSL". This is meant to exist on its own, not to be included in another stylesheet. The XML contains data that needs to be imported into multiple tables - and you can only import into one table at a time. Each import needs its own stylesheet.
ggt667 Posted January 3, 2020 Posted January 3, 2020 17 hours ago, Quito said: Hi ggt667, So, I replaced the for-each Language XSL with: <xsl:template match="MedlineCitation/Article/Language"> Language: <span style="color:#ff0000"> <xsl:value-of select="."/></span> <br /> </xsl:template> but it threw an exception complaining there cannot be two <xsl:template>, the other one being an <xsl:template match="/"> at the top. The dialog window truncates the error message, so I cannot even tell where/what the error is... This may actually be a better example: https://www.devguru.com/content/technologies/xslt/elements-xslcall-template.html
ggt667 Posted January 3, 2020 Posted January 3, 2020 (edited) 10 hours ago, comment said: Not sure what you mean by "included in my XSL". This is meant to exist on its own, not to be included in another stylesheet. The XML contains data that needs to be imported into multiple tables - and you can only import into one table at a time. Each import needs its own stylesheet. While this is true from FileMaker's perspective I have several XSLTs that are first complete real world XML documents( MXML, MTML, OAG, UBL / EHF, and others, ) then split into parts for FileMaker specific imports. Edited January 3, 2020 by ggt667
ggt667 Posted January 3, 2020 Posted January 3, 2020 (edited) On 1/3/2020 at 4:43 AM, Quito said: Hi ggt667, Yes. The URL for the two examples is: https://www.ncbi.nlm.nih.gov/pubmed/?term=31618393+31618392 You will need to select the Format dropdown and change from Summary to XML. The XML is missing <PubMedArticleSet> at the very beginning and </PubMedArticleSet> at the end. Thank you Comment. Whoa! That's an incredibly elegant way of capturing everything in one go! It's going to take me a few days to adapt this. I'll post again as soon as I have it working and included in my XSL. Kind regards, Daniel Here is the raw query( I'm not sure which parameters are required, far from all are filled in, and many appears to be double up ) that changing the Summary to XML does: Quote POST /pubmed HTTP/1.1 Host: www.ncbi.nlm.nih.gov Connection: keep-alive Content-Length: 4351 Cache-Control: max-age=0 Origin: https://www.ncbi.nlm.nih.gov Upgrade-Insecure-Requests: 1 Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36 Sec-Fetch-User: ?1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Sec-Fetch-Site: cross-site Sec-Fetch-Mode: navigate Accept-Encoding: gzip, deflate, br Accept-Language: en-GB,en-US;q=0.9,en;q=0.8 term=31618393+31618392%5Buid%5D+&EntrezSystem2.PEntrez.PubMed.Pubmed_PageController.PreviousPageName=results&EntrezSystem2.PEntrez.PubMed.Pubmed_PageController.SpecialPageName=&EntrezSystem2.PEntrez.PubMed.Pubmed_Facets.FacetsUrlFrag=filters%3D&EntrezSystem2.PEntrez.PubMed.Pubmed_Facets.FacetSubmitted=false&EntrezSystem2.PEntrez.PubMed.Pubmed_Facets.BMFacets=&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.sPresentation=xml&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.sSort=none&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.FFormat=docsum&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.FSort=&email_format=docsum&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.email_sort=&email_address=&email_subj=31618393+31618392%5Buid%5D+-+PubMed&email_add_text=&EmailCheck1=&EmailCheck2=&BibliographyUser=&BibliographyUserName=my&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.FileFormat=docsum&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.LastPresentation=docsum&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.Presentation=xml&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.PageSize=20&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.LastPageSize=20&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.Sort=&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.LastSort=&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.FileSort=&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.Format=text&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.LastFormat=&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.PrevPageSize=20&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.PrevPresentation=docsum&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.PrevSort=&CollectionStartIndex=1&CitationManagerStartIndex=1&CitationManagerCustomRange=false&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_ResultsController.ResultCount=2&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_ResultsController.RunLastQuery=&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailReport=&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailFormat=&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailCount=&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailStart=&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailSort=&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.Email=&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailSubject=&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailText=&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailQueryKey=&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailHID=1r1WD96DIMUWZetUgmuwE3ML8uzkrFTHG4KcPHT1lo9Sj7pzeetkwhsdsqevcYZ8Uvlm1NtAw_TU8ieO9udbjsyLp8l7gDN9bj&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.QueryDescription=&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.Key=&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.Answer=&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.Holding=&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.HoldingFft=&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.HoldingNdiSet=&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.OToolValue=&EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.SubjectList=&EntrezSystem2.PEntrez.DbConnector.Db=pubmed&EntrezSystem2.PEntrez.DbConnector.LastDb=pubmed&EntrezSystem2.PEntrez.DbConnector.Term=31618393+31618392%5Buid%5D&EntrezSystem2.PEntrez.DbConnector.LastTabCmd=&EntrezSystem2.PEntrez.DbConnector.LastQueryKey=1&EntrezSystem2.PEntrez.DbConnector.IdsFromResult=&EntrezSystem2.PEntrez.DbConnector.LastIdsFromResult=&EntrezSystem2.PEntrez.DbConnector.LinkName=&EntrezSystem2.PEntrez.DbConnector.LinkReadableName=&EntrezSystem2.PEntrez.DbConnector.LinkSrcDb=&EntrezSystem2.PEntrez.DbConnector.Cmd=displaychanged&EntrezSystem2.PEntrez.DbConnector.TabCmd=&EntrezSystem2.PEntrez.DbConnector.QueryKey=&p%24a=EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.sPresentation&p%24l=EntrezSystem2&p%24st=pubmed This is a feature I miss in FileMaker being able to import XML using the HTTP verb _POST with a payload. It appears Brave claims to be FireFox, Safari and Chrome? The payload has been split by individual parameters below( Far from all are filled in ) ["term", "31618393+31618392%5Buid%5D+"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_PageController.PreviousPageName", "results"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_PageController.SpecialPageName", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_Facets.FacetsUrlFrag", "filters%3D"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_Facets.FacetSubmitted", "false"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_Facets.BMFacets", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.sPresentation", "xml"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.sSort", "none"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.FFormat", "docsum"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.FSort", ""] ["email_format", "docsum"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.email_sort", ""] ["email_address", ""] ["email_subj", "31618393+31618392%5Buid%5D+-+PubMed"] ["email_add_text", ""] ["EmailCheck1", ""] ["EmailCheck2", ""] ["BibliographyUser", ""] ["BibliographyUserName", "my"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.FileFormat", "docsum"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.LastPresentation", "docsum"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.Presentation", "xml"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.PageSize", "20"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.LastPageSize", "20"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.Sort", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.LastSort", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.FileSort", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.Format", "text"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.LastFormat", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.PrevPageSize", "20"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.PrevPresentation", "docsum"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.PrevSort", ""] ["CollectionStartIndex", "1"] ["CitationManagerStartIndex", "1"] ["CitationManagerCustomRange", "false"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_ResultsController.ResultCount", "2"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_ResultsController.RunLastQuery", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailReport", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailFormat", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailCount", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailStart", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailSort", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.Email", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailSubject", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailText", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailQueryKey", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailHID", "1r1WD96DIMUWZetUgmuwE3ML8uzkrFTHG4KcPHT1lo9Sj7pzeetkwhsdsqevcYZ8Uvlm1NtAw_TU8ieO9udbjsyLp8l7gDN9bj"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.QueryDescription", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.Key", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.Answer", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.Holding", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.HoldingFft", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.HoldingNdiSet", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.OToolValue", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.SubjectList", ""] ["EntrezSystem2.PEntrez.DbConnector.Db", "pubmed"] ["EntrezSystem2.PEntrez.DbConnector.LastDb", "pubmed"] ["EntrezSystem2.PEntrez.DbConnector.Term", "31618393+31618392%5Buid%5D"] ["EntrezSystem2.PEntrez.DbConnector.LastTabCmd", ""] ["EntrezSystem2.PEntrez.DbConnector.LastQueryKey", "1"] ["EntrezSystem2.PEntrez.DbConnector.IdsFromResult", ""] ["EntrezSystem2.PEntrez.DbConnector.LastIdsFromResult", ""] ["EntrezSystem2.PEntrez.DbConnector.LinkName", ""] ["EntrezSystem2.PEntrez.DbConnector.LinkReadableName", ""] ["EntrezSystem2.PEntrez.DbConnector.LinkSrcDb", ""] ["EntrezSystem2.PEntrez.DbConnector.Cmd", "displaychanged"] ["EntrezSystem2.PEntrez.DbConnector.TabCmd", ""] ["EntrezSystem2.PEntrez.DbConnector.QueryKey", ""] ["p%24a", "EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.sPresentation"] ["p%24l", "EntrezSystem2"] ["p%24st", "pubmed"] Edited January 4, 2020 by ggt667
Quito Posted January 9, 2020 Author Posted January 9, 2020 On 1/2/2020 at 11:06 PM, comment said: Not sure what you mean by "included in my XSL". This is meant to exist on its own, not to be included in another stylesheet. The XML contains data that needs to be imported into multiple tables - and you can only import into one table at a time. Each import needs its own stylesheet. Hi Comment, Many years ago, I used to have multiple XSLs for importing PubMed XML. It became a nightmare to keep up with all the PubMed XML changes that were cropping up at the time. Slowly, I managed to consolidate all the XSLs into just one file. I'm aware that it's a lot trickier to handle with a single XSL. Best, Daniel On 1/3/2020 at 8:49 AM, ggt667 said: This may actually be a better example: https://www.devguru.com/content/technologies/xslt/elements-xslcall-template.html Thank you ggt667, I'll give it a try and report how it went in a few days. Best, Daniel
comment Posted January 9, 2020 Posted January 9, 2020 13 minutes ago, Quito said: I'm aware that it's a lot trickier to handle with a single XSL. It's not " a lot trickier", it's impossible. Unless you are importing everything into a single "flat" table, and then use a script to split the imported data into separate tables - which is considerably more work. -- A side note: using a single XSLT stylesheet would be possible if Filemaker had allowed us to send a parameter to the stylesheet at runtime.
ggt667 Posted January 9, 2020 Posted January 9, 2020 (edited) 55 minutes ago, Quito said: Many years ago, I used to have multiple XSLs for importing PubMed XML. It became a nightmare to keep up with all the PubMed XML changes that were cropping up at the time. Slowly, I managed to consolidate all the XSLs into just one file. I'm aware that it's a lot trickier to handle with a single XSL. This depends on how you create the XSLTs. What is amazing about XSLT is when you dare to make more of them, and when you work with standards you can make XSLTs to split and join your other XSLTs. When I make XSLTs that are FileMaker centric, I make them in a way that I have a set of XSLTs that can build other XSLTs and specialized for each subset. Tip you can export complex XMLs from FileMaker, however you can only import them 1 table at the time; none relational. You can use the complex export as a template for how to split import data prior to import. Edited January 9, 2020 by ggt667
Quito Posted January 9, 2020 Author Posted January 9, 2020 15 minutes ago, comment said: It's not " a lot trickier", it's impossible. Unless you are importing everything into a single "flat" table, and then use a script to split the imported data into separate tables - which is considerably more work. -- A side note: using a single XSLT stylesheet would be possible if Filemaker had allowed us to send a parameter to the stylesheet at runtime. Yes, I went with a flat table and am using a Portal to separate the visibility of the abstracts according to language.
Quito Posted January 9, 2020 Author Posted January 9, 2020 6 minutes ago, ggt667 said: This depends on how you create the XSLTs. What is amazing about XSLT is when you dare to make more of them, and when you work with standards you can make XSLTs to split and join your other XSLTs. When I make XSLTs that are FileMaker centric, I make them in a way that I have a set of XSLTs that can build other XSLTs and specialized for each subset. Tip you can export complex XMLs from FileMaker, however you can only import them 1 table at the time; none relational. You can use the complex export as a template for how to split import data prior to import. At the time, I figured one XML from PubMed would only need one XSL to allow FileMaker to do its magic. I expect to use the tool I'm developing not only for importing PubMed XML but also for submitting XML from local Medical Journals, as the official tool is quite cumbersome to work with and has created lots of problems when dealing with abstracts in languages other than English. I read your post about the direct connection to PubMed and the resulting payload but it's way over my head. Sorry I cannot follow the idea.
ggt667 Posted January 9, 2020 Posted January 9, 2020 2 minutes ago, Quito said: also for submitting XML from local Medical Journals, as the official tool is quite cumbersome to work with and has created lots of problems when dealing with abstracts in languages other than English. Removing the need for double entry is a gain in itself.
ggt667 Posted January 10, 2020 Posted January 10, 2020 (edited) 19 hours ago, comment said: It's not " a lot trickier", it's impossible. Unless you are importing everything into a single "flat" table, and then use a script to split the imported data into separate tables - which is considerably more work. -- A side note: using a single XSLT stylesheet would be possible if Filemaker had allowed us to send a parameter to the stylesheet at runtime. One of the saddest parts about FileMaker is that we are not able to load XML from the command line, imagine being able to load like: /Applications/FileMaker\ Pro\ 18\ Advanced/FileMaker\ Pro\ 18\ Advanced.app/Contents/MacOS/\ FileMaker\ Pro\ 18\ Advanced layoutname bymatchingfieldnames << my.fmpxmlresult.xml from command line or even better Quote FileMaker\ Pro\ 18\ Advanced layoutnameasprrootlevel bymatchingfieldnames << $( xsltproc splitForFileMaker.xslt EHF.xml ) With properly naming I would be able to load any document. Edited January 10, 2020 by ggt667
Quito Posted January 11, 2020 Author Posted January 11, 2020 On 1/10/2020 at 8:42 AM, ggt667 said: One of the saddest parts about FileMaker is that we are not able to load XML from the command line, imagine being able to load like: /Applications/FileMaker\ Pro\ 18\ Advanced/FileMaker\ Pro\ 18\ Advanced.app/Contents/MacOS/\ FileMaker\ Pro\ 18\ Advanced layoutname bymatchingfieldnames << my.fmpxmlresult.xml from command line or even better With properly naming I would be able to load any document. Indeed, that would be very cool!
comment Posted January 11, 2020 Posted January 11, 2020 15 minutes ago, Quito said: Indeed, that would be very cool! What problem would it solve for you?
Quito Posted January 11, 2020 Author Posted January 11, 2020 Basically, I could create an interface to PubMed and search/retrieve/read in any language. There are many components within PubMed freely available in multiple languages. For example: https://www.ncbi.nlm.nih.gov/pubmed/?term=J+Med+Internet+Res+2014%3B16(12)%3Ae271 Best, Daniel
comment Posted January 11, 2020 Posted January 11, 2020 (edited) I am afraid I don't see the connection. I believe the topic is XSLT. If you have a situation where you need to choose which XSLT stylesheet to apply during the import from a "library" of existing stylesheets, there is a solution. However, I believe such situations are very rare, because usually it's not only a matter of selecting the stylesheet, but also the target table - which cannot be selected dynamically. So you would have a script (or a script step) for each type of import - and the path to the appropriate stylesheet would also be stored there. I recommend you adopt this approach instead of trying to import everything and anything into a single flat table. Edited January 11, 2020 by comment
Quito Posted January 11, 2020 Author Posted January 11, 2020 On 1/3/2020 at 6:41 PM, ggt667 said: Here is the raw query( I'm not sure which parameters are required, far from all are filled in, and many appears to be double up ) that changing the Summary to XML does: This is a feature I miss in FileMaker being able to import XML using the HTTP verb _POST with a payload. It appears Brave claims to be FireFox, Safari and Chrome? The payload has been split by individual parameters below( Far from all are filled in ) ["term", "31618393+31618392%5Buid%5D+"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_PageController.PreviousPageName", "results"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_PageController.SpecialPageName", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_Facets.FacetsUrlFrag", "filters%3D"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_Facets.FacetSubmitted", "false"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_Facets.BMFacets", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.sPresentation", "xml"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.sSort", "none"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.FFormat", "docsum"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.FSort", ""] ["email_format", "docsum"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.email_sort", ""] ["email_address", ""] ["email_subj", "31618393+31618392%5Buid%5D+-+PubMed"] ["email_add_text", ""] ["EmailCheck1", ""] ["EmailCheck2", ""] ["BibliographyUser", ""] ["BibliographyUserName", "my"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.FileFormat", "docsum"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.LastPresentation", "docsum"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.Presentation", "xml"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.PageSize", "20"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.LastPageSize", "20"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.Sort", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.LastSort", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.FileSort", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.Format", "text"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.LastFormat", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.PrevPageSize", "20"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.PrevPresentation", "docsum"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.PrevSort", ""] ["CollectionStartIndex", "1"] ["CitationManagerStartIndex", "1"] ["CitationManagerCustomRange", "false"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_ResultsController.ResultCount", "2"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_ResultsController.RunLastQuery", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailReport", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailFormat", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailCount", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailStart", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailSort", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.Email", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailSubject", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailText", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailQueryKey", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.EmailHID", "1r1WD96DIMUWZetUgmuwE3ML8uzkrFTHG4KcPHT1lo9Sj7pzeetkwhsdsqevcYZ8Uvlm1NtAw_TU8ieO9udbjsyLp8l7gDN9bj"] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.QueryDescription", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.Key", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.Answer", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.Holding", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.HoldingFft", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.HoldingNdiSet", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.OToolValue", ""] ["EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.EmailTab.SubjectList", ""] ["EntrezSystem2.PEntrez.DbConnector.Db", "pubmed"] ["EntrezSystem2.PEntrez.DbConnector.LastDb", "pubmed"] ["EntrezSystem2.PEntrez.DbConnector.Term", "31618393+31618392%5Buid%5D"] ["EntrezSystem2.PEntrez.DbConnector.LastTabCmd", ""] ["EntrezSystem2.PEntrez.DbConnector.LastQueryKey", "1"] ["EntrezSystem2.PEntrez.DbConnector.IdsFromResult", ""] ["EntrezSystem2.PEntrez.DbConnector.LastIdsFromResult", ""] ["EntrezSystem2.PEntrez.DbConnector.LinkName", ""] ["EntrezSystem2.PEntrez.DbConnector.LinkReadableName", ""] ["EntrezSystem2.PEntrez.DbConnector.LinkSrcDb", ""] ["EntrezSystem2.PEntrez.DbConnector.Cmd", "displaychanged"] ["EntrezSystem2.PEntrez.DbConnector.TabCmd", ""] ["EntrezSystem2.PEntrez.DbConnector.QueryKey", ""] ["p%24a", "EntrezSystem2.PEntrez.PubMed.Pubmed_ResultsPanel.Pubmed_DisplayBar.sPresentation"] ["p%24l", "EntrezSystem2"] ["p%24st", "pubmed"] Hi ggt667, Sorry, I forgot to add the link to the official E-Utilities provided: https://www.ncbi.nlm.nih.gov/books/NBK25497/ Best, Daniel
ggt667 Posted January 12, 2020 Posted January 12, 2020 (edited) 17 hours ago, comment said: I am afraid I don't see the connection. I believe the topic is XSLT. If you have a situation where you need to choose which XSLT stylesheet to apply during the import from a "library" of existing stylesheets, there is a solution. However, I believe such situations are very rare, because usually it's not only a matter of selecting the stylesheet, but also the target table - which cannot be selected dynamically. So you would have a script (or a script step) for each type of import - and the path to the appropriate stylesheet would also be stored there. I recommend you adopt this approach instead of trying to import everything and anything into a single flat table. The initial issue is that I have to do 12 imports to FileMaker to import 1 real world XML document, and I have 7 real world XML document types I import multiple times pr day. Having FileMaker do the imports is backseat driving. 17 hours ago, comment said: which cannot be selected dynamically. What?!? Edited January 12, 2020 by ggt667
Recommended Posts
This topic is 1775 days old. Please don't post here. Open a new topic instead.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now