|
Как ограничить использование namespaces в xml c помощью xsd
|
|||
---|---|---|---|
#18+
Коллеги, приветствую! Подскажите, пожалуйста, как можно с помощью xsd запретить использование namespaces в проверяемом xml файле? Есть нетипизированный xml файл: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Как запретить на уровне xsd подачу его в таком виде: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 13:25 |
|
Как ограничить использование namespaces в xml c помощью xsd
|
|||
---|---|---|---|
#18+
uaggster Как запретить на уровне xsd подачу его в таком виде: Ну, просто создать xsd без targetNamespace: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Валидатор при попытке скормить ему XML с неймспейсами ругнется, что Код: plaintext
т.к. узел z без неймспейса, и узел z с неймспейсом - это совершенно разные узлы. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 17:08 |
|
Как ограничить использование namespaces в xml c помощью xsd
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, вроде бы так и делаю, но оно, черт возьми, не работает! Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337.
Не находит ошибок в xml Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 17:26 |
|
Как ограничить использование namespaces в xml c помощью xsd
|
|||
---|---|---|---|
#18+
Ну, тогда озвучьте свой парсер/валидатор - возможно, это его специфика. Я вышеприведенное проверил на дотнетовском XmlReader/XmlReaderSettings - он ругнулся именно так, как я привел выше. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 17:34 |
|
Как ограничить использование namespaces в xml c помощью xsd
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, как раз дотнетовский валидатор и используется. А перепроверить - пытаюсь с помощью валидатора в notepad++ ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 17:37 |
|
Как ограничить использование namespaces в xml c помощью xsd
|
|||
---|---|---|---|
#18+
И, кстати, Ваш пример в noteпадовском варианте - работает именно так, как Вы и сказали. Ругается. А на боевой схеме - нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 17:40 |
|
Как ограничить использование namespaces в xml c помощью xsd
|
|||
---|---|---|---|
#18+
Вот, убедитесь сами: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 18:10 |
|
Как ограничить использование namespaces в xml c помощью xsd
|
|||
---|---|---|---|
#18+
uaggster Не находит ошибок в xml Код: xml 1. 2.
Имя и пространство имен корневого элемента придется проверить вручную ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 21:44 |
|
Как ограничить использование namespaces в xml c помощью xsd
|
|||
---|---|---|---|
#18+
_Vasilisk_, А как это сделать? Как задать такую проверку в xsd? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 07:31 |
|
Как ограничить использование namespaces в xml c помощью xsd
|
|||
---|---|---|---|
#18+
uaggster, Если у корневого элемент немспейс, которого не должно быть, всегда постоянный, то можно в основную схему импортировать дополнительную с неймспесом. в котором для корневого элемента запрещено любое содержимое: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Код: xml 1. 2. 3. 4. 5. 6. 7. 8.
- тогда при попытке валидировать xml с root xmlns="foo" будет ошибка Код: plaintext 1.
или Код: plaintext
Хотя, конечно, если скормить на валидацию пустой корневой элемент с неймспейсом foo, то всё будет в порядке. Вариант 2 - если валидатор поддерживает обработку/вывод предупреждений, то включить эту обработку/вывод. При валидации Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
будет выдано: Код: plaintext 1. 2. 3. 4. 5. 6.
- и трактовать эти предупреждения как ошибки. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 08:18 |
|
Как ограничить использование namespaces в xml c помощью xsd
|
|||
---|---|---|---|
#18+
uaggster А как это сделать? uaggster Как задать такую проверку в xsd? Сон Веры Павловны если валидатор поддерживает обработку/вывод предупреждений ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 10:16 |
|
Как ограничить использование namespaces в xml c помощью xsd
|
|||
---|---|---|---|
#18+
_Vasilisk_ Это кто так умеет? Да всё тот же дотнетовский XmlReader в связке с XmlReaderSettings - у последнего есть флаговое свойство ValidationFlags , для которого можно включить значение ReportValidationWarnings, тогда при валидации в т.ч. будут выводиться предупреждения. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 10:52 |
|
|
start [/forum/topic.php?fid=14&tid=1331871]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 162ms |
0 / 0 |