diff --git a/utils/doclint/xmlDocumentation.js b/utils/doclint/dotnetXmlDocumentation.js
similarity index 95%
rename from utils/doclint/xmlDocumentation.js
rename to utils/doclint/dotnetXmlDocumentation.js
index 898e924147..a6627a1722 100644
--- a/utils/doclint/xmlDocumentation.js
+++ b/utils/doclint/dotnetXmlDocumentation.js
@@ -119,6 +119,9 @@ function _wrapAndEscape(node, maxColumns = 0) {
let text = node.text;
text = text.replace(/\[([^\]]*)\]\((.*?)\)/g, (match, linkName, linkUrl) => {
+ const isInternal = !linkUrl.startsWith('http://') && !linkUrl.startsWith('https://');
+ if (isInternal)
+ linkUrl = new URL(linkUrl.replace('.md', ''), 'https://playwright.dev/dotnet/docs/api/').toString();
return `${linkName}`;
});
text = text.replace(/(? ``);
diff --git a/utils/doclint/generateDotnetApi.js b/utils/doclint/generateDotnetApi.js
index 75693be874..eedf19ad50 100644
--- a/utils/doclint/generateDotnetApi.js
+++ b/utils/doclint/generateDotnetApi.js
@@ -19,7 +19,7 @@
const path = require('path');
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const Documentation = require('./documentation');
-const XmlDoc = require('./xmlDocumentation');
+const XmlDoc = require('./dotnetXmlDocumentation');
const PROJECT_DIR = path.join(__dirname, '..', '..');
const fs = require('fs');
const { parseApi } = require('./api_parser');