이 상황에서 특정 디자인 패턴 (C++을 타겟으로했을 수도 있음)이 있는지 궁금합니다. C++ 클래스 설명에 대한 XML 클래스 설명 : 디자인 패턴?
<STH_XML>
<tag1>
<tag2 id="myId1">
<tag3 name="type" value="myVal1"/>
<tag4 name="device" value="myVal2"/>
<tag5 name="instances" value="myVal3"/>
<tag6>
<tag7 id="myId2">
<specs name="type" value="myVal4"/>
<specs name="frequency" value="myVal5" unit="MHz"/>
</tag7>
</tag6>
</tag2>
</tag1>
불행하게도,이 XML의 XSD/DTD는 자주 변경이 적용됩니다
나는이 형식으로 데이터가 포함 된 XML 파일이 있습니다.
내가 자동으로이 같은 C++ 구조 또는 일련의 클래스로 XSD/DTD를 변환 할 필요가:
가장이 기능을 실현하기 위해 적합 어떤 디자인 패턴struct tag7
{
std::string id;
std::string type;
std::string frequency;
}
struct tag6
{
std::set<tag7*> tag6s;
}
struct tag2
{
std::string id;
std::string type;
std::string device;
std::string instances;
tag6 elem6; // because I know there is only one from the XSD analysis
}
struct tag1
{
std::set<tag2> tag2s;
}
?
통찰력을 공유해 주셔서 감사합니다. 이 경우 XML/XSD를 사용하여 특정 도구를 이미 알고 있습니까? – ripkars
내가 마지막으로 이런 식으로 해본 적이있는 것은 Jeeves라는 Perl 스크립트입니다. 그것은 출력을 정확히 내가 원하는 방식으로 정확하게 지정하도록 해줍니다. 그것이 지금까지 해낸 유일한 방법입니다. 그러나 XSD를 구문 분석하는 데 사용할 수있는 XML 파서가 많이 있습니다. 거기에서 C++을 생성하기를 원한다는 것을 알고 있습니다. 그러면 XSD를 반복하고 C++을'cout'합니다. 거대한 라이브러리를 사용자 정의하는 것보다 빨리 가고 싶은 곳으로 아마 갈 것으로 생각됩니다. – John