Compare commits
	
		
			5 Commits
		
	
	
		
			4128196b93
			...
			xpath_vers
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| f7188380f6 | |||
| ee21a15600 | |||
| 3b4eeacb93 | |||
| a872350c9d | |||
| f618b882e8 | 
@@ -1,5 +1,3 @@
 | 
				
			|||||||
from typing import Any
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
from lxml import etree, html
 | 
					from lxml import etree, html
 | 
				
			||||||
from io import BytesIO
 | 
					from io import BytesIO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -81,11 +79,9 @@ def xpath(source: str, xpath: str) -> str:
 | 
				
			|||||||
    else:
 | 
					    else:
 | 
				
			||||||
        result_string = ""
 | 
					        result_string = ""
 | 
				
			||||||
        for e in result:
 | 
					        for e in result:
 | 
				
			||||||
            if isinstance(e, etree._Element):
 | 
					            result_string += etree.tostring(e, pretty_print=True).decode() + "\n"
 | 
				
			||||||
                result_string += etree.tostring(e, pretty_print=True).decode() + "\n"
 | 
					        return result_string, "node"
 | 
				
			||||||
            else:
 | 
					
 | 
				
			||||||
                result_string += str(e) + "\n"
 | 
					 | 
				
			||||||
    return result_string, "node"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def xsd(source: str, xsd: str) -> bool:
 | 
					def xsd(source: str, xsd: str) -> bool:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,10 +18,6 @@ import javax.xml.transform.stream.StreamSource;
 | 
				
			|||||||
import javax.xml.validation.Schema;
 | 
					import javax.xml.validation.Schema;
 | 
				
			||||||
import javax.xml.validation.SchemaFactory;
 | 
					import javax.xml.validation.SchemaFactory;
 | 
				
			||||||
import javax.xml.validation.Validator;
 | 
					import javax.xml.validation.Validator;
 | 
				
			||||||
import javax.xml.xpath.XPath;
 | 
					 | 
				
			||||||
import javax.xml.xpath.XPathConstants;
 | 
					 | 
				
			||||||
import javax.xml.xpath.XPathExpression;
 | 
					 | 
				
			||||||
import javax.xml.xpath.XPathFactory;
 | 
					 | 
				
			||||||
import java.io.ByteArrayOutputStream;
 | 
					import java.io.ByteArrayOutputStream;
 | 
				
			||||||
import java.io.OutputStreamWriter;
 | 
					import java.io.OutputStreamWriter;
 | 
				
			||||||
import java.io.StringReader;
 | 
					import java.io.StringReader;
 | 
				
			||||||
@@ -65,13 +61,6 @@ public class Xalan implements XmlEngine{
 | 
				
			|||||||
        return nodeType == Node.CDATA_SECTION_NODE || nodeType == Node.TEXT_NODE;
 | 
					        return nodeType == Node.CDATA_SECTION_NODE || nodeType == Node.TEXT_NODE;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private boolean isAttributeNode(Node n) {
 | 
					 | 
				
			||||||
        if (n == null)
 | 
					 | 
				
			||||||
            return false;
 | 
					 | 
				
			||||||
        short nodeType = n.getNodeType();
 | 
					 | 
				
			||||||
        return nodeType == Node.CDATA_SECTION_NODE || nodeType == Node.ATTRIBUTE_NODE;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public String processXSLT(XMLMultipleFilesData[] data, String transform) throws Exception {
 | 
					    public String processXSLT(XMLMultipleFilesData[] data, String transform) throws Exception {
 | 
				
			||||||
        throw new UnsupportedOperationException("Xalan does not support multiple files XSLT processing");
 | 
					        throw new UnsupportedOperationException("Xalan does not support multiple files XSLT processing");
 | 
				
			||||||
@@ -112,10 +101,7 @@ public class Xalan implements XmlEngine{
 | 
				
			|||||||
                    for (Node nn = n.getNextSibling(); isTextNode(nn); nn = nn.getNextSibling()) {
 | 
					                    for (Node nn = n.getNextSibling(); isTextNode(nn); nn = nn.getNextSibling()) {
 | 
				
			||||||
                        resultString.append(nn.getNodeValue());
 | 
					                        resultString.append(nn.getNodeValue());
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                } else if (isAttributeNode(n)) {
 | 
					                } else {
 | 
				
			||||||
                    resultString.append(n.getNodeValue());
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
                else {
 | 
					 | 
				
			||||||
                    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
 | 
					                    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
 | 
				
			||||||
                    serializer.transform(new DOMSource(n), new StreamResult(new OutputStreamWriter(outputStream)));
 | 
					                    serializer.transform(new DOMSource(n), new StreamResult(new OutputStreamWriter(outputStream)));
 | 
				
			||||||
                    resultString.append(outputStream);
 | 
					                    resultString.append(outputStream);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,6 +18,7 @@ const result = ref('');
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
let enginesForCurrentTool = ref(["saxon", "xalan", "libxml"]);
 | 
					let enginesForCurrentTool = ref(["saxon", "xalan", "libxml"]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const allVersionsOfXpath = ["2.0", "3.0", "3.1"];
 | 
				
			||||||
const allVersions = ["1.0", "2.0", "3.0", "3.1"];
 | 
					const allVersions = ["1.0", "2.0", "3.0", "3.1"];
 | 
				
			||||||
let versionsForCurrentEngine = ref([""]);
 | 
					let versionsForCurrentEngine = ref([""]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -73,7 +74,7 @@ function changeAvailableVersionsOfXPath() {
 | 
				
			|||||||
    if(engine.value == "xalan" || engine.value == "libxml")
 | 
					    if(engine.value == "xalan" || engine.value == "libxml")
 | 
				
			||||||
        versionsForCurrentEngine.value = ["1.0"];
 | 
					        versionsForCurrentEngine.value = ["1.0"];
 | 
				
			||||||
    else if (engine.value == "saxon")
 | 
					    else if (engine.value == "saxon")
 | 
				
			||||||
        versionsForCurrentEngine.value = allVersions;
 | 
					        versionsForCurrentEngine.value = allVersionsOfXpath;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function selectDefaultEngine() {
 | 
					function selectDefaultEngine() {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user