Q: XML-to-JSON: what is a base element? and what is property? I'm trying to figure out what the author means by "base element:"
"XML elements become properties of their base element. Suppose you had the following
XML:"
<customer>
    <first>Bill</first>
    <last>Burke</last>
</customer>

The JSON mapping would look like:
{ "customer" :
    { "first" : { "$" : "Bill"},
       "last" : { "$" : "Burke" }
    }
}

I understand what's happening, but what does this person mean by base element?  Actually, what does this whole sentence mean? "XML elements become properties of their base element."  And what is a "property"  is this json property or xml property?  for xml there's elements, attributes, and values, and for json there's key and value.  So what is this "property" thing?

A: To rewrite it a bit more clearly and verbosely, "XML elements become JSON properties of the object that is the JSON representation of the parent of the XML element."
Property, in JS or JSON, is the key-value pair on an object, the rough equivalent of an attribute in XML (pairs of names and values on tags).
In your specific case, the XML element <first> becomes the property first on the object that is the value of customer, which represents the <customer> tag (which is a parent, or a base tag, of <first>).
