11,13d10
< // https://www.rjmprogramming.com.au/PHP/CalendarChart/calendar_chart.php?title=Red%20Sox%20Attendance&desc=Red%20Sox%20Attendance&data=[newDate(2023,11,03),34],[newDate(2023,11,18),56]
< // https://www.rjmprogramming.com.au/PHP/TimelineChart/timeline_chart.php?title=US%20President&desc=US%20President&data=[~one~,newDate(2023,11,10),newDate(2023,11,12)],[~two~,newDate(2023,11,24),newDate(2023,11,26)]
< // https://www.rjmprogramming.com.au/PHP/AnnotatedTimelineChart/index.php?title=Sold%20Pencils%20and%20Sold%20Pens&desc1=Sold%20Pencils&title1=Sold%20Pencils%20title1&text1=Sold%20Pencils%20text1&desc2=Sold%20Pens&title2=Sold%20Pens%20title2&text2=Sold%20Pens%20text2&data=[newDate(2023,11,10),5,~adbh~,~teh~,7,~trh~,~trh~],[newDate(2023,11,20),3,~teh~,~teh~,8,~tqh~,~trh~]
27c24
< var arrflds=[], dtarrflds=[];
---
> var arrflds=[];
48c45
< var formhtml="
" + prefix + "
Google Chart Histogram & Pie Chart XML Data Twinning
RJM Programming - December, 2023
Thanks to https://catalog.data.gov/dataset?q=&sort=views_recent+desc and https://data.ny.gov/api/views/d6yy-54nr/rows.xml and https://www.w3schools.com/xml/xpath_examples.asp
" + suffix + "
";
---
> var formhtml="
" + prefix + "
Google Chart Histogram & Pie Chart XML Data Twinning
RJM Programming - December, 2023
Thanks to https://catalog.data.gov/dataset?q=&sort=views_recent+desc and https://data.ny.gov/api/views/d6yy-54nr/rows.xml and https://www.w3schools.com/xml/xpath_examples.asp
" + suffix + "
";
114,115c111,112
< if (path.indexOf(' or self:') != -1) {
< ixatatime=eval('' + path.split(' or self:').length);
---
> if (path.indexOf(' or ') != -1) {
> ixatatime=eval('' + path.split(' or ').length);
173c170
< askp=prompt('Is this type of field "' + arrflds[eval('' + firstset.length)] + '" ' + ('[' + dtarrflds[eval('' + firstset.length)] + ']').replace(/^\[\]$/g, '') + ' data to be output ... ' + result.childNodes[0].nodeValue, result.childNodes[0].nodeValue);
---
> askp=prompt('Is this type of field "' + arrflds[eval('' + firstset.length)] + '" data to be output ... ' + result.childNodes[0].nodeValue, result.childNodes[0].nodeValue);
431c428
< askp=prompt('Is this type of field "' + arrflds[eval('' + firstset.length)] + '" ' + ('[' + dtarrflds[eval('' + firstset.length)] + ']').replace(/^\[\]$/g, '') + ' data to be output ... ' + nodes[eval(i + iioff)].childNodes[0].nodeValue, nodes[eval(i + iioff)].childNodes[0].nodeValue);
---
> askp=prompt('Is this type of field "' + arrflds[eval('' + firstset.length)] + '" data to be output ... ' + nodes[eval(i + iioff)].childNodes[0].nodeValue, nodes[eval(i + iioff)].childNodes[0].nodeValue);
609d605
< var numtabcols=[], recsare=[], kin=0, okayhere=true, swaponeandzero=false;
613,678d608
< numtabcols=datasofar.split('~')[1].split('~')[0].split(String.fromCharCode(32));
< if (eval('' + numtabcols.length) >= 2) {
< if (eval('' + numtabcols.length) > 2) {
< for (kin=2; kin= 2) {
< //newst=arrorig[0] + '~,' + arrorig[1].split('~')[0].replace(/\ /g, ',') + ']';
< if (swaponeandzero) {
< newst='[~' + arrorig[1] + '~,' + arrorig[0].replace('[~','') + ',' + origst.split(arrorig[1] + ' ')[1].split('~')[0].replace(/\ /g, ',') + ']';
< } else {
< newst=arrorig[0] + '~,' + origst.replace(arrorig[0] + ' ','').split('~')[0].replace(/\ /g, ',') + ']';
< }
< datasofar=datasofar.replace(origst, newst);
< document.getElementById('xlvalue').value='Measure';
< document.getElementById('xbvalue').value='Measure';
< if (eval('' + arrorig.length) > 2) {
< for (kin=2; kin<=eval('' + arrorig.length); kin++) {
< document.getElementById('xlvalue').value+=',Measure';
< document.getElementById('xbvalue').value+=',Measure';
< }
< }
< }
< }
< recsare=datasofar.split(',[');
< //alert(datasofar.substring(0,40).replace(/\ /g,'x') + ' ... ' + recsare.length);
< recsare.sort();
< datasofar='';
< for (kin=1; kin document.getElementById('mybutm').click();
960d889
<
962d890
< var wc='', little=osel.value.replace(/\=$/g, ''), andw=' and ', dotdot='';
964,991d891
< if (osel.value.slice(-1) == '=') {
< if (document.getElementById('xpath').value.indexOf(']/') == -1) {
< wc=prompt('Optionally enter a "where" type of clause (adding to our start for you) ... ' + String.fromCharCode(10) + ' eg. ' + little + '="lookfor"' + String.fromCharCode(10) + ' eg. ' + little + '!="notlookfor"' + String.fromCharCode(10) + ' eg. ' + little + '<998', little);
< } else {
< little=' and ' + osel.value.replace(/\=$/g, '');
< wc=prompt('Optionally add an "and" subclause to your existant "where" type of clause (adding to our subclause start for you) ... ' + String.fromCharCode(10) + ' eg. ' + little + '="lookfor"' + String.fromCharCode(10) + ' eg. ' + little + '!="notlookfor"' + String.fromCharCode(10) + ' eg. ' + little + '<998', little);
< }
< if (wc == null) { wc=''; }
< if (wc.trim() != '' && wc != little) {
< if (document.getElementById('xpath').value.indexOf(']/') == -1) {
< document.getElementById('xpath').value=document.getElementById('xpath').value.replace('/' + document.getElementById('xpath').value.split('/')[eval(-1 + document.getElementById('xpath').value.split('/').length)], '[]/' + document.getElementById('xpath').value.split('/')[eval(-1 + document.getElementById('xpath').value.split('/').length)]);
< document.getElementById('xpath').value=document.getElementById('xpath').value.replace(']/', wc.replace(/\]$/g,'').replace(/^\[/g,'') + ']/');
< document.getElementById('myfldselopt').innerText=('Optionally display selected field name(s) value(s)').replace('Optionally display selected field name(s) value(s)','Optionally display selected field name(s) [' + document.getElementById('xpath').value.split('[')[1].split(']')[0] + '] value(s)') + ' ...' + document.getElementById('myfldselopt').innerText.split(' ...')[1]
< } else {
< if (wc.toLowerCase().replace(/^\ or\ /g, ' and ').indexOf(' and ') == 0) {
< andw='';
< } else {
< document.getElementById('xpath').value=document.getElementById('xpath').value.replace(']/' + document.getElementById('xpath').value.split('/')[eval(-1 + document.getElementById('xpath').value.split('/').length)], andw + ']/' + document.getElementById('xpath').value.split('/')[eval(-1 + document.getElementById('xpath').value.split('/').length)]);
< }
< document.getElementById('xpath').value=document.getElementById('xpath').value.replace(']/', wc.replace(/\]$/g,'').replace(/^\[/g,'') + ']/');
< document.getElementById('myfldselopt').innerText=('Optionally display selected field name(s) value(s)').replace('Optionally display selected field name(s) value(s)','Optionally display selected field name(s) [' + document.getElementById('xpath').value.split('[')[1].split(']')[0] + '] value(s)') + ' ...' + document.getElementById('myfldselopt').innerText.split(' ...')[1]
< }
< dotdot=document.getElementById('xtitle').value.replace(document.getElementById('xtitle').value.split(' .. ')[0], '');
< //alert(dotdot + ' ... ' + document.getElementById('xtitle').value);
< document.getElementById('xtitle').value=document.getElementById('xtitle').value.split(' -- ')[0].split((' .... ' + (document.getElementById('myfldselopt').innerText + '[]').split('[')[1].split(']')[0] + ' .. ').replace(/^\ \.\.\.\ \ \.\.\ /g, ' .. '))[0] + (' .... ' + (document.getElementById('myfldselopt').innerText + '[]').split('[')[1].split(']')[0] + ' .. ').replace(/^\ \.\.\.\ \ \.\.\ /g, ' .. ') + dotdot;
< }
< osel.value='';
< } else {
995,996c895
< document.getElementById('myfldselopt').innerText=document.getElementById('myfldselopt').innerText.split(' ...')[0] + ' ... ' + osel.value;
< document.getElementById('xtitle').value=document.getElementById('xtitle').value.split(' -- ')[0].split((' .... ' + (document.getElementById('myfldselopt').innerText + '[]').split('[')[1].split(']')[0] + ' .. ').replace(/^\ \.\.\.\ \ \.\.\ /g, ' .. '))[0] + (' .... ' + (document.getElementById('myfldselopt').innerText + '[]').split('[')[1].split(']')[0] + ' .. ').replace(/^\ \.\.\.\ \ \.\.\ /g, ' .. ') + osel.value;
---
> document.getElementById('myfldselopt').innerText='Optionally display selected field name(s) value(s) ... ' + osel.value;
998c897
< document.getElementById('xpath').value=document.getElementById('xpath').value.replace(/\]$/g, ' or self::' + osel.value + ']');
---
> document.getElementById('xpath').value=document.getElementById('xpath').value.replace(']', ' or self::' + osel.value + ']');
1000,1001d898
< dotdot=document.getElementById('xtitle').value.replace(document.getElementById('xtitle').value.split(' .. ')[0], '');
< document.getElementById('xtitle').value=document.getElementById('xtitle').value.split(' -- ')[0].split((' .... ' + (document.getElementById('myfldselopt').innerText + '[]').split('[')[1].split(']')[0] + ' .. ').replace(/^\ \.\.\.\ \ \.\.\ /g, ' .. '))[0] + (' .... ' + (document.getElementById('myfldselopt').innerText + '[]').split('[')[1].split(']')[0] + ' .. ').replace(/^\ \.\.\.\ \ \.\.\ /g, ' .. ') + dotdot + ',' + osel.value;
1004d900
< }
1012d907
< var dtfns=myxhr.responseText.split('"dataTypeName" : "');
1014d908
< var isokay=eval('' + dtfns.length);
1018d911
< dtarrflds=[];
1023,1028c916
< if (isokay > eval('' + dtarrflds.length)) {
< dtarrflds.push(dtfns[ifns].split('"')[0]);
< } else {
< dtarrflds.push('');
< }
< fieldsel=fieldsel.replace('', '');
---
> fieldsel=fieldsel.replace('', '');
1091c979
<
---
>
1101c989
<
---
>