Mercurial Hosting > luan
diff src/luan/modules/parsers/Xml.java @ 1563:8fbcc4747091
remove LuanFunction.luan
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Mon, 09 Nov 2020 01:37:57 -0700 |
parents | b89212fd04b5 |
children | a8c685a894b4 |
line wrap: on
line diff
--- a/src/luan/modules/parsers/Xml.java Sun Nov 08 16:50:59 2020 -0700 +++ b/src/luan/modules/parsers/Xml.java Mon Nov 09 01:37:57 2020 -0700 @@ -16,8 +16,8 @@ public final class Xml { - public static String toString(Luan luan,LuanTable tbl) throws LuanException { - XmlElement[] elements = elements(luan,tbl); + public static String toString(LuanTable tbl) throws LuanException { + XmlElement[] elements = elements(tbl); if( elements.length != 1 ) throw new LuanException("XML must have 1 root element"); return elements[0].toString(); @@ -26,9 +26,9 @@ private static final String ATTRIBUTES = "xml_attributes"; private static final String TEXT = "xml_text"; - private static XmlElement[] elements(Luan luan,LuanTable tbl) throws LuanException { + private static XmlElement[] elements(LuanTable tbl) throws LuanException { List<XmlElement> list = new ArrayList<XmlElement>(); - for( Map.Entry entry : tbl.iterable() ) { + for( Map.Entry entry : tbl.rawIterable() ) { Object key = entry.getKey(); if( !(key instanceof String) ) throw new LuanException("XML key must be string"); @@ -40,27 +40,27 @@ throw new LuanException("Can't mix text and elements"); LuanTable t = (LuanTable)value; if( t.isMap() ) { - list.add( element(luan,name,t) ); + list.add( element(name,t) ); } else { for( Object obj : t.asList() ) { - list.add( element(luan,name,obj) ); + list.add( element(name,obj) ); } } } return list.toArray(new XmlElement[0]); } - private static XmlElement element(Luan luan,String name,Object obj) throws LuanException { + private static XmlElement element(String name,Object obj) throws LuanException { if( obj instanceof String ) { return new XmlElement( name, Collections.emptyMap(), (String)obj ); } LuanTable t = (LuanTable)obj; - Map<String,String> attributes = attributes(luan,t); - String s = (String)t.get(luan,TEXT); + Map<String,String> attributes = attributes(t); + String s = (String)t.rawGet(TEXT); if( s != null ) { return new XmlElement(name,attributes,s); } else { - XmlElement[] elements = elements(luan,t); + XmlElement[] elements = elements(t); if( elements.length==0 ) { return new XmlElement(name,attributes); } else { @@ -69,13 +69,13 @@ } } - private static Map<String,String> attributes(Luan luan,LuanTable tbl) throws LuanException { - Object obj = tbl.get(luan,ATTRIBUTES); + private static Map<String,String> attributes(LuanTable tbl) throws LuanException { + Object obj = tbl.rawGet(ATTRIBUTES); if( obj==null ) return Collections.emptyMap(); LuanTable t = (LuanTable)obj; Map<String,String> map = new LinkedHashMap<String,String>(); - for( Map.Entry entry : t.iterable() ) { + for( Map.Entry entry : t.rawIterable() ) { String name =(String)entry.getKey(); String value =(String)entry.getValue(); map.put(name,value);