2007 Davis Cup World Group

2007 Davis Cup World Group

The World Group was the highest level of Davis Cup competition in 2007. The first-round losers went into the Davis Cup World Group Play-offs, and the winners progress to the quarterfinals. The quarterfinalists are guaranteed a World Group spot for 2008.

Contents

  • Participating Teams 1
  • Draw 2
  • First round 3
    • Chile vs. Russia 3.1
    • France vs. Romania 3.2
    • Germany vs. Croatia 3.3
    • Belgium vs. Australia 3.4
    • Czech Republic vs. United States 3.5
    • Switzerland vs. Spain 3.6
    • Belarus vs. Sweden 3.7
    • Austria vs. Argentina 3.8
  • Quarterfinals 4
    • Russia vs. France 4.1
    • Belgium vs. Germany 4.2
    • United States vs. Spain 4.3
    • Sweden vs. Argentina 4.4
  • Semifinals 5
    • Russia vs. Germany 5.1
    • Sweden vs. United States 5.2
  • Final 6
    • United States vs. Russia 6.1
  • References 7

Participating Teams

Participating Teams

Austria

Belarus

Belgium

Chile

Croatia

Czech Republic

France

Germany

Romania

Russia

Spain

Sweden

Switzerland

United States

Draw

First round

Chile vs. Russia

France vs. Romania

Germany vs. Croatia

Belgium vs. Australia

Czech Republic vs. United States


Czech Republic
1
ČEZ Aréna, Ostrava, Czech Republic[1]
9–11 February 2007
Clay (i)

United States
4
1 2 3 4 5
1
Ivo Minář
Andy Roddick
4
6
6
4
2
6
3
6
   
2
Tomáš Berdych
James Blake
6
1
2
6
7
5
7
5
   
3
Lukáš Dlouhý / Pavel Vízner
Bob Bryan / Mike Bryan
4
6
4
6
4
6
     
4
Tomáš Berdych
Andy Roddick
6
4
3
6
2
6
64
77
   
5
Lukáš Dlouhý
Bob Bryan
65
77
4
6
       

Switzerland vs. Spain


Switzerland
2
Palexpo, Geneva, Switzerland[2]
9–11 February 2007
Carpet (i)

Spain
3
1 2 3 4 5
1
Marco Chiudinelli
Fernando Verdasco
6
3
6
4
3
6
77
62
   
2
Stéphane Bohli
David Ferrer
3
6
2
6
2
6
     
3
Yves Allegro / Marco Chiudinelli
Feliciano López / Fernando Verdasco
65
77
77
63
77
62
1
6
10
12
 
4
Stéphane Bohli
Fernando Verdasco
3
6
3
6
2
6
     
5
Marco Chiudinelli
David Ferrer
3
6
6
3
6
3
     

Belarus vs. Sweden


Belarus
2
Football Manege, Minsk, Belarus[3]
9–11 February 2007
Hard (i)

Sweden
3
1 2 3 4 5
1
Vladimir Voltchkov
Robin Söderling
3
6
63
77
1
6
     
2
Max Mirnyi
Thomas Johansson
4
6
4
6
4
6
     
3
Max Mirnyi / Vladimir Voltchkov
Simon Aspelin / Jonas Björkman
7
5
4
6
7
5
6
3
   
4
Max Mirnyi
Robin Söderling
710
68
5
7
710
68
63
77
3
6
 
5
Vladimir Voltchkov
Thomas Johansson
6
4
7
5
       

Austria vs. Argentina


Austria
1
Intersport Arena, Linz, Austria[4]
9–11 February 2007
Carpet (i)

Argentina
4
1 2 3 4 5
1
Stefan Koubek
José Acasuso
66
78
1
6
4
6
     
2
Jürgen Melzer
Guillermo Cañas
66
78
2
6
4
6
     
3
Julian Knowle / Jürgen Melzer
José Acasuso / Sebastián Prieto
6
3
62
77
6
1
7
5
   
4
Jürgen Melzer
Juan Martín del Potro
64
77
6
3
4
6
6
4
2
6
 
5
Alexander Peya
Guillermo Cañas
6
4
1
6
4
6
     

Quarterfinals

Russia vs. France


Russia
3
Luzhniki Arena, Moscow, Russia[5]
6–8 April 2007
Clay (i)

France
2
1 2 3 4 5
1
Nikolay Davydenko
Paul-Henri Mathieu
6
2
2
6
1
6
5
7
   
2
Mikhail Youzhny
Richard Gasquet
6
2
6
3
68
710
5
7
8
6
 
3
Igor Andreev / Nikolay Davydenko
Sébastien Grosjean / Michaël Llodra
3
6
7
5
6
3
3
6
6
3
 
4
Igor Andreev
Sébastien Grosjean
5
7
6
4
6
2
3
6
4
6
 
5
Marat Safin
Paul-Henri Mathieu
77
63
6
3
6
2
     

Belgium vs. Germany


Belgium
2
Sleuyter Arena, Ostend, Belgium[6]
6–8 April 2007
Clay (i)

Germany
3
1 2 3 4 5
1
Kristof Vliegen
Tommy Haas
77
64
5
7
4
6
2
6
   
2
Olivier Rochus
Philipp Kohlschreiber
3
6
5
7
64
77
     
3
Christophe Rochus / Olivier Rochus
Michael Kohlmann / Alexander Waske
6
4
2
6
3
6
1
6
   
4
Christophe Rochus
Michael Kohlmann
3
6
6
4
6
4
     
5
Dick Norman
Philipp Kohlschreiber
6
2
6
3
       

United States vs. Spain


United States
4
Joel Coliseum, Winston-Salem, United States[7]
6–8 April 2007
Hard (i)

Spain
1
1 2 3 4 5
1
James Blake
Tommy Robredo
6
4
6
3
6
4
     
2
Andy Roddick
Fernando Verdasco
77
65
6
1
6
4
     
3
Bob Bryan / Mike Bryan
Feliciano López / Fernando Verdasco
7
5
6
3
3
6
77
65
   
4
Bob Bryan
Tommy Robredo
4
6
4
6
       
5
James Blake
Feliciano López
6
3
77
63
       

Sweden vs. Argentina


Sweden
4
Swedish Exhibition Centre, Gothenburg, Sweden[8]
6–8 April 2007
Carpet (i)

Argentina
1
1 2 3 4 5
1
Thomas Johansson
David Nalbandian
63
77
77
62
6
2
77
60
   
2
Robin Söderling
Juan Martín del Potro
77
64
77
64
6
4
     
3
Jonas Björkman / Thomas Johansson
David Nalbandian / Guillermo Cañas
4
6
77
64
6
2
6
3
   
4
Jonas Björkman
Sebastián Prieto
6
1
6
2
       
5
Robert Lindstedt
Juan Martín del Potro
67
79
4
6
       

Semifinals

Russia vs. Germany


Russia
3
Olympic Stadium, Moscow, Russia[9]
21–23 September 2007
Clay (i)

Germany
2
1 2 3 4 5
1
Igor Andreev
Tommy Haas
6
2
6
2
6
2
     
2
Nikolay Davydenko
Philipp Kohlschreiber
77
65
2
6
2
6
6
4
5
7
 
3
Dmitry Tursunov / Mikhail Youzhny
Philipp Petzschner / Alexander Waske
3
6
6
3
64
77
65
77
   
4
Mikhail Youzhny
Philipp Petzschner
6
4
6
4
3
6
6
3
   
5
Igor Andreev
Philipp Kohlschreiber
6
3
3
6
6
0
6
3
   

Sweden vs. United States


Sweden
1
Scandinavium, Gothenburg, Sweden[10]
21–23 September 2007
Carpet (i)

United States
4
1 2 3 4 5
1
Joachim Johansson
Andy Roddick
64
77
63
77
3
6
     
2
Thomas Johansson
James Blake
6
4
6
2
3
6
6
3
   
3
Simon Aspelin / Jonas Björkman
Bob Bryan / Mike Bryan
611
713
2
6
3
6
     
4
Jonas Björkman
Andy Roddick
2
6
63
77
4
6
     
5
Simon Aspelin
James Blake
1
6
3
6
       

Final

United States vs. Russia


United States
4
Memorial Coliseum, Portland, United States[11]
30 November - 2 December 2007
Hard (i)

Russia
1
1 2 3 4 5
1
Andy Roddick
Dmitry Tursunov
6
4
6
4
6
2
     
2
James Blake
Mikhail Youzhny
6
3
77
64
63
77
77
63
   
3
Bob Bryan / Mike Bryan
Igor Andreev / Nikolay Davydenko
77
64
6
4
6
2
     
4
Bob Bryan
Igor Andreev
3
6
64
77
       
5
James Blake
Dmitry Tursunov
1
6
6
3
7
5
     


References


-- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p
  1. ^
  2. ^
  3. ^
  4. ^
  5. ^
  6. ^
  7. ^
  8. ^
  9. ^
  10. ^
  11. ^