0

根据asmxml,我有一个问题。我尝试将架构写入 xml 文件。架构如下所示:

<schema>
        <document name="XRF">
                <collection name="IL">
                        <attribute name="k"/>
                        <collection name="I">
                                <attribute name="k"/>
                                <collection name="M">
                                        <attribute name="k"/>
                                        <attribute name="v"/>
                                </collection>
                                <collection name="P">
                                        <attribute name="k"/>
                                        <attribute name="v"/>
                                        <attribute name="t"/>
                                        <attribute name="d"/>
                                </collection>
                        </collection>
                </collection>
        </document>
</schema>

这里是 XML 文件的片段:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--<!DOCTYPE XRF SYSTEM "/apid/xml/xrf.dtd">-->
<XRF r="8.5.2" c="iD2" g="" u="DE23580-apiinlife03" k="918887283" d="20120523" t="235602">
<IL k="1">              
<I k="1007667,361,402"> 
<M k="3" v="GB0008762899"/>     
<M k="187" v="BG Group" l="4"/> 
<P k="33,3,2" v="13.065" t="181502" d="20120522" y="524" n="0" b="779"/>
<P k="2,1,1" v="12.56" t="080025" d="20120523" z="74876" y="272" n="459" b="908"/>
<P k="41,1,1" s="5"/>           
<P k="9,3,2" v="12.73" t="163519" d="20120522" z="8322" y="158" n="0" b="779"/>                  
</I>
</IL>
</XRF>

有人可以帮我修复“模式”吗?我不知道我做错了什么。先感谢您。

问候 z。

4

1 回答 1

2

老问题,但也许它可以帮助一些新用户登陆这里。在使用 AsmXML 定义模式时,您不能像这样直接覆盖集合。

<document>您宁愿通过在该部分之外定义集合,将引用链接到要使用的集合的适当定义。例如,在您的情况下,正确的架构是:

<schema>
    <collection name="M">
        <attribute name="k"/>
        <attribute name="v"/>
    </collection>

    <collection name="P">
        <attribute name="k"/>
        <attribute name="v"/>
        <attribute name="t"/>
        <attribute name="d"/>
    </collection>

    <collection name="I">
        <attribute name="k"/>
        <reference name="M"/>
        <reference name="P"/>
    </collection>

    <document name="XRF">
            <collection name="IL">
                    <attribute name="k"/>
                    <reference name="I" />
            </collection>
    </document>
</schema>

此外,请确保包含集合中所需的所有属性,您也可以使用组来执行此操作。更多可以在那里找到: http: //tibleiz.net/asm-xml/documentation.html

希望这可以帮助 !

于 2012-11-23T17:34:01.517 回答