1
- SonaQube:6.4
- 聲納掃描儀:3.0.3
- 項目名稱:testxml
我fllow引導https://docs.sonarqube.org/display/DEV/Adding+Coding+Rules+using+XPath創建的XPath規則,並在saas xml rules
中激活它。SonarQube如何創造自定義規則的XML使用XPath
的XPath的第7周的Fileds這樣的:
- 名稱 - > myXmlRule
- 關鍵字 - > myXmlRule
- 說明 - >測試
- 嚴重性 - >主要
- 雕像 - >準備
- filePattern - >
- schemas - > // ATTRIBUTE [@ tokenValue ='lang']
在xmlToolKit
的模式//ATTRIBUTE[@tokenValue='lang']
成功,這意味着模式是正確的。
命名myXmlRule
新的規則,已在actived檔案Qualiy saas xml rules
我的目標是找到title
節點與lang
屬性,然後將其擡。 如何寫規則?
的test.xml文件內容:
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
在我的項目testxml
僅test.xml
和sonar-project.properties
在項目文件夾中運行sonar-scanner
,它採取的錯誤消息
WARN: SCM provider autodetection failed. No SCM provider claims to support this project. Please use sonar.scm.provider to define SCM of your project.
16:41:11.456 WARN: Could not find schema //ATTRIBUTE[@tokenValue='lang']
16:41:11.456 WARN: Cannot validate file /Users/zt/Desktop/testXml/test.xml
16:41:11.457 WARN: Cause: org.sonar.plugins.xml.checks.XmlSchemaCheck$SchemaNotFoundException: Could not load schema "//ATTRIBUTE[@tokenValue='lang']"
請幫助。謝謝。
您確定您使用的是正確的規則嗎? _schema_參數表示您正在使用規則規則'_XML文件應該是valid_',而XPath檢查規則是'_Track違反XPath規則_'(_xml:XPathCheck_)。 –
@ NicolasB.-SonarSourceTeam謝謝,它的工作原理。創建新規則必須檢查「跟蹤XPath規則的違規」 – justin