首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >XML节点模板-我应该使用XSLT吗?

XML节点模板-我应该使用XSLT吗?
EN

Stack Overflow用户
提问于 2013-03-05 13:26:37
回答 1查看 357关注 0票数 0

我有一个具有以下结构的XML文件(多个“实体”节点):

代码语言:javascript
运行
复制
<!-- entities.xml -->
<root>
    <entity template="foo-template" kind="foo" name="bar">
        <groups>
            <group id="1">
                <definition id="1" name="foobar" />
            </group>
        </groups>
    </entity>
</root>

许多entity节点具有相似的属性和子节点。我希望允许用户在一个单独的文件中创建entity模板。引用模板的步骤如下:

代码语言:javascript
运行
复制
<entity template="foo-template" kind="foo" ... />

除了已经存在的属性和子节点(即允许重写模板)之外,"foo-template“中的每个属性和子节点都应该复制到entity中。

我对XSLT不太熟悉。它是这个任务的正确工具,还是我最好不用它来实现它?

我正在使用C++和RapidXml,但可以使用其他XML库。

编辑:示例

模板文件:

代码语言:javascript
运行
复制
<!-- templates.xml -->
<templates>
    <entity template="foo-template" name="n/a" model="baz">
        <groups>
            <group id="1">
                <definition id="1" name="def1" />
                <definition id="2" name="def2" />
            </group>
            <group id="2">
                <definition id="1" name="def3" />
                <definition id="2" name="def4" />
            </group>
        </groups>
    </entity>
</templates>

输出文件:

代码语言:javascript
运行
复制
<!-- output.xml -->
<root>
    <entity kind="foo" name="bar" model="baz">
        <groups>
            <group id="1">
                <definition id="1" name="foobar" />
            </group>
            <group id="2">
                <definition id="1" name="def3" />
                <definition id="2" name="def4" />
            </group>
        </groups>
    </entity>
</root>

因此,输出包含来自"entities.xml“的组1和来自"templates.xml”的组2。不需要将group节点与同一个id合并。

EN

回答 1

Stack Overflow用户

发布于 2013-03-05 13:46:53

除了执行任何类型的XML转换之外,还有一个选项是导入另一个XML文件,然后从标记中引用它。有关示例,请参见这里

这将要求您的用户对可能不想要的每种模板类型都有单独的模板文件。但是,由于接吻原则的存在,我更喜欢导入方法。如果您不熟悉XSLT,那么导入可能也是一种更好的方法。

我希望这能帮到你!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15224991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档