Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6936241
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T12:12:28+00:00 2026-05-27T12:12:28+00:00

There is a way to create a rule like ‘foreign key restricted’ in xsd?

  • 0

There is a way to create a rule like ‘foreign key restricted’ in xsd?
I need to check the existence of an attribute value that is equal to the attribute ‘use’ of a node.

<node use="..." />
<otherNode name="..." />

See the example above, the attribute is set to ‘node’ attribute ‘use’, the value of this attribute must be equal to ‘otherNode’ in the ‘name’ attribute

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T12:12:29+00:00Added an answer on May 27, 2026 at 12:12 pm

    Set the type of the use attribute to xs:IDREF

    and the name attribute to xs:ID.

    There’s also an xs:IDREFS type.

    An example

    <xsd:element name="quote">
      <xsd:complexType>
        <!--content model-->
        <xsd:attribute name="ref" type="xsd:IDREF"/>
      </xsd:complexType>
    </xsd:element>
    <xsd:element name="footnote">
      <xsd:complexType>
       <!--content model-->
       <xsd:attribute name="id" type="xsd:ID" use="required"/>
     </xsd:complexType>
    

    …

    Gives

    <quote ref="fn1">...</quote>
    <footnote id="fn1">...</footnote>
    

    So quote must have a ref parameter, which in this case points to a footnote

    Hmm would appear that the above was for DTD and doesn’t work however I found this

    True key representation

    If you have ever attempted to describe a relational database with a complex relationship map using a DTD, you’ve likely had to use the ID-IDREF pointing mechanism. For example, in a structure where two entities are related in a many-to-many way through a relating table (borrowers and assets on a loan application, for example), the simple XML parent-child relationship is insufficient. However, IDs and IDREFs have their own weaknesses: IDs must be unique across an entire document, and IDREF declarations do not specify the type of element an instance of the IDREF attribute must reference. XML Schema provides a way to specify these pointing relationships in much the same way that foreign-key relationships are declared in a relational database. For example, say you have a foreign-key relationship that you can’t express using a simple parent-child relationship in our XML. You can declare the two related elements as in Listing 3:

    <xsd:element name="rootElement">
      <xsd:complexType>
        <xsd:sequence>
          <xsd:element name="elementOne" maxOccurs="unbounded">
            <xsd:complexType>
              <xsd:attribute name="elementOneKey" type="integer" />
              <xsd:attribute name="elementOneDesc" type="text" />
            </xsd:complexType>
            <xsd:key name="elementOnePK">
              <xsd:selector xpath=".//elementOne"/>
              <xsd:field xpath="@elementOneKey"/>
            </xsd:key>
          </xsd:element>
          <xsd:element name="elementTwo" maxOccurs="unbounded">
            <xsd:complexType>
              <xsd:attribute name="elementTwoKey" type="integer" />
              <xsd:attribute name="elementOneKey" type="integer" />
              <xsd:attribute name="elementTwoDesc" type="text" />
            </xsd:complexType>
            <xsd:keyref name="elementOneFK" refer="elementOnePK">
              <xsd:selector xpath=".//elementTwo"/>
              <xsd:field xpath="@elementOneKey"/>
            </xsd:keyref>
          </xsd:element>
         </xsd:sequence>
       </xsd:complexType>
    </xsd:element>
    

    Which is even better as you can link id and reference properly.

    Have a plus I’m learning stuff.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Is there a way to create a JButton with your own button graphic and
Is there any way to create a virtual drive in (My) Computer and manipulate
Is there any way to create the query parameters for doing a GET request
Is there a way to create an html link using h:outputLink, other JSF tag
Is there any way to create C# 3.0 anonymous object via Reflection at runtime
Is there a way to create an instance of a class based on the
Is there a way to create C# objects and call methods from unmanaged C++,
Is there a way to create register a handler that will be called exactly
Is there a way to create a Distinct query in HQL. Either by using
Is there a way to create a function/sub signature that accepts an arbitrary typed

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.