天天看點

記錄一次根據spring官網的例子,自定義編寫xml發生的錯誤

網址:https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#xml-custom

章節:10.2. XML Schema Authoring

按照spring官網的例子一步步測試,步驟如下:

1、編寫xsd檔案【myns.xsd】

2、編寫NamespaceHandler【MyNamespaceHandler 】

3、編寫BeanDefinitionParser【SimpleDateFormatBeanDefinitionParser 】

4、編寫META-INF/spring.handlers

5、編寫META-INF/spring.schemas

6、在application.xml檔案中引入名稱空間

//```xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns=“http://www.springframework.org/schema/beans”

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

xmlns:myns=“http://www.mycompany.example/schema/myns”

xsi:schemaLocation="

http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd

// 重點就是這裡。按這裡的寫法會一直按照網址去網上下載下傳不會使用本地的,然而又下載下傳不到,是以一直報錯
    http://www.mycompany.example/schema/myns http://www.mycompany.com/schema/myns/myns.xsd">

<!-- as a top-level bean -->
<myns:dateformat id="defaultDateFormat" pattern="yyyy-MM-dd HH:mm" lenient="true"/> 

<bean id="jobDetailTemplate" abstract="true">
    <property name="dateFormat">
        <!-- as an inner bean -->
        <myns:dateformat pattern="HH:mm MM-dd-yyyy"/>
    </property>
</bean>
           

```

解決:

1、在網上找了别的例子試了試,是成功的

2、比對官網的例子和網上給的例子

3、找到問題

http://www.mycompany.example/schema/myns http://www.mycompany.com/schema/myns/myns.xsd

替換為

http://www.mycompany.example/schema/myns http://www.mycompany.com/schema/myns.xsd

思考:

1、既然一直去網上去下載下傳,那麼就隻需要對比http://www.mycompany.com/schema/**myns.xsd的差異就可以了

繼續閱讀