Compare commits
	
		
			3 Commits
		
	
	
		
			xpath_vers
			...
			3b96031a42
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 3b96031a42 | |||
| ec1b56677d | |||
| 1a72dc202d | 
| @@ -1,3 +1,5 @@ | ||||
| from typing import Any | ||||
|  | ||||
| from lxml import etree, html | ||||
| from io import BytesIO | ||||
|  | ||||
| @@ -79,9 +81,11 @@ def xpath(source: str, xpath: str) -> str: | ||||
|     else: | ||||
|         result_string = "" | ||||
|         for e in result: | ||||
|             result_string += etree.tostring(e, pretty_print=True).decode() + "\n" | ||||
|         return result_string, "node" | ||||
|  | ||||
|             if isinstance(e, etree._Element): | ||||
|                 result_string += etree.tostring(e, pretty_print=True).decode() + "\n" | ||||
|             else: | ||||
|                 result_string += str(e) + "\n" | ||||
|     return result_string, "node" | ||||
|  | ||||
|  | ||||
| def xsd(source: str, xsd: str) -> bool: | ||||
|   | ||||
| @@ -18,6 +18,10 @@ import javax.xml.transform.stream.StreamSource; | ||||
| import javax.xml.validation.Schema; | ||||
| import javax.xml.validation.SchemaFactory; | ||||
| 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.OutputStreamWriter; | ||||
| import java.io.StringReader; | ||||
| @@ -61,6 +65,13 @@ public class Xalan implements XmlEngine{ | ||||
|         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 | ||||
|     public String processXSLT(XMLMultipleFilesData[] data, String transform) throws Exception { | ||||
|         throw new UnsupportedOperationException("Xalan does not support multiple files XSLT processing"); | ||||
| @@ -101,7 +112,10 @@ public class Xalan implements XmlEngine{ | ||||
|                     for (Node nn = n.getNextSibling(); isTextNode(nn); nn = nn.getNextSibling()) { | ||||
|                         resultString.append(nn.getNodeValue()); | ||||
|                     } | ||||
|                 } else { | ||||
|                 } else if (isAttributeNode(n)) { | ||||
|                     resultString.append(n.getNodeValue()); | ||||
|                 } | ||||
|                 else { | ||||
|                     ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); | ||||
|                     serializer.transform(new DOMSource(n), new StreamResult(new OutputStreamWriter(outputStream))); | ||||
|                     resultString.append(outputStream); | ||||
|   | ||||
| @@ -8,8 +8,7 @@ | ||||
|       "@components/*":["./src/components/*"], | ||||
|       "@views/*":["./src/views/*"], | ||||
|       "@assets/*":["./src/assets/*"], | ||||
|     }, | ||||
|     "types": ["vite/client", "vue"] | ||||
|     } | ||||
|   }, | ||||
|   "references": [ | ||||
|     { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user