Files

103 lines
2.6 KiB
JavaScript

import xpath from "xpath";
export const parseXml = (xmlStr) => {
const parser = new DOMParser();
return parser.parseFromString(xmlStr, "text/xml");
};
export const selectCurrentSectionTitleDescriptions = (doc, currentSection) => {
return xpath.select(
"//form/tabs/tab[" + currentSection + " ]/labels/label/@description",
doc
);
};
export const selectCurrentSectionRows = (doc, currentSection) => {
return xpath.select(
"/form/tabs/tab[" +
currentSection +
"]/columns//sections/section/rows/row",
doc
);
};
export const selectFormTabs = (doc) => {
return xpath.select("/form/tabs", doc);
};
export const selectAllTabTitleDescriptions = (doc) => {
return xpath.select("//form/tabs/tab[*]/labels/label/@description", doc);
};
export const parseRowOuterHTML = (outerHTML) => {
const parser = new DOMParser();
return parser.parseFromString(outerHTML, "text/xml");
};
export const selectRowLabelDescriptions = (doc) => {
return xpath.select("//label/@description", doc);
};
export const selectRowFieldType = (doc) => {
return xpath.select("//@classid", doc);
};
export const selectRowValidation = (doc) => {
return xpath.select("//@validation", doc);
};
export const selectRowMaxFieldLength = (doc) => {
return xpath.select("//@maxFieldLength", doc);
};
export const selectRowMaxSubField = (doc) => {
return xpath.select("//@maxsubfield", doc);
};
export const selectRowDataFieldName = (doc) => {
return xpath.select("//@datafieldname", doc);
};
export const selectRowDataFieldContent = (doc) => {
return xpath.select("//@datafieldcontent", doc);
};
export const selectRowParentField = (doc) => {
return xpath.select("//@parentField", doc);
};
export const selectRowParentFieldShowOnValue = (doc) => {
return xpath.select("//@parentFieldShowOnValue", doc);
};
export const selectRowRequiredDocumentValue = (doc) => {
return xpath.select("//@requiredDocumentValue", doc);
};
export const selectRowRequiredDocumentLabel = (doc) => {
return xpath.select("//@requiredDocumentLabel", doc);
};
export const selectRowDocumentTypeCode = (doc) => {
return xpath.select("//@ishareDocumentCode", doc);
};
export const selectRowHint = (doc) => {
return xpath.select("//label/@hint", doc);
};
export const selectRowDateStart = (doc) => {
return xpath.select("//@dateStart", doc);
};
export const selectRowDateEnd = (doc) => {
return xpath.select("//@dateEnd", doc);
};
export const selectErrorFieldLabelDescription = (doc, whichField) => {
return xpath.select(
"//*[control/@id='" + whichField + "']//@description",
doc
);
};