Welcome!

Industrial IoT Authors: William Schmarzo, Elizabeth White, Stackify Blog, Yeshim Deniz, SmartBear Blog

RSS Feed Item

Re: Use xsd to specify multiple instances of existing element

Original Message From: "Rick Jelliffe" <[email protected]>

> xsi:type addresses his issue. All it does is say "look what
> I found", with admittedly clever, rococo elaborateness, not "here is what 
> you can do".

No need for the attitude.  After all, most things in XML schema require 
clever, rococo elaborateness!

And rather than directly answering Ian's concern, I was more directly 
motivated by answering your comment:

> To make this work, don't you have to define the <entry> element to use 
> wildcards? For example (loosely)

by trying to say that you don't need wildcards to make it work.

Fleshing out the XSD a bit more, I get something like:

<xs:element name='category' type='categoryType' />

<xs:complexType name='categoryType' abstract='true'/>

<xs:complexType name='privacy'>
    <xs:complexContent>
        <xs:extension base='categoryType'>
            <xs:attribute name='scheme' type='xs:string' 
fixed='http://dig.com/privacy'/>
            <xs:attribute name='term'>
                <xs:simpleType>
                    <xs:restriction base='xs:string'>
                        <xs:enumeration value='open'/>
                        <xs:enumeration value='private'/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:attribute>
        </xs:extension>
    </xs:complexContent>
</xs:complexType>

<xs:complexType name='fishingType'>
    <xs:complexContent>
        <xs:extension base='categoryType'>
            <xs:attribute name='scheme' type='xs:string' 
fixed='http://dig.com/fishingType'/>
            <xs:attribute name='term'>
                <xs:simpleType>
                    <xs:restriction base='xs:string'>
                        <xs:enumeration value='coarse'/>
                        <xs:enumeration value='open'/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:attribute>
        </xs:extension>
    </xs:complexContent>
</xs:complexType>

Which, at the category element level, I think does meet Ian's requirements, 
_IF_ he his prepared to accept the presence of the xsi:type.  Personally I 
don't think he can, but I don't know that until I ask him.

It also fails to ensure that a category element of type privacy must be 
followed by a category element of type fishingType (wider discussion for 
those interested in learning something from the list: you can obviously say 
that there must be two category elements within an entry element, but you 
can't enforce their types).

Even if it is not something he is not prepared to do, it is a documented 
avenue of what does not work, which in engineering can be as important as 
documenting what does work!

So, my answer to Ian is you can't exactly do what you want using XSD.  There 
are some ways you can get close to it, most of which Rick has described. 
What I've presented is some discussion material about one of the ways 
suggested, and by discussing it it is not implied that that is a proposed 
solution.

I am definitely not saying "look at my great clever solution.  Aren't I 
wonderful?"

Regards,

Pete Cordell
Codalogic Ltd
Interface XML to C++ the easy way using XML C++
data binding to convert XSD schemas to C++ classes.
Visit http://www.codalogic.com/lmx/ for more info

----- Original Message ----- 
From: "Rick Jelliffe" <[email protected]>
To: <[email protected]>
Sent: Monday, September 22, 2008 2:33 PM
Subject: Re:  Use xsd to specify multiple instances of existing 
element


>
> Pete Cordell wrote:
>> I think what Andrew is suggesting is something like:
>>
>> <xs:element name='category' type='categoryType' />
>>
>> <xs:complexType name='categoryType' abstract='true'>
>>    ...
>>
>> <xs:complexType name='privacy'>
>>    <xs:complexContent>
>>        <xs:extension base='categoryType'>
>>            ...
>>
>> <xs:complexType name='fishingType'>
>>    <xs:complexContent>
>>        <xs:extension base='categoryType'>
>>            ...
> But this does not meet Ian's requirement, which was to constrain that the 
> first <category> can have some attribute values,
> and the second <category> can have some others.  I don't see that xsi:type 
> addresses his issue. All it does is say "look what
> I found", with admittedly clever, rococo elaborateness, not "here is what 
> you can do".
>
> Cheers
> Rick Jelliffe
>
> _______________________________________________________________________
>
> XML-DEV is a publicly archived, unmoderated list hosted by OASIS
> to support XML implementation and development. To minimize
> spam in the archives, you must subscribe before posting.
>
> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> Or unsubscribe: [email protected]
> subscribe: [email protected]
> List archive: http://lists.xml.org/archives/xml-dev/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
>
> 


Read the original blog entry...

IoT & Smart Cities Stories
After years of investments and acquisitions, CloudBlue was created with the goal of building the world's only hyperscale digital platform with an increasingly infinite ecosystem and proven go-to-market services. The result? An unmatched platform that helps customers streamline cloud operations, save time and money, and revolutionize their businesses overnight. Today, the platform operates in more than 45 countries and powers more than 200 of the world's largest cloud marketplaces, managing mo...
When Enterprises started adopting Hadoop-based Big Data environments over the last ten years, they were mainly on-premise deployments. Organizations would spin up and manage large Hadoop clusters, where they would funnel exabytes or petabytes of unstructured data.However, over the last few years the economics of maintaining this enormous infrastructure compared with the elastic scalability of viable cloud options has changed this equation. The growth of cloud storage, cloud-managed big data e...
Your applications have evolved, your computing needs are changing, and your servers have become more and more dense. But your data center hasn't changed so you can't get the benefits of cheaper, better, smaller, faster... until now. Colovore is Silicon Valley's premier provider of high-density colocation solutions that are a perfect fit for companies operating modern, high-performance hardware. No other Bay Area colo provider can match our density, operating efficiency, and ease of scalability.
ScaleMP is the leader in virtualization for in-memory high-end computing, providing higher performance and lower total cost of ownership as compared with traditional shared-memory systems. The company's innovative Versatile SMP (vSMP) architecture aggregates multiple x86 systems into a single virtual x86 system, delivering an industry-standard, high-end shared-memory computer. Using software to replace custom hardware and components, ScaleMP offers a new, revolutionary computing paradigm. vSMP F...
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...
As you know, enterprise IT conversation over the past year have often centered upon the open-source Kubernetes container orchestration system. In fact, Kubernetes has emerged as the key technology -- and even primary platform -- of cloud migrations for a wide variety of organizations. Kubernetes is critical to forward-looking enterprises that continue to push their IT infrastructures toward maximum functionality, scalability, and flexibility. As they do so, IT professionals are also embr...
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...
As you know, enterprise IT conversation over the past year have often centered upon the open-source Kubernetes container orchestration system. In fact, Kubernetes has emerged as the key technology -- and even primary platform -- of cloud migrations for a wide variety of organizations. Kubernetes is critical to forward-looking enterprises that continue to push their IT infrastructures toward maximum functionality, scalability, and flexibility. As they do so, IT professionals are also embr...
The platform combines the strengths of Singtel's extensive, intelligent network capabilities with Microsoft's cloud expertise to create a unique solution that sets new standards for IoT applications," said Mr Diomedes Kastanis, Head of IoT at Singtel. "Our solution provides speed, transparency and flexibility, paving the way for a more pervasive use of IoT to accelerate enterprises' digitalisation efforts. AI-powered intelligent connectivity over Microsoft Azure will be the fastest connected pat...