@@ -112,9 +112,10 @@ func parseSyntaxSet(readDoc, writeDoc *etree.Element, comment, name, symbol, sub
112112 var aString * etree.Element
113113
114114 if subtype != "" {
115- subtypePath , err := etree .CompilePath ("/[ type='" + subtype + "']" );
115+ subtypePath , err := etree .CompilePath ("./" + symbol + "[@ type='" + subtype + "']" );
116116 if (err != nil ) {
117- return errors .New ("parseSyntaxSet() could not process query involving subtype " + subtype );
117+ return errors .New ("parseSyntaxSet() could not process path query compilation involving symbol '" + symbol +
118+ "' and subtype '" + subtype + "'" );
118119 }
119120 for _ , kwdbKeyword := range readDoc .FindElementsPath (subtypePath ) {
120121 aString = scopeStrings .CreateElement ("string" )
@@ -304,10 +305,27 @@ func main() {
304305 if err := parseSyntaxSet (kwdbRoot , theSyntaxDoc , "Integer constants" , "lsl.identifier.constant.integer" , "constant" , "integer" ); err != nil {
305306 log .Println (err )
306307 }
307-
308- if err := parseSyntaxSet (kwdbRoot , theSyntaxDoc , "Constants" , "lsl.identifier.constant" , "constant" , "" ); err != nil {
308+ // if err := parseSyntaxSet(kwdbRoot, theSyntaxDoc, "Float Constants", "lsl.identifier.constant.float", "float", "float"); err != nil {
309+ // log.Println(err)
310+ // }
311+ if err := parseSyntaxSet (kwdbRoot , theSyntaxDoc , "String Constants" , "lsl.identifier.constant.string" , "constant" , "string" ); err != nil {
312+ log .Println (err )
313+ }
314+ // if err := parseSyntaxSet(kwdbRoot, theSyntaxDoc, "Key Constants", "lsl.identifier.constant.key", "constant", "key"); err != nil {
315+ // log.Println(err)
316+ // }
317+ if err := parseSyntaxSet (kwdbRoot , theSyntaxDoc , "Vector Constants" , "lsl.identifier.constant.vector" , "constant" , "vector" ); err != nil {
318+ log .Println (err )
319+ }
320+ if err := parseSyntaxSet (kwdbRoot , theSyntaxDoc , "Rotation Constants" , "lsl.identifier.constant.rotation" , "constant" , "rotation" ); err != nil {
309321 log .Println (err )
310322 }
323+ // if err := parseSyntaxSet(kwdbRoot, theSyntaxDoc, "List Constants", "lsl.identifier.constant.list", "constant", "list"); err != nil {
324+ // log.Println(err)
325+ // }
326+ // if err := parseSyntaxSet(kwdbRoot, theSyntaxDoc, "Boolean Constants", "lsl.identifier.constant.boolean", "bool", "rotation"); err != nil {
327+ // log.Println(err)
328+ // }
311329
312330 if err := parseSyntaxSet (kwdbRoot , theSyntaxDoc , "Types" , "lsl.identifier.type" , "type" , "" ); err != nil {
313331 log .Println (err )
0 commit comments