0
我想问一下如何将xmlns属性添加到xsd上的元素。更改xmlns中每个元素的xmlns值
输出应与此类似:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<asn>
<itemcode id="ITM0002212">
<serialno xmlns="1231123321231600000">
<msn/>
<msisdn>123456789</msisdn>
</serialno>
<serialno xmlns="1231123321231700000">
<msn/>
<msisdn>123456788</msisdn>
</serialno>
<serialno xmlns="1231123321231800000">
<msn/>
<msisdn>123456787</msisdn>
</serialno>
<serialno xmlns="1231123321231900000">
<msn/>
<msisdn>123456786</msisdn>
</serialno>
</itemcode>
</asn>
我试着用下面的下面的XSD但应用程序不允许属性的xmlns:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="asn">
<xs:complexType>
<xs:sequence>
<xs:element name="itemcode">
<xs:complexType>
<xs:sequence>
<xs:element name="serialno">
<xs:complexType>
<xs:sequence>
<element name="nac" type="xs:string" />
<element name="msisdn" type="xs:string" />
</xs:sequence>
<attribute name="xmlns" type="xs:string"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:string"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
感谢, 瑞安
嗨,这可能是真的,serialno中的xmlns是一个id值。这只是我需要的输出应该是xmlns。我尝试将属性名称从'xmlns'更改为'xmlns1'(用于测试),并且接受的应用程序(ms excel源代码)。数据虽然来自Excel电子表格。谢谢 –
感谢您的反馈,Ryan,我认为这看起来像是最不寻常的,最坏的情况是非标准,使用'xmlns'属性。是否有任何文档解释您的用例的具体内容?预计'xmlns1'不会被应用程序拒绝。保留这些名字的想法是(即使现在变得不太可能),W3C保留在将来为'xmlns1'或其他指定语义的权利,就像它为'xmlns'所做的一样,这可能会破坏任何现有的用途。 –
的确很不寻常。我真的不能为您提供用例的详细信息,但除了我被赋予创建xml的任务外,其格式类似于我的问题中的xml输出。数据将来自excel文件,因此我尝试通过创建XSD来使用excel的导出到xml函数。我真的很陌生,所以我想知道是否有人遇到我的情况,并提出了一个解决方案的XSD。谢谢 –