diff --git a/schema-0.5/binding-0.5.jsd b/schema-0.5/binding-0.5.jsd index a6057d0..432d0f5 100644 --- a/schema-0.5/binding-0.5.jsd +++ b/schema-0.5/binding-0.5.jsd @@ -8,7 +8,7 @@ }, "typeIdentifier": { "@": "string", - "@pattern": "(([a-zA-Z_$][a-zA-Z\\d_$]*)\\.)*[a-zA-Z_$][a-zA-Z\\d_$]*(\\[\\])?" + "@pattern": "(([a-zA-Z_$][a-zA-Z\\d_$]*)\\.)*[a-zA-Z_$][a-zA-Z\\d_$]*(<.*>)?(\\[\\])?" }, "methodIdentifier": { "@": "string", @@ -101,7 +101,7 @@ }, "any": { "@": "object", - "@extends": "fieldBindings", + "@extends": "typeFieldBindings", "@properties": { "@": { "@": "string", diff --git a/schema-0.5/binding-0.5.jsdx b/schema-0.5/binding-0.5.jsdx index d62fd3c..d1c32c1 100644 --- a/schema-0.5/binding-0.5.jsdx +++ b/schema-0.5/binding-0.5.jsdx @@ -29,7 +29,7 @@ - + @@ -59,7 +59,7 @@ - + diff --git a/schema-0.5/binding-0.5.xsd b/schema-0.5/binding-0.5.xsd index d843be9..eddd442 100644 --- a/schema-0.5/binding-0.5.xsd +++ b/schema-0.5/binding-0.5.xsd @@ -28,15 +28,15 @@ - + - + - + - + @@ -57,6 +57,7 @@ Specifies the "field" identifier. + @@ -67,7 +68,6 @@ Specifies the "type" qualified identifier. - @@ -137,17 +137,17 @@ - - + + @@ -160,15 +160,16 @@ - + @@ -181,15 +182,16 @@ - + @@ -202,16 +204,17 @@ - + @@ -224,107 +227,108 @@ - + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 1 and 'boolean' = local-name(root()/jx:array[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1])) or + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 2 and 'boolean' = local-name(root()/jx:object[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[2], '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1])) or + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 3 and 'boolean' = local-name(root()/jx:object[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[2], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[3], '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1])) or + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 4 and 'boolean' = local-name(root()/jx:object[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[2], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[3], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[4], '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1])) or + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 5 and 'boolean' = local-name(root()/jx:object[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[2], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[3], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[4], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[5], '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1])) or + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 6 and 'boolean' = local-name(root()/jx:object[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[2], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[3], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[4], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[5], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[6], '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1])) or + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 7 and 'boolean' = local-name(root()/jx:object[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[2], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[3], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[4], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[5], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[6], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[7], '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1])) or + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 8 and 'boolean' = local-name(root()/jx:object[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[2], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[3], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[4], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[5], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[6], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[7], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[8], '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1])) or + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 9 and 'boolean' = local-name(root()/jx:object[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[2], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[3], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[4], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[5], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[6], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[7], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[8], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[9], '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1]))))))"/> @@ -337,107 +341,108 @@ - + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 1 and 'number' = local-name(root()/jx:array[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1])) or + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 2 and 'number' = local-name(root()/jx:object[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[2], '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1])) or + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 3 and 'number' = local-name(root()/jx:object[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[2], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[3], '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1])) or + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 4 and 'number' = local-name(root()/jx:object[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[2], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[3], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[4], '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1])) or + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 5 and 'number' = local-name(root()/jx:object[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[2], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[3], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[4], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[5], '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1])) or + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 6 and 'number' = local-name(root()/jx:object[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[2], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[3], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[4], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[5], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[6], '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1])) or + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 7 and 'number' = local-name(root()/jx:object[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[2], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[3], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[4], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[5], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[6], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[7], '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1])) or + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 8 and 'number' = local-name(root()/jx:object[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[2], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[3], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[4], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[5], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[6], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[7], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[8], '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1])) or + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 9 and 'number' = local-name(root()/jx:object[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[2], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[3], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[4], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[5], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[6], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[7], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[8], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[9], '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1]))))))"/> @@ -450,107 +455,108 @@ - + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 1 and 'string' = local-name(root()/jx:array[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1])) or + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 2 and 'string' = local-name(root()/jx:object[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[2], '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1])) or + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 3 and 'string' = local-name(root()/jx:object[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[2], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[3], '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1])) or + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 4 and 'string' = local-name(root()/jx:object[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[2], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[3], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[4], '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1])) or + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 5 and 'string' = local-name(root()/jx:object[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[2], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[3], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[4], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[5], '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1])) or + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 6 and 'string' = local-name(root()/jx:object[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[2], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[3], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[4], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[5], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[6], '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1])) or + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 7 and 'string' = local-name(root()/jx:object[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[2], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[3], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[4], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[5], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[6], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[7], '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1])) or + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 8 and 'string' = local-name(root()/jx:object[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[2], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[3], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[4], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[5], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[6], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[7], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[8], '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1])) or + (count(tokenize($path, '((^|[^\\])(\\\\)*)\.')) = 9 and 'string' = local-name(root()/jx:object[@name = replace(replace($path, '((^|[^\\])(\\\\)*)[\.\[].*$', '$1'), '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[2], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[3], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[4], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[5], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[6], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[7], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[8], '\\(.)', '$1')]/jx:property[@name = replace(tokenize(replace(replace($path, '((^|[^\\])(\\\\)*)\[.*$', '$1'), '((^|[^\\])(\\\\)*)\.', '$1#xD'), '#xD')[9], '\\(.)', '$1')]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[1]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[2]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[3]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[4]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[5]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[6]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[7]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[8]) + 1]/*[number(tokenize(tokenize($path, '[^\]]\[')[2], '\]\[?')[9]) + 1]))))))"/> diff --git a/schema-0.5/schema-0.5.jsd b/schema-0.5/schema-0.5.jsd index bb84e11..7bccd97 100644 --- a/schema-0.5/schema-0.5.jsd +++ b/schema-0.5/schema-0.5.jsd @@ -18,18 +18,6 @@ "@": "string", "@pattern": "\\S|\\S.*\\S" }, - "typeIdentifier": { - "@": "string", - "@pattern": "(([a-zA-Z_$][a-zA-Z\\d_$]*)\\.)*[a-zA-Z_$][a-zA-Z\\d_$]*(\\[\\])?" - }, - "methodIdentifier": { - "@": "string", - "@pattern": "(([a-zA-Z_$][a-zA-Z\\d_$]*)\\.)*[a-zA-Z_$][a-zA-Z\\d_$]*(\\.)?" - }, - "fieldIdentifier": { - "@": "string", - "@pattern": "[a-zA-Z_$][a-zA-Z\\d_$]*" - }, "schemaLocation": { "@": "string", "@pattern": "((\\S|\\S.*\\S) (\\S|\\S.*\\S))+" diff --git a/schema-0.5/schema-0.5.jsdx b/schema-0.5/schema-0.5.jsdx index f684e0a..7301bf5 100644 --- a/schema-0.5/schema-0.5.jsdx +++ b/schema-0.5/schema-0.5.jsdx @@ -24,9 +24,6 @@ - - -