Oracle 1z0-591

Oracle 1z0-591

Oracle 1z0-591

QUESTION NO: 1

When a customer wants to get sales numbers by day, how is data stored in the Star Schema, if
the data is loaded nightly?

A. The lowest level of aggregation
B. The highest level of aggregation
C. Multiple levels of aggregation
D. Independently from aggregation level

Answer: A

QUESTION NO: 2

The highest sales amount for this year is $10,000. If you create a rank measure for sales this year
and display it on a report, the value will be________.

A. $10,000
B. 0
C. 1
D. Year

Answer: C

Explanation: The rank measure is numbered from 1. The highest sales amount will be ranked 1.

QUESTION NO: 3

Which two components are required for all OBIEE installations?

A. Admin Server
B. RCU Schema
C. Managed Server
D. Node Manager

E. Oracle 11g

Answer: B,E

Explanation: B: Before you can run Oracle Business Intelligence 11g Installer, you must first
create
required Oracle Business Intelligence schemas in an unhardened database. You use
a tool called the Repository Creation Utility (RCU) to create these schemas with
the appropriate permissions and data.
E: The database 11gR2 is required if you want to run the Oracle Business Intelligence Enterprise
Edition Plus Samples
One Oracle Database Preinstalled and not hardened to host the schemas.

QUESTION NO: 4

The administration tool is the developer's interface to the repository file. It allows the development
of and changes to the metadata repository file. Which statement is true?

A. Changes to the repository can only be carried out in offline mode.
B. Multiple developers can work on one repository at the same time. Results can be merged later
on.
C. All aspects of security are being held in the repository file.
D. Opening the rpd.file in online mode results in performance Issues for the application user.

Answer: B

Explanation: The Oracle BI repository development process adheres to the classic Software
Configuration Management (SCM)process, which utilizes a three-way merge to manage
concurrent development.
The merge process involves three repositories:
In a multiuser environment (MUDE), Developers check out the file and make changes locally.
Then, these changes are automatically reconciled and merged into the master repository.

QUESTION NO: 5

Which installation option is used to install into an existing Fusion Middleware Home?

A. Software Only Install
B. Simple Install
C. Enterprise Install
D. Cannot install into an existing Fusion Middleware Home

Answer: A
Explanation: The Software Only Install type installs the Oracle Business Intelligence software
binary files in an Oracle home for later configuration as part of a Fusion Middleware
deployment.

QUESTION NO: 6

What are the two methodologies that are followed within an OBIEE implementation?

A. Do not use prototypes
B. Use an iterative approach
C. Start with a small model and then enhance the repository
D. Start with a big repository and trim it down with the requirements

Answer: B,C

QUESTION NO: 7

Which option describes how OBIEE Integrates with Planning?

A. OBIEE primarily accesses Planning using standard Essbase integration techniques.
B. OBIEE provides complete access to all Planning data through the Analytic Data Model (ADM)
layer.
C. Planning is not a supported OBIEE source.
D. OBIEE integrates with Planning directly through relational database access.

Answer: A

QUESTION NO: 8
What is an example of a Session Variable?
A. ETL Load Date
B. User Organization
C. OLAP DSN
D. Top Customers by Revenue
Answer: B
Explanation:
Note 1: There are four types of variables that you can use:
Session
Repository
Presentation
Request
Note 2: Session Variables
A session variable is a variable that is initialized at login time for each user. When a user begins a
session, the Oracle BI Server creates a new instance of a session variable and initializes it.
There are as many instances of a session variable as there are active sessions on the Oracle BI
Server. Each instance of a session variable could be initialized to a different value.
There are two types of session variables:
System — A session variable that the Oracle BI Server and Oracle BI Presentation Services use
for specific purposes.
System session variables have reserved names that cannot be used for other kinds of variables
(such as static or dynamic repository variables and non-system session variables).
Non-system — A system variable that the administrator creates and names. For example, the
administrator might create a SalesRegion non-system variable that initializes the name of a user's
sales region.
The administrator creates non-system session variables using the Oracle BI Administration Tool.

QUESTION NO: 9
Which option is used to enter the rank function when creating a new rank measure?
A. Initialization Block
B. Expression Builder
C. Connection Pool
Oracle 1z0-591 Exam
"Pass Any Exam. Any Time." - www.actualtests.com 6
D. Web Catalog
Answer: B
Explanation:
Example (see step 4 and 5 below): Getting Top-N Sales Reps for Year and Year-1
1. Under the “Business Model and Mapping” Layer, right click the “F1 Revenue” and select “New
Object” -> “Logical Column…”
2. In the “Logical Column” Window give for Name: Year Ago Revenue as seen below:
3. Goto the “Column Source” Tab and select “Derived from existing columns using an expression”
radio button then click on the “Edit Expression” icon.
4. Enter the following expression in the “Expression Builder” Window by selecting “Functions” in
the “Category:” list, “Time Series Functions” in the “Functions:” list then “Ago” “Time Series
Functions:” section.

5. Select the “<<Measure>>” in the “Ago( )” function, then select “Logical Tables” in the
“Category:” list, “F1 Revenue” in the “Logical Tables:” list, then double click the “Revenue” in the
“Columns:” list.
Etc.
QUESTION NO: 10
Query limits tab can be accessed through________.
A. Security Manager, Query tab, Application role dialog box, Permissions
B. Security Manager, Application Roles tab, Query dialog box, Permissions
C. Security Manager, Application Roles tab, Application role dialog box, Permissions
D. Security Manager, Application Roles tab, Application role dialog box, Query Properties
Answer: C
Explanation: Query environment can be managed by setting query limits (governors) in the
Repository (RPD) for particular Application Roles. You should always set query limits for particular
application roles rather than for individual users.
Steps:
1. Login to Repository using OBIEE Admin Tool
2. Navigate to Manage > Identity
3. Go to Application Role tab, choose the role and double click on it to open.
Oracle 1z0-591 Exam
"Pass Any Exam. Any Time." - www.actualtests.com 8
4. Click on Permissions tab
5. Set the Query Limits. You can limit queries by the number of rows received, by maximum run
time, and by restricting to particular time periods. You can also allow or disallow direct database
requests or the Populate privilege.


QUESTION NO: 11
One of the most common uses of Dynamic Repository Variables is to setup filters for use in
reporting. Which variable below is a valid example of a Dynamic Repository Variable?
A. Year
B. Month
C. Quarter
D. CurrentMonth
Answer: D
Explanation: CurrentMonth can be calculated by a sql statement.
Note:
REPOSITORY VARIABLE(DYNAMIC)
· Initialized when BI server is started
· Assigned value dynamically based on the result of a query
· Value is dependent of the sql provided in Initialization Block
Create a dynamic variable and provide a Name and Default Initializer.Create a new initialization
block by clicking on the New button in the above screen.

Provide Intialization Block variable Name

Click on “Edit Data Source” button and provide the sql to be used for the variable, e.g.
select lower(sys_context('USERENV','SESSION_USER'))||
'@'||
lower(sys_context('USERENV','DB_NAME'))
from dual;
Oracle 1z0-591 Exam
"Pass Any Exam. Any Time." - www.actualtests.com 12
QUESTION NO: 12
WLS Embedded LDAP Server is managed by the Admin Server Console and supports which
three options?
A. Creating and Maintaining Users
B. Authentication and Authorization
C. Basic Directory for storing user details
D. Subject area and row-level security, connection pool passwords
E. Application of Session Variables as Data Filters
Answer: A,B,C
 :

QUESTION NO: 13
Point-and-click generation of case statement logic can be accessed via which option?
A. Column Formula -> Bins tab
B. Compound Layout
C. Column Properties -> Conditional Format tab
D. Advanced Tab
E. Subject Area metrics
Answer: A
Explanation: The “Edit Column Formula” dialog box has a second,
very tiny tab called, “Bins.” You can use this tab to have OBIEE
build a CASE statement for you in a formula (you can also create
a CASE statement yourself by using one of the functions that
appears under “Expressions” if you want). A CASE statement is a
lot like an IF-THEN-ELSE statement, except that it’s a little easier
to read when you have multiple options. Basically, it puts values
in different buckets that you define.
Note:
Figure:

QUESTION NO: 14
Which task can be performed after the Administrator link has been reached through logging into
OBIEE?
A. Associate map layers to columns
B. Manage access to Subject Areas
C. SSO enablement
D. Start or Stop BI Managed Servers
Answer: A
Explanation: It is asking for Which task (NOT Which Tasks).
Using Administration (not Administrator) link in OBIEE you can go to 'Manage Map Data' and
manage map components.

QUESTION NO: 15
Which three techniques are applied to support Failover?
A. WebLogic Clustering
B. Universal Installer > Scale Out BI System option
C. OBIEE Clustering
D. Vertical Scaleout
Answer: A,B,C
Explanation: A: OBIEE 11g is centred on WebLogic Server as the underlying application server
architecture.
B: If you want to scale out this infrastructure, you would typically run the OBIEE 11g installer on a
second server, and instead of choosing to do a new install, you’d choose to instead scale out the
existing BI domain.

C: OBIEE Clustering – Approach of Oracle BI Server Load balancing/Failover

QUESTION NO: 16
The Oracle BI office plug-in allows you to import the results of an OBI request into which two MS
applications?
A. MS Visio
B. MS Excel
C. MS Project
D. MS Word
Answer: B,D
Explanation: Oracle Business Intelligence Office Plug-In is a Windows application that is an
optional feature under the Oracle Business Intelligence Presentation Services. The Plug-In
provides a way to browse the Analytics catalog, select a report, and then drop that report into
Microsoft Word or Excel.
Reference: Oracle Business Intelligence Infrastructure Installation and Configuration Guide >
Installing Individual Oracle BI Components >Installing Oracle BI Office Plug-In

QUESTION NO: 17
A user's BI Home page provides one-click access to which three options?
A. Create new content
B. Oracle BI online documentation
C. Catalog search functionality
D. Dashboard layout editor
E. Business model metadata
Answer: A,B,C

Note: The BI Home page contains the BI content catalog. Fusion Apps will use OBIEE web
catalog to store all shipped reporting and analytics content.
From the BI home page users can browse and view the entire BI content. The BI catalog folder
structure will match the Fusion Apps main menu structure. Folder structure would be content
driven not technology driven which would enable ease of navigation for fusion Apps users.
Following content will be available under the BI catalog structure:
BI Publisher Reports (regardless of data source)
OTBI reports & dashboards
OBIA dashboards & scorecards
Financial Reporting
Also, users can do some additional actions from the BI Home page like: Access personal and
shared reports, View/ edit BI publisher report schedules, Launch BI tools for advanced actions and
create new reports with report wizard.
New reports created can be saved in BI catalog and added as embedded content within Fusion
applications screens or links added to reporting pane. This enables users to extend the prebuilt
embedded analytics within Fusion Applications.

QUESTION NO: 18
A customer needs to have a calculation done prior to aggregating the data. How would you
accomplish this?
A. By creating a derived measure by using the Logical Columns available
B. By creating a derived measure in the Column Mapping dialog box by using the physical table
columns.
C. By creating a derived measure by using Logic Columns available and changing the aggregation
type
D. By creating a derived metric by using the Expression Builder
E. By creating a derived metric by using the Calculation Wizard
Answer: B

Explanation:
Note 1: OBIEE offers two calculation types for measure in the repository:
logical
physical
You can define calculations in either of the following ways:
* Before the aggregation, in the logical table source.
* After the aggregation, in a logical column derived from two other logical columns. For example:
sum(col A) * sum(col B)
Note 2: A measure column is a column unlike the baseline column that has a default aggregation
rule defined in the Aggregation tab of the Logical Column dialog in the repository.
Measure columns always calculate the aggregation with which they are defined.
Measures need to be defined in a logical fact. Any column with an aggregation rule is a measure.

QUESTION NO: 19
Which resource identifies the OBIEE Web Catalog (webcat)?
A. instanceconfig.xml
B. RCU Schema
C. Identity Store
D. nqsconfig.ini
E. Admin Server
Answer: A
Explanation:
QUESTION NO: 20
The ODBC DSN is never used for _______.
A. Initial import of the physical layer metadata on a Windows server
Oracle 1z0-591 Exam
"Pass Any Exam. Any Time." - www.actualtests.com 19
B. Query execution and data access on a Windows server
C. Initial import of the physical layer metadata, query execution, and data access on a Windows
Server
D. Changing passwords
E. Comparing RPDs
Answer: E
Explanation: You do not use ODBC DSN to compare repositories.
Note: When an ODBC based application connects to a database, it connects to a logical name,
the Data Source Name (DSN), which identifies the datasource to which it wants to connect.
Some external repository of configuration information holds the various DSN values that are
available, together with the necessary configuration and control information needed by the ODBC
driver to establish a connection and manage usage of the data source.
The DSN (data source name) is a data structure that contains the information about a specific data
source (database, …), typically used by an ODBC driver to be able to connect to it.
The DSN contains information about the data source such as:
the name, the directory, and the driver. On Windows, the DSN also specifies the ODBC driver to be used to access the database.

QUESTION NO: 21
Identify the reason why Oracle OLAP provides a favorable aggregation strategy.
A. OLAP cubes eliminate the need for a large number of aggregate tables.
B. OLAP cubes are stored outside of the database in highly optimized file structures.
C. OLAP cubes can be easily transported from database to database.
D. OLAP cubes can be queried by using SQL.

Answer: D
Explanation: All metadata for cubes and dimensions is stored in the Oracle database and
revealed in the data dictionary views, so that you can query the entire business model in SQL.

QUESTION NO: 22
When Exporting an Analysis from a Dashboard, which of the following is NOT an option?
A. MS Excel
B. MS Word
C. PDF
D. CSV
Answer: B
Explanation:
QUESTION NO: 23
Which of the following characteristics pertain to a "ragged" hierarchy?
A. It can only be stored in an XML structure.
B. A branch of the hierarchy may have a different number of levels than other branches.
C. All values can have a maximum of six levels.
D. It creates multiple levels of hierarchy in the database table.
Answer: B
Explanation: Ragged Hierarchies are hierarchies where some routes down the hierarchy are
longer than others; for example, you may have an organizational hierarchy for salespeople where
the overall boss has two assistant managers, one of them works on their own and another has
three sales managers under them; some of those sales manager may have sales staff under
them, and some sales staff may have trainees under them.

QUESTION NO: 24

What is the process in which there is redundancy of data to improve performance?
A. Redundancy
B. Normalization
C. Denormalization
D. Granularity
E. Cardinality
Answer: C
Explanation: Denormalization is the process of intentionally backing away from normalization to
improve performance by suppressing join and permitting the use of star transformation technique.
Denormalization should not be the first choice for improving performance and should only be used
for fine tuning of a database for a particular application.

QUESTION NO: 25
An organization has re-implemented one of its systems but has not moved history. One database
has data for all years up to 2010 and the other has data for years from 2011 to the present. The
organization needs data from the years 2010 and 2011 on a single report. How can you model this
in the RPD?
A. By creating two Logical Fact Tables for each database
B. By creating joins in the physical model so it looks like a single table
C. By creating two logical table sources, that specify in Content tab using the Fragmentation
content areas to specify the years for each source
D. By creating two logical table sources and checking the “This Source should be combined with
other sources at this level” box leaving the Fragmentation content area blank.
E. By creating one logical table sources and checking the “This Source should be combined with
other sources at this level” box

Answer: C

HTML5 Browser Support

HTML5 Browser Support


HTML5 is supported in all modern browsers.

In addition, all browsers, old and new, automatically handle unrecognized elements as inline elements.

Because of this, you can "teach" older browsers to handle "unknown" HTML elements.

Define HTML5 Elements as Block Elements

HTML5 defines eight new semantic HTML elements. All these are block-level elements.

To secure correct behavior in older browsers, you can set the CSS display property to block:

header, section, footer, aside, nav, main, article, figure {
    display: block;
}

Adding New Elements to HTML

You can also add any new element to HTML with a browser trick.

This example adds a new element called <myHero> to HTML, and defines a display style for it:

Example

<!DOCTYPE html>
<html>
<head>
  <title>Creating an HTML Element</title>
  <script>document.createElement("myHero")</script>
  <style>
  myHero {
      display: block;
      background-color: #ddd;
      padding: 50px;
      font-size: 30px;
  }
  </style>
</head>
<body>

<h1>My First Heading</h1>

<p>My first paragraph.</p>

<myHero>My First Hero</myHero>

</body>
</html>

Problem With Internet Explorer

You could use the solution described above, for all new HTML5 elements, but:

Thankfully, Sjoerd Visscher created the "HTML5 Enabling JavaScript", "the shiv":

<!--[if lt IE 9]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

The code above is a comment, but versions previous to IE9 will read it (and understand it).

The Complete Shiv Solution



For detail please visit w3schools



jQuery - Attributes

jQuery - Attributes

Some of the most basic components we can manipulate when it comes to DOM elements are the properties and attributes assigned to those elements.

Most of these attributes are available through JavaScript as DOM node properties. Some of the more common properties are −


  • className
  • tagName
  • id
  • href
  • title
  • rel
  • src

Consider the following HTML markup for an image element −

<img id = "imageid" src = "image.gif" alt = "Image" class = "myclass"
   title = "This is an image"/>

In this element's markup, the tag name is img, and the markup for id, src, alt, class, and title represents the element's attributes, each of which consists of a name and a value.

jQuery gives us the means to easily manipulate an element's attributes and gives us access to the element so that we can also change its properties.

Get Attribute Value

The attr() method can be used to either fetch the value of an attribute from the first element in the matched set or set attribute values onto all matched elements.

Example
Following is a simple example which fetches title attribute of <em> tag and set <div id = "divid"> value with the same value −


Set Attribute Value

The attr(name, value) method can be used to set the named attribute onto all elements in the wrapped set using the passed value.

Example
Following is a simple example which set src attribute of an image tag to a correct location −

<html>

   <head>
      <title>The jQuery Example</title>
      <script type = "text/javascript" 
         src = "http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
  
      <script type = "text/javascript" language = "javascript">
         $(document).ready(function() {
            $("#myimg").attr("src", "/jquery/images/jquery.jpg");
         });
      </script>
   </head>
 
   <body>
      <div>
         <img id = "myimg" src = "/images/jquery.jpg" alt = "Sample image" />
      </div>
   </body>
 
</html>

Applying Styles

The addClass( classes ) method can be used to apply defined style sheets onto all the matched elements. You can specify multiple classes separated by space.

Example
Following is a simple example which sets class attribute of a para <p> tag −

<html>

   <head>
      <title>The jQuery Example</title>
      <script type = "text/javascript" 
         src = "http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
  
      <script type = "text/javascript" language = "javascript">
         $(document).ready(function() {
            $("em").addClass("selected");
            $("#myid").addClass("highlight");
         });
      </script>
  
      <style>
         .selected { color:red; }
         .highlight { background:yellow; }
      </style> 
   </head>
 
   <body>
      <em title = "Bold and Brave">This is first paragraph.</em>
      <p id = "myid">This is second paragraph.</p>
   </body>
 
</html>


jQuery - Selectors

jQuery - Selectors

The jQuery library harnesses the power of Cascading Style Sheets (CSS) selectors to let us quickly and easily access elements or groups of elements in the Document Object Model (DOM).

A jQuery Selector is a function which makes use of expressions to find out matching elements from a DOM based on the given criteria. Simply you can say, selectors are used to select one or more HTML elements using jQuery. Once an element is selected then we can perform various operations on that selected element.

The element Selector

The jQuery element selector selects elements based on the element name.

You can select all <p> elements on a page like this:

$("p")

Example

When a user clicks on a button, all <p> elements will be hidden:



The #id Selector

The jQuery #id selector uses the id attribute of an HTML tag to find the specific element.

An id should be unique within a page, so you should use the #id selector when you want to find a single, unique element.

To find an element with a specific id, write a hash character, followed by the id of the HTML element:

$("#test")

Example

When a user clicks on a button, the element with id="test" will be hidden:


$(document).ready(function(){
    $("button").click(function(){
        $("#test").hide();
    });
});

The .class Selector

The jQuery class selector finds elements with a specific class.

To find elements with a specific class, write a period character, followed by the name of the class:

$(".test")

Example

When a user clicks on a button, the elements with class="test" will be hidden:


$(document).ready(function(){
    $("button").click(function(){
        $(".test").hide();
    });
});

Functions In a Separate File

If your website contains a lot of pages, and you want your jQuery functions to be easy to maintain, you can put your jQuery functions in a separate .js file.

When we demonstrate jQuery in this tutorial, the functions are added directly into the <head> section. However, sometimes it is preferable to place them in a separate file, like this (use the src attribute to refer to the .js file):

Example

<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js">
</script>
<script src="my_jquery_functions.js"></script>
</head>

More Examples of jQuery Selectors

Syntax Description
$("*") Selects all elements
$(this) Selects the current HTML element
$("p.intro") Selects all <p> elements with class="intro"
$("p:first") Selects the first <p> element
$("ul li:first") Selects the first <li> element of the first <ul>
$("ul li:first-child") Selects the first <li> element of every <ul>
$("[href]") Selects all elements with an href attribute
$("a[target='_blank']") Selects all <a> elements with a target attribute value equal to "_blank"
$("a[target!='_blank']") Selects all <a> elements with a target attribute value NOT equal to "_blank"
$(":button") Selects all <button> elements and <input> elements of type="button"
$("tr:even") Selects all even <tr> elements
$("tr:odd") Selects all odd <tr> elements


Reference link www.w3schools.com


jQuery - Basics

jQuery - Basics


jQuery is a framework built using JavaScript capabilities. So while developing your applications using jQuery, you can use all the functions and other capabilities available in JavaScript.

This chapter would explain most basic concepts but frequently used in jQuery based applications.

String

A string in JavaScript is an immutable object that contains none, one or many characters.

Following are the valid examples of a JavaScript String −

"This is JavaScript String"
'This is JavaScript String'
'This is "really" a JavaScript String'
"This is 'really' a JavaScript String"

Numbers

Numbers in JavaScript are double-precision 64-bit format IEEE 754 values. They are immutable, just as strings.

Following are the valid examples of a JavaScript Numbers −

5350
120.27
0.26

Boolean

A boolean in JavaScript can be either true or false. If a number is zero, it defaults to false. If an empty string defaults to false −

Following are the valid examples of a JavaScript Boolean −

true      // true
false     // false
0         // false
1         // true
""        // false
"hello"   // true

Objects

JavaScript supports Object concept very well. You can create an object using the object literal as follows −

var emp = {
   name: "Zara",
   age: 10
};
You can write and read properties of an object using the dot notation as follows −

// Getting object properties
emp.name  // ==> Zara
emp.age   // ==> 10

// Setting object properties
emp.name = "Daisy"  // <== Daisy
emp.age  =  20      // <== 20

Arrays

You can define arrays using the array literal as follows −

var x = [];
var y = [1, 2, 3, 4, 5];
An array has a length property that is useful for iteration −

var x = [1, 2, 3, 4, 5];

for (var i = 0; i < x.length; i++) {
   // Do something with x[i]
}

Functions

A function in JavaScript can be either named or anonymous. A named function can be defined using function keyword as follows −

function named(){
   // do some stuff here
}
An anonymous function can be defined in similar way as a normal function but it would not have any name.

A anonymous function can be assigned to a variable or passed to a method as shown below.

var handler = function (){
   // do some stuff here
}
JQuery makes a use of anonymous functions very frequently as follows −

$(document).ready(function(){
   // do some stuff here
});

Arguments

JavaScript variable arguments is a kind of array which has length property. Following example explains it very well −

function func(x){
   console.log(typeof x, arguments.length);
}

func();                //==> "undefined", 0
func(1);               //==> "number", 1
func("1", "2", "3");   //==> "string", 3

The arguments object also has a callee property, which refers to the function you're inside of. For example −

function func() {
   return arguments.callee;
}

func();                // ==> func

Context

JavaScript famous keyword this always refers to the current context. Within a function this context can change, depending on how the function is called −

$(document).ready(function() {
   // this refers to window.document
});

$("div").click(function() {
   // this refers to a div DOM element
});
You can specify the context for a function call using the function-built-in methods call() and apply() methods.

The difference between them is how they pass arguments. Call passes all arguments through as arguments to the function, while apply accepts an array as the arguments.

function scope() {
   console.log(this, arguments.length);
}

scope() // window, 0
scope.call("foobar", [1,2]);  //==> "foobar", 1
scope.apply("foobar", [1,2]); //==> "foobar", 2

Scope

The scope of a variable is the region of your program in which it is defined. JavaScript variable will have only two scopes.

Global Variables − A global variable has global scope which means it is defined everywhere in your JavaScript code.

Local Variables − A local variable will be visible only within a function where it is defined. Function parameters are always local to that function.

Within the body of a function, a local variable takes precedence over a global variable with the same name −

var myVar = "global";     // ==> Declare a global variable

function ( ) {
   var myVar = "local";   // ==> Declare a local variable
   document.write(myVar); // ==> local
}

Callback

A callback is a plain JavaScript function passed to some method as an argument or option. Some callbacks are just events, called to give the user a chance to react when a certain state is triggered.

jQuery's event system uses such callbacks everywhere for example −

$("body").click(function(event) {
   console.log("clicked: " + event.target);
});
Most callbacks provide arguments and a context. In the event-handler example, the callback is called with one argument, an Event.

Some callbacks are required to return something, others make that return value optional. To prevent a form submission, a submit event handler can return false as follows −

$("#myform").submit(function() {
   return false;
});

Closures

Closures are created whenever a variable that is defined outside the current scope is accessed from within some inner scope.

Following example shows how the variable counter is visible within the create, increment, and print functions, but not outside of them −

function create() {
   var counter = 0;

   return {
      increment: function() {
         counter++;
      },

      print: function() {
         console.log(counter);
      }
   }
}

var c = create();
c.increment();
c.print();     // ==> 1
This pattern allows you to create objects with methods that operate on data that isn't visible to the outside world. It should be noted that data hiding is the very basis of object-oriented programming.

Proxy Pattern

A proxy is an object that can be used to control access to another object. It implements the same interface as this other object and passes on any method invocations to it. This other object is often called the real subject.

A proxy can be instantiated in place of this real subject and allow it to be accessed remotely. We can saves jQuery's setArray method in a closure and overwrites it as follows −

(function() {
   // log all calls to setArray
   var proxied = jQuery.fn.setArray;

   jQuery.fn.setArray = function() {
      console.log(this, arguments);
      return proxied.apply(this, arguments);
   };

})();

The above wraps its code in a function to hide the proxied variable. The proxy then logs all calls to the method and delegates the call to the original method. Using apply(this, arguments) guarantees that the caller won't be able to notice the difference between the original and the proxied method.

The Document Object Model

The Document Object Model is a tree structure of various elements of HTML as follows −




What is jQuery?

What is jQuery?

jQuery is a fast and concise JavaScript Library created by John Resig in 2006 with a nice motto − Write less, do more.

jQuery simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development.

jQuery is a JavaScript toolkit designed to simplify various tasks by writing less code. Here is the list of important core features supported by jQuery −


  • DOM manipulation − The jQuery made it easy to select DOM elements, traverse them and modifying their content by using cross-browser open source selector engine called Sizzle.
  • Event handling − The jQuery offers an elegant way to capture a wide variety of events, such as a user clicking on a link, without the need to clutter the HTML code itself with event handlers.
  • AJAX Support − The jQuery helps you a lot to develop a responsive and feature-rich site using AJAX technology.
  • Animations − The jQuery comes with plenty of built-in animation effects which you can use in your websites.
  • Lightweight − The jQuery is very lightweight library - about 19KB in size ( Minified and gzipped ).
  • Cross Browser Support − The jQuery has cross-browser support, and works well in IE 6.0+, FF 2.0+, Safari 3.0+, Chrome and Opera 9.0+
  • Latest Technology − The jQuery supports CSS3 selectors and basic XPath syntax.

Why jQuery?

There are lots of other JavaScript frameworks out there, but jQuery seems to be the most popular, and also the most extendable.

Many of the biggest companies on the Web use jQuery, such as:
  • Google
  • Microsoft
  • IBM
  • Netflix

How to use jQuery?

There are two ways to use jQuery.

Local Installation − You can download jQuery library on your local machine and include it in your HTML code.

CDN Based Version − You can include jQuery library into your HTML code directly from Content Delivery Network (CDN).

Local Installation
Go to the https://jquery.com/download/ to download the latest version available.

Now put downloaded jquery-2.1.3.min.js file in a directory of your website, e.g. /jquery.

Example
Now you can include jquery library in your HTML file as follows −

CDN Based Version

You can include jQuery library into your HTML code directly from Content Delivery Network (CDN). Google and Microsoft provides content deliver for the latest version.

We are using Google CDN version of the library throughout this tutorial.

Example
Now let us rewrite above example using jQuery library from Google CDN.

<html>

   <head>
      <title>The jQuery Example</title>
      <script type = "text/javascript"
         src = "http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

      <script type = "text/javascript">
         $(document).ready(function(){
            document.write("Hello, World!");
         });
      </script>
   </head>

   <body>
      <h1>Hello</h1>
   </body>

</html>

This will produce following result −

Hello, World!

How to call a jQuery library functions?

As almost everything we do when using jQuery reads or manipulates the document object model (DOM), we need to make sure that we start adding events etc. as soon as the DOM is ready.

If you want an event to work on your page, you should call it inside the $(document).ready() function. Everything inside it will load as soon as the DOM is loaded and before the page contents are loaded.

To do this, we register a ready event for the document as follows −

$(document).ready(function() {
   // do stuff when DOM is ready
});

How to use Custom Scripts?
It is better to write our custom code in the custom JavaScript file : custom.js, as follows −

/* Filename: custom.js */
$(document).ready(function() {

   $("div").click(function() {
      alert("Hello, world!");
   });

});

For more detail tutorialspoint



jQuery Tutorial

jQuery Tutorial

jQuery is a fast and concise JavaScript library created by John Resig in 2006. jQuery simplifies HTML document traversing, event handling, animating, and Ajax interactions for Rapid Web Development.

Prerequisites

Before proceeding with this tutorial, you should have a basic understanding of HTML, CSS, JavaScript, Document Object Model (DOM) and any text editor. As we are going to develop web based application using jQuery, it will be good if you have understanding on how internet and web based applications work.


Introduction to JavaScript

Introduction to JavaScript

JavaScript is a programming language that can be included on web pages to make them more interactive. You can use it to check or modify the contents of forms, change images, open new windows and write dynamic page content. You can even use it with CSS to make DHTML (Dynamic HyperText Markup Language). This allows you to make parts of your web pages appear or disappear or move around on the page. JavaScripts only execute on the page(s) that are on your browser window at any set time. When the user stops viewing that page, any scripts that were running on it are immediately stopped. The only exceptions are cookies or various client side storage APIs, which can be used by many pages to store and pass information between them, even after the pages have been closed.


Before we go any further, let me say; JavaScript has nothing to do with Java. If we are honest, JavaScript, originally nicknamed LiveWire and then LiveScript when it was created by Netscape, should in fact be called ECMAscript as it was renamed when Netscape passed it to the ECMA for standardisation.




JavaScript is a client side, interpreted, object oriented, high level scripting language, while Java is a client side, compiled, object oriented high level language. Now after that mouthful, here's what it means.

Client side
Programs are passed to the computer that the browser is on, and that computer runs them. The alternative is server side, where the program is run on the server and only the results are passed to the computer that the browser is on. Examples of this would be PHP, Perl, ASP, JSP etc.

Interpreted
The program is passed as source code with all the programming language visible. It is then converted into machine code as it is being used. Compiled languages are converted into machine code first then passed around, so you never get to see the original programming language. Java is actually dual half compiled, meaning it is half compiled (to 'byte code') before it is passed, then executed in a virtual machine which converts it to fully compiled code just before use, in order to execute it on the computer's processor. Interpreted languages are generally less fussy about syntax and if you have made mistakes in a part they never use, the mistake usually will not cause you any problems.

Scripting
This is a little harder to define. Scripting languages are often used for performing repetitive tasks. Although they may be complete programming languages, they do not usually go into the depths of complex programs, such as thread and memory management. They may use another program to do the work and simply tell it what to do. They often do not create their own user interfaces, and instead will rely on the other programs to create an interface for them. This is quite accurate for JavaScript. We do not have to tell the browser exactly what to put on the screen for every pixel (though there is a relatively new API known as canvas that makes this possible if needed), we just tell it that we want it to change the document, and it does it. The browser will also take care of the memory management and thread management, leaving JavaScript free to get on with the things it wants to do.

High level
Written in words that are as close to english as possible. The contrast would be with assembly code, where each command can be directly translated into machine code.


JavaScript Tutorial

JavaScript Tutorial

JavaScript is the programming language of HTML and the Web. Programming makes computers do what you want them to do. JavaScript is easy to learn.

Example:


My First JavaScript



Learn by Examples
Examples are better than 1000 words. Examples are often easier to understand than text explanations.

Why Study JavaScript?
JavaScript is one of the 3 languages all web developers must learn:

   1. HTML to define the content of web pages

   2. CSS to specify the layout of web pages

   3. JavaScript to program the behavior of web pages

Displaying XML

Displaying XML

Raw XML files can be viewed in all major browsers.You can use Microsoft Internet Explorer to view XML documents in the browser, just as you would view HTML pages. Unlike HTML, XML does not predefine display properties for specific elements. Therefore, XML requires a separate style sheet that specifies how the XML data should be displayed.

Viewing XML Files:



Look at the XML file above in your browser: note.xml

Most browsers will display an XML document with color-coded elements.

Often a plus (+) or minus sign (-) to the left of the elements can be clicked to expand or collapse the element structure.

To view raw XML source, try to select "View Page Source" or "View Source" from the browser menu.

Note: In Safari 5 (and earlier), only the element text will be displayed. To view the raw XML, you must right click the page and select "View Source".

Viewing an Invalid XML File:

If an erroneous XML file is opened, some browsers will report the error, and some will display it, or display it incorrectly.

<?xml version="1.0" encoding="UTF-8"?>
 - <note>
       <to>Tove</to>
       <from>Jani</Ffrom>
       <heading>Reminder</heading>
       <body>Don't forget me this weekend!</body>
   </note>

Try to open the following XML file: note_error.xml

Other XML Examples :

Viewing some XML documents will help you get the XML feeling:

An XML breakfast menu
This is a breakfast food menu from a restaurant, stored as XML.

An XML CD catalog
This is a CD collection, stored as XML.

An XML plant catalog
This is a plant catalog from a plant shop, stored as XML.

Why Does XML Display Like This? :

XML documents do not carry information about how to display the data.

Since XML tags are "invented" by the author of the XML document, browsers do not know if a tag like <table> describes an HTML table or a dining table.

Without any information about how to display the data, the browsers can just display the XML document as it is.

Displaying XML Files with CSS? :

Below is an example of how to use CSS to format an XML document.

We can use an XML file like cd_catalog.xml and a style sheet like cd_catalog.css

RESULT: The CD catalog formatted with the CSS file

Below is a fraction of the XML file. The second line links the XML file to the CSS file:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="cd_catalog.css"?>
<CATALOG>
  <CD>
    <TITLE>Empire Burlesque</TITLE>
    <ARTIST>Bob Dylan</ARTIST>
    <COUNTRY>USA</COUNTRY>
    <COMPANY>Columbia</COMPANY>
    <PRICE>10.90</PRICE>
    <YEAR>1985</YEAR>
  </CD>
  <CD>
    <TITLE>Hide your heart</TITLE>
    <ARTIST>Bonnie Tyler</ARTIST>
    <COUNTRY>UK</COUNTRY>
    <COMPANY>CBS Records</COMPANY>
    <PRICE>9.90</PRICE>
    <YEAR>1988</YEAR>
  </CD>
.
.
.
</CATALOG>

for detail visit w3schools


XML Attributes

XML Attributes

XML attributes are normally used to describe XML elements, or to provide additional information about elements. From HTML you can remember this construct: <IMG SRC="computer.gif">. In this HTML example SRC is an attribute to the IMG element. The SRC attribute provides additional information about the element.

XML elements can have attributes, just like HTML.

Attributes are designed to contain data related to a specific element.

XML Attributes Must be Quoted

Attribute values must always be quoted. Either single or double quotes can be used.

For a person's gender, the <person> element can be written like this:

<person gender="female">
or like this:

<person gender='female'>
If the attribute value itself contains double quotes you can use single quotes, like in this example:

<gangster name='George "Shotgun" Ziegler'>
or you can use character entities:

<gangster name="George &quot;Shotgun&quot; Ziegler">

XML Elements vs. Attributes

Take a look at these examples:

<person gender="female">
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

<person>
  <gender>female</gender>
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

In the first example gender is an attribute. In the last, gender is an element. Both examples provide the same information.

There are no rules about when to use attributes or when to use elements in XML.

My Favorite Way

The following three XML documents contain exactly the same information:

A date attribute is used in the first example:

<note date="2008-01-10">
  <to>Tove</to>
  <from>Jani</from>
</note>
A <date> element is used in the second example:

<note>
  <date>2008-01-10</date>
  <to>Tove</to>
  <from>Jani</from>
</note>
An expanded <date> element is used in the third example: (THIS IS MY FAVORITE):

<note>
  <date>
    <year>2008</year>
    <month>01</month>
    <day>10</day>
  </date>
  <to>Tove</to>
  <from>Jani</from>
</note>

Avoid XML Attributes?

Some things to consider when using attributes are:

attributes cannot contain multiple values (elements can)
attributes cannot contain tree structures (elements can)
attributes are not easily expandable (for future changes)
Don't end up like this:

<note day="10" month="01" year="2008"
to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">
</note>

XML Attributes for Metadata :

Sometimes ID references are assigned to elements. These IDs can be used to identify XML elements in much the same way as the id attribute in HTML. This example demonstrates this:



The id attributes above are for identifying the different notes. It is not a part of the note itself.

What I'm trying to say here is that metadata (data about data) should be stored as attributes, and the data itself should be stored as elements.


XML Elements

XML Elements

An XML document contains XML Elements.

What is an XML Element?

An XML element is everything from (including) the element's start tag to (including) the element's end tag.

<price>29.99</price>

An element can contain:
  • text
  • attributes
  • other elements
  • or a mix of the above


In the example above:

<title>, <author>, <year>, and <price> have text content because they contain text (like 29.99).

<bookstore> and <book> have element contents, because they contain elements.

<book> has an attribute (category="children").

Empty XML Elements

An element with no content is said to be empty.

In XML, you can indicate an empty element like this:

<element></element>
You can also use a so called self-closing tag:

<element />
The two forms produce identical results in XML software (Readers, Parsers, Browsers).

XML Naming Rules

XML elements must follow these naming rules:


  • Element names are case-sensitive
  • Element names must start with a letter or underscore
  • Element names cannot start with the letters xml (or XML, or Xml, etc)
  • Element names can contain letters, digits, hyphens, underscores, and periods
  • Element names cannot contain spaces
  • Any name can be used, no words are reserved (except xml).

Best Naming Practices

Create descriptive names, like this: <person>, <firstname>, <lastname>.

Create short and simple names, like this: <book_title> not like this: <the_title_of_the_book>.

Avoid "-". If you name something "first-name", some software may think you want to subtract "name" from "first".

Avoid ".". If you name something "first.name", some software may think that "name" is a property of the object "first".

Avoid ":". Colons are reserved for namespaces (more later).

Non-English letters like éòá are perfectly legal in XML, but watch out for problems if your software doesn't support them.

Naming Styles
There are no naming styles defined for XML elements. But here are some commonly used:

Style Example Description
Lower case <firstname> All letters lower case
Upper case <FIRSTNAME> All letters upper case
Underscore <first_name> Underscore separates words
Pascal case <FirstName> Uppercase first letter in each word
Camel case <firstName> Uppercase first letter in each word except the first

XML Elements are Extensible

XML elements can be extended to carry more information.

Look at the following XML example:

<note>
  <to>Tove</to>
  <from>Jani</from>
  <body>Don't forget me this weekend!</body>
</note>

For detail visit : w3schools

How Can XML be Used?

How Can XML be Used?


XML is used in many aspects of web development.
XML is often used to separate data from presentation.

XML Separates Data from Presentation:

XML does not carry any information about how to be displayed.
The same XML data can be used in many different presentation scenarios.
Because of this, with XML, there is a full separation between data and presentation.

XML is Often a Complement to HTML:

In many HTML applications, XML is used to store or transport data, while HTML is used to format and display the same data.

XML Separates Data from HTML:

When displaying data in HTML, you should not have to edit the HTML file when the data changes.

With XML, the data can be stored in separate XML files.

With a few lines of JavaScript code, you can read an XML file and update the data content of any HTML page.

Example:



Transaction Data:

Thousands of XML formats exists, in many different industries, to describe day-to-day data transactions:


  • Stocks and Shares
  • Financial transactions
  • Medical data
  • Mathematical data
  • Scientific measurements
  • News information
  • Weather services
For detail visit w3schools.


Introduction to XML

Introduction to XML

What you should already know

Before you continue you should have some basic understanding of the following:

WWW, HTML and the basics of building Web pages
Web scripting languages like JavaScript and VBScript
If you want to study these subjects, Go To W3Schools.

What is XML?



  • XML stands for EXtensible Markup Language
  • XML is a markup language much like HTML.
  • XML was designed to describe data.
  • XML tags are not predefined in XML. You must define your own tags.
  • XML is self describing.
  • XML uses a DTD (Document Type Definition) to formally describe the data.

The main difference between XML and HTML

XML is not a replacement for HTML.
XML and HTML were designed with different goals:

XML was designed to describe data and to focus on what data is.
HTML was designed to display data and to focus on how data looks.

HTML is about displaying information, XML is about describing information.

XML is extensible

The tags used to markup HTML documents and the structure of HTML documents are predefined. The author of HTML documents can only use tags that are defined in the HTML standard.

XML allows the author to define his own tags and his own document structure.

XML is a complement to HTML

It is important to understand that XML is not a replacement for HTML. In the future development of the Web it is most likely that XML will be used to structure and describe the Web data, while HTML will be used to format and display the same data.

XML in future Web development

We have been participating in XML development since its creation. It has been amazing to see how quickly the XML standard has been developed, and how quickly a large number of software vendors have adopted the standard.

We strongly believe that XML will be as important to the future of the Web as HTML has been to the foundation of the Web. XML is the future for all data transmission and data manipulation over the Web.

What is XML?

What is XML?




Extensible Markup Language (XML) is a markup language that defines a set of rules for encoding documents in a format which is both human-readable and machine-readable. It is defined by the W3C's XML 1.0 Specification and by several other related specifications, all of which are free open standards.


  • ML stands for EXtensible Markup Language
  • XML is a markup language much like HTML
  • XML was designed to store and transport data
  • XML was designed to be self-descriptive
  • XML is a W3C Recommendation



XML Example

<?xml version="1.0" encoding="UTF-8"?>
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>