Specific regex solution
Escape the parentheses that you wish to literally appear in the phone number:
<xsd:pattern value="\(\d{3}\) \d{3}-\d{4}"/>
or
<xsd:pattern value="\([0-9]{3}\) [0-9]{3}-[0-9]{4}"/>
then either pattern will match phone numbers of the requested form.
General design considerations
The above solution addresses your specific question, however, keep in mind that phone numbers are often written in many other ways than (999) 999-9999
, both in the US and internationally. This topic is addressed in this question on Stack Overflow: A comprehensive regex for phone number validation.
A more robust design would select a general, normalized format for storage and exchange as declared in the XSD. Providers of this data would be responsible for converting from acceptable conventions to the normalized form. It also can be useful to separately track the data in the provided form, even if it cannot be automatically converted to the normalized form, in cases where lax or partial validation is acceptable prior to transmission or storage.